From c161a3863399c43205869a3218779650a03fd5dd Mon Sep 17 00:00:00 2001 From: volynetstyle Date: Sat, 11 Oct 2025 01:28:45 +0300 Subject: [PATCH 01/32] feat: implement core reactivity system with Node, Signal, Memo, Effect, Splitter, Merger, MapNode, and Reducer classes - Added abstract Node class for defining computation nodes. - Implemented Signal class for reactive state management. - Created Memo class for memoized computations based on input changes. - Developed Effect class for side effects triggered by input changes. - Introduced Splitter class to duplicate signals into multiple outputs. - Implemented Merger class to combine multiple objects into one. - Added MapNode class for transforming input values. - Created Reducer class for accumulating state based on inputs. - Added VoidNode class for handling non-returning computations. - Established a unified Computation interface for all computation nodes. - Included examples demonstrating the usage of the new reactivity system. --- LICENSE | 2 +- Readme.md | 15 +- assets/reflex-dragon-red.png | Bin 0 -> 1056629 bytes packages/reflex/src/core/object/inline.ts | 3 + .../src/core/ownership/ownership.core.ts | 77 +- .../src/core/ownership/ownership.error.ts | 30 +- .../src/core/ownership/ownership.scope.ts | 35 +- .../src/core/ownership/ownership.spec.ts | 1099 +++++++++-------- .../src/core/ownership/ownership.type.ts | 14 +- .../src/core/reactivity/abstract_node.ts | 211 ++++ .../src/core/reactivity/abstract_signal.ts | 1 + .../reflex/src/core/reactivity/computation.ts | 280 +++++ packages/reflex/tsconfig.json | 1 + 13 files changed, 1192 insertions(+), 576 deletions(-) create mode 100644 assets/reflex-dragon-red.png create mode 100644 packages/reflex/src/core/object/inline.ts create mode 100644 packages/reflex/src/core/reactivity/abstract_node.ts create mode 100644 packages/reflex/src/core/reactivity/computation.ts diff --git a/LICENSE b/LICENSE index 8a83559..923599d 100644 --- a/LICENSE +++ b/LICENSE @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. diff --git a/Readme.md b/Readme.md index 61afc89..b3cb626 100644 --- a/Readme.md +++ b/Readme.md @@ -1,13 +1,22 @@ -# Reflex +

+ Reflex Logo +

-**Universal Reactive Runtime** +

Reflex

-> **“Reactivity beyond the DOM — one core, any surface”** +

+ Universal Reactive Runtime +

+ +

+ “Reactivity beyond the DOM — one core, any surface.” +

--- ## 🚀 Overview + Reflex is not just another UI framework. It is a **general-purpose reactive runtime**: a lightweight ownership system, fine-grained signals, and a scheduler — independent of JSX or the DOM. diff --git a/assets/reflex-dragon-red.png b/assets/reflex-dragon-red.png new file mode 100644 index 0000000000000000000000000000000000000000..8c82c34e2d69a0003c915575c4fd65bb7355746b GIT binary patch literal 1056629 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 z

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

E9Ax&gHwUq=Xm#xL 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

t5nX-e5 z1 zm`xEYse_WVFBHA%vN{^@73D#kkL(ecr4DkZ0=AV8q}nz~rr?`$Z@j2{a;lJGXp5rK zL9jk%HcyVxrV}4o@U*%Osy+qs0^THY=5Np zh3rlMctD50zTX4V^eUVfQcRXi$9Suw4iI*$Qm%{kZc?GWc3Rv!HKp05%0DoDtqGP` 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�eP%P24{)_ye`%))e5-@9Uk>MiSiV{Mm#rEm0 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

#%K-x$rLS3Py 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Μi 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 z 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 !8wB@&xuh2|3n2BpPy~ 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 +HgH;sKdJkMvGM1%34~~aa4Wjat@y} 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%0A^MzEG&&yCBwf%+SFZ#gya%F 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

vsXW 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 z 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 {}; + +export { noop }; diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index 59f2043..8782296 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -1,9 +1,10 @@ /** - * @file ownership.optimized.ts - * Optimized Ownership System - Zero overhead hierarchical resource management + * @file ownership.core.ts + * Ownership System - Zero overhead hierarchical resource management */ import { ReflexObject } from "../object/inherit"; +import { noop } from "../object/inline"; import { batchDisposer, DisposalStrategy } from "./ownership.dispose"; import OwnershipDisposeError from "./ownership.error"; import { @@ -19,25 +20,29 @@ const DISPOSAL_INITIAL_CAPACITY = 4; */ const OwnershipPrototype: IOwnershipMethods = { appendChild(this: IOwnership, child: IOwnership) { - // Fast path: already attached - if (child._parent === this) return; + if (!child) { + return; + } + + if (child === this) { + throw new Error("Cannot append owner to itself"); + } - // Check child state if (child._state & OwnershipStateFlags.DISPOSED) { throw new Error("Cannot append a disposed child"); } - - // Check parent state if (this._state & OwnershipStateFlags.DISPOSING) { throw new Error("Cannot append child to an owner that is disposing"); } - // Detach from previous parent if needed - if (child._parent) { + if (child._parent && child._parent !== this) { child._parent.removeChild(child); } - // Update pointers + if (child._parent === this) { + return; + } + child._parent = this; child._prevSibling = this._lastChild; child._nextSibling = undefined; @@ -49,7 +54,6 @@ const OwnershipPrototype: IOwnershipMethods = { this._firstChild = this._lastChild = child; } - // Inherit context only if parent has one (avoid unnecessary object creation) if (this._context !== undefined) { child._context = ReflexObject.Inherit(this._context); } @@ -58,26 +62,37 @@ const OwnershipPrototype: IOwnershipMethods = { }, removeChild(this: IOwnership, child: IOwnership) { - if (child._parent !== this) return; + if (child._parent !== this) { + return; + } const prev = child._prevSibling; const next = child._nextSibling; - // Update sibling links - if (prev) prev._nextSibling = next; - if (next) next._prevSibling = prev; + if (prev) { + prev._nextSibling = next; + } + + if (next) { + next._prevSibling = prev; + } - // Update parent links - if (this._firstChild === child) this._firstChild = next; - if (this._lastChild === child) this._lastChild = prev; + if (this._firstChild === child) { + this._firstChild = next; + } - // Clear child references - child._parent = child._prevSibling = child._nextSibling = undefined; + if (this._lastChild === child) { + this._lastChild = prev; + } + + child._parent = undefined; + child._prevSibling = undefined; + child._nextSibling = undefined; --this._childCount; }, - onScopeMount: undefined, + onScopeMount: noop, onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { if (this._state & OwnershipStateFlags.DISPOSED) { @@ -85,7 +100,7 @@ const OwnershipPrototype: IOwnershipMethods = { } if (!this._disposal) { - this._disposal = new Array(2); // Smaller initial size + this._disposal = new Array(DISPOSAL_INITIAL_CAPACITY); this._disposal.length = 0; } @@ -104,15 +119,15 @@ const OwnershipPrototype: IOwnershipMethods = { batch.push(node); - let child = node._firstChild; - while (child) { - stack.push(child); - child = child._nextSibling; + for (let child = node._firstChild; child; child = child._nextSibling) { + if (!(child._state & OwnershipStateFlags.DISPOSED)) { + stack.push(child); + } } } batchDisposer(batch, strategy); - }, + } }; /** @@ -123,7 +138,6 @@ function createOwner(parent?: IOwnership): IOwnership { OwnershipPrototype as IOwnership ); - // Initialize with stable hidden class owner._parent = undefined; owner._firstChild = undefined; owner._lastChild = undefined; @@ -135,14 +149,9 @@ function createOwner(parent?: IOwnership): IOwnership { owner._state = OwnershipStateFlags.CLEAN | 0; owner._childCount = 0; - // Attach to parent and inherit context if (parent) { parent.appendChild(owner); - - // Inline mount callback check - if (parent.onScopeMount) { - parent.onScopeMount(owner); - } + parent.onScopeMount(owner); } return owner; diff --git a/packages/reflex/src/core/ownership/ownership.error.ts b/packages/reflex/src/core/ownership/ownership.error.ts index e282671..91aa91e 100644 --- a/packages/reflex/src/core/ownership/ownership.error.ts +++ b/packages/reflex/src/core/ownership/ownership.error.ts @@ -2,27 +2,29 @@ const OWNERSHIP_ERROR_NAME = "OwnershipDisposeError"; const OWNERSHIP_ERROR_IDENTIFIER = "[Ownership dispose]"; class OwnershipDisposeError extends Error { - public readonly errors: Error[]; + readonly errors: Error[]; constructor(errors: unknown[]) { + const normalized = errors.map((e) => + e instanceof Error ? e : new Error(String(e)) + ); super( - `${OWNERSHIP_ERROR_IDENTIFIER} ${errors.length} error(s) during cleanup` + `${OWNERSHIP_ERROR_IDENTIFIER} ${normalized.length} error(s) during cleanup` ); this.name = OWNERSHIP_ERROR_NAME; - this.errors = errors.map((err) => - err instanceof Error ? err : new Error(String(err)) - ); + this.errors = normalized; } - toString() { - return ( - `${this.message}\n` + - this.errors - .map((e, i) => ` [${i + 1}] ${e.stack ?? e.message}`) - .join("\n") - ); + override toString(): string { + const details = this.errors + .map((e, i) => ` [${i + 1}] ${e.stack || e.message}`) + .join("\n"); + return `${this.message}\n${details}`; } } -export { OWNERSHIP_ERROR_IDENTIFIER, OWNERSHIP_ERROR_NAME }; -export default OwnershipDisposeError; +export { + OWNERSHIP_ERROR_IDENTIFIER, + OWNERSHIP_ERROR_NAME, + OwnershipDisposeError as default, +}; diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index 6d20320..b3efef2 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -2,32 +2,35 @@ import { createOwner } from "./ownership.core"; import { IOwnership } from "./ownership.type"; /** - * Lightweight ownership scope manager + * Lightweight ownership context manager. + * + * Handles the current ownership scope in a stack-safe way. + * Provides scoped creation and temporary owner replacement. */ export class OwnershipScope { private _owner?: IOwnership; - get owner(): IOwnership | undefined { + /** + * Returns the current owner in the scope. + * Note: if you get `undefined`, it's probably your root + */ + get owner(): typeof this._owner { return this._owner; } - run(owner: IOwnership, fn: () => T): T { - const prev = this._owner; - this._owner = owner; - - try { - return fn(); - } finally { - this._owner = prev; - } - } - - createScope(fn: () => T, parent?: IOwnership): T { - const owner = createOwner(parent ?? this._owner); + /** + * Creates a new ownership context under the current (or given) owner + * and executes the callback inside that scope. + */ + createScope(fn: () => T, parent = this.owner): T { + const owner = createOwner(parent); - return this.run(owner, fn); + return this.withOwner(owner, fn); } + /** + * Temporarily replaces current owner during the callback execution. + */ withOwner(owner: IOwnership, fn: () => T): T { const prev = this._owner; this._owner = owner; diff --git a/packages/reflex/src/core/ownership/ownership.spec.ts b/packages/reflex/src/core/ownership/ownership.spec.ts index 8115aa5..96d4e50 100644 --- a/packages/reflex/src/core/ownership/ownership.spec.ts +++ b/packages/reflex/src/core/ownership/ownership.spec.ts @@ -1,139 +1,86 @@ -import { ReflexObject } from "../object/inherit"; -import { OwnershipPrototype, createOwner } from "./ownership.core"; -import { IOwnership, OwnershipStateFlags } from "./ownership.type"; -import { OwnershipScope } from "./ownership.scope"; - -describe("Ownership System - Core Functionality", () => { - let scope: OwnershipScope; - - beforeEach(() => { - scope = new OwnershipScope(); - }); +/** + * @file ownership.test.ts + * Comprehensive test suite for ownership system + */ - describe("Scope Management", () => { - test("create() creates new owner and restores previous owner", () => { - let capturedOwner: IOwnership | undefined; - - const result = scope.createScope(() => { - capturedOwner = scope.owner; - return 42; - }); +import { createOwner, IOwnership } from "./ownership.core"; +import { OwnershipScope } from "./ownership.scope"; +import { OwnershipStateFlags } from "./ownership.type"; +function logPerf(name: string, duration: number, limit?: number) { + const pass = limit === undefined || duration <= limit; + const barLength = 50; + let filled = 0; + + if (limit) { + filled = Math.min(barLength, Math.floor((duration / limit) * barLength)); + } else { + // если лимита нет, масштабируем просто пропорционально небольшому значению + const scale = duration > 0 ? Math.min(duration / 10, 1) : 0; + filled = Math.min(barLength, Math.floor(scale * barLength)); + } + + const empty = barLength - filled; + const color = pass ? "\x1b[32m" : "\x1b[31m"; // green/red + const reset = "\x1b[0m"; + + console.log( + `${name.padEnd(40)} | ${color}${"█".repeat(filled)}${"░".repeat( + empty + )}${reset} | ${duration.toFixed(2)}ms${limit ? ` (limit: ${limit}ms)` : ""}` + ); +} + +describe("OwnershipCore", () => { + describe("createOwner", () => { + it("should create owner with clean initial state", () => { + const owner = createOwner(); - expect(result).toBe(42); - expect(capturedOwner).toBeDefined(); - expect(capturedOwner!._state).toBe(OwnershipStateFlags.CLEAN); - expect(scope.owner).toBeUndefined(); + expect(owner._parent).toBeUndefined(); + expect(owner._firstChild).toBeUndefined(); + expect(owner._lastChild).toBeUndefined(); + expect(owner._nextSibling).toBeUndefined(); + expect(owner._prevSibling).toBeUndefined(); + expect(owner._childCount).toBe(0); + expect(owner._state).toBe(OwnershipStateFlags.CLEAN); + expect(owner._disposal).toHaveLength(0); }); - test("nested scope creation stress test", () => { - const NESTING_LEVELS = 100; - let deepestOwner: IOwnership | undefined; - - scope.createScope(() => { - let currentLevel = 0; - let currentParent = scope.owner; - - const nest = () => { - if (currentLevel++ < NESTING_LEVELS) { - scope.createScope(() => { - currentParent = scope.owner; - nest(); - }, currentParent); - } else { - deepestOwner = scope.owner; - } - }; - - nest(); - }); - - expect(deepestOwner).toBeDefined(); - - let depth = 0; - let current = deepestOwner; - while (current) { - depth++; - current = current._parent; - } + it("should attach to parent when provided", () => { + const parent = createOwner(); + const child = createOwner(parent); - expect(depth).toBe(NESTING_LEVELS + 1); + expect(child._parent).toBe(parent); + expect(parent._firstChild).toBe(child); + expect(parent._lastChild).toBe(child); + expect(parent._childCount).toBe(1); }); - test("run() temporarily sets owner and restores", () => { - const owner = createOwner(); - let capturedOwner: IOwnership | undefined; + it("should call parent.onScopeMount when attached", () => { + const parent = createOwner(); + const mountSpy = jest.fn(); + parent.onScopeMount = mountSpy; - scope.run(owner, () => { - capturedOwner = scope.owner; - }); + const child = createOwner(parent); - expect(capturedOwner).toBe(owner); - expect(scope.owner).toBeUndefined(); + expect(mountSpy).toHaveBeenCalledWith(child); + expect(mountSpy).toHaveBeenCalledTimes(1); }); + }); - test("nested scopes maintain correct owner chain with mixed parent assignment", () => { - const scope = new OwnershipScope(); - const owners: IOwnership[] = []; - - // Level 0 - scope.createScope(() => { - owners.push(scope.owner!); // owners[0] - - // Level 1, auto parent (owners[0]) - scope.createScope(() => { - owners.push(scope.owner!); // owners[1] - - // Level 2, explicit parent = owners[1] - scope.createScope(() => { - owners.push(scope.owner!); // owners[2] - }, owners[1]); - - // Level 2, auto parent (owners[1]) - scope.createScope(() => { - owners.push(scope.owner!); // owners[3] - - // Level 3, explicit parent = owners[3] - scope.createScope(() => { - owners.push(scope.owner!); // owners[4] - }, owners[3]); - }); - - // Level 2, explicit parent = owners[1] - scope.createScope(() => { - owners.push(scope.owner!); // owners[5] - }, owners[1]); - }); - }); - - // Проверяем количество - expect(owners).toHaveLength(6); - - // Проверка цепочек - expect(owners[0]._firstChild).toBe(owners[1]); - expect(owners[1]._parent).toBe(owners[0]); - - // owners[1] children: owners[2], owners[3], owners[5] - expect(owners[1]._firstChild).toBe(owners[2]); - expect(owners[2]._parent).toBe(owners[1]); - expect(owners[2]._nextSibling).toBe(owners[3]); - expect(owners[3]._prevSibling).toBe(owners[2]); - expect(owners[3]._nextSibling).toBe(owners[5]); - expect(owners[5]._prevSibling).toBe(owners[3]); - expect(owners[5]._parent).toBe(owners[1]); - expect(owners[1]._lastChild).toBe(owners[5]); + describe("appendChild", () => { + it("should add child to empty parent", () => { + const parent = createOwner(); + const child = createOwner(); - // owners[3] child: owners[4] - expect(owners[3]._firstChild).toBe(owners[4]); - expect(owners[4]._parent).toBe(owners[3]); - expect(owners[3]._lastChild).toBe(owners[4]); + parent.appendChild(child); - // owners[0] last child - expect(owners[0]._lastChild).toBe(owners[1]); + expect(child._parent).toBe(parent); + expect(parent._firstChild).toBe(child); + expect(parent._lastChild).toBe(child); + expect(parent._childCount).toBe(1); }); - }); - describe("Tree Structure", () => { - test("appendChild links children correctly", () => { + it("should add multiple children maintaining order", () => { const parent = createOwner(); const child1 = createOwner(); const child2 = createOwner(); @@ -145,63 +92,30 @@ describe("Ownership System - Core Functionality", () => { expect(parent._firstChild).toBe(child1); expect(parent._lastChild).toBe(child3); - expect(parent._childCount).toBe(3); - - expect(child1._parent).toBe(parent); - expect(child1._prevSibling).toBeUndefined(); expect(child1._nextSibling).toBe(child2); - - expect(child2._parent).toBe(parent); - expect(child2._prevSibling).toBe(child1); expect(child2._nextSibling).toBe(child3); - - expect(child3._parent).toBe(parent); + expect(child2._prevSibling).toBe(child1); expect(child3._prevSibling).toBe(child2); - expect(child3._nextSibling).toBeUndefined(); - }); - - test("removeChild unlinks child correctly", () => { - const parent = createOwner(); - const children = [createOwner(), createOwner(), createOwner()]; - - children.forEach((c) => parent.appendChild(c)); - - // Remove middle child - parent.removeChild(children[1]); - - expect(parent._childCount).toBe(2); - expect(children[0]._nextSibling).toBe(children[2]); - expect(children[2]._prevSibling).toBe(children[0]); - expect(children[1]._parent).toBeUndefined(); - expect(children[1]._prevSibling).toBeUndefined(); - expect(children[1]._nextSibling).toBeUndefined(); + expect(parent._childCount).toBe(3); }); - test("removeChild handles first and last child", () => { + it("should handle re-appending same child (noop)", () => { const parent = createOwner(); - const children = [createOwner(), createOwner(), createOwner()]; - - children.forEach((c) => parent.appendChild(c)); + const child = createOwner(); - // Remove first - parent.removeChild(children[0]); - expect(parent._firstChild).toBe(children[1]); - expect(parent._childCount).toBe(2); + parent.appendChild(child); + parent.appendChild(child); - // Remove last - parent.removeChild(children[2]); - expect(parent._lastChild).toBe(children[1]); expect(parent._childCount).toBe(1); }); - test("appendChild detaches from previous parent", () => { + it("should detach from previous parent before attaching", () => { const parent1 = createOwner(); const parent2 = createOwner(); const child = createOwner(); parent1.appendChild(child); expect(parent1._childCount).toBe(1); - expect(child._parent).toBe(parent1); parent2.appendChild(child); expect(parent1._childCount).toBe(0); @@ -209,501 +123,684 @@ describe("Ownership System - Core Functionality", () => { expect(child._parent).toBe(parent2); }); - test("appendChild is idempotent for same parent", () => { + it("should throw when appending disposed child", () => { const parent = createOwner(); const child = createOwner(); - parent.appendChild(child); - const initialCount = parent._childCount; - - parent.appendChild(child); + child._state = OwnershipStateFlags.DISPOSED; - expect(parent._childCount).toBe(initialCount); - expect(parent._firstChild).toBe(child); - expect(parent._lastChild).toBe(child); + expect(() => parent.appendChild(child)).toThrow( + "Cannot append a disposed child" + ); }); - test("createOwner with parent auto-appends", () => { + it("should throw when appending to disposing parent", () => { const parent = createOwner(); - const child = createOwner(parent); + const child = createOwner(); - expect(parent._firstChild).toBe(child); - expect(parent._childCount).toBe(1); - expect(child._parent).toBe(parent); + parent._state = OwnershipStateFlags.DISPOSING; + + expect(() => parent.appendChild(child)).toThrow( + "Cannot append child to an owner that is disposing" + ); }); - }); - describe("Context Inheritance", () => { - test("child inherits parent context via prototype chain", () => { + it("should inherit context from parent", () => { const parent = createOwner(); - parent._context = { foo: "bar", nested: { value: 42 } }; + parent._context = { foo: "bar" }; - const child = createOwner(parent); + const child = createOwner(); + parent.appendChild(child); + expect(child._context).toBeDefined(); expect(child._context).not.toBe(parent._context); - expect(child._context!.foo).toBe("bar"); - expect( - (child._context as { nested: { value: number } }).nested.value - ).toBe(42); }); - test("child context modifications don't affect parent", () => { + it("should not create context if parent has none", () => { const parent = createOwner(); - parent._context = { foo: "bar" }; + const child = createOwner(); - const child = createOwner(parent); - child._context!.foo = "baz"; - child._context!.newProp = "new"; + parent.appendChild(child); - expect(parent._context!.foo).toBe("bar"); - expect(parent._context!.newProp).toBeUndefined(); + expect(child._context).toBeUndefined(); }); + }); - test("context is not created if parent has no context", () => { + describe("removeChild", () => { + it("should remove child from parent", () => { const parent = createOwner(); const child = createOwner(parent); - expect(child._context).toBeUndefined(); + parent.removeChild(child); + + expect(child._parent).toBeUndefined(); + expect(parent._firstChild).toBeUndefined(); + expect(parent._lastChild).toBeUndefined(); + expect(parent._childCount).toBe(0); }); - }); - describe("Cleanup & Disposal", () => { - test("onScopeCleanup registers and executes callbacks", () => { - const owner = createOwner(); - const callbacks = [jest.fn(), jest.fn(), jest.fn()]; + it("should handle removing from wrong parent (noop)", () => { + const parent1 = createOwner(); + const parent2 = createOwner(); + const child = createOwner(parent1); - callbacks.forEach((cb) => owner.onScopeCleanup(cb)); - owner.dispose(); + parent2.removeChild(child); - callbacks.forEach((cb) => expect(cb).toHaveBeenCalledTimes(1)); - expect(owner._disposal).toEqual([]); - expect(owner._state).toBe(OwnershipStateFlags.DISPOSED); + expect(child._parent).toBe(parent1); + expect(parent1._childCount).toBe(1); }); - test("disposal executes callbacks in registration order", () => { - const owner = createOwner(); - const order: number[] = []; - - owner.onScopeCleanup(() => order.push(1)); - owner.onScopeCleanup(() => order.push(2)); - owner.onScopeCleanup(() => order.push(3)); + it("should update sibling links when removing middle child", () => { + const parent = createOwner(); + const child1 = createOwner(parent); + const child2 = createOwner(parent); + const child3 = createOwner(parent); - owner.dispose(); + parent.removeChild(child2); - expect(order).toEqual([3, 2, 1]); + expect(child1._nextSibling).toBe(child3); + expect(child3._prevSibling).toBe(child1); + expect(parent._childCount).toBe(2); }); - test("deep tree disposal disposes all descendants", () => { - const root = createOwner(); - const level1 = [createOwner(root), createOwner(root)]; - const level2 = [ - createOwner(level1[0]), - createOwner(level1[0]), - createOwner(level1[1]), - ]; - - const allNodes = [root, ...level1, ...level2]; - const callbacks = allNodes.map(() => jest.fn()); - - allNodes.forEach((node, i) => node.onScopeCleanup(callbacks[i])); - - root.dispose(); - - callbacks.forEach((cb) => expect(cb).toHaveBeenCalledTimes(1)); - allNodes.forEach((node) => { - expect(node._state).toBe(OwnershipStateFlags.DISPOSED); - expect(node._firstChild).toBeUndefined(); - expect(node._lastChild).toBeUndefined(); - expect(node._childCount).toBe(0); - }); + it("should update firstChild when removing first child", () => { + const parent = createOwner(); + const child1 = createOwner(parent); + const child2 = createOwner(parent); + + parent.removeChild(child1); + + expect(parent._firstChild).toBe(child2); + expect(child2._prevSibling).toBeUndefined(); }); - test("dispose is idempotent", () => { - const owner = createOwner(); - const callback = jest.fn(); + it("should update lastChild when removing last child", () => { + const parent = createOwner(); + const child1 = createOwner(parent); + const child2 = createOwner(parent); - owner.onScopeCleanup(callback); + parent.removeChild(child2); - owner.dispose(); - owner.dispose(); - owner.dispose(); + expect(parent._lastChild).toBe(child1); + expect(child1._nextSibling).toBeUndefined(); + }); + + it("should clear all child references", () => { + const parent = createOwner(); + const child = createOwner(parent); + + parent.removeChild(child); - expect(callback).toHaveBeenCalledTimes(1); - expect(owner._state).toBe(OwnershipStateFlags.DISPOSED); + expect(child._parent).toBeUndefined(); + expect(child._prevSibling).toBeUndefined(); + expect(child._nextSibling).toBeUndefined(); }); + }); - // test("errors in cleanup don't prevent other cleanups", () => { - // const owner = createOwner(); - // const callbacks = [ - // jest.fn(), - // jest.fn(() => { throw new Error("Error 1"); }), - // jest.fn(), - // jest.fn(() => { throw new Error("Error 2"); }), - // jest.fn() - // ]; + describe("onScopeCleanup", () => { + it("should add cleanup function", () => { + const owner = createOwner(); + const cleanup = jest.fn(); + + owner.onScopeCleanup(cleanup); - // callbacks.forEach(cb => owner.onScopeCleanup(cb)); + expect(owner._disposal).toContain(cleanup); + }); + + it("should add multiple cleanup functions", () => { + const owner = createOwner(); + const cleanup1 = jest.fn(); + const cleanup2 = jest.fn(); + const cleanup3 = jest.fn(); - // const consoleSpy = jest.spyOn(console, "error").mockImplementation(); + owner.onScopeCleanup(cleanup1); + owner.onScopeCleanup(cleanup2); + owner.onScopeCleanup(cleanup3); - // owner.dispose(); + expect(owner._disposal).toHaveLength(3); + expect(owner._disposal).toEqual([cleanup1, cleanup2, cleanup3]); + }); - // consoleSpy.mockRestore(); + // it("should throw when adding cleanup to disposed owner", () => { + // const owner = createOwner(); + // owner._state = OwnershipStateFlags.DISPOSED; - // callbacks.forEach(cb => expect(cb).toHaveBeenCalledTimes(1)); - // expect(owner._state).toBe(OwnershipStateFlags.DISPOSED); - // expect(consoleSpy).toHaveBeenCalledTimes(1); + // expect(() => owner.onScopeCleanup(jest.fn())).toThrow( + // "[Ownership dispose] 1 error(s) during cleanup" + // ); // }); - test("cleanup with circular references doesn't cause issues", () => { + it("should initialize disposal array if not present", () => { const owner = createOwner(); - const obj: any = { value: 42 }; - obj.self = obj; + owner._disposal = undefined as any; - owner.onScopeCleanup(() => { - obj.value = 0; - }); + owner.onScopeCleanup(jest.fn()); - expect(() => owner.dispose()).not.toThrow(); - expect(obj.value).toBe(0); + expect(owner._disposal).toBeDefined(); + expect(Array.isArray(owner._disposal)).toBe(true); }); }); - describe("Safety & Edge Cases", () => { - test("cannot append disposed child", () => { - const parent = createOwner(); - const child = createOwner(); + describe("dispose", () => { + it("should mark owner as disposed", () => { + const owner = createOwner(); - child.dispose(); + owner.dispose(); - expect(() => parent.appendChild(child)).toThrow( - "Cannot append a disposed child" - ); + expect(owner._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); + }); + + it("should handle disposing already disposed owner (noop)", () => { + const owner = createOwner(); + + owner.dispose(); + owner.dispose(); + + // Should not throw or cause issues + expect(owner._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); }); - test("cannot append child to disposing owner", () => { + it("should dispose all children recursively", () => { const parent = createOwner(); - const child = createOwner(); - let errorThrown = false; - - parent.onScopeCleanup(() => { - try { - parent.appendChild(child); - } catch (e: any) { - errorThrown = - e.message === "Cannot append child to an owner that is disposing"; - } - }); + const child1 = createOwner(parent); + const child2 = createOwner(parent); + const grandchild = createOwner(child1); parent.dispose(); - expect(errorThrown).toBe(true); + + expect(parent._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); + expect(child1._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); + expect(child2._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); + expect(grandchild._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); }); - test("removeChild with non-child does nothing", () => { - const parent = createOwner(); - const notChild = createOwner(); + it("should call cleanup functions", () => { + const owner = createOwner(); + const cleanup1 = jest.fn(); + const cleanup2 = jest.fn(); - expect(() => parent.removeChild(notChild)).not.toThrow(); - expect(parent._childCount).toBe(0); + owner.onScopeCleanup(cleanup1); + owner.onScopeCleanup(cleanup2); + + owner.dispose(); + + expect(cleanup1).toHaveBeenCalled(); + expect(cleanup2).toHaveBeenCalled(); }); - test("disposal clears all references", () => { + it("should skip already disposed nodes in tree", () => { const parent = createOwner(); - const child = createOwner(parent); + const child1 = createOwner(parent); + const child2 = createOwner(parent); - parent._context = { data: "test" }; - child.onScopeCleanup(() => {}); + child1._state = OwnershipStateFlags.DISPOSED; parent.dispose(); - expect(parent._firstChild).toBeUndefined(); - expect(parent._lastChild).toBeUndefined(); - expect(parent._context).toBeUndefined(); - expect(parent._disposal.length).toBe(0); - expect(child._parent).toBeUndefined(); - expect(child._nextSibling).toBeUndefined(); - expect(child._prevSibling).toBeUndefined(); + expect(parent._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); + expect(child2._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); }); - }); -}); -describe("Ownership System - Performance & Stress Tests", () => { - describe("Memory Efficiency", () => { - test("disposal should release memory references", () => { + it("should handle deep tree disposal", () => { const root = createOwner(); + let current = root; - // Create and dispose tree + // Create deep tree: 100 levels for (let i = 0; i < 100; i++) { - createOwner(root); + current = createOwner(current); } - expect(root._childCount).toBe(100); - - root.dispose(); - - expect(root._firstChild).toBeUndefined(); - expect(root._childCount).toBe(0); + expect(() => root.dispose()).not.toThrow(); }); - test("pre-allocated disposal array reduces allocations", () => { - const owner = createOwner(); - - expect(Array.isArray(owner._disposal)).toBe(true); + it("should handle wide tree disposal", () => { + const root = createOwner(); - for (let i = 0; i < 10; i++) { - owner.onScopeCleanup(() => {}); + // Create wide tree: 100 children + for (let i = 0; i < 100; i++) { + createOwner(root); } - expect(owner._disposal.length).toBe(10); + expect(() => root.dispose()).not.toThrow(); + expect(root._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); }); }); +}); - describe("Deep Tree Performance", () => { - const BALANCED_DEPTH = 8; - const BALANCED_CHILDREN = 3; +describe("OwnershipScope", () => { + let scope: OwnershipScope; - function buildBalancedTree(depth: number, parent?: IOwnership): IOwnership { - const node = createOwner(parent); + beforeEach(() => { + scope = new OwnershipScope(); + }); - if (depth > 0) { - for (let i = 0; i < BALANCED_CHILDREN; i++) { - buildBalancedTree(depth - 1, node); - } - } + describe("owner getter", () => { + it("should return undefined initially", () => { + expect(scope.owner).toBeUndefined(); + }); - return node; - } + it("should return current owner after setting", () => { + const owner = createOwner(); + scope.withOwner(owner, () => { + expect(scope.owner).toBe(owner); + }); + }); + }); - function countNodes(node: IOwnership): number { - let count = 1; - let child = node._firstChild; + describe("createScope", () => { + it("should create new owner under current owner", () => { + const parent = createOwner(); + let childOwner: IOwnership | undefined; - while (child) { - count += countNodes(child); - child = child._nextSibling; - } + scope.withOwner(parent, () => { + scope.createScope(() => { + childOwner = scope.owner; + }); + }); - return count; - } + expect(childOwner).toBeDefined(); + expect(childOwner!._parent).toBe(parent); + }); - test("balanced tree creation and disposal", () => { - const start = performance.now(); - const root = buildBalancedTree(BALANCED_DEPTH); - const buildTime = performance.now() - start; + it("should create root owner when no current owner", () => { + let rootOwner: IOwnership | undefined; - const nodeCount = countNodes(root); - const expectedNodes = - (Math.pow(BALANCED_CHILDREN, BALANCED_DEPTH + 1) - 1) / - (BALANCED_CHILDREN - 1); + scope.createScope(() => { + rootOwner = scope.owner; + }); - expect(nodeCount).toBe(expectedNodes); + expect(rootOwner).toBeDefined(); + expect(rootOwner!._parent).toBeUndefined(); + }); - const disposeStart = performance.now(); - root.dispose(); - const disposeTime = performance.now() - disposeStart; + it("should execute callback in new scope", () => { + const callback = jest.fn(() => 42); - console.log(`Built ${nodeCount} nodes in ${buildTime.toFixed(2)}ms`); - console.log(`Disposed ${nodeCount} nodes in ${disposeTime.toFixed(2)}ms`); - console.log( - `Throughput: ${((nodeCount / disposeTime) * 1000).toFixed(0)} nodes/sec` - ); + const result = scope.createScope(callback); - expect(root._state).toBe(OwnershipStateFlags.DISPOSED); - expect(disposeTime).toBeLessThan(100); + expect(callback).toHaveBeenCalled(); + expect(result).toBe(42); }); - test("wide tree with many siblings", () => { - const root = createOwner(); - const SIBLING_COUNT = 3000; + it("should restore previous owner after callback", () => { + const parent = createOwner(); - const start = performance.now(); - for (let i = 0; i < SIBLING_COUNT; i++) { - createOwner(root); - } - const buildTime = performance.now() - start; + scope.withOwner(parent, () => { + scope.createScope(() => { + expect(scope.owner).not.toBe(parent); + }); - expect(root._childCount).toBe(SIBLING_COUNT); + expect(scope.owner).toBe(parent); + }); + }); - const disposeStart = performance.now(); - root.dispose(); - const disposeTime = performance.now() - disposeStart; + it("should use explicit parent when provided", () => { + const parent1 = createOwner(); + const parent2 = createOwner(); + let childOwner: IOwnership | undefined; - console.log( - `Created ${SIBLING_COUNT} siblings in ${buildTime.toFixed(2)}ms` - ); - console.log( - `Disposed ${SIBLING_COUNT} siblings in ${disposeTime.toFixed(2)}ms` - ); + scope.withOwner(parent1, () => { + scope.createScope(() => { + childOwner = scope.owner; + }, parent2); + }); - expect(root._state).toBe(OwnershipStateFlags.DISPOSED); - expect(disposeTime).toBeLessThan(50); + expect(childOwner!._parent).toBe(parent2); }); - test("deep linear chain doesn't overflow stack", () => { - const CHAIN_LENGTH = 10000; - let current = createOwner(); - const root = current; + it("should handle nested scopes", () => { + const owners: IOwnership[] = []; + + scope.createScope(() => { + owners.push(scope.owner!); - for (let i = 0; i < CHAIN_LENGTH; i++) { - current = createOwner(current); - } + scope.createScope(() => { + owners.push(scope.owner!); - expect(() => root.dispose()).not.toThrow(); - expect(root._state).toBe(OwnershipStateFlags.DISPOSED); + scope.createScope(() => { + owners.push(scope.owner!); + }); + }); + }); + + expect(owners).toHaveLength(3); + expect(owners[1]._parent).toBe(owners[0]); + expect(owners[2]._parent).toBe(owners[1]); }); }); - describe("Cleanup Callback Performance", () => { - test("many cleanup callbacks execute efficiently", () => { + describe("withOwner", () => { + it("should temporarily set owner during callback", () => { const owner = createOwner(); - const CALLBACK_COUNT = 10000; - let counter = 0; + const callback = jest.fn(); - for (let i = 0; i < CALLBACK_COUNT; i++) { - owner.onScopeCleanup(() => counter++); - } + scope.withOwner(owner, callback); - const start = performance.now(); - owner.dispose(); - const elapsed = performance.now() - start; + expect(callback).toHaveBeenCalled(); + }); - expect(counter).toBe(CALLBACK_COUNT); - console.log( - `Executed ${CALLBACK_COUNT} callbacks in ${elapsed.toFixed(2)}ms` - ); - console.log( - `Throughput: ${((CALLBACK_COUNT / elapsed) * 1000).toFixed( - 0 - )} callbacks/sec` - ); + it("should restore previous owner after callback", () => { + const owner1 = createOwner(); + const owner2 = createOwner(); - expect(elapsed).toBeLessThan(50); + scope.withOwner(owner1, () => { + expect(scope.owner).toBe(owner1); + + scope.withOwner(owner2, () => { + expect(scope.owner).toBe(owner2); + }); + + expect(scope.owner).toBe(owner1); + }); }); - test("cleanup with complex state changes", () => { + it("should restore owner even if callback throws", () => { const owner = createOwner(); - const state = { values: new Array(1000).fill(0) }; - for (let i = 0; i < state.values.length; i++) { - owner.onScopeCleanup(() => { - state.values[i] = 1; + expect(() => { + scope.withOwner(owner, () => { + throw new Error("Test error"); }); - } + }).toThrow("Test error"); - owner.dispose(); + expect(scope.owner).toBeUndefined(); + }); + + it("should return callback result", () => { + const owner = createOwner(); + const result = scope.withOwner(owner, () => 42); + + expect(result).toBe(42); + }); + + it("should handle async callbacks", async () => { + const owner = createOwner(); - expect(state.values.every((v) => v === 1)).toBe(true); + const result = await scope.withOwner(owner, async () => { + expect(scope.owner).toBe(owner); + return Promise.resolve(42); + }); + + expect(result).toBe(42); }); }); +}); - describe("Concurrent Operations", () => { - test("interleaved appendChild and removeChild", () => { - const parent = createOwner(); - const children: IOwnership[] = []; +describe("Integration Tests", () => { + describe("Complex tree operations", () => { + it("should handle moving subtrees between parents", () => { + const parent1 = createOwner(); + const parent2 = createOwner(); + const child = createOwner(parent1); + const grandchild = createOwner(child); - for (let i = 0; i < 100; i++) { - const child = createOwner(); - parent.appendChild(child); - children.push(child); - - if (i % 3 === 0 && children.length > 1) { - const toRemove = children.splice( - Math.floor(Math.random() * children.length), - 1 - )[0]; - parent.removeChild(toRemove); - } - } + parent2.appendChild(child); - expect(parent._childCount).toBe(children.length); + expect(child._parent).toBe(parent2); + expect(grandchild._parent).toBe(child); + expect(parent1._childCount).toBe(0); + expect(parent2._childCount).toBe(1); + }); + it("should dispose subtrees independently", () => { + const root = createOwner(); + const branch1 = createOwner(root); + const branch2 = createOwner(root); + const leaf1 = createOwner(branch1); + const leaf2 = createOwner(branch2); + + branch1.dispose(); + + expect(branch1._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); + expect(leaf1._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); + expect(branch2._state & OwnershipStateFlags.DISPOSED).toBeFalsy(); + expect(leaf2._state & OwnershipStateFlags.DISPOSED).toBeFalsy(); + }); + + it("should maintain tree integrity after multiple operations", () => { + const root = createOwner(); + const children = Array.from({ length: 10 }, () => createOwner(root)); + + // Remove even children + children.forEach((child, i) => { + if (i % 2 === 0) root.removeChild(child); + }); + + expect(root._childCount).toBe(5); + + // Verify sibling links + let current = root._firstChild; let count = 0; - let current = parent._firstChild; + while (current) { count++; current = current._nextSibling; } - expect(count).toBe(parent._childCount); + + expect(count).toBe(5); }); }); - describe("Real-World Scenarios", () => { - test("component tree simulation", () => { - const app = createOwner(); + describe("Cleanup execution order", () => { + it("should execute cleanups in registration order", () => { + const owner = createOwner(); + const order: number[] = []; - const header = createOwner(app); - createOwner(header); - createOwner(header); + owner.onScopeCleanup(() => order.push(1)); + owner.onScopeCleanup(() => order.push(2)); + owner.onScopeCleanup(() => order.push(3)); - const main = createOwner(app); + owner.dispose(); - for (let i = 0; i < 20; i++) { - const item = createOwner(main); - item.onScopeCleanup(() => {}); - } + // Order depends on DisposalStrategy, but should be consistent + expect(order).toHaveLength(3); + expect(order).toContain(1); + expect(order).toContain(2); + expect(order).toContain(3); + }); - const footer = createOwner(app); + it("should handle cleanup errors gracefully", () => { + const owner = createOwner(); + const cleanup1 = jest.fn(); + const cleanup2 = jest.fn(() => { + throw new Error("Cleanup error"); + }); + const cleanup3 = jest.fn(); - expect(app._childCount).toBe(3); - expect(main._childCount).toBe(20); + owner.onScopeCleanup(cleanup1); + owner.onScopeCleanup(cleanup2); + owner.onScopeCleanup(cleanup3); - app.dispose(); + // Depending on DisposalStrategy, errors might be collected + owner.dispose(); - expect(app._state).toBe(OwnershipStateFlags.DISPOSED); + expect(cleanup1).toHaveBeenCalled(); + expect(cleanup2).toHaveBeenCalled(); }); + }); - test("subscription cleanup pattern", () => { - const owner = createOwner(); - const subscriptions: Set<() => void> = new Set(); + describe("Scope integration", () => { + it("should create scoped resource management", () => { + const scope = new OwnershipScope(); + const resources: string[] = []; - for (let i = 0; i < 100; i++) { - const unsubscribe = jest.fn(); - subscriptions.add(unsubscribe); - owner.onScopeCleanup(unsubscribe); - } + scope.createScope(() => { + const owner = scope.owner!; - owner.dispose(); + owner.onScopeCleanup(() => resources.push("cleanup1")); + owner.onScopeCleanup(() => resources.push("cleanup2")); - subscriptions.forEach((unsub) => { - expect(unsub).toHaveBeenCalledTimes(1); + owner.dispose(); }); + + expect(resources).toHaveLength(2); }); - test("context-based dependency injection", () => { - const root = createOwner(); - root._context = { - services: { - api: "https://api.example.com", - auth: { token: "secret" }, - }, - }; - - const child1 = createOwner(root); - const child2 = createOwner(root); - - type ContextType = { - services: { api: string; auth?: { token: string } }; - }; - - expect((child1._context as ContextType).services.api).toBe( - "https://api.example.com" - ); - expect((child2._context as ContextType).services.api).toBe( - "https://api.example.com" - ); + it("should support nested resource scopes", () => { + const scope = new OwnershipScope(); + const events: string[] = []; - (child1._context as ContextType).services = { - ...(child1._context as ContextType).services, - api: "override", - }; + scope.createScope(() => { + events.push("outer-start"); + const outer = scope.owner!; + outer.onScopeCleanup(() => events.push("outer-cleanup")); - expect((child1._context as ContextType).services.api).toBe("override"); - expect((root._context as ContextType).services.api).toBe( - "https://api.example.com" - ); - expect((child2._context as ContextType).services.api).toBe( - "https://api.example.com" - ); + scope.createScope(() => { + events.push("inner-start"); + const inner = scope.owner!; + inner.onScopeCleanup(() => events.push("inner-cleanup")); + + inner.dispose(); + }); + + events.push("outer-end"); + outer.dispose(); + }); + + expect(events).toEqual([ + "outer-start", + "inner-start", + "inner-cleanup", + "outer-end", + "outer-cleanup", + ]); }); }); }); + +describe("Performance Tests", () => { + it("should handle large number of children efficiently", () => { + const parent = createOwner(); + const childCount = 10000; + + const start = performance.now(); + for (let i = 0; i < childCount; i++) createOwner(parent); + const duration = performance.now() - start; + + expect(parent._childCount).toBe(childCount); + + logPerf("Adding 10k children", duration, 100); + }); + + it("should dispose large trees efficiently", () => { + const root = createOwner(); + + function createTree(parent: IOwnership, depth: number) { + if (!depth) return; + const left = createOwner(parent); + const right = createOwner(parent); + createTree(left, depth - 1); + createTree(right, depth - 1); + } + + createTree(root, 10); // ~1000 nodes + + const start = performance.now(); + root.dispose(); + const duration = performance.now() - start; + + logPerf("Disposing 1k-node tree", duration, 50); + }); + + it("should handle many cleanups efficiently", () => { + const owner = createOwner(); + const cleanupCount = 10000; + + for (let i = 0; i < cleanupCount; i++) owner.onScopeCleanup(() => {}); + + const start = performance.now(); + owner.dispose(); + const duration = performance.now() - start; + + logPerf("Disposing 10k cleanups", duration, 100); + }); + + it("should maintain performance with frequent scope creation", () => { + const scope = new OwnershipScope(); + const iterations = 1000; + + const start = performance.now(); + for (let i = 0; i < iterations; i++) { + scope.createScope(() => { + const owner = scope.owner!; + owner.onScopeCleanup(() => {}); + owner.dispose(); + }); + } + const duration = performance.now() - start; + + logPerf("1k Scope create+dispose", duration, 200); + }); + + it("should have minimal memory overhead", () => { + const owners: IOwnership[] = []; + const count = 1000; + + const start = performance.now(); + for (let i = 0; i < count; i++) owners.push(createOwner()); + const durationCreate = performance.now() - start; + + owners.forEach((o) => o.dispose()); + const durationDispose = performance.now() - start - durationCreate; + + logPerf("Creating 1k owners", durationCreate, 50); + logPerf("Disposing 1k owners", durationDispose, 50); + }); +}); + +describe("Edge Cases", () => { + it("should prevent direct circular append", () => { + const parent = createOwner(); + const child = createOwner(parent); + + child.appendChild(parent); + + // They swapping parents should not create a cycle + expect(parent._parent).toBe(child); + expect(child._parent).toBe(parent); + expect(parent._childCount).toBe(1); + }); + + it("should handle disposing during cleanup", () => { + const parent = createOwner(); + const child = createOwner(parent); + + parent.onScopeCleanup(() => { + child.dispose(); // Dispose child during parent cleanup + }); + + expect(() => parent.dispose()).not.toThrow(); + }); + + it("should handle removing all children", () => { + const parent = createOwner(); + const children = Array.from({ length: 5 }, () => createOwner(parent)); + + children.forEach((child) => parent.removeChild(child)); + + expect(parent._firstChild).toBeUndefined(); + expect(parent._lastChild).toBeUndefined(); + expect(parent._childCount).toBe(0); + }); + + it("should handle empty tree disposal", () => { + const owner = createOwner(); + + expect(() => owner.dispose()).not.toThrow(); + }); + + it("should handle owner with no cleanups", () => { + const owner = createOwner(); + + expect(() => owner.dispose()).not.toThrow(); + expect(owner._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); + }); + + it("should handle scope with no operations", () => { + const scope = new OwnershipScope(); + + expect(() => { + scope.createScope(() => {}); + }).not.toThrow(); + }); +}); diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/reflex/src/core/ownership/ownership.type.ts index 041e819..69aa275 100644 --- a/packages/reflex/src/core/ownership/ownership.type.ts +++ b/packages/reflex/src/core/ownership/ownership.type.ts @@ -76,7 +76,7 @@ interface IOwnershipMethods { * * @param scope - The mounted child owner. */ - onScopeMount?(scope: IOwnership): void; + onScopeMount(scope: IOwnership): void; /** * Register a cleanup callback to be executed during disposal. @@ -107,25 +107,25 @@ interface IOwnershipMethods { */ interface IOwnership extends IOwnershipMethods { /** Parent node in the ownership tree. */ - _parent?: IOwnership; + _parent: IOwnership | undefined; /** First child node in the linked list of children. */ - _firstChild?: IOwnership; + _firstChild: IOwnership | undefined; /** Last child node, used for O(1) append. */ - _lastChild?: IOwnership; + _lastChild: IOwnership | undefined; /** Next sibling node in the parent's child list. */ - _nextSibling?: IOwnership; + _nextSibling: IOwnership | undefined; /** Prev sibling node in the parent's child list that makes list is linked and remove in O(1). */ - _prevSibling?: IOwnership; + _prevSibling: IOwnership | undefined; /** Array of cleanup callbacks registered via `onScopeCleanup`. */ _disposal: NoneToVoidFn[]; /** Context object for scoped variables, prototypally inherited from parent. */ - _context?: Record; + _context: Record | undefined; /** Bitwise state flags describing the node lifecycle. */ _state: OwnershipStateFlags; diff --git a/packages/reflex/src/core/reactivity/abstract_node.ts b/packages/reflex/src/core/reactivity/abstract_node.ts new file mode 100644 index 0000000..cccedaa --- /dev/null +++ b/packages/reflex/src/core/reactivity/abstract_node.ts @@ -0,0 +1,211 @@ +abstract class Node { + abstract compute(...inputs: I[]): O; + + run(...inputs: I[]): O { + const values = inputs.map((i) => (i instanceof Node ? i.run() : i)) as I[]; + + return this.compute(...values); + } + + abstract subscribe(callback: (output: O) => void): void; +} + +class Signal extends Node { + private value: T; + private subs: ((v: T) => void)[] = []; + + constructor(init: T) { + super(); + this.value = init; + } + + get() { + return this.value; + } + set(v: T) { + this.value = v; + this.subs.forEach((fn) => fn(v)); + } + + compute(): T { + return this.value; + } + + subscribe(callback: (v: T) => void) { + this.subs.push(callback); + } +} + +class Memo extends Node { + private value!: T; + private subs: ((v: T) => void)[] = []; + private fn: (...inputs: Inputs) => T; + private inputNodes: Node[]; + + constructor(fn: (...inputs: Inputs) => T, inputs: Node[]) { + super(); + this.fn = fn; + this.inputNodes = inputs; + inputs.forEach((inp) => inp.subscribe(() => this.update())); + this.update(); + } + + private update() { + const vals = this.inputNodes.map((n) => n.run()); + this.value = this.fn(...(vals as Inputs)); + this.subs.forEach((fn) => fn(this.value)); + } + + compute(): T { + return this.value; + } + + subscribe(cb: (v: T) => void) { + this.subs.push(cb); + } +} + +class Effect extends Node { + constructor(fn: (...inputs: Inputs) => void, inputs: Node[]) { + super(); + + inputs.forEach((inp) => + inp.subscribe(() => fn(...(inputs.map((n) => n.run()) as Inputs))) + ); + + fn(...(inputs.map((n) => n.run()) as Inputs)); + } + + compute(): void {} + subscribe(cb: (v: void) => void) {} +} + +class Splitter extends Node<[Node], Node[]> { + outputs: Node[] = [] + + constructor(input: Node, copies: number) { + super() + // создаём m выходов + this.outputs = Array.from({ length: copies }, () => new Signal(undefined as any)) + + // подписка на вход + input.subscribe((v: T) => { + this.outputs.forEach(out => (out as Signal).set(v)) + }) + + // начальное значение + const initial = input.run() + this.outputs.forEach(out => (out as Signal).set(initial)) + } + + compute(input: Node): Node[] { + return this.outputs + } + + subscribe(callback: (v: Node[]) => void) { + this.outputs.forEach(out => out.subscribe(() => callback(this.outputs))) + } +} + +class Merger extends Node[], T> { + private value!: T + private subs: ((v: T) => void)[] = [] + + constructor(inputs: Node[]) { + super() + inputs.forEach(inp => inp.subscribe(() => this.update(inputs))) + this.update(inputs) + } + + private update(inputs: Node[]) { + const vals = inputs.map(i => i.run()) + this.value = Object.assign({}, ...vals) + this.subs.forEach(fn => fn(this.value)) + } + + compute(inputs: Node[]): T { + return this.value + } + + subscribe(fn: (v: T) => void) { + this.subs.push(fn) + } +} + +class MapNode extends Node<[Node], O> { + private fn: (val: I) => O + private value!: O + private subs: ((v: O) => void)[] = [] + + constructor(input: Node, fn: (val: I) => O) { + super() + this.fn = fn + input.subscribe((v: I) => this.update(input)) + this.update(input) + } + + private update(input: Node) { + this.value = this.fn(input.run()) + this.subs.forEach(fn => fn(this.value)) + } + + compute(input: Node): O { + return this.value + } + + subscribe(fn: (v: O) => void) { + this.subs.push(fn) + } +} + +class Reducer extends Node[], S> { + private state: S + private fn: (prevState: S, ...inputs: any[]) => S + private subs: ((v: S) => void)[] = [] + + constructor(fn: (prev: S, ...inputs: any[]) => S, init: S, inputs: Node[]) { + super() + this.fn = fn + this.state = init + inputs.forEach(inp => inp.subscribe(() => this.update(inputs))) + this.update(inputs) + } + + private update(inputs: Node[]) { + const vals = inputs.map(i => i.run()) + this.state = this.fn(this.state, ...vals) + this.subs.forEach(fn => fn(this.state)) + } + + compute(inputs: Node[]): S { + return this.state + } + + subscribe(fn: (v: S) => void) { + this.subs.push(fn) + } +} + +class VoidNode extends Node { + compute(): never { return undefined as never } + subscribe(_fn: (v: never) => void) {} +} + +const a = new Signal(1) +const b = new Signal(2) + +// Splitter: один сигнал → 3 выхода +const splitter = new Splitter(a, 3) +splitter.outputs.forEach((s, i) => s.subscribe(v => console.log(`Split #${i}:`, v))) + +a.set(5) // Split #0: 5, Split #1: 5, Split #2: 5 + +// Merger: объединяем два объекта +const merged = new Merger([{ x: 1 }, { y: 2 }]) +merged.subscribe(v => console.log("Merged:", v)) + +// Reducer: аккумулируем сумму +const sumReducer = new Reducer((prev, x, y) => prev + x + y, 0, [a, b]) +sumReducer.subscribe(v => console.log("SumReducer:", v)) + +b.set(10) // SumReducer: 15 diff --git a/packages/reflex/src/core/reactivity/abstract_signal.ts b/packages/reflex/src/core/reactivity/abstract_signal.ts index b333528..5d05d8b 100644 --- a/packages/reflex/src/core/reactivity/abstract_signal.ts +++ b/packages/reflex/src/core/reactivity/abstract_signal.ts @@ -17,3 +17,4 @@ abstract class AbstractSignal implements SignalInterface { } export default AbstractSignal; + diff --git a/packages/reflex/src/core/reactivity/computation.ts b/packages/reflex/src/core/reactivity/computation.ts new file mode 100644 index 0000000..5fa550c --- /dev/null +++ b/packages/reflex/src/core/reactivity/computation.ts @@ -0,0 +1,280 @@ +// Базовый интерфейс для всех вычислительных узлов +interface IComputation { + run(): O; + subscribe(callback: (output: O) => void): () => void; + getInputs(): IComputation[]; +} + +// Типы вычислений +type ComputationType = 'source' | 'derived' | 'effect'; + +// Унифицированный класс вычисления +abstract class Computation implements IComputation { + protected cached: O | undefined; + protected subscribers: Set<(output: O) => void> = new Set(); + protected inputs: IComputation[] = []; + protected type: ComputationType; + + constructor(type: ComputationType, inputs: IComputation[] = []) { + this.type = type; + this.inputs = inputs; + + // Подписываемся на входы + inputs.forEach(input => { + input.subscribe(() => this.invalidate()); + }); + } + + // Итеративный run без рекурсии + run(): O { + if (this.cached !== undefined && this.type !== 'source') { + return this.cached; + } + + // Топологическая сортировка и вычисление + const sorted = this.topologicalSort(); + + for (const node of sorted) { + if (node === this) { + const inputValues = this.inputs.map(inp => inp.run()) as I; + this.cached = this.compute(...inputValues); + } + } + + return this.cached!; + } + + // Топологическая сортировка для итеративного вычисления + private topologicalSort(): Computation[] { + const visited = new Set(); + const result: Computation[] = []; + + const visit = (node: Computation) => { + if (visited.has(node)) return; + visited.add(node); + + node.inputs.forEach(input => { + if (input instanceof Computation) { + visit(input); + } + }); + + result.push(node); + }; + + visit(this); + return result; + } + + protected abstract compute(...inputs: I): O; + + protected invalidate(): void { + if (this.cached === undefined) return; + + const oldValue = this.cached; + this.cached = undefined; + + // Только для derived и effect пересчитываем + if (this.type !== 'source') { + const newValue = this.run(); + if (newValue !== oldValue) { + this.notify(newValue); + } + } + } + + protected notify(value: O): void { + this.subscribers.forEach(fn => fn(value)); + } + + subscribe(callback: (output: O) => void): () => void { + this.subscribers.add(callback); + return () => this.subscribers.delete(callback); + } + + getInputs(): IComputation[] { + return this.inputs; + } +} + +// Source: 0→1 (источник данных) +class Source extends Computation<[], T> { + constructor(initial: T) { + super('source', []); + this.cached = initial; + } + + compute(): T { + return this.cached!; + } + + set(value: T): void { + if (this.cached !== value) { + this.cached = value; + this.notify(value); + } + } + + get(): T { + return this.cached!; + } +} + +// Derived: n→1 (вычисляемое значение) +class Derived extends Computation { + private fn: (...inputs: I) => O; + + constructor(fn: (...inputs: I) => O, inputs: IComputation[]) { + super('derived', inputs); + this.fn = fn; + this.cached = this.run(); // Инициализация + } + + compute(...inputs: I): O { + return this.fn(...inputs); + } +} + +// Effect: n→0 (побочный эффект) +class SideEffect extends Computation { + private fn: (...inputs: I) => void; + + constructor(fn: (...inputs: I) => void, inputs: IComputation[]) { + super('effect', inputs); + this.fn = fn; + this.run(); // Запуск при создании + } + + compute(...inputs: I): void { + this.fn(...inputs); + } +} + +// Splitter: 1→m (раздвоение сигнала) +class Splitter extends Computation<[T], Source[]> { + private outputs: Source[] = []; + + constructor(input: IComputation<[], T>, count: number) { + super('derived', [input]); + + this.outputs = Array.from({ length: count }, () => new Source(undefined as any)); + + input.subscribe((value: T) => { + this.outputs.forEach(out => out.set(value)); + }); + + // Инициализация + const initial = input.run(); + this.outputs.forEach(out => out.set(initial)); + } + + compute(value: T): Source[] { + return this.outputs; + } + + getOutputs(): Source[] { + return this.outputs; + } +} + +// Merger: n→1 (слияние объектов) +class Merger extends Computation { + constructor(inputs: IComputation<[], T>[]) { + super('derived', inputs); + this.cached = this.run(); + } + + compute(...inputs: T[]): T { + return Object.assign({}, ...inputs); + } +} + +// Map: 1→1 (трансформация) +class Map extends Computation<[I], O> { + private fn: (value: I) => O; + + constructor(input: IComputation<[], I>, fn: (value: I) => O) { + super('derived', [input]); + this.fn = fn; + this.cached = this.run(); + } + + compute(value: I): O { + return this.fn(value); + } +} + +// Reducer: n→1 (аккумулятор с состоянием) +class Reducer extends Computation { + private fn: (state: S, ...inputs: I) => S; + private state: S; + + constructor(fn: (state: S, ...inputs: I) => S, initial: S, inputs: IComputation[]) { + super('derived', inputs); + this.fn = fn; + this.state = initial; + this.cached = this.run(); + } + + compute(...inputs: I): S { + this.state = this.fn(this.state, ...inputs); + return this.state; + } + + getState(): S { + return this.state; + } +} + +// ============= ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ ============= + +console.log('=== Source (0→1) ==='); +const a = new Source(10); +const b = new Source(20); +a.subscribe(v => console.log('a changed:', v)); + +console.log('\n=== Derived (2→1) ==='); +const sum = new Derived((x: number, y: number) => x + y, [a, b]); +sum.subscribe(v => console.log('sum:', v)); + +a.set(15); // sum: 35 + +console.log('\n=== Map (1→1) ==='); +const doubled = new Map(a, x => x * 2); +doubled.subscribe(v => console.log('doubled:', v)); + +a.set(20); // doubled: 40, sum: 40 + +console.log('\n=== Splitter (1→3) ==='); +const splitter = new Splitter(a, 3); +splitter.getOutputs().forEach((out, i) => { + out.subscribe(v => console.log(`split[${i}]:`, v)); +}); + +a.set(100); // split[0]: 100, split[1]: 100, split[2]: 100 + +console.log('\n=== Merger (2→1) ==='); +const obj1 = new Source({ x: 1 }); +const obj2 = new Source({ y: 2 }); +const merged = new Merger([obj1, obj2]); +merged.subscribe(v => console.log('merged:', v)); + +obj1.set({ x: 10 }); // merged: { x: 10, y: 2 } + +console.log('\n=== Reducer (2→1 с состоянием) ==='); +const counter = new Reducer( + (state, x: number, y: number) => state + x + y, + 0, + [a, b] +); +counter.subscribe(v => console.log('counter:', v)); + +b.set(5); // counter: 105 + +console.log('\n=== Effect (2→0) ==='); +new SideEffect( + (x: number, y: number) => console.log(`Effect: ${x} + ${y} = ${x + y}`), + [a, b] +); + +a.set(50); // Effect: 50 + 5 = 55 \ No newline at end of file diff --git a/packages/reflex/tsconfig.json b/packages/reflex/tsconfig.json index 4bd9005..fccc106 100644 --- a/packages/reflex/tsconfig.json +++ b/packages/reflex/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../tsconfig.base.json", "compilerOptions": { + "typeRoots": ["./types", "./node_modules/@types"], "composite": true, "outDir": "dist", From 0d3e690fc14e3895717771045fe9620a9df052ce Mon Sep 17 00:00:00 2001 From: volynetstyle Date: Fri, 17 Oct 2025 22:26:32 +0300 Subject: [PATCH 02/32] refactor: remove unused ownership and reactivity files - Deleted `ownership.dispose.ts`, `abstract_node.ts`, `abstract_signal.ts`, `abstract_types.ts`, `common_constants.ts`, `computation.ts`, and `tsconfig.base.json` files. - Moved and refactored `DisposalStrategy` and `batchDisposer` functions into `ownership.disposal.ts`. - Introduced `UnrolledQueue` implementation for improved performance in queue operations. - Added performance benchmarks for `UnrolledQueue`. - Updated TypeScript configuration to extend from a new base configuration. - Added new utility functions and constants for better code organization. --- compiler/.gitignore | 21 ++ compiler/LICENSE | 21 ++ compiler/README.md | 14 + {packages => environment}/tsconfig.base.json | 1 + packages/common/makeStringSet.test.ts | 53 ---- packages/common/makeStringSet.ts | 108 +++++-- packages/reflex-dom/.gitignore copy | 22 -- .../reflex-dom/src/client/layoutTrashing.ts | 294 ++++++++++++------ .../validate/DOMNestingClassificator.ts | 0 packages/reflex-dom/tsconfig.json | 6 +- packages/reflex/.env | 0 packages/reflex/.env.dev | 2 + packages/reflex/.env.prod | 2 + packages/reflex/package.json | 4 +- .../reactivity.constants.ts} | 2 - packages/reflex/src/core/index.ts | 0 packages/reflex/src/core/node.type.ts | 2 - .../reflex/src/core/object/inherit.test.ts | 34 -- packages/reflex/src/core/object/inherit.ts | 49 --- .../reflex/src/core/object/object.inherit.ts | 4 + .../object/{inline.ts => object.inline.ts} | 0 .../src/core/ownership/ownership.core.ts | 14 +- ...rship.dispose.ts => ownership.disposal.ts} | 0 .../src/core/ownership/ownership.error.ts | 22 +- .../core/queue/unrolled-queue.bench.test.ts | 75 +++++ .../reflex/src/core/queue/unrolled-queue.ts | 283 +++++++++++++++++ .../src/core/reactivity/abstract_node.ts | 211 ------------- .../src/core/reactivity/abstract_signal.ts | 20 -- .../src/core/reactivity/abstract_types.ts | 78 ----- .../reflex/src/core/reactivity/computation.ts | 280 ----------------- packages/reflex/src/core/time/clock.ts | 1 + packages/reflex/tsconfig.json | 3 +- 32 files changed, 733 insertions(+), 893 deletions(-) create mode 100644 compiler/.gitignore create mode 100644 compiler/LICENSE rename {packages => environment}/tsconfig.base.json (94%) delete mode 100644 packages/common/makeStringSet.test.ts delete mode 100644 packages/reflex-dom/.gitignore copy create mode 100644 packages/reflex-dom/src/client/validate/DOMNestingClassificator.ts create mode 100644 packages/reflex/.env create mode 100644 packages/reflex/.env.dev create mode 100644 packages/reflex/.env.prod rename packages/reflex/src/core/{reactivity/common_constants.ts => graph/reactivity.constants.ts} (89%) create mode 100644 packages/reflex/src/core/index.ts delete mode 100644 packages/reflex/src/core/node.type.ts delete mode 100644 packages/reflex/src/core/object/inherit.test.ts delete mode 100644 packages/reflex/src/core/object/inherit.ts create mode 100644 packages/reflex/src/core/object/object.inherit.ts rename packages/reflex/src/core/object/{inline.ts => object.inline.ts} (100%) rename packages/reflex/src/core/ownership/{ownership.dispose.ts => ownership.disposal.ts} (100%) create mode 100644 packages/reflex/src/core/queue/unrolled-queue.bench.test.ts create mode 100644 packages/reflex/src/core/queue/unrolled-queue.ts delete mode 100644 packages/reflex/src/core/reactivity/abstract_node.ts delete mode 100644 packages/reflex/src/core/reactivity/abstract_signal.ts delete mode 100644 packages/reflex/src/core/reactivity/abstract_types.ts delete mode 100644 packages/reflex/src/core/reactivity/computation.ts create mode 100644 packages/reflex/src/core/time/clock.ts diff --git a/compiler/.gitignore b/compiler/.gitignore new file mode 100644 index 0000000..58818cc --- /dev/null +++ b/compiler/.gitignore @@ -0,0 +1,21 @@ +# Rust +/target +Cargo.lock + +# Logs and dumps +*.log +*.dmp + +# IDEs +.idea/ +.vscode/ +*.iml + +# OS +.DS_Store +Thumbs.db + +# Coverage / benches +*.profraw +*.profdata +/coverage diff --git a/compiler/LICENSE b/compiler/LICENSE new file mode 100644 index 0000000..923599d --- /dev/null +++ b/compiler/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Andrii Volynets + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/compiler/README.md b/compiler/README.md index e69de29..cf6f9a6 100644 --- a/compiler/README.md +++ b/compiler/README.md @@ -0,0 +1,14 @@ +# 🦀 Reflex Compiler + +> **A modern compiler for the Reflex language, built with Rust.** +> +> Designed with modular architecture, fast lexing, and experimental IR. + +--- + +## 🚀 Quick Start + +```bash +git clone https://github.com/username/mylang.git +cd mylang +cargo run -- examples/hello.lang diff --git a/packages/tsconfig.base.json b/environment/tsconfig.base.json similarity index 94% rename from packages/tsconfig.base.json rename to environment/tsconfig.base.json index eb5ef29..6fd8372 100644 --- a/packages/tsconfig.base.json +++ b/environment/tsconfig.base.json @@ -14,6 +14,7 @@ "composite": true, "incremental": true, "baseUrl": ".", + "ignoreDeprecations": "6.0", "paths": { "@reflex/*": ["packages/reflex/src/*"], "@reflex-dom/*": ["packages/reflex-dom/src/*"] diff --git a/packages/common/makeStringSet.test.ts b/packages/common/makeStringSet.test.ts deleted file mode 100644 index c712489..0000000 --- a/packages/common/makeStringSet.test.ts +++ /dev/null @@ -1,53 +0,0 @@ -import makeStringSet from "./makeStringSet"; - -describe("makeStringSet", () => { - test("корректно ищет существующие строки", () => { - const set = makeStringSet(["apple", "banana", "cherry"]); - expect(set.has("apple")).toBe(true); - expect(set.has("banana")).toBe(true); - expect(set.has("cherry")).toBe(true); - }); - - test("возвращает false для отсутствующих строк", () => { - const set = makeStringSet(["apple", "banana"]); - expect(set.has("orange")).toBe(false); - expect(set.has("grape")).toBe(false); - }); - - test("обрабатывает дубликаты без ошибок", () => { - const set = makeStringSet(["apple", "apple", "banana"]); - expect(set.has("apple")).toBe(true); - expect(set.has("banana")).toBe(true); - expect(set.has("orange")).toBe(false); - }); - - test("корректно работает на пустом множестве", () => { - const set = makeStringSet([]); - expect(set.has("anything")).toBe(false); - }); - - test("корректно работает при большом количестве элементов", () => { - const words = Array.from({ length: 10000 }, (_, i) => `word${i}`); - const set = makeStringSet(words); - - // проверим несколько случайных элементов - expect(set.has("word0")).toBe(true); - expect(set.has("word5000")).toBe(true); - expect(set.has("word9999")).toBe(true); - expect(set.has("not_in_set")).toBe(false); - }); - - test("устойчив к коллизиям хэшей (принудительно)", () => { - // подменим хэш-функцию, чтобы вызывать коллизии - jest.mock("./core/utils/hash/fnv1aHashBytes", () => ({ - hash_32_fnv1a_const: (str: string) => str.length - })); - const { default: makeStringSetColl } = require("./makeStringSet"); - - const set = makeStringSetColl(["a", "bb", "ccc"]); - expect(set.has("a")).toBe(true); - expect(set.has("bb")).toBe(true); - expect(set.has("ccc")).toBe(true); - expect(set.has("dddd")).toBe(false); - }); -}); diff --git a/packages/common/makeStringSet.ts b/packages/common/makeStringSet.ts index 2c24d90..2c1b2dc 100644 --- a/packages/common/makeStringSet.ts +++ b/packages/common/makeStringSet.ts @@ -4,32 +4,93 @@ type HasSet = { has: (str: string) => boolean; }; -function nextClosestPow2(n: number): number { - if (n <= 1) { - return 1; +const has = ( + str: string, + size: number, + mask: number, + cap: number, + table: (string | null)[] +): boolean => { + if (typeof str !== "string") { + return false; + } + + if (str.length === 0 && size === 0) { + return false; } - let v = --n; + const hash = hash_32_fnv1a_const(str); + let idx = hash & mask; + let probeCount = 0; + const maxProbes = cap; - for (let i = 1; i < 32; i <<= 1) { - v |= v >> i; + while (probeCount < maxProbes) { + const cur = table[idx]; + + if (cur === null) { + return false; + } + + if (cur === str) { + return true; + } + + idx = (idx + 1) & mask; + probeCount++; } - return v + 1; + return false; +}; + +function nextClosestPow2(n: number): number { + if (n <= 1) return 1; + + if ((n & (n - 1)) === 0) return n; + + --n; + n |= n >> 1; + n |= n >> 2; + n |= n >> 4; + n |= n >> 8; + n |= n >> 16; + + return n + 1; } export default function makeStringSet(strings: string[]): HasSet { + if (!Array.isArray(strings)) { + throw new TypeError("Input must be an array of strings"); + } + const size = strings.length; - const cap = nextClosestPow2(size * 2); + + if (size > 0x7fffffff) { + throw new RangeError("String set size exceeds maximum allowed"); + } + + const cap = nextClosestPow2(Math.max(size * 2, 4)); const mask = cap - 1; - const table: (string | null)[] = new Array(cap).fill(null); + const table: (string | null)[] = new Array(cap); + for (let i = 0; i < cap; i++) { + table[i] = null; + } + + let duplicates = 0; + + for (let i = 0; i < size; i++) { + const s = strings[i]; + + if (typeof s !== "string") { + throw new TypeError(`Element at index ${i} is not a string`); + } - for (const s of strings) { const hash = hash_32_fnv1a_const(s); let idx = hash & mask; + let probeCount = 0; + const maxProbes = cap; - while (true) { + while (probeCount < maxProbes) { const cur = table[idx]; if (cur === null) { @@ -38,31 +99,18 @@ export default function makeStringSet(strings: string[]): HasSet { } if (cur === s) { + duplicates++; break; } idx = (idx + 1) & mask; + probeCount++; } - } - - const has = (str: string): boolean => { - const hash = hash_32_fnv1a_const(str); - let idx = hash & mask; - while (true) { - const cur = table[idx]; - - if (cur === null) { - return false; - } - - if (cur === str) { - return true; - } - - idx = (idx + 1) & mask; + if (probeCount === maxProbes) { + throw new Error("Hash table overflow: maximum probe count exceeded"); } } - return { has }; -} \ No newline at end of file + return { has: (str: string) => has(str, size, mask, cap, table) }; +} diff --git a/packages/reflex-dom/.gitignore copy b/packages/reflex-dom/.gitignore copy deleted file mode 100644 index 524f91a..0000000 --- a/packages/reflex-dom/.gitignore copy +++ /dev/null @@ -1,22 +0,0 @@ -.DS_STORE -node_modules -.flowconfig -*~ -*.pyc -.grunt -_SpecRunner.html -__benchmarks__ -build/ -remote-repo/ -coverage/ -*.log* -*.sublime-project -*.sublime-workspace -.idea -*.iml -.vscode -*.swp -*.swo -drafts/ -package-lock.json -mails/ \ No newline at end of file diff --git a/packages/reflex-dom/src/client/layoutTrashing.ts b/packages/reflex-dom/src/client/layoutTrashing.ts index 6774d68..dc5c3b1 100644 --- a/packages/reflex-dom/src/client/layoutTrashing.ts +++ b/packages/reflex-dom/src/client/layoutTrashing.ts @@ -1,105 +1,215 @@ -const sharedLayoutMethods = [ - "getClientRects", - "getBoundingClientRect", -] as const; - -const overflowScrollMethods = [ - "scrollBy", - "scrollTo", - "scrollIntoView", - "scrollIntoViewIfNeeded", -] as const; - -const layoutTrashing = { - Element: { - props: [ - "clientLeft", - "clientTop", - "clientWidth", - "clientHeight", - "scrollWidth", - "scrollHeight", - "scrollLeft", - "scrollTop", - "textContent", - ] as const, - methods: [...sharedLayoutMethods, ...overflowScrollMethods], - }, +type LayoutCategory = "read" | "write" | "mixed"; - HTMLElement: { - props: [ - "offsetLeft", - "offsetTop", - "offsetWidth", - "offsetHeight", - "offsetParent", - "compiledRole", // исправлено: computedRole? - "compiledName", // исправлено: computedName? - "innerText", - "textContent", - // DOM layout-influencing properties - "style", - "classList", - "dataset", - ] as const, - methods: ["focus"] as const, - }, +interface LayoutProperty { + category: LayoutCategory; + description?: string; + riskLevel: "high" | "medium" | "low"; + alternative?: string; +} - window: { - props: [ - "scrollX", - "scrollY", - "pageXOffset", - "pageYOffset", - "innerWidth", - "innerHeight", - "visualViewport", - ] as const, - methods: ["getComputedStyle"] as const, +const layoutThrashingDatabase = { + reads: { + Element: { + clientLeft: { + category: "read" as const, + riskLevel: "high", + description: + "The width of the left border of the element (including scrollbar)", + }, + clientTop: { + category: "read" as const, + riskLevel: "high", + description: "The height of the top border of the element", + }, + clientWidth: { + category: "read" as const, + riskLevel: "high", + description: "The width of the element's content area", + }, + clientHeight: { + category: "read" as const, + riskLevel: "high", + description: "The height of the element's content area", + }, + scrollWidth: { + category: "read" as const, + riskLevel: "high", + description: "The total width of the scrollable content", + }, + scrollHeight: { + category: "read" as const, + riskLevel: "high", + description: "The total height of the scrollable content", + }, + scrollLeft: { + category: "read" as const, + riskLevel: "high", + description: "The horizontal scroll position", + }, + scrollTop: { + category: "read" as const, + riskLevel: "high", + description: "The vertical scroll position", + }, + }, }, - VisualViewport: { - props: [ - "width", - "height", - "offsetLeft", - "offsetTop", - "pageLeft", - "pageTop", - ] as const, + writes: { + Element: { + scrollLeft: { + category: "write" as const, + riskLevel: "high", + description: "Sets the horizontal scroll position", + alternative: "scrollTo(), scrollBy()", + }, + scrollTop: { + category: "write" as const, + riskLevel: "high", + description: "Sets the vertical scroll position", + alternative: "scrollTo(), scrollBy()", + }, + textContent: { + category: "write" as const, + riskLevel: "high", + description: "Changes the text content of the element", + alternative: "innerText, createTextNode()", + }, + }, }, - Document: { - props: ["scrollingElement"] as const, - methods: ["elementFromPoint"] as const, + methods: { + Element: { + getClientRects: { + category: "read" as const, + riskLevel: "high", + description: "Gets the coordinates of all boxes of the element", + }, + getBoundingClientRect: { + category: "read" as const, + riskLevel: "high", + description: "Gets the coordinates of the element", + }, + scrollBy: { + category: "write" as const, + riskLevel: "high", + description: "Scrolls by a specified amount", + }, + scrollTo: { + category: "write" as const, + riskLevel: "high", + description: "Scrolls to a specified position", + }, + scrollIntoView: { + category: "write" as const, + riskLevel: "high", + description: "Scrolls the element into view", + alternative: "requestAnimationFrame", + }, + scrollIntoViewIfNeeded: { + category: "write" as const, + riskLevel: "high", + description: "Conditionally scrolls the element into view", + alternative: "requestAnimationFrame", + }, + }, }, +} as const; - HTMLInputElement: { - methods: ["select", "focus"] as const, - }, +type Category = "reads" | "writes" | "methods"; - MouseEvent: { - props: [ - "offsetX", - "offsetY", - "layerX", - "layerY", - "clientX", - "clientY", - "pageX", - "pageY", - ] as const, - }, +/** + * Get all properties/methods of a specific category + */ +function getAllLayoutOperations(category: Category) { + return layoutThrashingDatabase[category]; +} - Range: { - methods: [...sharedLayoutMethods] as const, - }, -} as const; +/** + * Check if an operation is potentially problematic + */ +function isLayoutThrashing( + target: string, + property: string, + type: "read" | "write" | "method" = "read" +): boolean { + const db = layoutThrashingDatabase; -function getLayoutProps( - target: T -): readonly string[] { - const obj = layoutTrashing[target]; + if (type === "read" && "reads" in db) { + return property in (db.reads[target as keyof typeof db.reads] || {}); + } - return "props" in obj ? (obj.props as readonly string[]) : []; + if (type === "write" && "writes" in db) { + return property in (db.writes[target as keyof typeof db.writes] || {}); + } + + if (type === "method" && "methods" in db) { + return property in (db.methods[target as keyof typeof db.methods] || {}); + } + + return false; } + +/** + * Get the risk level of an operation + */ +function getRiskLevel( + target: string, + property: string +): "high" | "medium" | "low" | null { + const reads = layoutThrashingDatabase.reads as any; + const writes = layoutThrashingDatabase.writes as any; + const methods = layoutThrashingDatabase.methods as any; + + if (reads[target]?.[property]) return reads[target][property].riskLevel; + if (writes[target]?.[property]) return writes[target][property].riskLevel; + if (methods[target]?.[property]) return methods[target][property].riskLevel; + + return null; +} + +/** + * Get description and alternative for an operation + */ +function getOperationInfo(target: string, property: string) { + const reads = layoutThrashingDatabase.reads as any; + const writes = layoutThrashingDatabase.writes as any; + const methods = layoutThrashingDatabase.methods as any; + + return ( + reads[target]?.[property] || + writes[target]?.[property] || + methods[target]?.[property] || + null + ); +} + +/** + * Get all high-risk operations + */ +function getHighRiskOperations() { + const result: Record = {}; + const db = layoutThrashingDatabase as any; + + for (const category of Object.keys(db)) { + for (const target of Object.keys(db[category])) { + for (const [prop, info] of Object.entries(db[category][target])) { + if ((info as any).riskLevel === "high") { + if (!result[target]) result[target] = []; + result[target].push(prop); + } + } + } + } + + return result; +} + +export { + layoutThrashingDatabase, + isLayoutThrashing, + getRiskLevel, + getOperationInfo, + getHighRiskOperations, + type LayoutProperty, + type LayoutCategory, +}; diff --git a/packages/reflex-dom/src/client/validate/DOMNestingClassificator.ts b/packages/reflex-dom/src/client/validate/DOMNestingClassificator.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/reflex-dom/tsconfig.json b/packages/reflex-dom/tsconfig.json index 679fd5d..4e4c1ef 100644 --- a/packages/reflex-dom/tsconfig.json +++ b/packages/reflex-dom/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "../tsconfig.base.json", + "extends": "environment/tsconfig.base.json", + "references": [{ "path": "../reflex" }], "compilerOptions": { "outDir": "dist", "rootDir": "src" }, - "include": ["src"], - "references": [{ "path": "../reflex" }] + "include": ["src"] } diff --git a/packages/reflex/.env b/packages/reflex/.env new file mode 100644 index 0000000..e69de29 diff --git a/packages/reflex/.env.dev b/packages/reflex/.env.dev new file mode 100644 index 0000000..367b24b --- /dev/null +++ b/packages/reflex/.env.dev @@ -0,0 +1,2 @@ +NODE_ENV=development +LIB_LOG_LEVEL=debug diff --git a/packages/reflex/.env.prod b/packages/reflex/.env.prod new file mode 100644 index 0000000..6e671b6 --- /dev/null +++ b/packages/reflex/.env.prod @@ -0,0 +1,2 @@ +NODE_ENV=production +LIB_LOG_LEVEL=none diff --git a/packages/reflex/package.json b/packages/reflex/package.json index 67432c5..267a76a 100644 --- a/packages/reflex/package.json +++ b/packages/reflex/package.json @@ -7,8 +7,10 @@ ], "scripts": { "build": "tsc --build", - "test": "jest" + "test": "jest", + "test:bench": "node --expose-gc --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand" }, + "sideEffects": false, "devDependencies": { "@types/jest": "^30.0.0", "jest": "^30.1.3", diff --git a/packages/reflex/src/core/reactivity/common_constants.ts b/packages/reflex/src/core/graph/reactivity.constants.ts similarity index 89% rename from packages/reflex/src/core/reactivity/common_constants.ts rename to packages/reflex/src/core/graph/reactivity.constants.ts index 8a24497..a6dfb7b 100644 --- a/packages/reflex/src/core/reactivity/common_constants.ts +++ b/packages/reflex/src/core/graph/reactivity.constants.ts @@ -1,5 +1,3 @@ -export const EMPTY_ARRAY = []; - export const OWNERSHIP_BRAND: unique symbol = Symbol("ownership"); export const COMPUTED_BRAND: unique symbol = Symbol("computed"); export const WRITABLE_BRAND: unique symbol = Symbol("writable"); diff --git a/packages/reflex/src/core/index.ts b/packages/reflex/src/core/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/reflex/src/core/node.type.ts b/packages/reflex/src/core/node.type.ts deleted file mode 100644 index 8e3c4f4..0000000 --- a/packages/reflex/src/core/node.type.ts +++ /dev/null @@ -1,2 +0,0 @@ - -// G = {v, e} diff --git a/packages/reflex/src/core/object/inherit.test.ts b/packages/reflex/src/core/object/inherit.test.ts deleted file mode 100644 index 52b8248..0000000 --- a/packages/reflex/src/core/object/inherit.test.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { ReflexObject } from "./inherit"; - -describe("ReflexObject.Inherit", () => { - it("should inherit methods and allow callSuper", () => { - const proto = { - value: 1, - increment(n: number) { - this.value += n; - return this.value; - }, - }; - - const obj = ReflexObject.Inherit(proto); - - expect(obj.value).toBe(1); - const result = obj.callSuper("increment", 5); - expect(result).toBe(6); - expect(obj.value).toBe(6); - }); - - it("should throw if no prototype for callSuper", () => { - const obj = ReflexObject.Inherit(null); - //@ts-ignore - testing runtime behavior - expect(() => obj.callSuper("anyMethod")).toThrow( - "[ReflexObject]: No prototype to call super on" - ); - }); - - it("should throw if key is not a function on prototype", () => { - const proto = { foo: 123 }; - const obj = ReflexObject.Inherit(proto); - expect(() => obj.callSuper("foo")).toThrow(/No method "foo" on prototype/); - }); -}); diff --git a/packages/reflex/src/core/object/inherit.ts b/packages/reflex/src/core/object/inherit.ts deleted file mode 100644 index 93b4f01..0000000 --- a/packages/reflex/src/core/object/inherit.ts +++ /dev/null @@ -1,49 +0,0 @@ -export namespace ReflexObject { - export interface SuperCaller { - callSuper( - key: K, - ...args: T[K] extends (...a: infer P) => any ? P : any - ): T[K] extends (...a: any[]) => infer R ? R : any; - } - - function __universalCallSuper( - this: T & { __protoTarget?: object }, - key: keyof T, - ...args: any[] - ): any { - const proto = this.__protoTarget; - - if (!proto) { - throw new Error("[ReflexObject]: No prototype to call super on"); - } - - const method = (proto as any)[key]; - if (typeof method !== "function") { - throw new Error( - `[ReflexObject]: No method "${String(key)}" on prototype` - ); - } - - return method.apply(this, args); - } - - export function Inherit( - proto: T | null = null - ): T & SuperCaller { - const obj = Object.create(proto) as T & - SuperCaller & { - __protoTarget?: object; - }; - - obj.__protoTarget = proto ?? undefined; - - Object.defineProperty(obj, "callSuper", { - value: __universalCallSuper, - writable: false, - enumerable: false, - configurable: false, - }); - - return obj; - } -} diff --git a/packages/reflex/src/core/object/object.inherit.ts b/packages/reflex/src/core/object/object.inherit.ts new file mode 100644 index 0000000..bcc8946 --- /dev/null +++ b/packages/reflex/src/core/object/object.inherit.ts @@ -0,0 +1,4 @@ +export namespace ReflexObject { + export const Inherit = (proto: Partial): T => + /**@__INLINE__ */ Object.create(proto) as T; +} diff --git a/packages/reflex/src/core/object/inline.ts b/packages/reflex/src/core/object/object.inline.ts similarity index 100% rename from packages/reflex/src/core/object/inline.ts rename to packages/reflex/src/core/object/object.inline.ts diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index 8782296..7c5539c 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -3,9 +3,9 @@ * Ownership System - Zero overhead hierarchical resource management */ -import { ReflexObject } from "../object/inherit"; -import { noop } from "../object/inline"; -import { batchDisposer, DisposalStrategy } from "./ownership.dispose"; +import { ReflexObject } from "../object/object.inherit"; +import { noop } from "../object/object.inline"; +import { batchDisposer, DisposalStrategy } from "./ownership.disposal"; import OwnershipDisposeError from "./ownership.error"; import { IOwnership, @@ -31,6 +31,7 @@ const OwnershipPrototype: IOwnershipMethods = { if (child._state & OwnershipStateFlags.DISPOSED) { throw new Error("Cannot append a disposed child"); } + if (this._state & OwnershipStateFlags.DISPOSING) { throw new Error("Cannot append child to an owner that is disposing"); } @@ -49,6 +50,7 @@ const OwnershipPrototype: IOwnershipMethods = { if (this._lastChild) { this._lastChild._nextSibling = child; + child._prevSibling = this._lastChild; this._lastChild = child; } else { this._firstChild = this._lastChild = child; @@ -127,16 +129,14 @@ const OwnershipPrototype: IOwnershipMethods = { } batchDisposer(batch, strategy); - } + }, }; /** * Optimized owner creation with pre-sized disposal array */ function createOwner(parent?: IOwnership): IOwnership { - const owner = ReflexObject.Inherit( - OwnershipPrototype as IOwnership - ); + const owner = ReflexObject.Inherit(OwnershipPrototype); owner._parent = undefined; owner._firstChild = undefined; diff --git a/packages/reflex/src/core/ownership/ownership.dispose.ts b/packages/reflex/src/core/ownership/ownership.disposal.ts similarity index 100% rename from packages/reflex/src/core/ownership/ownership.dispose.ts rename to packages/reflex/src/core/ownership/ownership.disposal.ts diff --git a/packages/reflex/src/core/ownership/ownership.error.ts b/packages/reflex/src/core/ownership/ownership.error.ts index 91aa91e..21130e5 100644 --- a/packages/reflex/src/core/ownership/ownership.error.ts +++ b/packages/reflex/src/core/ownership/ownership.error.ts @@ -5,9 +5,13 @@ class OwnershipDisposeError extends Error { readonly errors: Error[]; constructor(errors: unknown[]) { - const normalized = errors.map((e) => - e instanceof Error ? e : new Error(String(e)) - ); + const normalized: Error[] = new Array(errors.length); + + for (let i = 0; i < errors.length; i++) { + const e = errors[i]; + normalized[i] = e instanceof Error ? e : new Error(String(e)); + } + super( `${OWNERSHIP_ERROR_IDENTIFIER} ${normalized.length} error(s) during cleanup` ); @@ -16,10 +20,14 @@ class OwnershipDisposeError extends Error { } override toString(): string { - const details = this.errors - .map((e, i) => ` [${i + 1}] ${e.stack || e.message}`) - .join("\n"); - return `${this.message}\n${details}`; + let result = this.message; + + for (let i = 0; i < this.errors.length; i++) { + const e = this.errors[i]; + result += `\n [${i + 1}] ${e.stack || e.message}`; + } + + return result; } } diff --git a/packages/reflex/src/core/queue/unrolled-queue.bench.test.ts b/packages/reflex/src/core/queue/unrolled-queue.bench.test.ts new file mode 100644 index 0000000..8182d97 --- /dev/null +++ b/packages/reflex/src/core/queue/unrolled-queue.bench.test.ts @@ -0,0 +1,75 @@ +/* eslint-disable no-console */ +import { performance } from "node:perf_hooks"; +import process from "node:process"; +import { UnrolledQueue } from "./unrolled-queue"; + +const WARM_UP = 3; +const ROUNDS = 10; +const OPS = 1_000_000; +const NODE_SIZE = 2048; +const POOL_LIMIT = 128; + +const runTest = (queue: UnrolledQueue<{ id: number }>, ops: number) => { + global.gc?.(); + (async () => { + await new Promise((r) => setTimeout(r, 50)); + console.log( + "📉 Final heap:", + process.memoryUsage().heapUsed / 1024 / 1024, + "MB" + ); + })(); + + const startMem = process.memoryUsage().heapUsed; + const t0 = performance.now(); + + let preventOpt = 0; + for (let i = 0; i < ops; i++) queue.enqueue({ id: i }); + for (let i = 0; i < ops; i++) { + const item = queue.dequeue(); + if (item) preventOpt += item.id; + } + + const t1 = performance.now(); + if (preventOpt === 0) console.log("Never print"); + const endMem = process.memoryUsage().heapUsed; + + return { cpu: t1 - t0, ram: (endMem - startMem) / 1024 }; +}; + +describe("🧪 UnrolledQueue Performance Benchmark", () => { + it("should perform efficiently and be memory-stable", async () => { + const queue = new UnrolledQueue<{ id: number }>({ nodeSize: NODE_SIZE }); + const CircularQueueNode = (queue as any).constructor.prototype.constructor; + if ( + CircularQueueNode?.pool && + (CircularQueueNode.pool as unknown[]).length > POOL_LIMIT + ) { + (CircularQueueNode.pool as unknown[]).splice(POOL_LIMIT); + } + + const results = { cpu: 0, ram: 0 }; + const total = ROUNDS + WARM_UP; + + for (let i = 0; i < total; i++) { + const { cpu, ram } = runTest(queue, OPS); + if (i > WARM_UP) { + results.cpu += cpu; + results.ram += ram; + } + await new Promise((r) => setTimeout(r, 10)); // даём GC шанс + } + + const avgCPU = parseFloat((results.cpu / ROUNDS).toFixed(2)); + const avgRAM = parseFloat((results.ram / ROUNDS).toFixed(2)); + + console.log("\n──────────────────────────────"); + console.log(`⚙️ ${OPS.toLocaleString()} ops × ${ROUNDS} rounds`); + console.log(`⏱️ CPU time: ${avgCPU} ms`); + console.log(`💾 Heap delta: ${avgRAM.toFixed(2)} KB`); + console.log("──────────────────────────────\n"); + + expect(avgCPU).toBeLessThan(1000); + expect(avgRAM).toBeLessThan(60000); + }); +}); diff --git a/packages/reflex/src/core/queue/unrolled-queue.ts b/packages/reflex/src/core/queue/unrolled-queue.ts new file mode 100644 index 0000000..783a635 --- /dev/null +++ b/packages/reflex/src/core/queue/unrolled-queue.ts @@ -0,0 +1,283 @@ +/** + * @file unrolled-queue.ts + * High-performance Unrolled Queue + * + * Was inspired by: https://github.com/nodejs/node/blob/86bfdb552863f09d36cba7f1145134346eb2e640/lib/internal/fixed_queue.js + * + * Conceptually similar to Node.js internal `FixedQueue`, + * but generalized into an **unrolled linked queue**. + * Each node is a fixed-size circular buffer, and nodes + * form a singly-linked list — this allows dynamic growth + * with O(1) amortized enqueue/dequeue cost. + * + * Differences from Node’s FixedQueue: + * - Multiple circular nodes instead of a single fixed one. + * - Node pooling to minimize GC churn. + * - Fully iterable and clearable. + * + * Visualized: + * + * ┌─────────────────────────────────────────────────────────────┐ + * │ UnrolledQueue │ + * └─────────────────────────────────────────────────────────────┘ + * head tail + * ↓ ↓ + * +-------------+ +-------------+ +-------------+ + * | next ---> | → | next ---> | → | next:null | + * |-------------| |-------------| |-------------| + * | buffer[ ] | | buffer[ ] | | buffer[ ] | + * | circular | | circular | | circular | + * | segment | | segment | | segment | + * +-------------+ +-------------+ +-------------+ + * ▲ ▲ ▲ + * writeIndex writeIndex writeIndex + * readIndex readIndex readIndex + * + * Each node is a circular buffer (power of two in size). + * When one fills, a new node is linked via `.next`. + * When a node is emptied and `.next` exists, it is + * detached and recycled into a node pool. + * + * So enqueue/dequeue always stay O(1), but the structure + * can grow and shrink adaptively with almost no GC pressure. + * + * ────────────────────────────────────────────────────────────── + * Node lifecycle: + * alloc() → use → free() → returned to pool (up to 128 nodes) + * ────────────────────────────────────────────────────────────── + * + * Comparison with Node.js internal `FixedQueue`: + * ┌────────────────────────────────────────────────────────────────────────┐ + * │ Feature │ Node.js FixedQueue │ UnrolledQueue (this impl) │ + * ├───────────────────────┼───────────────────┼───────────────────────────┤ + * │ Storage model │ One fixed ring │ Linked list of rings │ + * │ Growth strategy │ None (fixed) │ Dynamic unrolling │ + * │ GC profile │ Stable, static │ Stable, pooled │ + * │ Iterable │ No │ Yes │ + * │ Clear/reset │ Manual reinit │ O(n) node recycle │ + * │ Typical use │ Internal queues │ General-purpose runtime │ + * └───────────────────────┴───────────────────┴───────────────────────────┘ + * + * Performance: + * - O(1) amortized enqueue/dequeue + * - ~4–5 ns per op on V8 12+ + * - Stable memory footprint (≈5–20 MB depending on pool) + */ + +export interface UnrolledQueueOptions { + /** Node (segment) size, must be a power of two for bitmask optimization */ + nodeSize?: number; +} + +/** + * Interface definition for UnrolledQueue. + */ +export interface IUnrolledQueue extends Iterable { + readonly length: number; + enqueue(item: T): void; + dequeue(): T | null; + clear(): void; +} + +/** Default node size most stable for V8 (power of two) */ +const DEFAULT_NODE_SIZE = 2048; + +function assertPowerOfTwo(n: number): void { + if (!Number.isInteger(n) || n <= 0 || (n & (n - 1)) !== 0) { + throw new TypeError("nodeSize must be a positive power of two"); + } +} + +/** + * Uses "one empty slot" semantics to differentiate + * full vs empty states. Internally uses bitmask indexing: + * `(index + 1) & mask` for wrapping. + */ +class CircularQueueNode { + /** Shared pool for recycling detached nodes */ + static pool: CircularQueueNode[] = []; + + readonly size: number; + readonly mask: number; + + buffer: (T | undefined)[]; + readIndex = 0; + writeIndex = 0; + next: CircularQueueNode | null = null; + + constructor(size: number) { + assertPowerOfTwo(size); + this.size = size; + this.mask = size - 1; + this.buffer = new Array(size).fill(undefined); + } + + /** Number of elements currently held */ + get length(): number { + return (this.writeIndex - this.readIndex + this.size) & this.mask; + } + + /** Acquire node from pool or create new one */ + static alloc(size: number): CircularQueueNode { + return ( + (this.pool.pop() as CircularQueueNode | undefined) ?? + new CircularQueueNode(size) + ); + } + + /** Return node to pool, resetting state (max 128 kept) */ + static free(node: CircularQueueNode): void { + node.reset(); + if (this.pool.length < 128) this.pool.push(node); + } + + /** Reset node indices and link */ + reset(): void { + this.readIndex = 0; + this.writeIndex = 0; + this.next = null; + } + + /** Check if buffer is full (one slot kept empty) */ + private isFull(): boolean { + return ((this.writeIndex + 1) & this.mask) === this.readIndex; + } + + /** Check if buffer is empty */ + private isEmpty(): boolean { + return this.readIndex === this.writeIndex; + } + + /** @__INLINE__ Push item into buffer (returns false if full) */ + enqueue(item: T): boolean { + if (this.isFull()) { + return false; + } + + this.buffer[this.writeIndex] = item; + this.writeIndex = (this.writeIndex + 1) & this.mask; + + return true; + } + + /** @__INLINE__ Pop item from buffer (returns null if empty) */ + dequeue(): T | null { + if (this.isEmpty()) { + return null; + } + + const item = this.buffer[this.readIndex] as T; + this.buffer[this.readIndex] = undefined; + this.readIndex = (this.readIndex + 1) & this.mask; + + return item; + } +} + +/** + * Enqueue always writes to the current head node. + * If full, allocates a new one and links it. + * + * Dequeue always reads from the current tail node. + * If empty and next exists, the old node is freed + * back into the pool. + * + * Thus, the queue “unrolls” and “collapses” dynamically + * with constant-time operations and minimal GC. + */ +export class UnrolledQueue implements IUnrolledQueue { + #length = 0; + #nodeSize: number; + #head: CircularQueueNode; + #tail: CircularQueueNode; + + constructor(options: UnrolledQueueOptions = {}) { + const size = options.nodeSize ?? DEFAULT_NODE_SIZE; + assertPowerOfTwo(size); + + const node = CircularQueueNode.alloc(size); + this.#nodeSize = size; + this.#head = this.#tail = node; + } + + get length(): number { + return this.#length; + } + + /** @__INLINE__ Add item to queue head */ + enqueue(item: T): void { + const head = this.#head; + + if (!head.enqueue(item)) { + const newNode = CircularQueueNode.alloc(this.#nodeSize); + + head.next = newNode; + this.#head = newNode; + + newNode.enqueue(item); + } + + this.#length++; + } + + /** @__INLINE__ Remove item from queue tail */ + dequeue(): T | null { + if (this.#length === 0) { + return null; + } + + const item = this.#tail.dequeue(); + + if (item === null) { + return null; + } + + this.#length--; + + // If tail is empty and has a successor — advance and recycle old node + if (this.#tail.length === 0 && this.#tail.next) { + const old = this.#tail; + this.#tail = this.#tail.next; + CircularQueueNode.free(old); + } + + return item; + } + + /** Clear queue and recycle all nodes */ + clear(): void { + let node: CircularQueueNode | null = this.#tail; + + while (node) { + const next: CircularQueueNode | null = node.next; + CircularQueueNode.free(node); + node = next; + } + + const fresh = CircularQueueNode.alloc(this.#nodeSize); + + this.#head = this.#tail = fresh; + this.#length = 0; + } + + /** access current tail element without dequeuing */ + peek(): T | null { + if (this.#length === 0) return null; + return this.#tail.buffer[this.#tail.readIndex] as T; + } + + /** Iterator: yields items from tail → head */ + *[Symbol.iterator](): Iterator { + for ( + let node: CircularQueueNode | null = this.#tail; + node; + node = node.next + ) { + for (let i = 0, j = node.readIndex; i < node.length; i++) { + yield node.buffer[j] as T; + + j = (j + 1) & node.mask; + } + } + } +} diff --git a/packages/reflex/src/core/reactivity/abstract_node.ts b/packages/reflex/src/core/reactivity/abstract_node.ts deleted file mode 100644 index cccedaa..0000000 --- a/packages/reflex/src/core/reactivity/abstract_node.ts +++ /dev/null @@ -1,211 +0,0 @@ -abstract class Node { - abstract compute(...inputs: I[]): O; - - run(...inputs: I[]): O { - const values = inputs.map((i) => (i instanceof Node ? i.run() : i)) as I[]; - - return this.compute(...values); - } - - abstract subscribe(callback: (output: O) => void): void; -} - -class Signal extends Node { - private value: T; - private subs: ((v: T) => void)[] = []; - - constructor(init: T) { - super(); - this.value = init; - } - - get() { - return this.value; - } - set(v: T) { - this.value = v; - this.subs.forEach((fn) => fn(v)); - } - - compute(): T { - return this.value; - } - - subscribe(callback: (v: T) => void) { - this.subs.push(callback); - } -} - -class Memo extends Node { - private value!: T; - private subs: ((v: T) => void)[] = []; - private fn: (...inputs: Inputs) => T; - private inputNodes: Node[]; - - constructor(fn: (...inputs: Inputs) => T, inputs: Node[]) { - super(); - this.fn = fn; - this.inputNodes = inputs; - inputs.forEach((inp) => inp.subscribe(() => this.update())); - this.update(); - } - - private update() { - const vals = this.inputNodes.map((n) => n.run()); - this.value = this.fn(...(vals as Inputs)); - this.subs.forEach((fn) => fn(this.value)); - } - - compute(): T { - return this.value; - } - - subscribe(cb: (v: T) => void) { - this.subs.push(cb); - } -} - -class Effect extends Node { - constructor(fn: (...inputs: Inputs) => void, inputs: Node[]) { - super(); - - inputs.forEach((inp) => - inp.subscribe(() => fn(...(inputs.map((n) => n.run()) as Inputs))) - ); - - fn(...(inputs.map((n) => n.run()) as Inputs)); - } - - compute(): void {} - subscribe(cb: (v: void) => void) {} -} - -class Splitter extends Node<[Node], Node[]> { - outputs: Node[] = [] - - constructor(input: Node, copies: number) { - super() - // создаём m выходов - this.outputs = Array.from({ length: copies }, () => new Signal(undefined as any)) - - // подписка на вход - input.subscribe((v: T) => { - this.outputs.forEach(out => (out as Signal).set(v)) - }) - - // начальное значение - const initial = input.run() - this.outputs.forEach(out => (out as Signal).set(initial)) - } - - compute(input: Node): Node[] { - return this.outputs - } - - subscribe(callback: (v: Node[]) => void) { - this.outputs.forEach(out => out.subscribe(() => callback(this.outputs))) - } -} - -class Merger extends Node[], T> { - private value!: T - private subs: ((v: T) => void)[] = [] - - constructor(inputs: Node[]) { - super() - inputs.forEach(inp => inp.subscribe(() => this.update(inputs))) - this.update(inputs) - } - - private update(inputs: Node[]) { - const vals = inputs.map(i => i.run()) - this.value = Object.assign({}, ...vals) - this.subs.forEach(fn => fn(this.value)) - } - - compute(inputs: Node[]): T { - return this.value - } - - subscribe(fn: (v: T) => void) { - this.subs.push(fn) - } -} - -class MapNode extends Node<[Node], O> { - private fn: (val: I) => O - private value!: O - private subs: ((v: O) => void)[] = [] - - constructor(input: Node, fn: (val: I) => O) { - super() - this.fn = fn - input.subscribe((v: I) => this.update(input)) - this.update(input) - } - - private update(input: Node) { - this.value = this.fn(input.run()) - this.subs.forEach(fn => fn(this.value)) - } - - compute(input: Node): O { - return this.value - } - - subscribe(fn: (v: O) => void) { - this.subs.push(fn) - } -} - -class Reducer extends Node[], S> { - private state: S - private fn: (prevState: S, ...inputs: any[]) => S - private subs: ((v: S) => void)[] = [] - - constructor(fn: (prev: S, ...inputs: any[]) => S, init: S, inputs: Node[]) { - super() - this.fn = fn - this.state = init - inputs.forEach(inp => inp.subscribe(() => this.update(inputs))) - this.update(inputs) - } - - private update(inputs: Node[]) { - const vals = inputs.map(i => i.run()) - this.state = this.fn(this.state, ...vals) - this.subs.forEach(fn => fn(this.state)) - } - - compute(inputs: Node[]): S { - return this.state - } - - subscribe(fn: (v: S) => void) { - this.subs.push(fn) - } -} - -class VoidNode extends Node { - compute(): never { return undefined as never } - subscribe(_fn: (v: never) => void) {} -} - -const a = new Signal(1) -const b = new Signal(2) - -// Splitter: один сигнал → 3 выхода -const splitter = new Splitter(a, 3) -splitter.outputs.forEach((s, i) => s.subscribe(v => console.log(`Split #${i}:`, v))) - -a.set(5) // Split #0: 5, Split #1: 5, Split #2: 5 - -// Merger: объединяем два объекта -const merged = new Merger([{ x: 1 }, { y: 2 }]) -merged.subscribe(v => console.log("Merged:", v)) - -// Reducer: аккумулируем сумму -const sumReducer = new Reducer((prev, x, y) => prev + x + y, 0, [a, b]) -sumReducer.subscribe(v => console.log("SumReducer:", v)) - -b.set(10) // SumReducer: 15 diff --git a/packages/reflex/src/core/reactivity/abstract_signal.ts b/packages/reflex/src/core/reactivity/abstract_signal.ts deleted file mode 100644 index 5d05d8b..0000000 --- a/packages/reflex/src/core/reactivity/abstract_signal.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Disposable, SignalInterface } from "./abstract_types"; - -abstract class AbstractSignal implements SignalInterface { - abstract readonly _value: T; - - get(): T { - return this._value; - } - - subscribe(observer: (value: T) => void): Disposable {} - - unsubscribe(observer: (value: T) => void): void {} - - dispose(): void { - // Implementation here - } -} - -export default AbstractSignal; - diff --git a/packages/reflex/src/core/reactivity/abstract_types.ts b/packages/reflex/src/core/reactivity/abstract_types.ts deleted file mode 100644 index ac5bb48..0000000 --- a/packages/reflex/src/core/reactivity/abstract_types.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { - OWNERSHIP_BRAND, - VERSION_DEFINITION, - WRITABLE_BRAND, - SET_DEFINITION, - COMPUTED_BRAND, -} from "./common_constants"; - -declare const LOCAL_DISPOSABLE_BRAND: unique symbol; -type Disposable = (() => void) & { [LOCAL_DISPOSABLE_BRAND]: true }; - -interface ISignal { - readonly [OWNERSHIP_BRAND]: true; - readonly [VERSION_DEFINITION]: number; - - get(): T; - subscribe(observer: (value: T) => void): Disposable; - dispose(): void; -} - -interface IWritableSignal extends ISignal { - readonly [WRITABLE_BRAND]: true; - [SET_DEFINITION](value: T | ((prev: T) => T)): void; -} - -interface IComputedSignal extends ISignal { - readonly [COMPUTED_BRAND]: true; -} - -/** - * An abstract class representing ownership of signals. - * This class implements the ISignal interface and provides - * default implementations for its methods. - * - * Means to mark a class as an owner of signals and track to automaticaly dispose using the `dispose` method. - * - * If you write the following - * - * const a = createOwner(() => { - * const b = createOwner(() => {}); - * - * const c = createOwner(() => { - * const d = createOwner(() => {}); - * }); - * - * const e = createOwner(() => {}); - * }); - * - * The owner tree will look like this: - * - * a - * /|\ - * b-c-e - * | - * d - * - * Following the _nextSibling pointers of each owner will first give you its children, and then its siblings (in reverse). - * a -> e -> c -> d -> b - * - */ -abstract class Ownership implements ISignal { - -} - -// class SignalError extends Error { -// constructor(message: string) { -// super(message); -// this.name = "SignalError"; -// } - -// static readonly NOT_WRITABLE = new SignalError("The signal is not writable."); -// static readonly DISPOSED = new SignalError("The signal has been disposed."); -// static readonly CIRCULAR = new SignalError( -// "A circular dependency has been detected." -// ); -// } - -export { ISignal, IWritableSignal, IComputedSignal, Disposable }; diff --git a/packages/reflex/src/core/reactivity/computation.ts b/packages/reflex/src/core/reactivity/computation.ts deleted file mode 100644 index 5fa550c..0000000 --- a/packages/reflex/src/core/reactivity/computation.ts +++ /dev/null @@ -1,280 +0,0 @@ -// Базовый интерфейс для всех вычислительных узлов -interface IComputation { - run(): O; - subscribe(callback: (output: O) => void): () => void; - getInputs(): IComputation[]; -} - -// Типы вычислений -type ComputationType = 'source' | 'derived' | 'effect'; - -// Унифицированный класс вычисления -abstract class Computation implements IComputation { - protected cached: O | undefined; - protected subscribers: Set<(output: O) => void> = new Set(); - protected inputs: IComputation[] = []; - protected type: ComputationType; - - constructor(type: ComputationType, inputs: IComputation[] = []) { - this.type = type; - this.inputs = inputs; - - // Подписываемся на входы - inputs.forEach(input => { - input.subscribe(() => this.invalidate()); - }); - } - - // Итеративный run без рекурсии - run(): O { - if (this.cached !== undefined && this.type !== 'source') { - return this.cached; - } - - // Топологическая сортировка и вычисление - const sorted = this.topologicalSort(); - - for (const node of sorted) { - if (node === this) { - const inputValues = this.inputs.map(inp => inp.run()) as I; - this.cached = this.compute(...inputValues); - } - } - - return this.cached!; - } - - // Топологическая сортировка для итеративного вычисления - private topologicalSort(): Computation[] { - const visited = new Set(); - const result: Computation[] = []; - - const visit = (node: Computation) => { - if (visited.has(node)) return; - visited.add(node); - - node.inputs.forEach(input => { - if (input instanceof Computation) { - visit(input); - } - }); - - result.push(node); - }; - - visit(this); - return result; - } - - protected abstract compute(...inputs: I): O; - - protected invalidate(): void { - if (this.cached === undefined) return; - - const oldValue = this.cached; - this.cached = undefined; - - // Только для derived и effect пересчитываем - if (this.type !== 'source') { - const newValue = this.run(); - if (newValue !== oldValue) { - this.notify(newValue); - } - } - } - - protected notify(value: O): void { - this.subscribers.forEach(fn => fn(value)); - } - - subscribe(callback: (output: O) => void): () => void { - this.subscribers.add(callback); - return () => this.subscribers.delete(callback); - } - - getInputs(): IComputation[] { - return this.inputs; - } -} - -// Source: 0→1 (источник данных) -class Source extends Computation<[], T> { - constructor(initial: T) { - super('source', []); - this.cached = initial; - } - - compute(): T { - return this.cached!; - } - - set(value: T): void { - if (this.cached !== value) { - this.cached = value; - this.notify(value); - } - } - - get(): T { - return this.cached!; - } -} - -// Derived: n→1 (вычисляемое значение) -class Derived extends Computation { - private fn: (...inputs: I) => O; - - constructor(fn: (...inputs: I) => O, inputs: IComputation[]) { - super('derived', inputs); - this.fn = fn; - this.cached = this.run(); // Инициализация - } - - compute(...inputs: I): O { - return this.fn(...inputs); - } -} - -// Effect: n→0 (побочный эффект) -class SideEffect extends Computation { - private fn: (...inputs: I) => void; - - constructor(fn: (...inputs: I) => void, inputs: IComputation[]) { - super('effect', inputs); - this.fn = fn; - this.run(); // Запуск при создании - } - - compute(...inputs: I): void { - this.fn(...inputs); - } -} - -// Splitter: 1→m (раздвоение сигнала) -class Splitter extends Computation<[T], Source[]> { - private outputs: Source[] = []; - - constructor(input: IComputation<[], T>, count: number) { - super('derived', [input]); - - this.outputs = Array.from({ length: count }, () => new Source(undefined as any)); - - input.subscribe((value: T) => { - this.outputs.forEach(out => out.set(value)); - }); - - // Инициализация - const initial = input.run(); - this.outputs.forEach(out => out.set(initial)); - } - - compute(value: T): Source[] { - return this.outputs; - } - - getOutputs(): Source[] { - return this.outputs; - } -} - -// Merger: n→1 (слияние объектов) -class Merger extends Computation { - constructor(inputs: IComputation<[], T>[]) { - super('derived', inputs); - this.cached = this.run(); - } - - compute(...inputs: T[]): T { - return Object.assign({}, ...inputs); - } -} - -// Map: 1→1 (трансформация) -class Map extends Computation<[I], O> { - private fn: (value: I) => O; - - constructor(input: IComputation<[], I>, fn: (value: I) => O) { - super('derived', [input]); - this.fn = fn; - this.cached = this.run(); - } - - compute(value: I): O { - return this.fn(value); - } -} - -// Reducer: n→1 (аккумулятор с состоянием) -class Reducer extends Computation { - private fn: (state: S, ...inputs: I) => S; - private state: S; - - constructor(fn: (state: S, ...inputs: I) => S, initial: S, inputs: IComputation[]) { - super('derived', inputs); - this.fn = fn; - this.state = initial; - this.cached = this.run(); - } - - compute(...inputs: I): S { - this.state = this.fn(this.state, ...inputs); - return this.state; - } - - getState(): S { - return this.state; - } -} - -// ============= ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ ============= - -console.log('=== Source (0→1) ==='); -const a = new Source(10); -const b = new Source(20); -a.subscribe(v => console.log('a changed:', v)); - -console.log('\n=== Derived (2→1) ==='); -const sum = new Derived((x: number, y: number) => x + y, [a, b]); -sum.subscribe(v => console.log('sum:', v)); - -a.set(15); // sum: 35 - -console.log('\n=== Map (1→1) ==='); -const doubled = new Map(a, x => x * 2); -doubled.subscribe(v => console.log('doubled:', v)); - -a.set(20); // doubled: 40, sum: 40 - -console.log('\n=== Splitter (1→3) ==='); -const splitter = new Splitter(a, 3); -splitter.getOutputs().forEach((out, i) => { - out.subscribe(v => console.log(`split[${i}]:`, v)); -}); - -a.set(100); // split[0]: 100, split[1]: 100, split[2]: 100 - -console.log('\n=== Merger (2→1) ==='); -const obj1 = new Source({ x: 1 }); -const obj2 = new Source({ y: 2 }); -const merged = new Merger([obj1, obj2]); -merged.subscribe(v => console.log('merged:', v)); - -obj1.set({ x: 10 }); // merged: { x: 10, y: 2 } - -console.log('\n=== Reducer (2→1 с состоянием) ==='); -const counter = new Reducer( - (state, x: number, y: number) => state + x + y, - 0, - [a, b] -); -counter.subscribe(v => console.log('counter:', v)); - -b.set(5); // counter: 105 - -console.log('\n=== Effect (2→0) ==='); -new SideEffect( - (x: number, y: number) => console.log(`Effect: ${x} + ${y} = ${x + y}`), - [a, b] -); - -a.set(50); // Effect: 50 + 5 = 55 \ No newline at end of file diff --git a/packages/reflex/src/core/time/clock.ts b/packages/reflex/src/core/time/clock.ts new file mode 100644 index 0000000..0269630 --- /dev/null +++ b/packages/reflex/src/core/time/clock.ts @@ -0,0 +1 @@ +let epoch: number = 0; diff --git a/packages/reflex/tsconfig.json b/packages/reflex/tsconfig.json index fccc106..c7e45de 100644 --- a/packages/reflex/tsconfig.json +++ b/packages/reflex/tsconfig.json @@ -1,7 +1,6 @@ { - "extends": "../tsconfig.base.json", + "extends": "../../environment/tsconfig.base.json", "compilerOptions": { - "typeRoots": ["./types", "./node_modules/@types"], "composite": true, "outDir": "dist", From 8fd93c0f0455c1b5dc32ce0976f393230cfc3d52 Mon Sep 17 00:00:00 2001 From: volynetstyle Date: Tue, 21 Oct 2025 18:53:18 +0300 Subject: [PATCH 03/32] feat: Implement Unrolled Queue and Stack data structures - Added UnrolledQueue with efficient enqueue/dequeue operations and node pooling to minimize garbage collection. - Introduced UnrolledStack interface for stack operations. - Created ReactiveNode class for representing nodes in a directed acyclic graph (DAG). - Documented Object prototype and inheritance model with optimizations. - Implemented IDisposable and IDisposableAsync interfaces for resource management. - Added assertion utility for contract validation. - Updated runtime and shared modules with documentation. - Developed comprehensive tests for ownership system and performance benchmarks for UnrolledQueue. --- .gitignore | 2 +- packages/reflex/package.json | 2 +- packages/reflex/src/core/README.md | 3 + .../reflex/src/core/collections/README.md | 3 + .../{queue => collections}/unrolled-queue.ts | 8 +- .../src/core/collections/unrolled_stack.ts | 7 + .../reflex/src/core/graph/ReactiveNode.ts | 17 ++ packages/reflex/src/core/object/README.md | 3 + .../reflex/src/core/object/object.dispose.ts | 9 + .../reflex/src/core/object/object.inline.ts | 2 +- .../reflex/src/core/object/utils/assert.ts | 3 + .../src/core/ownership/ownership.core.ts | 39 +++- .../src/core/ownership/ownership.scope.ts | 11 ++ .../src/core/ownership/ownership.type.ts | 144 +++++---------- .../core/queue/unrolled-queue.bench.test.ts | 75 -------- packages/reflex/src/core/time/clock.ts | 1 - packages/reflex/src/runtime/README.md | 3 + packages/reflex/src/shared/README.md | 3 + .../src/{ => shared/types}/globals.d.ts | 0 packages/reflex/src/tests/README.md | 3 + .../ownership => tests}/ownership.spec.ts | 1 + .../src/tests/unrolled-queue.bench.test.ts | 168 ++++++++++++++++++ 22 files changed, 317 insertions(+), 190 deletions(-) create mode 100644 packages/reflex/src/core/collections/README.md rename packages/reflex/src/core/{queue => collections}/unrolled-queue.ts (97%) create mode 100644 packages/reflex/src/core/collections/unrolled_stack.ts create mode 100644 packages/reflex/src/core/graph/ReactiveNode.ts create mode 100644 packages/reflex/src/core/object/README.md create mode 100644 packages/reflex/src/core/object/object.dispose.ts create mode 100644 packages/reflex/src/core/object/utils/assert.ts delete mode 100644 packages/reflex/src/core/queue/unrolled-queue.bench.test.ts delete mode 100644 packages/reflex/src/core/time/clock.ts create mode 100644 packages/reflex/src/runtime/README.md create mode 100644 packages/reflex/src/shared/README.md rename packages/reflex/src/{ => shared/types}/globals.d.ts (100%) create mode 100644 packages/reflex/src/tests/README.md rename packages/reflex/src/{core/ownership => tests}/ownership.spec.ts (99%) create mode 100644 packages/reflex/src/tests/unrolled-queue.bench.test.ts diff --git a/.gitignore b/.gitignore index bff41c0..e551b2b 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,4 @@ coverage/ .vscode *.swp *.swo -drafts/ \ No newline at end of file +drafts/ diff --git a/packages/reflex/package.json b/packages/reflex/package.json index 267a76a..4debc54 100644 --- a/packages/reflex/package.json +++ b/packages/reflex/package.json @@ -8,7 +8,7 @@ "scripts": { "build": "tsc --build", "test": "jest", - "test:bench": "node --expose-gc --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand" + "test:bench": "node --expose-gc --trace-gc --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand" }, "sideEffects": false, "devDependencies": { diff --git a/packages/reflex/src/core/README.md b/packages/reflex/src/core/README.md index e69de29..c02ff84 100644 --- a/packages/reflex/src/core/README.md +++ b/packages/reflex/src/core/README.md @@ -0,0 +1,3 @@ +Core — the foundation of Reflex. +Contains pure mechanisms such as ownership, object models, data structures, and time control. +Independent of runtime or adapters. No external side effects. \ No newline at end of file diff --git a/packages/reflex/src/core/collections/README.md b/packages/reflex/src/core/collections/README.md new file mode 100644 index 0000000..2251d29 --- /dev/null +++ b/packages/reflex/src/core/collections/README.md @@ -0,0 +1,3 @@ +Collections — optimized data structures for the Reflex runtime. +Implements queues, stacks, and graphs with predictable memory usage. +Built for minimal allocations and high cache locality. \ No newline at end of file diff --git a/packages/reflex/src/core/queue/unrolled-queue.ts b/packages/reflex/src/core/collections/unrolled-queue.ts similarity index 97% rename from packages/reflex/src/core/queue/unrolled-queue.ts rename to packages/reflex/src/core/collections/unrolled-queue.ts index 783a635..f908d40 100644 --- a/packages/reflex/src/core/queue/unrolled-queue.ts +++ b/packages/reflex/src/core/collections/unrolled-queue.ts @@ -47,8 +47,8 @@ * ────────────────────────────────────────────────────────────── * * Comparison with Node.js internal `FixedQueue`: - * ┌────────────────────────────────────────────────────────────────────────┐ - * │ Feature │ Node.js FixedQueue │ UnrolledQueue (this impl) │ + * ┌───────────────────────────────────────────────────────────────────────┐ + * │ Feature │Node.js FixedQueue │ UnrolledQueue (this impl) │ * ├───────────────────────┼───────────────────┼───────────────────────────┤ * │ Storage model │ One fixed ring │ Linked list of rings │ * │ Growth strategy │ None (fixed) │ Dynamic unrolling │ @@ -80,7 +80,7 @@ export interface IUnrolledQueue extends Iterable { } /** Default node size most stable for V8 (power of two) */ -const DEFAULT_NODE_SIZE = 2048; +const DEFAULT_NODE_SIZE = 2048 as const; function assertPowerOfTwo(n: number): void { if (!Number.isInteger(n) || n <= 0 || (n & (n - 1)) !== 0) { @@ -95,7 +95,7 @@ function assertPowerOfTwo(n: number): void { */ class CircularQueueNode { /** Shared pool for recycling detached nodes */ - static pool: CircularQueueNode[] = []; + private static pool: CircularQueueNode[] = []; readonly size: number; readonly mask: number; diff --git a/packages/reflex/src/core/collections/unrolled_stack.ts b/packages/reflex/src/core/collections/unrolled_stack.ts new file mode 100644 index 0000000..dcbb0b8 --- /dev/null +++ b/packages/reflex/src/core/collections/unrolled_stack.ts @@ -0,0 +1,7 @@ +const DEFAULT_FRAME_SIZE = 16 as const; + +interface IUnrolledStack { + push(value: T): void; + pop(): T | undefined; +} + diff --git a/packages/reflex/src/core/graph/ReactiveNode.ts b/packages/reflex/src/core/graph/ReactiveNode.ts new file mode 100644 index 0000000..a94adf8 --- /dev/null +++ b/packages/reflex/src/core/graph/ReactiveNode.ts @@ -0,0 +1,17 @@ +/** + * @file ReactiveNode.ts + * + * Vertex = ReactiveNode. + * + * Represents a node in a directed acyclic graph (DAG) + * Each vertex is an immutable computation unit: + * it holds the result of a function depending on other vertices. + * + * Conceptually: + * - Inputs: upstream dependencies (edges in) + * - Outputs: downstream dependents (edges out) + * - Value: cached computation result + * + * Vertices are immutable; updates produce new versions, + * allowing structural sharing and time-travel debugging. + */ diff --git a/packages/reflex/src/core/object/README.md b/packages/reflex/src/core/object/README.md new file mode 100644 index 0000000..f0c05d7 --- /dev/null +++ b/packages/reflex/src/core/object/README.md @@ -0,0 +1,3 @@ +Object — low-level prototype and inheritance model. +Includes inline optimizations, shallow copying, and behavioral contracts. +Designed for speed, predictability, and zero abstraction leakage. \ No newline at end of file diff --git a/packages/reflex/src/core/object/object.dispose.ts b/packages/reflex/src/core/object/object.dispose.ts new file mode 100644 index 0000000..4871b48 --- /dev/null +++ b/packages/reflex/src/core/object/object.dispose.ts @@ -0,0 +1,9 @@ +interface IDisposable { + [Symbol.dispose]: void; +} + +interface IDisposableAsync { + [Symbol.asyncDispose]: void; +} + +export type { IDisposable, IDisposableAsync }; diff --git a/packages/reflex/src/core/object/object.inline.ts b/packages/reflex/src/core/object/object.inline.ts index f40e496..5ccb56d 100644 --- a/packages/reflex/src/core/object/object.inline.ts +++ b/packages/reflex/src/core/object/object.inline.ts @@ -1,3 +1,3 @@ -const noop = () => {}; +function noop(_?: unknown): void {} export { noop }; diff --git a/packages/reflex/src/core/object/utils/assert.ts b/packages/reflex/src/core/object/utils/assert.ts new file mode 100644 index 0000000..137850f --- /dev/null +++ b/packages/reflex/src/core/object/utils/assert.ts @@ -0,0 +1,3 @@ +export function __assert(cond: unknown, message?: string): asserts cond { + if (!cond) throw new Error(message || "Contract violated"); +} diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index 7c5539c..546aa20 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -24,6 +24,10 @@ const OwnershipPrototype: IOwnershipMethods = { return; } + if (child._parent === this) { + return; + } + if (child === this) { throw new Error("Cannot append owner to itself"); } @@ -40,10 +44,6 @@ const OwnershipPrototype: IOwnershipMethods = { child._parent.removeChild(child); } - if (child._parent === this) { - return; - } - child._parent = this; child._prevSibling = this._lastChild; child._nextSibling = undefined; @@ -130,10 +130,39 @@ const OwnershipPrototype: IOwnershipMethods = { batchDisposer(batch, strategy); }, + + getContext(this: IOwnership) { + if (!this._context) + this._context = ReflexObject.Inherit(this._parent?._context ?? {}); + return this._context; + }, + + provide(this: IOwnership, key: symbol | string, value: unknown) { + const ctx = this.getContext(); + ctx[key] = value; + }, + + inject(this: IOwnership, key: symbol | string): T | undefined { + let ctx: any = this._context; + + while (ctx) { + if (key in ctx) return ctx[key]; + ctx = Object.getPrototypeOf(ctx); + } + + return undefined; + }, }; /** * Optimized owner creation with pre-sized disposal array + * + * Parent_1 Owner + * ├─ _context: { theme: "dark" } + * └─ _firstChild → [Owner#A] + * ├─ _parent → Parent_1 + * ├─ _context → Object.create(Parent_1._context) + * └─ _disposal → [ fn, fn, fn ] */ function createOwner(parent?: IOwnership): IOwnership { const owner = ReflexObject.Inherit(OwnershipPrototype); @@ -146,7 +175,7 @@ function createOwner(parent?: IOwnership): IOwnership { owner._disposal = new Array(DISPOSAL_INITIAL_CAPACITY); // Pre-allocate owner._disposal.length = 0; // But keep length at 0 owner._context = undefined; // Will be set by appendChild if needed - owner._state = OwnershipStateFlags.CLEAN | 0; + owner._state = OwnershipStateFlags.CLEAN; owner._childCount = 0; if (parent) { diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index b3efef2..dea04cb 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -4,6 +4,17 @@ import { IOwnership } from "./ownership.type"; /** * Lightweight ownership context manager. * + * RootScope + * └─ owner: undefined + * ↓ createScope() + * ├─ createOwner(parent = undefined) + * ├─ owner = [Owner#1] + * └─ fn() → [run inside #1] + * ↓ createScope() + * ├─ createOwner(parent = #1) + * ├─ owner = [Owner#2] + * └─ fn() → [run inside #2] + * * Handles the current ownership scope in a stack-safe way. * Provides scoped creation and temporary owner replacement. */ diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/reflex/src/core/ownership/ownership.type.ts index 69aa275..a339a88 100644 --- a/packages/reflex/src/core/ownership/ownership.type.ts +++ b/packages/reflex/src/core/ownership/ownership.type.ts @@ -1,141 +1,80 @@ /** * @file ownership.type.ts - * Types, symbols, and flags for Ownership system. - * Provides core building blocks for reactive ownership, context, and cleanup. + * Core types, symbols, and flags for Reflex Ownership System. + * Defines hierarchical scopes, context inheritance, and cleanup logic. */ -/** Unique identifier for general purpose internal ID. */ -const S_ID: unique symbol = Symbol.for("id"); -/** Internal reference to the owner of a reactive node. */ -const S_OWN: unique symbol = Symbol.for("ownership"); -/** Internal source nodes for memoization/tracking dependencies. */ -const S_SOURCES: unique symbol = Symbol.for("sources"); -/** Internal subscribers for reactive nodes. */ -const S_SUBS: unique symbol = Symbol.for("subscribers"); -/** Marks a node as dirty or needing update. */ -const S_DIRTY: unique symbol = Symbol.for("dirty"); -/** Stores the function for memo/effect computation. */ -const S_FN: unique symbol = Symbol.for("fn"); -/** Holds the current value of a signal/memo. */ -const S_VALUE: unique symbol = Symbol.for("value"); -/** Registered cleanup callbacks for disposal. */ -const S_DISPOSE: unique symbol = Symbol.for("disposeCallbacks"); - -/** Type of the context object attached to an Owner. */ +const S_ID = Symbol.for("id"); // Unique internal ID +const S_OWN = Symbol.for("ownership"); // Parent Owner reference +const S_SOURCES = Symbol.for("sources"); // Reactive dependencies +const S_SUBS = Symbol.for("subscribers"); // Reactive dependents +const S_DIRTY = Symbol.for("dirty"); // Marks node as dirty +const S_FN = Symbol.for("fn"); // Computation function +const S_VALUE = Symbol.for("value"); // Current value +const S_DISPOSE = Symbol.for("disposeCallbacks"); // Cleanup list + type IOwnershipContextRecord = Record; -/** - * Represents a context value that can be attached to an Owner. - * Contexts support inheritance via prototype chains. - * - * @template T - Type of the context value. - */ -type IOwnershipContext = { - /** Unique identifier for this context. */ - readonly id: symbol; - /** Default value to return if the context is missing in the owner. */ - readonly defaultValue?: T; +/** Defines a context entry with inheritance support. */ +type IOwnershipContext = { + id: symbol; + defaultValue?: T; }; -/** - * Bitwise flags representing the lifecycle state of an Ownership node. - * Allows fast checks via bitwise operations. - */ +/** Bitwise node state — used for fast lifecycle checks. */ const enum OwnershipStateFlags { - /** Node is clean, no pending updates. */ CLEAN = 0, - /** Node is scheduled for validation/check. */ CHECK = 1 << 0, - /** Node has pending updates (dirty). */ DIRTY = 1 << 1, - /** Node is in the process of disposal. */ DISPOSING = 1 << 2, - /** Node has been disposed and should not be reused. */ DISPOSED = 1 << 3, } -/** Function type for cleanup callbacks or effect disposers. */ +/** Cleanup callback type. */ type NoneToVoidFn = () => void; -/** - * Methods shared by all Owner nodes. - * Placed on prototype for memory efficiency and stable hidden class layout. - */ +/** Common API for all Ownership nodes. */ interface IOwnershipMethods { - /** - * Append a child node to this owner. - * Updates `_firstChild`, `_lastChild`, `_nextSibling`, and `_childCount`. - * Initializes child context via prototype inheritance. - * - * @param child - Child owner to attach. - */ + /** Attach a child to this owner (updates tree links & context). */ appendChild(child: IOwnership): void; - /** - * Optional hook triggered when a scope is mounted. - * - * @param scope - The mounted child owner. - */ + /** Triggered when a new child scope is mounted. */ onScopeMount(scope: IOwnership): void; - /** - * Register a cleanup callback to be executed during disposal. - * Callbacks are executed in registration order. Errors are caught and logged. - * - * @param fn - Cleanup function. - */ + /** Register a cleanup callback (runs on dispose). */ onScopeCleanup(fn: NoneToVoidFn): void; - /** - * Remove a direct child from this owner. - * - * @param child - Child owner to remove. - */ + /** Detach a direct child from this owner. */ removeChild(child: IOwnership): void; - /** - * Dispose this node and all descendants. - * Iteratively traverses children to avoid recursion. - * Executes cleanup callbacks and clears references. - */ - dispose(): void; -} - -/** - * Represents a single node in the Ownership tree. - * Nodes track children, context, state, and disposal callbacks. - */ -interface IOwnership extends IOwnershipMethods { - /** Parent node in the ownership tree. */ - _parent: IOwnership | undefined; - - /** First child node in the linked list of children. */ - _firstChild: IOwnership | undefined; + /** Get or create the current scope context. */ + getContext(): IOwnershipContextRecord; - /** Last child node, used for O(1) append. */ - _lastChild: IOwnership | undefined; + /** Provide a new key/value in this scope’s context. */ + provide(key: symbol | string, value: unknown): void; - /** Next sibling node in the parent's child list. */ - _nextSibling: IOwnership | undefined; + /** Retrieve a value from nearest context scope. */ + inject(key: symbol | string): T | undefined; - /** Prev sibling node in the parent's child list that makes list is linked and remove in O(1). */ - _prevSibling: IOwnership | undefined; + /** Dispose this owner and all descendants (iterative). */ + dispose(): void; +} - /** Array of cleanup callbacks registered via `onScopeCleanup`. */ +/** A single node in the Ownership tree. */ +interface IOwnership extends IOwnershipMethods { + _parent?: IOwnership; + _firstChild?: IOwnership; + _lastChild?: IOwnership; + _nextSibling?: IOwnership; + _prevSibling?: IOwnership; _disposal: NoneToVoidFn[]; - - /** Context object for scoped variables, prototypally inherited from parent. */ - _context: Record | undefined; - - /** Bitwise state flags describing the node lifecycle. */ + _context?: IOwnershipContextRecord; + _queue?: any; _state: OwnershipStateFlags; - - /** Number of immediate children attached to this node. */ _childCount: number; } export { - OwnershipStateFlags, S_ID, S_OWN, S_SOURCES, @@ -144,12 +83,13 @@ export { S_FN, S_VALUE, S_DISPOSE, + OwnershipStateFlags, }; export type { IOwnership, IOwnershipMethods, - IOwnershipContextRecord, IOwnershipContext, + IOwnershipContextRecord, NoneToVoidFn, }; diff --git a/packages/reflex/src/core/queue/unrolled-queue.bench.test.ts b/packages/reflex/src/core/queue/unrolled-queue.bench.test.ts deleted file mode 100644 index 8182d97..0000000 --- a/packages/reflex/src/core/queue/unrolled-queue.bench.test.ts +++ /dev/null @@ -1,75 +0,0 @@ -/* eslint-disable no-console */ -import { performance } from "node:perf_hooks"; -import process from "node:process"; -import { UnrolledQueue } from "./unrolled-queue"; - -const WARM_UP = 3; -const ROUNDS = 10; -const OPS = 1_000_000; -const NODE_SIZE = 2048; -const POOL_LIMIT = 128; - -const runTest = (queue: UnrolledQueue<{ id: number }>, ops: number) => { - global.gc?.(); - (async () => { - await new Promise((r) => setTimeout(r, 50)); - console.log( - "📉 Final heap:", - process.memoryUsage().heapUsed / 1024 / 1024, - "MB" - ); - })(); - - const startMem = process.memoryUsage().heapUsed; - const t0 = performance.now(); - - let preventOpt = 0; - for (let i = 0; i < ops; i++) queue.enqueue({ id: i }); - for (let i = 0; i < ops; i++) { - const item = queue.dequeue(); - if (item) preventOpt += item.id; - } - - const t1 = performance.now(); - if (preventOpt === 0) console.log("Never print"); - const endMem = process.memoryUsage().heapUsed; - - return { cpu: t1 - t0, ram: (endMem - startMem) / 1024 }; -}; - -describe("🧪 UnrolledQueue Performance Benchmark", () => { - it("should perform efficiently and be memory-stable", async () => { - const queue = new UnrolledQueue<{ id: number }>({ nodeSize: NODE_SIZE }); - const CircularQueueNode = (queue as any).constructor.prototype.constructor; - if ( - CircularQueueNode?.pool && - (CircularQueueNode.pool as unknown[]).length > POOL_LIMIT - ) { - (CircularQueueNode.pool as unknown[]).splice(POOL_LIMIT); - } - - const results = { cpu: 0, ram: 0 }; - const total = ROUNDS + WARM_UP; - - for (let i = 0; i < total; i++) { - const { cpu, ram } = runTest(queue, OPS); - if (i > WARM_UP) { - results.cpu += cpu; - results.ram += ram; - } - await new Promise((r) => setTimeout(r, 10)); // даём GC шанс - } - - const avgCPU = parseFloat((results.cpu / ROUNDS).toFixed(2)); - const avgRAM = parseFloat((results.ram / ROUNDS).toFixed(2)); - - console.log("\n──────────────────────────────"); - console.log(`⚙️ ${OPS.toLocaleString()} ops × ${ROUNDS} rounds`); - console.log(`⏱️ CPU time: ${avgCPU} ms`); - console.log(`💾 Heap delta: ${avgRAM.toFixed(2)} KB`); - console.log("──────────────────────────────\n"); - - expect(avgCPU).toBeLessThan(1000); - expect(avgRAM).toBeLessThan(60000); - }); -}); diff --git a/packages/reflex/src/core/time/clock.ts b/packages/reflex/src/core/time/clock.ts deleted file mode 100644 index 0269630..0000000 --- a/packages/reflex/src/core/time/clock.ts +++ /dev/null @@ -1 +0,0 @@ -let epoch: number = 0; diff --git a/packages/reflex/src/runtime/README.md b/packages/reflex/src/runtime/README.md new file mode 100644 index 0000000..6b6121c --- /dev/null +++ b/packages/reflex/src/runtime/README.md @@ -0,0 +1,3 @@ +Runtime — the execution layer of Reflex. +Handles reactivity, scheduling, transactions, and event orchestration. +Connects the logical core with real-world adapters. \ No newline at end of file diff --git a/packages/reflex/src/shared/README.md b/packages/reflex/src/shared/README.md new file mode 100644 index 0000000..7562d62 --- /dev/null +++ b/packages/reflex/src/shared/README.md @@ -0,0 +1,3 @@ +Shared — common utilities, constants, and type definitions. +Provides assert helpers, inline functions, and global types. +Used across multiple modules without introducing dependencies. \ No newline at end of file diff --git a/packages/reflex/src/globals.d.ts b/packages/reflex/src/shared/types/globals.d.ts similarity index 100% rename from packages/reflex/src/globals.d.ts rename to packages/reflex/src/shared/types/globals.d.ts diff --git a/packages/reflex/src/tests/README.md b/packages/reflex/src/tests/README.md new file mode 100644 index 0000000..8d2c726 --- /dev/null +++ b/packages/reflex/src/tests/README.md @@ -0,0 +1,3 @@ +Tests — contract verification layer. +Validates core invariants, ownership integrity, and runtime consistency. +Each test asserts that Reflex behaves as mathematically intended. \ No newline at end of file diff --git a/packages/reflex/src/core/ownership/ownership.spec.ts b/packages/reflex/src/tests/ownership.spec.ts similarity index 99% rename from packages/reflex/src/core/ownership/ownership.spec.ts rename to packages/reflex/src/tests/ownership.spec.ts index 96d4e50..0a5d545 100644 --- a/packages/reflex/src/core/ownership/ownership.spec.ts +++ b/packages/reflex/src/tests/ownership.spec.ts @@ -6,6 +6,7 @@ import { createOwner, IOwnership } from "./ownership.core"; import { OwnershipScope } from "./ownership.scope"; import { OwnershipStateFlags } from "./ownership.type"; + function logPerf(name: string, duration: number, limit?: number) { const pass = limit === undefined || duration <= limit; const barLength = 50; diff --git a/packages/reflex/src/tests/unrolled-queue.bench.test.ts b/packages/reflex/src/tests/unrolled-queue.bench.test.ts new file mode 100644 index 0000000..ee2c069 --- /dev/null +++ b/packages/reflex/src/tests/unrolled-queue.bench.test.ts @@ -0,0 +1,168 @@ +/* eslint-disable no-console */ +import { performance } from "node:perf_hooks"; +import process from "node:process"; +import { UnrolledQueue } from "../core/collections/unrolled-queue"; + +const WARM_UP = 3; +const ROUNDS = 10; +const OPS = 1_000_000; +const NODE_SIZE = 2048; +const POOL_LIMIT = 128; + +const runTest = (queue: UnrolledQueue<{ id: number }>, ops: number) => { + global.gc?.(); + + const startMem = process.memoryUsage().heapUsed; + const t0 = performance.now(); + + let preventOpt = 0; + for (let i = 0; i < ops; i++) queue.enqueue({ id: i }); + for (let i = 0; i < ops; i++) { + const item = queue.dequeue(); + if (item) preventOpt += item.id; + } + + const t1 = performance.now(); + if (preventOpt === 0) console.log("Never print"); + const endMem = process.memoryUsage().heapUsed; + + return { cpu: t1 - t0, ram: (endMem - startMem) / 1024 }; +}; + +describe("🧪 UnrolledQueue Performance Benchmark", () => { + it("should perform efficiently and be memory-stable", async () => { + const queue = new UnrolledQueue<{ id: number }>({ nodeSize: NODE_SIZE }); + const CircularQueueNode = (queue as any).constructor.prototype.constructor; + if ( + CircularQueueNode?.pool && + (CircularQueueNode.pool as unknown[]).length > POOL_LIMIT + ) { + (CircularQueueNode.pool as unknown[]).splice(POOL_LIMIT); + } + + const results = { cpu: 0, ram: 0 }; + const total = ROUNDS + WARM_UP; + + for (let i = 0; i < total; i++) { + const { cpu, ram } = runTest(queue, OPS); + + if (i > WARM_UP) { + results.cpu += cpu; + results.ram += ram; + } + + await new Promise((r) => setTimeout(r, 10)); // даём GC шанс + } + + const avgCPU = parseFloat((results.cpu / ROUNDS).toFixed(2)); + const avgRAM = parseFloat((results.ram / ROUNDS).toFixed(2)); + + console.log("\n──────────────────────────────"); + console.log(`⚙️ ${OPS.toLocaleString()} ops × ${ROUNDS} rounds`); + console.log(`⏱️ CPU time: ${avgCPU} ms`); + console.log(`💾 Heap delta: ${avgRAM.toFixed(2)} KB`); + console.log("──────────────────────────────\n"); + + expect(avgCPU).toBeLessThan(1000); + expect(avgRAM).toBeLessThan(60000); + }); +}); + +describe("UnrolledQueue", () => { + let q: UnrolledQueue; + + beforeEach(() => { + q = new UnrolledQueue({ nodeSize: 8 }); // маленький размер для тестов + }); + + it("enqueues and dequeues single item", () => { + q.enqueue(42); + expect(q.length).toBe(1); + expect(q.dequeue()).toBe(42); + expect(q.length).toBe(0); + expect(q.dequeue()).toBeNull(); + }); + + it("handles multiple enqueue/dequeue cycles", () => { + for (let i = 0; i < 50; i++) q.enqueue(i); + expect(q.length).toBe(50); + for (let i = 0; i < 50; i++) expect(q.dequeue()).toBe(i); + expect(q.length).toBe(0); + }); + + it("expands to multiple nodes when full", () => { + const size = 8; + for (let i = 0; i < size * 3; i++) q.enqueue(i); + expect(q.length).toBe(size * 3); + + for (let i = 0; i < size * 3; i++) { + const val = q.dequeue(); + expect(val).toBe(i); + } + + expect(q.length).toBe(0); + }); + + it("recycles nodes after clearing", () => { + q.enqueue(1); + q.enqueue(2); + q.clear(); + expect(q.length).toBe(0); + expect(q.dequeue()).toBeNull(); + + q.enqueue(5); + expect(q.dequeue()).toBe(5); + }); + + it("supports iteration from tail to head", () => { + q.enqueue(1); + q.enqueue(2); + q.enqueue(3); + + const result = [...q]; + expect(result).toEqual([1, 2, 3]); + }); + + it("peek returns current tail element", () => { + q.enqueue(10); + q.enqueue(20); + expect(q.peek()).toBe(10); + expect(q.dequeue()).toBe(10); + expect(q.peek()).toBe(20); + }); + + it("maintains O(1) amortized behavior under heavy load", () => { + const N = 100_000; + for (let i = 0; i < N; i++) q.enqueue(i); + expect(q.length).toBe(N); + + let sum = 0; + for (let i = 0; i < N; i++) sum += q.dequeue()!; + expect(sum).toBe((N * (N - 1)) / 2); + expect(q.length).toBe(0); + }); + + it("clears all nodes correctly", () => { + for (let i = 0; i < 20; i++) q.enqueue(i); + q.clear(); + expect(q.length).toBe(0); + expect([...q]).toEqual([]); + expect(q.dequeue()).toBeNull(); + }); + + it("throws if nodeSize is not power of two", () => { + expect(() => new UnrolledQueue({ nodeSize: 7 })).toThrow(); + expect(() => new UnrolledQueue({ nodeSize: -4 })).toThrow(); + }); + + it("reuses node pool between instances", () => { + const q1 = new UnrolledQueue({ nodeSize: 8 }); + for (let i = 0; i < 16; i++) q1.enqueue(i); + for (let i = 0; i < 16; i++) q1.dequeue(); + q1.clear(); + + const q2 = new UnrolledQueue({ nodeSize: 8 }); + q2.enqueue(1); + expect(q2.dequeue()).toBe(1); + }); +}); From ee55c5f3de038421ec7760d71d2f001773e0080c Mon Sep 17 00:00:00 2001 From: volynetstyle Date: Sun, 26 Oct 2025 00:20:17 +0300 Subject: [PATCH 04/32] feat: Update environment configuration and enhance reactive graph structure --- environment/tsconfig.base.json | 1 - packages/reflex/.env.dev | 13 +- packages/reflex/.env.prod | 2 - packages/reflex/package.json | 4 +- .../reflex/src/core/graph/ReactiveNode.ts | 17 -- packages/reflex/src/core/graph/Readme.md | 24 +++ .../reflex/src/core/graph/graph.operators.ts | 5 + packages/reflex/src/core/graph/graph.types.ts | 148 ++++++++++++++++++ .../reflex/src/core/object/object.dispose.ts | 2 + .../reflex/src/core/object/object.inherit.ts | 9 +- .../reflex/src/core/object/utils/bitwise.ts | 37 +++++ packages/reflex/src/index.ts | 1 + packages/reflex/src/runtime/index.runtime.ts | 44 ++++++ packages/reflex/src/shared/types/async.d.ts | 68 ++++++++ packages/reflex/src/shared/types/globals.d.ts | 80 ++++++---- packages/reflex/src/tests/ownership.spec.ts | 8 +- packages/reflex/tsconfig.json | 2 +- 17 files changed, 407 insertions(+), 58 deletions(-) delete mode 100644 packages/reflex/.env.prod delete mode 100644 packages/reflex/src/core/graph/ReactiveNode.ts create mode 100644 packages/reflex/src/core/graph/Readme.md create mode 100644 packages/reflex/src/core/graph/graph.operators.ts create mode 100644 packages/reflex/src/core/graph/graph.types.ts create mode 100644 packages/reflex/src/core/object/utils/bitwise.ts create mode 100644 packages/reflex/src/runtime/index.runtime.ts create mode 100644 packages/reflex/src/shared/types/async.d.ts diff --git a/environment/tsconfig.base.json b/environment/tsconfig.base.json index 6fd8372..eb5ef29 100644 --- a/environment/tsconfig.base.json +++ b/environment/tsconfig.base.json @@ -14,7 +14,6 @@ "composite": true, "incremental": true, "baseUrl": ".", - "ignoreDeprecations": "6.0", "paths": { "@reflex/*": ["packages/reflex/src/*"], "@reflex-dom/*": ["packages/reflex-dom/src/*"] diff --git a/packages/reflex/.env.dev b/packages/reflex/.env.dev index 367b24b..0ec18c8 100644 --- a/packages/reflex/.env.dev +++ b/packages/reflex/.env.dev @@ -1,2 +1,11 @@ -NODE_ENV=development -LIB_LOG_LEVEL=debug +# Environment manifest for Reflex runtime +MODE=development +TARGET=web +ADAPTER=dom +RUNTIME=reflex +LOG_LEVEL=debug + +# Feature toggles +FEATURE_REACTIVE=true +FEATURE_CONTRACTS=soft +FEATURE_DEBUG_GRAPH=false diff --git a/packages/reflex/.env.prod b/packages/reflex/.env.prod deleted file mode 100644 index 6e671b6..0000000 --- a/packages/reflex/.env.prod +++ /dev/null @@ -1,2 +0,0 @@ -NODE_ENV=production -LIB_LOG_LEVEL=none diff --git a/packages/reflex/package.json b/packages/reflex/package.json index 4debc54..5f12d01 100644 --- a/packages/reflex/package.json +++ b/packages/reflex/package.json @@ -8,13 +8,15 @@ "scripts": { "build": "tsc --build", "test": "jest", - "test:bench": "node --expose-gc --trace-gc --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand" + "test:bench": "node --expose-gc --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand", + "profile:bench": "node --expose-gc ./dist/experimental/graph.bench.js" }, "sideEffects": false, "devDependencies": { "@types/jest": "^30.0.0", "jest": "^30.1.3", "ts-jest": "^29.4.4", + "tsx": "^4.20.6", "typescript": "^5.9.2" } } diff --git a/packages/reflex/src/core/graph/ReactiveNode.ts b/packages/reflex/src/core/graph/ReactiveNode.ts deleted file mode 100644 index a94adf8..0000000 --- a/packages/reflex/src/core/graph/ReactiveNode.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * @file ReactiveNode.ts - * - * Vertex = ReactiveNode. - * - * Represents a node in a directed acyclic graph (DAG) - * Each vertex is an immutable computation unit: - * it holds the result of a function depending on other vertices. - * - * Conceptually: - * - Inputs: upstream dependencies (edges in) - * - Outputs: downstream dependents (edges out) - * - Value: cached computation result - * - * Vertices are immutable; updates produce new versions, - * allowing structural sharing and time-travel debugging. - */ diff --git a/packages/reflex/src/core/graph/Readme.md b/packages/reflex/src/core/graph/Readme.md new file mode 100644 index 0000000..891e3b1 --- /dev/null +++ b/packages/reflex/src/core/graph/Readme.md @@ -0,0 +1,24 @@ +# Reflex Reactive Graph + +## 1. Overview +The reactive system of Reflex is represented as a directed acyclic graph (DAG) +where each node maintains explicit ownership and causal links to its dependents. + +- **Source nodes** emit updates. +- **Observer nodes** consume and propagate those updates further. + +This model provides determinism, composability, and precise lifecycle control. + +## 2. Graph Definition +Let `G(V, E)` be the reactive graph, where `V` is the set of reactive nodes and +`E` is the set of directed edges `(v → u)` representing dependencies. + +Each node maintains: +- `_flags` — the state flags defining whether it is dirty, scheduled, or disposed. +- `_epoch` — a monotonic timestamp ensuring acyclic update order. + +## 3. Core Invariants +1. A node cannot depend on itself. +2. Updates always flow from lower to higher epoch nodes. +3. Removing a node removes all its outgoing edges. +4. Transitions must preserve the topology of the dependency graph. diff --git a/packages/reflex/src/core/graph/graph.operators.ts b/packages/reflex/src/core/graph/graph.operators.ts new file mode 100644 index 0000000..b235d2d --- /dev/null +++ b/packages/reflex/src/core/graph/graph.operators.ts @@ -0,0 +1,5 @@ + + +const GraphOperations { + +} \ No newline at end of file diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/reflex/src/core/graph/graph.types.ts new file mode 100644 index 0000000..8330624 --- /dev/null +++ b/packages/reflex/src/core/graph/graph.types.ts @@ -0,0 +1,148 @@ +/** + * @file ReactiveNode.ts + * + * Vertex = ReactiveNode. + * + * Represents a node in a directed acyclic graph (DAG) + * Each vertex is an immutable computation unit: + * it holds the result of a function depending on other vertices. + * + * Conceptually: + * - Inputs: upstream dependencies (edges in) + * - Outputs: downstream dependents (edges out) + * - Value: cached computation result + * + * Vertices are immutable; updates produce new versions, + * allowing structural sharing and time-travel debugging. + */ + +import { IDisposable } from "../object/object.dispose"; +import { BitMask } from "../object/utils/bitwise"; + +/** + * Base interface for all reactive graph nodes. + * Each node tracks its internal state through bit flags and epoch. + * + * - `_flags`: bitmask representing node state (dirty, disposed, scheduled, etc.) + * - `_epoch`: version counter used for dependency resolution or cache invalidation + */ +interface GraphNode { + _flags: BitMask; + _epoch: number; + _value?: unknown; +} + +export const enum NodeFlags { + CLEAN = 0, + DIRTY = 1 << 0, + DISPOSED = 1 << 1, + SCHEDULED = 1 << 2, + RUNNING = 1 << 3, +} + +type EdgeDirection = "up" | "down"; + +interface EdgeList extends Array { + readonly _traverse?: D; +} + +/** + * A reactive source node — an origin of data or signal. + * It can notify multiple observers when its value changes. + * + * - `_observers`: list of dependent observer nodes (subscribers) + */ +export interface Source extends GraphNode { + /** Downstream connections — observers subscribed to this source. */ + _observers: EdgeList | null; +} + +/** + * A reactive observer node — a computation depending on one or more sources. + * Observers track their upstream dependencies and react to their updates. + * + * - `_sources`: list of source nodes this observer depends on + * may queue or immediately propagate changes depending on runtime strategy + */ +export interface Observer extends GraphNode { + /** Upstream connections — sources this observer depends on. */ + _sources: EdgeList | null; +} + +/** + * Core operations for managing vertices and edges + * in a reactive dependency graph (DAG). + * + * These methods define the lifecycle of connections, + * traversal, and invalidation logic for nodes. + */ +export interface GraphOperations extends IDisposable { + /** + * Connects the given vertex as a dependency (edge in). + * Returns true if the connection was new, false if already linked. + */ + connect(target: TVertex): boolean; + + /** + * Disconnects the given vertex (or all if undefined). + * Used during disposal or dependency re-evaluation. + */ + disconnect(target?: TVertex): void; + + /** + * Marks this vertex and its dependents as dirty. + * Used when source data changes and caches must be invalidated. + */ + markDirty(mask?: BitMask): void; + + /** + * Propagates state changes to all downstream observers. + * Usually delegates to RuntimeContext.scheduleUpdate(). + */ + notifyObservers(mask?: BitMask): void; + + /** + * Registers this vertex as an observer of another vertex (edge out). + */ + addSource(source: TVertex): void; + + /** + * Removes the given source vertex from dependency list (edge removal). + */ + removeSource(source: TVertex): void; + + /** + * Performs a depth-first traversal of dependents or dependencies. + * Useful for diagnostics or incremental updates. + */ + traverse(direction: EdgeDirection, visitor: (v: TVertex) => void): void; + + /** + * Returns true if this vertex has no active dependencies or dependents. + */ + isIsolated(): boolean; + + /** + * Clears internal state and breaks all edges. + * Called during disposal or garbage collection. + */ + dispose(): void; + + /** + * Optionally recomputes this vertex value if dirty. + * May trigger cascading updates depending on RuntimeContext. + */ + updateDirtyValues(): void; +} + +/** + * RuntimeContext manages scheduling and execution of graph updates. + * It defines how updates are propagated and committed. + * + * - `scheduleUpdate(node)`: enqueue node updates for later processing + * - `commitTransition?(node)`: optional hook for transactional or batched updates + */ +export interface RuntimeContext { + scheduleUpdate(node: GraphNode): void; + commitTransition?(node: GraphNode): void; +} diff --git a/packages/reflex/src/core/object/object.dispose.ts b/packages/reflex/src/core/object/object.dispose.ts index 4871b48..3e71e09 100644 --- a/packages/reflex/src/core/object/object.dispose.ts +++ b/packages/reflex/src/core/object/object.dispose.ts @@ -1,8 +1,10 @@ interface IDisposable { + dispose(): void; [Symbol.dispose]: void; } interface IDisposableAsync { + disposeAsync(): Async; [Symbol.asyncDispose]: void; } diff --git a/packages/reflex/src/core/object/object.inherit.ts b/packages/reflex/src/core/object/object.inherit.ts index bcc8946..fa28593 100644 --- a/packages/reflex/src/core/object/object.inherit.ts +++ b/packages/reflex/src/core/object/object.inherit.ts @@ -1,4 +1,5 @@ -export namespace ReflexObject { - export const Inherit = (proto: Partial): T => - /**@__INLINE__ */ Object.create(proto) as T; -} +export const ReflexObject = { + /**@__INLINE__ */ + Inherit: (proto: Partial): T => + Object.create(proto) as T, +} as const; diff --git a/packages/reflex/src/core/object/utils/bitwise.ts b/packages/reflex/src/core/object/utils/bitwise.ts new file mode 100644 index 0000000..21aeb9e --- /dev/null +++ b/packages/reflex/src/core/object/utils/bitwise.ts @@ -0,0 +1,37 @@ +export type BitMask = number; + +/** + * Minimalistic bitwise utility for flags and masks. + * All functions are pure and inlinable. + */ +export const Bitwise = { + /** @__INLINE__ Checks if all bits in `mask` are set in `flags`. */ + has(flags: BitMask, mask: BitMask): boolean { + return (flags & mask) === mask; + }, + + /** @__INLINE__ Sets bits from `mask` in `flags`. */ + set(flags: BitMask, mask: BitMask): BitMask { + return flags | mask; + }, + + /** @__INLINE__ Clears bits from `mask` in `flags`. */ + clear(flags: BitMask, mask: BitMask): BitMask { + return flags & ~mask; + }, + + /** @__INLINE__ Toggles bits from `mask` in `flags`. */ + toggle(flags: BitMask, mask: BitMask): BitMask { + return flags ^ mask; + }, + + /** @__INLINE__ Returns true if none of the bits in `mask` are set. */ + none(flags: BitMask, mask: BitMask): boolean { + return (flags & mask) === 0; + }, + + /** @__INLINE__ Returns true if at least one bit in `mask` is set. */ + any(flags: BitMask, mask: BitMask): boolean { + return (flags & mask) !== 0; + }, +} as const; diff --git a/packages/reflex/src/index.ts b/packages/reflex/src/index.ts index e69de29..991aa1a 100644 --- a/packages/reflex/src/index.ts +++ b/packages/reflex/src/index.ts @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/reflex/src/runtime/index.runtime.ts b/packages/reflex/src/runtime/index.runtime.ts new file mode 100644 index 0000000..ff259a5 --- /dev/null +++ b/packages/reflex/src/runtime/index.runtime.ts @@ -0,0 +1,44 @@ +export function createReactiveRuntime() { + let CurrentReaction: T | undefined; + let CurrentGets: T[] | null; + let CurrentGetsIndex = 0; + let GlobalQueue = []; + let Epoch = 0; + + function beginComputation(r: T) { + CurrentReaction = r; + CurrentGets = []; + CurrentGetsIndex = 0; + } + + function endComputation() { + CurrentReaction = undefined; + CurrentGets = null; + CurrentGetsIndex = 0; + } + + function track(signal: T) { + throw new Error(); + } + + return { + beginComputation, + endComputation, + track, + get context() { + return { CurrentReaction, CurrentGets, CurrentGetsIndex }; + }, + }; +} + +// const AppRuntime = createReactiveRuntime(); +// const WorkerRuntime = createReactiveRuntime(); + +// AppRuntime.beginComputation(myReaction); +// AppRuntime.track(signalA); +// AppRuntime.endComputation(); + +// // worker работает независимо +// WorkerRuntime.beginComputation(otherReaction); +// WorkerRuntime.track(signalB); +// WorkerRuntime.endComputation(); diff --git a/packages/reflex/src/shared/types/async.d.ts b/packages/reflex/src/shared/types/async.d.ts new file mode 100644 index 0000000..908a88a --- /dev/null +++ b/packages/reflex/src/shared/types/async.d.ts @@ -0,0 +1,68 @@ +/** + * Represents a minimal unified contract for asynchronous values, + * compatible with both native Promises and custom reactive runtimes. + * + * A `Thenable` behaves like a Promise but may also expose internal state + * for inspection or integration with reactive graphs. + * + * This interface allows `await` compatibility without forcing the value + * to be a native Promise, enabling fine-grained async reactivity. + * + * @template T Type of the resolved value. + */ +interface Thenable { + /** + * Attaches callbacks for the resolution or rejection of the asynchronous value. + * + * The callbacks can return either a plain value or another `Async` + * (which includes native Promises and custom Thenables). + * This preserves the full "Promise resolution" semantics while allowing + * runtime extensions (e.g. lazy evaluation or reactive propagation). + * + * @typeParam TResult1 - Type returned on successful resolution. + * @typeParam TResult2 - Type returned on rejection. + * + * @param onfulfilled Callback invoked when the computation resolves successfully. + * May return a value or another Async computation. + * + * @param onrejected Callback invoked when the computation is rejected. + * May return a recovery value or another Async computation. + * + * @returns A new `Thenable` representing the continuation of the chain. + */ + then( + onfulfilled?: ((value: T) => TResult1 | Async) | null, + onrejected?: ((reason: unknown) => TResult2 | Async) | null + ): Thenable; + + /** + * Optional runtime state indicator for reactive or diagnostic purposes. + * Not part of the standard PromiseLike contract, but useful for + * observing internal progress without attaching callbacks. + * + * - `"pending"` → The computation has not yet settled. + * - `"fulfilled"` → The computation completed successfully. + * - `"rejected"` → The computation failed. + */ + readonly state?: "pending" | "fulfilled" | "rejected"; + + /** + * The resolved value of the computation (if available). + * Typically undefined until `state` becomes `"fulfilled"`. + */ + readonly value?: T; + + /** + * The reason of failure, if `state` is `"rejected"`. + */ + readonly reason?: unknown; +} + +/** + * Unified alias for any asynchronous computation, + * whether native (`Promise`) or user-defined (`Thenable`). + * + * Can be used in APIs to accept both native Promises + * and extended asynchronous abstractions transparently. + */ +type Async = Promise | Thenable; diff --git a/packages/reflex/src/shared/types/globals.d.ts b/packages/reflex/src/shared/types/globals.d.ts index fe5b927..1191436 100644 --- a/packages/reflex/src/shared/types/globals.d.ts +++ b/packages/reflex/src/shared/types/globals.d.ts @@ -1,29 +1,55 @@ -/* - * Reflex - */ - -/** - * Represents a function that takes no arguments and returns nothing. - * - * Commonly used for cleanup callbacks, disposers, unsubscribers, - * or any "fire and forget" side-effect handlers. - * - * Signature: - * ```ts - * type NoneToVoidFn = () => void; - * ``` - * - * Examples: - * ```ts - * const dispose: NoneToVoidFn = () => { - * clearTimeout(timerId); - * }; - * - * owner.onCleanup(dispose); - * ``` - * - * Mnemonic: - * - (None) → Void - * - No parameters in, nothing out. +/** + * A function that never returns (e.g., throws or loops forever). */ +type Nothing = () => never; + type NoneToVoidFn = () => void; + +/** + * A function that takes an argument of type T and returns nothing. + * Useful for callback hooks, observers, disposers etc. + */ +type OneToVoidFn = (value: T) => void; + +/** + * Extracts the type of the first parameter of a function type F. + * If F doesn't take parameters, resolves to never. + */ +type FirstArg = F extends (arg: infer A, ...rest: any[]) => any ? A : never; + +/** + * Converts a union type U to an intersection type. + * Useful for merging multiple contract types into one. + */ +type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ( + k: infer I +) => void + ? I + : never; + +/** + * Creates a type where exactly one of the keys K in T must be present + * (mutually exclusive keys). Useful for discriminated unions of config objects. + */ +type RequireOnlyOne = K extends keyof T + ? { [P in K]: T[P] } & Partial, never>> + : never; + +/** + * A signal-like accessor: no params returns a value of type T. + * Useful if you want a consistent “getter” type in your reactive system. + */ +type Accessor = { + get value(): T; +}; + +/** + * A mutator paired with an accessor: returns void and sets value of type T. + * Often seen in APIs like `createSignal() => [Accessor, Setter]`. + */ +type Setter = (value: T) => void; + +/** + * A tuple of accessor and setter for type T. + */ +type Signal = [Accessor, Setter]; diff --git a/packages/reflex/src/tests/ownership.spec.ts b/packages/reflex/src/tests/ownership.spec.ts index 0a5d545..d9c6a16 100644 --- a/packages/reflex/src/tests/ownership.spec.ts +++ b/packages/reflex/src/tests/ownership.spec.ts @@ -3,9 +3,11 @@ * Comprehensive test suite for ownership system */ -import { createOwner, IOwnership } from "./ownership.core"; -import { OwnershipScope } from "./ownership.scope"; -import { OwnershipStateFlags } from "./ownership.type"; +import { createOwner } from "../core/ownership/ownership.core"; +import { OwnershipScope } from "../core/ownership/ownership.scope"; +import { OwnershipStateFlags, IOwnership } from "../core/ownership/ownership.type"; + + function logPerf(name: string, duration: number, limit?: number) { const pass = limit === undefined || duration <= limit; diff --git a/packages/reflex/tsconfig.json b/packages/reflex/tsconfig.json index c7e45de..7978603 100644 --- a/packages/reflex/tsconfig.json +++ b/packages/reflex/tsconfig.json @@ -5,6 +5,6 @@ "composite": true, "outDir": "dist", "rootDir": "src", - "types": ["jest", "node"] + "types": ["jest", "node"], } } From 1b051c5089f8d2995b123e5fd9b1b39b463db79c Mon Sep 17 00:00:00 2001 From: volynetstyle Date: Sun, 26 Oct 2025 15:18:15 +0300 Subject: [PATCH 05/32] feat: GraphOperations and update ownership interfaces for improved resource management --- .../reflex/src/core/graph/graph.operators.ts | 63 ++++++++++++++++++- packages/reflex/src/core/graph/graph.types.ts | 18 +++--- .../reflex/src/core/object/object.dispose.ts | 4 +- .../src/core/ownership/ownership.core.ts | 24 +++---- .../src/core/ownership/ownership.disposal.ts | 44 +++++++++---- .../src/core/ownership/ownership.type.ts | 2 +- packages/reflex/src/tests/ownership.spec.ts | 2 +- 7 files changed, 117 insertions(+), 40 deletions(-) diff --git a/packages/reflex/src/core/graph/graph.operators.ts b/packages/reflex/src/core/graph/graph.operators.ts index b235d2d..7e19ae2 100644 --- a/packages/reflex/src/core/graph/graph.operators.ts +++ b/packages/reflex/src/core/graph/graph.operators.ts @@ -1,5 +1,62 @@ +import { BitMask } from "../object/utils/bitwise"; +import { GraphOperations, IObserver, ISource } from "./graph.types"; +interface IGraphVertex extends IObserver, ISource {} -const GraphOperations { - -} \ No newline at end of file +const GraphOperations: GraphOperations = { + connect(target: IGraphVertex): boolean { + return true; + }, + + disconnect(target?: IGraphVertex | undefined): void { + throw new Error("Function not implemented."); + }, + + markDirty(mask?: BitMask): void { + throw new Error("Function not implemented."); + }, + + notifyObservers(mask?: BitMask): void { + throw new Error("Function not implemented."); + }, + + addSource(source: IGraphVertex): void { + throw new Error("Function not implemented."); + }, + + removeSource(source: IGraphVertex): void { + throw new Error("Function not implemented."); + }, + + traverse(direction: "up" | "down", visitor: (v: IGraphVertex) => void): void { + const stableVisitor = visitor; + + throw new Error("Function not implemented."); + }, + + isIsolated(): boolean { + throw new Error("Function not implemented."); + }, + + dispose(): void { + throw new Error("Function not implemented."); + }, + + updateDirtyValues(): void { + throw new Error("Function not implemented."); + }, +}; + +export function createGraphNode( + vertex?: T & Partial +): IGraphVertex { + return { + _value: 0, + _sources: [], + _observers: [], + _flags: 0, + _epoch: 0, + ...vertex, + ...GraphOperations, + }; +} diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/reflex/src/core/graph/graph.types.ts index 8330624..a0a4c6a 100644 --- a/packages/reflex/src/core/graph/graph.types.ts +++ b/packages/reflex/src/core/graph/graph.types.ts @@ -26,7 +26,7 @@ import { BitMask } from "../object/utils/bitwise"; * - `_flags`: bitmask representing node state (dirty, disposed, scheduled, etc.) * - `_epoch`: version counter used for dependency resolution or cache invalidation */ -interface GraphNode { +export interface IGraphNode { _flags: BitMask; _epoch: number; _value?: unknown; @@ -42,7 +42,7 @@ export const enum NodeFlags { type EdgeDirection = "up" | "down"; -interface EdgeList extends Array { +interface IEdgeList extends Array { readonly _traverse?: D; } @@ -52,9 +52,9 @@ interface EdgeList extends Array { * * - `_observers`: list of dependent observer nodes (subscribers) */ -export interface Source extends GraphNode { +export interface ISource extends IGraphNode { /** Downstream connections — observers subscribed to this source. */ - _observers: EdgeList | null; + _observers: IEdgeList | null; } /** @@ -64,9 +64,9 @@ export interface Source extends GraphNode { * - `_sources`: list of source nodes this observer depends on * may queue or immediately propagate changes depending on runtime strategy */ -export interface Observer extends GraphNode { +export interface IObserver extends IGraphNode { /** Upstream connections — sources this observer depends on. */ - _sources: EdgeList | null; + _sources: IEdgeList | null; } /** @@ -76,7 +76,7 @@ export interface Observer extends GraphNode { * These methods define the lifecycle of connections, * traversal, and invalidation logic for nodes. */ -export interface GraphOperations extends IDisposable { +export interface GraphOperations extends IDisposable { /** * Connects the given vertex as a dependency (edge in). * Returns true if the connection was new, false if already linked. @@ -143,6 +143,6 @@ export interface GraphOperations extends IDisposable * - `commitTransition?(node)`: optional hook for transactional or batched updates */ export interface RuntimeContext { - scheduleUpdate(node: GraphNode): void; - commitTransition?(node: GraphNode): void; + scheduleUpdate(node: IGraphNode): void; + commitTransition?(node: IGraphNode): void; } diff --git a/packages/reflex/src/core/object/object.dispose.ts b/packages/reflex/src/core/object/object.dispose.ts index 3e71e09..19a71b9 100644 --- a/packages/reflex/src/core/object/object.dispose.ts +++ b/packages/reflex/src/core/object/object.dispose.ts @@ -1,11 +1,11 @@ interface IDisposable { dispose(): void; - [Symbol.dispose]: void; + [Symbol.dispose]?(): void; } interface IDisposableAsync { disposeAsync(): Async; - [Symbol.asyncDispose]: void; + [Symbol.asyncDispose]?(): Async; } export type { IDisposable, IDisposableAsync }; diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index 546aa20..e853ed8 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -165,18 +165,18 @@ const OwnershipPrototype: IOwnershipMethods = { * └─ _disposal → [ fn, fn, fn ] */ function createOwner(parent?: IOwnership): IOwnership { - const owner = ReflexObject.Inherit(OwnershipPrototype); - - owner._parent = undefined; - owner._firstChild = undefined; - owner._lastChild = undefined; - owner._nextSibling = undefined; - owner._prevSibling = undefined; - owner._disposal = new Array(DISPOSAL_INITIAL_CAPACITY); // Pre-allocate - owner._disposal.length = 0; // But keep length at 0 - owner._context = undefined; // Will be set by appendChild if needed - owner._state = OwnershipStateFlags.CLEAN; - owner._childCount = 0; + const owner: IOwnership = { + ...OwnershipPrototype, + _parent: undefined, + _firstChild: undefined, + _lastChild: undefined, + _nextSibling: undefined, + _prevSibling: undefined, + _disposal: undefined, + _context: undefined, + _state: OwnershipStateFlags.CLEAN, + _childCount: 0, + }; if (parent) { parent.appendChild(owner); diff --git a/packages/reflex/src/core/ownership/ownership.disposal.ts b/packages/reflex/src/core/ownership/ownership.disposal.ts index 73946d4..ffd09a1 100644 --- a/packages/reflex/src/core/ownership/ownership.disposal.ts +++ b/packages/reflex/src/core/ownership/ownership.disposal.ts @@ -1,4 +1,5 @@ import { IOwnership, OwnershipStateFlags } from "./ownership.type"; +import { Bitwise } from "../object/utils/bitwise"; export interface DisposalStrategy { onError?: (err: unknown, node: IOwnership) => void; @@ -6,48 +7,67 @@ export interface DisposalStrategy { afterDispose?: (nodes: IOwnership[], errors: number) => void; } +/** + * Batch disposer for ownership trees. + * Designed for V8 fast path: minimal allocations, no hidden class transitions. + */ export function batchDisposer( nodes: IOwnership[], strategy?: DisposalStrategy -) { - strategy?.beforeDispose?.(nodes); +): void { + if (!nodes.length) return; - let firstError: unknown; + const { beforeDispose, afterDispose, onError } = strategy ?? {}; + beforeDispose?.(nodes); + + let firstError: unknown = undefined; let errorCount = 0; for (let i = 0; i < nodes.length; i++) { const node = nodes[i]; + const state = node._state; + + if (Bitwise.has(state, OwnershipStateFlags.DISPOSED)) continue; - if (node._state & OwnershipStateFlags.DISPOSED) continue; - node._state |= OwnershipStateFlags.DISPOSING; + node._state = Bitwise.set(state, OwnershipStateFlags.DISPOSING); const disposal = node._disposal; + if (!disposal || disposal.length === 0) { + node._state = OwnershipStateFlags.DISPOSED; + continue; + } + // reverse cleanup for LIFO semantics for (let j = disposal.length - 1; j >= 0; j--) { try { disposal[j](); } catch (err) { if (!firstError) firstError = err; errorCount++; - strategy?.onError?.(err, node); + if (onError) onError(err, node); } } - node._disposal.length = 0; - node._firstChild = node._lastChild = undefined; - node._nextSibling = node._prevSibling = undefined; + disposal.length = 0; + + // unlink and clear references for GC + node._firstChild = undefined; + node._lastChild = undefined; + node._nextSibling = undefined; + node._prevSibling = undefined; node._parent = undefined; node._context = undefined; node._childCount = 0; + node._state = OwnershipStateFlags.DISPOSED; } - strategy?.afterDispose?.(nodes, errorCount); + afterDispose?.(nodes, errorCount); - if (errorCount > 0 && !strategy?.onError) { + if (errorCount > 0 && !onError) { console.error( errorCount === 1 - ? "Error during ownership dispose:" + ? "Error during ownership dispose:" : `${errorCount} errors during ownership dispose. First error:`, firstError ); diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/reflex/src/core/ownership/ownership.type.ts index a339a88..65b4502 100644 --- a/packages/reflex/src/core/ownership/ownership.type.ts +++ b/packages/reflex/src/core/ownership/ownership.type.ts @@ -67,7 +67,7 @@ interface IOwnership extends IOwnershipMethods { _lastChild?: IOwnership; _nextSibling?: IOwnership; _prevSibling?: IOwnership; - _disposal: NoneToVoidFn[]; + _disposal?: NoneToVoidFn[]; _context?: IOwnershipContextRecord; _queue?: any; _state: OwnershipStateFlags; diff --git a/packages/reflex/src/tests/ownership.spec.ts b/packages/reflex/src/tests/ownership.spec.ts index d9c6a16..b3d9fe6 100644 --- a/packages/reflex/src/tests/ownership.spec.ts +++ b/packages/reflex/src/tests/ownership.spec.ts @@ -45,7 +45,7 @@ describe("OwnershipCore", () => { expect(owner._prevSibling).toBeUndefined(); expect(owner._childCount).toBe(0); expect(owner._state).toBe(OwnershipStateFlags.CLEAN); - expect(owner._disposal).toHaveLength(0); + expect(owner._disposal).toBe(undefined); }); it("should attach to parent when provided", () => { From 2776283d8d3d961e512f3b43341297c0475d75fd Mon Sep 17 00:00:00 2001 From: volynetstyle Date: Sun, 26 Oct 2025 15:29:40 +0300 Subject: [PATCH 06/32] feat: integrate Queueable interface into UnrolledQueue and update dequeue return type --- .../reflex/src/core/collections/unrolled-queue.ts | 11 ++++------- packages/reflex/src/shared/types/queue.d.ts | 13 +++++++++++++ 2 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 packages/reflex/src/shared/types/queue.d.ts diff --git a/packages/reflex/src/core/collections/unrolled-queue.ts b/packages/reflex/src/core/collections/unrolled-queue.ts index f908d40..185d836 100644 --- a/packages/reflex/src/core/collections/unrolled-queue.ts +++ b/packages/reflex/src/core/collections/unrolled-queue.ts @@ -74,9 +74,6 @@ export interface UnrolledQueueOptions { */ export interface IUnrolledQueue extends Iterable { readonly length: number; - enqueue(item: T): void; - dequeue(): T | null; - clear(): void; } /** Default node size most stable for V8 (power of two) */ @@ -185,7 +182,7 @@ class CircularQueueNode { * Thus, the queue “unrolls” and “collapses” dynamically * with constant-time operations and minimal GC. */ -export class UnrolledQueue implements IUnrolledQueue { +export class UnrolledQueue implements Queueable, IUnrolledQueue { #length = 0; #nodeSize: number; #head: CircularQueueNode; @@ -221,15 +218,15 @@ export class UnrolledQueue implements IUnrolledQueue { } /** @__INLINE__ Remove item from queue tail */ - dequeue(): T | null { + dequeue(): T | undefined { if (this.#length === 0) { - return null; + return undefined; } const item = this.#tail.dequeue(); if (item === null) { - return null; + return undefined; } this.#length--; diff --git a/packages/reflex/src/shared/types/queue.d.ts b/packages/reflex/src/shared/types/queue.d.ts new file mode 100644 index 0000000..446ca0e --- /dev/null +++ b/packages/reflex/src/shared/types/queue.d.ts @@ -0,0 +1,13 @@ +interface Queueable { + enqueue(value: T): void | Async; + dequeue(): T | undefined | Async; + isEmpty?(): boolean; + clear?(): void; + close?(): void; + [Symbol.asyncIterator]?(): AsyncIterator; +} + +interface QueueableLike { + enqueue?: (value: T) => unknown; + dequeue?: () => T | Async | undefined; +} From 39b9434d25d53507bcac23c4509ff4e2936b44c5 Mon Sep 17 00:00:00 2001 From: volynetstyle Date: Tue, 28 Oct 2025 14:10:36 +0300 Subject: [PATCH 07/32] feat: add example components and type declarations for Reflex library - Introduced `ArrowComponent` and `FunctionComponent` in the examples directory, showcasing signal usage and event handling. - Added type declarations for global constants and Reflex runtime properties in `declarations.d.ts`, enhancing type safety and clarity. --- Readme.md | 30 ++-- assets/reflex-dragon-gold.png | Bin 0 -> 2087818 bytes assets/reflex-dragon-red.png | Bin 1056629 -> 0 bytes packages/reflex-dom/examples/Components.tsx | 34 +++++ .../src/core/collections/unrolled-queue.ts | 8 +- .../reflex/src/core/object/utils/assert.ts | 22 ++- .../src/core/ownership/ownership.core.ts | 140 +++++++++--------- .../src/core/ownership/ownership.disposal.ts | 30 ++-- .../src/core/ownership/ownership.scope.ts | 65 +++----- .../src/core/ownership/ownership.type.ts | 3 + packages/reflex/src/index.ts | 1 - packages/reflex/src/runtime/index.runtime.ts | 81 ++++++---- .../reflex/src/shared/types/declarations.d.ts | 29 ++++ packages/reflex/src/shared/types/globals.d.ts | 2 + 14 files changed, 275 insertions(+), 170 deletions(-) create mode 100644 assets/reflex-dragon-gold.png delete mode 100644 assets/reflex-dragon-red.png create mode 100644 packages/reflex-dom/examples/Components.tsx create mode 100644 packages/reflex/src/shared/types/declarations.d.ts diff --git a/Readme.md b/Readme.md index b3cb626..8eecbb5 100644 --- a/Readme.md +++ b/Readme.md @@ -1,22 +1,17 @@ -

- Reflex Logo -

- -

Reflex

+
-

- Universal Reactive Runtime +

+ Reflex Logo

-

- “Reactivity beyond the DOM — one core, any surface.” -

+

Reflex

+

Universal Reactive Runtime

+

“Reactivity beyond the DOM — one core, any surface.”

--- ## 🚀 Overview - Reflex is not just another UI framework. It is a **general-purpose reactive runtime**: a lightweight ownership system, fine-grained signals, and a scheduler — independent of JSX or the DOM. @@ -30,22 +25,16 @@ Unlike React, Solid, or Vue, Reflex is not locked to the browser. You can render - **Ownership as the Unit of Life** Every signal, effect, or component belongs to an owner. Dispose of a scope → everything inside cleans up automatically. - - **Contextual Dependency Injection** Context flows naturally down the ownership tree via prototype inheritance. No prop drilling, no manual context management. - - **Fine-Grained Signals** Reactive primitives (`signal`, `derived`, `effect`) update only what actually changes. No re-rendering unnecessary nodes. - - **Coarse Transactions & Batching** Batched updates, snapshots, and async-safe consistency for SSR, hydration, and streaming pipelines. - - **Universal Surfaces** DOM, Canvas, WebGL, server pipelines, native UI — the runtime is agnostic. - - **Scheduler-Orchestrated Side Effects** Timers, I/O, DOM patches, or workers run through a unified priority-based queue for smooth interactivity. - - **Lightweight & Fast** Core size ~6 KB. Predictable scaling from micro widgets to massive app trees. @@ -69,7 +58,6 @@ Unlike React, Solid, or Vue, Reflex is not locked to the browser. You can render - Priorities, deadlines, cancellations. 4. **Surface Layer (Optional)** - - DOM, Canvas, WebGL, mobile, or custom renderers. --- @@ -87,7 +75,7 @@ App Owner (macro) └─ Effect 3 ``` -_Signals mark DAG nodes dirty, scheduler flushes only affected computations._ +_Signals mark DAG nodes dirty, scheduler flushes only affected computations._ _Dispose is iterative post-order: children first, then parent._ **Dirty propagation:** @@ -118,8 +106,6 @@ Memo2 → unchanged ## 📦 Getting Started -**Install:** - ```bash npm install @reflex/core ``` @@ -203,3 +189,5 @@ createScope(App) ## 🏁 License MIT License © 2025 Andrii Volynets + +
diff --git a/assets/reflex-dragon-gold.png b/assets/reflex-dragon-gold.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae33d08a1191cd0767dae1637eb9c870ccbde93 GIT binary patch literal 2087818 zcmeFZc{r5s-#32E!pJVllC4yh!i=SCV+J7W3{@&mFdG6zQmgD#PuQ}?NnQPALyw3OQy`1mu6lH9v%f>9g3_%c^ z-pLat5QGFDkq{Fcyv>m++aPG>r5!=@JpJ9(*Uc7O76$M3c546vG z_XP+#w(w_^?mwg4{_7}TZ+8{?NR?v*2eiB$##Y+ao**x+Ag5?At)z79n6#taaR)hN zGy&u2NPiaW!=LFS|Cx?J{9hg_Lm(0zynS3e+=<`@Xym`#VC&)i-`rsLd$f$79Q}q; zJ1{8AiSWNoeuV3%>{pml=zLx ze@mn@f#@t_Pw*koX$+>*nCt2gV0XorNJlFCp##x};O)b=-|>oryOWPI|M7#rsdA^! z>?rC+aCdP8L+l7woE(YH1UbcH_VgLgi&lQ=@bz3I49GuRJmtIbQ;eaiK>6FfqxWQM zHKGp@PTSad66{aXpZU)VHuYzz;=h+FXLsd)<%iuBf{WWf+<;ZmSNh1+#T_iq-OfSp zM8MGiH%}E87kd>&M`Z_$GR8sLR?!YEt>7T9EUl!hATLcoA3sL0vm>CD9FF_^p34Ss z$-$f8w9K*NGMF6~qKlI| z!N=FzA>cI8;fkZ!Z#b~B^kK69SHk=I7MXud=lw^LZ2nVPBOcoMdS3~U`nTu&X7qoK z_-Bqkk_iC%!-6=&Y$@r~Z&5wASUn9n{MK@hWO?ejg90VDQwVb0YGwb-EBU{h_g@n7 zXId|Dv9?cD+wl-q*}uXwHtwERvgiPYU_@WlqD{-cH5G#pjBHi;Ek<$w9`` z-Ra-N1A^pM|FHTWsg$$(Z*=uvcmU~;tEcn2<=O>Q#Y5O(zWosw5Eyg>LK+jH`W_?-qB3QZ1 z9c;De!ek1#=;H3ArGa5Xv(SHIVMU&Da3^9o(d_iE%&aIgZ(j#b7ds3KdKdi)BRBl4 zDO#A9O->Q5fKkLKqLtB#7U1i#e|=T3KpX#;;TR6Emfy268hJXnYv}#k)9Av6*^d^X z|Bhhg`|~tW`XWTNPU(rdxQo(+R?onc+Xa-|4Mz*uMpCn#BHIh{_NjPs78MzN5__FSd|Dj3t8`|&SMGF39 z6obm_@Md)Q7c?tafe<$gwu6MDq2KEf5<~K#_mX)mL@qnFCXGGQxEh+q8f;ZdG%$F9 zKF!E){te0%3eFeU;dV)~9Ua+MWtL9DmUf;%4%hG4IILwcYmbh-EPg zSKIG@+|)aN@6~H!=8D02_Of=y7qXKUbyTxsncsa^yjr172$lFmWUmR z_N_bd{}Xa(+<%BJf|b$4!^7wQNl`EuIkd7IT3%V<*l$GvUzL7;RkZm3R4F512mXEi zFa`*4o&!Qhz?k855%{oocXgiehkIX|F0aMr%-6bZc&FU#VvygAo{m^>AdhLJrPd5w z+Eb4lm$kMIdzW9NZ&r^mc{%T=cvH&-gdvoh^Z4xDESvMdPF z*t~H=1(x;ek@pYLhu=TupHWPYxm)1vBe%}|;K4@4g{`(O^HU9lvsqpu*RP0-bqUSA zl^RxXy!q}v_p{KFeuCTAckUgF{p0eyrcyfy-<0gs-m$$>2||4J1}_m@W*v+7>%4B= zdFN?TzI&wZdZ;ts2l#UjI06R2vhC0WG{?VmodJyiYV%*z{rsEx#|vy@+KkN4B=aop zq9?_%EdQo}|E)Ek8_RzwAneA!vjLc1LhD#h?V2 zL{e%F4Omsyv*kX8&y?RObdg${K5|UyGVWv8%_uiPPU8&!&xf;gONaM$E9t*8xcU-% z;Q4nX&gA+-k5bO4VpZ$hab+JGql|}G?V-&?`2yY-k1la?5&Pe&-zpQGQI^T~M;dC@ zRPKHGT3X|PSz3nhsrQztyGduiUwfE_zvmo1;<7XRyyC%~@*RBxUn}C#Und$JKM=&d zri~wqweCN2Ec|xCxwuCGyY_uQyWnFgzrJS-ou|irsytupdC8OQ+_wJ4w%X&b)S|l7 zUlcXzd7QfP>16QK;+fd~n9kM^i0X1rE;k92a___8vHiP*1jb%jcpm%NF1b51=c7k- zt=mw=F3FvU=zz0Dgea+s;EBvFeChF9LrN_=~__1pXrM z7lFSB{6*j|0)G+si@;w5{vz-ffxig+Mc^+2e-ZeLz+VLZBJlqk0xRe7UT@KH@`sd! ziEmd!f64TnC{Xy65s&qLrN`hD(s;;R3D>bTzgQmHAG2V};E8E}Q$}=?$qwGTG4L=r ze0*T$3k1E)_;c*#e{`12 zTI2_Rru#oV@fOJP=LQ4tZjb-WDpwJGGChw)s$+?y<-+~@NRf{-IMwA&aJeD_PQ`eG zvt{7;6CG7PJ2|5BIkd8@de0+jwsy(dg_?2tbsk$sdt2!DF&|l1PX{M(DImwz#ol(O zYv(7#sjs7_1Hr%%LC|;(K|AjuE+*I#YzYD5g5X>*1Q%?l7t(?lkqnFsNJd5mMih#X ziJ6m`dDkvx9(E2^PF@~9K3<-^dj*6Ji3scy6WqI3^r)!VVR1<*Nq!M&w6p~Jkc6ZJ zeG(W7g<@u6=4NK*mJrx0An||w+Nps=z&aUVzh89P=r0%?0Tzd1+QrNQ29$9^a2Nss zMA-NcK@5g8`a-Sif4tVj%g(qY&iD{O6*kkf-?x4J_cf>B{y}W$< z0*4NZOGrv7C>}emq^zQKLR&}oq@KR1+1YdE=Py{;**iEoIlH(LeSH1=0|JAtUb}uH z@@7@Al)Lxtr#{Ti$$gZU|MLja|D>x2 zVg=_J;9LkU2nWr%lG&a4@?sx`qtx$H2yu(4NPY@D{1*PI`V!<7&B()~!VFm_LH@WF zGCPe5qm4sTcm_y#2WknA9Ke%zpbQCUc^1#;%$Hrv!z7P~rlJ`|8pBaRko@n9>r~Nt z1<0v~jF@(YHjLrhYE&qQ3TIuV5PA#Y93AAn;WtjhnIZWl3L+0H0X3IF{Iqwa5OG@@ z61fct)}Lb3z+T~nzLY6{PSM~!6`LZ}#D3Q|0y zs)f8?0rH!|qYU3lKuBYVBWwu@CE{6rkO3*{JW$#onfEa`ClQ1cX#|&0`VclBq9FJw z3>1hsg?~THej^+O#swL}@U^pFA#sgneWXY{#di5{I0M83fmta?WeVaI539|`a2N$a zONB7&#<2Qa1m`HAhdzcGQcr@|aWz!fQY|DH1ZXyfO#t8|XvEe+NPJ|f77`kV1slVS zVe5|My<`NQ(NKv(Sf*%X?m%ZD{*5pn7?TuKnh}>LYT#0-(ZFe z+gP#AoT1LpD4E9?wnTxG5j}t!Tsnjh(T7w81?V3Im#6Txg27Z#@H1?xhYZ7`Tp^o} zWJE?ABup~~oPe!UA!lf21`ng<^Vx4Xa~h*52*z-f5J?5X$>VD&nj(de>{|qk&Mi7q zQA6}O*bv-+-MC~(=#4QVTx9Gmg8R;InaR$eQ6ZcF5FGi~hh$NTZ8W4c6^%p`LNd?u3y_=W2;T+3kcNbUj4?P3z`*O%7}_|D{yYslkR32afz_xZoaIOO4KI8I00`C* zej`+Z(-_W$XIVFfB%rU5Bp`~Nh=0Ecn06I+9iVOu2NEWnrvR0YhKGZbd{j7)&r&F? z6rytn5(=asS1AlrQ)|W;321{VI)Sgn8A@;l2{0mJOPN#wm}5W$ze4=j*AynzWeUR> z5VyW13X-A;E>O z%#jPh0Y7XS$%vNlsFrY+IClw1&6fg&B|%_GV6iZO1_BVrE)Q^l0Mkr202%^Fk?VA^ z2LyrVKrw!U;nyLN6lYFwi$8_XUkG&PD}+)8qOY210jZa=8ty;?c=qNo{H~^;80vn* zU}IPt6%G`D1z(M2gTnwFqvRtQN%SY8cv#Og2O-6Q-qBYmi%UkZZ;f+?U7*;eA`eTz zoS|(WRsb`aqA`W9o~J;5A1E3-&=lP!EGd8)-h)qoI#>sw?aX!{V8L!Otdk}IBgJn? zK*CFqFF>&Q6cr8Vk>K>FAgX{cQsHsA2v#74h-gSvm?Qw$H=7D^=tIiO6kB7_8DLw8 z(U5f;R0-ByCjrfLghzI+Q}+YL?wY|fqlzTp9EEiLq8sXgP}D-=>p)L8jQ5A020|p< zO@W4hInqZ06>)~)nk@mL%+7pCOkh}`M{#!$cxv`mGEI>U_U7Ea_dokG|QP`+9SMOy@5GLbAGWxAqqcmQl?@wA!Km1uKGwlP3UUIp;_X6eh5Q-=YpISxfkJIFA>YT{sD%(@9}ySf(I> z@&S>CZ38h4rUDiPK}t&$h7IshK;_s2;XHY*l_`S@&yTUBIG8tI`fw7JXJZk4XW0Bj z*!4QK9?RZ0bBq=2C%k(55;6|l6|s4@_u2VIqflJ&kyI6K9f#%{iWR=nhwld9H|r$6 zkVEx{ncK}Dtt7Cgb!v&u>1QyfagAR#L8>P)VZg#rblOqabqWHk2>&r06_!Rt1FPUE z0qhK7seS;@j0M(A0ww_?e*LX+VF~~}pgBrFH>f}{`M?G4dIcsUcX>Rs1Rpb9oZ;b- z6M!zH>?@!->r_~#J|o_l(+|MKt42lBBsdX3@e%nzv|#luK%B}DFrYBNG69I_O7#1U z7f1l>wAzuOTW>{m-9m(a)dpCT0y%de`;6>76!lUpt?XIJON^ zIW@pPw#x>Oi|v#l@eI6sjSTLz$M}p@yn1{szfs*us+v`UPc&X*k|WpWUKHI>O8`xS z=th?Q5o}h#tQPA7DWz)*xNO>*N8d#Zzf15{HG(Zg6c~0I@nsw4fM1`@dOh-y&)=%aTwFB~B<;fakB2_f8?5Z<($hLW zS;bwnC#f_@=#3L=p6iNe#*K2ediZ(vz+oramJ2NX>9~OPtBOs-uZQml>Z|La_z<3B zh}MJ|3)2D>63YSOm{+x!xCHdRz6@yeDg{Z)hXs?C z$02|o*jVXC0&Hl&$^bw_a-rYO!9S8W55`JBJCG6u(GQH~D+TD@C>U))7fgr>g{6V* zCB#@xxQ$7pGn!Fy>J&Ww>KquG$|$0blpUz0PYOB1!b;!E*NQST0vBR28Y#HV1BK$G ze(Mq`nQp}{VN1Z)?oVM@*-m1eQo{`0HqgE;JtpGz!jeIc??w!J<5pxz!%{8r?8lFf z3Un?rx5UQTbuL+1G+%tq>&N}HWa*OU(?}8DdSg;UL$OS*vT4Y3RWTsuE+KtIXr5I* z+7Y=ZZn3Hm?oQlo=xlpwFq>;%_2ZsHZI^^9KJ;b&dNx8rG`AG(IduAmOiiPd{+C4( zSBP}tL6;Dmr#t4(%H@bX4J%S^Z&Qj^O~1_Z|l{wlC(OJFmh!g}tZhE4*}9Kkc=^dY0g7Ba^o z*i>3+baw`@0XQ$s77&L5u=o^>A9T0H!xe!2dk6dx4!lrU@X{ceyAYB%415d*u-gOs z0!E8c2(|FNU(kasuc7>wr(&s+xK25017<#lutA7pLzH zs^-@>5UJ?xy(_a_Y32pGT+9_7U4!Yz*_y6&j1qwH7@=EhsFp6X8~{wZW#FJ&4Z#%( z5^U%;#TH25?63f@q!4)32pG6UfeG~%5+4Bj8Uq9^;$d6Pd|?N`Ej&<|W_bMAk8o%M z_{{j~nE7bP$Q3D#U|$0JY48$-fG2}({hc#F7j}PVUBK$lutAn`I3#30t?;0$zijUKO?RH-T_O3+Iw@wBp*sE?jn4v}7(9NMeVqC& zZs5_g#;2V@77_Aao_nq9Ts|I~*S#$=YSTW9eaAN?8ZWDm9b5JGj@S;g|J(9pXy(8+ zVL8xW`@%b+sd1d|p3*Vg2hW1c%~>~-I+IXRae~aXFH>>M0XIHX>*f6LFkwQ=rfMv& z%f}Tum+<7S+#Oj@ocQX4MZ8y6Nc=V7W5bDw-uzXskVhbPTarlB9f;TH?Po7r^e0&t zBfE#`7dM|{xdKIk*(N&oeDvWyLTql$UzsFvpJYICz4omy;uyk5oP3zde<1Zxs<=r} zOt~&9Uvy4eVft5i!FcoG`MhfL>kjYcdMc^KvQCLj+1vLso?_$FAG`>kFs`%t{&+R5 zOyc7Cj7!x*L07HD(2?}5SUjYauk@NY5A^Ok-ERPPgdRp9n31TwTu5-k7?yxXtpf*j z7PxoW3lyXRs6Hq6>Bdjw&hb!2PG1vE_3LylrParm!#gnP9 zQ;4|jx1zuy1a1t7`oMD}C&1nh9>?l^MDIY3>z8T#*)xeo6dt#Hq1dZGg)~>MyouU- zY<=Xsd(sZ{K1i0v6oF;)HmlQA(KTP&r+F=7L+Dq+fb>2?mXY&0Ejv)NLFSL+ota63 ztB^VC{2uX&&DeV_*MjzqSHSCDGpWGHP%~jWxPu|iavF*a9f$oCTu{kK%lsG~iyDOl z1)YjiVzcAw!gr5EhGFWk#MY_K1qEoBUvLO@CvI`(Br=uH{p`745~D`H8p9)p1GXd| zb>s__D?xBfDU8euEVj_Q%$9g=?~}_|*er-41#^zEpS0Eeyd9QwO)2(4MMA796=VLY zu^ZJ&+oUpbM5!Ih3AoPDE4^a*b8u875g*#Dvw>Fcn!0FGtYX8`T9P(V7o1@_$Z=z% z0KnVt-6R->a;5eU#=n>N;9JP&sL4eyt_wy+f!VLcEJP@KK zC~cIiBElYEvIAMd&x$y`Xkz^(Um@gIJRf%TYE!_|Ber4&r@ISP48tNH2axcsr3yQc z=B?El!moqX4LaCh_8%ED}f~4#F zfG=PO>mnYwAXUr1Jq2{L0+SMmEtG(7 zAqT?26lY-Bfv*6f8L%n-o|0#S9z(5AY=KgM)POJuD9xbpZ^H>D2mKQo&Ynf4h*Kc{ ztP0n-awS<0UG2y-)C=>j|DytggZK$$!8gURc z(i^W6D8@rhI6ou)2sTM-!b)&1uAble8MK+OO|oFbjnqL(v>nK1u_d0}m~VJY{YTZ< zx+&++AxCeoSVm$-=DKMx2SH&o#zEHbZ{{wkP^Y${EVn(Q}Cwt-N_eOXl z-{DKkW2h4KA`zY^!O#1K3Uu$DE%}&W

90`+$r9!*&u#pP;uL!$CSkY38@`vEQe& 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

-}aNe?gtFy;pVfP7Il(& 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

*?zk#_zz6KJ%-@N~A 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

%ZM%PV~R;ze1X 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

7+Tmg>ZD%8GH^ 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 z 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±UFeBd;^x41c2FgB>BEQ!C8f0(0z<*=d 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

<2u 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⋘t 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

tzEuSPs%mT{8 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 z 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

Rr-3i`>b6qZYX5?qnxmOek|vV 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 nJ8^CVX^^#R>A6+o@Uwuzx1Vn}~9_OU(ZO2HNI1 literal 0 HcmV?d00001 diff --git a/assets/reflex-dragon-red.png b/assets/reflex-dragon-red.png deleted file mode 100644 index 8c82c34e2d69a0003c915575c4fd65bb7355746b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1056629 zcmeFYcUV)~x-T4xf+!+_bchN_liq6*;vzUTRz|IEyhF~=P5@9pmxBlwAm0x1a{2><{fRebp1 z82~_t`$-5O#>d@uAq~R-z;r9v_@4Ip-P+C01lP=jyPJXq9E}0wfNL)RfP8@1dnbY) z4FG`1$$NgSo4Rv9p=1g_*r8%+%i4&dglli8{BC z1J=pZ%EHRk*jCNK%^7T_?&WCaDR1fO>L|g>3wGzRa&!grI5=DI+M9W}fE`TDTzG%> zclpuZ71y8F)!Ep}-po|i*22Nr%GJ`&3jEm2)XF&H=Tz)}pNfOMJC05>Q{0>jeiF(4 z1C_re($d()lE>88^&CZj&pD0R)@GhyTQ`?;q+WhBb8$6xcBQ#xZfj<5;c7`M%Kd{X z`}2{_Z`v8#Tbbj!fQ@Y}%v~&v1%yRR&qvh0$%GE64_2}&4!CIqweR%%O-!HuFpHpS~F;xMu?SJM6*w)y}?ssnB!OmxzV{K)Ro1Q(` zO!0x|T~9kl2`ej831dMM69Exnac-Pw7;_7mn~QOag9Z7y`2_{V#Y6 zTDe$R*c-dLIh%Ptb}_RxXa0eRH1Byg-hWGef4su;$8gR+g~{kofqnH6?B;Ci$@!P> z{NVMUJ$@hKr*Psh`pJbzl}t|V7Ode&eW3)?}e84Uab#ppdHkeO!+J z-MD`U$*t-HF1_|^GJPx73{CPY`11z1TDOkeQ%GK7)%F52z z!i>k!-r_G30ssh{{p9xVf++z08+H8y51fDq^q#YO@U;%nmydXNXl}jIArR$zMIgxc z3ZMQ10X`l+KBavzd**gq%_64=nsHh7MzIMMy(Ay$#Y>z)4}*?L@$jx(0PrdC)A7+< zB+wuvxI(UFW^(^rp44z$w6eFjFUwELclrFk%U1{=nc2JWU*o%a{z!6#NZr}Z%+U(W zf0^&ndCNr#d<``|CTdavVLpC-K>+@r`JkHWfqn*Y$9pA0vbAERAVbu_b= zRs4_PFJB@0DR2BNe7DcL5L}`E`N5m#^SF8ck>X7&`61_!zXgC@YuqJ-$fHbrJ8v1tL5=LRmf#pY(q`^Wg>Y|Fm!J#yqaS zV~A5IJ684qz8YKF0I!u@X}8QU1p`1cZP5V)^~= ztAtd9lwF1tJa_4ZKiZkdJr=xw!DKTA$@zn0jAZ9?CnUfpdht*ECwPU22k^3#@sVD5 zH8){UTVr3JF?Rhye*z`PA(0yQ&@mc1gpi&iU&EhQpc{(Xw>0E9TkrJ^G2Gga2ktJ* zD%E}`u*xrK)4e|-*9|BMKlpB4@;H<`>^&e|a42A-k$X)$N0d5dC&SR9mF#|&d#A=t z#fvkgbm7U>)cACM1m3=;z`CbFA26veO`5*vy;a=)JaBral0KZG(?(^UPht8XVwn7d zT8h0e;Gxqaokyk!)Aqu3g3J=-Mr&jiXMlA~-?CYlLGZ21!g01yVvdex+}UPz+wC8Q zcy@{#i>2jB8jT2V9Iz!{+evUsMe$(WO_jT#BvU0kw>j~ z2z%Uha@6oLBi;1joHntyeu1~_Nl=gkUdDEg^YqP+Q_Z43Y=X9P!#Xqqw96f zhR3xYeJ$F_Z~_L}0$0WvcN;kuh0NbJB~g6xE1fa6>us_h-Je+%q*mj^61c@@CQq(V zaYixHbSPI5kgJdGC$&3;#xyxTtG&L|9_VLD^98@m0iOU5fR_p8Gv*`vL)S0x5#ZG3 zAJkpDZZ8i(x*~UxlcN0Va5bj|XrQ3-YEW zzqhO9d+}4f$CPAvV3$?fqO7i9*e&lMCy3lusIOXo{tADM3&=yw_=9nJj!NMA{_a=l z$*`4oS~or!`9_I=WAZFD*W@}>CD|xLQlf3}3|?^&DRd7IYJv)e@6+=LQLPWE^?xKK zSqe{}esGnx9y?(ibg|jzv7RpEs*{e9*a+5rE@CE?L-03~b=J&pcW!8OF8My;%K#~5 z)J#QrEBju~W%)YHH6J$=kKdDzKSEa7-duLv{2SnA`Fyv`z-VV@(Y;V(gTki!E5`*- zh%zGTUv0%W$gbPwri2kO90226S?3HII!Ln%@waMYimW)1n_MDdHlSwzx50J{*Pf(# zbl=HPs92<*5L0SW4ycm8T{cAsdKUQ6q2gL_iKJons<`XvMIHy{HrA79!2;^?oafib zU1l0(LMv}>iSy)o5USj3ZJ?^E;g-Fvo|4A&=(B$Eb%@5)>yIhFC0d3oSz#B;>fguI zVwIHL3|#JRKjeF5cq|_F9d!e@C$)o2>e3e7XrT!_=UhP1b!j#3xQt< z{6gRt0>2RWg}^Taej)G+fnNyxLf{tyzYzF^z%K-TA@B=eF5cq|_F9iO_ z5IEBQt@{1eGT~ryFvr3nR;BRp<+UR>mS%Im05Qlr3+JH6uQq?%y#*P3k-nkRXO|wT zB5q=PHi8I6rC@QaG^i;D>g<0y4X_&MDF>Crc9qMt7)4vR;1ZZZn$&FTfMmPHAFpY6AFi z*oW8J(aZwZWc9(s%G3lqj-3TuQ<7Jd2jJn(3gR}N0|4010CHly1H1zQJaPa&IUWHy z9(EFNA8?WI!o>@O7cXA8NJMmznB*D>$)!sqlvl~FT%)F>p`oUvqM~DD1=7(oGf+|8 zynB=R4jTt22Q84BkDHy3m7RnAd=NY$A|euE5(*L$3U)dwI`)72!nOi{xOrZ{`*EGq ze175K6W}ICM0|*ez^Yugya{l-{P0ONb%H|=(ZE3 zz{{u%V&;3LUv4}b*kutkaej4)go>JmmX7rf8#@Q5kg$lTn7G9K2XgWX4;7Wv)HO7< zv~_gBre@|AmR8m-u5Rugo?hMouLFbLybTVCj){$nPe@Ek{+OASodeCy%P%XhsI024 zsjX{nX>Duo_}bYuI5a#mIyOG>ZEk*HacOyFb!~kQv43!Qbc{ry&*{Pg;5PaHy#AIh z96Rvvac5@;iO%W5!}mBRoSg8&E&hwwWuFomJ5k&gcu7ooFDj$-%Oz&PXS+8{oCip# zScK+S_s&WCLD~NqVXywLDEou3Kk51gxPm*+fKN_94gdjA#fcXHlz=CAzx}%XKSOYn z|p_;WRcbk z#*D6i_WBDF06X9VX)5oDz}|(X4>{kS^Cgg{aQW~_k(JQy>;$S>ks9Z3`goG%nk1CA z@hG}R4}dhP;mU^|)9o2^dK)fv<3&A?&C@~A8 z>WWwf<+kF0z3|~`NwfFvTh{OmW5KssY};5snO~!{OsZHZCGSov`ZPfDNfpJlgA?BB z7{n&pu4>9`DYbFa(BL~4=h1g@;Qe9$8y&P=SNAN&O!#7*o-P*MU|m7G88JtVoU*aV zW)CHHWu|j99nbn;0cn+!s+4IlG9bRW;31V9@+k<{%pw}&59L|^x@4eKmU2y=Sa>w` zP@%Jnhr3;=mo(?*hyNMaNdQkQNh7d;=DP9WTU2A*nD~G^EFeB$Y-0n3Ug&Loy6D>t zK9C9(LoZ5)Tb#5Zi!qHD%+Xj=S#{H!uDW1T!-@5#*`vZ+;S)HlxCUM<=oU^lrhb39xbsDGSLQO%=;_vJfv#KjZ;#h-29=_phDa{(R?x}NQQ?kxtOddaoBwOEGud1E1zvjOO%00qpENNz~!I%$v zph7{$N+*x)VH!&)yNx^@rqa{`%cJDvW!FhwE43gjU;`suBrymrU0y(>$VmI|=^Bh; z0lWSX=654f{9aZG)mVViYly4w0)}8_xA>c9Vz;6tJiKFfnT>Sk+3~^>Yzm`=qLJRn zLd|{vm|jzO+6zcc9hmXd)5r8jZjP~B&SC(fR;B%$V5wd;AyN^0<7Z^I`~2&HV7&#S zke!X0ogMpEwUHlbrTF2O_{^pRB6& z&j>IUK)!<-%TOSPZ+E-QmWRF4ez0M@JvUZ&uElQKE^))YX+YW>vBTP^2~A~Z96c!P*NoNoF79tet^rucqDbBD(Z`X zr@*8R>n4VVQr3Aj7r=`5RfQ36EI?u#8XR`uEjV9#3JPu(W#{oc);q;9FPWd~!)~x0 z4@+fjgr^Eicr{6qoT5(h+ycrKm%rhA=fiQ|#2@PT-=_f;cr4c*J5JioMQa{}D+32(q9Zm3<47t~^W?e*L{W5n zNFViB{Hn0bvnq|VOTDIhlw)c`(02>#)_Id7*{J&Xp=R$;zXkjB9dXQyVJZEqHM>p1 z+w)Bh2ahy&<3C=!KPmdj^iASY^LSf%C<=yPpR$yQD~pdFm{9Qi3h9Wjc{m2; zPWocR((yzqPGl@DeaZcPmbIW&La3BfiNZZkr!|dd$$9jG4E20@FADRACiAypMM-O# zqK-4V*=_aq;T`j28OJ4@PLA#tYe;Sz-aRr`s;nnCta#xGiq$-^5TLaE7R_ZZ0$w zSs|lE-8>$m6?ciFcoKv-^}mPIwMi9Jr%H%Yrt~1Pyv_jxnFwwS?J>ock_g}Gr7qPW z)kR*>8rf)T7u+r?QH423OER`O0zGllAtIemCE5%di&w^ksrJ2q6v$*wqO>yJl=S}4 zw#}IJt$D|d@9XuD&!>%7t?S?kKjV%62DhU@`&=;WSUQ(Z%U!~c{=wfraq!d9 zz!#tr(1&8Bn&1x0adb*GbF)@?o`E73aMuX6f#g-os~o(`Eq|-xHThJ6i@(L4nk7x= zsdT;jT+PM@(8s)SGt=AMp8)^{yl>@_MP{ZrGS71puuUByU2+ohWzzn&n+&4mkVvB? zy}=SrZ|O)1;Z6>4f|TFH@y-Uu2fgX+?KU;@rcxk*yykvultmD5nlW;0w|Jsic)`^- zh>YTGC%;sj$<~O6!I-K7Lh?j8(SB>x#)FLBl^F%RZ)p2*eiJ^xhYaydwk~3G?aY7t z>MtP@9x>rHdD+>3>6b!jVY9xf8CB^VwN=mTa7UOCJ!vzl_mO^nccuN^y1C(Sm!72A zrL8>PDcEV;(ZSZS_pFxU{>T4Db7xdGva|V#d)t%*^fF@UG~9xdFKzXJZ=#s@@~K3` zR9eBdg=#jkii0@vX=IlJYK=(=!<>6&6P-g|^xRLLD8#B4VUpQ(Qq*MQhD?>Rk8UrM z?^~bbXkI_Gt6kMMZ8xBcf99oxn^#cR^v;wGX-lUh-<*!TneoHblb6P4{dG(oZ zfC&Q~gGX*!nd`9Pg1oO@x(R{Xk3ys-<;6^77S14b5V-J^w`ZVT(q2WbR zkq0`=rcw8quLwlFQ^>wFF-0LJ@8lF+XF)noM%rnq>vO@1yDpZY0x}QkJS@2v!Kyr! zw(`aN6eK0-_Ni-kYXp*fs%5w$YGBdxBOm(j$ba!zo^%S@1&KyAk}HC;*;uN1QaMK4 zp;R-`wb^!aThDyStp`d9v)ER>&bT;CIEtZp3b#5&$0jDc){xQ=f|A|7IG5}%xAj$u z85ZShZ>bimmJC%ojup^FtN|^e%__^#&fz-KXH?xQE30;zL{&dkgBj4J@q$yHSZeXf zofu7X#+f&__S^d23r^@?mG9F+Y@Ie1d=z_QuTzlux#XSN$`Mjg!o{HK1eU#Mtz9`2 zdmY8RuZ5fkarw+5NWnaMC(xom&j>^Pd-~n^6K7~BlFC};!;e5UV&3S^CD!r2YxbOt z507%D261*shO=M{L!1X{q50Li9FP(51i zThBHw+aaLW+&zr{pwo<^Nb~*LVU)Xr26|7Y-F6&u^{fq&3u>R%TuN|57p2dh_JMT! zw_US!SWKg->@vp2N|>wfZx{?0wC9An%`|MxYEv2s+ zHH@|eULGshF=72$Z;u6Z`pdkLGn<+*x&QQPbwErrgP}M+A&bcV?U#H|=J0Y&^LzQF_*W?$ z|1G&8(0kCo?IwQ}?W`kxR!iyEBJMM9grY& zuE&7Zf6b+%Ze|(QwWx_<7`Y>MA{sB5#Bjx*7QUu_9`4ZTgCcV=mw82Cb65aD_J9z5 z0b`DV((_D=&OLwCQ=b5o7OU=F+JFr7Zl}%M-4%mL6u5c;(#c5b0+gr3Yw?V1Dbss+ zEW&O$p4t;S3Tmmr7!`R_@{<^DR?A!#|7vkhrHR&%zM|S_7sS)pXO46DKgtXLn&>|P zd3k~0pZl&i2+w_yD4PBN?UL#sU+}0sI@&qd=rAI8a3>mFti>;kXQphN4u!o(Y}TP2 zzTM8hozJfR^abEE!M7Twx^xGcTvnO_7VduMYwF|=dZQL`6&Kh#H@#{26Wwxr+9_&#Bz0Yjz5nvDzKq$xijjh*V$a>~04VZQwIUKy*Cl|Y3!U!eh*5TPrJ?kf@F53de&#utw7?jRmN1z zl2AFPOGAnoy|;~jI?s}y-u;FlS+6IGM5l+5?_?U=3?%mQK7L>BSgc7QYZS)i6u#(^ z?w+oqNS6On(*I=oUjiEfi2x_em2)u-s(;_jm(LKOx* z4AWCe@j3J>8l8kCxMbDsxrLd&y>121rB}zWr4QCJzkWY+f309o<$7A|P{J&X5ker~ zK&yY<_x(e4NL3pwp35x2Kxb)qz6*|Y9XzzdXx?VxYx*uKYpvkRMRt~)K0G&-#KYBQ zq^+b5E0>MTgW2XS^wRo6gE!3u4Y0YPiMx;@j(KZ4jdGE(J0z9cN8Ljf{b60dqRa z(`_o#$`F`C-HIyIs;bV_Ha===>NuDs9zDjgu9Vpjng39PhqonT%jqsr7za1~(_v8I`={H7?z*8v(*6j~T zMvasY+^_&ESaVG&O=Ky-rt{rk#k(pTRs;Se2S#4wW0#Izo>!>x81@w$E-OnGI+bXG zUvOkCZicOo1ky;vF-EWV@fz+4RkMB=n)n!y5t9i*l8vFX{1^lx%D*FR$KFB>4?Z<* z`W!+QVZg@`=hhJaDqhFM7v;Kv087i!_%SWu+L)pP{^81%>6W1l9gUQajU(>f;`Y~r zZbMHV%Mq6}q9I9BYx`?drNp+y+~lgpoJ)}~ap4seVU`^hIPA-4_v-zLxfRMrjhW(V z^Jsy(?R&I-3b)I~4{s00E#y=EUTZ(cN@GHm@Pr0}Tl`IF`qwnW)%;9bH`mT>SO?wr2u+l6=kh*}BTZ6;AB+ zP$t#d!Xs%9kX4!fODv6gkVRoBuuFQ{=ylKpE2RBRfB`N4eAkS1GRgpwlwmc0qDXT& zktIO-%QVqg#u=BmF-w()^cBzz<8?{RfXI260+K%7J1~3OzuSocO8Z&trk})^P+k}C zy7Z}tBv}aN$}kL6?>wS7{8K8yo^{{#E!9%YKHio)y-K$F*dZu^`+;YJ?ET5-=IHib z-|AC(srAPD`?CMODFS@Bn%S&-v(~J!UjH-n*ivDJx%LQHvcK3mwsg!~d#DeJ@o_KJ z7^|x?n1RS4VUK;h_u=(Fyw^q5yN>q|J#);m@!)&dj3fKJk`;pwA|GzfI4GZ;x$@ha`vfN|d}jOj@kDsUG2rZF3p=x17~HJDhvu&70e`JX3lm_SFZUH7=w{-48I>{GJqG~NNzjWjBPTEVDo-V1s} zAPYkgNWg)ab$Ox^Ko{U@KTy|T`*q!!R)rX(`FN@3DDo=13|8>* zp+g5sOP(pAJfgn587{~cQDO;lmf)4ySsD7;UIeH76PK$kpV2Yp(yx1z0%xdvyh{#G zNge0cvUf5!YmE3}-#4p!Xf{AJ&}S<~`U(?2vf>LqlMi|AzR@SPwEKAntdoH?XvHL3 zS6b(+O!De9;>HfE!F`8~x9xZqY)*Ii&%Ou1N)LqBpB3iw3hvtuaTX+~myhyVVEiG2 zf?R6dKQxr=!EWG&p%qD)$l5K3yD`HNGf-flS7M^GstR_p_y-CrO9#i0^TuMoqOu@ zq$Ggf_yQ$$bz9AT-Dj7cVh&^|7RWSPa*mfsDG9tMmnKr zPWkNAw;E4}lOJalcfDp6XO}f7H&S~rXxEocOX_x0v-X|)HZ#-IrNf0a?IHVu6(8I} zmEd^CJ#jZs-j`|T^7p6eS_xXX0+GPrv~oe>>6dQ0F+r40vrvALJFH$|&PIGy#@ zs<(ZdG1Yt1_}%>ooziYm7sJO&5m~iK=p2FzsswURq5FO_kc|xI51T*GysFi%TN`*a z-F`;0WJeo9l0J9pbK+-HPAZQ%kx>p7)Kc_Qi5V&JIx=YT^KDe&sfWLja3HeWaATXa z*W#BS4}UoKery$l3*GpIYyDdNRIi#nZB^dTNT{d&xP5}=h4)YG`Ju`NL*$*fzwk#I zM<(JH@Y-v4hfymY{l~~R47-V1G^c6<-fj?F+E;e~?`{4|Oo_i7(1Wq{(uQ<$U{#)pLRyrI*AY|L1XU2coIa;r}WX7n+1+D4QtRiXct!>EO zJTh432=P7{g}sD12x*aDx*5e1h6P+_2wApjn@GQ}R4FmA0%aLAe+k4?Z!S5%Moios!QGSKmR;KcMPcE-aUN6&D;zieTu9 zFj6VZZ#3eLp8AFbxUUu!*^KEXBH-J0Sinkh8cc1vIF5K|%-z{sXUZ2+yW3K>v5v+V z$}x%{lrN7L-)3`W`c3S6W5AoJG&t^<&Ms}-FdzcJfzrsgR6FCpTRIBziGH}ai^q|uTT9cw%HPDTqAbJ!G zN$1){7czbg5hpjKlo#KuQJH9Kxtp9S|hYXINPrecz zB3_yp7nmV|IN`$3?^wjcx!_XKU6WbvcRPlYkFGz}R9GCb?y8tltgkM(Yo+Tgc}66NU@a>F-<%d=-wV+9chiAclNMYkF{(L z6jn(t(`63atL#kBMz|n8zjWI6VnZ+^N)#^9-#df9ocC3zX!ntMr@Z5hDcBZAugSRn z@KTp;E>!M3tZ7@DPLK%?{wN@%q zYBm@T_)K(r5)hpZ?H~>jpdq8%f;SbEezU z?`KeBQ2Dyt!efwFZ<%$HZ*6?VG`u=y{}fm4xLqyv{DUkm1!#UD@g7d@B_Ujt8UvKN z7t9iXlzGA@eRksK?bJc$RjX{1uJaat7JoI3{_5Gb`unY%Za5rT{Jqj0c;|0ZqJPzR zp^>xm@G`O}bHNMs{-oghuzE6-`i|QypL6?IIPu|3ryi-!83X7z-dW3AA)PkF)X%H*d(AgI@qT?}WdhsTHOvsPbkDI?x#6KJ8Se?vkkZW>}%zBFL-e%mDR=DI{B6O&_{FXE9-d{Z4-^QRn8wnbA&0bUvC2v2W zQbge}BDtELZq(KAT^*I(RR{dwIDN@@7Yoo%i-5d_%FNbUsY9>=VRmfF*ck8iMcQs4YyoW?~?!nFlzDL^rgJk=n7O3BIonc&kw z3DD)RrcIW;P3P8Q0*g5755;+&(A=aBjFindbe9?N$a|?xLlu>cDl5|I!f7p$-fXy_ zOH~FtN{izfbKW)ty0WIPU6*bQG-{#s5cKRUqKY~*T01_Higd9SopK$Yopj-tSo8%Ga4xb!6B68pTn)kQQu-(O1pXQ*0wHK1drqw9W?KI5y_tC+b0G_bM>cJPg={1;sYew@$H|I;Pn%=xm4*7E&LmM_Q ztpY57`Chs7@6y|~C)Y7iA(;d8>WBx;>H~*_D~b2jA0k|O6h3_(ws9{yUc~|~r`Z|i zp}dAXuTS<2v(+%aRkJ)Y$L(9Wc)Afo%_XN$dnm>AW~Ei7{DgBx6brx;tSON?>Hk0` zyeB0iU+-Bn_r8beBnXluygoOzmWen;B$Raw8%$viT{x?xK76=jm*EroHsh_iBF*hH z#q2vD-t>o+Kb=cTYl9NrfXDGlLJqKfA>Os0K{Si#DR`)FnD4vOk zt1?bdgYMLRV>Tt3DXAdH`FqU-`g&7NuXbR6Jv) z1?+3+Q*^gjEuaswUN3~~vSLiB=|-1$DeR)?Xc}*0dK^t z<~`Y>X~jIpGyP=0l*scY82~Tn#^w&kiSJMip~!~>e`Fc|oDcnT4EoT-tRAMG7Au6z!>v0R|g+J*e;#gSQ zbFi`}n|6PPAt1m4?g>u>L=>enx5X7HrSfdS>Q#pqxEhcFjk{7zh7p5NJ!Mox{ zHoa|1`_UHA2_lD)sjzmam?Ouj#iBi2z=zTT`n0XI#~nq-Wt_^9}UA ziMeP{uRrYNS1qT#k57p1&%QSnDK=+bdU=^FZ`S`cMx#44F2jChV7DFkZGK9jf_nbo zwAf>01(WZ8P&#QL5u zfYTl3scSI1`s*c`?SIyEh32oGlx#TvblpFfI4c0=IIr^~oczfg+)l@x&kzLBdrT8O z79gv%UkU+spThgaw9fjB<{`0<$Y>|M=q77ubow94G?J|gBF9vyv;yma(yfUQaJY+} zA{!dih09q<>d5{@E#)7b8^MsTsNIpl^#T4M(|!8&?^wVSoE5R@PR_Jg*AW4(BRQSc zM=)m)J%%^oX8XdUkFbFJa5Y@|js;8=kT4G8tc)epf`$RcNXAsxDGJPFKL} z>BL1`AY4GO)p1^q!TAI{Rkfkn;i5;Pm$wTg@(ypfu1naj&UZYw0_XW~77QG!e%4B`x!44=(B&qjKBm2cPAf?@>s)%5tj{fCugN`yA6&8E6K=h^jFWs6E_IESA zUDuE7{BT)XM%$Rz-amS>zkMPcefK^z_c^1Pn=CR#y%Uks>v+)Es6A+8m3>^#R0aTC zpdr9zvovQfS*oPETX~ml5{lM1jJhM&3@a~KTb`DSr^`qb?AvS)9fDahrQWJt{8AyI?(yvRp%vz;RPqhFa2>|n=tAD zCMQCK;fCX5N&9G>A<%LE!kS@0NT5gpcwb2a8rpF$Tfu{ax0mUIgw{L%{PW-?4cW6| z7z=T`=AVSAT$_Ug`8%~1BbV!0QTi>#0biuml;~XxSPx#|0`iEEy>(xQk@TYHH$GJ) z9D`A}M`TBFV_Xys7BU;*ZfOgw5A%J!R|CP-j8rj=4)?0dy*E9RMxT_E`1TKGx$h$& zP>1(Y+Yc%Gh8AV?d;~VLJR*@RMBHfji9s}&E<&SDm zkIb7>S{GiCJIjXDV+br9^ogc^cr`+o7RFX?%GEOYmJ8aZbXGO>nGzKlx>s@L2rc+- zREmAA&OkU6s&*Ne=tl<0IJ2pW=R`k3_H+cX(hq;BFIn$#yS#0j-r3?2!u}K-x3Z5I1eX z+Gjp^_JIUt<6tZAGyUr!N7mXF)^B|kRnzg)+5ObkTfrIuA5!HUq4$S+&P*r4&m+~GBEp8q zPJYBnn?{0{^1g-9ENlCFM@%^w@f0K67V3{sm~hOp3reZ)J}_DaBRkYYJ(fpB&f03f zba-q-a4~(6T@bXJ$)aA$p1FtVHf&`6Y}}u>WU6}Rd)Gki=v~mpJm`#AbHx9Ww_s;C zWQH9J2mvKat26{0zQB=pujV6+>b47WiPhLid7msMBS|Z99te0vw zbIM9?xG~yS8p#xt!=^nX%no$Jll6b|*Ich%QgyU}r!cT~!JEE-ITkGQ&o`u2AFk`= zN;LnT6OmM-{ff|b^?@uMfHWFE;zf<-tc>0Am>Vx!<`=AYRrgPh#W!$?Y5V8O@GtV1 z#fHcpXArXiUt8rK^9sK&$0eJf)O3sdlTqAGHo;sgtz@s>;VXG(dtDflx;ae>qz+=d zr<~#yM(A$+Hm;byKb)z{aO=-7=+7{kDA$q?MaLcM*|8l!zCFW#_Sox2y3iy@qbtvc z;Rd@G+wlfEY>&>Ne@B+~Y{H>CeN82_@_~vIlPxK3H@3A`oOj34%fB1=AFUdZ!t4Xm zLM7GR&#itQ?3l{#P^65-pktv|X|zL@(Q?F5!@>bYX9;ZKXaQ3vx-Y!hGN-U8Rs|)B1#WB(njaHTXy#a!m}qCe z$L{I3eCo?a-`!guWjRU{!~!BoLSO_37Uud}VIQ%8Mqn>fE>{OgM;148FDxKDfo@Lh zWFQX%Mr&mUVrWq_6!PPf$I6FB87~dk;7l1GKuI69tFt&^?>Y`jZkJU|po`UHd~dLw z4L5Cp?wy%?|3NKz7QX^>gVRUJv-x~Hhms1{ul3lerPBNyBx`kn{IqguIrU`B-f>Tq!d%h=;i)h*#+MV20?O7HEUY^li`p`BE zJ_#Vj0(`N6Ae&;ETxCD9*mlQhE;8Is_OW;@zyqcK<>o6{nwzsBYchU0ssFs28IQY= z+r{O|<>PF}fIYFin5DjrD#?M%}#{DR{98Fu{_H@smaAp~k5>U0f=i)Ba_+I`v4ebbCbA`S0Ctq;~cG*42o0JVhTmL)RTUHxhEKspGV z&GgIzvN^JB5|{6tp6NJZWc4x(5?6_wITW=?IsU1|e;fW^Ia5_AAATuHZelnHy#ivw zc{!Vh8mZDrE8wz15pn+`iDO+55+s>oUoclNDPRb&H{Pfv>X9kH&=#+ICc+gmWw?MX zH7Q)n(4CHMNHP|{m8kKL`wH-2v-N5+pIDg}Un-~P%|ZkqB+G3|{nak3o;FuDz|xuD zNU#7=oS=iER&Ok)f22H&L=nv3_V72Pqwxx$dmXsd!^o3Vhh1eXK+z&z>y!VZKP|!^ zqWsrv`@GRj1`o7WeIJuVfR5ZNma=G$ESwWPL5Fr9N?Om#EbfD@cP!ad7p&t}19m>p zqsIzlr;|ZEeRG?8hgzw)cvnrNN~#nWNs(y|ne88(=(u#Z7W!vh84DNgz7sjd=jK<% zl&Z1@`dt3ZH4xxpC=t*zbSv?yNet0AIp(I8=5@{Y2JpoBd?}>%u#p*t3`3$oY8brB zrZvlzT0W&4b3FVI_VNn`j3~Zq>iSHk{`DSJsuEfLW8Vr$@<~KrjcPRsAjs#vk2B$Z z3%RsZ$K}(t+*;c(>v{Hp!NOrbU86)~R)oeBML|jaJ2_I}TE{%P&}35KrChY!UsK+{ z!h`p6o{UV+zeqS&dmD|un{EVwz$ZUO+-gy@^*wTkQfp_^3|Y!Uf{Z{QSa(1g?aie5 zBwCjHL7EI92QkmI6jny8RKlhtLVE4ruD$!o0d9at8gYfCP<3kim7OTe>a2f#L2sMN zd0xgu(;}gb+w)tE927cuh3aI%*ijoVrT2 zH@YCs5&v5`{Y&HODe)J#U|9@14cW<>O#)RTJn5i;i={N$0Cx;Y$RlnA_aR3V;wkG^i6(0d1I&`H4y?CCp6bs6>-mJ+2i-iJRc)iHk$?J3ss<;hPYebeWLom|zEix`Y{3HRJV6n&-dj1%U( z>xsFVK5QkK0~n&*v3LH(F4H_C*`HpCaYsz#bn-~#N2C^fa0yLX!J(+a+;rVaC!f&+8F4nws7mptUa83PyaAndF>*IBFfwtLU+M=HqYp z=BfUh5u8+iTQ2v=oME@jOdEU}i=iTPqg_LL6ep{LH6&viR?z4 zz$N2FgR~+vIBs7rgyssb-$}+zCQn5@3m3jt(>{9lL!3&X-x{|zMF#xV=xGla;j;qP zY{JB~f|-|s;&~b@?|Xre9thpEyen2$I4JLve++!O3iw=dt7>WjJtEhyvwSVHc839C?oghRR3$W|qv|(4gR=9c?-13k@qT zV-VH-M=~Az#dI}R_ciim;N0_^V$jVEpXgH{9GZF3hdWD``OoRgvJ^P$(yR@VXeSfc zK!A+(Ku0be6gLRlYkfVk=-OjaFOZ#IP5dZ@G< zcfDXc$-)))%Ep-Z>skBJ(-h&Nnpx?s(bZ6+{w#OF z33QtsYnVWM*V0NLBk`NU;L1=J7^J<4zWghn@KYeqZxrM3Bb!NFe7O=Ef=g6-A1(A! zh3{5226}2>G}FJsb)>FywSx@D`^L8XCo-oVT+}mPLPsd9g!v0+(>gyE?CbqBqw{4r zr@C@1e{64jpY9Oe)r!-;I~A#0_8-%DVe}V)Z>(_#Tx*Wm8%5FCON+=IKzG|85nefF7s@15_?{FvlVc)Q=OTJMt(tl+*3QZaC_`LYMrZm&aRZ*Pu09abLuSrgw4%D&akvT=v^0$9yQ_;-UDEF zV%WF7QFY&1Ficq#1;(Ci_m1^WN~ZxS_AyDP2H3g9DJTQxXt0SeKP8yHCj_N+&Xf_U z!kSLqQxOb`TJk15mpyZ?+~>nv*f(k;%DF3)t1%Oj#{ob&!J4~;%+oHH)9gXW;ob^7 zzKJqLO4|1hr}G|A;v=hYfN!_VD_GuNzFb|r@=%D1pxl)Pl}#(-yK#D)I`S5f4QGo> zAO$&w_co_AYsaU5odUZ6{>wxLU?uVd(scw$6NzEU%s(|>8l>a}Lu(HJyJJ4OR6mzf z!(qtbz7q}Hwv`-lE{i6@EAwOK9l^)s5rk`-+?C5V`R!TQ`_uVHkz=FOO1=Tbg76b- zJ)kg{$@J_FiNA#94*PrZ?dFUf2ospudrtNM@KQTvh^kcQg$XXO)zKAmkG*WU#N^1| z;eGpG@Z=N_<91vTRmPann`GS>5w%PAX;V>3+!aQ5>eMA?q4=CB+QFmu6phr(jmJ%D z(=*%3Y-?{xlUw%B2-7ik<>Ohwf&Yj zlk5@86_cNn%T8xcZa;ogTqn%&+IdBwSu_{Yq_%BkQ$!5su3*LYih3%WK!wahHbDoI z97`^LrilkL=c93K2mI($Zj>7S(l?x_vJ{v8u)Lx%a^7 zIOh!`UUQX*X5J*+O6AuM7je+zPp=a<^Y`8FOXuj`_N+WE3~1mS-75Mt>IMgY6}|Q- z*k|9~=cRa5_vi&<+RbnymBOgxK2cq9Sve(x7*i=fVWq?hwUpFstxxGdjJ~%PgiP;} zi{_N04C^&qP<%`NlS{QmnQ=?-pmPia`=Q;f>v1xXwJ`5N@mORZRy?2f@Eb6tn;fC*I51 z?S3@Ec@2-D^OIb zqG$r_ESKwHouNOu18r60engP)S)~nicbBHrI%zI%WrCz?ENov=%+l^;PwuyuA-TpQ z8lm8;8xR$UPi}WU=OK!*rxq+Rn&Jfb*-x16OdZ`mwTF58bEu=|R8GwH&bDVDQNtDJ z@A+nO+R-HN=;T^!3QWFlc;EE2ZsTk__2Z+Ht6F|?v2(sz4g)GIcZ<6HT|5tPP^Tg*TCkF*EaWXmCSBXshB0xH&*A!P`%fuKEQ&^`WV4qx_yaM!D_D21Qjsf zdo&!LZ4p9)qQf63aHvMTBkrL5%hp}Cvm|nXGZQ6uRBhLmEr+UB_ug)&;|se|Rmx=;P%=Wk^^W;!$^jLZgAlDtrC|tL z<#giu^p^f2DcK>F=)aIg`2GsP$K`p!8&UCK5sr_1j^sBTEh`M3xW}gQYsnGgHf}cE z%eriL>zQZTn{_#=1nGU3Q{qhB^h??ajMXw+CAycM^w|zTlbK`Ywc11)d(yLdQ^g|} zJ5Rc1tpE(o&5rNE8EDU8lXK+?QQh3R?@{<0!*N$v&-a5`0ensP!|A=Yy>C;?ii-HU zT$~-XSvTj~SR9eFO4*&}^i^GOPZF#_tJCQD?Ufkf7T?auvW(Ed2AtwMKJ5)orsTii z?j@AGUtI(l0^WM;aA^m1Lh58aBs6+Ue~HBW*?W(c)Z*JWfuo;$Nn-8UsX8EW4WY^)P11dXHrf)dylCzQa64g63T&|0n9TG#E<@oNhVhpt{v`+IAy`jg?7KkYU| z=uy?zj{F&CI;Ge019Dubo;SGr?QQH_XT0P=WpdfU*}L;eiua&xldY^JRoDmIl-3TZ zbeF+Q4*>g!KG6-+Cu7!y8N<409|X~2rBU$dpYgpoty#EV9WEH>V}EowrzyHJ zGAYfJQl#P{D;}n4sdN3>Tda5Uh0)9fvEvXMV^@F*MOJiey75h!Vz!oR?*pKNK6<1? z!S*}1{-b&M6D;ThUsj~DZ5>KP;@WmXgL||)KHQDYv5l}P!Nuh{#|dk#A?f*)RNjcw zs}w&i<7q61>95E>ZN3Tj=kW?%hg2fFjU@ z)owm}((PKQM5o|bPKvJwrnlh>wMajzLmtfv1;n76wDozI!=Cq*Y$GTt1Htd z6gdJP&{~f|Q3hx~iZ;3rH9Fr8pELPQ+94mWC){qkz(I2A^Dg!&IP3PFJ(D}k#fUX) z`vo`lpIzpk!t%HB1X{!Pl*Nrp#LK$B@(_c$5o}qVY)lxxODgopj?tauLcmQmHoEg% z+Ba4b{UkTZa(PCLRbyM3`tcd4_zSn*9-qUOG=QI1W)Jr?w0GQ6&e1bhocjv8p(CW>bt=&e+PjjK%VW2|l`IxsJ zx)H+|y^nbyceZDNrHT{TbfTO0E+x&~jc8p~%$77Z5h~L!j|zKPhHZV?1}l4 z12FDOA%f5`W2GG$yq-&>-q-uLJA+-)2@bm+ejV7#qEEJ)HV%%}=(|DF%#kU^Q{e9c zjI2FJn;dh25Gv$X2HL&cd8CMaA|}*K{E$QeZAbfmg~U zQg9#}w$47MaTL3*<=WC_r%h7zeb3(C%G=+32$qv(5|OupDHr7z`ia^RV=F0$a@q2Z?(JK#4?%U(zNmH%>pJlk$P5k$|vrX*1lA45xD^?Q> zRrpl-gUE{5Ajp11G4yU1Y25uNi<&+6#oNn#^HBk3d3GxoqHh>$1Klvlnx0{tJ)6RI z{rZXEgz>&ImYp`5O669eGFFxE29)6Vs5#w$X`|XCHmF!s)=$a7)jJ>d=OJECujx{* z>lJ6dyqX{;SW(^@u%z556>w@%MzNLzfvpp7x(&dOYKmjon(9%b^|*m<-_#UT(Yn%i2J%$tX8a=plvay9!7aeHh&1fpL+W! zv|^U<@n~cWdCquyiui-%&oLZ~MPha&IcS;uBr8ccIy;}r;oCSaaXwWm@BEc@wN4OTblPw6rjO zZ*Cr|q%Cs+)VsW}!rU+O_fH#mn5D`?q$|P~z>ewVT*~$(otYDpKt)2~NU+i{pdz92 zTWwpcuKMBWbhfy``}agwA3Xb69{^~ewXxIUP#yxuLD~qkKxWVUj_p(J7TVkRtL7B7 zb9T;C>EZ7YIP#+m{-tjJ&*1E*Y4rCG5ii>7H@{|L)<}X5np+1=&1hjRBko&@K!=Fo zMI>+$rs;7EPp2rLxZfmW*b<7PgK1s&EnLra*kjxA@bI6(l;!)*;jh@P zl*U-w-NowLUpW`|pcFcpY!8Oa`q#bVHpj8Q_P*`;rsYTTMn9|4u+2b&E3m!Ugy7b# zMyudVn+xyGE|vEWR{X9Kcv?wY;KN z9yzE)fWxPJS%x}~av~OvHRIXy0GQCSH`)J`j5Jc7l#rrLU|6_tP!kRE42w%a-V!46Li>srRMrI{nY-x^~9W;iVWnr zLxq-9=~t02ujd0SZMS%~^;w}DECV_eyA%|1yZ0Ud+Rry!*!;4(vekAqxDN)Rb@NUM z+8gVuG(|lEzBwzYO4DWcRlT1FRZ4pK@61-JX%^tO&XwNHdEDpB2D2oKuF*`f$&<0`KJ}dsd20=E$00PCHa2*@JDq&nKoM zc4z8@8G1A0)}!Z&cDXHtpt*?KWTM3s$AKTnpT!nzDY--%+8-Aq-B$4ruW*5?7)(v< z*QL!P$QgP|r+50q$M$QkE^cp!_~Z`P@8UL8?njaDDg32ZI6)_V?E90T9rM!TMCu$i zA8Q=#wvakr);@qknyuWjSX1DiX_mkL9;B_ zpn-tSHc=EzeDrd?d~f3cAa$_eJXXO~QAaZ%MwS%qF6k1aE_k9UHdrS%Uq*q#6P7hK zMGaMs71ct-BeqLr2$C2(pjE83Jq8uk-aUck=Tpt6;vwQy$5Tkmwqze}dd9Y>`wJAu z9r+~sj{BV5>4XbY4q9%ZMl2c%1+&%HmiO^I_W8EmTZTung~vUF4C;!wo0AtRT_QlSYgCqWW`r2KGypY@BL5#aF7we{!`ih9R0tf zPkvJu4*aNz(ct^l_|I)pf2`!AA5`{J?(BvhcY$2=XmJ^DZ#Z;AcyDS;=DAxRKsZKNWY>fB{D`!*(<&RsRK$X}{s9obZ6LW! z%a63bu)zNnp8rnttVoFt$+j=Aefsk)B0Y#Zir2A(9SP-Um8-Kte3K?JdeNK6K+Tn`d2BFvbBlkMe(I)9kJXbb_CeM zx`%*HXw>ibgqg1+aPLH+zv0l~LxkB;?Z?6>=gK|&M55i5AknvXA9BRH$4w5zgx{m> za6zl`Bp%*Tk-&Ia9Z(jq9QvHcWWjP@+rK5K!Q2v|&_lCP4Aq6iJGIERPfBVp0p>y2cq@g!T5eJu(Ey6ZmBGCUce@9=3_b!ig&2eG=WEgAl zW=`BX>j|uDf@p!OXPbw%dj$WN(;auV#lGq{h6fxs1MY*)u~g!j4Sd3_OB74SH=NWH zXCB#v$fjk+M!KP}be}&<_3tk(tI4Kqo1C-Tx^1Uu)sYs7j@2YS0O&uT+$08B7&_a2DgI*21P8;f z@&#~Z@}Kro6?mh7zX$q%s}b0^2Z76Dz5dfQ7o}~ zJci<%_}W~quILj*VQslb9HoHf?UO2ipKMU1V=CGse;6Z!kokzHiRg;tqjq*fRr zV(C>F4w6*z1<&D(tFK85M{mh5^vAz0ewM%ee4mYl)W_EqqjSke;$2b=A2%s)<%9E+&d<*Y_^TCR59{)b)thio9 zeTRANg!hGvMI4g$foJs2_UW-9F==Bt^XIPlaMcfM?=^eL3L`?2*5#yZ9nJKa1pZ9x z{UZbZhAU66mGbOAiPg{C3)qa-P%X;dnR3Qt%CB%8a>S8>QG=?Fr48>K)smaTR-Q_V zni*caB#)qt0Hs~+F0SoMc#B}=r|jGpG*gz3s^480&YYdPd-9PQl=77R%VNb(VGXsm z)>oCT4NdW~lD953BlfH^zMuBcZC1)+tRgpysOg7C?b!!SJ5Ls%g9lg}VSH>)O0Una zk%k(+0b}gr3NJ(Z19x;RrIGeUk382w5POh0>#3}WIC4YDMtj12GpAKODfP`46M)-0 z6&1_A6kjnf@wgXqcc7>9OuO@l?U%=liyXgpLwY)yXS|Y1wOjRggo$AB*y)WXFHc-# zzF~pA!F9q)vY6z;n;X0r(EfyK02M+4xcvWJ;dTwEwIPJ1!w{$-k zd~k!bl$}47@VtCFm_%1rG;d<2B)Hy|LL%R@x@|g|Ex>X;_FiuiRt?=8<{YboF5ksEkSN8hfk?0&jo>4wakgEdnn z^5Q?Eu*Y~F^aSPF|J9V@V*X7OVy5-l9gO^?q6lhAlqfGbmf%wYlQCKC$$rOUj%2~E zFwzfpx!7e}`%Iot4*#%3}cymq*$wMrc zMQi*(hHMJuCH?b^n+s3xQPmlB)ffG*QHfmk@KW=(J#jZ;)_L@XvpSY3fV%x6aJ;Dn z^S7Vv@s)<93BNJtdVJ;pWrD-lnAqTii_V-Ac7%c{UUXU547?;Fjsj5{n0j5lg9jR#^a3# zdBkMhx(p#^YD#Lz*bytnJ0gAJm{Zb7Q?!W?IgNgWpN<+60K?`%0Gtus zAbeU`)T^0usfnrM3#Y1EpWD1nA-G)_dU>k7CKa5^1}YXy!_Hf@b?OpUqw10vlt3y4QHxOdT?mfX)~DsLoCxf49k{eEt4fS;#8d z6O9{B8bdZbhG^}k32S?C$@XG_Xxx$s*A~^&fiT9y-BWGbp8(~X?Ixq@{!6sXRH{9E zK2Wj>jUp*pY;Ce9^2|}^KgLkMpWXkrj^yVL|9w{e^c9l7@muo|2{Os;P=))LB!wE0 zm;!~211Tx`-s#Z*?Fr&m^&a5;G}3jXDS5!BYl2vs3qlE#uOW6#XHrI4owlzrp{)iX4Y)=#&;We zoOu(9Re+MRU#=7PO$lft)cCGIWq&5@mwkBFdZ1;6;&-={?vfYucjh^uHHK8so+Ln6 zqXC!k1K^7A0Z^86#&_UBc=%=!i!R3V*z$hdM;b>X(yc*7;Q>%7;Yp)NgXdC_;-;#; zD=#rob1zKUD4#EuTrP_I0MKE)vsI&^WwBORdE<7ELvj85dTyw0+>(wTZT`)+r*B=) z`j@IOc2Pa&*a~<>cdBu7hlZN@GWl;x)_(s!??smRvy}Otr$&F+O8);=;PJOA_5Ys_ zf5!N)76|}a%l?xC|NiYCi2su#`lsOIpPBnpIQidVZzL4Mf8ynT9NRy3@SiPp7TBBr z78d`xrT-Kn{kKO0{u8+W=eqlo^^eW}d%NGk{i)~grH%ja{BO8N5%zXs~h%b(~Rm_bWDQ00&B<(k>(n*r^NEiG(~jIE5U zfHt7pp`;Cr^mIAxjP1zApgYpJL2gs*D`G&YwvHnafR+1u!YZlkg_ z*3(ydY{%HnS=Zji%t_K#-^_sYaV!Qr^p8~2+uK-hKK{X}|B``Ghk=EIRu{;|Ld(L; z@{(4EnTe5BmxYCaO<$i$mstn+{U>y`zxQCO?_^~L1oZ|Qo&ERDiT?PG=sW$tQHK2& z%6=Q0zTW?rMBxB!ZS`#)X{R#++8XKWDawh_J)&>)ohq&W6Hxuph3yaM9yth-1Ud(% zpRse|{Xqbcy^S%^cMA0NIEjAh|GRws=eB-B`5y+P`BQ`cW8VLjh)2TdKw=8~m+|oY zPsZ~{Q@;z%AANoA;Pqoqf3oNQz0p`c4v*-Ox*sxaZfx;GO+lOlnt2%-fNp*RshgJx zNZ;&$7P|UkLQXVJ=2o1>#(JDOENnn_R(%dyrk8Abv@8a?475OIT^(9B9ac70Jq{*T z4tB=B>h*W=9kovWoXt{IL3In%%N7yx#0Fd-z@yp4?G36(1rn&u*_ zjsLh?FXKBsEI*<0w@UHH`#;^q_Zt9(w-z6^$Csi~Q8UR~E3ABFk>8vL+MOJ!hHGw6 zRPC`wx(z`r(KEovQ@b!3{y;#>MZ5jAF94+DCOa!zP&5^#ZBn&mEqJNRR1S z0rkWm`~3YMc_+OLP-!cUY66&4r&*`?Gb2oiy~i zhZg^6m-3(5{X@ooYj$91u3{i#G;$Zsn4I^+asW#mvn#B98np_$i3*o`YWLp+X11U^ zJwfFC3s1a$l6nAu>FziA{h@43y0-r=zkdh}NPw9J9|ib}uPRJi2G|R1VjoqAmkd4- z%nUx@&(a`3*Ght;TNG1d?swI$QL$a)Z}4Lj>tH_PVnBd~rSgC6e}Mo71`h>b5NE_? zz=noUgoJ=cQP$TH{5|{wnG8XGMg)eZkKa9ohkT=NVatfjfcW?b2M?oQW3O*ztjqY6 z0rv3|Xf$v|c?JS31SVDnMn+~P24*%EHZ{;A+aHgtY79#M@;W0Dh?eiIK}&|;4?wm@DsERbeIV*w=%tl8N3G=;6X&-qk(}vK!P&>7ziJqNFlKqFul;#2u%&f zVm3?p-?=BjyJ~jXN=Q^NNJ2lMh6aOzf&l}Ap(FM|5+3T1Y>pJS|(1Wa|oxLr+rLL_N1O8)w&ml1x(0^|S0`iZ)$bNi{ z2#E=a-lv5|NArv|!(2yLl35T+XZQUj)pw5JBR$d%2>}k{^%wp__<(@{oQ-&0c~*Uv zXEf_-EgI6NP=!X~(J9YhQETIMq9M>Jf#Z8Z}Ue-VDKG|ERc`h$dY`=B%_C?jRFtlD%sTBs%h12kHlp8E= zio$oVt>37=(L2`bF5HI5ERkq3xy+(^XYzh%LqAkAi1;aMtXUMhm6bkiwtoG7ciI@; zL2*+tj|g0oHYCO=c>?l5f>3rf{}akP`oLGwjdXYD9m6Lf6M{y6M!v)t5>#XmLsFD!F z9Y;^EGl8ix5S$y|_c{_>b>|7&W(j>Z&yDB%1IM!FEf@AnbOIqP8KdPZ!#pgpvlhv| zoAXBR^i;jq%PLP?Gzwh!Z~Xl^!P56X*(?xc%(v&tvL=Vd7ueV_U7;l=UN@-TjZZ7T z`CN36ZcXTCMz}eRf7nE|#$piI{1L6xy=)O^KG^AUnOK{MYwqTjM3_u2?KXe_60d#xs!@sDz zO8rsZF~X)WG+ZfVj#@m!HaXAJpA_(Kt-+(o{6hi3{C{Qx$N)q5fP(?-+5KIxPy`N@ z-JnYw9Ot>h{Q8W$*7((!Ly2Adtv!YJLfqs>@;4c4ZTTGKfoZ_hPf~u{Cx@STzJ_i_ zDr1ytyG60-zRxpK`X<~X%|(tLoD^*ers+csBicU-sl-<>F8GX&1#|n0{741@+uxd(>3rhpwewLf z5^hg($v%%$uf&eUfe++^Pasuwx0heEzXA|dtn~AaPWJW|34{PO3!4QuFA8K}(!(2k z_TF3aZ=2;Ng~EXDw~Fh0zO32UgOFVazE}6Y$e8MKmzs^;l&{?*FvuJaStiA?|3$iJ z<=V3ucJXG3chx*3<@1nya()?>mB>LQTw2*%9Co+Rbe5!D&u^lc3$Q9ay+uZ`U2NhF zsUq6rpv!fHloIG{#H_BRaS3}( zTbg~LK7%$Ox%IA09_bjdESq;&fl|aLC)j86ipO^H%vTtj3^`(GZ|ZVM%ggfbv&R?v z#=BnDa0gBERum73S-vsreeJq)A{)LKIyL477%~39lpVtu_o3~@CNV5N?q-de72DDT zC2DF`yJc{f`Dz0!<%3VKlVUM2h^oQ$Tk4(6LyCrwPW8MG`M1&Z$7oiSs`B?(_SgTv z5cq|_F9d!e@C$)o2>e3e7XrT!_=UhP1b!j#3xQt<{6gRt0>2RWg}^Taej)G+fnNyx zLf{tyzYzF^z%K-TA@B=eF5cq|_F9d!e@C$)o2>e3e7XrT!_}@a{T;-Lt zp;S%E;E_k8K)VZlpVAdI<`tgp`J$isC+r%VnF#(IJ!rzyJU-A$|p?B(pnJAF_rrh(PcGgx56}En`?ho^R9QwFt#T z6+fcv;|;tm^%l9m;Cq0HjDd`d6aptALk5qq6AMm*lmpPcdPVje0M0K1$bK5_L*Yea z4F-rwg(G+k?&S`T42dUjPei<4f_&%G_!&a?;ROIy?3G6dqBYcY(dosB=~bpO`yo0& zE}Hxc2Oyw6jU1k6^~~zphJPR!NDq;oxEz@>bx%wY2i3{DvM<9c~(I! znbjgnigE^JYh=XW#F^fj3RE19Gzw1!+hcC3`L61K2&H)4CnQ!FdEvF(Jfq4hpL(?x zcg6YCt76Y7NLI0+j^_$#*lF;yu)-BppL~Eyu`=Xm176O+G|GxDm$u?ug>(f`0?tZs zud$T5F)8qlo0o~M!L|X)0iyMo*#SE^wx6I_E&7A8JH%QbHL zU`+*X|Fn{)TA$PX6a&f1??kzR*r)zWS?rzT+=Uo8bPVzR6ZxHEo}uS{5Z~wf-#)Xa7%d~FC)t`Ez6X0asgSbE6A&E#sj9nDrN)#^ z4HrcWMo+?G{{>t&2_6BX8N+dZD=L`Afd)-efGhE9EaV8~mABN6e(F)-K4_83Wcf#L zlI^fJp1H`7Ry$8AgP~vsbK_e3k#XB0@*E6Q$Ww8Izlvno0Mty1Bhy8Q=;l3*RYY#3 zRqm6Zq91s-ctUCeULuK%$dmp-M##zXvsLZa)UGEaLY^MCFWyqlK)C@rcf+*FH28yS z

!Mo{&5j$oZP;S;mB%L$ZVGpf%hl{`vsGZ1Gmh$l;~X8qxd1r`+Q^{C4jG-=Tbd zie~{E2D)2;R~=GMm51Krv%1WShvnPph>eSyU8KgXKw;k$U6g2?%(1Wr)@)W0Hoczd zRpGI5|3*&hd$A**rPxzt^Tt{zU6gw6i^($GfITD$FS`0I?E>b|b2VSZ&3$?e?-QHwRNfI;Dj+i-RGbl*y?ob} zu~`N%yy^-B$kOP+;k6FK8&La(C8_ifQb~ zW!2#+A=*p~0mFLiOjH~$`(z675n^OS0l8W&^oOTqhv$bn8_-1}*_m(2rIUz194Sj! z?v-jgV(DiJh2c<1Z!BOUb3JgSw+}$_ivO1gAqw?Cqhu5j|M9KP}Yypc;SH?bP2fyCS|- zc>>L$NT939E`os^w68~4!58ghg}~VchVt@>+K|oombI1yt~VO0QEs?uZy|a}oea1N zX8p9nf|}dHDl*#f@yPO$(_}n5D@X2C@hiZRy;~1W3GU29lQvXAqflW4;!5#1wW4k^ zTp#Mf{(AQVtx1rA*@R?kEW^aNSFTCOzJh_3IU6s&#gc5}s{S1x~MPGyJ zIzz4xGmLNw*cq@@nEJAg?>|EcHe*JsF$_yf-ezPBsVg8J;kd3{?V}*JwnVeo%5?%c z@ltak3*4k3M!C0BE|dMr1)B4|tWIn0k3=@4E{>jkqYOTC^JNi93Dx%Yq0@c^k1cu7 zEUM8x%P$&VIK9_&g@TLWID;{RJ_GaEJOlUHYa*7^_SFk;-Dke9T>V5? z6W}kr)AWy1WVp5zbpR|yP@Id*hh02pR++ojTU0(S>dw!Q(2U3I%~9?uI%b(>CO&kp zB!!0ZXYNa^7+0(YWoz`i@9i8Tzd`(F;OFGEn)<}voDPf%Wu2RXfypujeF#Nr1sgBZ zEAU2eUPUO@xg##QI9Duhl>Ma$yED?tcEB1nhJ{QY$J=gSwlOs6446jNBYb7utC#+} zr@$Go$$RczG`!s?HvBE$%)s-nH{TL-U*ms>MwzgWU_luf%)c_%f?B5EAJQOOiWotX z(GvoHC4qP1NXr~Z())y%A1?{gAKEgv@}w+Jz$YL447dFCR7xlT!IHU;84rFe`G;0H z%Jf(0X{Jj=bK2=VjKLl97el!FVkdjf-0zp)LB$N^I=%EI4qV@FHeA+#a8Te~rSzI@ zidc;!du4PUcB2!^U74`NQ8`SttR&Fbskuy}O8ou|5BSb*d&XX0SnShUCUZiGUH8i9 zbKa>fdI=8L0?pdt0WoMZ*q}H)h0Zg!S*%F!o=KuQv+kM}>kM21sI6I_Bj=J`4zS%$ zW=jJ+*G_i(mQ8Mt(9o zJZ{3&Da|^Pe9x<4ZMN2?ugPYu%4bGhyKp+;&{gn5AsnTIZ(r3QJJx@*WfD&(K`ty< z?|sP&e8!+zP)L!$v~F09Wu&pyjc_)w8Kufu=|^8aJkcCkq_rZ=JVKJ($nsgZ)-n zLH_`?O_n4xpgx@ROClyPv==f>l}pOqQu4V4xK3=$D zGGUQkp;Wm7o5HWz`D>tb5E%=m0cl`DNJ^T>+ziHPxBmP>Yewru)tKZPO>GKmY=ht2~M=AkXF7sMUTqQjWcg^*?B7RF0(ExX};*zALMQ}ox(;RS@ICHog^P=%?J zeQCV(^>-lv?|4=(a4Re6t^5zIqr|VZl82Jc7FL`5%2-;2 zSJ)iJo(Soekf)2vpjH2xf zYKpXWejIdVHBbs;d+_;WYnrols-aRE7+POQj?|ZZ+)RE<=YwkH37QUz-0npqRPkdi zYF?8TTr#;ZEfWn9IlokbbEBQ7r0~?c!7du}Xh0Efcq@x|N@El8V};R8-LISE0@pq~ z7SPhNwCW2nubJ01yDOE={v*bxYJAkZLwYWF{#A&&bN1j~bE zz%Qz-8kt|+V>f4ZkrC{3zrcN4-pziSO{g|4k19Yk3g}d);B+)*45UYi2H-0uy#%^0 zO%WTYVu-x+5+eR2VVyP8I;@Qfx%I3G*t1CUu_o8X_N8o%N;aM{K+}+^-JtD`719wE z5^@N<3gIih5X3GW@`jg~j*!h@vH1v6uuAymEGmT*v}vOtQR1+QHDrFItdWfBD@F$r z_1CWqV;23uw6qGuYnNdaR#^_OfE=(U31NATjI)xKa{;EOXcvF{ztH}9kxMtQqjCk5R z9c%b<-@+j$#_+Jg6O5-afjxV|fCxsaQazg&0bD&$(Yk?X5pnQyA2PVrAVvnb8WctC z{0rc7Ow`Y68%;_Fm}KUHUZOx>lH}Ku-0#o7+% zJP|LJLlgNOH$bdMkssZ9vtT86Sq||leq?yKf_C1~m%Tl3ahp)3qXh}Me8B*hayFjq zVz1{P`5yY*-Vj6#bfq#!eDcJ%J;qFCzfw(>dloQnndW7khcmQwq?zrq9G5sJ#VPoa zjz%hsA%(8X-7LrGqm92)OSF9wf*I9N-&tK?&xa9nB=6R_An{p_ob;5p1uNw#Xk@^V zOjsgc!HFc3j3+WV#^CeOUL-q#;svPrH?rjEv2039NJGwJ>s|q=Iq2w^_vN0Ljwse& zFs4w&fft7q&%YJWM@hQuEGr-^pdTdDJr(T{$yrMb+^6n99u`AjQOCya*FBESbGzbS zf<`FSvB)64b6dilVz8xCWuJZ*Q`e~y>g}Boo6P-z! zlt{~k#$>^n4IVm;C5onH;^Iu)Nt)qdcyA`lD32T}xZ>(z+>J&Xg}6YBd$da_6=Uz# zlhqsNBY(&do|9JpRwr-ehBMlbU_bQB0M6!6v=NHL9?K9%Oz%9Vq1W9ZB&bkhWi8=c z!z14|r`_VtpkICnU4B`t0MRkBz}^I7!sC`)=@wU^w}G;rS{*Su@Ff&Ex7B*Rb5Zkh zeM#WLWA_}&O6sae{Atnka98k)4~j(w>ElV>!HGz5!%oWKj&NAv83Dvj;^B+k!Yml< zH71J>w%I0S+X^2oAh?MR%0>c?$Y$S?v>v}(3?BRE{GfzmTDF2P;pZmHM4t!z#zIQd#rfl!+W2(AoH!R}aeT8vd_9mI z%QwN8Vh7K5FbE#HQKo6ACMXwLBgn4+U#^X7C@bV3>^OrO=F#B;F|kJ0>Eil;j1C5kAvmZE3XzF>ik@#FK;}`ZzCLiv| z&`>Px^3GXHRq=H@UeAUWt+z{h&6;cMSu;~M4P+^od|ByTt19CChE-n=&y$bD!l{V% zYh)(b68G+>A9Na53Kg~tY^5uZbP?Vhce>zwQE>yddvW1d;J}`Km2Sc)MRq#A&F(7! zo$o^XHG%kZaJ(O4mpzM!uLOIsHSRO%?){nPkRM3%T4TfKcg5s&ED#4^^NvwiF@1Q2!L<`zH<)5bDSuST5jVm%?_*z*wy$xe(x~#fk zz09$!W{$c>ISdM{Z|p3)$=b$r_%zH&B!pyIBNcZG<{KO;LpkWEOPQDWk>WIz=j%Pq(yRG?AGxeJ z^2MQAV(T9Q<=q2dO#GLU${6e`Z|9SpE6wpHFG5uN6t>Y;v=!0%Zw#SdiMuRb^T>o@ z^NrRWG9Y5hIiQ+{s1u^%MO8Fvvr%1-@@JYgAmK#pq4yw0=}V7Q)cGQ2Xo1x$bJp6R z!k}f+`06AXrYzR2zcen=JFo8&Pt($;v4$GGOo|+VIejoC+dG1N+w->k)o@eA)ysqzarYgvwsX>-ae@e(Hymv~(=@D1Jw!AWK@KEFEIdJcGMw=+ zfjVE|z>RE$D4wINr7;Xezmx2J>X-*jvO0YCVBO-x@VqB7f_i+;@y20^GvDk9>9-OyN=yt>A?P(3b zx2TbgCNLyrMvXU4Qg%&z?yRY$GZ|y`jgw24qP_5-OKcrANEN%(b?lG3`*tGLfOu!6DpYw?ckGbHlGHB}Cl&?dz7WVoM67E-Rd2R37($jr=Q< z1X{ejA&PP?q@;lg_1cwy01<{a`M}tsM2U+ItKfPJ0tq->{M%+YC#Cgjk8XWK@|cf` z<`pc$@heBmn>H0h%5PG9JD$xPioSPUitFh113o<=dAf5{$on~BS7GQu7`9LWApxyu zaAe3m+qhcRt3DdvZNW)30GX)O#R(xi?C!_4Vk-me0lxl>)MD!}o>)qb&8Y zOXoLB>}tx+*3pHEX6@R-=w2>>%SrE|#P_wMH)ePvkZrhVWysD-;eGg2Gr7_CDsbR0 z$x9wMFn9T~Wfi2G_jt7wgA`5D-w~#;+hmpcDs|9Eiq3UyHY<4rO^6If+<_NOlP@JDlu1 zdx2rQWp#^j&t${$2BOyB?SQER5&kE@k{qRlQY|Xyg&aQ?k% ziThJO8jMgqwp+DI1lX{1s%j03`b^~i3nf6>zX3V89+0>(G{iBHzt@?CKTtV=@5GNj z&X9m-%5o6LV64XY-i|Ay_nTc#ezVD%Sx;gj->o5?`~q8}NHY@)WD{C?$<=vr{XvL) zI!>&jChLDFxDGrF1Zq3eaC|o;=t2UkXvh*e5q%L)-^P?^8=mfx?(JAgUJ}ok(Z7y9 zq)CI2%A`Q6^|YsqbU|Gy?#59#gmbS;PB&uFozwOzvAt+sMNqsaF-|;&`|#SWVr;E{ zXf)|{Ngx{BErzk;KCxU$LxdXz>`=34r`0I>>W#nCQ1bfxQ&u;k&%^PyK0mDX{CNp9 zD2Y#oE(>T0wJV~~mY(opx*m-{spsMyMje=1#VuFKbf6CJm;iV~MGLB-B?()fx<>;B zG@jSDqevToGVpkV?D>Z*4M&VAH|L8hR55GCSwrvb(mXs4pEx1YND%j)=kIr9Mb5A~ zM~hqVy+FEGEdv$15LN&8(nKob`cOzs#JIa^@xA;Z@_7A{@}CPf6xq!%0)-XSepwK{ z4q5SpF9H%Z4>Yn)UBshUEN^$mxqoUa60xz-I;}0J;^Z89*TKHf8RsNOpACs`mH)3U z-gr1(nd*@MS5KpeW?9{u@*hZ^NoGt!Sfz1@@yoP;hkc3m7nl!6M@!<>?Sum$oqMar zb)7QdgC60|(}pKhbdyn*d9XQShmSZcfPNEE^P6T0kRwV)^N#@u;3&)^g!;6f4Sym1 z6UBr&idQKv7W)(zRHQqR7_U!bS5a}&hSK`6(02jC!t0VWt~Z*<+gE=)k2_XVFRSSR z9krPE=v;d`K@ikVr5E~B8Qz;Ra5OH-Y$;gb)Q)6#xBSAfTd(o*Pb?opBWLPHRIEtA zM=Y23nw~KGr1$TPi8kzd0;f2R4OAuPRKd~;u7;ZROZ@j^hM$zLbW-@i5Wf&l5_c25 zIQN3rA0YnpY7fbnmywy_M}Al3L`p5*RPY0ovq4X30mK#29;dDQ)G-O;d^ZVfwf5gL z7gEJ$z(x{52~99Q>p?W*|qgD7g zllkY0all{KuIq!zi6A-1`NLZ^-8WG>LK^Fk>O;##*3d)*EewcazD+dq8Fz+R44?cLsuF|wib2wI(+EfEdJ8&iz39QdvauHDU(s` zrkI9x5f88b5k86EysQY`N2TNgGXv)p;s$~@VA0z(Z@6c_gKfZ!)uy) zYO+jm9?lGOhp5$UD0H}H((9J(4*qFD)en&HZAN^6P=V*%`G9l^I{RrsJ+>E`{;T6z z_!7aKflo9%7CeC#2B6u~CVl!x&TiqL)JoFDN?q9!RO zHS{(?MQb5q`|6VeeI4Uv-Po+iuo6G0`gFPCQx$8hnT{oq;w4UMkDyDmKLnffsM#-X ztalbXv3)n+Lh~Wkh5IUU602hC_SLaw89a-8n&;JOYYg5WR04{&JWz^L&Aj$~zr+E# z1vR|$bt2*@3%qE-zxUhQ76&duZ35s&+=W#Fu9f9x9KB}FiaBaxN#qum#~!S z410La7ypZZWe=QnNrRgFGRN_87kpcsmzBz=f1$rbDjV890+?|q8k`1`#wQzY@PzMk zOV|ila1Sk1N*#{}qT?z%r1y~DeA+sym#R?!{^n;yozJ80Dp{}uP?Aqv;VW|)=*c18 z*H-b!;+F7rX8%_T=TvNAg6Rdo*zsw~-nzKUw@`Het?XUA zkIYxd0JJSpFb|cLi-BViA0_A^86_6omwGX^Gp3Oxc)`s5ZY^q@~fyz79xUX!P8t(U>Is&&9n2E`I`!kf22jll~*n7lfcr%xY$ zFpT0hP8>zt&Uk!*<$r>e^BpvK?7X~L7jSJ$>Q1dhI=uu=xf7_RLvH|wha29|}Ai3u>9KfhHHTtBoFTle_8#E~m%Yg-V27QX%eVPKa z;-@M_^qR1I!uCA(8R%&r;Lcm>3&J}h!Vx&jOk_y)R-Ljo{gI=Ls)36b>so9Stcw>= zOBu7%7er=y2v64Guw{a4u|cI_J5)59KM7=tF)BBV zM8}S2_bKY7m$k2#%!BQ>U)~}7kyovSLSr#`XC=eP`9Xh@ZFLjrs_OKw@r>#~?3oDt zdy;;KMEt~6@K+mYO9kM2+9}HS5koTdu^f7SaNEPX3xV7^j<;oUmWseaUQK{HilOrbNTWh!{B2nM^kRSc z?6Z@NsFk;8J8&0*dr>}s@nw$eoe=R*nv@l*gk>B9zUZ09o8P5c>J5z32 z>Ngov8t03UsGwQdnZMruxj4sBp(<6xRseYuYMv_T8TLG~lD(H4AeS!AFyQoH%rSpg z0IO@#*pLdh?0Jx`5DFzNm8&)OYM6@rv4NxY+CNYAy;PxU8J5(T_x(Ve*Dj~?)XFux z(9ak}FzPffom!tHdrY+8>}FF`T7Y^R+zM7=Z9pGfi%*qYfmo;2fv+p+q)1_r1_H01 z8tCFEmgqTZmocH~C7u#r3C%SKo3_Rzr5BWoq7@oy-Ua@A2q_G@SPgr-l_ovugm@kM zat(b%1dvO_7O1hCW+`hMEhTE@QF$Xc6!39*F7&%5Ci&#W&kQZ+_Qz$MNPo&igcaNa zv^e|Hz*JpzAJ?C^X|bJd=j(0nHMFpY_47l8Sm{wxTM%>C34&J^CY0?YzF!earf?yS zPYBQ~sFcArgy8K-XM?T774=-YSAcYUMNMzob=SUbXu!d3eo}_yfh8ThPe)Pm+sycf zVltD7n-*8xx*-A@B2tg3oUF3;y) zH~Wz#G*~iu-!hf$L@lknB9x0G=Q<@O`Kf4VWK@lKu}*c~^(yBQe`@PAP9|-|dWPFl zW=Fa`bD5)jW?7DRb`^L17AX$MuO0VJDq|>1UeC2LcWr>wUu{ zbCUNX@*sQL3hGwlW3v5t4lGteJ2s>Nd-t(lTd;}1eMQD#*iQx$1@iKmI8;XA$O0e5 zSbV9-LAV0jQO{kxo>7ZV20QO|#}i+$IOgRwsE=@3stn*Y{d(&Sg^RXh--~X>A1O)W z5K)QD8SZujE}y*$aZE9TiZXQxSV}Ut3GJT*_2gg0e;+mLj!-A79rMdFh{&gU%|`w+ z1oiBDs5GK_w|PC|RbiD8!jE(jl{)|BFE?`Rbk=z&iV7`L3NGCE69e-{ zj!;GjOvML)z$a=Ku4gfo>MCCf;z7#<@F)u#BcK+m7!CM={MCd$0>YaU7M&!nsHU@6 ziwq#1!7TW0&kLYt3_X}+M_Ea!c58+k_2)u<9E5B(GLeS{@n2H)fTh@7;8f#v`iZcp zl$~XVG4OIUfd{>UV}Y6BP51R;%O4wIw;T9deu0<<-2MQhd!&|(s-LR23M#Q{%#`^H zX!as@la*Q;#RNT&9Eg_S2JP86XSA|gl9bc#0#*Q`TahkgDI}SMq8y11n>b#36DRPZ z9_&PN*0iFAr!{AuzUtOAW2{y&C$Kn=#@$W91&5;{S2*cybb2SPOY3{HM68bDPhnxe zUJKX`3z_Qah!3W0)7ITT1*H2(xz<0?FTR|uZ)%SkJ_f9^rBIZ0Fw}557h{$-JRa;p zlX}{Jk!eI^>~y?-2`LjvFTw0fohj93Ta~i#gQ;j~?1=yRieGKFQj?S8XJ(BY9Vtn) z$fimmOKuxl`cP&Ue5?_U0A^_82Z~?s^Ss(#7}SD-h{E-KA>Er`3*TCcMHJyJA8c}} z2x9fW1v0fyx)t~I>afCk`X;!p#*HAdaiz$WW>bfo)npdQ2~yi2pQMgKAZ`QCjka9V zgBap6hixkp$0Lv4O#o`dFBVYWJ~V;q5kICCsC;DSu+L?L%;Fqx|8Ciz#r%i!1uBq& zG@lvkN&qWJ0N!YxOdIqbxajFua4#M~EzMs39$JIkrLO2lWs=e0tqe6>7;;-f=)#10 zdJdF*f<=4pTaKI123uM0E$yciP&EOoA5{&h`Z|JUFkWm31gxVUDt8SerqLJ&RbXSpK7Lgun~V8gj%# z1y1+-oadxpe$+)YaQlz-<@HM2MwG%H`|9Y6pR+E1H^fZRdq)yGUWEiqv%%>RQjM!s zx7ew7&P^{1)&8*eEh8w!NFrg+LD==pTZR*al#_&$4}b^hdZ2jPUK(Y?gwoonA6Kx3 znn1*^vGm10-5Oz^*{^@F#%O}#HD)#|F{n3~(P7E7KWj@owIJU~&<-_=(YCsrHgP!t z<}a3t3uXs?eDkvEIP@m}-~aqSW9EUQyWnyXNbY78r$4M)sW{2J@NLovxg*O z4PwkG?1Wn19bMa`v(t4V;ros%##u<`vGOTPGG?dPO~mrYp}MZ?Vx2e-yOmNIuyW~d z7l>shb~p*&2U+W>e;^_c41X~B-XWz{&Ls@d9r+fm%t0(dykz-jF=Hya35BOB_Ws^s z51~F=h>E*oktJZx;wYKq=P7jkg?4EAc1sXIR6LE^E7#1~a|n+F)J}F%Z*P71$oA75*YJWl&pnZAro;CLU#5S+9@kI4Tuf zpRiBIPjmLRtZS*;=V!#p((3GKZ?Nse(E(KKYY%c)%b-O%jysxYv;|lkjl-N6@V6!L zoLSqxv0fX4Qa5H0$`x&rPJz%GQNLg+n z)6b!}7N~3u4WO*`@MQ{tDphMoV)sLLiyQyQdiUh?dgQ(vPax)Hm&9%nwND@Dr~&FV5^7d}_q)h~>W{FyFj%OuV*0`;^m_NrH5eU zS7>kFy%BSht*Mogo+m4@po`qvzAFK3XEPs*!qzh05Ww8Vfu}Z{>?`YmCUSywcM1SRnHLOK z`Io=`PHRn^BQ?CqLZ%pK=60SHt1_Sagho`|@Y>5}ZqWDi$gn4?5}uf^1vvbz^BFC` z@a106Lc1^*Eo~y2CJv^SX@?WG?I*d6dg4tkW`UsGK5=T@y$H-E&H4@e}g>UihYKk-hYRq*K93(T(I^MfiJ(qpvUQKw8~0pNYB z(8R__D0&@aZ| z6LNZ+1>PLco1xIMUkovVp2h?5d0EZ7UH*8(p)~V5Pw8k>3(bo|={bkA_-CJtj^4VI ze07m;-B4<9VnIh<+<-F?kFa!FR9t?PYJ4SQs$M}f9-G~c6pDp0_plZlEl&cVq4BqO z3pNPy0iDvI{1UuAyvQoMH&0+%IWyR87cO4=+YSHcuad}`oHE7Csh56KSSJ^(YzHgI zdWVNliCZmQ3yRS=g|n?%!Pm^6$LxO8CxTFUtLrS7HP#3n&b#a@A@t?nCGnBgsA zpRIGEJFv^Kplx4P9RwJ>owTC^Btb2oPzw;Y6u*fscBM*V5A=uVwOlvGzrq9-=B1u! z34zx+=YzjO87Gd}q0h$OLS9E63KaX7>gHDS^~h;tl>g%cqjDFBR<1Acw#7*l2%X-k zR&iCTD$k8r*UAC+)|+s;u{rKBteNMd8tA&Ner?wzNc9bNCRb{$uYecavoaw~ENJ^d z+Ttoe6o=s`4g<;nE)Di+k{Bq=Uv|o52v;fk=r!;&5(}Ua>n2= za??J_z~@RAbP2GCIVc|T6?-w(F)Rx|tRL1xsIETYhI2xT6&Z?z+MBdWIOOhVse?DV zgh;xD(}xyRXj{u7x2LgY#aMO=r~MUt?rJ8kY~)<4i8#_;Gdu z*kt^1R(qVk3D^nbIY?%zCi5~VZXr=EcNZq>k3!LeJ75idm>|4)Xga^lZe|yJk1y{# z!0(tJ^-cLLgI)EhmkV^5<7UVF4MFY~Tinn)`hxg>?<`JYx^b^eqI=9ZreZ#DZgO{u z*=n)R9jIZ7$K~|eZKxAU>7?$O!!2=GGHuxmhQp;H28QaxFrv02^Bf}OT@|oFEY42- zXj0$jb&$b-@bjS$Ehv_&!6%f!=*T7o#BXV|KKrFbSRDf$T+3#nVc-}?tHDL@__mrT zegBK87Vl?aQnWJvGaE8`zTtcAZsQ8(Kbcm7(gJaE1DjSi45dbQp(gI0td_S=c|vwO?moAo z>EghcKP&G&Jh@=QP+r0e$ycGN*2_OXobOj8-=K>I(J!O!2Wet=%UMF^gftkgS<8Y9 zFw0EwgOg3(hQ8*5CJN3%g z#uFFn31^!-*hzJHwsYT&>)paUF5Ff7pry-kXtGC$b&j^Eup{qHs{5!E=CEf=L8L=% zcmKdis8tCz8k^0v(nj<3&Jr!cU{q?AQ~@P}y*anuP%67lhUkL>u-g@y08036Qj?<| znAd5AiI-2obJGwR0Bn29y*!gJfFOVF>Iszh?Eo7xNxu#DxP`6XqKCQKqqG9Nu@rDK zk-LWYwwsn=$D>R-_>8iblQQYFIOVvI!)Ud}7x$;qM_ac>B@}LC+>6jLEzt(RT1cpp z>0j)+O|!bNv`BE`eL)l!<6^V6h%TS(T~FSc8qj#BD3sOOX7YYg26mCFeH4#J?YLw2 z&M>{ySn@IVky~T9Z>_2;?41#E?L@Xz!yE2;_E}kHUQiTGq3ADXYAR8P7$+2i)K?rdv(DWpEe$`ZzhA zfOz7|n#Qy8VIak@2hSX`+d9Y33Du}rh7r!k52YI+c%WWtT)g)mZjSm#WB~* zYbuj4(^VGkMt=&%JPjaO75v_ui*zL6PAmcOZ8YBgmgUZ@pZ(V4!5bV(I`ACIqTI^j+s4J-((m$UrJ~9Gn$MCx|r)gjWt% zz57DxMqrKUr8rZt>0y#b*&xm3JVLXuh8LBJ6TmrX#JHMTMjCL)Q*!mXZzcJfx<(|P zMUy3jLxU&tTGXi?24XAUjo~S$G1s=kf#^iocwoYOyUdml@#kb?tu^vO#vf53Jv&*8 zQtMA7qZCgq_Y*kRHI(?^ zDRh&An7aFo5WpMyw__icUhj?RR(PnJUb0sho5IDKFLq{Rt5C3e*lKZzd_`~@iMAXo%+){pNLMN!+)r*?38;Q5$e!xwe zLA3*ADEv)x;wvURkhoi%Q7Pq}k%bv?RgoJbh#e`h>m5{|V7gQF*O;`Mn~I4uQA5~q zl>XXc-R+47oj`&G;jGqz0=$G) z5+;(NDA-Khbcc}c>UQcI1rHC`iCg6%CWgW|O&w7aF65`slb783MZqx`aSE0OG!EFX zg}ZjhPSSf_Rqi(zJ)1A0_uvso1R9MU1SyhH)3|^)pC2GgStSyOiAl8!CNNQ{<2&|} zfT~XJ$g%e^9gusBOFONZ&3h+S9Qjpt-0Ump>f@hGU^;C5HgJoDVMW=#3YL?TQZ@53N=q0pbVq9$mB zGJ#j#82rRnfQwYhF1~Wyha`+C79?G}ZV;~#wzF^o|6wnupaTJI=-?Tk5y?dLVvN1; z1}7i)_si_lP zc!qkl0m9r?0yIJ&EiF?CPlAO#@E&=gzQ15LJ9j-#yYlwTG$Pw&%M``e2C8}=W}EwCbNGm!2%Mu)_8DeVLVxrok5eGWYalI1`6~SXs_5hYk7f`tv)<+zH7v` zi4J9*wjl{5vHq)el)DBnBeG**V+q8iL|yr@)bf!jXt6b#9Y%u$)pxAv+rhGcOe9*u z7h@sW=qnS1YCFl=GL&a9SrGZspKMZqpyI@?xX7HPLKzi-qQz~lxl#ZzOSR}_dpm}V zreA?doUw<7Rq*Phsf3mO5gx>wDu`HWdNv+_i+1eG-n=!1X2#*g7=qe$06Y68P2bib zL7m4Gv%ox_exBQ>lHlPDpUQiqi#ZNRtPHCB)ec{6607Ozj;_`aTSy8xI=6+;lZKRv zS)ga2lM;hH<|xl|R~?yh+;-VW70S>HkMGVa#g|GB;u z>5Up@>Nmcll!032Z@~ryZP@81)PY>2DgjLI_2f=0g1Zss#%AK=1RV3!1{&3lPD+$7 z=oI&1d*t9!w4i9vR}K4O?t@CA&MT`89D&4NxtEQwQLyrklN+{Fep^M&$+1dC7@2(p zE%fbp6?325NhG7QI$dKZjLMp;40@*b<~VgIf+?DP z4hE)D&nAZkmpr17B31S|_a$!gEg}WW(O=g}dET#yX2droXHRhyr$&|g7NpO>OklHM zCs*AfSilYWjM(JE*RK@1=FBBVj?k#l3WfGJmwc1{FIto)I%XGb=6Nam+VL{T40Xip z1B|>(P$fPm11iZMZn-GDt7Q}tn2ie*c+t^eny9j_eB%7VODFd*vA^m%YkU`-b;PD?W<>3>+D@S+)b#c0QUX9 z7~w!AfMaB7jX26xm_jNW1bK zCCFLCaJEsMV)dbM@hR1WWk!i-EB>)z+KA#wgjob1iYKw1&#%g^#h~|n-nMgt{R zxrzOJ6|H$ljFu0)0C6XxL6+N9KW=%H7p4wiV-YG#yZ6G?wHBaDT=K8doaP#9vgMYS$URKkk*5|MMV>UIGAGQRg&XjZXMo;6{7b_@Pr93RwH>NW|sXeEGM zk`&DGGM(-_-?Xdo5t+bym+vaV8kG>Sy1)=muSJ7Ixd3>S#ier!yo?~RY9XN!pX_XH zE!VSFCE)w*OnIM37D&`PvyIs|7CgMM?g;v1d-^3JRwb8ubSw2%-yy_=RvCBYP$eP) z|MFR~updB;yLjz!6>Bq+A6v^>b8N7&o&a1+@QWsE$62x}wh@dnD-b=~z$>;~R!4cFs$|Q`G2PtW|%NzbA=fGCs3e z`!T#=n7p=_{r$_FR=u{ai7uiEv6N%j^em^H#4ad(UYEFF2;AdY5Xk!I-!G|=SqZ*E z%%CYGlF5xXwuz-eaCb94rJ5@hir>V2If9*`cHH@Tm{W;_h5-nFB@+`UvoUXjKl@X? zH;>Ha1DKOC(UBKK?-<_TqEuO3#HO zL(I{@bEX)-H}cNP0e26WN~RR`HH(P<&(f~!Cl={w7$T~p@R_E2h%|Q9qRlc7@ow=+ ze9dR^wlq>iOyaBN znFVJiC^hdU9iQGy{pXuqZ1r1LR6y%{rcGHqzv`Bnr`zo9Gt=^j{Z^6iuU4a@&Z9@| zdv$$GU3y~Dl)l2uFbP%fO4JL*VKB*?RL97s7rS31s0G20&Qd8bPANi}cdS#ZRuiZV z2NIBzL1{C`Cr5c@kdm?sz2gc2-@inC4055;%cyf=z2(XPpJmT^ zr@&w3qhthHH0%?u8gQgOpaBWh#G^2AYAR7yGd5OS*R3}AuLSEh0Mg;RJ0dpz(;W)b zipzJ?bKo=PdL@Gmd%0tQp5CMr>F5ZC%AstgwWc9~+m+xjUbWllbX3-PmrqS!h=bR+ zhB-9dV2M58zlmIcm;uQeY{rb1tYlt`b$f7Ey?Nmg8tE64y8qVuGw2{^Z{oL>8Th}u zucUoEKWFCRMnycG)Bf>4|M@TK;a6GXb^B4`8Z(86)gjMEOj~S5Xb&Z#)8vP@sPnFN zfQu?uu3avuu4>@2=z6-l`&!tHEMD2zyv)IN>)i1^2ervIQ%c9mfJEk1d-*64H}HUA z?N*eEIIsDXN2P-2R-gu)h1g6jXwd~)%C^@?F%I1&&Q07Gv7m)=R@@a4Mjf<}z%r=! zFMquyiTaR0ou|8R2`Ua#z0+Hl9&_Xti?|o(L<() zHTryx@2?5;b85`sPm1F2Ym7q;RuHn5?yCfEbWXP(VO1@*sT8AnnYe}LG&doA* zaN4!xbB?!AAksZ}zF%<7c5UJms#=Ynlx2SbB-@{wni++(_GGzkksx~;Me$LynR1V( z9u_zk4(+6e4Cyu!7oa$M@8*;Wok~>}-ct?7?t6<_r7Aisi&McO@hh)WG{g!E@8Une zb$UDF(+oV+TgbnoiWX-Og^F$3i5<;(%ZI4JJPR9^ghV8bIkTOSa}u4s^haxIJRC7+ zUaO(!_CE1NA(A67mx=v^e#{5nZ(hB*g%QVpU`(MJl=Z>?A*iG}gE|irVIEa9W1kc+PBRSO+)T zS@+_${2EByBMYbJusTeM9-e>{BB=2!P$kvPrf*2f{Q?g7=_ z%&?uiXwQKF!l`GXMujTrxLhK%*k#c;>oAVN!o^omGqxp_hPKskQtOo!DD?*lLbD0u z(bW@T8$VotL|e5$yVt%+0}EJ{Y_Hq4VVa3iekAzCf@J|O*7jOJfaaJ*NIrS z%h1e5@4FSFmz3O#fkv5COk9m>OX9)~ME=!rN6V+eS`;~fC^KrXg1KH$#D4vDCJom4tsyT#AzjtlRYkQeedFI!KlH>?piHtLtUpYVj% zjYzoyJ6IRIuk>(k)`(BEEkU0lhBp&+R_QKmjsOVAn-v*9fO1I#yH)yW? zF>pPoIS4~HOjc*9nP)X+-(fyO#B@5!<2||5jsR=RsJAX3a2_=~LgRs6WarH}r>$<_ z9F3Vb*D2kK2UwkQg%#T06B%1|T_18(x4jYvHilF`CSt(A$}PQ68AL_ed9*+F#{$+c z1*NlcX=#@bi3j|#h~BlP8_FC2h-VU<=fVLqr^qG|L}C&x(+O(~IEQlxNSvH7X zIqEmawDl)4ec+69M%#zmMz3-x)~Cz}{ro%TZu(LdZ74ZK$$kkospsSnIU9)r8V(S~ zIfgwS;Dw2fKYO}9m6F&O@vqULZZ<1R&hDIGI=ZfcQAd_nhV>xUld$3f^HiPL*iN=Y{W zD@;9FWzdWh6=KpdMn&XJFK?$@uDZn72Qqyf^qhcFHw$`ebpojrbDduu*nAKP3I#Id zcMDvtuURgVql{*;u_R-4U4;BEO#s~y;l48P^dch+wpCM5zA%+>?So~p$$-!NrqP3~ zWTZQlGijXcjXI#~-Co`%IkOUA0`!T=fNqrg@YMHVwPGxwrl`ms%NEX+2w!y}_tbD;fE{NNjN&?ZXi>T6 zKn5xkJL!P}tEp>44smuUND+$?{A_Ixj>if#lK;YmWweKm>fM-+WHf-X;j{LA>QENa zX>5;`W{j5yp}}{UCmXdc4^dj8E@U?`SC$3Xv%Z$gGH35%bz2q0*$(4o>{x6WO4C=# zDyOg-FAdk;4RndKJpa%jbVi1t2LTvL-!$Hr4^b%{wV)|bJt5BJdD0bfP-Fu#fhZkf zBO5;GIYA=Lx8nzSQTgF|h2IiF?^IH2HM{v_ZmaG+M^PAMb^Ki+iCDIQ&cadQ-~<-1 z^Iemy2aGH&YI=EyTzF*hWWqbIe-PrRRMV`Q6m{J&Br|mM#pKT!jtFO|ZuYTMbspqa zyU*t^FF_*%NhhGKt5NI3<*TYc#w4HdC#}6UIM?=EWU{K26M)2zV>U-{i-JGHF{(g9 zuZGBy2yNO!U?;>C$j%~zZL8$hxou3n)Z>hK0}v!y*vYb=Gb*1=Y!QLJa&(L)ku4w0 z0U({coZ*OiaU#pf2P`6g-EnB^ftJCr@ctycU@X<;)X|@a9*wKbNNqD7Kn>meRX_L^ z>EnS^rSj`jivl!q7{t){{;E0hvpBZ?^rzaWn@7^=G+j5Nb&|ue6T1J5Z;!ALo{-#l za8c!vPUQ5w&5m5W8TSwHBXP56SwvZJF#Gd=}U5?J+uGvpe4N2RKRRdQ8f zSW!cyFMyWqg4&J#=@{SX%IwQ8^gQu^@;B5Py5@+9>=hXBNtG9@>|q`8<~SkhbVz4v z+wtB(N*3E!uoq#oxgU}!q`H#}!Y~9txVd+r3=hP+fqFE-pYV=&eynarkYW`YN-2J~xygNocQhC{J=32HQ*7ipas zo(W=!T84v$JtJwWxfx)UCA015!vZW|6Fq`|Dn|qL+G10GmSxNN(e+IwOwS_;skn-J ztniUq^;-i_Srr-%P*#Ev85=)4pG63>sT6!|fOjDjv1lMNZQ4>XVaVmZ?*uq&0#21f z-~+*|neQHR3dyGLL@#i9#J^e@(YkdOQF+`Yqz=(VI(DV*wTm|=;e$wJ#eRv4NXuqy z8GGz1ey2^4a~xc1e9TxeOD<&98*>>ck+4*0rrWU>KGAq$Hz^h?_@kPGn56Or z5NK0bRytF=g1VkJ8kqf43b9M9c^ukkRAB#qHY;g#BHNe{V02CmgnrCZUeRz(Xp86| zhGVI+;fTDlFcwjdg=FF$;Aa+!Y?L?D(p8+ithYSa()j!~Azc%_m@eZS5a2}|bRC1` z#@KMP%}e?HLxULE2F+^gqe?tJ50OhAo(Z+TG+>AdCFpb2lU7Pje!}s79+K+)`;=yav!xZuyGV{nU9MFo%z>L!vk2B2M8=?8K^cDWymYuVT2Jt~_`5 zS!dn6?D#F}3$hHa z6gNGM)EcDC=E?s>ZT?l#JA&4Y3|Wszr8@u;QN|9wE5f*d^q79JP+RI`{|m)GWSz!m2!q8CloZf&f}i-7yfC!_)EgE?PsVh@Fj zNV$ah>UUJDWUHw1&!?2Xib?_aHil+72^;@dNWsc*UFh0?d-gB}JdX3XQ*51f#E7sK zCQgruA#-3kW+a>#5~FDrtxz zBj>l}NO1`AbpU?^K1D(DDU;sX6NNalT!31WAJ$giobRO=Xl7JE;uQ#R`cJQmp)Jh@ zWiSh;i;CjQr~rFUR#+0KRayxR9?-WG&Okbo z9>%OY>X+4yc~RGsiA4A`zwz_tGbj*w&AJ}jI9hN+bm9O0!R|e8> z$Vz9`d8QCH6O!uI+C(B`%?xRA=&&W$M^2bzd#SYl<%8tRaj`9pJ+!i_YYL92+5iSB z_@UO>k_CKAlqK@m3X=z?g+XrW=zj5l^TLgUSBuj+w+I`=Yb>HY-C*Y^yG=T!W!{@- z=}ae}oD`_Zi?0?6Q0eIau;pn5ao%(Dff7n)%6fx62ldoP&MmL}NcigW8hGj7mO8eV zrKc`G!(*!p2&laQ*}HHGs}<3CPEEk81V>MP1HMf>T3Msg!)BwP(0~X>L>`R44=3HB zQz}=R-F?j2t`a59hG(|EWdt)@mPXt((r{Ykf-Ir7+U&NssBvG4*fc7w{2VRJD2q__ zoo7BHKd)P5Yza3^{IIY{wbgU?82c0L?`ulFKM>Q8I@rZ7H z=R2WI4t3=^N0He+I}7+qOWk#2{OxAd`47Tf#F3V|^O-@~)v8irkG_l)zQosS`-_dV zs6`pQLb?CVJIIF!thw??TYGk*Z<50@YYeKaUk?_fm?z>3DpwP^(Y9INxHU=wXv^wL zJKARy;b~B>%E>e-;;b=-!c;76Y-sd?_UeO&jS!tK+sDHxGp~@t#`8d}>i@{;{AWm~ z$#mfq0KCAbIncQL-ieZ&XTTff@_QXDnys2!*_>ismg;Kd$8)}%J5Fsw;S~hb9 z9VZ6t8+{t+C-hI4W7iwx_5=%XoeAY2BVEQ>G>~c-WCXOLWP#Mgi3-Jj(UE#YWHk)7 z9G?PKS6@)RDO0KgBkHneYmu{_Uro02QBk$zGRAuK$0b!1;KT4YM8{_?IX^E9P0O1ht~ zU1@nBuBnt=iS4B#A7)1WpR#<@Kcmsmm;Sw!vz?bZ+dyyailxzeBWeWQnZ zaf1Y~7@71Luy7Ey!CQxb1`Iy7+9CerQ!vo*k=Gfo1eMsQ#F`EUupulms+8Ah!qr2z z8BWS<%3U^j@gEL}I(In~@@e1B)&h2673&AxgX0^C&+S3d`fZ8wR*&#`=P(N8Lh&*j zkUBZNchaBWevNx~!SDqV6?lY3i{^EOfXyZ_p zjYG~C_A$<7gH}UZ({ks$B$pA`s$mqS zge$xu=Rk*8r{Wdr@Ja~#zmTF8p>!hnAF$0sSk}lf6@&>x?NI0ddJfc|#1bObHXMuz z@!*QLd-cefyyU> z5bPr>M&S{qR+cQ;@paGaKsfvYEGb3ZKqK=v!kZb_KP!D&Nl|*0toblL^cD%e^x| zhwOQ<2uQta5w8|8jpGjPkM*6l%}~M4cI2smMdf4tJU!?MzUDX-qb;}OZC`tAJNRdQ zaYeq)?H+jhqF)HSO}f^%@~5s3uV$phgeL~{g&8Dr_xErr4TH5TenLZn3G@Pz8%YJe2!h|b|Q*$X?rTjAF z-k5P8a1Xp>9S#0e|&1;swysq9*^nypiC!QftYhad^8HC!)r#n=?v{;G4Z9C z-W^m;2TMv~C5K7UC)<_GQac<ng)lj)il`e1!%WY#Y|F9tMaldgBKGAKsmObK?qy48~l zX_SV!G;i`%H+b@oVf3OrrIt2R^KL9b3;%^9J5=R|SHhN0eT(lO+1T|1c_e6OI0XBTt-`t$3*eW?$$BV{7>uzSu~ITd<8tu_yd;rS?v*P(lSPYe=}65 zAsr#<3Uol}_M{GTart6+!wpWPvkBu~Yvb>_WZ5#LcL@!fLiPt8o_xuCW+@6k{#WUp zK3ZQyTI{EsDj1Plo(q@6&E*)vrx^>Y)lRs^<8Z30Wlcb$w2>&M)5dgjSw|J)zzrgt zXjT=Bp53b#*c3S2RwUM~jstUS+ALc&V_&R}HB!YQ6*S5<%Agc99K&%T zM?C{>AgTi&EUHJUZpy5Opf-+(CZwv9P!2b%Y!%r-n1gJ`JDnwtf=?ki75nNzJ;pNk_;U^B52&~alKsJ)B z0LxG}#RG0Pt)CJ>dJ@-I2?}9eRK5gdKUe&l=gs`UMMli>Vup=eEEZqVY-H#P@DjTJ z^njy$r`K>P)z-N}ezfFek*a+m7ueSNKg+0=VTD$VJlvyFJn#7{_qUl15MVud}7_G7eu%LG=KXzjCOL#QYD*6JZ+q{ zj$c4A8YjD;0*DSvscAUBqjVWVqeUQrpH|D=Nf9>{L9oGZO_;k?d_1%4oEi&p058RJYvybY5G(m`yu>UW znYjMAWsezBZ)%AfccybCKTi&|ChdNR+uE$os0(aKpi4zqUS`B%NRk)revNHgA}m^H zjb|fM_ZMJhcg3^G6|J@$6WX%KSln!lf>^5hAaz5uuN!)DWrkXbZAx0bC!yxb<-H#d zs_d|ki8?Wn-^}Xl7W)K+aMY_5Dl*bz`!;n?pt6& zWq${J0OXuveQj|~(ImjPyb925LaV|b4++?=drN`b836XCfH_bkjN63cD4`i0l~M$K z{n3Nek4&UD> zLxmy9_eZ|dwEycXvO-(V9KNuPsoR*tS=JL(RjyU{O3aBN4un2`P_03t1JU{Oxmd40 zUM-ncEu>7mA4Fr6tM@rz57%6+9_AH!$fT$v7aPn{zsXh?!hq`E>4nGH?8vbn7>>atTNlI+2+7_PDWi(CuS_;(U6%AgH zC9bLy8Q#knrM#|pZWga>gAF_t{Fsd5w2s?(_=XhUgg~<0B2@D}n5kT3^69QxEmDl( z{jeYV*tE-1@10Zq2YQ;YoF_syuNsgS>C{H8koV)9rcM{W3xKAXZdUapp$(g6x_3*N zDxSZr8oR>6AH`cuUDzh+g@dxon^Qjq*s~A!tsciDZ)PL_lEE50&KkjWKffIE6ei8w z4`FUx^YPSy2`p*WQo#v){&B<2TfZ)>W3=XEOHYJUwzu)DuRV>Z-@=op5t@?1I!V_S z%&X+zHOCH1dtzKQPkiwEH{PH|dC0A$u-;i|=E}l$y#=KrHOZwOF9J@>TZ|e(Se1`t z16Xjads&Ru0J=lu66G2aRSsB-$Mo~13KqIR50RcOkvrEmd=Vl(-E0|txeJ;v0evR2 zEiA#}&(J22**)LTeTe?jRsUy{|WbIQM>zke$IFztRF3OyVEH|d;X%N2S$ z7>L^B84ZF6?q&7@E@%R0!tDb_eH9|r;o#k2QGQLSK zwTYZfdk@LG&`G3=jlrJYWvF;)Hnndh5I)sFKy{s6T}ywnHXO%{(~x?+v;}2C&!{fc zM8CDy2QxE=2z=u}ElJ2`W<@%O?l0!YX`v~=(-qvR%YndYmJh1o`t<*;sygrM*zsY) zk=c6hY%Qu|#|Jrz<8#wt2ip9jh~bIJoDX&^7_;`QMOj$1o9hMC3$oPG!YY2o3Ou-F z9WDEJOX69uTkq0m|A_=oygCgJtX~NZb{L_4Ja&oL`+{OW1e}{?vhgY{sJn=VKIw70 z>6G_A3%LVZF9g_QzkN>N*ci7%*Ka}AD@>W#z$0y67LL~h%!ipNr-4p9raz4z6h#yL&vGo;R-hfE9-1Q{@hV# zhZfM)tynJ|o3Ky$&oc(7mvE-D4a2>N-Kea>2^KmkQCAlNc*Z8+k!||{NKdVT1HznH zS`dLDkdhbF(8n!f3XNR=nTvki6zzWfiVvQ-A5Cyu(yjV48qdEiRpSnM=WZz3FNqrN!qD0<14r` zovF;Ynt7{VO+3BgQx8Z* z9Hwdt5Zqeu>LWg{?)o(x@XF`n6oy4ONlTld8>*_?@M29#6em;h0=}c4DdlvVr9h}C z+{=1DOh{oaN)~)@aBWC>yRI7hhy(({u8)m!)`1v|CO~kA zijjgUDq$+jsmAiB`r?}Tl-jB_8anv{B>je0gp-(eAej^MbmJD|O3kL$XoXnN5-`wG z6>da$Zh0c=nC=4>mX_-w6O3ARBu3^(rnbD+yQA)qO!f?L+YE1=);FLHR7z7OP2Csg zl0^5B?B;m3Wb(}qBR93d@>M-?hAFWg2(v1v?^_*EC~Np38qt1^Ul!ovlH$F<&D8zU0ZBPH(LCJU^yH*Y*;d4Q%1B z!KGE%g`|Mnz$sPihd0}&1XvOnT#K8tq*vkuwKByT zJ3X;5+1b$gn!GHlFKrG?)^J+9Fs3m3pX*H`gmnANm^`^n-01>UiL&W$&35zinV;!| zL34j>(4-|a=c?yl>n>L~GU{r5ZyvHB{CP$jpYgRCuTpN80!mS|e}%Z{38%t!z@7?y|Db7{M94r_19r zCu}b+ERZNfsAH{b)3Ed@{Vge4<9y0o>aX_?Qveh-4s=q2K=*b3P#|0KQ-ro8e-3;w z{%b5_2@`-D*=~VcyE$?7-KMhP0i>^F%@7xE>CL|J@!;H`VOlyD#^-?7OVFUAplW@h zj5T8_K4cd7Ds{de0XPjbL2Yg-nUT2zdgf)(J6k;vN9mqDM2d{Yu;;mjWH5Px{KE=L zI%=}kzO@UAjn?(m$qXRIaU5HzF)wdyE5%fo1hV^8#vr<7Zml~SPYH=YfG0r=7^AE^ zngAPE`ujLjtGs(lB3=F^kD;n;TFB>R4GzG3DEeEVI%-43VAU-HIUzq8ZSuOI;UuVo zzlMb>Ix$FQ-60o+l}?N2%wnk}qH__o*VTrKOvx0X#V&iDWCD>rHB%7>64gxY=I2O+ zHk4>dbo@p_P_-~3RvRz?fWs$=RE1eOcc8#lN=Bi-nQ_$|9FjV;EH*Upc76T=vh?%Y z7Bb4!KXHm@b%R%O8y(e&V|Dk?_F`RlKaH;oGKIL<%S+G8kBAwzFU7`)rYl^V{b|R; z%vuvGbcv@o{`Dj-K{dhIP}MR3R3IEm-6fR*)1p4VAi1)aqfY`JFHnitLf=9k zl+UiSqb!uwC`}oP(8xH}MeG%IF;_2r6ht3+o})vqVLQSV+jA=`PS8Ec>mQ4S6fDrG z`ptMy(`%%-`T*+1dA)cABT5@%iyCZ$>gor9LLFGtgR8^N3mDndl1K{>vPX^yT%MIQ zxO~EzBr&HkcLZp}7WA=Yx+z`X3$4i>r%6@*<;+zm zUZgg)7U-@=D|4M;L6W66QvtzMVLbRfz3>r*Q(-NS4ofH3=8oF64$hgj^G>6d16|D0 zL>O)yBJ;I=C$nlS7>!$CF`EczOd=<-;7y!aj!n)-TOZa+xK;noZt&a_NBnj6?-OoH zh$!&1O;HiRqx{uOSTiR1s7T}K zf}mNC_^jCv*X2n#>a7FYD?k25dJ>Aoi<6~S_XVQHhSvLNRLx*kCKpMhv{Ur8Jj$uH zC`tO&o~(-Zz3F^)4JawvGAkb|b5f2u;DqpJj_1DU<$?LUle~fMnf9-B7Njd(Yi$jZ z?iM+=_9!R45^NO0A};Ae^9nalrAutn%O6^`Z3iyKdfkZv6g#MIl|iZhlCP-8{QA5dvbf}WLA zON?88awgmW?z!W!Rj`I8?B%0pb>40fXwEVuD2a3|cB5wn6Qt2nt0C=bV41x}RS0so zhN;@kad;+zXY<0wBFfneG|Pe1yVY&<8iLbwbc-KfcbBi7n_iEBq*RL49qs%0$&eEh@n=s|wxA>K;pz%17d*`S7>bE9|EwF{(L?nIq};9j_!{w>_yOFx@~H zB#*b1xu@q)0uX+a>r9L%ZU^@C6x|$DBy%G`yr`yfBU&O_@dn|Ou?jhf&aTl>*_-!x zN9z&FHAEPfHeYiL#fg>-k@Ikq*JNnS$2UpSKNgI_Gnja6c;KS5{>CX&!d1@4P?#jY zem=pV^sb!-31t>&3luTkg*kzWFdoXq)e*)VH&)|QNZV&*oeRm1>o!9a!2ZvF{-4+D zXFP`WXxF^P`Y+92@sjrxn5t4Lq=g<7PP?G2^(y#v?^DU7zt}&9s@*!jDR#;y34*;N z?{ud$|12xN08atkEXR)!wC01E(NbnmceyjQYK&Hh;H`tm2Ie%ZfVJrIT-gI*TV`uO9qNpX7kd6Az&!KxKq9Ne zmCxy>v7)spvwJ#mN)D==$nst$`g|K1c#^CNLnJbXvB$(Zh-Y85@K`;I4KBMHNaQ;Q zVQq2MNcgO!tFgoA;dz#@x*ydwz^oM_gkCh>qP)sp?KG0mt5vK}uneVpM3IN$?ybrh zRp#@m67?tQP86!yU|L<$Vlb)OdcwR<%>=E5S)WXNpZ^rxLp}Hx28Wk;850l1z?~j* zNr!Jy`yRH%ZG{bKp__MyJObZ8#{T{>N!+$IP*_-6;J9$iDK@|YbS zjjL+sk06dO!dm4R)&HD&z*Hr&&!y%n-G&QPA<*746KJ_IjW6bYB{`3s;URW9)bDLO z(7yiX8j3ePypcGbCyEi z*rw?uU~P=A-*v9uCgbEnf29c4bX1}a4K z4YewjtA!c5anBCTA+MChHs;;uX1+bl{3KyQPhb?JDpZlWwawozW{Nj-r#ovlba$=y zv}s!=RSqK4`F3(pu7gbkVZ_9Hf4}>?Wr_v2HAZ#9Z{&68@d_q!u~XB7iRm-j9gN81 z=I8a%m00sQ3Z|DG)0{ z#tXtf<46phZ=#M5?;{57@=E4RxAEk9J^RTl*GyISU$4^+V+Az_waPB`H>K(4QF2YO z`zjpg?~rrEmhAjC?&WD+3#~u(M?iv1+J2&4_aNAnckn4-2}B~a5?Y@Y{yu@E;8V-4 zeU1(1sWC8Rc+d2h(s)S&qTD3eW#C+AHu7rCa!^Qg6;}cV7q{0-0DTLYv&J9PFX6{@ z)yaW2H&=TB;asCr^fnA^<0W{AQ$9@wb-R5zX5Irxjj+s?MT@(;jZn0Zf&F!*s3MB? zVH?^;mr&`e*-b!&Ev=f!X`l95yNK$1Y`G(04&NW4w|Ca>{{Y>C@hfper1!2iSF;;7 zv!ufq|Nee(RCNgx_1(o}(f`w}eU~wv$|?Ejd2^;50SGn-ZA3gNtW|>_u|Q{D2%?2K ze)10Z%#t|1=a-mh_f!@a7CHD#&hT$ZCw7pe3?N4tgSp1fhA3Mjphfqi8pY4&K1Q{( zibz)cO68{+kcfBtPLiV$mv|u>k(+P3On#^W65jLNPnNLrRo7Oaeqmgu-KwD@og92t z)sZCJ=zFZDcZA!K8btIAK1PPjwbd3Nj-H`Cgt(8Eu$3M-xYwe{{qK<>_oQGX#rv2L zeDp)xhK%i(8L8^j;{>g;gysU+d`ZqR2JBNY6~znsdMT*Sx2NQ#=}k#~VhE~gNrktq zTIbqYm0){5`OZkq5Xa+G4RKZXrtF~p)Cq26sb4IIVL{p=$lcp!t4m$FP~NDUZxioy zBIX+9Tu{*^dMs|4tk*Y$g)*5wV=prje{*7(anU&CP!7&@xHYK*-pFRd$!#nE% z>n_B@(GD+>@@>=4`I|N1QZ&yM9^h<<8ZyeQ0S%YlhB6~=cI@`~dGKgV3h_`Q@Ey{% z6CuSjyy8!}P^w;A&1PVG%F`8bFjk4wP|*3S!D5}};c<+oX#)#bk=O8`w2xd78@tQw zY&FdDHhkDWAm8TEkkE%(r1~#9qYw+UokA{mh^I%Q^(`?>(YfbLRfbfua3d#}L(iPv zjL%`28Jr-=S9seKV7Oha@qm2#4(O}Yw<-Npnh5-Dg)_Q)-yS?2_TI*P;hrbr zTiV8E0#7ZE)Q3JXNgB&|0z0Lr4Njb_tCM^T)CIk=FZBXK7*Xr2?+E4t;auykYPJ;0 z6Cp{30TTd1Z)t^)gE9(YS3zrRPmJfshE=9j23_#~pU6NY<#6_AHxOPth+9Xxu(!rG zo}A22?GW&M(a6k9SAdG=R#F+jjP$s!gp%6uq7@W2#BDs>c#gSM_$I?uQ)Ou_=sQuy zHI&i*i1@kXSQOq#wklN>*|is;P`zc`zE=MPslIZUx=;(w8n#ZWA#2SUJ0~HpTfANu|~ByMy4WJ!z}=9+%H^=a3=0#jd3w z+O6&V4jRvP5$h0$`zS(*RwrKTBmFC!ExaV}EzgOE4wI!QULESX`of(*Fa;NUpI<^M_l9Rb=3v9E z+Sz}w%uKlltpzt`fQ8GjTyKpltig!_tNX43vMAk)rpXxMvQM|0&&vAiK4jX zXc%|Z+^fm%lD?5QPHd>*?U)?p5IJdmf)4B8ef-NPhqrI8bwZih>c=!RAVpff&SU|v z9%K+&yR8zPn!GNe-ytR&S_R;Dhqx+On7{53>idyAh%^QiO^8G|vK&eSmJtGrbZ|4E zZJQ0w(EQSbiM7~PbO+>YoyS8Ey*Z5@Wv}%Vr18Nx(Dgz6lOGGv&(!$5P1VGjNd54M zMFDPWuFWQ1W}*>6dWQtMNfO%HgK4bwa4K_*uvS(u)^2^7wmE4(i*9ar!fQ@FW*iWP!9rFiC<`NUjrQ0dg{lc$dgW>cf?o~ui6 z3_0UB^0JUSPUC1msfEW{NJvVMea)@Sbw^wOVxa3&jsUzamb6pBPv_4b*-e|R{EuXA zSQJkDa;kKLEDzUn`~b*)QR08zFJATjkH|<5B|4g`-hKxMDXbZd285+liuug`lg~V^ z%3ngnf~Xs@k1$IQ;Z-G!Sa8tQ?fNOK{vi~o_1s={0*F2+${Tv|F^=ox zgt9!;{FKf_*=`s)LXWbmBWWPj1~86K)Qo*>f2zfr+KC&K<|8wqEO$se#wpxf#@JD^ zyYk35@iCvVS!h@Xz(sRA=F?rR`pu@eop>Q4;?j6P_O-Da*7u5~uf0O*fm{UYYc*qC zt$jooME76>G~&dO6i>VHg1|jv?U~xGY{7{!j-9Xlk4PwLwiA1A8NUWHs#FN>qJ?>9 zn`%3Xq2CI%Vxn>xI(oezdo4D;7O~z|FKxQnG8K#&MT!DQ$k~sWwiYOZx$Rc~aC8%W zt!(o>)*laCKlhCg+0KcAPTH!DH)iFSbTrWzdyS`X)1g2qK```5$aNRd5B-(%9h#CLr@xZl ziLJAKlnoOrp=ZqJbI>6r6r-X|re6I0IHkoUnE zRpS9dIUT~p+Z}k@=WElwwrZ%D5^m2Q$0LdQ4~Yrf-<0laQ~Jm<<(Yl}=`e<)_R{Q5 zg(s+-@vxpw;aKQFna?QP^mi(b%D#6F$bn?lcgxz^K&hiMUK<^D9sBm_9J-50p%6jb zps|FMwzW~<S@M|fp6Urw^dEf=^u?h)krzrFoE~`<|-fv#x zd3N;`YFC3xQ8G?FOvbXPeAdA55S8?1G*jh|Mpdl$-FTKk*a}R2at;Nxs+GbZUSK|T zBkr@*b0*k%7}ikJLnY4*tk3jetlH-ta$5xFi7*}RFL-*n@`x5cu|%&*p}Gz-?D{4i zd1AZ0<`)ZsBT|+L)u0fwrS&SR3JR69`A_4)(VE0+=3X|MJbL<4y&p10viAz)Az=@% zSBiz9O2~~r;()R*B=k{%jvN{IPHZvL>xGnhq~L^Qtp#BeqOG=34;lEe=%5z}+k_D; zJE_`FZyuw0EC&LOaJ(X2uOh}~w3!UUikD(QSxlj+Qda+v!G!TKy!cXp^~hIQV&TPc z&aCfc!dR-fp6czkaMy<^)UME4-)q6;{Izh*gfF%l>qTL^u(q8ikeY24lU-sc6C=;c z$>!2PEWT%fJk1bz3t|gnJfx$pNao2*hSF_zDSTbNE5mc^-e zE#j4RC_V`UoO@jJ5*bY#0-*0GjGWEyA&E9OA5Utm=gjK@YT#X`aa6RACWZu#*^~g7 zO$e?TJ3y-J-1DI+Jyt0?!LZClYVKg(T@ZBShDwJZ(TEXSU@3T8dcIq9x+wB3 zoBE7Ze+EGc^3=0ncEN1(4pM(%Va;uM(avB%yAG>NLSs$C`GirUY#F{jL6*Q0Zc4&1 zY$&W%`xdgOQk!G64eHGMKp?#}32+T38_b1|@OWh3dr=Ang?#fT({vJ<+1I-OvwHDTClVJqD#hxgc}OV+VQ3YOCmk7`o^#Ckqtj^^g~@Z zO@8v>+D6*PY2kRd%EzMxD%w6qmA1VJ3s@e(VoH@{Ns{GR{owG5E(1m8Mw>>nFg@)5 zf7jZh(eHB{*;LbFd;BmjRMaRDN5iJ=X2%vyX%_+3XD9`ni;=OI2pL4wNbb=!KY-F% z-)6@+>0o5b^|0{3b@e5NK*#}C#J2STL3&p14xf}7x7-9VzJFZO>4;v#nScCz4CrE>pD9gpVP z17`l*3>%7Ltoqlc_FY~jLdThef*^{k9-XoRtWQ~o7u$+6YEk@VHPRSl z+q5fQb|7asOL=iV)*WcKuHs)z<--ApT1Y<97Y(GKzed?Vk$<{rz5XR`_oJ1fDB;%2c~kI9J7opKKxb-%6(bV3R#EVQNch*Qb!9Pp2WrZ4(| z$iX#jsk3hou7g(ZUYUGAsFBVq6KZxAFGWR*@foJtWwsiA~< zZndxjyKly~Udii{;ag6x-49GOW=Bxsm#s{?zOhrmt%e2G*pp=(swv*7F`sRJ{wf8vvb zLxXXy#@!`1InGr-{1}!fY_hcp0d%Vjci!;x!J4|pq4BWV(DA%2x0jXkEsiyyav~~R=TW%Y=$p-21ln$64fE{+`nU0; zUXE&3kS6; z_@%>W00?!|7vyInzSvrt0puE7Np907IqG`m8ZeJPo!kCZ3v=O?yumh{_)8;56LPZ0 zwi&-Z*2`v{F1<@3_q6Jn5&x&vR;N(N+869_7Du+F_a?B_xGM^ZZBOVEkSm=&mhP0} zc#AFFUF2k)p7CkYE$z_&kjswsL5jGyy+cXF2Qr>&9f{XB%!!E@o^clhwi75*1R#jj zWPNC$BM_{civ$#A(_xpk+xsa3CIFmMj@A>SUDVY298^6O1x?foa}q*4@|)W!dYz09 zWQ*n)S4^R79*z;+u<^t5tL&TpCIaDL-dzC4K|fpbQ?iOO@i@oA3h^6IG@APwj9Ym1 z%#pQ?H}J?35_Q3tR9~h_LPB$ic3kkUzsYg9Pe6(FLy(@q0C)dSn{=bfLKNewznFdX zqNMN92))t+0Zp2E(*rurBit8Mg42SUop)NwOU_)ft9RZHi9khBy%;+z*@-<5sl_{C z?Ss9rEP*}cL`M+w9B=w>z2Q((Al3k@$^NBug?k?Yvlug z9vs|qJ_cT5)iVYQHt8CmXq>sy!d>F&nFt;wiJH4IA}kRxntB#x=0+a$3Oz4%sD5?3 zE_!sY$6wUSdB%d&nN)EyBPJmFqTrl6zlt?tNWB-I=?yaD%9>b)Z#gUv)G73q#VRJ2 zHJ_(D+se?OST`flqEf%AkQcQ*5h6E?OuYE*H*wujjXKqbQNy3ip1wcXDa`h z*g_*dw&}^`+7?i_WqU=^fbWN0o)PT0)KaMtF12e`qQoj$xRsSeUPogHkf$W8t^`hQ zCG!26wzrWeK2b@hJ0@l(Ch35ZdR5?4?x)%h@BjXZ)=;ppX2z$q5LLJA_*yJV(rqidKuxsIECdq)*Q$C; z;>g%vZ%F2lJ2FWjH{C+N-aW>^i(>F?f0ugR90tkBJ&o@*Ccdq+#*dvJ0Rm?SY%&%!rkz zBmS@ENtW3&{y1J}07Vc~-SWJuQ1p!)s1kJDbqXSueDz+%ZY`=9d#ZUZ(J%9fPH_gN zhl65*UiO=*r1Pq|J&u>94o?3>=|+Xw+F(k>wNqv4KKMSg^J45tf!LUrVKLQ zr|N~G__JMc_8>%z$fWDnvY3nE9vYQ|dLvDjQ@K9@LaC<>gU>xFl2c2A_`q3kRdBLe z$E^~*|2`v-qk>n`4*eD|8&(zcwO9OObZDWO6#5E1V8B=aD2|mM#Me>WUfkUmi!^n) z`|MvZ7|;3jWZB@;$sY|S+One`Q^mOwna@l1suJ_`PtOp&VVW2b=I~!b9hEMXnFU5l zH?vK(&Vq1uzBT~un&H=k=uTS-!US;b0;aAj$dW7e0tf~}du|mdH5rie8Oux?v@3P>+UG{$B=2}plQos zD)7o}Sy=P(na-7y@x!iy#C1eesSF!HQ`O14kZ|1f#8y2U)S_#!LhWTSW6G$q*S%+9 zR7L?xBoXJbz#+N^ao@go1HFkO-+8@?piN&wIzH^8YEcy`bUP^n1sf<{-8*K~jdKq# zwd9O~awlo!u*5MV3GU~J=;bT` zJh;9-Gd<8fjxO9x$q@?L4&9aWAcnL{_9BfDn_jhNU$F6qemR7!$&yDX0Nvcma^-xH+^`Oo!U!^C~7+HDF!huYMN|>JQO!AjeKdgB% zsym8~wvsJv4L=sf-2pGCrNl*`@ugFE zXv<$GNBuBMp#R?mUvC;2lKQ{~O)TCK>UsrtKe0yYPrIAI3DWE*a3y5o#ale zZ%z<2q77^gE(46tfrq}6#j|*o8d4Qu{MJh$q}o-7Z84t7h2e@v??Jby>@~T2PI_TQ zj2db<_(^HO+0Z}@Lu_#-c~NROo2Z&b^;~VNXl%Gs3mL$PeXEiLn@@xK)T53al3ekt%9%hS0t@QjT;m%Vd{Tyib*KD_+eLj{8 zG^b=W^+v7F_BRub5Cr*x-*KnSjbcKhB&)t3>=fh5b0z8KViEROKn0+|Q`GE7*OaMw zvUkBD`@{XKP-BCr(QU+{UR=4#M-2c6X3=}*VvUky5z+*>+)QpoYSduS>r}QiPcViO zQE$oDvYzo1q5YJwy;;PkSmu``(vlh(zr#G=#ankeS~oW2HhWMlO>X8n7o#z@Q+O%1 zTPo#R;-=sLBtt8#4LHCy1&I*|DyAuAzZ~SM|)+CmqXxXf<8GthFgrP8_krU>kffB#DLTkcsXY%Sh^zS5QstWL?|+ z>UIId6ON(KY#KZ3M=QK2nw6@(YPPDlDA$!B{jPpCr^wI)!-}fi&mx25ZOf^Ptr~u+ zxJOC4i~4M3jqI-IN$1Qi?iSpSt)@Qi8H2>2{Ep68q{M4J-3m5Oib$mQV+3r32&wg7 zQThD;Z6vnc2^}KJXF#@FQm)d;_(ij~x(Hc^;9wWRn)M09`3V<)ae8&JTshx*h5#9L z+@aY==rVE&5W9UOJ7+duMY0e64XFO3j3_&v+atMpfbP z0L1n<9#G_d35(pjJ@V33sAT}ZanhiKYm8Fui1=|;c~TeGaYJcwz{4)90;?!@O$)=E zhwlBvoV?!!Tq2VZ+s1jKLRrqpKH^x~(%$;_rKn*9p?xfHpKd(}{mk3{`+xtpFO?kz zYC;6^Gmif%VUSAe5`}ggcv9yZ$C8hF)ILM{ao8k&XMcQgP|*+p_bz^@$3iZ8+XV7l{P^xMnf=T* z)O!kX-DN=NiAloFq=H6aTIXa?*l|sXkFN!yg54!C4 z%7Q)07)&a)k&_UXH)pc!ZU>Dv-M~mV|E6Wm^m@QVh}9LT)Lrq&R06OkSbrDlm+3o84YuMbmU_QP%DLx#q)#8Af5?Atv9-< z(>Rtp0~=)K(r;k%QQZ+VX!K;KQqS7PZk!P~qE+=OJmw*%5rKz)c3s}S0Elqv`lvDo zLz{h(wabno4Di$ZCfv_<7N;FFI}N=KPCmB1(Gau1dN{B_3(fCVqKli4b+s!DH~r(- zX+6g=+Mf&_=Nm++3UJ?@pDuvtjjGv$>RsmKK#)&$=t&gQq%V<V%V(PkuO%glLO!(HWUMXnjH;JUL{SQ&> zze8;BE! zHAlic{Rd{OJclrA*xe#r%d9#d9Hb(}AMVbN^n__p2RRZMm+5zb_VU?S9hL&x)V~(( zMth2+2fqJ~MC)l9->_e*RFP!Ok0znodPPY9E1sS8(g7#YJ?o*nTzHb%mtZ`EpZ-~d z8vyirD6S6AmE`V`KOo`1Q<4jm@79o~-?HOh$Hm-?foh3{er^T28y3=ela(a|((oL7F+ zNx7Gz1hyw>^=yHPDQB>MJjqmM+Z77}=Q|4Twy_d!?;B;>X+}#2)?FuzG>C^a$zrUhhuyo}Z`_}&`5^BN0OTWP7DR3(lsI#sNI zfv<~mn5GW569$?+r7xnbJuC(p+6>~=K_USBZ&v3+3M!&e&)`yItgEE6xS9B_ff?BZ zTi&bI)?lUTcr|M6&Q??3fh99;34f~r5c=ae$ux&rMMtV`goNL0>084PCRu&FwKraL z0u5PIG&TTVr1ZigGZHmDA4}LkuVt+u+?=;%p_LB9GoNNbBO@kZS+Q(qT?8g88T(!B za<8XfEdn9%ve%n>%X~OM;w*HepbHsC=Ptl+TMdf8xsTm97_<_X&Ly|EPW4ak4UiV)Vf#(E->@7C!UsW;@LYufGWKZ#3B$fYTfirbbbCuMD1c27tHghG= zhh2J?q=nDwQ}&*(mpxBWxB0OV$}*X`w$S7wLI{+<3FZ^w1a~r+pPjl3wt74wZUfb3 zpGo+}+=vJK?|=U9f6U07 zg69WE@21i(naCVb7vdvv1?EJ2BAj-_GXPXpk&$+Xx9}M(CE)mYRy+;dMWMGc zGX3TJ^~9VS+lbfkRnQ3iNA)LA@l zzdcAFc(@X8M}1BB!}fd`oHf(0_fAH-d$??T$taQJqd_Zp-P_;e1fimPD7}dB6nHu= zRYV-JInCil(jsICA+9R^^MHQ5W}{C`D6aDG;^>`hRN}=RXOHqLh&ng;U-CY+Itle- zxez}rvQSmb9P@A;;O;YQ2^u@Z14|P*#UfmCAzgU1t zg@M9bjikdi5E8UM;ysSVpDdm(`KN7Nb>i8Lif(>jdAvS?c5}*l#0{~E*%9W3^cu`} zi{b~P3V@Gq!Ewbi8JhOh!|QgBB7PGGG0=@iv2rs3ENTtjs-OkHX3V_Q(R6&MQ)`SS zzn=gFg!UuT*Pio$7q_-vHQ`R~-o#B}$2*>Y?wRGUo&9J>Mg9e)Ey&*`25OW2VMfDp zsmc?x3X&_NLGqdfME%}2)Q%Q`?=Sa?#=O$|(OFczqkUbdx3ZJShuO*H(ByL%39OI6xiy6EVHwM#=I!(v)|e=%vo0@QLZJ;dw)KTh* zwJ$E^f4h>VoUqTIT=|pyigWkO$bE%VG`?w(To0qnp`N(=!n|kzBMlMCH(yFOg=J{M zAnxOIHtih}sEc18m1T%qx)LFhRQWh9`HADL#tWVYgc2G7>4?bjyqNHS>(mLDw-zN8 zaNJ+pFEkt}!JlA0^0Y*z2_Xkn7$SYOL1oM>aE%5eIu&N&kJUdH(1t`R+c$yGJdO;^ zDt-uF{BUv~mufD1O*c}iTsxLffG2-;M@<$=&@a5kh~R?(iY25Qf>(LjJ`9a!>TEw# z8o+`IbVA|u`k6u?PxiQ(CCO)QEP1(5hB@Kj%E!tQN z>X7b4u@(+BMV(q1sqI>DBbycxj9rnYXPkvnZzn(;Oxmn`sBHi{SE8d{XCyCKU)6}; zJlb^1gxT+Lc=ew{|9c%4cE1qJ;rd3W(@O2fMny{`BiSC3x39yIkb{K zoZt<{%$*|~(+_8Gw|PS}g8_-+e9^5*&wwNAX?kH)Z@B8$dnpm2 zcA{uYDd;AMnT1ya7IR;aIy4YDB9|(d#4%7m=rkBo$KEQ%!HJoF*?$+B)g`oZ;Y}c; z)ekrRo2vVv#$Jb@8cU~1H8dayM>EwdVRJJM|16$`Z;VHfP(Rl;lSrpoY4={H#~-e2@Irzt}V{yj$8Uuui>pUl&nJ5COFe)j0>&H zgF^}zLI<5A!htWwEX{T#tCBry(2Pt%fuH$C-{M^2_-t;^19KFw84p0d@SDgXq1k0- z#r^2>LMR}poG(0S?rPz=WX>&h%GKo>jW{Ce5aBdbH7Czs6v8cUx)`Q7JUIC4zF$A9 zB>V3~G8*2CSvV*Ab)*J9X*AnqH@A5y0lLJW_daC+ll-oEX;kf8VxozCL@sihSR!rZ z!m02pmY0YdI`Z!agcM)e#gs#zzOzND07#*>4c%h+eB>%+U%tgHZ`rKJ-ojP#Sf^03 zzCql?p!q0=p?Z0)4_CMeCX}BOC1~F3o1{7xz`nk&=V-?w!J`>MC&$e-iIr+p5!HW@z@>u{HwL39hk!jRns%kPG9G(Fue2^r1&WeDY z)lN1G9oHaBnQiK&Pc@?b)k~VqS(s)8a5vjgiL@cBf9|Q)`Fc?jn;N@9rb?`t42&mc z(w2ws%AAfKd`K zZ#N}ekW8tD^Q>Gh+^ct{X$3#DXU}_Ml?c;aMPxi6j(ceZ;lk&B81ue`&J97b>P zW3LS-1ReazrIIZ0*Hj09EXq9**CDB#@%}?M``ks75*}$RXsp0S>rn5k#$oE7-dQX^ zH_=OU%+>qw1?7-;z0LjMa9YSozsbv6vd2^`50`cKXSpA`(#O>sS4K%y+K>Y%KZ~cr zozxD?;i$Hd21F|VUa%lNm^s5OHyu&5SxAzXHRR!wod7#P#J@cHV_*2dH_O%p=J_fk zq*xEk6Z6K!^zxF*fmb(fJ+E=Dn)dF20X%Oaeu*eyd2~ANlX%uG%_(W<|NOJ3d_j^h zFr+svL!IMgf!GnaZ_EThE`dedl{wA(oFWZ;8cY`eH28mt8WuSvqu@2aqXn^eei$Fb z$^|Y-&mv#1^UT`6ntH^w59#z@a|Zg9J7qESooS>`Tfk1xKo=XB88d?o7XH zFQn4O_kPUa@GG+@dCNYdO<$~(wIPxb#p2Kw_oROD$&bXk2h)#GF2tv)4^n=i?jI|k zs*2dFw)lVoe;i>whEkzXAFV;$xGAeM%++(okz6UaY)#+8_&QWtPUFBbq@`bq1+D9 zF0XWu(zkrrpD){i%|k)G<#4y&NQezu9_MkVdvA;6f+LH7Q4J*ogrYAZ{wmMhuiJ9; zBsR>FiPP?*U8epffiIiG#+$;LYx0(`Q>2(R-w=9u-n3z^7Hd0O&}x&YMrA=!=L9n= z0?_C9BobX9F7B!2vYB}0I&1}jtsu5?{h3F{+dq6`-hB11EVi-LlQu^Qbrx)kqT5nn zhOZ2z$dUaDswu;YiIwL4I`;h+vMv*;!56djvZTP*l3&w=g0$=3^QqFdC z+BGZVKP1!w>q0?9$D_1g3h|fgUr@u39r)ptlJ|Pj4BhcRj@op*e375lI80*vWQI8Y zyLeiN_C51j|S5?l1(amesuAq-o)Cewr-246m2btC(&Q0qa=R2-zZW( zQFQfUeIpHRFz1A+9ACwC9D65t zk7iwZwA>M!6c{mF;o*W~+adAY)s*+f70y8kcNoLM6UcQJ#OpjHZoQ6 zl(p0-De8rD${e$ROE%beA0!`|bqP9z#ht`> z+!NM%eJisehMwko@UL^_(vEe^)kNCFg*G8 zBPtd2{$xcu{SG|nck5|&A$HJ`?c!vaP-zrhw`2jkt?lU}m!c)3a5j^Nnqn#`Oh#0$ z1pSRI`tq{abpdKIOk;fHU&Q05guHoAOC36HLx#x9sFGF0ssCJ6TCOvBXlPt~g(j#%@Hkh*6)X|*do30X+rWX}KfeI5=) zJrWmFt$Hu!2N79L;S52JsjBG3-ltv=XFHJuF&nS5TT>AO5kJ`%t+Kvf_nvCyK44m>%S|AtI$X86+K{_6=5z6&gBzN@CMUw8)JNyb6v;{z|MXmg;LVIy z>0;1428S7ezfc9lR?%dy9pfyJO=4Ii*rL|752?EW06g0TV4KrP1W37kIid~X75lae*d++2k?(INp=IjMqwR+MT&pgp!WsI#y z(13s%U+nYt*g`JLdgB6x51r<#x<05!;w|%mn-~MAh($l$&@>0!l4~XF`~(k_sn*?o?0!E#s~pGCp}2M+iK4M{d)N}ZO+FZ?UqH`-)?4&Yb_>(hAn<7zp@j^no66w zgJ59$W+>%=W+Q$qeZ7kjC>;@JlLhc7cN6_$w^5w;@YahAbqs2$aC4d92WFZ|DFsPD ztaq^CWITmU=aSQ#AaX=B)u!A6U9;n@{B$J*@d~nr#&NAIrJ?6CgI7VT3roO<#tZ?^ zq!spW;pq-`M!XDD*}G^%JZ`W_ik5HQx0k9YUS_M7{~j9qdJ5EN&xuTLiMfs#*2c zy%yeH6xA`ch*{E<+giCGrS2JNs>Ijh@vi2tWbd7{8Opu)(4YF#%U&7#5ItYd;ge>+ ze!5Ip-!}|UVQ_I}waqB_Z22w-`{cE$S)|w?4={e-iIdtEI;hA7s6MX(z+#1+{yUu<8s~YImQ3Ak^*}MXtnQp|Q zN%f%lv|vP%7>~k-f;C`n7>bG3iks5R$?HJC7qN!4s_-8iopAaKtwN6Na!Ir{NABct zgNVu|csWXZ9l}WO##Gt#U-&?E9DRF^NrRPQ^9lISVMk-8`fAZ-<4MtHg%-}01$9%J zh1?mk0w_lGnL{;b+hdZMkieZW z&ZD%E_f0VM9ZG6Q*ZPXe6 zut6RL&6ZxJvaC;gPS?rG3U(V_ts&&J#<KX>6) z?O0T$K{pQF=dp&49VLKk%=g2x)g+)F#!)!K%5OpgkW!7yMmcT`sQZC?TVXNu z?e#O9pU=b#JO$u~wWVvJdPo6^>`8@Ms;4`)ob|dQv8Un~{ORT#JC?aHx4wXKy3k<& zZmoru2tc#I`wCH$>G2xc+$JFmk`oGhb)jualL<&Iee#Ojn&Je5a1LCgT7i1DF(^bxB#OazHCjg0Nhs#r-rpBQ7oR)m4NN0hH~BSjUYaduo>{D^?~kFPs!V>1s(eEF z|IPO^)k)w>vkhoaYtKuwqsWfi4R6EiEwY!5>%}*YApPN9E@R*8CMrS|8;CqElw|m=M>?SHTr*1DaTIq&B;1+R!3;<~=YNEEo8i)wSO73(E~%9#G+{7rIrJlIMt2yK!enZ2s+AWt48ZD);F6qlQGxo6g`1o=*lmqz1?X_?fPnSP~PeP#i>e=AwSP}bMI-M zt?ov-0H;S4RIS($vv3xj(xALOp^#<(5fRQs>#KAEh*p|EhCG998abg=x?xQ$5+m^T zR```O&IE~8Vpon_`E!WmFJ_#9!(H}-t{>^zAT{G)#^-V8LYI%(Ur5jL`)QOOg_!o2 zP-KUqO`*b>++Umnng;~XN&Q8i%m3mDMFynXTs4os^eLn42$Mk!6JWZpo;KuD#M;ko zak3&tQN13o?(u0b^%7)S&g33mKB3B04B6o(qu|EJw#)Qc^aLa(iNopgTx`-@WG7^W zA4zA`2PuCL(Du(vY*~XTmWVJAPs7mpU-(sGl|OE0_3X6`rWo!8%~H$``3rh^(~X!i5%d zu2AK;;`7uRqZqKv|3L2IGB0cYq1+gwX~zreorHVlGCGuzz94RC9OtMzf0_u7<7xd% zPozrOy1)U6!l`NvwS`Q(hR59opxYY=Ub-=BFatb9Z&V?R4wh(sBTg!oXYZrkjK<-| zYA|gj)pqL-QEVR(VNGN^bgm1R=jstD!_~nJ-6=YtJR0euXj^F0veKbuu)|mS@)*3J zy<1e&*E2Y-PN8p!#u%X@;HMEt-kfR3u4xgGz}A2N`+tSS$uvu}!aE_lo~DMa*4>o6 z%%_`;pcTM*^g!cE+V(C42hGha^fru?)j3`P*&S8~Mk4o1CM28i^x2IwH-~zd^@`7( z9bHd?_q=fY#28*njPeO{os*;2#Y#W?P7b$%X|cjudS0N89U~7nmro)6Yb_!kPXpI@>l8D$KG^*~Ra?3%nR)^c`k05e50zy-@Gn)X zTKbJC_Q0hQcI7H>cCUbX+Jy0lGoUPGHKIbM;3Puv^*=)j0wO__JCAg77jx`uP*@Iz z$aGl`FjR#q^5H+|hga!QN1gKo2Eqdl}dRmVn}x;(c*9qx@}x3Niq&a4)* z`i@e_0qC$O6D!6B8n9o#t(9sjyk`fyWwMyV9E6Ba77zVOht=+u61CLrqYI%IXZ|HC z%D8{g&o>xj!Uv~VSk%VDcJfLJz1(gP^nusFLY?5G(zL->MY^iP8YV>YkR#H5axyQK zE&^J|kHkOQQ?U${cC@g!p>_mfuk)>dtqf$4(0O-=hKyHuJB<#o_vRDBVHKhZ&ze?%On}%+Si9g|VXI%8A9ZV@QR9HY+ka)CQ+A-@v@oVv8X1B7 z4ju=BPD=xdCY5xLwsU?#4}~!aY-|6inV{Y|q6&n+eTq5&n7%Mo=lGA) zmH!WU@LCnfm0nyy(}pPW#+kzTTqfedgqQ?eslp+#JZ^oj!jm%lY`fmfyUeQ0cxUs+ ztyXAHTHL83SfR2YW!FB*+Zd2aQLIVWTje2S=IMwA2xWeHs65Fl(b2#BQ@M%SG3A=m zsHp8pbO8+XB7ZE#7`}R(=)dm&J@k~l%#KGFM8oTCD*z6HURgxvM{=x zoFlh2>n4&_r6Ejt3qNZ%X+Nn6(nH7q^anH5+2lFrzK*w9wrt%g>$3%Fq)(pobro7V z!xt%7`x7$v56ag92_Q?(b2+TE?aekJ`^idWB@^{|2$z$fw9=~?_{!5%adScHS)MTg z6(ln)vk(7hrmQXtDW4qv=sb30O93q3G4WZC#44Rp)wGL`oz$=!!X2WEF58KvgnJid zilt@_ZJ`fph*Vzw51s7df$va0<)olEcY}6>qZh3Iwaw^0exkcMq|K0y_~$i5_>=?< ztBG`k$gMSkupUY$dPuNo-rQr!%FT>7Mx3Vx%Ke)`o2xpJl_vl3LUoxdlU~M@)X3S; z?7Ni0mrTq2GhF)S(6So6ig;Sd?v^l>9@$ScMno>I%Pdn_X?~LRd-6p1f{B?7YZ@B{ zV!wvdvgwjX<~!FYJCqaig~@YMh*q_EkwLAEGw%{@pu&gc!n`3x~XKZA+5}ssGw50|Q3yEXm8KF`Vt0(c3H166iz< zg`Uw=dbqGJtt3$=VZE87Q!(P(G!uu2UT`-Xw57R%{B(mNL3u^fJCik@aalXz-+? z?$*}9X4YTr*RX&cyFg-cFnYyg-ke0+z#M8*(_@~0`@|aNnTy&4lK=hh|5a&UbWJ2* zs-|?z6O->P4j;JmXzMRd8tcWCCHCiDf+?SdH3m#p-Xe6v-i22>I>nH6>Z&nZdhog2 z!NiJY1{iaa&`}4$raFp*sF&d{l{_W3QZ-Y%0k0b56ZMF??k7>J#4L*~UR6b3lW4Hi z*p)s#a@h!m5+_=$Ai$KClcNPbcfJrx*+iEpJBt>FTSS;d{$IYV_gQUcv?cFcUH~MK zIDS^aa@ApabsM?Ooc!`z;N3-d6B2(oul5EsC2|Ul<#qpzDvYO2G?#6;Ez=IWxK5#c z;z#86sw&r~k2!UNsaAzXMbvwq^qzH}2f#ORuf{V8C3RDgfd3ma@OjEVMRR%AD9%R} zkf=(fG1moZx*KA6BVe6BI(4aP+#gmhUYL8!QY6^IEjANHxKj)~M*hK)o%I5I!X-Kw zlubJhO*SgkHjf%Ouy(iVSjpFm(KY5|Ci_BY=uH~xIh(}*9tz~q8GGLiY%WrAy8mEa zA+8oBXcJ$7pB;%Dzqn){uzfLmsO8$P!-cY4g~c(Gjg_CB(eL{lfd}}_=;l`fc;R4I zBKyY(wDm|kpde;7r$*u(dVUgrY}y6b^e-}(`2_U`i*Z%{#tL`lAvXL zsq~3S4pOj-tSxU1VLI}|;f{qx9X|+fi1&PIlr+8aqAiN>v~F3B*_yA}`(i~M0@V&n zIA?yqTX*HopvuRoTvgE&w9c@EKz2R>6TmQ_p3F>{a7+$(*txa z&&Gdt@~yGoHT?}mE5c43ClCH@`#VjQBUcY#w;?uaE>K;2@~z>vDk9wAOvIKzvoQ^G zC=(Rfd*SzhC*cT$Rc9~V>^#?Q=%LXVBbcMvHm|Kd`9@dlryf8^q-UDfVQr&}X%C=T zK2VOmO(5`t{^r^d&7OT|2C|XXv4O4dr zb~JjZ7ztv`YKmC(Pjy?QsN5lw+`*)d?WN#P<*Ct33hAP!NMn7cp-gn78FEMRI7kO} zT6=((|M4qDN8V9VM>@b?nT_6%A@=8TZ)^<4ZAK&{x{6VK_DKZn=4agoeMyR`a#v&agh8g7{H5H2S|%Ww*(irHL4*> z8VxP>_P>@T%VwO44=n`a&d>M@TRwl$CDSK_$Q$|+dwonj@fzO0M@l&y>lV6IuOiI+ z@J4X%dB5t-Et=A6@fSGA_}h({NUf+B?*HZL-4-Otaa~JLG4FG_&;S4FxG)b`pe(!g z?yAfPcQai`5WI*YJg4E1&Mudw0D0h|FNFsYj*Q51k@p!JRU)Sws&R-7{pT_49FN$n*Lo4nYX z^yJYVo*7A$e3O?%N^8Vx-G^ZfC zQ=DCFq!X@Cq8Cfkz9#En@95HxfbTr`+O`^MCM&=m;mDEH55Md2Z@sqI+NN!@pn=Ap zrab3wrkrA3`|6CruLAl2Bo)+X>rA3@U-R4-_Fuymvy>4%shtsZb%6&U&z5zkSMbbg zZ_sj9=o9%IbvcFu0T>-4?L|6&VjQv11(LgKKP58)r}9$|&C-g=wQ1TQVb#Ub%=tqm zT@kFPXKh1B*w5j|%6(RAc@PtW6?~>Sb4YB_u3m}r8NYpCNdx7e6xYCQOWguHx)bv- zhmLrvf)zP(Hy=c~5w3jkyz_~|hL;Pml%J@R8>{gjc7lhR1CO7I<#C~h)hf+lWjX9W zZ=+SSm)ww(9qxzbJ=kc$5EOyy$nf{9-<=I@y@CiX;9ajJ(jGxbpPCl^wCqJS&WvCv ziI@jouGx`m-<;2Xpl30D(}1Ibj(6*=4N5idu~=2*&al%unt0V7pwdu@e%1VaZY^(M z=~np4I$TtK@(T(5u~U-iBAib)^E4&wY1l%{t2)0%qS2K#H|S(k1qaA#ZJyT3NyB0z zfGTPg`n{7TqeQ#rkfiJ!gj_ZIY?|f0jvAm_~&G+QycY0xH2ng>m?&f8uySCvNP$MEjr>lQ9VgOjX$CIQvnqOU`8DDOq*@fOD3sWnYCU%&R zg`4`@%IFR4R1t?I>QlGf+w145dUShh*Ln^@4%Z8*c~{~D zdST5h%V|8+U9o*-4bbZm%uqOf>?A{pI{a1uVW{hKu;<+)S}}2ity}^F}xAa znLPnq;O(Vv()Z!5lqV}A;7POl=0eqA3fW@1KOQL0>d zbiNfWZ#hRJ-{$|a`qT%cau!pAd0%-DcduGGITUa6IzdS-o$VaVs`%8anr>zVSPe?u zdWS$C;8_x<)$5I%ZLp>*`Kg3t+gmXIY~<{eY_5RY07chu(fLj^!b<4qo)@!J ziKhNeZwze|vXvDi64sTeqWIYb9y05|KWE?bO3J?@W^j%zDvzl>sx-Wf(j>!CoK;u4 zE?7pF^6Om`W2ioCvgCmk{;~#w^0&SAG`g*wa;$pZ-yA(dc4s*> zrhQI|7F_$>dDX381+pa7IE4N*Uw);(9;9$3{X-2eeqjY^2@u@rS=h*K4pz-m_A-z2 zPX!Y}IToFWq>@$8ck%JxUWTtLNt#$jHgC)t-7|I_Yoyu#WlL{%K78 z^;$u+XYK;7AS|mD37$=GGn!^|sZ~gS{fd=sC`5L6gF6wYB*Uzsch#(pp3G~cmijE) z$)7e2BXP#~g*x2Sozw$Po>UV3Rk^Kc-Y#k!FL-uAxGCVOSjfBrFJPz3puSUIuQ`F9 z$sJ6=Ef zpb}fPds5bnB(0CFbNYM;lo{Pp2NANARy#bGds!z0Ab}s#5?JLDJawTeCSt=_wRml}bIF*VqN~hGKOsjuzloPDtGrEiDC!2dQ@4wlpu2%>rXfUd0Ql`ckTQv+Oi`=6ewc2{Fb$vvE{ZpGf z=5kDT*^#BJymd}xJ3Gt;qpg0qHCx5PDfekn7*Bn0|J;zO6BEK(E~2b;0iO!tIR2__ z#CUXNSC%Y&)_b!7Amyp?Tq4tTz5BCbRycOhpzd{T6*vAt?Z;JB#mbjj(CM)3-!y42 zbG^+wGrs*vVo4VF6RBnxuYgmyybGOBy_x(fS0tQg1l^X~mZmj3Aq^u5u!#6|t+6FA z&v~BjG_8|3%kBNLmaJb^ejHIg3pWkB)K7@8h9@wOqJ2%nu<_nNO!wD4OuSHcJ(TI3 zhD^#?s-xD-{OAAtR}u1yC0*nrXjn7#s@u)441gV^2CZtz>Wb7JNUSkE~Ij5$|=D#MVYvQPft3t<1$}o#!Po zHlu4x6@vt4U)m)C5f<|6Do03WqaonNX!HUP%cdFz?Ym4%hV{7K+U_50noVSbicZB& zdrq2_)}$6#>P_sv^R1;PrxCcVeCxd!(|Rp*cuQ9@zbWgfdxq%(O!WEBCx-GF$xAT- z%Pa?PobpH|bhLXg@@F!i;w)gD9N-P7rn!kLXas)a3;Mz}T zUQXCpg?*1%zZZVVvR4eHU9~5jnEVDvmRn%oXA{zAZIt`m4sosKRJxN<4lfCtUK_Pv zdU2XnOw~?%afAF{%8F)Z8h^_xD&Sx_yc;xGD!-ypjT+6p8v$@}rB<i)V06T_h@^{RB?bMxFQ0jmt9FQ2c- zIigtf7(V%Yl*e7Lq{}@FgwCAXAi)!4-O>3y7|2pwd-Rva)&-Fo7Z#=wm?6$mbLvU{ z7Z%d^dqk>&qDn<=A15~&UM?SAF10IFFH*zdVqtQoJ^&FDf0p(i1)44}aL@#E0$Zo8 zZ-x_#O>lJaYOAplOE9z|uyzwYul%EIvqq^qIiogNBt8PZDJi>WNTwbvQ2CF3tVOMq z=pO^yITjU9ZvT2zHsZimfeY;*w)HS`dVwYRsa=t&3H&k{r18AY+FpkglvU}K{#{II zsYNYaNz&XQGdAc}Qc4;~N8&i=Gx2Q5EvLA$?v=GSS;iI+SvfO4H=a%?dl&JYs$E+4 zekV;PJc{2lqWN)dhqxZk=)6PPE80w%fQTDG&GL?F`ymAB$~Tl^X;c=$iJXHh_5s&p zZgOd&<^`YYjv8n0vY?(G&JamoP_Mv>D; zlWyOc<;LJX*7mH_Z&RmfaG0gKJ0cXzm-rh*HL@1dZ)P~R!qfG|Bot4|H=fLyXeh)( zHqoyp6bcDNpP_z;S!c;d;QSc-PqkNXOVc+d^C1Sx7him{G;Y&L#8lrYrkaXI-h#1V zELj9zlD&3O1$d1zPo$$R4MR=y{5lePBm9fO$;nMcVG9ODPb+zJ3%rRO+@8mg zl??dP>XN8O2@d)n5TjvNq~8jBd1_~ub4{(Lx~YTK&Hapjn}gWp5L$KGo?VZFJk(QbW*em`u6ib==F^Ep&O*Gr zrcY9OyQZ^Kb^y~-dkvCbH-`x`^XeM|J6!GHI*@X165J@s%)C6Ub5T)Ownwg2K_0SR zsR?f$S*6fgC#n6N zHM@?o!XFK52hSRBN-Pj-{Ru={^V_K%S5%_iIkc~X*Hti>-Fl3OKa1UANNQ>e@Y# z0PeHuEe)!B+qhmWrwb6w!}MrGkH!g4pGAE{dB*xdAM?9zp?PrEweLxm^T zW2wMcVH?UoE)u(3AcE{S$H`5=OEc6kXfKr+bhd?+cT3Yp{@ZrH{HW^c^;9viQn|es zw}KvHX#+8fvatoIWYGlN@@i6%K`^I5@0)5a03!KMPT2jyfeLK z#WE&bHG$LBi;B(z_Iy1q|6Q8=wEu(i>-!}H6r*+5|BPJxv3n)QAHP1#9FwyF+q{Nf z=S@@ejCju5Rnuz?%8tQXkdr6(Ohh!M1JFvcZjZvZ!m~m(pQQVe?7(*-UI{`i>hq1D zP>}?exmjU6UigI272``oa{SKo13;?7-_1XD5!E^_a}GEv>kHYv74cb(W;0sAM7XQW z2Qj-Xw?%=&r|`<8p&_pjDt~S^er^TTGN%-Up3RRIuBTj_Tu_PJWs2lsB+ceT;3Tn#Gw*ul$2HgG1&QJU_f3`%4Tw$l4 zho%P!8S#t;CZWkCL}*!tGnfwd#wjhWEh;uvWzbQ3vqiUVxNhyXl4f0g9A%E-8qI~m z534%>Lkvzi9Te2I-rQetR1jvoftcR=`7RxsDHm}iGKJ1-6-__u>;bC1R4hS-AB%}M z3e?un)O*#x-hwpYlXX6??#;=WD{cN-RRrMTv9yk=QmjXF76&j&n6wYeJX<4MGU668 zxN;_6Bs7UpaxoV7Z*PmVMf?TUJhI!UdbSH2ldUV3N%MNK1SdnpI1O5i0pE=aN)QzT zuA^L&31oV#c7ZHC7?e;o6UX0^5U58^#ep|`wv1|KPSfCL*-31(0zu`sv=f7Qq)zw2`rVo$pBtqx(1Qw9{i7a zgTSi~%H}i)zTt+`ko8TR=Njw6$u#Wd|r{*{A=JM)S^n=?bCw#5&-(ZWoiR48+4&S@WGPS%TH@{;=mk@ zj_%EQ+Ea?Qo}D4V0nuL$$*=X8T3saSttTR#x{hU5L({h<#<=WNTWyJ}ZVt^Lv447| zX>D+WFFo;J@B+Bornjjb5U3=AWxA^t!)@aXO&X(D=QYpNNBPtCZV$bB8Rut3*79lt z6{Sxfjn@WtpfyFjyO-|l;%;aw=yBwmLa4Cwp1{0apVL5+UwUm#Am(X$sHie!$jd!< zeBLEs*(d}pR*2wD2D9}uoekMqmrm@V-uWP4_w&GOhbt++D><1bf$d#_`4q!`=eBdK zkH*>tAwE*D^$T`Q&-;4%0W1}&9ImD?+clwUe)Elj;M7rHvpr7&M=LSkvm!AYF&$Hqs4Lrouv27yeN;0=BskG{7eAbQRy2LX6SxuG3zH<&Y z)50P4>QYZ^ymg0DIg$F?D%&;^M;p2;V{@I|XH|2UCp54ZfOP}<(`=?S|M|~C+yi^0>J?*9v#XKZEW_`p;LjM35r%dFm>!%s+@t z6re7YPp@gXxte+j+rFR)wpgs1%+@DVSF)=&QcjNVE{AzR70IG_t&T|aJfVkezyI06 zH~;2OqvUisL2!h`mq59^;~(M&I6eKx)UNh3C23Y1XBLWChFF|ET2vg8V46~uYRbWK z#j+ng?1DZN`^s#*WbNJ4s%KPbtd%hrRab=d_V2jiO|ZXY&94tph1C7mKlc7WX%^`! zVDS>Vm|B-`O%d6AxN?}fCJ#E@H z9}}WQu@#G>v#zP;>YfxOZS9f1=BVae?e_f4se8U_H>098J;2gSDW*8%GQlX)x^p8ncuF(toSNcso0 zA`0n5RDX7Zp;HBvCFq>Hg_dHvu*$W1*V8sHF&gPDwP|b#ZZ?{c4^;Y&6|9Mvm*CFwhF+0ra^}l zOLeUaXb(Kuy6?n&Q#~DqPqAo~ORIfnCg+zuAL9kRdse-}1U|KkKaV-qAgl|xI{SFz z^u*WhN&#~%dAsP^dmv!tqDPywCJi2g(MzhNtM}DMXo(YaISp`!n5d+ZgI!mwOyK3$ zjrKM!LxAVSW*+#|wC_L|u2+0JSFJA=CR=a>c7kI#)1>rghFA$Fd^)m3EbPilXU+v;0kIN_)>nW=TTLz+v~_r zs2~ER8JvSykzAs%=6*55!&^Q#msb_5x**6#E&hq-9X#=YfnsBTK)k$X5Gp2(C}v}~ z;35lEY4W75{`Jdg^(DK&N|FcY=srU|ScRtP8+Y+mydf?eSe8~lL zYkGn?BX_R=6Wn7ee(c-d$mhh0Uv>RwQh7b;8%~hcy>nw~J)aT%n@Qgb&0HFcNdA*G z<}?ZaA6Q*csuF94m~7PFqdg&+a^g{M6#axHcac?Rzu}m0-$bh-l9TGTMTjXSn?#fd z3}G0o?NRTMX`$|NYHNH`Yk1d#;Q{yK|E(1~@<0{aEj^z;v4Ga$=t`gJX*c_s zjh%_BDKYk^26_}MsYE$qpB+S4ADZcJ8VnpVfnQfBidIkil(_c;(Ug1f%vjj|&(_8| z7ie`xI)~RCaKnwYu$~jAB9n8;kjHf2Xk}T7V2zU@)fkrSlOw#vnYkM{1unASh{CH}Nlv+2lnotFC9@we7|Gk%M!G7< zJ%&*aqg+`<7rXWbiw0yQ^31w|GEpN_wuqW!Q@7E((%NzXV}w!S`3_Vbc<^G$|fC7}6CAq6&m= zzC^oC;cjhV&B`162WX5fKkFkWi03{#hyPlVA1xorr`#L5UOb%r5e!2O4^G<_9yLh% zM&-fEmX|Tz?DiTZb-hC)TyrE-2JEzS=dpp>>L!ozszw~7Eg_hvn=@}SMh&H(~0UBy}>i}F1 zJrz20lzLMUWE~^yRnWN~S`u@K+3;RuJWrcerLtA!Mk)4FV-Z-OnK_y}11~uz?CGId zm5M}Z6zt;z5_J-yipz5oKgR?AGGck#?;{8i^t0ro7&iq@vcjGvG?T0)u0z5P#!{Yj z?b@AjhVj2}{J4#VU1mfW zz~i;fAU|5G|OKjIr7gf@7An!$3E%axwRBCQ{hqX z?*^z-RIwZYWIt+w0?k8ebB^TnoX02RqYc4@f#I-K*;egTQW#V;9CP)sU9cX;d}5W!2}nW?*_C+3FZQBCO+QF!fQN`h3e<%cBN1 z&4LvChFwDxMib8q#Mv_oSpi~H1}WJ5L&YD`S1Z~O%|PF6ZS1%HCr@MLypy>8M7K0-jGgwK&aF7<6^R> ztfqE86WOxN>a4{C6LO_QN3akp@pM2b}U*eF}~+Amz-|u-fP0^ zF=oNaz5P|^BypVy1H5O_DhCtb;tFr4^F-F*wq(EXp@ciinT++BSc#gN6cSOE^c1@+ z#u0=UevU>{v9<+DbA5DLNWr>8+fS>g(1`mik`6_+Lri^qQtNiuQe!u#Cpa5Q>DG3y z(UCR{SesI@f3yN?lzR*Iq?79O0N!OXH2Rn2pRKF$1{mlugjjY^3q88j0yMynP1miT zZ7z2m7;R~4W||fP{>)nBRY_$ec+TCvfH1th)^8tr}kI2oo| z>m|%r<+vV`36q7yY$zF;(E+STgALZ-10$6O1R*(MCn`@ai89u-khzdh?tpwuWvB1l z7#F>knMfP~C~9E#D*Z}2-?+Uuzk(&q`Z@KxI<8TW^ED?p9dSgu$-OCX1>OdvuGsG< z!s=AQtdisFwiAFJPlY$Qj1kljaJDyolQ_iPF(2pj+7omhq^^`b`ZZ>Tn(ryXEtZB& zUWRaNZG}Pov%dbX z(7(6<;-Y6?flY;utPP3}$gXthu;8I8OAh4e5e#eA1xvur5k0PWgN*7Vl#$I_$%bRT zbl{s+_;q7F{@5FJVF+o&BCPx>vB>IIWr4eeyo+de*N9b3H#r--*L~za95!FHq~bK! ziB|_3;^E4%U3{y~wU(4t`cm6MfaWyK5mRt$xVrXf*Y)XXRdEvXexenXCYYjbO@uZ2 zULJ?1{<- zcMm;eY6Fr=UH;dL2_v$#1G+Q*G|~Vn8&`KhsR>lV4ed#sc3c&k$)Ux}uhIIXR2I)N z^yJ5Ca-x+pZSmr-9HuU1=J~U-=oo@0iq-Vm?B+g4>S6xnb$#&1>dG^{AyZBAb=FnX z!4u0KdrkrpY~(Z?lf{XjI8LunBUJEV*ofp_ss33UsbwOrAE%;j(VH)vkzT^ITH2>H z4ym=H8_baZ!btGSXJK_ihFV&W4ObUrOBgh2h34$mjA!v}X55~%Tx+p_vS_mf6}8l! z-Pn?njN`5wnKkmpM3-B9LIWM4hz)r-x+{Pj40F}3Z#DKdOLqwlXO+(!C{$?tu$)$@ z#`Nn6uJo&Zgu^f?blB@5v4;m^ttbS&_2p%>iUz)|u1M!DoChIU5(q`x9Dml;p0u(; zLsm{;4X~OS9kQlXc8awa8Vg}DKeT$@xm4Y1NTEQSH?j&#)q2{Ri@ zRECHLu@20154_hq)xy7(2)L0F^7lVv$r_!^_ai%)@kVc0qXcK|GPnY80kpQ0$~|ds zErw1ZOe2Vl2t~MlatxXji+@i3+;baPSb^x5Bi5 zpuKt7NAM z7W5M_?yhxhI-HKc#LODev;GxD)>{bDzWBdm*8`jzt z(GzDSRQRSn8+KY3;E9!9n0r&L#(rMkx5hyjcv$E3FtTrEcdNt~1EzN=eB`!J*FZ+c zG5@3Xd8c06)|4r_RKeZT6~41NQ!+8Mu6RP14LZ7}<>U_JVc9}RJWhYusvJVvK}8;3 z8owklw3+R$AW!?(=!|~~*^l5|*9xLBe!^h%qPmQfxrSnm;M$jB*-quVWiAz-`adc# z)reMB_j_l1FW{rz>OT1c{I!s(uX2n)`>rJK;bKn~EJOhKG36={_O~2m5VJDUNf(l; zOrYq$t#vA&omYSJUC(Jm3!d;(S*s|;SgWbhjRs9RDzwD4-uw1_6>{@2ErWl&za%;# z%f0b$q3H88hzXQtq%j;~p-}alt%U5y+;uYKK1Q_v(S~Y@q=|EdPvOaApy$j_-`0(t zj%v-b9X(Ccz*xvxxK<-mAK)7S93eKW-=}0~dHJ+^qkDL*a6PMuS;;xNy@gFLiG*+X zF#jJdnZ`;nj2}iZt7uv$*zcy*0`!OFtl8tTD;2aF?^&tvDo7LVZa2Hn&MXKld!0SF zFeqg~SD!fC>pM}gE>|E}iM*7CmHS=p(Ft_%jjFZFzd(T5;x&C1u-@{aeQ<{roy5`GRN1nS~Dq-e*Igtah9Hu)0OMd7yg@L+daXnSX_0>)p@bq z)wA-rXj^3@!f;h5r=n$I5brgkv^DFmcax^NShmGPwTY9L4gatUt?91Hg$W@O+VOnu z2CA+10*BEu0w7aWRR#XUALrg9U8m=1p3hRa^S;`)M$dBED~cm)F=Oz!mv+SV96A)6 zyniZv0CBA&To3q?ugWVDau{nYUtfA47u4>fD%gtoFE{M5Izw6}{Pt@{x3D1ha;u=%%R)qSGyyauciZvn4Pu zFw_4BqNlseiWfoGNh(m)6RI@UnolVOPrUnpLHC%KLV#*dRBfEE;MX2M%04P#E0l~p zK6`c}c-Z92XG10$I_1-W|LXhDr=3k*lTh%4&;>vZk~~AyRcmC!!@IPh9y-9$Me zZ1s(&*V4!-J3Tcti^zp_y*--5$dZk9BBG;pF2R=QMz~VN-IAJ1aScO+_3lR5+-p`x z0i|Z{R^x~rcqH~-+wBcg5RlziJ@RnJro=aEw=`y=a z>C4=59Dp20M%@yvNLH8Yk<3)S4`YSsPiI_B!+=lmZFDXbTeXc1r!KN&q>&5?G?I3? z802g;Jmb=s?;P3*RFg*D8r{CDwHp~<9Y1#kbHpIciX*udrs8L)OB=6eIk%HqhFZ0X zJ>#d>wfH=6#1Zm55?N`zs@FUStG(XrY;>e0?TT8nXPdd}I%JH|0N42Wp29#rcOE@D zSfjO>Q|kh@ukj4)=+xQE?EdYNhV7-EWMdVpu1f+&pLtIO?7I6RQ4dS?TSC65z#*#U z?xnZiK@yU%f1rOul1K8KS^pdvbS1XxsExo*y(ke|`!SIoUlnF278XlZi&MLH%l%!6 zrya*50cvbz?(VF{)^E0<%vx&T#nY>B*Kc3@6M-KB3!r~k*jheSg47Ai?T&t@^>?17 z9rIQgu9(dBJeO}Q3G+jv*{C<5R|?wC&cY;V@J>3 z0!3m)n-)f|4aYVi`7In?tJX6ts z+VKZP(J|F=gQRev8wz#mSshTNzTFoByEOb9PldAji>}Aq&J_7dC)MM7(ne-#M+t!z z$9ajT18aP&@hxPHy5W_352^=ua;dAEqQI`^EFFS)W0B0 zwRP>|uBKO4hS{1S_Fz5MSTLRH9`T|x3sxiT4R=$PBE+JB0F|+13P-&W($hPB_F#0Z z!cwo8s@VZgMFIPJ!(6;Ar{WZYmwx{g?M?Pzn_`>NHUW@<})M?UMELa(~xH z3OUFrzGrvy-oKbTHh2)j)o>L=W;vN=5=ru&(TS}M%lu_9IR^b2x-bzG_=LMPCIrbb z{)Fxv6N#Gj_67>O>Vg!p%qITeXO`8_H)GBymgSai!Jjl=6#RqNP~KL_^XhXYb~*xk z83(U$3Cwhk8(1AQ51ZyhWA5VXQhr#1pil)HKr2vV#LCMy0jb$TY)f!^_I0QZKOfn# zmVNf^4I!1?uf`T`us}z4D~N*0pFW|K(-p7AztJnkrfb+l8htzCm^ao@bLXelRgXpc z++B}X+ow#eHI$p$TS1+rpHohP5shWq3>dsezP~74n+p~Lg4e}JY46bMo*(%bPa_!1 z*hPD){c2a=iv_hK5#>Gd^t4s?V|>!~i`~eUtS4JCUYatQs;%^@lttUGT_fZ$v+&GA zRJ?R}BOwWEuJ@<}i@}qo&aMO92Fvcyl`l&iCy=0&LviXgR3=Y>+m}QI=cfowLiA$fEv*lb=WxS4VwN<#d4HBK1vz_2{+VHgehs|IkRD6ko z%nHB)`E9H#L0jCs*>!cm?&d_nvre<(^cCCsPB@j>R%BzBu72tO^k_$Ytfxk7_A1{) z6QRV7hZ?xF;DfgJdhKaqSGQFNjc+brpF(8JBkD}Qz!HCr_tbt5rs<73k^V}=1^_0l zf#%)p{CwGmeA(`t+eMTT?!J>v0k?A9FhDadZ!%tav< z!IE=Q4|)I^?y_6y5#-UI&omrTpT;yHTRmx|#$nB2Ag)BFaKF^Ckd*OGoQ^V3&go%JHsv{i^^h7KdVd6RBvNPa^YvWG~#3~4s@1wBy1tROcIrq*yq zw>Fg-rk+Y7;*(0%w(>&;kwg16uedy z-K-`LiAA?r2}CNc+MOawr%pM~b@g|avo=hXXq1SS`i}3Ak6%5-FHkQAo_7O*oHN?v zcH!crJ5dZj0%rW5(%^8<(OAd5sQRgD2O!T}s-sVFCFef6x$#*p;%xQ_saltD<9o23 zM`v1rwM)LJVTtQzgv1w`9|Pjus?u}iD6fw+6-gL+|pf_ z{Vp|0Am5z4{5tEHR-WgEBsf0bB}x3cYFTTJ9S?ZVw^K!X4n5eN0y(BY(jT>)S^3&+ zVnesJ(L|skgjxRk;=Ebha>P6Jpl0jL)5Wqy2;?I4lQlPmApmW4*^Tbl*QUwtPGWtU zC_<^%8lFUqr>*$6#3?q~Hy(bkP_1kShFjSmhX4;?l=>LOk6qV6&8#gl8bl zZ)g3BDPWOm27rT8^o<@)RYDx`Q$798&ox3=7hum;j}A%WOW%ZJr}kt{%a@K$&S$Vp zu6W&*XY`iA&c=n%!cJ^A zay-@v+=M?s;_tv#BD}>G2GzLs#+&o{T0*RB#{={`xT`m;u#mp7oNdHvCrR3cr+bBuReiyae*EdWJ^ve-1| z8vWIZ^}YGmf{&?sl4_eQQeU*_EeD9DApnIC>`I#m`&&X<$=5(@s0U5pOhtCRD_>J+ z1=&T-lDtCMU*at|I^I&qzZsQ<6j{AaTg_z$XCehnAgSViFOTkLtY(e~NHkDbG7#wV z;H=dZE>+U5xj85jx!kjlUNy~;{IZYlk_S2C37kNES)wFP2B;obN#C;Q_BQS-9{~m# zMw)Hb8JqgfFn8|=X{>gy7r3NC-O>7}w{el_BvlV%y&!4I{HhiYiG-}qXrpp4u?&Z} zq12SiK&)qGyC(p0ML||znMc+anNGlOwbU&K>mZQ-st|_BP6z7rQ+=R~IKb9d5|eNb zO&;!M7$OT8{gd4JJ<|3TXwgg|dp_vi7fSW0djCSrOU8QGa;Zjijc-9LEXid@qmLQ`t=-OP)J^tzVBI}x^z8lPsjHDK;FguO%%?|g z1C-q_5zJicKq>mLh#5!j?HK27CE_|W0@KqP)4&pjL7F*fk7+38DlSB~;mSaR*y8T0j_3|^fs%1;I=o}dDnyOv-ieq zNqupN<+RRLXxrRNBe{(M1=sL?ZmKj51J z9{kZR?Es0*na9zn5gOEb1xZs4Ckk02#*MDHS1`QP@9q|5&$D%I)2^BvCu`Z}t!ha{ zYcPsd=>CqJQF609b%tTKTSq$f+&_)E+==HeJDnOFNESA}9D^}L01#p?T8)(@n}H)U z$Weol=SUl)pYl0&q{jM26buG*wq6F^SVx^)00(Whly=2+C8xhCld5Fgj&eEBbV;Vq znr6M;X9^*+PxW^iRu8)LF@mx*RT~CB^DJ<$N-ngqvcBi@H|dkc!6Sb|4u>*mB7 zT-2(JUF8J1UZmQED3~#_TXs{V^6%m}YW1n>_jrUj8@SppsRb|0?`YB%v{8(EJ%N6! zm7P7cGu<=-I|ZQgS`^FTE~K292wi>}9v7c$cGwKzyr~VApT{J%4o=Hq%Y4#gIRo5@ zWiMu&ND6V)@p&%!mc|TJA#v-|3$9w@Rv9{JwAgY`jDGi6GajEkt`zk`tTsht-zsG1 zjC2#A$O2(cIN35kl;~Xr9>Z~~QP|Acy}?CW6Znov$5+b|v|XgXtjN7Ar$MohV$4;Ijb=2zk&n(a zd4N^~1F0z78YYY>5NJhd)~%Rb@5XadVOB^Q`jlYpBFm{Sf+*sxz_bZb2+dyH1oGkWa~ zv(Wv`x+S$rbGiNFd&8xlU&=eCqUqUAI1;$yQ9H702i<6aaf2V;{4b|BZ(%=LEgOY* zD=E5&wK>@9+UUOg&1`AQI}0m|6HMO5%<|Z|TcDU5;i9xY*D#Gg&Mo*Z_WLW6J$vPU z=eQi;M)Onpc;5_?P)_fiJ7t@=GHUp4aPQV(T}g12hn#J+EQ1^OD0}@F%x>B6>L#K- z{;bz5R*gT@AV{aN+g}ffp2mt>qQYl!w^E$4(Bkzb+G(s9yy3fQJrcFfmo`v0ODb3t z%>P;ZP4J+$%DTtnM%*`EvIdBRH6I>|L;$K8$>(+uQ=;SNsyDC+rKn44(6O;od1bkB zq7OS{@m3z8cX=LRJhQ;JWJ9{{snn@fOx2cfO`n_}Xr?tuP`XmE!dIiAtKa*GOycTp zySE5rCs_Vjn2qDmKDoiW^uer;mufYb1oh%;;{N59 z4};P~%u60vUQ7>Ktr{YzaC%9vi5nDqPksxs?b?qLkE^|#W|={B6X(W_3&q&LML@VE zLV4v@{#Yw);i|L-$zenKNSCBX7}}Q*(ej3`@S=kDg>=8&yldw}&gyl|M|?AR;?#y} z7WY&yF`K_KUdueWUF=%gcGV%MdNQfjO=`kYBcORm{tzjL}Wg)t>2Hhs_PaU{6^~8qb?dkvXsuD(eQ&f5RqlsIc$FF zI?e5cbkslGm*~PuUeBe#1EFH$a1m%duZGqNrZE={C=N@BLOx>k5_gezPnt}H9Nn<| z#=z{M&24?pG#N+OPHSMNA@7uoMC?+Pl@P{>v}H#(>>ET6W3wgw`2(jChD*7{Nws?F zH>~lCUDD1_D_o}{h#;xkCJL~|fQ|s!&|0g$6G(fKQa~Zq@p0s}W5w!8SNBt(wF=v? zqcCWJGWGhzyH=`C9Dvr-3#s|_JFHi^IpyR*RJZN!^5N$*Fc4!k)->kexCuDr0_k4o z0`qIgrGXSw*^|?N5$VQ?u;+3EpO7dVYuRPhbPEz2qK}Wl_2wu7W|iN{J@r*f43xQc zFjX#qGasT6-0xg8r7XDqZR@q>sR1{8`_ESdI5fJ?4hy-wOPATNayuWA6f zK`Xv=wJMLZ_cUon7REzEN5YCN*T(3@aZT~y9N*?LU|VyVl| z;%s0mssSVS%E8AOyHbRH_5c*l9jYM=$72g2-P7^s8=MsL=TJ=6Zg4*88H0u7-&(1^y+@Vm>OpQHLQnINq; zrQWy#T8CiYu4a?2^L6YwWaMp9sTbh^9~SRa9ui9HMR3n(&jr}xP6Z^x)jQN*UI%e0 zeM>u#j(#M*oq?E@Npph45B?*v7bnGsQz~-m31;Blyf{=ObWm$BeY}C6`BeWWY^RsF z(jyM-!J)TNApT5a{)BY^SyFDb&r`6P!o2~`8@35@TZx|4y;!v1uFMSQqOdn2SUc+S ztB-RcO*@Vmeo@OLIoZIK_h{znarZi&g@lDptKirNnqy7#_D|B`ekLNmQuF34f{MFS z=#3f5mVad_(mGf#hM*R>3*DD|AxsGSd8R1q89Rhm5=RZC;}oQ>P-*$&6WzDK?M zZ7JIlKh2jUP88u=*&>9l3Qv!g=xEW{^?${sX zX_Ri-5}tU}U6a^%V}d)^{C67u+Wpz-@Soles?{abCw_z`V>5L_R~??pt+E~f94Ks( z0kbjG`=ADjrewS4BfuLvn9kH#B`e)0tJ3SzQt#7i4Vih$?zl$y`iq~jYi_GHWG@H< zgDrm)Na4z-%Mo->7wbq(nRf-oA@6!|j)IY8j=~2PcVmgLG+#Dy+vfVIck+|y>^goC zI2EUC>2Erfg%9yDYwLa4_e@AH(lf(?AlW3JgR=E`~hY9cG z*unQMf!fXo*er8PE}qY~^rhcj@7Anq@a{vTrn+5qSf4RMPp0NR*$E|o_HV-t4Gm|_ z!6#2PChKYa&x+5ELmo}acL&+b$;W1#lubump6xx|^cdHiZK~yrqV!7hsYV}mrO}2h zXbf|q_ffVp{NVGz*WUxbGAoJa=X0)RXTe-D6-W>JUb7c*n6!_ovU^4Y6I}pC;zZ9R$b^2RI4!=jrx9Y^y15*>ISOUnEU-_{sbp=Oog+=e}&m(c$sB3jFM5fD|h|4T?&FEuG<5Gm`Pi@Ud5VAu+<8!jc zV%da{qH%NPRr!4Nc<5cWZYT$P^06FB=e>|$YdaK7ZAxbBxl635Z79R53e%%cHAEE` zJ6)(9H+SH$i7BZmvX8{Wc$?kIOjIL~%^<{g$*Fxf@$|~(uE$5R56bdDA#7bVTxfwz z%bIFxY8UEP&wDZhpT>*<*W(%~o1+ano|8iOnP0@5>;vWVW7Zb-(SS!^PC(EtMwBGq zIotb$bgifo{-2ZHF_3}tG`TG0J&O=}uG=E1znC3g9=o6HqI1mcD(sIcoNm@K*sqzV_y6W(H))MM*Om5=Q|H%nwMA2z0&Tq(fy|gIyuKMdsuXw&hCA|H<7#1a(*S~ zk%l9+a|H@>CxN+ntWm3o&sxp~uGGRe_JvosJyrKcYcj6RCHm3|zjg&ZI`#4RW;io} zgS#9L>@EmIRi4c?I-_ppMgVH98v|v-@kmTSH34oP^4Y|DLOSf27|Y!8TOY3LJ$9O< zWQbWZ;N_fw1D#t&fFxFwvz09@Ri`lp050A+z6q{3$#?3A7W#^DKvS$_nnHM$ zj3ioFE%h2v)_teUqmZc{GP&Zwo@#rONLua}m6&vpW`A1nQ#sk zaKkk*fFx+g^j(||FuPDvFw30Z{Q6NI@a!_EVyfm)4vM&t=h$Bwsuxhy7$lFVg;{kv z_0Su$mOL^ab-bok+wd*TPA+%ZCp~oGVH7jM+i`x5$3rtOL1Rym_ zvZj+jk~$4(b`f3ZnsLJ^E9%eb^Q%#NwPwbCk~mb0;iwt27du1*<+=D!nT znSS&mlNqY~0m20nKX(xoLXj|s8OB|0h}^wywC*%d_1CCPqAL7bb?n@FZa!Db&^>6} zCPOAs>)o?ij}Mw&){?ddGF)(K*_h29N0#I>E#F;*VasrBwbA!{fa@8aT9jk0tKk*r zVo*V3K!&xhs=0QNFj4_`E<6+ezQWrrGhqIM`LFs&_N8*GxtX~{N zL{MTF7#Nhz+q#y501F9Kfxb)&tXF{{A^XE%V`OEja^fUAX%|VY_pZ8g^%KdSFsraP zV*mjF07*naR0?in?!3S_)Y?rE5RzCN9Ou5h?C5P7V0o>jqrGcV%cK@adcD>xt@7f5 z+qL|NgOC0!Z1n-A7xUi73gg^OjcNWh`yPIt-3eOVEo+V-6ER(`r1H=L+ecT}^$v#o zU|f4ff3M4G>%^Qp2mPzKK0_hLBH3ghtDu^thtgci9cuk&4o7)K^?(}W zC3yKEmBfik8$ZtfSf|rwF&e^!;fy#baz?(-HLVJ{ex`lflyhMzB6F)z)AEHgA7^3L zE+9W!${gAc4wofGCbOQHhD4HnzSJbe)fjGupi7Im8VvCyn$8UgPzMdl(#z{`c{`@qVs!=;k+^z+PTr6f&hDB)@B=|M+XMN{2(?Zslpef19 zYg@j;iTfc)i;v!?04%SSPNgL*{HPb0?p)Tk$KxcdAm@^{2&$SQEt5W6n4wnuaJUZR zMLCvpmHW$jss_j)!I4_bu|>SOOG?t8Ht!)ECTTur@fqMn z)-uSf7p|yh4%rfIoXHR5#BD}IxMI9jN0dGd%iUr|7srhI*Y5arldakI$r1I09ZR>4 z#%G)3t**xB(7oiK`nEoZ7Mu~t9Q3IU2N@aP6_g_RNDmekhp%dUnjIHXR=~PDq zV(FW>uT$K;gh7PxG12j)-H6Uohb-2JUOd{&X?@mtVZ2P>_*gW_LvFi$P~j+1E}|VB zT1f!Jx2h}}F7}&2XyafQp%`lwes2vMWUf`&z@JY~#jIJKu3#y}RHd>u#U?a$TqJLT za4#QCwuMlahpgfLGIY4Sv8+AN?V6iaF@Sz|SEF+{u@BaoY~!rcbc! z+z*{lk*JSjgXPa3_EMQyp=#w2F#GZ$?Bmqutji4ei1-0}YBg$WDt9sm@KoQE=2ey9YnX5> zft=IN1|bI5Gw@@;zvM4=^s`Em{M^1M-CKYD-H+LOM*iz=xZI-rj0l5Yuy9{D0JA0+ z9C@Vklk{r@CF^!8Y$Eypo;h2-ne0Z0J^lxbK;|x@p!A0B+TgtdF%w zmDZD(s(wan$8d5VS=2D8%|`#{(u|kH>c;=2^n~CjZUhEQC>%vuj&IVE(m4h6sDHWJ zLPAIq6=W(IIC!XG59jQf(LAkWQ)=h8Oh4zgPp!Q10du6YqGjL}zJVeIi#?K$ei@-= zUqmz(g$~L31nUMpWPGBLL`)D6)IF4!Yr05ML9SmunuGUIc}TC=-V}+;z-XdONuG{Q z4s=22^JctSSo|~VLo<@uI(~Ja-a&rOeR5kw zWcli^_N$3cH7Q%yB|1|JnQLeSNz@*`3xt*HL7pmZcCR5Vdm#{Yyv4aC3{&f3ZRTk; zCr{D6<}6_BFZVDRc!-!DD8XIi`!J^YO^J(ky=R!jsWA$Kws1w>5_SS0gU2x$Rkk!@ zgVe15&UPhtA1;IA+5HTF?V6$OSm{nnt6Q1Kxd~H%pw^jlpMBTIT68$XD9bEbgN{}b ziNY^lYjz2lK7|6D>P4wyRO>q}mAyZE;ZtPy^d^V}j5-e0f$AfymTIak;a zK-pUh7B1Qv)e57YJv+Y%L*5P`Z;+VPJUvC1ru5Stim2o_x9*qpuu46G`*5Rhulu62 zEXd)CUZ$8W?IsL#9wV5^bg>JsUxqRI(7z1pa_#oCZC2JffdjgP8?^egB^%-`(1{_A z?yGd$w;8DZK4k{8D?C1Pb3Bg_S0#HITw6bDrm-RQ_*(-r+FfB`hr_}ZKIfY3U_r}n2Kk z7I8kpNLDQdZ<|>LKVs>*edIQ9FJ84x4hp#oNu}?LNJXQMZ8WlvL4yMT{Z;jjwYR-K zLZ%F9mG>S~_D{QDQ;|2R3wy)afMWlFbL}lnP({2GY%bl=2_eSySbnpJP<}K2tP65D z4}uE^+B=cdZf*!z!N&czT5G3*5gkA|f^T(sd57^JBJ%-DLoEQsT34$cRWo zKhQ;Yi?eEZrcl**AhUXxDP9zi!CzKBdcl0aRmf6lmz+o!{%)M(O>)z@OvO4MawC>E%V^Z}EW~`e-QmZW4mP)uS zZY?d#sujsi&;mMi_fmijWKCs8hvdxuZ^@xy#E|8>VgtuFC&Q^GphhX6bFDkCN5|HL zj7)Dkr_HeacGbvJa0I<1TJ@?pLs zbC~#rP}E!=j0{^S_NSckqlf$r6E`E>G}aF>^Vr@XYn#eg$|Xgc>ssCO$e--{lN|(p zK76#$8#Ub2P`M$|raR^_qL+sxAzU#GN$1wVR8w>X!VkrQ{j8u=Wmj>7FqrXpO&@+;!i zZi6VyiruBwV7;NPaOtOL;x`c3F;OXd=BjtezYAT6---N;sxwxLKSlZKo1 zoq{jZ3MDyg`Si5L8n7g?)~N~*xGvI}lt9N{`Aemh5>Kv(Khps>+Z=z)*M<*1Ao{!S z>Quljvxqz5L(ryM^Vm}pZ#7xs#7}xDJc1FQb^}j<*sA2CAyN+VN_Q^b5-o~qI-7P}8|#qkGqECh*sb-#7-<>QClMAYKE>0zUcKow z5iu-Z_p7xrqc081L|m>S%%GkAovugl>}Xat$EcRxtTk?>V_0(3>jlNmbA8{7uH^F{godTbPZOeTOQepx;nVfO=3p^@Wcuf*}q+Rf? zrRr#552pUyW`^Abk6mLyD|;xM-*MJ(nJQ^{%p%s&LbFqt@-gdW#T;MLbdrwu3+K@nkKHQl7>Yx0gDp5+W zk-J~3kG?jxpgQaGgn)(f?DH4p3mE(js9y3Z?M)1-VOq&82n`jy3^W6<+jpD@%d(0s zf0D<40Q<{#CeZv~f7#|~>`AEk^{R?-HRwMtSN&P1UXpo1rC=iB!Buk2lKO6xE6;y< zmEvVxP!x)I5z4-;S+UkR`h*#p`@BrI3x>9`t6o}fTy+gMyOeu?mOWgom;EH`TK6|+ z8yb1wR>0bvyXk@$nKPE}Er6+LA*si}RAv{TzA}wi&-Ha0(79Da5!b!lE8O|H|3&4) zg>GZ=$t*@hRaX58McMedi0V8srarT+^H*{4G=O2A4%tExNPd2sbQVZjSWK<{HHdfIBuWv8k2@_ zB)Vk@PBTH3>vsBv$W&~J1<&88?JY}1=c=_lp9n*=Vm#i)HU~-XRF^bmhFnr~3iYG;f3oWAKo@1BS*j37)1w5K;SI`u zU7zmaO9dKXgM)^H*Rht>%!(Tl@Qyr&o?1#>O%M3yNx!>ch8VS?Z`|@#usiZWGF~2f zIVN1Eo;1*~7$h6U%o=rW;FEhwBX+oFuTTej*UHY}CK%nrOO@^HO*XYpD^U!l;C{=> zY}cv=6v`xc%=NUrRd#TBS!C>m5@u@Twg1^j)|7ezZPV?1r6A4!!TGLCc|Bc{UDi^( z^E0!hWvNY>?+VwL#Sb}&B>I$!M8lz{gElfDNYK<&m5K?lnYz%^k4kUDs13-NaQy2= zA!+r@Do=o#*JbsXBDb1x9qpl|X@K%DG=|WjFZRF78bYyPfiWUkyA!vW>{PwYf_7NO zy=?%)(!NtZA&6a?W7GB=<1kMdE~l|5>`cULb}2&_*^0>SswHzsW1!o#OGD>~#fmS8 zpy%8%rIAzU2+Z^x*zyo`JM1VBGsm7Z%a0;AX-om$q8jV zUN2nUm`1u46bMeVCq+Q(C)FE&RRCG}ENqD~TSqktiSR@+KIbLMiDpKJL)(b(Ss5m( z@xF3)?N4bpvKq|0g+D_Hye*z5AIx19(<|rp7QE>Kw290L)#|N?8ilkb3L3d_0~;}? z{bc29=JX`Oo1DeP(dz9)U63}2Xyb?-LH}9?PYymGKPK9Uoyw`2cMEnwWHy}jVJ=3N z@l^AyyWN4IB~z;{0sv<&z;-6K<6u?V@+OXLV+1Jsk+zY6ovW8;=3QR*sRUiBPgi6q z4OD0TAh@%~YPDbUYO@P2r?NREqHta1T5WvS)5&FlwL4!bpmpRi!w2EHJT=R!jTK9( zNq1?xYvkUORkLWf|8HgxuuD`q(bz@=@4>JwT|1!i=$__A8yVxAbR^QpYyWGx&oZ$@ zZdt2>1=zEtPA&r6hvX(6RX)RXBG}=n9Au){^;Y#oXG2YVx6-|U_Xc{hSZ-`AyO7xB zGu-X(sf{;egj^iX;_spHeS=Y*87?3Nb;|N>{X~$fAh9M;?6cL<)lp=78Ke8S1~NE+ z7#FWT5AJbNr!%9uBJ8MW*3of%3xX_8(lKSq7L`LqDwXE*qA_RJxXvZfzqI^Gr zn`=%$?q$ST$0@?VAG{#d4GVAG55}jJ>NWTj$*0bYv^S$!lpzQwo$ELXC(-ZerNa4% zz4D=tAsGjwZf7h z=;5qsSv+q7_33a%%CnHY?x`9lDSDkMuUBjGHljee4BCrvC|F!+yRN)6wS?h03?_=|{w6{DY5o*D+eQT7lR8g9i{^0?*U~6PTiD zxK7rhhwC1Pg~`Fqspm*Er6zUOXf7m8T})5Yp3=q#Q>Kx8>w0d`yqPjJWz;QQvvb5dR-xMg?wL)+6>fjAJYnH9@RM{B zO=7W^(3nqcw>H)6t}Pkd)w>S3*rP-2tOu`pYVes&h}epGdlxOa3?T14j?Haf^m9!v zDC6~@@;LbJ_MM3qpT?!Q=gN?5cKG=^ymB<7pVVjoonJ?L30&+qFL*{zg&K(~mv!9u zW%J(B_Gi6%SqI1jP8`(^!sHCpkkZYA!ieZt5Ep|X%!H6Io9riror zQ(jaX)T?y7Y`O$1zW=+38 zS50HHTKU{GX`VmH`hRMT)t+LSDQXobG&}O^L-e!FYrr`tww0EG#p34QSAz)oz^{W)-X8A|Gd{#L}(2XmjDAOV2QE#JM zE});$lpWPG|Kzm<8u(6|dH}Xs+{%=rmZ3$sjUVuYFhNy{Vs#fiKUZH{ag>D32P34Z zgOT>zw-V}nsql&=MOrm;bpAe{ib*_pQ28SZq?;lU04U@Uf%bGqvAOOb(ha)S-?X93Cu)timMe7Q4 zW&k}v!oQwSYE|*pD6@nZ-dnpeg((W$zUwLw_#=v$oV&yu7}0a%9*+(-xG{?+CsAyj zP?{GS6=rIzk z_*oRvCD)XHv0^AJBvH)jU_e&@Tk286*?A%!kqCLdB9roc>jferNSgEh2HM~3VEy*T(0ODE<;P=&ZCa<@sRN&IuIYShps|~ z0`SMP;#(%U0JC~0#GwT*UZ1V>oOydb6dps-W$jHY^=&fAcJ0UogU?0? zvkE0kvMw0Mk)WXxr|vXL=}+kpErZy8?{>eQd4z*%4Zn+0>vnKxD|q5KXxUl4cYyam z5^IO$v9H^(Yx;(hBQWEkSg*f3A2Sea=-n0GCtzPtHn!|`7+Ow6L_zj#9oT~a6>rW= z?oTr1TYGu>tUQ%bgm~by;+AV$=6}@;W0Y0-#VE6^U2(;aIW3!YL&5oam{BnzBB`=8 zUV|c5nntPBRCS%s@$)~e_nxfJxh3*$)7VPJH249LNyfmvI%t94>N2ln52MTQ>%h+> zxOTx}O+D;c4Y)2A_S~v!sJ(fxy;v6J_c1vO=GgACWJqj-W5HFr_I)*KOmYNT&1YJ?n5silLFX||3%69~!p2}`W~1vmP)4#7(Kegct; z-rw?c8qUEdyvezW<#2~OA(Jwo#5#drjPtxfwSj6 zv+?nouA!mtq-E}W9ML3G8u(`2U27TvL1gdM^)pq?H=b+hMskA=^i34 z5h@~3dB%?T7i%%Y13kTpBseKlY4B2k*t@gy9okMo!(*Y0Abri&Mkz*(J=wi#WW9C< zO6Bzwf8mS05@*Kalha5TB29(R5Po6?Ad$q}h6?NiF|0G!y|2>pAHFFTBNZU0`hlOa zHfD;?>Nsn06YcA^UWl5zLOrtrzO|c$_nuz7YKwXW;49O|NKS$`)W#%M&pTfT<>sfk z);Q{`$<>Ck+!XS*u)vBy+=J(*H_c@}R{4FbD>>qH6Zq?HMpnQs6W73NtsmYSFY)oO zt-Y8~q&Yai<&FQ$tjnd9*+iw>iA=5 zCXl;$>Ji;Pn>PTwMy>KU=9E=BFcFq@G(CXRf8*lei}Lf*Iu-V`?UBpl;^c@8jc~G$ z?5$K8Egoju+Fm&OH03n|;P07#tsIFJOv&2|QGN1fQg!0on#$Gk(wfz2spL@Bn(2c%M(^Ec9=_B`lp`+N=| zAei&%Z57gLe9G+KCm31;wmkj=f+MpP%vvgz^O=-h&A_r;FYZSUAy+N3n3-H7i=#|b zu`)J^Y+Q}?3zW?Y*1z_n8;9N1aO>4yjWnrBH|vv-gRvvsUy6-Z19C*`s^?{b1{-l$ zrF8K%m_YUq<2pN|BTjdQP^UAG8fhakB#0Pmwre-_VYtn@8IMsd_2;$En${kKy zR_T7Ly{&X#+Hw_n+mEd-tuwfu;Q9wsl+Mnaryj87xdUShMNl1MqPr?5^GAhm_`zCd zmB-IL{YYM3L@Nxls<4I2_D?NDgA3;{QXx?3k&$Y;xG-lqt8M2Fucot&diiZBF6^5B zu0uY(cB<_`Ri~!o%F!=#Q3p4m+?p%Dx(^n!j4=&!KJhe!y#7ti0vPFe_>7KEicI^7 zZfbKNHIZ!8iCaVM`??(;fmYqv6%SEXfcF)DRvwbJ6-JARPYz!#34-RFbJi1@I9T=O zHR*pgHMgA!oR_X>NYZ$kBqVJ)_%mdytE^I}Vw1i;+}%}-^~itO<-gjG1)Di)z0xF* zhS8h76tE8&x3z@H9EsT3VBoa!G9$UiSi+3djjEYHYXiy$hygDGs50Nk;2aKKhMJ$0s??I_bzBDzddbpXOJLZ= z{QnDWHPsnU*`WMEkESPXila$PPK_%GoSbpX4+-wD47Cd%mxGu>YUa4Cw z;@(5g8E;pAh0TllKDhL;w^Oq1XLG6vc3}&9oRZ2x(dWd(T)w+!ac4Ap;Lh&F5>V+$ zQ@tUWrI(n1f^f#g^MY>dgR!&`>qruB@(03_99vVUrzw9w8wGCVKh~v+V(5^v{da z?RJjRfOwO)Oj=>20`Zh4(>@V&V2*h8_}Rg}u`icA&)=X+ZOS;Zero!PQDnQbZ5zKP zaQY{=Jf(f#T{dE#g09t~T0Zoq%M7n+5xGkN>K)Q3Y&%?=TwS!;EW*KG2T0)>-h=zD zN*8isgNGe>^or%Xm@f^7jC{^1&2eHbH)=-RX@O%!ZF(T2xo6d0xNZt_04nHDm(;vB zk}~YO6TCgocBiIPJS4*{w}2wPT!9307CBJJDYj#5pEP07e*;E$ur|Vt=g7Z-swWgPzRL6Nf zM(R|{vqPr0OkoLwH=gM|vkd^NJEX?q^vLb3i>11?^+oQ5mQTe2QN53fY5kPb>(r3T zA#~bOrMDV|lKh+EgqpEuh;M_4MEjs>x8{a6QrnkT-n9$8lCy?oh5Iwc zS>m>>O4V@f?dgfZo32HRJ9S415p1S^Rk7$(6LjDB8iC*=trk;FhN!v-H!T!sdOskw zLT5a`c!kE}9a(>!k_s_cizbZ;sdZ&IiqR9r_z^|ss^S~#IiEmIK>|3=6>L=SbNFL7 z+Y#))HIyUG=$x-1n;NSsFFN*s@^i3kyn8tlUGR7)_3_LBB*VyJt)?oRH-d3edK%Cg zW{T4a*Nwl3xAF0-rh%OR>gf4O&%tB&$~iO`r)gL!tbk@)q^LcAksOZP&~}ePcYSz_ zif^R|s`naDu=mKKRD1sZ82fP3R;NUm#Lac?4>vQ}xMmZmOmlG$O=*vYm0=u(gnmZ4_m1s*qjr9}Ib}t<_hzU| z5-2#CA%B#MbMf>HLPTUvGl#|V>EMNfZRwPQSB|}E(xtC!*rKDAuShp)g6)aUdu1D1 zf}6RHU1@7S95$%kKY5P>IGP;Gi#!15F)Oht3KJ5X(%1t3^$JN zi6zNJZu{UiUY%ACXR)8NuM+5ZoUahjl zYRDdpMI^=qsNG|fSRXHvB%_qf0}jet|Cb7M<)7b<;svY7qsl&?&tNWsbsF$6kaL0M zN&l4%I5J5{XxZwcQXBJcAyKh1bo4I~aX9MfG3gVx!hUwYdyuBt)f^wRW092252NFx zldXfFcQM8u{+*Svc|rz1>jiS<=a5?fO_7v&a9sz#wa)#Kzc^(!6I3c4>3(&?8=d&# z0Ef}&r~Wc!L#oG>+HWp!m8Kru(Ii%m?rJZM#$i)##RhmM4RUg*8-d>qbtOWvw4+{S z48w*Ip++UAQ|h~XbNUNRUR{`WW^rFIo|C%fdB?h45UMUt+nRUQhj)z9>(R+pmi?Hn z`}lhSjp;?T^;(E6hp9RGSjmP_*S!MG2%jBtEbkQLUd7yGtA=> zm<8ZEk2KIwEqa9eSU2^VBmG*UGwpdJrvmu}iJBSdZS)woKtBi2sH57&FI!wOII0}P zW(z%V8=@@Y#Fx+&p^|Dx6)_CRGeaK$y9ztYSZj%T2PyLYH&`!A_b%{E;xD#5wn%|BzKOPDxHWHDS-6T6s z*#ZjBL1Wvu_7ZSLe5lr6?FdJ%u1RSMvfyIH1i7dq27a@?7k4 z3=L~c>xvrY=KnV8eNF+n=-@_Zw162?I+JsA*-UCk0zRjjt8TNo8ewuv87vD?%8xp+ zY&Fkplsl4pL!IoYaFfAB6SD;Ox*QHKZ2*8JkFEtb*!pCsf4a4JHboSFTKYDpN@TjU~~d zG`1v?CA;07%2C1(e9pbKjT_yd+$vi=Z9hCxILuhTUIleO0Zaz+zUu%KOf}niT#;P5PP9*e0>Y1&5Wj)45Ck)br$B{p5z^LZU~ZO z2%a4)Np}3O`MJ!~>tA0fKXnNkE`9fuEqoNNAKPYVqq*lsb5V9R1c(OJ=xG#wE6Kj& z`zo3lN*siceq*+$X7wjkTN=_ARc1p!jUcCPBgqBn&4uPX6W^5@tyRK1Plf0}ra8`? zfx7nvzXipyz3ri!^Qi0yf03jWPgWu*QzeSs?EaqyT2>&tQ_sFUAp>ev+1_HRKdY931z1i}R{lmPdgeL*6HF_ls>!)w{LGzZR^o6Q|Ssj?->b3o@Nl?i7 zxx{`YZ#&X8^O-nTQ9A9R)(&Fcb#YZb@FPNTl)zq7FZ#H?Hmo+YFKXg{O;9sd(5&gc zmqrKI>eLS6l8BJ*cA70H^jTnTq8L+SG1FRrMq2DU`#bp)?GYg*Rd5VL!-Pi4%h?OA z_PIyNXVf>coT|SSx`3kzY|Kh^1615=koq*cm#xh5waGPld}RW+Copq&txq^_LGH1AQdAhUKlUW3sFE@}(8iF*T1bB|2} zjcx!l^h0xsFc}MQ=|S_edy6h^1a%|vYy_im>NswlaR40hcFuUXY%n`>rJNs%fW7kX z`e@-zab)zU8AR`TS2l&FciBrx%36$B)*V!`O0F&eiSgTca%2&x8x*^QF(O4vm4ah~ zStsOz)Zez5v>R2Fx{;7H+SYTeHU=}@)(Kt>*TtY2(~jT0C{i^M{5L|75hU)ismAgvQ~;A5T`W!k zJ1#u24M`u~q0YO~06b*)je_+Y^W0SHhe=jb6ld&g8=;&xsCBR)ovzcI%n~C>*JQ5l zoDOmtanhjO?!2ZE#q&&m5Yu>*J{vtax{%9kK^k^Ej9FP-f?4^GixVaoT6ohydW<_? zXONs53XW;IZDtT;B^f%{+_#farBmAWCdANYaaHCto2iQHz8XVK7>m-$Sj!uqZ@L+o zIA*_>(~Sr>De1N|r@<`H9p+iOdMO!^^qWemA@rls;gX=XR-Kwj-vdG;=mZjHS)$J^ z>G!nVOIj&ccN^1_?p``Gh2p8%Z{2kxA7J+-z}Q1hT%P2I%2M1(%v60KN$*P-vt_JH zt(Wy_N?=v^nLHqs2xpBIucx(l>ZB`$vqbJp`_i%{4GrTZoMme-WE==?NzwMP)gTNrn=ohyDcCLAq?C8#mE*arxBdu6%I=!aXb_Q zPvcRz+bC=o0F7REW5#DU(`Rz_k{ldc4h_GL5XVSlt^U_r2s;Br0u*TsG3EH_=!LlE zc6j8@y>qXTGoA(~c}v!5_9&2}dP87?&*&6NYWj#M$tn1llWFxtYkbJe9`rjHrZRxk z$*!AQ`b35zopx_SIaDdBIGi;d`8fB#YUl;iEzDB8wm5IOS3Wt|Lev`@72c8#zsdO~ z<2=%Ee11Kv+Lh)it;Xb%!kqB$Vrdcz}D((ikQ7P2#~B5{}0@3)w( zjV%R*=aC&rxkNovSi5iM+{7m*koW}dQKe|}E4HOfYyP}xYAgAqLrgxvd3u}UY?NaNko+STSzz72)-2e=aph@|c1Hb7 zKTK?Pp$0nYQK|9R8z9*yWZ9E)k5xFQI3L*j+^5K!3V_tTk>BMl1!oe zv0|Wo*v^_9-N3g>#ZOp&FM5f5<$#LySNO*?1zjg$$8?DzIvHtDQu;TQC3k~baHav$ zgvwMxS$kLVPM2xF+sI5HWqUe;)v%=ejHdfSeb-~GO$uV9V3uQRn;z)K#he;*krx`| zXaJ(Fs_IJ+B8vF;DyP1hb(AR$X3 z_)<6~D$SYRNRAv#8!n{mt^L~hIu^)Erf*71?miObDkGjorD{|W9hNLV+*6ro=iuuQ zu^J|mOv_z9an=shfb^i}EJ&6om?6)b^ZEfZIw0{F3swQ^qqs^FyugoHDRUENI4>+lChJ?X~}Fm$4)X z+7RLhatA3+`CQPWsy($>b4-o_bOqpD{BrdPu0wg$5j)5$W_UPN!H)Hhv5T!Lpv-|Ec_AjaoPTf-Jiu+o!yv@G6`-jfD_B|q1kq}l5ymlNibL&os zE&ce*hPV-uNI>~h7qZe^=_dclHt3u&g&iHk&AC0|zwKB1fv4|})D^FW=0f?@Jn1@NT^&L_JJmto@hUCc7Js)|fW!ISEs4PZ|>5+d$ z3eW2#>SclfUYc6e8B{kKub}AUhClQ+I9GJ8OkGXwOopCxdUD{{v!jV?i{HIrlaP%s zdDm#`N*a99tW%H2n;*^e!%?`P7#$$U5a4n}pS`$Sj;N=cq-w47A_EYepFdLQB`k8H zWZku`GEvRDm(~~uG~k){BT6;;(SKH*i$(RwTt>?o!%%B>AXxVS(ZmNX;9iOVoJ_a# zS@@JyJ4+6()~p!jJZtKS_zxj&T5QAL~A2=3elS z8i^(b#6X8bAv3vQW8+hMT3CTK1Wjc7_6{;@Q>d3Z6TD^ z?RCj}t#AIMN_zhg6d%HXj-OP48c4+1k+E1A+Xx7f##cU5h=NTy< z`UP#!AXf3*ick!8OP@w+{Tt#z5bA#B>8|S|1Cnm;o#-i0IDWN;kjv34P&w_hIPR}= zFQ$}8S>>PO_ePf_AL`hwEY>}(Y^hkp@HJkARk%xQRQ8nB1|FpLPw2MQ_D-shMwhCX z(mg3h2rdhQYJS-yVDk{<>^35C>V{4tU8O2{o|oK%%iV;(jQCgiakXs5J*sc3!Kh0! zoh?dP_Y9WEk5guJ-bEg*j=?dFC_PfC`b5PfH{lWtebrl@JMDPw4uCldU@t00%EomH zpAZe|WTo@YYxUx9RxvGy*+5Yv%#0E)m{>`USdY9^(rUBJHY zlWVm_tkw-+%|H85TW0UeKLHmIBJcN^TQ^T>HyY?GZP^$v;!Z#>L8w~f?H)v6wG*vc z-PGqw;`Xl^|JBiMh@WoF+_P%$#Fp~F=6p_B7W=ctW_Oh0Esb9(YH{M0lHiGFN$LMo zFZ4#RSDj$m2t}=a12$G0m91-8^Eq>RJsF%Zapveqi!up-tpAnUU@zg8d^1^%`3=Xb z+~mnpw5eN5IxANwENv5kfvW;$=GlUbHCzoAzFx~xp|(Cpgo7uw zym{uSwao{dn=I>-gVz(1iELMCmJY2-b%#ERefRNn4a2(O(U;h1B>n8hjl+PZkN{^z zA6tXdIN#w2z`hQZk0sBCYmruGtdnDS-R`{gwvIh^!zvNZf2-|fKHK-1v%G3FXeD)4 z97>D&bzZD~cxLQh>dAt(>vG+iV9VB_%sS!((b*$~de)2x3;KfeU~$yA%^slhnENTG zhrX>;NuMm$qyg6vY*cpehyy5*^vA03BOyT>1vPy~iA zqVCVc$CmEs@0q7Llu?Xkblqo-c37m-6N{d0wes~&a9!&s+i7ZB0L1vOV;%*&j}Jgz zaS1{|Vls!!I)Im02>|I#=pV=*;LDZH@n0RbKPpE@Umvn`#&R#2p5x=TjhK1ei9f1!+fdf&6^I5VIdOo6(_AJPR;YnOvGc=?$A&Lj zo~pio@|sxhiZp~oL!U=6gHF+sk6O(nurp_)9VoKeb{)4v%H$jM6qTiCySYfHcqMSZ$V2`*Y$TzAL}z3 z{W05HO{_*kN;l$}p~au?1DwPdRj^IhE=f&~2fs zX-d#9FsBf*S6ER@p9tp6G-Qp2O`D=ZI7;JazBL4vNK|4b7i3FCvaLs=etvj}fL zG)H%@4s@fg&+f~Hi%+gmncCnN79I#+gJRH%EEz*(qP-2oGk41)MjRHfY;LYh083g$ z&J>3$Xn@AvT9wmBhHO!(xS%(z??@uaX($BWUt2u=LtMYa>9SL47DA{s}flo3rFuZO;k zl}}_PArp`ES2L1S`DIC&j~db5#0^IawS;?g4yGM#J-2OSW3S)2;t5s3Q&1^**>hSB zrvXr{N>5? zl!Iw;xQAo}-#~o*f|LkBC=p!HNXN7N1Y9K=B}|3KOrT#PEO#;|Cy>tufLvf@!PK25 zYML?T&1iW;56AZ0!yrPK1_7ui#Byo~nGD|bO~B_2$9P9|Uk6ANOdT;fa1=?xtgCt- zNy$-Jw{h_dppS3KQ)fV)!Ci$q48pkyjOD9 zgxg<&rA-XEF_lq4>wOn{GTTl&Iz8&8XXFF8nXFA75?z?{8`-*%vI7eWpzUslSa3B0 zIY)YkADIT+yH{BqACvjQ0(4$g@|EWFr`8E2qdEjXJZ=a6>%$JVMA@%gZi9K_WaOMT&+mh zVVGE!hvY?LDUzJ<68F-D0X?dc|9%qFJW%CE=4U0md;L|f=j(kxWJFfRW`^eK-ZPpF z8(NkikuGO?OoS?gP^$PSpfHdxto13CD-H+meIIJ!?qmwj+%&k z%^$K;U2C@SVeqVV>z2FA=(SsT{wm|U_S_b3H}2jr6S5iR*8cv&c%9nT5QRh-K%vcZ z2OEB&1Cow7(Eb=Dc^!#Y4nkh1a>#!r&WIF_Z*U7&3yx&el&-V;+#v zY`2Ijxl^UYNWpk~L6rDuc-yy*8r;Yvb8_u&u*^Mezd@>5Okcmqmgg5o7y-Q(lf5he z5H4aQ`FKJf$PIhdRYimf2CLN%qHV$6?Ec%P8NKKLba-5FSH3cda2XFW_0Z`up;j#R zlx*>_m|xIqv|xoY>;``Q{MQnQ6ek>dM7~3R^Y(Qe&&WR^2R~fw4T9*&b>(I)BIqGr zjs})Nl~)#07(B-T;s?)T7m4nUhK8`ImD!{M*6CC>)hv7ti!?8Lrd!q;7#1b?N-U$} zJ-#AtHx>I%tof4y;mkQzHc6A!TK{7jNKEF;;KhTN^R@;?_xhe}J@1q|DE`=_qYGTv z4Ka}Tq@*;asRyqxXVH&!D7)3o=XIC&njnloLP}T81!*BnNI@irfSoPR-G&XSER1g3 z=k1Kv6Ua)}3x#q}%TJ$~>L3cg^gE9_5XsOu&M}npc`>sF?-TY$9w$c8jU(g&tE>7E zv$%1x<*^D#!e0D>U=__c^Ulxhb{G3we)|}K+r&@G;XXE|X|6y@*mMv#%t@SauD=JW zQh?bvXW1&zMN(1i*kw7QyG}|gH!YOnSTBz~Y@X(cOe9?m1C+iLA9wb|?wk<<5CEM~yX6;> zf7IP-^bC3lkk8p(OM`Z1GmPPb8XUHZ^I!EMb8L0m8mZk0^Qt7FZ`my&{fkA|20)x% zR&-ZQ#?{7EU>D1%8h;1T25EE?LiB<&6|5Ci$VS=D+g8lnqSou}kWzxASQ5GHL9pPo zifDN4tglNdRzAF9PW_X^y8$iP_tZGz_7Etu3M5M@LW!UbnD)|;g`>hSG_yih*nP@2 zC_1d~gO>Bc8`&uwXF_Vx&|JHgxKHe`-Z3QCj$Qd%RwgYfpModBQWj0XY?IXmkl_~* zva_uWKkQA7u5mx;pc%I2*HbX%PZjzyB4is;NPplHhUR&!MisijZJvsZG>2q}Ds^xI zjp(m3;F5R0PyYrI!e87NOz2R8Esv$a_%!sh>CVQYAv1YiWwn&@RM@AjgS1|o%V2w7 zga>R1*3PbvrqPrQ4(Ehd#uZ3AQw@~WR^+oFZ@V|!HS){A4Zj63!v?iPfITEYH>Y#O z$RqV2a1n`do=uGOV5f7Ofz>ZP!MIZ5i|9xHPt<;()60g9{Z1xndjB2JdL-dYKqWQ!fwY`%{hbIvjA5nZ4HEMPhrJT ztqk?2_3fuy0O-u!7ARSPY=pfV?y|F`m!#w6C7l&hiUnevwtoQ8g|lddzIAw;Z(34+ zLr=@o6k9?LykW|&q(eha?rBLQ#cL-4gub(oi(rXyUTNCMzlIJ_C)k~(a)W*BU-xdWhzd_daYJ!Z#F$-!DI5y&D$@jj zm!N5b2s;u^l%M)<5sLPR#kNAu0u#0pfnGtphrF{mN?fyJlApy3ao0@S{b+lNgzy@! z4;t4L~COR+B2*H0j>MPjRG|}x;vz-lSAv)(4&cSdpxNDOwps^Ri8ua^C)_` z5Zi6)M*71Wqx3i|_hr0A;Dmh#it>aJ=X^IAgIPILNJxbm?>QR!r{v@^b(g6`fkXXV zjdRn(yJ8so!CZD*w%jjsnKSP9~jEFZoYf*`lDxSD|<>q@~6(7%)*oe z@73Yh%w}sMe)tH%!08&LndQ3uCJ7(sxcKcker-H)?N@)X%5HnSB311xftk141Cjgq zN$Nc-Y{O}|Y*Kyo(twttepXu^%=7oK5w%n*uHx1v!=?TCihS+Xn~)(jKP<+i_h44q z@iSK0>)wp}KYf-bCH*-Tx<6lbGyOZlxtH>Ca<`Cn`YN0unOdY$o{)qGQmj}*6IEJ& zIw7(xy*Ra@+Nfx~<$wV!`IBuWd`jJd8kc)%rq#Q7#P;=~U*2vg#_BJkkuj#YAo#a| zikj9?24Xn%Gx4Q4`R9AEP~TdDa$_n{R`_9d6dcUn@fut1@jC6HQ#RU} zK*}xdhL~j_QF3|Yqpi=#l5J&3eRVsMppO)--%IcXc=@z851^lAP8%osu%hDmEEbm0 zCg>F3h)5Ubzo}dF(ru^6HaJYOy_XFP&dTkz-W%JfHH~cFq4yU4!Lpk?fCe(Xe!=m` zF<1E{$E_`Hd^F6?y;Ueb%2yD(BeQqK_YVpOYIEGd5>#hB@nq?e>#^9OEE+N#O= zD#h3LI=+Mh+3a%*OXX!((#htVq|(N`D_=Lag5ZBzGq|uv&bSz&O%q3H7X{eOsOdm@_Yu#_ zog7)8q1D#7%@?LOghq011KG2RpZWj5f44KMEAu0GOZ+0A)~BmotuQPK;K$-%@vIXH z?fQP1tu@>%TibZ5YoVs~%FW`&BaKS5qj?zFv>nLqY-J(Si}Vf)koktU$7LU%UfKcH z*O$rq{W4}drCK2|7hFo4O!`|a>W5XtEz#sZQe8)eS-pq^-1v5)(B{eXTT1Jv8ihI- zAR7F@&iVKJWdVrlrQ+2?X3(nyWmux3Q$O>3<|YNEI_|@38Rsb5ohhDvrRJhuTAAX} z+7ap$aCEiuq?LvZbT3MCDpvsb9c|P5)styd_UDxjJTA(t{ z_Nvq*7ihqX{D^-!!G=%7$synNtVIPzZPNEVAM5;zsbPoSo!UZ!@oVe?{`FJ$DPmxG zIeh%iKQ5$8`=hEf8(V3uGqv0}TJCPGyM)2T+a%TMp9rnZY`}7ra4MF1TFOUr|HD-E zN+I_@&&7yJjb`=v5!Ryy6Fx# zG}Zp)nBOF*LnWq_9alOi{rdXW7;uLtRx1b*!D)@%I!NFB>nip>b8QTg`%qq(Z_B5o zH2M@q^ruONGd_+1Z!~SWTgWs|N>FDN{f_Wmk;n@F+vRFpHoI*T2uMUVRPvm67r&;8 zB$zDtS8Zr8r_wZVMc20{PLLXzVf59!^jy|$*C_5=dG2R4;H)uJOnUf=8>9Pr!Pzvq zm#!XwiTG+maZ_m;-#t|axLHqDHIE?=y)=4v*4d_a;d(>f-d6HMTN1wWj!FD~X+0?k|sI>6NvVJ_w#o~7* zeVh8UpL_A)%_AGRXF=3MV3E?bamAJdL;DnH?S2AI-5eAoB;$R#?IttlAumCdDKQwB ztqjQ}q5IDc_CEx8Vyn-t(Z@aq-3W_}{7K(8yif3=bHM@LHJFg>DW_dxQb0Nk=?b6v zbN9_4_TyKhB|H8GMC|loI^x)G3w{&o|Hss^-^A2c={Lw5y*`I7?&>-cQy3<@3m(5< z9!v!(V(8@X)ioC1MZ|_QS_i@f>gOJ{P)$Kj81C=5pG_& zVMT6bMjVUKU={HW%KdTB>dsc%=Naiw!Y0RDa(0w&WpuMy2bH4G!`4nCd!fkfhgiom zD+~!uP1x}b16#ap&2LOtsv~HEXG9~0arUn$2GDs%EeETeqgfAbOZb}5g2Q5QEiqx3 z-fBai+W=4RuL}Sctq2}WeXxi-2V*^ZT&Z6Ce78#S{O3RawM_r*joz$Bs@E9{MXDzTfUKv9BuwwPhNjARaHKyMCu^mVtu zT0qdcs!}cl?OEF>4k3*mu->+xTy{J?AvEh=Fk5}TuJbHEB)2T|17QCwq z6leuDT=8NfbTua)`MJ2}SLYy3|EltCjMOdM7w*s=ar)RI5!O01w>{Rc2bUDRLkK(8 zxOGjuu)k~l^H7d4?I6lI`Cz%~?6~yLKOLVn z!q>Cyr+2oiw@bQCJ(F9_c5C&#QoU`~#MRQX(sm2i*vy$jW#LouwMBhhEuC7r zSEL@F9tL_p+kGz&eo8)#i~lPEd=T2g{_iqW<}h>>4t%A3tUK@uURx|6T2EuW>-3a4 z385;P8Vs#{3mL3euq*X()}B#3J!la_bU(PVM*Y@4jO_W#M&_=TMicJ?66C5*_(LBt zxvB=z{fXDCWT2+&3@opJNA(LVju*tyl1CIri&2GiSW|ywLhzp7-0_M29nEj%a2|PW zF!||BCO3)|zaQcFDF197Pa}J~y<$l`g~Y1VSog-DJ^&4;Td|$DO!7wh3lgp~w`;m% zgIl-@KhnKqIPNBk+~q0|U#!YU?5*M>O5i6E#!6{Ih`j@U@ zwjHq1$KKT(sQUiTM5RkYjkibzK75u&D#&?V&6&0xOf>W~vdC^uU%w$rmHJG$t>H!M zsqi9Kj^{O7(%g%S1tj<*n3gv@o!88xa!_o)&pz)Tzuhz#33c&;82|h%+_?31rY?E( zZsxXeA-W$DbT~;dl4xE(Y9O&3Al#b!LVH_RlD4`EWk7V(L}2tsCjzVSc`WOoEP3nI za40E0Vh#o-nKlykdU|XjQ~%Slu6a)HNQsNA^dt*fr`rwkc~(if{)qYlT$U|)2Du!* zRyK~cf+6$A#kjL(RawidX(iS5{$@6O0SYNT>;@+u)2I=kN!QYprgk#WOIqx%DtfrO zX;-@|e;SxsRa&2mLD}BmA@+Vmi9td)vHUIHD6T03yeeMs%c-s2Yl||0ie_aa>Jo!| z!w6E=0fQ}C%*<;ut&NR*C`iK#y_4?gp^w`VD4bzKP9WR?hBi4ZBvWf_wDxqB#KRW_ zC~wPpmUEiWyd&;;3s6m3qXx$PHsIg01ffwwH!m z3&krNWGH{c%zDYqa)6b&B14UbFM)k)9mId zB+h)Hd91w_8)7%;F9BC}F$t@YYI1C0R`yVUdoajFj%D|mdsBEDAB+8;k}M1cj=Y7( zI1?M3kV6h<#d^JHN&kDK_<z%mw~CV3Ey{qWc6rKG^@6*$xKGj%xtl@AOD+# z=0S&gk*aUr9Qzb*0Epvvy{Hxhr1~%8SmEOz-M!z*PjIdQKr39Jjc-?)KKv)uOH)hQ z?Kb#2&Y_Gu=gyewKa*Pzs7{I2+wA#pvozhj?M#AP1~y(5{-Lyr$%6zfoC zpEqC8V0BAxLK+)Yb{EE?Y)>x7f(J|$qr%D|o2W)Vg&f&B{-j{H_*iQMCKJN?emw}6 zoL$QYzO4c?LNZ;7hEWq&%c6(;AdgJg9bc2bU0(J41BUFg7@@}VCYJ@n9&W}Ezl?s9 zCkofmdL*|#=fkjSgzdHVH&t$x&X|k@f!BZHP)h#x!RXZp7V`LU%w04THFAM~e6q*+ zdv<*((NXPaes>RmvtCAf3L(;Wiej5MLIzm#%c|T5YHA69h$3e*>$AiN-jdh)jH)|? z0vGS}x9VM6zj`yJ8Z1m8kgDN^4RXJxY7y%a|AXX9cQO<4i{%R(FzU@LtN!7*>=qT* zQAoN|@3D+Z>(BG|2}z$l(^vfMUp~R2W}Efdf4mMX`TKYME0tur7_8MG2nJBGm6I7} z;&9wqJeoF!gw0tJtcSx5(%fzDSUS|j%p4_pWKJU}-uO@rN$sPE+Tjms3t_IgTZcDc zZlGgTJ$v=BlCm~&ddR7eoGv5Sz>vgTYsv~8H{Rq{)<~Xh+^TNw^M3DVjYBPpl_QUS z4Ff^kO4{|Fc*`$mG`jb8n^kb^K2Xa|iH`QAx9ssuFFDBrZy6!$6)oZH9CWAgxOL(h zP<#deRl3VKcf!&n99Ujx&1nQ}t4tyZOysVSNB-~UCG$}oWc~g_umaBh&G&|hnIA85 zk?6A-C{d*kGd=4T@HfwBPTn_2_B6)8Od)=r-Tp%Oz*?hGw5U}LV`G3I$nDxbI)Vnf zzI@AV<^j{tFx3phD9FkESYG_aq@M*H;Nk_g2DBc@(@XfSCZ#&_!JAgkk)*XQbNQ z>SFq#ulA|jf!*sB5$SAPZ@7L!16F=CQk7|GMpydVjm=tD=AMaLY`rsoACEHIICpa6 zu39eP9VYKCqnT+A;4OkizNbYvBG($vM^8{%IksD6>2$2D*8a!X)GVC$G*m271H}*9 zr!2I~kY}}<==<=@TyBor=wXuE?oWo%tUa0rG8UCeAquur*AXlZBCWm2cux0qm+q}{ zZA^E1^}J}_z!~-#;(qm=$u8~6Xtyl^e!W`2fBxwk$vxC~CTvpxe{ZOcH3lKo2g|zc zT8_Yg&b5p;=Dl=bRwJdRX)^@St>{ECJz#74BFN_+imGX0V_@*soM6YjhU&q8Unx4wgOs#MYI0lk$wqe3;DmNw~I?h&mys1KKC>rRdoGFFJ>+5;!$b% zV=Y}*TN@c^2vECbL&estUXV|`&z$evg~NyHaUb$lXjJD~?%i#yOq;R>YjNhY+K=>9 z!|Q!lAzA>@;xn)h8s~z0VCik*Tq56IKkYn~tcid|hTv7U z1YfU7^8pCb(07VyoUe|~$+^M16J6psKJsnOaCiIW5N^>! z7QVN_0z1m$-62xG@%ikXENaEgH zdPvo z-0=TV6nJQJa*D6AFTwCtS-k%gA*PMI)n@U?UHzZwO}@rfpT}kjeeXMQKVvp~p}?9g zkU@KRKMf}#7V=3m&g2yu1^^EZqCH`FVYrmc=9T(`D^SYpnf1_(|Ea2SM3sptn5T5$KPvT4N&K+Xw7c^ zYGkb~It(^q92)V-^kr>f9qBkOV{2f+(Slp7HOFcr#sLEMFrPT<3FhC=`O9i>Wt1P; zA!LenF#CW#lifn!E9Ld+0xD;0aOF*>0(aAI!>-K;6c)F7I&SE{F^{2h(6zXpI+n~XV zCZ$N%vF#o#9BZ48d(!owrY=|iAcwPulq30mS?mb*y@xdWBp#XN1qa z14Pm9TCp{pGo#)CYU|TT7{s1Y4>fZX=Wt9)QGaGtPgGUyDJ+H0YP;A3Xfd|ijLhH>Trt8?eEJNR(MWs zQV4txVYwEBIIR-*X-W5d<_Il57y+CAg_ro@%4N58ow?Yom<`=E|sz;GS!1s8gaM9rq;T!>oi5Sf}MaCl3Om9`%_)uTy<_WGR z^mRF15Q*Hu^``o9@#E>*%bP=zzK1`f2fM_wiCJ$c0$F%lG+!nesG__nsGL zaXkZ8r1%(Wzr%RooZH1(SADx89m-##lLfUYTLkYonm%28PL}2nC`aXLmvc z)IfX;QEYAF4K)iZF>G;*oT^`=@wssqmyTdW;=Q{*i!j+B;v{@w6a-7H!*PCVj(hP) z)CIlHlX?>Y){-^Xsekx#7M96(;)0i{qil3?pgjT+GGd7f%XgtmT~=v)@=&Wx#$NXgyt132RmpBlOiqU~9vT{5eho8_N6m37ohQeZ6S zMNDn~6>65%n<&p3Gd-tVy_>y-?UD{-dwYtcuGTgLS?qbjpCjhw~8;O(aX`Eozc-U~5mbgh{19-kOc(1uG}r&h}vU0+Fm(aaE*r6n0#{(9md zlD>#o!m*t@`?kl!6mes$RgJJ4hs(1kF?}>@COa8d-gQm23LO%k=tcS04C&_H;!`df z^to#SL;P!gt67FM9M^|`6m~Z1g6{wFhAX1xshQ2TVeDuD^#Ux!XrdPz{&_6edmK|W z(sq(~E(abohpRgeTr*BdV&9*m-*X9JB6|rR!;JQ358N1t{OJ(>TtrzmghEP zKc1gn{$F|$Z!L#XWO8FAN6IPaySy2M+2T6Bm_Fir4^?B+S}pyACAs_*YYZaSGn(;U zpL`eVYnc$1@z3?KiHZc^o~H31}fTWsj9_c!;3&yd|Dr zq+(VerMl>Wyfc!{CvaE-Ff~_du^TpFkd-ii+drBbl*SUHZ@w?^zRYs8vKMBsTI=NC zViKZ>@Q|r#pUs){Eg;ki4qxNha0t6JkJH$3JL?qiq$z}~D7Nl^?R=5KoMb$8(cg|% zGRZhYUsMgeR-QVC^xmMdHrkZ3m{Y8iXvMKYTKS1N=d1-hBQL3C=)w;K7PKjn=bzsc z`r@0_-@p5@8F|k4I~~m`5@MFt8@a5m{3dJG?fU>7Mz}vhC>f z@;wJBXU9GihY^g_yJXV1z?DUvIp<}yA1V5+sm?*p3~7EUNm$}MRsO_TgCj^kakmVVJE;%^T}McT8* zNYP1k%M0sCYMVdbJ#m*2RIvQNx<0ahu3|l%RmzlR-d#dOuK~)%|F+Fpb~!J2@nmxT zvh?(|7rmLnyUGUS+nWgbCZVO*jpEjeCMLFXq*F-ur}-(Ap707`l3QSYwg}m(EV0{W zR1vpFHkZH%L5gSUCfaE1k*Ei|d7CT>mQSq}QZ<#mVWV%3e`q*O0_6yZdbqf&3OoUc zQ@-HgV)u6pH^tX0!ZMa}?C1BcJwQ;Ldxd+jBIBP*i~Ijm9tgHYN(bLQ@p5%dFV@Of zO*k=d7W#c^KAj`3cd1r6Q+CjEPM1dC&4G=@yE<9VN=W4Y5@yg`>z)Jxp7T7}w6X@P z62Yk~Oc5q}q;m)$Eg;=Ht>dzvqGr0eH-VtiGzYr|ZYW@CL{M!I9s3PhR_6p^)LuR% zcmWFAefO9ekM*KtaUb7l48x0qUCw&CMxYc|sN8ndg~6l=xuoU;xeJFs4`th!zr<~7 zk28@NR$`K9Cg?JrJD(f?usIAfBe=Eu_uqFbK6h~A)=^Nh8oR<#GAeb_Wrad59x@Sq!HC7ru$r|GSP#P*7+ z(8wD_vuAS7$GPG_pFK)ACa<|uw_fkpEYhcI@Lbo=RKa<{2bxu%e&06LEiX~jhbLO8 zm9%uXf-~Te)VifPTn-ooi1{M^m~SR~z4os+=n#^N+}fwDeh{bJ59{W#Kkf+Mxg|t% z_NQ6LoV`N5wV(vRuj;nV2TpHCZ0?rxSv_3_F|4%@q5Hib}F*HLH=b+Zcrj7;J~$cZY@bm z^|&xXom^JS!^z?R0U^va#3{6>|DNI1vkM3+mg9DsV}$iy+%8t1u{Kjs{~H_&nhL7)J|{w zoBRSKdHL7Ts8>`nkeEPrYks?8CvK;u@7UCU8Ut1DeXPs9oC%Y2*9BXq!o^iYsML+m zpXY=1jktvy_|D`YrYDv=;+q&-rERv>=0U*pWqJ(FDtFEb(5ltM#te{iW)ZDQ1u;XKXezNEZ0S21>8mrRpcCUoW~a|zy;z_qCPx-qi9oJ~+;x3_SD@Fer(mP^xh{liVRA8T zwrTKFx18$B9UZzkJcyoFzviPyU5;+)Y9*8TnQd)Fz|Qcz5NhUfHvCLDBwz}ZuxqB>N^@+SS63C z{AlJupAuwW122|(?>zWgjKyF3o|D?bW!}YnrhiUQXN{swy=fl#nkG_R;82nUS^C!5Lo);O^sE!Pn}4o+x;F zW_nk+^EIa}S3MPgsVVb=lC|NiNm2O{7}J+5E?iVd>IC=gg*OO~@aDt!ADQ2woZ7|n zf+7@Cw(eNh;}@C&38}+`5k+Y}zVO4+2i)II(oXV4^^isNhWV z->$k!aTsAI`8? zM?0s>YY&Mh2HATw1t!q-V9J!nu3=+SpG#nQdN=5f!F~87h`#$8{1|357}(x~gVT?$ z&2CFiQI_J(Q05jZnPc&)M-V=3q7AfAvy&pLE=C$*Fu|$SM%MAm{+Chmi~C|xQT>dY zif+n0k|%xipUs%sDVIqrDnVcHxMpMn7wr|yuxntZ;B`EQx;J)~{P5jb zs!+lHXx1|YVfxa@x9?T1eQuLLC}06hmgYD7ajel_DMLWB4(zjETFVXluM2&H?=KuS z@}y@(DTLne*R?|*qYegdS9II#lza|G7{lJM?o=57o5JKsI$JEMnh|7a4O;?*s<#nF zl8g?`Ftd@I8Z0?5ObM1{?cr=%y3?uSlE%X=SR1TMmxRNqjjuY_kRmZx^@$^G1+eE0 zo*G{7U1Pf*wL8;Aw24bjg|X{18Xa<4(;6Z_wz6K_{8KPa=;SV1e~fjxOa@Y4(~|bW z?m>?hA~z<1KRteKp!Wb?z#)ECkY9x!cLB#=(QBU&7~5o*IZn<(cR)@U!`y99GJ`Mx z+bhV}lQNwy23mQlFy2zHN4Q>84c3PClq6&&=^olOn5{wh6@o^j7n4FZza7`9*V|^-TNtz@y#z2vJt;}jX z6?3cG^J#dKz$glE>)Jk+v2`;H)JAR7+F#*zvJ9fb?3opbsh%F4QkBr;jjrKa15-Gk zYkRUc!~wRVW_ndfu#)M|`3(XlADzRRMAD`~4~EETFm{xDhR(w%Z(2-6h-!8@V9m9g z!Q=NqxWsDbdMg^#&tnUBaM|?6`^$=uhgtiX^NZD?r7e-CQqx)>p4)o(MK3rm#A7%S zRI;d+i{*Q%46$MGEhNvRDzJ{j@HnfR2b?EOl>4d5Sf)&I zN>lJBX4mWDDtH>}oHk(r8ShXm)kl@#iwcp7*kj5*q+x6yqq3C+Y#~`kzb09g{eqX% z1Hr>7$yr~o;8l0-L$V}qZ@7TN$0}cW^vmz+dop&^4iBxTN2_78pDZ8&%JKa|hk8CN zow8mHEU-lN)kojnB;1SO3x5dYvY6Q==5X4Y3vgpY!gg;sZ4m9$-D@dzzkSN9vyZc6 z?-Rzzr-y|p2t^Uzujgeq@I|jW2gYehzw;Gwb#>a~ak{l_pskT~$yR{6I|t2-xoSY? zicWg4mo%ja0Y3|(vv#TLi_91Go+$>946E|SS069Fiw*K?)FL64()3<|8Wi@ds*QmqCf~d!o81{rgQS#^Rci5g*C_2$xT5E@E{;2 zCm=Nyp}`U?^L>_kb*<(dVI*Fbbvfg<5vXwr%HHxyjULHwCqL$2kFc`b=_Wx3vLJ=C z?pfFK&C>Ti+>PjrRgay~<)v%(%96M`M0FjDgiZ|O5XTT0#Q$}{3s0ER9ng5!B`SGF z9~0n7ciIg25)j!vYbOQVPi$P>3VrlSu~Nqtml&jV5H~5T3YJor)J7g2SMfxj8;Hz; zOm64mUX4+egs-^HITm1Y-!SqSwYST3n<5|!#p(C z8pN+XzcTH6-?itDIZoj#eCmvcJWeFy;X;Pqkv0-nqx>ZHjBi2@S-# zUd!j$a4K%gpK5O@%847q&l;xLeuw*6TuPeVWXU4zr=|~0O6*gY7%25hoL)(%Bm7e9 zoI7n<6KE&4Vnh`9>S&>fu^H$!Hlvg*UZO;S&1kskG<}@P4-Q(Y+NoKxsC2p%G$aU7@ zE=re?VccdjRgte<%!qu0Ge?%E&20KOm#-mfQrqrkAL)w1A^u?P1}v9UN15RSv;MVW zif~(Al6RmM5$=0S2@kKS0cMC#L{DUCtQX-DOsr8GwX}Q7&uUcb_WEn*rb9PfN~bJ} zE0#y~AiW%N*2)yh9OrzVldRpPVp_TOhGfQWl@2qSu`Wkmk7o&3P0en8#rXXbZ=hC% zv$aDEbht^i&SY9%mW5@Z?|RB%CHd3YOfuV%T~aPCwcKn3XkUWUzktl#{BJ2aCdEU+D>5e^1#u{&3w3-nN>O?Mu%z`Y-m5$<9f`x5kDaEyk zC75q9u%y6399E2|bPcV@1ZB58boE-sk*m+*kj#^#!0{m( zM7maqip1Q((kilA%5}#w6>XZvasu3IRXy~`&P3z{`g$$X*_D=nAQ)A!_DlgYXp~k2 zI%&-Wdwa|J6SPT)?2Lv|z7e(NhCabaKO|+@%4tPIYXgbOpxV}C7Zvmc<-6~r7*xM7 z2#Na!gbvw=g$PEg*50?WQ()|5BUNt<9P+aQX87iWDgyoP+&*SR!zXM<%a)Q5CgP5-B{Bg22#R*#tAK0(7Y@ z7pa1keZ7BrE<|C7oKfloX2unuwQjWyXDn6o6vk0o(q>7Dcmje|9+;*f3+jt`z+#uF z7@-y&1kiU5EFu$yN|8T($#xIyC_uPrvM1B!t*VH`5$z!{4lf4A6=Sp|ljJOh0F{b= z8_9z;el%%P@S22gtZBkl<{q0f-*8icAK5>^uEe-dtvA)osL}~z&RWAzbRc+Xt+c5z z55!xSsR3B(wOb?Plict5yLpwy7F|3OjDDHj6hjQeEOBZ@lN>&Ct$=L+SPPJZlhD=_ zs#FaKj1L{dxztYlXEA>~`xtdXP;4XN!J7O!R0!F{?A zt4)F~U(4znUbtsG*4^a+Ok~RU5BX*NrX;cBsz)s`T%VP$7KxNM*hX1&#-b@2(Ow=D zvFbrBv*xx>OAaQrT0XGZHHTX?az&~No=Sx*gG(Dp@D*BC5T70fxejAzWX^QgJ6Wv& zG9cosKef6M0FyJGr=Chwl_ljqitu2xf_N z6DB#jk-9CK8V6WY7Ni#dqTF&f7*`S{>si?Krn#q4)P2hR`~qUd+9Io{>Nxv;%Y-#G z=rPq%sNg|%M4#HDvN~)=`xJqyQ>XzLi>>Z784{*4e78_?VHPLETO>-R!Sz41J_4>5 z!g5wr!nsz8M@A?K)O@e&6Bi>LzMDKatUkxj(T9XZK+^TD#lJ5UB2}D}HuL4FBZ6JY zXvaIJEZWmmyj#qmg;d)|VkF+$t_++({R&fvz%d^-yy+k<(JbCe(~aHeZAiFiWIFgsv3R)}dC1 ziwmWOsURq6?YdJBvQ89=Wy?jbG8DObm2pHZ_YYENVhl=yRoRE6iE84NqDN+Be9BTJ zh-%sOIBj4l%_FEZQmXyse<+idT$f=ty>_HTjnq;PD2Qj+CZBdeOgAJzu~#Bx$Hz(I zgc8=E*0*D*m~BlzxJ~WG##Co{VK<>MuS7i9pk6>Z(i41*mZcaQh~xytgH^cF#uVZ! z+8mI%jU+XYkZ^Y3!I9`5D6fHQ^q0VbV~?q439DmUdFBt7O;TMTIPvX0Bq{Sf0Jc!s|tunN@a-a z`lyB}cLYfjwCJPZK~n29ND)`$S*su;JeZcV+90h2v8A+!X?v0dB->+5*Z?$+nvRT= zqq?Bp@C&(;JpyeK6sD{#{n-Lk;Kh0xhnxyPHiBl)CuZ}uw6CnPC0zRgDMKwip%|0TqxT{_-Dq6-G>QVXygCC`SzLN~6 zp=`mFrsN&QH!HcD?<0j$RIRrj*4Yi&E8?r zA1ZbP*upYbv@~rUaeJ#mJ;8XtlFl-h5kNM1BU`;+bBK?+Ifrctys~-Z06H24I?J6I z=^7E<+8SPwh7KOTSzPM@9&NMkn(D=>Reixr->Q-_p)f66#{ah0OEyDvWdp>}C*|Dm zLFyfp!fjx_3nh`$aU_Ty34D9PRhnN{WAV+X(3c_c=XM~lr5LNu?(}L4YKI>Nu70M@ zV$Dy$s)+J_bquEIaBf!Eo7TRhZue4DhqhZ@rLb&Ja!S);EB0*xr(a$Xa@$I0CjG~NYyT5K)Y)%i*hlk{dkyA&m0s(z ziRQOkpctj7nD|ujoTWDj6wA`6dr>X)(Xbb@iQH&iqfnZGp8>@n%L|Io4D}kIVx^I& zQ0N;YS1TnX>K3^pKDhyrqLpk6@@Szg1 zfdU;7=^0|_{u$Ydf+WX?MkcGdmfV%tut!qMT(&$e9&bUFu9~zQ+49*EAECK)SRj_- zXKo8u0zy`CkjtcuK$Z$}z{?|rbp6dWD5c07^`Q^qlG6k{qoLr!(DE})nna+0s#@w3 zUSesj>zPOuyz#CKhAG;Itf9cUqP?3oU&g*7a;n_EFI($FP>_)dZ;|A-=s-uMm|wLb zOU)MC1;cRH9+VcI*djVnrfbc6Vr|?D%cCK^S~R`APf6Gb7-QuDFWey2Fn(Upqx3>Z z9aL=5DlJ{^|Eh}O9ZXg#3ZvLbt`=<8#XlL@#2vCwyF zF)$lYu&)S>V`mw`2q6#aIZNkud|X3dBVI*)&Zq@78lnfR2H3i?tsl{ArJfu*-bv>- z6$rKACb|^HHV{yyGoBn25-DL-RCVustDF2pE;mIo+N(mfU84cZ))qK&z!fJsV2s4# z*ixn2mGw_Dt6t;PrOIbv~fC@FEudPFqz+a{j^!c?>+N5Sf zo&Qm;ga&}vKk*VNI|L}Lj}9ctWNlF7kU)!umN^W2HH+4LPdGHD)4TqUt%RDEash}X zpeEL^3cijZ5|e8gG5Jp1a3XG~xOR5k&#gkNRm8Rl$FAgY_porOL*z0ri%OMMTi=%dfi{ba0xu?3yPaxvbAlwQ)Hp4?W+f$eK}ZSP zIAM|aeOdTB%D?1RIiTPwEBu8KO73hcS!YPqgDgbdIg7b$Wi$LOW1@6iD{X2}Xp~us zjbF@*X#cnpUeU>r677a82n@(`8YTLHLSdz|v zWA(vytu7TLcKIayseEy3*KlL)P5vm{lp$%gk|7wY8mA?8I7RNCS#sANDs z8qRC&cZQe6bJj>ig+_|?Gc^6;_QS{k*M!x;6v_4!dogU3TWO0{da*A*ZIm+Or5sZE zt((3=;R#ynKz1+O=|@sxLGAXFMsyjPM6Ws;qb8rK=NyC{KLH0SzUfUYgM{8J!$f^}fwyS{1=({J>Xjj%u@MNMAg1YWGA}+83 zeb-El3fu3jV$(>Lpbem_vmn~98+u*y_UcQT5nMV4S;F>^K;h9qaG{6DV%|y(R$FyjU zgGnK|XPixk^veaGtTF*zp%yjHk|S;F&gJDaQK-mh$w`&IYiV`_56rO?$o90bA-e#i zyvmj?gCe3E=^_M6!USM@MOjekX7%w3CR(>V2_Gtz>bcg~OM(OSJd$zA*}@=sqb$>Ke*$%c1S~6&Ofe z73>xjmWD!A+oRE;iDzf2!H2iI7-IcGNV@%yiId(j?_;CZMo%$> z^d)x+UKMZ_G89Ua-RQkiJr})kce1R2SYKBKqU8Lu7|>-zv}(Nz3t)=`H8r4Kv&Sq| zwuOXg(4w7VgpJp83rbWAygVr&fn4e@$d+UkQD;PJV{Gm#gGLOAwDfUf5iAgr(zIyG zkOn~Cv3T0C&<7-=KM0%?7eJ5~bV~Zv(0b0P041P1j3RqmSKm>Y1nZ;!tx6nGT)vm= zGGw?oNr7iWW`glbU4){@1Jy_5XKjFxWTiHD(Gz*SOV}od)t&(#x1f*V^fH0hcYVl%hK4>*8 z;9BrNb=eyMkjQbnU6!jZ{(#+VZdI$Yqh;W724qvD#??EjIYq1rEN19fCB|Rbp)U5a zXEMKKG>8@41U?{aJ^_ZBm|}-WVXw08qHGhS22vF27PC^g zW|O2WYP`2wYXvC(oGu${HRQf=Xb^d+^`EENI2q>KeLR88oyt#s%mI$^(ETRTO zR6O28PF%9Z22FSZ0UoOsM*)>$pl$NMzWhPtM*vjS@eBbxXw=n$8j|%o)#BP>y!TnGk3B|bc=BVw?TyyE;tg`(rR zr6Mz)(Jw+c;ABhVh5`=lHgzQ%F}ZJ`6Y5g)36CQ~nBO-yg6%dSFF;6E^6^7Ag1R`X z1`nHGphEYJlTtCK+AyR{f}Eo-=W1XRNk#E?ft;Tds-TN|n!ASVR=+gmI0Q>rI0f3& zE;IpbfXQQ%-WY2ZiVrRceMc66CZip~DgB!#pV~Bu@iN}fBWYzX+W3iPM9|bA6o#SC zGUo|&F(t!afNX=vY9QtwYjMt1fun#pibcECwHtgCh`Uk`VhJnO7afrafN`nYW;v_J z{h_@kO#wGL7-%Tt!EVh%|B{)H=g;30f=JOTmTLZTMi2^*H-v8?%OE93FA26B$tqP!5FOiu^8HX4rikAYzI*v~(rm%>TEZV1KC1{B5c`sJkI4K~GsCj~6%@B&Mwmda^&~~dm z4yDWl*%Y0aFcg=p?dB!{1}1bE9y0*09OF`Hw0j#~TxA%0 zC5d}d3eB{`8?zMFHcg+;@QBrQ(g)6<%PZHlD;u>Mka;75c}%Hru$Z`O(2_2_mxQu z0hdjWEq3Whc~sU~sIzb!3EWj(4=f;0L;^?Or_xmpoxJX5B67@vWlP=QL+dGBu>c4y z^{*tnYgnVRoD4a5+ux=+vuSOOwAH&jRd}6d{5fgL| zRH84Af>n^=<~@pObd{3_<#$UyUGX|NgZU6E21fO~AnPNZFlFqgK*%1N@zQ29t|y(6 ziIyR=5K&@!i)2|Olmc16X>s|R3f9K#z>XwZ0@V*W)-+q!7;j_YraUnKDWFqWZM7Lt zIHR`(LZO-^kv3|vxvSI~?QVa#yzQZAq81(%D|CfrUl`T~H&8;RFmYkOA)>EHB?*|5O8X57c3C4VTE_{S{D#x0R9*+7k(86`HEZP&o>q*bDd3<8O`1 zNI_|V2~6Rq)ZBk(23SDJdn;+2Hx1OzZSR6*XEu%QR)dOOL`D{on^wsO(I>)%U=+0; zCkq9NlNCN7{8lfyynL~DeutZ&2#q+2f`r=)N7*5G^L1aGZqj~7$ipdoX-z@_E0K`f zcMW5ykvi^l3pUp;Hb}JjfoPe(NSZ=U+v}-p5#J{!T>(Crp_g!wqcn7{SyeSpT{jgu zIuI=X(-SW#Ks)NJ$LbETuxy7yUTwu2e^QR^m<+Rs-n!PT&8~(Zy}1lS+0v8c{fpiz zrI~2Fi{TTW%aB?#JTT#UQ1})S>gm;O0ywLKxq8#moXR1w@pKuyjEnWb*6?X6Ku zq`k=s>ZL>g-3yIzsA<^ulMeKwqM)!?ME3;Y$0=Y$sIGzuL^!=90Gz0v+%4@SftD56 zM$M?TRr?{-CX`M=VFEq;|B~Rzl#?jwMv?@oa_P1+h%8ERz>?5F=)7bpkk8IlJ*OJ0 zTt+9sJ3)w>*_pbSEs4%3w+eG@T46g(!>P2h-{G|O9ktl1cfTz_u8kk`f^qNzBCR& zpI*$tG*}iCprd8blNWfx6Vg*c zzu0G6_U^P!J5dPs3TY4=txcHljS144dFYLd+A<2WsF=~Zf7dG&8_HGZbC4C6$5lMdd7ye-N!>A?Bz@E6^GnYfwzX6$Xiei9u31#gRH2ehppNttX^5(Hcuq17e^cCADHhGk=j=%WIr3;?=8zdL2<=Y77MhC61>bE+ znfE?IIsIVMq7j@Dfh&p~m#_lGu2mRkCn9vG7*{-Ex1+r`N&m2_mTp9W;!|`KjMwaF z0Ev7kcizMoQe*SD7M2KRQ>{NuyK|1z(~%8I6+QMQX3@9cAjU(H9P(W5LgPwc*0`mo zAC?9NK>7(9nP{9y;XT(brPa&FIyOC)6@^ewQqUmRe~D0E3VK>4^H~EeG@mG5-CnUO zsW4h<2f})%c>GH-f~Cw_*jcs{T7u*D^HO^MWVZviG zPRlC!CeLio(r^z-Eu|+43{$NRO9@XouuwbaD6EQuN6cy8nx_W(=wRofW&T86azvO? z61vixpka~#S65Z0NF7kTOAqLC0`N{1HLrgcQjow3gO%I7;_^oyRpa_aa9DV z8~b~TE|v7jhgG?Dibb(co{&gZy$$fxg>>r%5q)M)Tdq42D&Db05=2DM!dx4JA`Q1a|B_VjshXw_-ZN^w0!NT4oPYrK5bCj%(t*Q!!q`nUjoqW zR07*nOr1#SWD-emi`~(H74JTOueAgxueIsjlJWx0k<%l1d)?oCR~`n4@wAlRI# z`-KUkyGkmNeFP~MlVo10e$=Gayh$2k0NM8-HwEb5jW*0Ef^NMZk1A$!ps*e*Y+2!9 zHJd?cI;80~-hp8C)xb+KYNZ!)YgVC_ZXOZ$Y`;dyuGU1$i(s!khSXbSbF^T7BbWX^n!S5M`9&W4Q4XS)g&U(PlDq_&B|lktpes+A=|o zNM?yOcZ0J1CKnqY|2D|#JCjM%8}#w`Yn>{t5sev|ghy)Fidx&`tS>Q-P>5>arN-!* zvvlQ-R*02-KL5O}p4PB*AX;Fj9neM+ytB5{A2~xat~0w8H9#=1T@f5=0Z8hc+J|7L zDnmH~nZwrNwG@4ch!a>?XI$6gH7uf+EPKe9pVNM2!ZUCTPbmF6iG=|j78_m7^BzSlC40D`e>|UY(x0102Gr0dSaV# zWAl2*)XHt{5>#FoR}3ff4pB@;#lBIx4KqMcMI`44y#1+rF9 zTVlIcb`v0jy2BL;GIwz^_Q5Gf!-6Z;&+AH0E@cF;-^FFIsi?^I_GB>j-Mvvrcrs;I zYc^|S)4XeIxPcKi@b6|#Efsc{5W1<^ zZVo@dfdS~`-m-HL1ms|eJ^h%8LT8~hP}&Z<*`yIz%yx+q2_EQ+_iQ_m9`p|-xxH!~ zcB!HY_8~qwh~xAHd>a}!1)Eq~ap`g8h9jzh8fHg#*#UD20aY?JZcWm58t75T37`~m zh-sg$iZ`bAYL@^@ib4Y&s93>!ppz9TM6AMcO%1{_&eK&4a4*dZ?LqYICyGwm`Wk24 zCRi)7wk52#DOIsu@j`H-=(HZM<-mcle|#uLdLYbS6PvN?&}s>l7`*LE}I66O7XTH zx_SZh`Ev&87lVIVM(3(>cAMqVI4eso|`6 zPgJyyh_I7hwX70Ay_2RNv|}atcZ`?uuKvA>BkG`$*nzQ)I)6U&&rhKnSMp~h^MPT+ zKtwFxcC#2p-yMojh)WASHnO*%i@@j=1DFmeAv@X9OBC;I4`$mW^0E26TB;IY!=5u( zt5N}D3xOhh@lgeXhmsL>H?>4lO?6Gmos!)Pc;H>+CyOB?k;vm7OO$=^uHy?y0W+=Rl$ah7N9=El}g44 z?6!vZ+Uh2MEbAi?V9h}Yw~Thu)0A3R5V=) zHxgOCp^5s)#gJ9(;;O2i@Mt~c4szuclMG!&wPs$DLBRB}aW_s4TSjuxVQlNBJY;QJ zpvs@Bz*>robcgpcK1duXX6#lIN*1J2zq8uWr)vT9=JsS;-OEP0ip?7fj!hah`xnK! znBEnTVFqVYpbLf$Ns|m5EkU6($v|afyz}mR;qr#1Qgnl355yO&vGzn{6Eq1q646%y zCvU3g)rfR!su0-95(fEjvP+h{y^e}vQU+LsTu^gmIVU!!M;}Fv zkt!|E&+cxxh4EL#&g(cKWlPe?yt*lyo7&G_Y*mHH6bT1PIaor7LS3`Cfo?^s741+=Sklb{VN`1_5 z7NNLoOZp0v52LW8?IurC)wxb7$1IWwKo57VOp}q`b3#=@wuGpH6F4NR4IUa%NlR{* zr=aplA+VrjHrosar7*B8Id6AvIwPLxh z2B8ux+OAUINkAovHYfvDGw>{Ft*+1u#s~TkGG`HEkKuh3l(vCsP;v)<8#{?snJPJz zVWr9dd;f0|MSd~HMC7#k#Ct8^WGxKDsG#*%?^UEiHjPC}c=23=gK-EPiL-+hh8u1Z z!IO+3SSG^?w=fZe?BQU?n4t}7P?MI_-%!xruYm4YW{@Tr?CCY<9WebYU9Ba7mklMh zSW6|S37B0d3!U^xP71s!bmttdNKP4!Z!=pqHe)*~RJv z4L2<#q7!B{>P}NZ9n6XqU8QA~-eQpoEqIp&n_Z_PQy{Y~+7Y|} zQb4W0jryy?hbvbssqRPf);j9zNSKgfRpd$~7PxLH3;x$NIntovY!9$mEo=n8_hLb; zaAQf*Uc+?L+?J?CgW4wrWPetHXZo#98-H?cKd2`Tf?Ex%{f(88u{DvdQqzQ0$R&Fr z)7Utry5(SZi($}Fa_Fc{qSFup(3-B!odHq$xM*tgh(1QCqNIU0SIejhq&sM&;&l|j z$o^P0T9k-D@R6}?pVijyCkJbPtTjs2CR1+!?UtRrU=#kPD8Xe4-xOC0%kg`|jI_MP zg%-S!()S2C!M;9*o2thd!VGw39R&Pd;c8(DYaNZ7M2jOaDVCBI5zwn|881nh@j?XR_ln7GAy-M#7q0cHW9DJSKXe6pJ1*@nTgFl4|XQ zK)#fuwykHDzbq@LT~ini6T^@s$CtPd_PPX)lmMeih(PUbOo-~O%s38IzC_&>K0IF` zp8mg{zVjdc>U%ivK0P1*m6xCW3okzXzrOnLAqxjyUr%1Y+@b2RpP8k*a)3?hgY+R& zm$yf0B`_+by==WummLBgROzi-NL=VHYbU$3#AnAOqXQ9ex{E)Ofo!?bUI>i_Z=Dy^ z%Y-I9F{y-2gzn80pf!%Qe3mBM_a{&ZuyX}j6?yo=xZLC*0(D{qjVkp)p$`K#nW~gy zsVKnv9zG2uyls63$q*%!C{~JlKq0`vC?FSB&PoK}j_I@wT_#iMJ3~k>TbMg3Q=Y7r zU50}g);p9+4I(0t-R5&?*hE!s8G(iThE#Jc9$QAoRjAyxYUQHILRDa8+P^y7v@NWKB6TYhaU)FeSAz9Fl+J#j z>e_n;$;yZt^k5^<@gb`8jC3G}<|Y-TvStgYKoyOMWJ86{3@k+-#c*U}_*^etuN{U4 zI3(B>J>((nZE%MANrHOp#LdO8gu+id7p6H_6K!=;z&xc;a--JR?vU|PeacpjxR7O^9zZY)qbt5_B47q5f0=Gm z>-<>YnCZ$1Mosup=4c_3rvgwlf$ibfLK_)0>w$}& z>5b88C+wGl&Wr(#9%30y*yYq{15{tSV%H=Pxm3SiqC^xuI*?!#L!_bK%X~qE?sQB> z=pm1lTfjreM3Dac#3rOzA)u^sQKbYpM2R43W9c;ZW(%$5rd>7Z^`=l{3qz@f+z4SL zKHKo14V71DBjfE9r$rp7lYx{$KooQIXCbaHE5E4qR_3vu-mQAI606p^P;o|FP*F!7 z=h3xbXGLJe$~s%_5-B@B@8=Sh_s)!LTmIXnm!HGS4_7b1meJ zWDr@kM#EbG#iCm~7BAU=f-Qka-KDrQc$=jTK&KDag&w6?S83&#yiri0lEeUV%zY9` z1Gj%oi;=7QGxst#hRQ|QtU<+!E@77fTM@K3o4Ia#6MaSInlM6acf~C#wdTy|bOd`p zaY4%ld4#%Q0cU~G-uV`V|ET*`!Wt2#tra;0Yu+*5lzN?N8FdiA^2P)mH_yR=Vl0L~ z*?b3wI|av`ujYCw1Oi0J2jB06lvi?IRMMS zymI8hKZq{P4>m}%t)L@f==@^^y)=8)k z)^F>!thysH{plPfcFck>qi~PFhiQu1qH{auGfq`in{yuuL#NW&?Tn{dQ{4Os3$K@K zEXs(mh7-$8xjEl~oLS(GO;r_%0{t=``yWiBCkDye7Jbm~!KYX@W!NS_P;`Jsp|nV` zi>3bzu$C6J5$p!H#t@?$(~oZ~^0j3OMVN;;Z~a2O zcznpO-W^|ijC}3s$Mx{XKKu9|`Rqr3<@ySD`7EEkcHFI%kJt0O)H*IW>o_Y91l;Ep^})#0cbJ^U3ax9+9wWncuRNnFyewhlXhBa-L!g<>OBC6eP2+~g`s zgV|0MaN?1x+mwHz5Ipw zV%t_$kAy*KgO=f(+H0ATvCmLu#&Of)2KG66=DB2oP}4_xk1vv-n6k@4^^!R+u`FE^ z(UG8qE_&%gp2n4SHbOC@N*iz>*|{Q0-QJ9`l8%ki*cT}v+{-p*X8bSittVwO3n!u3 zUr^rI@V4wmdRTiWs{Jm2aJURxcfV#Q{8aM>PnjPc!cj3QJh#IY(ZLKLmm zr&f-j+1@CJ5ShTaxmknRn|&)pEZ}6t5XhqBRS7TX-4gQL1ZjIINQx)}rQ>@AaD*al zkf-0Gr|<<3;d`q|?o{jz+Z30Gvzr2!F=q&476?B)>(~B$2fyV%G2Ga;rw}XNdHx=G z%p_0y#Oo44w=6=DlEK*EF0bvz;#*Egz3%DQvxSy#A|pPzd&3txLfUdZ-R0(Msyo?z z)NQ{+-6Yp#{TNfBZx4;Or?QJs*p4->^?!HsFf#J4#;BwBueR+8u3hLvHLa-PA*I18 ztYQHYEl5L@fX@8daeE4V6;BKnG?H+Ul&odg3j(2AwC%<>YndGLVNo{fOv>cO0>{27 zt8awuBO;MVFfTfMU8VsyHn1T|sJmHq55T^Rs05c=%*=*u-7ejoYsS^!9VrI2cP8? zINrQGeU^BPBab{IS5{<2t>}byM|X6vsUuF~eYd4-$SDC!kuh@dqR(itxTPY9^bJ!A zg^VXXD<5(<>?jfb91WG<-|kV!a0`=YEG9bDLuCDBNFi>hd5=a1e!R7c<;t3DqqB|a zA^NTYo1ChMb%VAZ{!Cnn00Gpt`=ITB90o?fptQ0k7+^L8*k~38M*$DMGGY%1Fm>5- z?gBzp#q9#zIo>tYCniW%h{(dxX%IzAsFW1rj9`F^T}$bfcl=(bbOSN&nWC<>1!Boe zM8>&qjeN}E(hV=Kfv9n@q<)XRdHX2|6<_YO=7n@D-him6reGSv?a(MK5D=uOG$x?w z3)pQpl$Pn}?GP3(>V(ZKj}jG6wcuqdi-A0R49>(zd67e{!YQk4F0TK!K9*t0Q^P zfB}EN!vUy3Jb&k1((mP9i>VcBON5iytt1oNB#cllC%fl@?1iA-STrz~Dh`GyjgU;- zFKkU|5lVO0!p~{wB(z5u8MIwPVfZXL2OFj0`J7@ABqI`}lQ-l#+#OSvM;ac%#PjHT zjUYDpu;Yj7o_={FO%@?fqxYT{&1$ULi{2J~PPuO|ZAAkUk(rWuPD7`Wuz@pF>lVIA zUYaa0t}1DnOi3w%ps~k@(9$M4S=2Zfk>!Dd#zeSUlj1F5j&Eav3k9edD%wkPiSkR5n-? z-O@!OVo>tt<-GnC1BT&tcIzIMcW>q(sXZ=Wyz2cP}mkDU)VDjx3NJmSd;9Jrp@m6!)sw#5z< z&-bZW?UaVEIpr%RU{tZ~6@Fra@-(?@{ATn_I;OZJB7$@gP^88rf9-H779PaCtuVcZ z)^g6o%K9>m8CoDk$HX2?{JB}8usHgwLroE(>%gHn3ZbZKMj@+hhALPc&Puz+!BMWK zGr?w;O2HtK4lY;sFj+FKs%h3{*zF9T5L7g_29CJwok@V|*LZ@>Hhjq6w)<`GSvEH+ zBPrn4MVpImQr@8E2R7oYf=gCK__N}`43o_;79w@7$#}CdMJWJ6YBj#?i$X_+%~f1{ZBq`!-Ox zmM)}4VRqr&gJepZRgAs~K>|)5*GRU_k6<8d`5dF?I$+hps_dTXsI3|};`#IUy$@a@2Y*zZ(?@Zm;M^w$>59YyX+YzJ@Iw_LFgJV=$F(x!PdJ4>Y3vL5i6;;;@o)$j1Ue9a%)t~rH-+c46 zSJzkn&o5s5*FXCHFJ8YuT;6%|Y@NAKk6018YKY*8TrDn`P4hZ^NtYpp&+&tT;%&st zcFKA*6?uLUw;zO!tc0cis(J`Ni43SC<`O7L(!SJmMyUgnMh8MdzNl`n z$$2u_N-c9Q*p6jUb?SIu7&Wzbz?i~~b5O|KVuAZU>p>aX=*h!ixGkGUq=r7FqJxOYB<~L`m5`qg z)$)MX0II_y^`iW5v9*bq%pdK*Xp1|5NSJ}Rjbu1HVpgZ+jp!~wo2lA@Fca^99dBB& z=)C+ITjb&Q9jtJg?a3A(3Y}_r0QYZ|=qbWChB# z12ogEH=t`%G(q7lQDlm{&=MQ|dBcMba8%(qB#Fa*wJoQR~`i7F5>;iFTS>( z{rp#cCeC_xIgWMwZ(n@;_kHyJj~-uMj@RD0yIWOfRULgH%mI}WqiSyxgI_u`XXb?y&HS zkFS3J#~=LB>j#-Y9dA9oe{zlUf;>$#mP-SBhZ|Hhb0Nd%)D{7e6#2y1#&U0tuv_ZX z5wU~b-H}b6pLeOh?ap8Nc|W5B%p0h;$SAQ}!hFAaM>&2VZaWd`Yl!agj`4l0cj7w` zyh?F878Ez;qz`>T#>~!+WpF~nGH@-qE{8C4YKKvRClXnGe*nLv&C-}`bR~T3+}Cp& z;&KZ)1sn>oOb}dJVpg~NVGd|*NJ7l1aGiCCZL|~!?U%5Sdd=GCl8Z!9+M&!e3KKt!LO1}xrr{_eEt_eV@(YBq!=N23~aDI#u~g@H*&k$ebjIgg^%4y+`_C)N=4 zM+$&YgV27l?}}^n>5P(_pp5WQ^C|7!8H^S9C7t0L3!z3`LSDL!aL33}QwNy~ez3ax zspOHJpL(}Lwu&MlcG8btO68{_P1@~rzm&EFi;F8=gGY&2?PLMI zYe0-$3N|D#?C*qQW44ku%6%TzUv0`#+II+==j3Hnr4A93kvMuJn>PA|eOF?dU~eRo zj7oY0b`!2!4-J}!P*w{*;T5f0Kfj`iUA$O&py{HAdu z8u|Ga8savH;k>P_u|9<#uq>M^!oYzdj9-CqOP$byZMh|9%_WTVKSACCXX6RG@Nq1O|1Fn<}dv< z<%dvqv>Nuz)UX9Vg}s1!$o1Y?azkYLyE554xLQiVE^te zJDTu?VMBU?8~9%Vksm6gJPA<9V@}=yQ4y>A6Nv%%{DPi8DoqeY$!eppRG8c&UlI8w zN;$~6#TuQi-A?Y9+;3Q+rE|@G_AwzwRVJY6j?5Iw7Iuaoi#*45!=8!9w+x)2$X)w+ zJOix2WP2Cs;usOehCy3EZjmB&q6}b&xgcvZDnzehEy^bcL9C>`w3G;XoqE0GzNhHRd-){f!jjni>F;pKE}II1exnbd~}Y-d8&v`3*Pp(%^1Q!k~@ z2{Pmzz>X`;=1 z+UP7CTUM;i!-|QDjuAj<1t2rq+ovJ!g#p1gZ4|6Arv*V+#0tPBj=g5JtuMap6b`VI z%8IG99S3>-&U@rfqSf;*)pS|Ht+ANBOtE?zN7zMiWtGQi(kIxm4Br-Pc-XX>^hElH zy@;-2p?JggL@y!tR56hGEa?7=%mG#Ev-PDAhKOXbpKl-CAcjYx@3Z9?QW&W1lu&AC z6i^%_(1&^_lmzfETXqkOMuYjQ|XEP6E?H>@zU zY$Ymn0*hBcaQU^LSrs>T>XAMXr?H0zL`=9nL=Ne<;gF!v*L{?Ha>#jzaeK^|xn?w(!NP>qB1u_wRn|KmF|a zUw--7XZP#AqE4K7T%JCz$GgX)jbxn2w=e6P>;6eS{>J0WKk)GJKmXB>&xLh~ckv_; zRe4pRv62`XTCw&v3e^P$n|B`!&jHRpNj31xns88=(pt z!&`rurJo%KD%X~$P>%-35F4U6+C+)*$nypU_KLAddS4iCok+WE@W83I_Dn$}UT&}0 zYe%$^#?2}_>c1Brn>P+5s!p^~Ljcv>`~+{YE>|w0V;JO5Aq!W5#RHdB(1kEf;!Ks> zM@U)8VHGPP)0jV?KrLMC=v~8gXy6?LNtU>X95V?G`#yv;8M#z)Zu1%0El4_sLhn;? zUqXTO0e z;{SI1JJ_GV3efDvox2dtTh6K@ZfQV?K<@Wxj-?!uD`__|E|C7m3>IRDtv{g-0*P3| z=L^l~6jtbf3*0xlEJ&a#HN0vOW9eYeXr#lJV{zKWQX)#UUUpDRYHDX*1P+)!s+MR- zJ}plf`J-}9YMCtc##YI8LexXdR-Y|}=r$HE8$iOMR#O^(6NgsW!g!lP04U&+cF>8> z@%;I_3X$1$Bzy^x*eKD@GKWi|&Ky=}V8QKjs-O<(S_aXeeo(1NHk8W?@fvX))D~mn z+vL*mAgGmuwqZ6$W)ZYNJNq1>EO?Xzh(Xp!hY}s6hY~f}VpsvXWMt`DBai7u%x+#f z{9+?{{fl-U`zA2cm6nK*=%RE{Td5>%Y36;GXO$4fjHj5gu!;2@hTJaG)&64;)>E_+ z+}4)=Drcpeh7H<={5c}{EWei6Db%A-4wfQ-WUGApdv+1}!QJT2cPMH-y^8`jB}Qx- zW}hc4Aa7AmS8TlxEn;GcZ6zdod|%5OCUx!y^=dLfZ>@=lv+9@-PMCpiJb+6SBHtBS z+yde(9Fjq)iMW<;ci{MpL<&6xU3tQh^oW8ry6RdlrKuSOkWrwX7WEehg*KXkgqq)5 zuEQd{qAFLdShWym;=}95|LpONzw7Hi`KKN}c`feqSjU+^bNA%s8UOId-~XpR|Iv9@ z&*MqnU5-4ixCX8VA`4Y3B31&?$K;AoK^E59Q-GuR&+;DZ|GD4z;JqKwEsSVl!S|cMu zaEf0G7kS`b^{4oJbW&|hlAy;ruf4LhvAzkDQxFenfvQ!Nw8j=jg^WcVAdriyYgMV5BLDvou_H#>KxiMbm#N0||gkOJ&79ylqAj&z3mqcoMq;kA0*~)I$1@whef!g*us| zF4YON(X|t4j27u*#1p13df%9PCjb!T+Mntn;Mnqz1h&n@?%c&FDzYF+^uVM%q>YrM z&8T;TcjKgCTG$8M*%6vbB1^u4XPC!Q`fhTHedLrgJmw7H2{ z-v$LH%31WPrP!8XUa>ubF*@@;DvmQn{FZyK^TBg!wfS||c9Cw-Mx#Ccig%yCH+jQ> zBB5eAeQvYZ16wsCG;_x!GPL*Ja)}sMf-5`tF5H46LCjZJAG0FpNhHU!yYni>pa4TmJw?Qdex!4r@j{DJ8 z-JIIDJeH`kFXtU#32u~FOUxE{x!Z^`x^Gj_Slg^d9Vv?;g;^S!UOx zrbGooAp*I2!ya{(Wiz)ES{(2U;sF?Fv<(S=t1Oqh=h(QwB~g%q1tXACPw`=Q25cWR zxYf30(nH00`d5=7MRY4_S}?N7h`A_~dK{Q_D4AT8U+<4>7JYMfVnjF^u3NqLC|-#S z)A*>Mx*<o$1F9P)a#f<|9hV?~y7Yly|mHH7|`&CE~3E5)qU5Re~t;Qt>MBX}tX7 zum9A4?AhCYHXc^hLcA#aWE@|=yZhybm%saiAN=wBDC&6g@)T9;?x^c^9Tj=Wtkpr& zg}z&g_@q+1A^Oq^4QF(u5K&QalGW-x=!J879Dp?!=V zPK*0)t$R#c^LhQD5iYPpsco(>JE9VoRiD@6i^s>`{l-uH)31N?uU=n%vf}RUJQFxq zbS+o`QLB35^;rd0ee*HC{^W=i|ECw9{l3Q!e(A;M!1)AEUdR1;kCn)*C>%#-#o1C; zaf$4(uWsr#1_+d>E5rx!5HNT~H8u5^l3jI>EdmMDC~} z(U)<_mxWwb$jnqBRF7cBBVE}13ilRnx*TytBx~RXQDJScqhdzPxT(lD^y!UXNLfkV zqWTDIUu4qZy^eXH?4k%+0-G-}y1L7hd82%nUN;85#bPG>B}A&5jjq75np&9ZH)pJQkDjqZcR1vz9yCxr#uyt@07SIIFKyQ6 zL~Dw%P?+3X9LE?0uO{xr*=x;s*Zl@aCNL2KpkCmZ8$VTXycoskEokLP2PDQUQh-eH z$hb^9;EpVPL+d66JTP443M~z+ApY3hKTIShj%8yZR$>hZHRV+R2L46&M-bLgZP;{k zgm47KA}Gudk{9_5!GY~uwlJY80|gsEMJ-kNLXB#gRJ97~d63OmVwGbq$uH8{A>%l~ z1K7hH-865M9B9+@pRQgmC+H>ORWYtXY+^ia{$`nbot{5`7mhjsf$R>IHI`~40j7Ku zvs!+Y{w$!cxM(5aRk+H_?lK;fJtxW9?vWzuM&n>(O0%GG%L&u{)wIxt)Atz2*|?yz zu11CnlJr*goJFkAe8I~;#3G_Z;kX?X9XK4_p?F>CE{jy#Ao@d1iA$z&t{vreS(vR+ z+QK#}Zg&j-gEzz(s%in*hd#%axD&nlu}#1wUM{t^=*)lgv^NKQD#={gs0_HfJZbt4DADRRNK+X4F)o_jLMaLt zN@qu1?OKSJ+uPnH(Jr7iRZ?rAo+DpCr-LiD22XMuL=gEOopVwG)+yYPdM-7D-FmY$ znA4iLXU{x*8xiJfo2`seSNa{W^ww}F&x_EA-ws8iIX~D-a|WJ7eEivqSFhKvy!o5I zb{xNOesOoXkBXPb^IG4%d-Be?{`|WBj`x4%7vj^W*SojxpI%p<>w=C%@uffkq8K^_Ym?mVc3Ym_Z?hsVxHjvngQC)Q zc;|M})^iJ3(JfTQs6?0C6CPxqId;!=$mO_|PcG@s17x-`ZR20H(IfE&0|t$$pw^h@u-Cr zXa|&RM%~{+d|tUpx=0f&(HDQMW#uZ-}%EPTsIq0O1A1JK3>_P>zt!l zda=wNC(bACyUh_NC(K3VEvQ9TK}nxrf_P&uis;O;sl;OVfH{a)LvrL`;H=qHf&Yf4P0qpU~`!(83Z- zfVprXl}`Omu%s7bJKV6H!c?);NSuR78NBUm@`Bl+6(sM4mF-AwqwF#vfU?J3;Wh4( z>nfP!M#$30V+f6uh}V*xDuuA?)?k$FCbZlxencW81gEG>M-?MKB--tP%jRNdX0wn~ z6m`PRx%$@<J5HOVQBo63$}CYA?mNV4 z!XYRW%E#|1verO~l;gwIkW^d$R_){jk=K?F8EhV#*(=D%3M;3*W%NQl!XgGOpgMrJ z$J=E3d(#${;<9b@XG0{UCRg^Ci4a&b<=)H{I1$ICKKtymH;yOY`}*JTNu7T!>h)`^ zxLzVYt~?4qyYAjx$N%ls=fC~q?|p&uX&!G}?jKj2aXu-OO1crT6sT}@Hu=j^cR3I+ z0NEdny+)FND#4Uui<}6F+!lNZr9$>VTy2P8iX#(kE6k@$O}N1mBjI=?SQbkWx`IDR zcMcVSYt@tW_!wX0i~q>|vw!WqZ~y4k^#^x(Br%;b%Yo-@O0BFIHV}_tulR#3l3k7+A3i$f!%M>IOoqT~(?JQML{^Tt$Xl z;N`6nj3O?IlCt!k}LD`C*u3(>P%h z!*+`^N`_}?rHzlhjgovpj_rqN^^%eV++)4%&g3>N^&P*jYI(`=oq_>5$bfmYn+j3^ z^dWAW0wJM&6D5;Yt}V!8@nQ%L^8ISVG$X;*;iv+UHKo$i(S@(+4UAf;6NJ)h*8U6= z4OYA^k^P?58jB0oD6~h(^d=I%*G&Y(EYd;L)(zTioA0RN6|vr}7S(cJk+u-(xj>t2 zVg&86F-~nD6lIjU>85+j>p+=U%&2pZn-Gf5U%Ld$^3!5pOVih{xDn6^cHxMC-JYKT z+QCoAO;gewn;8~X8)C(c=*tO*SGxpqO(rIoa+sYLYiWaye!x+wwW6y5S!_B43|{|@ zO?cxVIH>@3bP)HPkR{Bmh$s=)vN zsOV}-{Yfw+a;$sQ6v=~w0b;H)-ywSt;^T0+2h}V}UzgbQhoA@*w>^MbOk;>gafk@> z7_pkzh@!}5ubXs6j_kC4)X*XCYq(SRrx;GQa0%~UAU~W*GZ9$!d`|G;a zTAx3>`mL8Y|BbJH^TjKCFCOnQjw2qjE=a5n5YhK`h%gWjmwL>6QpeZh@>Sr2d;Fn~ zfBX-B{{CZL1IIg0p2TD2!@ zD=er~Xsv*eG$KSvGR4BToZ>iHG#k6~AnCVLKhj@Zc*TltFr1%VA`La)lu?wlsNoCf z=^I~ryMx8COCg?K8`!e-p|fQy*-XWD*)l>#gh%%&Z!0qE08Svb_z}l%UnTd0JQ3ir zFtu;CL9>}%+>O2nIZ)lBsg_G9%C}sGkwhyeZbqH}X~b~b8%EUYgA~KHvBth7{7V%3 z1T-zJP%}^YXfiYcx!sJ8lChH0!D%~3n>@8PcPmdFIgYFt?+6kkOKk)yrVXVL0Y;9Y zI@E{iz2?#gwHzDZZuAXFewXP`^L@o(U}$c8qPqse3Zd|zohD(`Zmj$yu%=$#P&hLs z4-8_~VX-!=6cqS9kP0?gQIm_>mJzZ?jW64w*n#Oi(zBIRVE-rI81l+CzBEgpJaq<) z-K`e(;QR@68e$-L6$ZRPQXK@MR<3kCwBm8QleE<}k`siQA^U*6&X_aNLc_4 z#o?NuH{2U2X`ovV!}(mgw9(d)rGBeGqHov$uNV$w#(`u6TuJ+w1;*wQV1_Ay>$T%< z5$^iq?b$ogU;cV45D;SndMix}8xPzawXhN45P4JFL8{!5u+3R$tQQ~|cExyGm#mEl z6Kc(>d_=)u1ITC#TH7rX=I)4V7KL%Pjed@@h!WT>Dr_ONnUH)=KzF2oVKJ%Y?(U5B zYlV^3Awk<+vUbl`x!P#5k;alO2IU7UJtkwK?}W5rVjs{la2k1SS z`BA<4FF*OpAAaxazwqki!^$}Capal#B=TD8i@;B;_0xI$_*lR9-Wj4k3VMX4bBFZ;vPdRLEN%##j!0NzI>>llns+W{kdw$D)Gj8h{HZpo+ zPXiNu(f4Jx3Q&PPzmTXScjK1pF7|F`LF%Vr&YgrJU%^F zoRLv$wIxRu3OHg_I5s^B-Oj$oM+$9_~=x zt1J>ZjrjslM-rGSn$FjB3}b_vmRJwp znsd5bEwdJ5sx|5yAYRL*Vf;k3e63?H%l;DnTcKJF!lAMa1cZlBtU$0;6>;nlJE1pg zbRQ$HvXilsvFTY@Z$YiKC&9_(qwvP0x%L<*DB)TAauzZuy9YncZCTOZ`vgTcA> zS(GCRTX(A0$bu@0z-R^ytP($-(`Hw`#A7Pml}FkPdNQs5j=x|NL|@K0rXa#uVIw;> zupxY|?YMcUzmaHI%FMH82RRb0u!3g9P~Ddh^SKtFDjyE6C}f{$+%rJ-mKoa#ooOhj&z)5)yJQvspMA0MS4n;YgQ4#sb(i>|P(SYX0H0@=Nfbrg+u7H=TX zOPryR-ka<@yd`quaZZ~<42_Z7vm^Gr#cKUo0wLM@)eoNEio(ypu5Q38Z{m(2oR3mjT zCB}TR*h79}gY9gx1bd)b7{ZH~ZV(Dl+8zOVLxC$R8@_5tpPS?;J~N{dy38I0)DyzV z89oqL-OWgkj0s_a3hGVn@{S6)jBSoCm7Z6++O8(@?lsqkzzP)x=Y-SyOEr)1bWN&2 zzPPbWqP6c#7y&n*(r4LF&DBtuSkY%SQlMbNV5(kQVAwXM#7|(8DtjvKtKgQUpjR+i+|k)XP~ESQ;Z- zAJ=PBS`>D6U@#zl>&UnBL+TBp)KM88dtO*)o|jdXb-jLazWjr4f9LnS_0FGs@%Z|2 z1ulg%0}-(v;>CU7dVYN!KXLc$FTeWYKmY0X{@laocbCgs$J3S9GosA}F>rJSguNzs z=p^Luj+STg^udI-uaI~R^Rk0B3M!f)Z`=mN86!V~+&6syg!sS<^!EGIXh$W6BWfc% z+*-S9QOH=8XROM++^?*x56;h@uV=sVt)IJI;};$u-Z-O{O4urZ$BYZ*DI?+(@>Jw; zx#Ua4W5!oAzV+lT^88mm`}ptu^!@MMz??wlK55biZuDepS!4bg%C7}!ZL{Yk%gisfWLTYvc zo%GZ-7*b_{>UP#^#xE+QP3@+U*q1>#R6vzZ4YTl;L(wcc?GuSQwnKH}h1zU!%KLSN z{;eA|04#6T&tY;H(1_c{2an=aA=c2JK&1|6*)o!(n`qD~K?Yp+Gtq%mzv3Engo07g zO(apRF|?vXs25P6#-%1t&I&RJkwX;5$> zF5mzjM9?+=et7T>9Y*QYF<-@g9jz8^1K>hH05>r_E;Lypy%KO+Rf9Ulr+*z|xI&z& z-&NbrLJ`TbNYvOp^?TW9px?p~f^UKgyJQztlB1WvrCx1ryDHi>6b6fQoY&bw|Ts-5R#4KmxHI^81+zBA+Fz2f6z^@ zO~I)sJI%MX{RBf*n_f%1hP;~JZl}Z#jup96NZ$Qubb%kS_mi-roaiox_{3lD9P_w z2xy72sG+t>GAYo}4jDWfKk6*uL?SpoJ@e0RU z=VR8T;_(9Hio{RfUEaAn{@{yG|G-DT_6Z)JUGARYh_ml>*|aQp1KLg*>8n`@%IMPn zT4GCO2tRwFKuXJvTU0iZde)NZz9(4(H_ex_mD#NXwk3wr6N8XcgF#-F{Ynglk3tGm z#BrYIy5RoISAm5C5vUK($JfvGYhVAl$ownU^KM11xI>+2j{#>(X4g|4eQ8|OT8~vv z;G2HzW2k}_n z2=)Wyhh^RRBYn(EvokPN;jkY*4z)Kgh8}ov9L(s4k+C_Z*@kCzUXGWDPQ*4eSa!f{ z{9|~6W)1-dwIh(JT!n6lV@z8EgkgDp6ojY#p>LKAMPa~_iYWvhet>NaBlhyszS_ZQ z&8>rSYyv~uF6-w?xYG0)p&T%@(J6%{CPvyiAF{Jp)wg;SHGvCiMCd_J8I))u*n~kg zst7HO4*_Jw;h5y+!AXP~A6#?WCK}Fj$GmF z_GU|^X&VPf8+G`JkT~xD^LO8^46KYTJ}EzhG9>@Uv1B=XuwCcwb@XmGJ_Wg}9paQE zDDa}Jj!TBvS0CU!@zVJs8t8$(gp*ogkNI9sc54%k9_n*Ihg_FL3+|+{ypTx%5#hMIzXl(7u71D z72GOXxCcN54!Ckd!>#VU=JRuam?;nS^lVx6R_uhGt5$#AK0(VKAK(B`Ym$3>*9~ex z?a6LhB>=g6ztg~5GC(s-u4N*sx=W#b*2suese>TyW(4>;irQ{r#6BQe6?TPk?WxO+ zwA_3%Z!sw5;5o?vA`Z5vZG#*I-dq?R!(nqP`_8d-D;1Y%@V3C^0MpK7H2i{G#96xV zEp&iFpvA6|8|2H}X=W4G^wNCEA`8Ys9i>^QJTdCc;7Ilfc4{|q2JRCdM?T{Eqp$qj z8`t&c>f!ZTYprXnsB6XQ-pNVTCbkuebmF_ zc|n}PBFaT4dKIs##~3!5xow&@MiD%h1shKrEAt(HY5&y?9`(c5Qd?twGsH9)WaQxm z#Yq@x@~SIwO!^@0Mr~Oy0`-YJ;;3RfmnX;ZgBLH~jpJ9p`LmgqUybYM*YnBc@`%SL z*It&im&`Kh3c!4}MKQAS8uj`a-?-epcC3Hx@r%FnqhEjj)fcOtzVU2b;!^pTaUw6Z zaLH@pLI%fboQ1P+(6d>Ijh?aS`Tc!1&U)8b`2Q9>IPTk;5oN; zX`_2M4unx;#rq`jgXdCJn`nN*7QyDQ3ruMY6>?(TONVf!fqiLrf-<$gTcg$DC5oF|jW1>lYMeQV|Kz;= z&W6Sq?@H-_+71DE^7?xL(QQC)M;KBkFSmcadLc;~h6Xz{Y-#{(K$E}FH&v9obnTDx zU#VQyLB7a)FR;-0b%1Cyq+bxeTo}(<}Jqysr@b=kadS@bQZF;)x7Un4(x`+x~uJvKPJdVq6y!V@`u7BmklURjZv1(;z zp|DmQXT1QftG*ie_Ima!_3&T#===Xxej1PWZ(lA))b$9Q5!cK+opEbW%UYMfxpEb2 zGaVR%m%>*aLTWx!pIxCfr9rBS1z#RE5kbi$tZjRrt!f($ER`mm3M#U&3y6;cX>WO*8S!F@ye)NbdNWc(hWVD(}e90T^G)( zw=#b!?(XmJ{?`v5|A8O<@CWBZ9P2B0ub=CBWSq?z&xiBwvIJrAnkFX5O)*AmaYnE8i_|3fde15=a3YB-st` zvqTbMVN{#n3J*%~T4M#^kB8MQWudFuBrIhKT*g`2=S{Dn(8JI>?{KN=puZr^QnepF zI3JDaHl9RHTN%;AEo`ANG+CuAD3nPIkP|PD)tU;P_@<@(~2z+F@(u<|@xn**pzR;_xB<68CY%jMlX{>^ytJAe4S zUtV9_<^8iK_fd7Jy2c6s*IJjAna9Ev5yjGLZf+-?Tc%l;+qUL z-~H-k{n}ZdM;)2EqaA0+~i$K&Pkdg86)_!%5eu>Oe`AN+%# zy#MO*_}b&syC-)QanxB|OjJy1Ln^z6(Skko8bLRVs%=GWLX-R70fK2$HUb*$y%Tl_eHRNcSL`F(%pWIXy4ht%`n)RI zWTkfqFQGh?65C@8|3PdgaIu88Pjxa3g8a$2f`o^4vJm1`;V8>0=FllU*Bh zr+(f7{D4g#PzyAYDO7+yGN)^JWlk7^tD6OLRL?jIs1-b8 z>uM`vMe{|9U;kI|kKOs8tFsDAVTY7!K>xjDXDm_eCUqo)iXRp2T6Zj3&S%IJ_Zk%e z%HY%g7j{a$dR@n=>L8i}B(#yn!eVJs^liC~*aMvMw_$I-ZCbPWB_T8vQmI1rp0Dc2 zeN;r?RBKPBpB*4Y-yiPSy&4H6*P?1A6|=#hY|iffYHB6H2e5r>q5RnpP?s4W2iX z6Cn>pR!DL~A;khQrWTQmq9S1jaC)NHQE{PSAp$sojCf}~`K#yWzw6^){pt1kan0)) z37mz4Cls>~*Gp8~T~N;gzkELY+5F;fuGjzC*M9Rq{o1#&)+aAsyvlsMT<%&W?;?@4 zR^NKlpr?!5S1t64NAyYxbQXJyQYxYdgst8v6jm7R%gf>vN)_)?FS@h*ZWHsSZ6Pe^ zuT!r;i4G8cVVJOqmMRowRXa?9t?F1|-;{n{^QgD)?q5~@P4EAeFY5BG^LV9W$5DZ- zb-1042D_!3R{*h29BqJ)T2EuWNc`D)_)9qdn{R&Y$3Ok=`TbA7@x|r(@yi$S;))9j z7pwzOXW<0S)n&b15fo(MwC^baC7|_EigPY$WEC*k_Ra5Xc`BqLvx+}OAaF`(=~D-7 zaT~I}kEX{`KrOKvi@019_oAk4mk_IVQD3S^J#jhX$Gz#fw8^bN9|#Cl17NjvEKvpa z!fWtqS#8uFB&fF0jsk~A*7C!@EV`;R+zpt{x-P9^`KV=woO=cs!+-P_@spS}zYrNOK7g1r`msc@`kc1>VJkguwU zl*wQ6X+n|VQa!VyHj8?|;D42F{lYLFAart0Ny(kgl^mS=S`^DxDu%+a9R_V%2j zH>dk4Mj<;N7?IH&s+J!&_tz9sk^7*1l&uB=akMl{X+srIi}t#rRG~wO5hW}=s$-6( zlbM=_eB%Z2w-BsQsA&BuOGWkSpfk0kDNt<#fMkT5&pxh~OzcP%Gk`(*9B%5m?Voy`jBf*u`h=on2+|Bp6o! zRPEK-W{#l)DQtEQMtX{37Cx$zV@-NUh4j_F%`D}<_EZ`o!q?n!`%<~8aCE+Zbba(0tD%^)P0NAO|THtAA`@PG5Wixh=@ZX;rf z2%(LJ99*@D@=7+94Q_bx2%dGxqwkSG_sP{Hn>y-i($-4|g?{v#C8wX8)Ld>qEzRhN zRB&{{4{E*AwQhrPB!)VFu3>IlbMw&T$(7Xj6FB&qD9_h98&MMquNJlZKuxI za42C>49O@AE748f)(FKyQ9$PP{#dV8JiD&~zrI%maSCs^b;+v?Y zHc%Zf2n6CNWC1G+mx_w^>{pz~<5fI=65qT(UdH-+KKTAW_v*)Zg*To)d4{+Ku2FZ@ zok_9ss5m1T?NMA@p0LafMRE;pI^wk%tt}R8<5^l=I#;B#C_hIcxQVYMRUf89SJH^- zy}sZ2Ds??)?2vp^`bc<}n?0(9=!!%H!QHCI(kBOYjVun>#~h@@ z1iPY;&@ElYAVsJZIOc49bcRL+H{a4zXo03=vAh@tN~?U+{i;~Ydro*+Slygcz04v) z*AHy?FGy)=7wh1@X(gqZ+K@?A1avv0X zA!Xa3f3ENRat7cdM#o4beR$M%eBLC6}ik0r{LB#NP91h&`I4@%6&a_3OLl@7k6uSU~TETE@<=ZI?-&NLs+;2rh=TZEe$zdQW&cN#avZdl38((tHl`d^!61oG4Yw@%- zL%5J*?|}1&@SOUxQ0a3nMnA4yTS8tn75 zE>N{ZExCL&z**WjR7~}LW*v*26oD_b@fp?Tvo`K2FyL0y_7e`DJ$fJ$Sn#IB0BitW zc6f~KT_)pOQi4Dv@?e;UJivyY22*rU`|AR#PEOLC%dpIeb#6A#nP}vJDjut#GE8n) zp38#ze3tU38z&*AVM=tjs$a|Ot_;Q=&vGisd9n?$l|E^GittoXD#K0SK%6V`<*QGg zT>l?m`Obe7@BQglpWm-SA(5B9z?9Tr6|kxvbrAjKCEh#hyZ4trdwu*JAAj!`&&RvR zdgpj@y~lCJBiXDNl3=c&yKD)ew5anrI=8*j4s^gs$$tpLTFPw}m}~apj(m+d*BJFt#ET@<4wIM@AmNSrI3&&N{LlFI5%SBYvVTKUH_X7B7F-$G`D^xqgUv z`d+SDcaO*Q5Uw4_lN77zB|>Y>Xxmw69Ur?(d(t#QeN=@s;&r7kPq&mA)FR&Xb@3Bs zshG0d+64l$WrgGw!r&u$a6JGdaP+X&1X}uSORYIe0Wq0IbD*xw=sx{pRQ&|LBf9U3 zuAFE&TegLMuc=pCn=}e*l^jb$xL#QXFM8#BMa(NoRdA3?5Y8^RcZL_OO>9XTIc~xj zSaT7!e((%=#3|6%w^ddg9T`}P-IL_>y0P0Ng86>J3E2)0Mk{9AyQ!ej5UBz~P;Bj8 zWR`^{X>67W(E89iQfa%WhqATC4aY3Wu$>qg>|f045yV5K>SOYHr->#;%i7S0cZBE; zjtW+qS-52Ljl*;5&5XzuHGSxNx!M2bqCi1KK3%e6s@30421_Ijfm93#wrl`adnZ&3 zIxD;moRLz|d9TT=E6qHX)Hsz~n^4M*q^6+a;c_(n*FeyMgHq*7gcNPi5X`|8$|;qA zXv+F;&W;y#j~~h0K0?oC%*eJxZI<|+e%^MZhB#K~Z}e_M+%XhpU{fiqsCfI`caNg~ zUTZqrjW3(de3@8t&b>H%W*5m?YJ_l>bRUqhI<7uJ;eeYduYL^6R;)1sFp5W+YH~<#h^rDsdLgoEM?@|lk60&8rdZ=~9Y++- z>-`xo?k<;y{PweW^MZf*v(NsEpT7UasyDCe{_Z%gb*1wdaz9&9IlcxMg<5O4)=u4J zYHEj>wgd^p;wf@Nivn9UcEiSLh>Er6HijnP$-ZVH0PG$Z9MGwa@FI8`Jx}&UtSDs0 z%Bstyp1r#N_4@qn1Hbsq-~8kiejy*9Rz$46V*1l*<^RplR<(HqWIKFaR9*@Xtt+jx&x|DKkr(<;u7ZsrnXK2aq zKw+Yfuk@spGV5EowJJLS5Jvw0G2+yEQ}%N1C!~kn50&|0Mo@2##?_?t_;|j#-NiMM zLfw;26|-12Tn5K7QpHp}LfF<-Je8ml0t5Nb5gPj#Li`*xFPRCa=Dk%^gL7qC{K zdEyeUiJ%@eBW(zEst#6me{8U}_yd(~B(#*5YFkY?7l-WcLK=brsq`ynV% zL>WCjq&lO#c=E0^=eFU+T0QRM(A}P)VqA`z@lb)qWt%^4@P@-7(=mD3$(wqZkjCx}-m6)XZi}O@4 zwjYDuWkqm&T)^Er3+aoVZ2;PSs16T>MD(C~ZvqW$k->OgL{p=bkLJuIwEHWhl_fjV z*D8ucK%q36$}-{2C^ZBnl^MA}Mfc6Cpnf-iMMi&<<;X|SF%#Is#*pCAB$6?HEbAh} zF}e{ZTRRu3L4*2QWZKlIkcF&Pq@Zj_L$hV1_bEe$t(qz^&O_lvRMN!vBgo#2-#vHR zlTdjqTVyVD-1KtI^Ad00B@X=T$G?QU{-(Nr)zOiN2&^-6;ZU2kiFJQ}oQV7D z&sYAH&mMm}-uUF5@BF^YTc4gUKX~=(TaUPC9sb;Pj2+L zAect5_mVt|Hq(-HC<^KzDOyz`7Z5UFW6??5>DYCQN{TN96YXpL(>UmsB#<~L91&-4 z_X5uA`r`h@*Y2NuoaevqSN`(-<@nh=UZ74Hk#kjM#oAa_i$evFt5)YX64yL&7OKvN zb&ou*Rj*~dao+u<_4w~zAAifb|AnXD`Xg`u%v*ST|KW>=hx2|d07tHh=xRz~PJjg_ zO(v>J=ZOTr*=E!{zonA!Urgl2ToHg#S-}XxMYiZW9e@U13xsdN3vX*?^#8 zBSC2pyFrUxRYd4+?G1-q_Vdfd>vsszeZZ5bDr|`=`eS|Q%1l||9)dUNZg(48O$!0m zrcx?X9};+hSH5VeyFOd48DXO;3mKIi2$4-DOf0T#v+%aw=4ug&&KXBYrkCegh~!;K zE#SS12^C||CNT^$$lqhB#F@g6wW_*IzR|y8VMQQyY=MOViol@2t~TR$$ju`Iqkd*K zJheR|fLEJ7^8s0GZnhnIdX@Yh&c0`9n{$DXrN---xFCJFUcW~et^#XbWMV+J(PmVlS%tHz z*v%=PKYx#~Bx%EnJqx1HMKR<>adpZt=>F$~1f3aZ8B$RO#+?Rk%dH$rYX2E@|64a! zCzznH>j3plC_>%$`-{9|fak9$D|S0$3}dUpJZb_j(cBKG!T~7H?{(^bIiRw+uN7)9 z$@fC(pzuP?WB77Y%0MO#UcSy%2=9mOt}N2R%1G<3J|k!Wy=GKjhzdk>m2){yE*X-N zQ&8N+$!`Sp3}o7LyEyozE*ctiY)eFnB9F3%Hm!HGMBC~T$Q@QGHtt^fYYC~xBFc_% zTZ8b^$>b&O95WxiNg3*8GSK^KcdX{RBHZjqOCq0YOsYL@70|qy{hI}KjVG8{G0Ax|Fh4&{e3+ATGZ>P^RkY{ z$xN(Rg_8?Ms8wGKJl6WkUHs(b?yr6J`G5T5U;9P8c>Q`jeR3ZeuMS*zw4x%8Jb|Md zL$qUM>5T%8&guYkP{Uws8Ix`Wz2BJq)s-hudx6b?T{p8>H;j4#V#(6pN5ph|;h6&Bodcu9%EbB6e z)2(q<{+>!FLaOp%#oHO*c=Gh=dHhd4|K1;X^+P;d-nzVTclVgrdWgDUMFLn^*W-w| zMjhZfc(68Gir03eFPzGPqv$?Hqn|j`%cb_?D1S|6codqJ&)N1Id>}@JaLigxHrCCj zr{}WJCe)S7BO*k#YtjxtfmeRhIe@}UkkSLHF~r85C#ad3OkUMM1on)^n#{`X?%z z31walK(bsio}4JdR)?i*-ks#Iq!c<-(}$7!!PM z>?75aWH_Nnkyl4a1+AjQqaltmx8rR2%84%*-jv#>Z{VTLR=Z*(y>*BL7;;wou(1uaj8jYOfI5RM`|*mKjws_Ndcr< zGdWMk4;3rWywiwcCl6h=IgBdUNV@#0k&u}O_kVT6S%^PCPB&yyEzw98z_-)T>T1pG z<(~(8KryA}h9cBtrnVp5d*Nv<&eC1WQu-MpvGc7LG8x=Ifvoh|m=Z=#G@+V9qQ8lRpN+2JT7 zM=p6af-{C#%y-kEXoE!wX;F7bms*5(NSG)A-mD^u>pvf8efB-CHj*s{?xr_zz)2X5 zyuzXvGwkV+-@tz^tcrEwNA=l%?zQ*+#kYR?=dYi>%FA8UwR5gj$BJv=AV#TR169CL zbsp<_W+8v>?&+KB{(t_(2mioFzxoRKqhN8INK|DV5QYiq^!q%az{ARK zoyRwy-hFu1fAz<|{;xdz7-znD|JsukuL4J9oqYjkr?Qro83>=Pk`Xp(`|D6v0R+G& zB&?RbU9|OVi(MsRdw%SwW87%0Of*AN1N%R26H2up93y?W092FjQo(Fp+g$I^?Ij zx#h3g&9S2V;xY$ls^%MOHU)fF5A+S9Ld?1 z(6j&2irEbxHIOS(TB~Ah8K0m^BHpski>sCCKt6- zr$hCwFX1fh*TE>CM7d(qx~NJz=PiO#af`-e2e~pd^^4a@)LFPxT#tId`TQC` zeR&#DfA?qa|FfU}2vKhxuh&|4I6IMzs6N_~I?E4cJ_#^ZBCxg&COyzRBNo<2kB`6Q?)5+W z?l(WV=Jx|w=aI<5K@rY{b?VrXg%X@wLia*;vmn_kZT`i{Jjy zFaI*G_x0qBT-W63<3j+)>4?Lqhj-X z+mgZYTWywJ8Wcl5DERQ^6)c@{X2Ol=Y73<)sxhX=0S797)dU|Bh)P0wcy~eZgnd^J zp#Qptg@^&lkF()~5P73i14ATYO$~K3xTxM7rx3of%4o5U1WrxJLid000G$8WT#Uso z_70KJnh23}om-HI!w$OXMgfRE`4>L+kz!*476oqLgp18$_ftqGs&UXRDtbv#S|PQtdLO-vE(}U(&p1D`RsH$1;y~8qTw2mb_-X@kd8p>+ zP2D1>H_}w2Vhb{#J~^9(I@#Y|z>KBR?lBOFIto1QDPqV8j1~c1`72hSl^QWuIAO5N zIK2sK|GW)KncZrwtfrL0F8o;qUTf?`oj8TLq$R$h>;_KM7j{F3f(n_ZO=>?z2jxna z`c~O%UkYl|6v{X4!PNF?W^|5UsItHN@4&$u@U@iY&IF1`~WY{&sBhy|LbW)9v&n&Ze?qQ!v zMAnM-z45Bf&++pA{QTR$?ehA+bA5ab6*#WzJnFbcU9iUrh^%PGW?|JjD--8g$4^vz z>vH)^m+SBN;rIVyeYS9Ue!07z8JFYCxMb2j9nV@+t@m3ZJQZq&Kob>903pDdqKlOR zgH_&B#T2|T62mzKQ>rCzk?Y6uCkt~N+uQKl$|88!P^q zk3RUlFTRKCdgpi@aUzb4bK$!3t^yOX5sKdQ`EYo~KM{J~k~uD-xQB^{J^IFhtUj34 z6f4W>v9aW|VnX%=gEr+cl_CQA;ugu&fIPlh^LVsk#K2WN0Z8V#>fV*ceS% zkW$ZYYF>05BPvH{BQ>eHX^Qf~23!&+QY;Hp$bB67l}tVG91j40DgTmb^+aG#cBO zwPIK`)CzwBaV2iw**-YLtu$*3dCQGB)77$3?N4O9fcXfVry*}Xl#jpJA z*YEHD;`#8}b>YCZa>Wsup$l+|0r!e2t3-h}Q@n`vdgga8m#4V=A0K}FU;5yCpWUyg zb^pe?WFX_()Hnj+v{&0o8x;u1Rzz-xQfJECb4rv~kP(3@jGq;T7!{DH?IJZtr&K#* z;QX&cT6Me9E~DbAF7pH^>ISMH5K-4x8Fwod>H}Q=*7e$-`0CGm@72p60r!Qqjz$Va z9YQY8=0sYVD4fkD7ON%BI*xoq;9M;&FOGcgTtEBl?$d|!Z~x@i|MmLl*~9VLaaVCX z9_QWJ;gVA9rWMM#YUGm|>v+j-*JUI8KL$@wH&)$?QC+3e{d>nNt6TVXH74O}LyIa! zstN5824sVmK%>q0n3sx(=(~~HdQCT@EeLmmcG%XQg<;4DHY8OKL*YvAjJQQ;gtpb8 z?)z<9QsPZ?7hI3L)c~92dkZQs@{}8v1RQ2aD!}UFb~gWj3x$N~+$i*2($#3a=%cj; z#H@aypc-oZ+0fqr2Czwj4tofDd`1|y=(4Y(u>Cjw7yIfsZ?s02HLWeuQC**;dRs%E zqJ+Z9s(Cy2%Vvk1u>z5cy>paqp;U;6(g|HLx69C!Z%f<`TU*~XM3dsF@W^1rsOGt@H3B~l)-?~&e z($*5we$4y+WQ0`?>g5H3OvVnM^IILQPiLfehLg8pbZzYtUDNMbjPrH`5%D zca+_9Oo(j)sut>y^NZ+aCb}jaH;?O3EeO{Y!RnoY zE~=Cj*A$V(6Ec;a(DsxH^sI}Ee zDdB^vXcIc#+mZ+bcU~$^MJig$Na)JQimIfr3sfo)OPfd$=yw4?UyKN`|K7D=5kkXC z*UdW=LjSS@Q(Q-4XN_?5ZqTENDX9;~{D7jh15iuP>jx3MaatSsPmm62U5&!|yYguB;Ji#6REvK&M(*V4-5 z5I~wD(c>=^7S@WWZn;sFfycXe>;Ash@i+hYui@eRx%2Yk$fyil5MW=(ehgUC**kYu zA4&zHu#RVy*CYN?p1)Wx{`Mzt|LEJl_4hpe`pZ|J{pjJ7YvmJOCLO^Aszp-L$6>XJ zy&YSNC$wu9*%pp4l+KSeYBf{S??vDGA!*ATZtTP;O>{lz0@{yiz~Z&$wBR&~jh-5o zmR0LQoPuXpwJs|HIPWg+;Mt#i{PExM{ttc%_phILj5_OF31p(1xk0$I&`qRTv;6;X z$HqDlg~~)cV68K-0)Y&?eZ?n*fA{69E9zf+`=|f!Z~XLS;e*E)uQHxorHc`BpA~{mV?UFxXs-`J3lza{mCB2>9SI(cKF#>yknAl|g5Mi+}ob0D_oQ=v)LM z7HJr|>rJCuBa^CFSP=z7LI0RJ_^ud}JIc?uJ&&F!#%$yk5R5^i_TyWt8myaJHcoP( zb@zHeeMq9BaEMul^`Qd_t%AjdGnHAHME7Vs7BL~Uu0TO!Xfn*`W60-f_OEC&jV6f} zy|T`b6xXr$Bl^l{NW{H0wo|R&Tse~oU84hrD(Ecw%~cVxmf>F{cbX8l1Xl0C;?@@V zA{2UP>B~*MN!^d5E|0DTiF)!@<*fLFm6j|XBVqm?$W45K=iV>lBOH- z<64+nVB?rlTSbCG^DXT!^%k;)6f`CSgV$`pPglq$v=?o@6{PJ?jQF}9m%bW|)q5hB*NFEU3;33zFqgz#H^9M+~ zO0yZ?vHd0^p*F9wR$MAhqABl5ShZH-H}c^pXa#QN>>si z)RA28MONG)UmZ9y;>-{6^7p*Dw;$qC z+mM<;qnKbw*F{tntrcY=EKQ2Y(Wc*k!&VTR!Rw*5L0}OvTnQ3_^)Od4>FGHvw!_^7 zx2j9GQi~8IX>R!eWhmPEa`9MbRs=r?baTI@4avT0;Vy$q1?=FJK zVnGnBZ=qo4_sG=vLX>03}|ITS^EV0ey%;$v;iA^!9i4{tqv z_WyqUJAd>ie#@J2|KY2bkB^z_h{~1R*^a2Gf_$ z_Yb(9$1hwT-hX)b!*6}_Pe1?eJGgxK^0OC(qpd|>JmUWc#VE?kQQ;UJJm+z4OBpGF zw(3?GAyh~SoqthSqSdm$KWrLGzV$qH3bX<#+DV%f)wcm8K_xrZ9FXs@DndX9SqFwA zgGkv>93o-W+z*mvSuz=1F=zIux5*p!Ez?KNhpgxek*0>B;}<~!9nHeCs_4y9XsW-y zy+T4s%f}Z)wnj``RznN+f2V^cM%sx`Ft4E(G>CT8ez==ATT#8xti=_H{ArTa`&`6% z4JIP8BU6&`)~t*GcPgrFWp(m7`g~x|mnl%a7uw+_Fo24Dc!di0BIGbe*cori1*HfI z)tCAB*FkceoU3B9{U*`Ks@{g|^`zvG*P8cnyj3W&!s56CJSViY5;BaoQ~Yi(lWgpe z2HH%0HbhH?iLsO4#Mmqy%PS~f(#K@Dp`v&F`0Tw*RIR8kfJs{zhYXH@i^4OJ)u1#DLadpXz6PBo^u{cD8S= zP{EFOY+@J*EXBYfat6gQw7~SJVviz{_jHd9y+W-JLgF2B?E^L$rHhU9GT3hPZo1vX ztPi000%n86J>;W$$9zC@7iDZAib5&=vy__>Vk;`(?^cZxRmUI_n@1e<@R#I@iA9Ir zqTSfeIHcT%8WGfr8kTMqORc7w4;tBY|MMm<|me;sN4QMEa=Kq_h1oAYLJ#9GCChzjl9p`Hy}4 z{y+5U10>#B&z?novEsbM(^qF6m5Jj3@;H%~h_kRZNgROe7o{3f_m5bf8Plkj;G?Kh z+$=qZRt4cYLdX=-UjJju^~jXz6}1?;508v~Y?mWYA`+`x5=FfNKD)mBLvMWJzxMVw zfBuV4^Ee{TTsU&!ysDGS$Z~tp?i$#{!2z6hH!%)otP^?kEw+^vC*p$q?s|Ge{Ue{h z|BrqCeq1l_J$X{sx~_@?aZRkiafe8p^psac#VI!IToNyDU8?0NROE^%=M8YHa*FBg zsb&Z|d-2ts*RkhFon2Ikb?>n-jS!%%x7yQt^gd&7+WSMjqorJMVlas+bmf|4bi1jkSa|=?k_~P>651YX? zD#|OMG==*93>jlyO+;+gneW=zjb6ZB_9gWw9+_AoCsc<4>Hb&Bbd7nkph%udCNrSu zX5TX>!&c%#xJkt7_(;11?t(4ztA&%W63gfQb?z-6xb&nd1Y6_KgLlkTrp!*Skt;f+ zN4~FKtuc3H+(t7j%!N|C2neWMDimC@$EtFO2%bc|(Si-d^j!*wBl=)|MyRr(8p*+p z0@|LAqS_9n6sq}m7^Fg)UVTeUOpTE}||a-u9ewn0EB36`KkR-3)?b zt7fxpLg+yFqT6W7Te>VIwmjHI&#de>%gvW|sYTd1U5+40el;v&4CR9`y2;K`ASW6; zz?y}gxFC*XNPXftD%$&AR5fJSmQic8Z9e@`^+!@^)~@P84@pF`%q-Pmi1bEmFXRqz z@=Hm-luZiRJ3BC3E`+xZ=8Dq^sy%B{;{Zs~Q$LG7`r_!CAGP7oind{xYLU|Jx;ksW zP_DO!6v{1YgtGw&?U-6SJd}>8h{Z!9(wx|_ma{2s{U&eLvke8ceofb?y_Q=#W7?sR z4TE#{w7|l)9j0zXR}%pSAhi}C5UlBEU8>tr5gBRH#5H5An!%JYAEc$1@eCFyCDayw z>ogb=5Se=N-F}88ET(n+wtCuX>kii@RU*W1WZ{CmUKXzFqxke+c;nl@^XWT({_({% z>b|qoyudcIB38y30-f65Sy2b#)RmJ_`G~kyzH>RgTgOM2yWjQkulyfge1Oa4tM#-h zP9#>Gz=hP09+vqr;CUR)mPxS+GKeUPy`BA5_R zMjS&?oP575#dD7Cr>=9KJ<6Ab=j-^+{oP-JAq~ofNV_ zof*dxM*8Y5StHnx$YjdQ#w|;?0IIkqZ4$QB)&#pCQI#vnW^9UFc-uyKhflkVfX{?2 zr^T|jsXOGUQgKsMsMJpyMMF2k+O(*pt|AUrJFNnuGDRI|-r)1$6qe3zc}2no*#4#$ zR~Ac-({^thyxVd+phmK{0ip^okX9RV{VAymT< zy#BX72v;_UI!vHw=%fC+#b}1V!9lEf1wX-OLXOM^Oj|{S_1O#P{kPL(kCz5>kKC{% zs6Qy{Y3s-JoZ9Ox0J>8OPgVxd_=3JY1OS}^ktPh@x4iA80U9iM z5#p?iBT8j0u#9)Cf9oh7n$(T--+DY_^#Ek8)zaQyzPXlyI>(4bL;;83q63L;UYH7u z)CMisaK2`h;Jw?Jp!GM@fX^ZvgnNVKxHG34HxbjhipeA0wV7eBaXYd0@7km?a5AB$ zuEZ``v@z0@zI`rc4Z{DCJji0x_Q`rn;u`a7^hV1hH;5PU!Obt|8XC55cu9;9QVrTD zvjP*0XJD%f2s+zw+f%4D&gorM4tCRvK{I)SzjtqvDhE`sz6U^xNP0 z8}6R{QoX#!I#6*s7BPmX?2FgvE+k(in6{Ixrtq9$pu08Y!-`ARx7U-qrMEnP7V4BHlmG1rLC86qz?BrS$HbvDxU1861$2tm+^5Y2flCDr zJH}KLbC|M`|wFrIdSFqRXuG=gP^f!_09eLX;wWgf~m*%gV2Aq3L;X5hU4O zO?&jkXp1macA9Id@0*QrdgbJRsoagd4wY+aD7IOYYwGEiP7kdwMU6LkR0tYS|? z0N_jCG@jaIZxj-8KfQkwJG4t76Ny=aEi$$yKC1&gqboYMBHl}DzY`xom{hu~RoA!0 zsgw&|iFOG>5JP*b~;f@u$c;?dXJ3-4Ig5qgVf%8Ztp=CMr+LPudT&mOBys8olizWP% zu_@6_F8!p-HHeVy9#9Fk{0K*1LRzbJ$hk;o+%9w8AW8&^jhy9+@S`F64ZuBe;h>K| zSI(|tv!N&mAc{P`mS9W?e#_-tzZ5UyiVJTQ@ja`oO$qHFd5a;T zNit7Ia!w2Co@$;3bky<$UYz*Jg`c>8{VzR!^0)oq`yX6BdnewwyBuBnbB!)7j}=GO z02 z!6h=eYd|!vHg+p+xU{L> zp{3NVYRpK5k=)<@p|GzHGOKrjdF@hfT3&J8{|AOu+I5oKfm?{M1P3DM0JLH;b);~Q zcb>ysos3BPV~{clLXNFMWlKGcKs2R5>PqYtBg(@CM3-gU6zZhD+nW##>1S7VRJi3)IL@?&CYi2VcW2e-H>M^FfZ9nWL!3_jl$28*%dsUQp{XDd{ z1xzdG4sr=`s_GE072kwb%Yh}Dq}VXsI$tdGz1a^F`<;@M>|Ds5_k3k^)cBZj1vnGu zr%F}YKv9IT-GoWV>{p406XqBnF(VF2*@Alw%3Gp=-xZ>yuo8%ou`s>nj?KY%i@Czs zQs8mK=UwUZDlvs4y8PWxIFRV-1S-$6nrwa-NEc<_iJEhR zHLFrfT`H_wFg2n?Dp~;{9mLngWNorNM{#UX`(i6M^chQTjPKd$-c5m{tO&BgG3LM# z=C&8@N@uKEd4C>1%Fn)n*M9J|pLzeR??t_N=Hs!zi|p3|vO`f_=Ufpg$E@)Opi6|C zxgE9eB=PC>@vU|I+})Fx3;*DY_y5U{et@jEFZajYlXceh$f|XesJ;$Elp0IbtOtMJ z=IbU}xCOG(|Ek*Ol z@%iGdI==snzv0u2UysN8YeH906m&J7Lp|7T2&GwN(r|8W?KkSw3Jtal;;M+q7l`}w z`qRg2Z#>Q4_2IAovtN94U-8!E>Gcvg3u{H5+51GAprvo~BQ7wyTS{+8B9KXxqc)1Dj$JaG#Kx24 z-VwOiN9$%vVv{-&CTlwpEHB_@6ht?KX;3wxP{H(t1HO$Z6QkyjETV!xq5G8pp%VsJ zTV@Iov2TbC9vqmH6R4Fk*9rN-YCgcPk9#n7OEyA0ry`>cTJMcdPGAR{WYAI$Xm&`0 zLnzx#y>Rv6(>8r&IPUvLObIxk#<)^E&|VipVk~pjd%I`Jce&9{PUzR0YFEJ7fR_7^ z-fK@ygZx-Ag3Za+#}snna@WWWrN}G;w%RQgYN;R>H~Q#F-^UP=M-5~|2jROEAxBvj zd^^G;fg~U5#Ja8i~5u$LRvvdjG zAL5C0R|JAalxz0<`BxOoi%}A7slL)9NQqPIZ`?4VqQ5u{LIp$;Cwh+Ztw-4%jiea! zSf<7)2;!3MlCvr+4otM5pAYZ*4Q5Mab!e6#5-KGSUWIB8G>%UUZ3ECJRxQ%P;l1JMy^$<9cz^>ZOJmNXu=82iFT_3^d6V1rI4t1E+u zB*2gdM0dh-EjxM?8o!9MPx|0?z`txUEtOIt*@yA^`SjgwhZQ3IOJP}Um8+Ck&%q?d z4I*coWJ6ld(|NbjsAp~*X~kj{6{)*GRn5FhAt`Ot)bR7XzRr*Jo7!!W<+3B8W_TSu z@UeW+J&`$u2j$t8#BAh*B*OzXSzu71s-vxmf-Z`bNmUmk)0(a&sdB7MirgRTVyd+8 zZnKRs^u>d2;Y8jhBq8;8dP%Vdu);-_B?34zBWgt@j)em5uk}7&{%;5gcaJAO{}Vs={^Rur_4u?x(vhJH z1KT+(mXG^s2#dR5s7elEI7&WYvWhqto;+6F;o;0TGJo#!+P{%6|C1kn|I>$;Z@&K8 zT|L&iugq0hxC@+a^x5muD-k+lF6J}vwuzYGOyP9-L;Vp33Jfq4R@Aav?TDq=!DJ}I zL|G+uZJcc$30tCyg)Kq>p!05}_j19-46=ONYwM%}P|hNDo=0i_b}OLh&FU`iqZeGI zj(;&^tGd=2tOLyiz=i4>sP(02^A@y-Ky`;1$vQ^nfVnvU%wy0`q9d|#d$FdCcXR5Z zmE$NW`HN&1jZ}%q5mISe;TW8mSqWHYn|u4_ZwpTA|kW0a;VD6 z%*rYn8n7GL62gE$KwGj6p1=qj8`(10W@ww{2OuG1Sy)2g7BZHNEg9q%7>s2zxCL!v z*??$S?RHmnRaaNnJY-c?W>!W-Mn=Rp-1|Of`Nv*spK}984)J~WzQcLW*?aA^*V$*E zVdPJM=(xV;OcpQ-IMP?mStOdTb>#AQW#eE&+MWpIB2qAi zfC8cE4Wo1?EC6%=yk?OF$89VXUy5nT(^C@|p>*R(p-2+pBOUd8jK$Y8OyBJ(NC_=* zfb2Nix}sco>151@bKq8j>}H!y)aWKK28qiY7gCctd3Vfr#*;tEkN<&>fA5>)>C+dy zzg!MY%rTC7rzD6YfxJFF8W-gzc|#yh4hVA$@zANui2t9P^P>5GdHZXB?!9mR z1aCjS|M;W(7oZQB6xLL4z;fgVBB_e0VS-a5z7=7sPAb&2r$iiaRVPJ>ta9{yP*1?7 zJaA)MtvPG}QYDOS7!%Ywr$rUZ%>_E=tcY{)9Pivb{&hV6!{7VOFWwxlPku@qbE+Vu zR%PZWwd0?mwfV8h8u~(=KpF=okpgytW8l%${egMn=5q7=^7QBC{aTG??*x_xs zNld?;ky=nYV1}N8<6!^dMp-BcoTR|C5oO46Zp47SE|@lxbj5ARqRu5>$q`634i9<~z$!7N;0Q>>FN4)vVD$wZG0vPcfWTR_rJp zW?#_Zn<4x~$Q6+FQqAcfCz5Ket}Wqy@Kcv(i2w${lZrM0m!FKpoeaQFQWU}xwssn9 zN|Jq7tF?8Wr(Dr-tIOUUON*B|5=ngppytX9i#v8EYMH_&vYZ#J6H3HvQMMk6h@Y4^ z)J#}{ML&K}qERXro+dihA~1cxH?J=hDt9PMokAR<7lgkoYgp1a!VV4zx z)-pv?1oGojj%Ehe|`3riJthm0aIdg7fjXX3PFjq}RV`W?ZNSL$cBnS9W z2E$a76`7hsv7D*p&YcQTHaQF@(dIje!9J;5R?7emG?305NWL4d)$&R&P^B_%Ozof! z0mYz91{tJ@kOuf_+O6Mq>g!mAH^~eDWD|gG_V6+b9Ga$*od+=XEqk|Jx-3J!p~Vfk z07O5?N)OQYofdaAj9}%a&M-RLA#hY*Mu9w!!HLU-cr+jX^B?}+|N7PU{?eN#_h+3F zl_o3i8UW`^^sV{BaI}k%Giy1;siAR9oT4t8V~laU_G13-sXzPtlOMlae*H(j@$bF+ z)z>CJeEI4J*XuYq$ZKMXgoD|XZRY~$GD9siQ`iauY^Kjkd~q~E_t>-pAUBR=W~|)Q z`f8MNk(t(-_4ediFzYZBfl+-6NC3waFVK0t-rzFvmR|dRoIm{gKKRZz-+29r@G0vu zjiI5z(R+V=damW0Bzo#ZzKv6}YWYgr4Ok zv#(rv{ov(G0hh@uPxV(8Fy)rrGERA+4Xt@{hnCoW-3z+m#4MGh#++XOIqHE#zntMb zN$&tyhM2%8{+0xo0A^iy8iYrP>h2Q0_GNG=0ABpZ@=O#=RBq^A8Kt?w+^C$gtw*7V zE}BtN6njQ!PpMet5n7dk>cW969D3^!=o@q^U^JO2on>YMRnv+#^vr5R;QC(#*XGS( zdrq_AgoVD*w7_EVu%<~B&CBdo=~WytoXc^$A+t-HgVBJd??Eo6-1BK02f%4d@vP_1 z>vICbF8F9n2nB89^?}bq028vvdw#upvidGtXLOo%X{nU?*jzmTP=G;nTO_*3z*(P6 zmC0C4*cvjwE5)EgKe^Qd*5`+O#Nn9Bu|%eAQ0&c-v#cUDk{-VL?(x`y`BGV;%YYaC z%3-xUc5KMsQjRvDvpp)dn)`_N%)b_2vvxTXz0_l=+=)q~(f^E)LSjncV#QDD8?4XN zG{M-^%9~H_7O@^h1!}LpKHtXZjnk+L3FPS)X@~Q+=%jA~_7bm+y|(DWr*x03(Ps{s zIX-7>tDe4gS1Kj(7K;+3@}UJGIW?E%2G?!#-5WPPX5j9$q zkWCBpBr~a05UNI+&C5zZX3`_s0g;}0Ugp6xQM4WRc-j^^;4tG1ZEQuNvq&{Z-Rf`= z6UoeVK3872wxT@?P1u}f3tOG8I}sr7%5hmuj6tib`G6W3d%gkssBRWeO`J2BDs%M> z0e)|IYMX=-@kvCnq<${W@|{L9?}*`v0N`A&$rx=Jw#sh6(pCw$j$ zuhu2><~Qr&Chxpdgvvg2ty+nGuq-&(n?rq@R+DVW`Dqm(`FKTA?3%o+IQNJxs7^*y zMPb^j#5jcB0*r0P52NFuvp44dH!E$w%<`#$a=n09)5U`KV%4KyIn+nURmF<`8JL_# zkL<6l`hM;afG`{&aC^PR8%^~d91c=h7)=teltbNaZ{ zEXAoR5Jv9XuGKS*GJYTlD~Q$7ToCVxIdLO>uFXvu9yW)*}Vu+H4G|w>(jjvxW()B;}{_p<6{l`y_+t+z>&v_CUJaj^1 z04G4Cd2`RM^K`_?Ew3aHqwKA{A>|=4IB;T)wM^)hqDh7^VvwgMgY}K&`CbE52aKih zx<(;uKWzU)N!S6joJbbQMSl79x zk!zksUgGu{MXqM|n#j1hAGgYKc&}&)u6_b6;0h?ET2*WCJtv+qq5arHLOVoXO3;I? z1ySa5l1Gdf;RSPRme#hg4Rl59)vl|@*4W$;AH6fv+IA7S(YlZ=)Nv>gB_%Lw)avM{ zJ~6besOdo4Q^TsQmU{Gg|7Hu(8kOITYUMNAx;pN5(KReGbf=H73vfH};BTCCUChpW#KF`Jz=o<2j!k#oEr zhEX-t1XY#cppNbyg@ku>bX-w*c7&&;g<8xhU|`fW7{f&u6e!NICW;^-K70G!1@<90 zaUwhJWDmR8V3eKSZ|)4w>*V4p6PTd4e`3;u+9G8Og|VSk99Y4u@f1s-2sxyX^Vn^o zi!7PfNLA5H7r$iT47O|6yq5*&vO338_j1s5a@NSv){nBSb>&(UXf)LfaD^lhW2T#* z$%|7Rv$ltnzAG2iglz*YPgt|0;EAZaagGX3ROP_9W&JW6B{H)HVA zdQp^4-+%_|$U!?^9iM>)?R~|Gg z!^5;-hT^X%Vzjj+7IchFpmJjD&skm%XIAKR0L5jrY%<{?(nExsAaVXEpUGNdtj7vp zF|_4lozzrF8Fi+umurRT^|OAMK%0Ml54=9{39p}=cfbA4H{QB^n@rQ5T{>AI_E9Ya}-d}Jz&si;lGm@~gnlS%WQnj7$ z$dG4L4#uG_ewHA(2M7tAuJ@dCB)T+SiQCj>k>?(HZ`w~Y%z&dlw|f(M68M-`*-1))={}4J&*(=Givl{ z1P3;7F}&9`;oGWoZ1GRAGYQ)goRAxYmJVfi-f%n8g^)eXV!_M~$w(bMnq9$<0%BCB z8P!D@LqJ`cyq&x03C0?-&rfahw%pkdkoXu^jKvu3#XUa+d{|*AoJ*Tfcyq_JeYpc4 zwGPg5idak@Lo+Ldn4$gO+zhTPO+Z@P$6RZc1z(m$$Di=s@{3`_3jv%$8VCk=I~7>) zzE8CFpO4r=lLCJ|i7>fJY^r#v(~3rWG?s2MjOVkRCE@m=ScVmq+kCdr)Ks+})mcf~ ztk-C{X|j85)0(x2VDn%$@`EZi%^iUTtp_hQzX0dpvuE$3Kf*o@s_z42)~*MFbREfE zaEk#~4FPl3%iHIK|m*Yd)}AtjK>@GlA`*#(ihpD#RP*M zA6cEOXOl_9bDKu?6D~8_d?17g(fqr?M?%iZ*E)d>gBspn>L72 zBbgQ4WfuuS)49p;c_tU-v4tZjCftzinQ^XNle@8%pp2b{OX*o)9r18Q9zt|GxiHHj zz%5=pK!eOKT^xaBdhTLk7Tn1Udrd0cmQ;5;nUA7l-{|d*1e9mMKDpjJdH;*wxZL4edNKKEoU`-2r0XRx2OaEMnUENHh+cuA zuL_a`9G7#xywNM+YxDBC+v7K&|JL_@>p!@Dih1+aBOc=bjuVr!qR0fsiFrxT?C4Af z>>;kJWAd%Se(%R-t{tp<^*Ma5PS~Dg!iq$qPr_$ST%e^nmuF#NYKW$)o7C+wKE8YP zYT{?#`RX@s9{u_A)l&>zj_bT$wmGcHJ!7>kn|SfOcRzDfxWC_|7MRoBgFMW7<^!0* z9mkvE*DuGPnlJvA_rLYYd41#2(~EQpD2-vvi&Acq2$26@L<89b_Jevw%o|EdNLI21 z=QY-T(C*e?fZ>MrZOa~l>v}5Ku0~HsalH~g601Yg<~ za>O`cK8(flWFXEej5?F#4UaubXz1+LR0|4w29c>4g&zW44PoY^ zEr#u0=?U?s`CC#$;DIWeszjiIV*^W0fIG_j~neGOo=Gw|1YbIJ9Xgjf4cZSv; z6_P}7_MO1?DQI~y`Rv&{0fjP{M3;xqG#{{1m!EK;xGa$tdVcJsqD1I(DVMbTzBvi| zy)|w(Q0=u3M(4wWmdmgb^%pHbQc$gxkaJeUialftG)r6#*QYs(O4!1b(rCgR|V{DqX6sBR-vUFuC-`CboZN64pv05oWz95r`@Ab@)@PZMiR( zX9ekFR77?F8{9|76Kfuq`N2y)J+8m{&Npw4@vGNYZ)w~eIC3kM6CT4Prf)A|vdIk+ z(VM#n)&|gvmOzwpg~2#+9;8lcOkw`?xZ#1HdjB_nLoePwpIi=JMQWZ04#k-t>=r2} zwAS_UMnz`c|bAe<}wjN(IM;sUuq$_J=HmZMhS<=2s>$}ui$H< z$V8A0Ke6u|nzXt6F)9gLLs}-I2BV%FZq6%!b)%&DckVtzB3$hkW*S+=EPX^`X&;tq zoeHdAwP*rcND4Z-v~Cv(EuB6 zqZnxd%K8%Y#WD+M{HDnIodyK9!aJf9VGCov-X~MkS9b3$t|BrtFJ7ZsIg&pl6ANbybpLnZT+g>M6*&bCmrc959{s)Ez}qbfEANpNbq zGnH(d!w+P6p_mZ7r!yZ+JT2>$fdy3R-LvjAvhY~|lsg_`r8RNN=Puw}xf*~9RIE}1 zH9u*x7=Fc2^#oLue^0oAM*cd8rF`w*!AhEl4&K!OaG`q?zdTL-&?--QS#IGvlq3;* z)>DqrDJ}aVUqGb_3Aq+|(K6IJHG_w&CE5YG$d0|$mJ`cml3;6rsTYFK`gvoKUzl86 z^$7VaZJ#kbGc9h8{w2p+AGc+I6^d#RFlvaok)ra;&8icC|EAnV%I#5Y8KHZ zO;!80AEx`m&VIrW}(L&&wcntK)|J?SY@w-5)q^f9?xk z``4fT_>W#L@87@r-n@T0Ip)+jOBgw)P#Wh*^Pi3JPywJdJy5I&l8;hN==SqJ;Pa2} z&VwMtlYKQUyC%?IHsLSxSV+1mL-yfJx2?kxm<@upr{h~Zy=ucC0bu4pVYz&3Q)&MO zd&}7U3PFzw&&y104FZ7CoxwqH6s}e+MJUEh0r&FvouL^ z|J|I~)4EK!(qD%)N8vtSsXi8ANi__r0IeWsc!UGtER7?^U@j;P9a$`-C=Q088C15e z5&1)k?Z^-Z+lG2uB(uLscD+^TdR#k{jMemG$x%O;QiFDsM*)Q~JI1LMqozZKEp%F~ zr-NN03~Z@#%I(=eiNiJ3Xk+UjCixacJXB$=4%O-|KEjM-I&%VlSTJbrR11V7f z?BWW_!_70|FcscRTFZD~+Jm}6fjHvo{iq4S956*`NmL%NS(qoS5MdHCb3AmaSHC(Y zNin=Kq=fw~v~JeDR%6E0?b{t11^BWce?Z(4VjTnA__p~|*+`Xl+omP;mDjFIHwq3; zlb{GWPAMQ?dMSY#)4dk*Jw?}-RO6>LRrPdLf!16MIoMmaT`I)fR2w9vtOTR?uj)G+ z0X3VoyOmq*H`$#QwA9;zVWOQz%NUGv1`C39T`<@sQN4M=(K~~Ff@T>BU&<$$;M7u= zS#3?wW&ae#Rb6WTsBCe&t1b39Y8`tMv+=d;-iYh}8dgJv?Xk((n<52_G8ft9-FQGh zDLUU>bE`qwaRo44=GHo98rN7ReBh6sR{+)4w&5h;4NoK6ZZchR=LEQ30N(g%P04o9 zk75Jea>{DL)bqfe*j|qje=NK1ZH)5n5toh>0ILsiiT?12Dr@;05UegaB>AzAU{Mj; zd^dVDHt_ap7X5j{40laT=`2pf9vIozxDF;S3mdD|MDAOdiRR&%#U7N?;Zmu zCOJ4Rgeb$UjeA)>BJV+(ZhhUo!zQoXcX7x4^;G^*`1XD2N>?C1TE{x zo*^M>QbQBO@$$SQKCj!~m@og@4}SB@eEjBdb9WE$5GJeYztGmJ?8nj=C}5+*dq6wW~ck1>8*^Vi0!fA*~}{o8MR{hs$9zWVglAdch2#R|z% zaKb_37>=+VjrSmu?ZA4X4oIjRDL}7EUK6n#@9l*Rf=Ic0mX;|2Sx~odq5GbY5XoW3 zhuXVqVrcV>A~fC0$Xbn`r~-Np3i?NL83UIFQ^zwL9D}=CP*YiBy(0|{n3Q;EB(LC9 zoy1O{@gQnk5l*yV0W0TQ1|d}X(BU5;1W}+E&9V;aln*GgdimJQlB7g3Nuv?FV-h$~ewg9Ks+0@rnV9}+9!|AeN!UwukRkcZ& z9NG$z{XI>^BExcpl+LUW2r;1?%uJ_zD|uR{0fm5*LRxkCWsRLl+P0WW0~AZ17|8S%HEHk3 zp>!_35GSe>5us0-&9f>_(sMP!5hh2DETN;iLMh3yy04Zabs($na!i-Pn7n^hG$67G zCev9W^WbVZq|RAuEnF0~Aqoaa47oE|=#Nw>S`i79$mX~C#J$@|)KkZ{4aK!#;+&jH zpEUSlIyaWi8eeehgOF;2Q?wxf&66+f8ap1yd9nZiQt@! zDq^>cQy4iDtWvkGFt*MOIy|!9Z>qpG&XDy*AVy|hXi*CQIJ=wL9TlR`nxICILtLhW{)^)vTa_$$Z}N z8KxxL)wdmzktG@Qr6U27rN#JUN+!9yDdTUv)w;E#}8hric z_K$z?!T;>}cYk`^T*md~Axd-T9P{chBqfZjO1qohNdaQu)TzYQc;KJ8=Dh zCNpu-y4^2Upzr|`EN@efA~p6QM@nU zVpO4>$e-sgtG_!dLEQsFl^)Xd5Ey;SLzF2uGl$bumk|4NrcuR@=_gBZu;IH>#cHitmGEa48b z`TAVW*?5qIs|x&RN@RGdX&#<7jD|8eO2+m}k^z<%357 zM(6QwDY z=E=HirdOu36tf2Q?Zp1fSLL785;h^66LFq*fpxr98 z?RE3bu<&v}SDOaOdQqk;5o@p`h+9HLqIOZMX&tpMpp}=o0%G-(X#q^F?90P5_Spxf zI6~JXDc7^*Ur7_NxESM{3LZrQC>ySpwb^>ino#7kXYbe{W?Dk1d7r6<+0kYUDWd~i zN@ueqsBQJ9#F3%eprpCm$ z9=i_}$VO2q#9T($iiGohW}@?2kaE3EyTkoac zta2AG9KTAzY}{neycg75%>Waw6wRqB2YtrXn}Q1>@|d+sOl=d~#vYRzb+b}`eb1To z4Y9z|VWQ(Kg`B$1LgbotXJPd8x}$f=D%*qi+%0fbDscdbY3$VTUEwlH63#BYcHCY; zCB3!%Rxi5&hCbx{8IWdYMNIyd;oo%Xb9}NYxt?**Ov?j2&3tC6et;a7M?-%niX>v zUl%HJT+ey%6rKPd-=8mT&wufF@4xxZkNlbY7fu*Q1W8sDI@FN@iPp>9Sw*k5NTg)^6$+tJHlSX7-W zSV#1=+J+d51&mJVVqgSk6g9$ql9y%`#iQnQ27(+*{Nx(dmkm}ZBQGN*zIL6-IdVmU z`D@H4@vFIrA3Zdr?aF^2gHzRYGU(5aow;Y%gaUbJLs%vxU!L_s$QV|1iCa`8$O

E9Ax&gHwUq=Xm#xL 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

t5nX-e5 z1 zm`xEYse_WVFBHA%vN{^@73D#kkL(ecr4DkZ0=AV8q}nz~rr?`$Z@j2{a;lJGXp5rK zL9jk%HcyVxrV}4o@U*%Osy+qs0^THY=5Np zh3rlMctD50zTX4V^eUVfQcRXi$9Suw4iI*$Qm%{kZc?GWc3Rv!HKp05%0DoDtqGP` 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�eP%P24{)_ye`%))e5-@9Uk>MiSiV{Mm#rEm0 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

#%K-x$rLS3Py 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Μi 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 z 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 !8wB@&xuh2|3n2BpPy~ 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 +HgH;sKdJkMvGM1%34~~aa4Wjat@y} zXvfo0hqlM=Lj~1_X}j;f?jAu&VznYICt>G>Rqmy(iXamK{*~k1uiT#dw_o_&dGrmE zti+g!nK{c1(86z(hP_w~J#MoG%j2^U?Y!o4muZXQu9&WIfNSZ+><9~4^vKh_WRb88PZLB$Eoig+ZdqOTeeW$-0J z;yG&bbUmVNCQ-g|V||g)8s>=b|9}*mi&3j`0B4CX8+AIME$%2r>NtF+(-eAqA65VA zyH9%Yyedi@#q~e{9`LW021p@SFit6L7kne-K7L6#9LQo~YJfqLh^3Bu=n8`B_VbE& z_!M()dSBo=-3*g2=%8=yRatoHOyKn{fO}m6WOzWqAJxk8iB%J zIiE&!cR)a$Z%tZD8R~_!(g+~>ZnqZJ0;Bj2Pq!G~ceuXKQxC{mu&kI`pI~&36^aqI z=oMe#V$5RlLI?%CQfJ z(Nx6#4XRcu66bLOie`HLetqpx_0_|rBqC6Kh0}r?iRmjB=#ez#L-Hk(94bX`z}q?h zy6Z>daP{<@ee%XxHnWhGB6fzf^0sxKp@Xdb%3#@r%Wc*S4iekppZoCb*A9nM%uabL zioQ!Rh>O@)IZxOy(oW){%Vl;TOw!+1UIm2R82@@IxE~$db7@8)h#Cvp%ZD^s64V85> zq^-w6jdCp79IZ8l3tKLU?w9=ZCg&pX>cJO~xEq`WNaZlL)WVs%u;5arAhamur3Gq~ zk+ra*Akk6Sl(o2@5^B36NX@;GgF5V)JoSM(iIp0DNMv6p+N&W_WjQlrDcjB309}XK zc3B0Ml)L5%x+=$Bq6JqmyG6gnNLiK4&`}j4H{vhNXTSCK)qnEpGaroODG{vmh?=pj zB%zaKmyJ2^4fsD+E3XF>TGjNmt@(ZuLd3-nzR-ICZT%_}vVWHU# z92%Mvv1eu~8zK?Z?8^?kav}L@$1kYEAm6U*n~s-{Fr`6V>^*Kxi-+(mNr zs(7;jkV-xl1oiW-NCE#!!KbT)rai@LMO@)(=?kLP`U9?C64muqA~RMxy8mbO7VkFD zBqiVkgN8UgQg?4^oOo%iEB3yOooI@}_Y^{ga&xR(to zk@ctLDg$W)NhEZ&C#^MH5QAEv)gqohwRC(P(MLgqO*R^ts=!93Tz)nEnHwwnyK0RN zT9>u6^Hu?m0|KlzakZ@VOUDk1GLSNdt5VZ+ErLYX1{}_1Z&k&Js6y1w93L1-a?Yw2 zw;OUKb64{gviFponwOWcovx3CldMTp{dI>&$n!>^kZyJ{O8~o5qH9Ig94S^+p6?}C ziBSEeEpUyU(d(%I2iHJa671y(J#vGYz0PS`l-l3LE-I^XZpkX#jH?-^|MGbMItQk= zyOV?tQ_SGlOOszEc6iPk&T~&i$$xoH=-u;TO=AU$u$^D{>9q&s1Ttysmd|37T zw*A`i_~GH%A+2SN1$|-bTbcXTL<$9 z$24P&Q+FuYB{+&nJdm$r{GohS7`GTl&QLgw*;mD^0gh~!?W75UncmS_vJV`*3M=oU zlW_UdvL;%S=!{7Bd5aCC#u?T&Uoc}Ui0FbG;PydjiJ3jD8`g3#8HgooAY#q{Kp=@dWzHGJcx5`n`E8rPPa5y zB8sQ1yMZybm#!aux}JPI@z2e-zVEv~`{lQO{y)6?`16OuuX=L*rAf?jkJGuGcxH_; zJgplmk6zU-1%8?h0^zZh%vgx5!64Em0~-6rWzPhfvy11JTovB1wZD)iw&&)a$&j+h z4nV87uW7?taKdsygz1{+*7m1pGs@VgsJ07RG?!du)mn4{Zb>g=Bn(}GXc*)$*2{Vf ziu5<<2#px>`v%V{=L)RqIapo#PWBXcikPt4t#$30>iY0sIR+iy+iQ&;&8|a6 z*)i0$ePEcuvSt(fkLU3>T)q0suAaPwyeSqUvZ8arkWO4{7OvK#7Oheg*(ZXudApf{ zRGryY5If;S5;IU41jnqIbxS@}zIS@K8izB0N-nnIyFp|Xk-8>C6m3n|*!jCkSCYBA zS8eeSuD-M`*+tMZyjXn@tTVw@-LYTpx_j8-I;&xU+{J*7XA=GasywxPPX=v!A~fI3 zc+)Xh-Q~5CuI2G<6DxV|jKUwS$7BbhZoj3D?ybl0i#Q6l-Ihl`r8F#?C91~y*A?8C zdlEVzLjs6W+rSRe>uH73-mR`P@8>E29hfjR?5kOqH0E5RAjLeCOhTmq^AG17s!`d9 zJG81lr*~ORR778GBF7fGm=B6ywuLw=@;}VD z%&&owrTd&$m0sck-{!xeMDDkJfb@ z7KwB_3DJ#Ih#JoZf9m=c8&9rYrOp$ysrH_P^G$Ho>Da*I!_z3}(y#uUw*PVtCcJ6O zPDj0{p6Fmz0T&BcyUf$T8|!Bj?<0|O#BBj*{-N_nPqujIlM($>Rtc(@>Q&ymGG%N1 zN)4uQL9SNVm7*^>s>iUHcL$qR=t(sM_K}#`KRt*eaXg*>7f+smIBAik_N~O! zIM-&RBUHP?l?hqHyYA-h3$Ut5_Va`9;NjoRXRmLE2_zV~hbb{Lp^iP1MMQD5$42q? zoQ&}=efVxt*@Ql`%&CJW*(7;^I5%-T|Y_lR2m1nF+kixjh#Xs zNL|uxwQRs`hPzTQB#@c0jb9@Eo|{)51>eGP@GuJl#m-)|PbAm}_eW(n8W5)==ZoX; zYCU-|ZoiVJ-}3P{AAj#J|J`rB`N07{cG!N^xOz16zA%G1&&ilo8_Ovpm$mhSdIl$x zU5VHUhj?)=L8f%mS*`guZHge+_tdOB(cGdy<-auTK~DrV{|0&#l`E|JUY)hI2)QD? zX^a{)mv_TtpomC9%@e7+n7s#r2&!iWu9o+}kJTtrMU(kbz=Mz5G!FFf=W^{qBE)Ku zYhJ6B>k@RLB?%oPkM3rZ1*=7Otsazp^&(JQ!!M|`NS!=f$#AnqSJqv5)$$O!=y|nu zcg+b^-Qf--YfHROew*h%{_3YcfAic&_xDGP*v27-e^#m5A_wBkAa(xEnB%C{&#f`h zeVW3NlcFq&@%|`#RWD$fH7!#}Rfs!lZM(LE*3Jg7?swD*d4a_t{b-KTs~VXs)C8(B z7#Uk_<1T=!`3IhV?VWtMt3K!1&Rs6xuqb*j-FD@SwYvqSel}KhMo?xd!tE|z^>{D2 z5m^}<3t(bo)no93Cv4|O4|Cha}NL{*WnugE(xqAnocG<0lQ@0 zP6yUdYj*i37e8M)GuDalzT~n{&Z4Y~i!oW_UEbc8<}5|3blLpU89qT%z)sejLsx{K zz^uPu1w(vNtUCLZwLXm_8uOZJqR|cD?5-e_NfzkqP$ZLU#FEK@<(FPZC0h+Qv0J9S zXb&Y=e*yy}WFNA*khr&g$JZUw0MRc*U)R#vB6y*C^aQS5;azUBZ)}@av9e{lbxLZT z1nG?Y6AOJoTiZs%fv>7hKsDs`Kp!e`R^TCO?N<}kUN&MUNiu#2-6$LHmG-fIo z@4GJcAox84=~ThAqLCFt=Af1y^z)`J5;zw&@SU8$@$n0T;|`}oRi9d_9ZQ%@(N^GjD(*M%Sd@Y{dz?wudJdh~MPVN}#Z6eHoQ%DQsTUCmoZhBOAdfgrHX ze2s$63b;gUcB_7yjRAbG=HmnZ;puDAxy#o%PIuT8TV0?qt7&MES? zDRyOz#`&_CQS{}B5PfMrQ0tHf>cS_>&V($Lxd}<;OBUJ#olw*y70YuQf=O4xO*>@J z4m_fqvqiZT$^0wY!#2F+dI8Dfwc-)MB~tI-pta? zwED!7O4_}ETFGn;XQ{0^U09MX^^1$Atp7A!S?W}W9TIU)a2_h3J>32J@xl+{@SW57 zTEV&Iz)nGyfvlb53g1<1;#MuhIA&V|R(RoJEK01(pOCtJX(DHy$#^vQ3vtF4*VT5A z#r;-35T4W`C&QAkrC#-N^s&c1$EIk@&WV)a)$U;0&E^eUJ6Fh9lBrWUvP#U}{}(XP z>=ss&!IU)H2H&F((~dP&;Emn3m#MgYQt?A4XJV~HU-jeRH*zxeWRMn?)EXfn3M~R^ z29(>N`bl)Wr`zGBRJt3rHyVrzxrRl6vS(|6mM(2(b%TiT6j--Yaeu?0PE3hnA(_gd zb*`x65Thx9va52ET1Z4Bk;@Txp`tZM73kRGGfS_tgLpf1W*FSj8&nnyepRT=BH3uF3m(K8?BwUGGrBpEHN5LB*~{wai3IGw@(X?oMAhFdinpgj;0XWsMQB zwxXO{S){tSzegSJ>r}O~s@?`|-706;Cd`qwaGc|?$|&>@x1g1gw9@MjVjC~4UnjbZ<8!9~qh_%%gl=g@)jy#3%e2g( zeH?z{X2N|3dqeAB)d76-e0nA0r^n-ui7lc~siQCj{hFXo7rhTIa?zAQU&m$J9d*cJ z_6*NiFKmzga^3wLA3mQsLsRF-EM}1&+P;(@8?~eB9qI*)KRKTj&sSR%i?gz-N1{;* zM6EiBTE9f(mI7+YLyT-^UFC%bJJ|68jGEu9E{dJWp=-t6#@%960mU;gVm>;I=O%yW zd*Armo__laar3E)<2-afoTP378Hlz0^k8!oP$907l9^JY^OwiizL!)Mg{q0F>p8!3 zp1=Fa^M`XjJ>yCrAt&(&4TE9Wd== z%d4NQnZRsjB@A*7Naw>U<}6ogGwO1*;iea^DWD=ml_``WR9UAnU80AHIx;Qrq}9fP zPW1^`G#+k`diw6ZM9<%AODi>IltzxOXH~jXLf##2(4n~#UVT@C3@uH0c}@5O01U9{_+0dEWVKV>N%f3$Dexj3+FhW zj`z_~0+FiHYFU@L*E$?o=xh4Q8ekcIrI$dJ_R7A3f{X79E*<10%5dKwEdDN&E%ccx zY5xo#*{JoF!tJI9g(aD2`5M$HEkfc+Z&X%t2AFln0>{7p%4Z(VoWwSny1L0=HMKeN zbV+)CdG!LI^(nEu-XW>|jTqg678f954}z&+FRI~pkzMYWFDbmEwK{dlbve9e{-Cec5=v_o zgelD%^)J0np>9&Ak+Sv+RDpO{?Iy2IhE(-Q7h#v*&6l^dg{0MCmyg#KTxcyX0F=+c za*43ox_%AanXC>a#UjPL4$fR`yZ@4Vy`pWKOq0nik(s?1-He!*%9$-lw0YRtVN*V#^uEch5BTJuNA9jF+3CeM0 z;NdUwTZTWt7-?0xT>jTCSFIjM=z?MgrzZSV#ZX*U)3JOGyH_R_kOn&B3my0g7fwv| z$b5oI6{>vF(_|oBG?T!hN>_VIItuBAV-=bjzOi^ftuPR{z!Insg0)Dpq`t;RiboY{ z3l`>m)pZR;gHFP7)Y+-0a@01BT3!!0drU%iB}I(+LCu@7y^ig^&YQD1w?*v_gIc;s zhaP2$PIScl1kCaT`2VfY1|R*<3|0tlQrt1DA7A`JL7xRvDFxbD7-Kuf8TF(#F#qKF z;Wduw!?H~l#dAjV0f%1MWw2&)j`j|N`imY0kJNnHZc|uII%S;j9J^XR*r|7s$nb2! z!Yo#T$#^>Rcfaxkvt~}+>mKbs-C(h}0oKV9uE2+M+Ux!45S%Ge%rS|pS;*7h|LnsT zxgBQJ7ML~109Fd2c%f|oda_JqX2l`vaLE7i<9j4-Vw`|MMpjf3HOkPd3J9qClI2B` zVQS3-D6?$+hmoM!X$W7NasjC7IeuU=mu(Zo=zCggpm(@$)kU1i!WP%pFKy5LU+&-e z4ex*ZQ{(FOQ4cw%R4b-@lToW@Q~(cX)@6aCMYHT{sU-i(* z#qsEOJ^IYE?T9(Me563-p@j`*QS3u0H8M8!%N{bvxi%sT=gK_bv+?+O+`e`H@$Y=^ zjpyF^`ak>homXzJe==@AQ)8Stv!)$VGr&{$*-2eyDD-y!e+LAj*3bZD3W_5r08>cJ zpl8IT2(b$X)nU&jlN7S;U}4+UUS8g<*m1@`)DPk`M&H}BxWv3`B^@dO3p=ZGOh^zQ z^j>S2&;BiKptXV|fE$mvfOrtROp;loyZ5?XYNhPW zEN#?PSUvQxOShLm1f-*A+oVewSbM3hRZwvPTmYiFlSmf;sGC6+Too#%<>W$u0z3jX zG|{5=LkcEa)3&F1o5D%ca&rkM_%psoceXwI1_7&J(tSEt!_ zhZ3MkXQZ!_v&3*|a?&YQ>ep2JBDAU6tbu|~0-z*AlG&mt7c@EB9|bfjmPtnGb3Fuy zEvnNJZGz}tm~K-17Yl5R%w%C!?BG*Mv;nk;+{Ck?3rg6`ub1Q|=WA*v0wA;05Ua}~ zYoBOYd$X%0m6r}hF4R<#LiIkeYs?+ID@=(ALTtbJBo(=9Jy;{B*=sj@GoTjGz^INU zep@zH?OnTJ$Q8c1mPUF=EQh)8dg0pPOsRr6Z0}rhEQY+}s%_bgtLU3f`gkQ%H>mNO zr+l7uWCQ^Yk{Re@bc!Tc5=hfBSgZn~s~#1ooWLpWQHcEM=N{MO_36SaOg`7kV80Bw zmQP|$mTGq>SSYbPb`diGXqv7?CoBW$!#AaFkG{jegH*65PiTd(K;W;hy<#6ZjC;Yuh~k1F@b^S81^e_tCsvwCiv)tt-E2%$~XMje6}J^eSKDKXTP=v4IHIb~ zbIk9aAAaxSmoU#Ck1_iC>;}qk!-ASzD^ra#qHR^g0HZJ}z~oip8EUI|_3`sBUEe+< z|F_S+{o*(No8SHMcb<&xM>sw`uOArqTLn;q72~{(5u-*FnE^yiVnEA9A5?GC3EOis zY*ll8AdP9sMdOip(ZyHpLQ4U4J4t;4_n?k4(%lJc$tc7}y87Dgr|SuD(cGaR)>tM$ z3iQlVN_wrjXg$(JSEbO|0OWQPwvm)@n8lvZR*G)zHFQ99aBfGdTx68)A%&PG0jx_Y zYk?j`Zrk_S*Ums$$<7$ff_ue6QK%6RhMDFD-Rj(5-J?fK2kc`_9qA42qX9jjeiRPW ziPL9ee(m_|pMCQDkB=wsKYbXrT55>kB&ITP;XQdd#=+YP*ExE4xh6Y#|KOH|vX1~r zK)1iF8mx9gHn)TwePBm;2VjZU)(Dm*EI(XawV$ZJLvu3GD= z_J?2i^xLd+)v$g}77t``MK!Msh3iVThOp<6w>PFKsW)`pdPDzz(0FT0bbBe`jQYY5E~*iwl^ z$qwWYg@CSLE;tXX>gXE#ZGydDnG@aOu2uy#7!W$7zRme`oua+JHg zjX)||5M2SHyX-B(3ZrE6JI8IO*nOT(ds}UdUd-$@$>m?DSm%tP($tcf)=RW{)t$0z zSy0Vhz2p*j)datED90Spr9y24D*mhU-Se@HOx9MQ=O@mEuY@FiJFD^65GsX$^DuG( z=fdAOZV~sXtD%ejiPCFYgxh1IU)bWl&dAQsqGxGOs5jB9bA6QZ%DlMryGp}( z!?6gFO?N|WnY#U{8Y+h)UKRRmq#e+vnpU>o>)tk46qgB<6?&MoMjk z?E?}9EV8#XNYYhCg8#qV1pshHUT;^x_r6Y{wBvTy1sxVE z6kb(|?e?|CW)O_nP;brS3y1MPKD_w!bYI0o|4u1RYfPDWg%A;Gv1k9=rgI#Th10nr z=d0wahbLFu{^e(HzWCNxf6wuQ>nHVBbG*XChhyLrjB`|;y1AIeM3SR0n;rU+CqcYK z!~XXsO6kQluWFn~ZA9Bxi5MmmM06KGcete@BNrE>A>1EoQ4EeLc5!K@{nl<^P@e(B z`6_)H-qj475P_xyJ696~uYlr1$XL34f0?CT66KPO51aW}3oM_tK&6f=JGB$N(U_AI zK~rK`S)N#ti%&ZCRH1co->X*PLmXy%7oiR1j;KC36KNSGb@y=7sY7lF7}*D?+x?;Dk{>;N)^SLoUE`fLn9V4DUI+3DMHS|LvX`*AIJaEc<%GO`Bpt# zsh3voQj2&f{w*2J(V|1QKH3bEtG`w&p~n!#(0+&*rYaRd4rbOs;Tl=wSMTqEHA9x@ z>SrsD-R8EEM)XyC%bXzigW{UfdrLgEk|RT#98_3Mxp>=hC*cNbEd96CqU=DUW!C~) zzv*9Y2d5cKH*1H)Uq7&gbAm`Cd^?P;E~jx9OPWN>OsgJiW6~o4?I+b|T(ZS;1+SGL zfI$1^x+_i#;iEYhNnXDfX#{EW_BD5`Levro)??b9${t_B_o@X|)x!-|D;=u9*e|FA zd}OZWV02X+m-|3xbnUXPPKppH1sdIDn_dMwN13IHDRMRFd2O-3k(XIt+^4F`T~w|M zIT0dc!~&4@ik+5=9W6&9TwAzcP{4|d%1RdDk@=LDQg{S{I#Jc9@tp>*Cz&z>h@VPm z5Sq5u)gPtlte?;Z3z{}mAfjUJWkBZ=;H{A(K%dk>Nf(s3QteeJ+slG}r`e^r2<5ne zzjQtZ#>1%DsegB(NeNxsNu!7o4lHI!cJ-DSl`Qh(iN9uC0eDuqxyo2eZRpBnZ^05o zngki_vA*B>L@hNjdHhY*^{FqJOFVcp(ao~lSEBK55#1C6=+if?yf8d2zf%BY&S*==SOz{UP~oTlKR1@Pw9<^bjDPMP}& zVYoZCdJb#Z(YlDf-zi`@kJ2&<-HxO9F770s@CZ{Nsu-vVJPd4zSFUe=HlBX&t)Jsz zd||}Xs7h{CHKsk39G-eO0<~WwU;9Qz4=+vgRM^<{Q#F%h#VDQ*@zKNaAARl>T#Yje z(1@n0iU{eN+9|0e&Yz{_$OL_*&>#Yw#Bs1PpKRN!SI=F8|MdBd*M8}%|M1f{K0WJK zkL_m5hd%j2GFhmM>N5iF=;$<~Pv&#oC*U(b^3XNJ3X92@Yn6Tu_F7ADJ%itHSF1Iq zqnb{?Q&d8A7A_H;8m zvafAcNn9_X$H?|TrC0!%p?09FsBf?y&-jxsegC=g0eK)|*1*6-Wg@X^ohCEw?p2Ez z8`l->)@`CH-#~=Lkwj5>IhNw5er1o&QKmu#AeK-HAKp-0S+j)cycEFxAGNQxqy~q+ zF<2kYBUu09&8y!Vr{g)vtAdHHqmcKntf?5s`W>8`vAdd9!^2WY`}@6brtT7HT12mO zA7|jqd=9une4FP-73$xniNpn6L$1sj05X^H>`9NM>MCk9t4mw1Y_=e^67Ut~B7d{bDdQ&{9gaD=& z)7ZTF&QPq>kLDc# zKFzgE=W1<*DF+MLcl71`hRJvhkKQ~!{j0wFbz*$6;yzAUXX22v1bI5%RK6(4Ax58> zAs6Tu-l5*9Zh;(y+!Dp>!nZKLe0cn8`1phKy@{>Lso}Aky-`&VKW{e93r1W*qp5=@ zEwOLM4VmXhhwb%wa}E9rPv3g+y|4U>AHVxUas4am>QH=&nuCWKTd_uCTL&L9eA0p| zQp=Zhinr|6ZbmOaz1}FhKYN*lr%17DP1sf^EqC`-{R2|)8k@W8NVc-Tv+sC@djYf= zR>xS&v)0Kihff%=mXzlI^h?3H1lI9NtGi8`=o|2`|D^^YmOB1=@uEFZ<$_urF6vtD z>jxLJk^jOXvY9|OnbWT*r`CT~U*nVkQw$?yff9Z_gPL!$sc!=$tKuB@dH++7Uig8-lQ-_} zZ(=*w)Mh*Lw|}>B?A6XDGY&+Jk@ed={tsF=lkg(;)`Fr*`41~T}As+hHD|E zwUG*oSsi((8(|>gqRMYDs?Ub0%qlKbj&d|=G>2RHj%=t_{?^~AbzZ1Mp!#|}dgyzH z6*xOtF|%<{_!6dM{delB3qkNMCah0fvr1A1-|N%gTr1&djOmu3=*|K)@3#)C6s#@N zq_<2Sg%Om0vwPA+<%P&)=@=F&Ss=2H!(OPeT(GU4nE{u$8pwz#rH%f&YFZ$Sh7z@c zyBI8ciGPT5${cMLTD5NKM^#@B7veEko2-xxrG=^y)ReoSs78ghmJ)ewIIx^jvgeC6 zX{T`K3j10(X~fh_0GGB3{ zfFOkn5DE4*Qmm?EvefOV^Gz&_!}$8~n3Y?x2m2(J`7|1oj6YUpQPp)Z98t4hy#(m&@$}wZOQ_Z(YE$x}949Y}?Xy3m+F(12lCzNYS7+rOduP zwZue1{>s-i+ax-OfNW&Tp-{M z;j;A>&6CW%Au!}}KD}@Wu2dzh3giU(Eapexq2jkbdST`Rft(zP9`@Tnm8+q?v#C;s zNIRrJV`Y}q`;=W{s_=LC`<}kRJYGkgI1n0_hKQslwoi(x48)vu9%SI|l$dp0H9aC< z7iX<3e7$>z8tca%_l)(RE8|t}WpMHy_&(Gf%rhKM>*}Y4>#{&!O3dlG|jpQBT zA?H7H`vS7YLa!xthH`c@HLYWnz*XbweLN+=2qcrU*wst&h&*TB++M#rp2Hpfk*DAO z%v)dmkB?7(WZeD;u5p^DU{)YAnK=^B9MtM?wa64#i0@Tj`kKrY@;j;5D$!OS$5Sty zyx-y2A#G0)dRmH$C$(xq@byETZ*-^;(^-slQaHuuFnRQR|cj9h8CM&NXO-;ZwZ)QYXFEU^)bYe)+tH5bqE*kpfA zbm5W^m9~1!BqLPo_1*S0YCgjeIQ{E4ue`TC+@qyd$tEU!ZKSPgaVdBDp9uh?)}_&A zFmOb3$fTMuYWwaYSV>mZuzzf4_C-j=ZHMF!_4Un_vNSDPbtKBs{;4dF5^ z_sDZ;>5#)Ml1XC^3JfkF@e!U{r%!6V1Vu6F{)&C$pw8Fw7ol4Wp_0z}poYk9{bOHY z#HBJ*p9D!3vY%xkfZAVoylo4yxLbZGI-vnB(|PqwuYYSG4CuVNXvdyhtV*N(RGYKL z7?rlObj!LqyZCWao2m-4SODwj$Flf#i&|)QvE@}Lq-I0nQWO<&0v-1YQyQ7Mz5y)6 zpIpu{17xWXa`DevRyRF%EfHWwp9H}ETOzRPSaLvl=q-3f~&D;oM~ zh@2+WQk5o%n0ed+WBiuG6W|n*bF$cxwe0m2UqTD_!f>p9%!Qd%3L!4$kpO04>9r1o zritZ^(MqYt8@b0s8?;ufqU--X_-8}o* zRHr*6;BxE&CO#JTb{9zMYF-+cQ1m&Vn@Y$OA-Tjf+P@?B`CoZU=% z2A}0wBV*QvEqdq&Q&wV$K+vmxax+0iu*G}U6G|u45jXn61KnTiHt)`Ib(K;Rf8(TI zyp}Up2Sx-iCo*tkzO>zZj}Jfm_SX*Fz5tNyIq1an;Ws$cvAPKpD5|ZtYLqWjY%zf- z9UCEoQJUz9$vU9Elc%40?)m33-l@4UsaY=V|9#XzRs-#A%FLTr+cEmP(c=kq%C0bL zL(Bv7bk3O1Ke>8gd-BHl^qW8axu1IXs~;Sn{i?(DOPt4To-4LsVHB$})q>l=l^Q(R zGgTXv42yy>n9Wr4^wk}!MBt(q!F`Bo1zWm@B**^g&_#PCMVOt=WA8B{l#i(oxSh4L zf;MsM9E;DFQ-{lFxnpmSfivxa(L@W+Dj+SQJx0TFdbo==wE>2HcWlp10uB z^YMP2+VUI-Fj(m~!)vC|I*dtZ`_|BU5(<_w2%9` z>#oQqWB#&`F%c`GiOG0SmRPrbURMr6N}ixQ$)1+n`_~sSY=x_d$20z$(*u$Rc|sI) zq_WnfUo@!7FTp-Tsod1Vkz41}EPV)T;HclT&uu*(kQ5r5(uPEMd_h}RC>_?VqD_9i zO(qy%e;2tQ=@0!p2#pRebI)BZ?FXq9-P&)KTwr#rq`rh4Isko{d+bfnog-BBaku`T ziKr#*wy8$$X9uX_RoTdEd7;;y>r2XfZgr!mRR&@b!g?8B$OOfis}QVpyxyr)*`)gC zWZ9_bf_-l}M2r=coA~dl$)LjU>^6_fw8Oh)E@gyoQr%p%p`^q2)Gj1rLBFG~>qMrw zrFj@AO013)0O;?O$H9kvWg*q|4S}dQjaE(v*PZh;cP`cd%ew3Wo4=lb2%53|OGmIFz_SMRMH09iUI*(>iCUcaHPD5bl# zpBz_G70C$H{pox+^9kd=vfv^$YF+Z#9}wR60J3$k5L%X9yRRGH3QuwVn+~_Y854sH zAK>l4I#I)XpyiD9`fRbw+vFB7MeFVj5QQMrOGaqpmRVK->EW(|gFblIAP|5KzR5X4 zn^Ec!=|Pdf0Py>teQ-0zRsga`to4&*=UMCo-`1=r*>4#Zw@Ha-UlBJijH{1Nrvp$CoM%}@Q36imtvb4GUuejwf=X;< zYvOt@0ukp1d>;OxkG^}D+pCD`{sI#qm>F0;V&mX}b*i~)?G#CZBfoai5DxchtnjFR zy-2OfLbBbcd08t4P?aem|I+=S9S=L{T&!TNIJ;!jVXv=)?AR1l)jhg7s{*gq;g`no zOK*Pd5Rbm^gyXDp_I`D25mT*hnvt4OU8q;ZqGMVA|9+0B%9>Nxyd}V>E8v5yQTT^m ze0}oVnR`V<_o;GNf)IjJLVvSr3E?eGYVV`E%BY!T$ehI_gE{kbs!{pk&D9II{ZCI1 z-~awE{;r3&U%tNj^40C5ns+lsWdcJ(j|9mnR)*Mxt5Tj_T5?Eh79ew-0b@D^@D%|X zm7w8ywY6^o#6GRLMdqv#Z9!XrRYhtd=t5>+Q8V7 zWS>7UEeffsD}~nBcSGsLzzq3CqN>hTK4wIna~p?mJv{tX*H3=?)r-&OsR|=2BbgqQ zr{v5i*oEL;6t3G4+l1WcEA_({GmE+P2I^9QG{n^6BMHzY=VgPY3oBl>Z+4tqUBc>p zGE5krR;jsNt4UKF$jOIadwYXZ-4RuDDm;|$TUo?N;Olh5p&bNti(m@*mCl!BYPp!C zkt#64sS(X#O}n5o-<%Bmr}s}WLW7D|U(Q9smFfbv7N!s(W1&6K7G;J;4VUt4$?2d9 zIwz(1d1HT557rXDWCF4FqTR7N?RD3J`Ft@|P{|2DV7dFa)1N-3%hgKJ9M%y;?-Np6 z+L;9g9Sh53-*eVz6~JOj2LaRWj`}R$T+?iFYOIeHnI^w|{=7sH`;l@PhjR?!Rv#Sb zh}p3^wB(^2r;thq9n;ARz)%lNL9ElG_XS|Ah>NeJViJT4UDNFqR*9+uQJ+#sopz{> zRc43&AGYIi`<6^d-)|2_Ro^V2MQ8=0bY(H52h%>P?~|6L&udd;-*^Mb5{;lf!d>Eh zP7eFX%If)PK! zR)&h*QVn~pMF%WT+{w~nl48(Q1%$Y)CN#wLCGZ{K0)@(}K?Ht@rxy`tDI>+fWOi$} zA4G(<9MPShb;5x{jlLSUYJl$)e$Dk2c>QtZp*Yd^FZTtl6$@m$obI68pSH@+Tq!~i zC70AuFr7*p>&nLphMq>rwF4rpI9%L2&o1$8z>LH8|2RE+y73k82q-u1 zUUvy4S~D3mnmM*m&}_(YxNKn-vyYzIF%WmhGXsC` z&5LtPR%N$8t?!TBUdSG$47kl^$rJtx?s+bXsNwK^ocS^i?*#w7d2WpsVNAA+6_P%j?Z}pOI6#Hl;s1s|h7t)CW z0aO;Ed6V_GPA4_)0@8Wd1|y@7D2_smtm4CguWV1=i2EP?;1{lLw$G34lvSlMhFpZQ z1=kkDT1P_b)807*naRNz*P>SVaD@mymnQ*%K?JtYTk2eRdbd8%&#a4GlnGk_RYS6lAM_il>8zaM zJ2W`#HSwqwqYXN(Nmq(`^~w)$r0_I|ZHyE0irc&Q$A9IO&pkiq`}gMqi8C=`SvOGX ze8}d=+PeCrgj1k;aLMee=88Z?-zice=Cz3LqBq^N%v!4o09NM8rXt0o(}CtvR>|NX z=M|9%ZX^O&n!-$E&0zfdA3ei3y_|Kf!v;>}k{Z*#f^t(vi?ZEeEt#;#7w&qWxR;j# znvRRoR`gS?1Du`iqfp4=JdH6BK>o$!1G#M_vgk-*0*B(|6QR>9RPYD6`-n!oGbAXv3&V8|o6?$cPw znmP|@0>1(Qr~uS$)vi}m6H9G3Jc?3m&d+5|CD&;qwgzJd%svSugN_NXH0rV(2<-#T z1SGgnOxJG8(AZ!Jvqbd2s^Z~y!h&Yfwbwq_CBD1n%Bybe)+vP)NlM;tD*Ef}6jUT? zb}PEK$Wz!TZJsg^$w<9Yay7jy_Wwy=E#ACN(-%Ujh5H2vM0v2N*Qvl@m~je_l%sgE zW$$%3C2d+#9U#;Q>LJQRRYi+^PN=0KF3v<-kbQlBoA$3T#@k+V7Ot^@^DD=B%P~*E36%GoO|e~pg*#OMtT`jK zEI^#9D__DP7Br99(7s=6Vo3Uo99*cQGyoBwJ^UvOW^m-i5 z#8#YvIg&ZpDzTcZcYdE;|MD;yIgQE6LOc|6uNF6d6}afhT3c{?(F$`Hq70xSbpe2{?3bjq-hR7uOcYgTx zIOY@bgvyHIh&7q1A~R4p2Z9)tSIGkdhf#=8n!8+mrHlN;XS#b+#E&YX6XJHmUBA#X z@4(epnqcMja>rer?Kme-mH20c+P4^#xh%|B+xes0aI1#;whLLqmR7z!43kt(7xQlU>HIl_oG=Ii@NOw6A@4V@_l2N5wR>wJUlwekEM@mo)C z{OY%U>3B7M<;~5QbuK*Qh|Dv<2x%*kwFL+&uq@yf3tB00l*8_yYQ#JpdL*F%gAC9WtHeln$izcCtr`0Ikfb4Wyx> zhN40OPZ9 z$P_Iut?Kb!U?^V<(u`kV4-=<;-7wJVN7vn8uF7#B+v~; zO|<2cl62jfXOk|Lx<0kT2!@9ZsR*^~&213nRJq!!spf|R z)K2Dv7399)&AIglba*t(mtI#u*=2rjs6J%PNmJcMrR~nydOu*~hEITXFNGspWadR#ys>;WSkMUt?u zK@!V_V&Z0}<@`~sJPsiFlh40^b84V{lVi<(Nk$(G2ud`j&`e~7Ky+0)*B(u63kfwH z(2X(17^Po(Eue=OqNPW*Vii3jM~8D<@6)fFX;&2v132^dfAIeGhyacQTOu+rfGl;; zt*rexYmDk-2oTH|!H;-)sSdvu zPwvjMw&(~wWYOuii2#|t@&OhsIy6~i*N{Skr83^$<{5kmH*d{{f14lv;G>&!W>n}h zFGmA%7C91uJP}nBgE-edns7PKvJgl0HvVpvXwvRvJsq6;k;7hX+muf@Wi78`izE^I zco~+#*C5};l^05eeBUE^+L~1x z#L5>Mq@<(t29#AN!)6sv$R~&K3J!m1e)!AY`pW;|>HA;4y7}R`Z8dY-0z8eX$msHY z2QAX=`mIz(?dOtBx6EllOQFGJfS9^uGnq~>~Q!qaM( zt!0rdHIr3j4WXG+@0C!kTwDjkumll1u4GKosZB|5GE8)kF}DB;NN4?Rl0Cn7NtNq6 z(2>xg2@+`F!d_*R`s+lWgs2vwsE;h@@?phc8-Dpk(Y#r;%H~}C?ENgHGRz;e^x7CaHr;jnJdN4?pn=D19y_900rl`vSG@rb%OUsV8CN|!4hiH*ei7H)G zaq${`XJD=lHAYHwa@5fOc{9rri)1+|1euK*g*Y*;VqhNsPG4Rbo#7Ou zRJJItn^GF#Q$eqLYP&Ze(!~!Tu}<(7SY0^*y6a(iOTe zZMWHVX-8EjA#E|5q|javTyd3>23t5ag_Z-WE)74YzIt&I`ACiu+Vsq!s;Z#R+$?M^ zQ|<)^tpj(c+_}S|p+MW}-edru z9h2Xw9>Q3~HyMsL9#ZfO<)XZmJ>mq|14FGips-T(#4Ba?f>BN1g;0ALiya5tdrcHs zVV<~07H2+a-DjN}CUyy;J6QYH1qHrkin=WTb@B0w)XLQ1%Q5Bsx~UIB3zTfZgy?oORW_3N`O=8a)7x3&mQo%UcCs;sb(le zXmy(P2c^>))Lv!=+=lCtPmBB^>(JFQWa$R#ENfdAJ5-MGViI~U_6M+a!2r4;g~lHl zxfmi&g(n$*^7!E?=kweq5Lv45lI}v1Il11bq6GI#>a9>VfrR_SR&X^bgZ@Vg^pL;X zu8q?Rzzn4Q2ZP0YD140hPu#u&BImitgocz-7lJIcS(s0s_%2CdGFP9lu>Usp5iFhp z7zK{M`=htE87~HpK=1+v14$0%?E7?ybK68E4O01&w8^K6kl*#S1sg+A`Ws_ z)x~W+`&f-$8l43;ruG7uVeMi>Y3O7by2@;z+Ao)24(tIi%LZj{ zcw`r?&{zrGfyxhM7%0U0TeHU<2#s>db#y_m-6KW%w-(PS6cnwS(KOwt6;Jhn%5zly zY{;B2CvWF>aaKrxjIz9r6SqM=#Q4s`@n3uKbsV-2j>p@Kp3~ioxA$Z&-_$~sAO|}U z8HxhF8K)!0;%$3I;6SvDV(Hh=8Io=Wttwp*(#zZ>kUp`mp*5EtxHDPmo=L?NSZRpN z!x+H$H_y+40A~Tnq`XhKl~vh{5_+|k6S%rlQb!!34VM=jQxK0T9YpB}$^eFmwiEwk zGNP)UTpj+u^A0nwfXQQ_+${iw-CESjeIL_V?K!oFSb2+@n?jvuOUdt{ z5H7Lwl2)NFJC#%QntDML5x5?fg6B3>4INVBFfTI5vMr^#4=$FAX)>(5!pXn=nk-Is zyL~8O-3bqtd1gaT_lg$i!z%-<s>#z%4b%AsPOv9N_UCm;p z@Kh4RQfYg*kw%-TxJR98$dwMkDJoqG5l(uZoSI16Yx^b~n!s6DSPdp-+Z7IO^3>kU z@?cvzW`BcZ9cL2}QWclz*6B=G&83;N(sl1_yD^3SL05&vRm8lDSbw|}n*I?NpwcSi z4kx9NSt|#UVX0~h6G&K4u(@^zyKK38e#Bg?60NilMlffczPK5UPyS4E8J3Glo->z0 z6#7n8=TMe(xaerDbgbc~8_rj^Faq(l^BtJCEwWcHD_DC&7mIy2q0atw<5)PL*78=M z&|nAUZb{bLcBY)gGQ^ z^8G4-(pA_L?=AQ?lbsXqDGv%fT=D*pf8ybTFCgwlpPA_(58cST@;EMv-eH}(v#kYs z2lJgrINnhYFR-#S11^rJ^FZHN2&2Oc(Axzk7} z*AaBJVJq)eop-tH4mb&B&)BPEYqfvry-9G$(Jf0X=oN%6S`V(SyCnpr!W4}s#F_)= z#Kb4)8wpn$(&=NB4ubdO9=>wA{?GE+Z~opd{j#`yE>B}d%vMrPEe00ReGtOJ3l>A$ zaT(k@0)?h#6@dWX;(+L8xJKB1BU=toO-w9p5UdLK688#}1~}=t zE^@2{f@5MvZIgE#HxaLF*FT4cAA0NO|E2fe`r&c?#SQm3UtvQgk3@`Q28+Q2vP*Oo z6*`$L`lK3SlV~}v73BhYrXeEBJqLOwm3H7FaxZA#zg2Jp2&CTbVhUK*>TMW^t-5xc zTBFmNdM7f#fo_;ht3%3}>Vo9ijnpo|#Hw($xS=a4EK~xG_9d?r+DnzvOIo2)JX%Sz zpvAAmMW3Rg)Uvwcin3N^4g{E$S)Qk{xJUtNl5J|U_d9v56^T+DBQ$(QeFwed8#7V2 zncqoXZ`&Wf`Sf|_-4!gLiZ`-PcLRV9gZZ!Nhn01sqjp<_NRacvVAYymA|%m`(tDgo-)GrrP!lYjkyQTN4_gt#p%&CZ4sDX|Yl!8O zy_eKQn1*o_Jj~W3nVS96f|$=4UuLtE5}Kb_d-td53zLP^G#{e*d>aKd|EWLD1g1eu zjJwZR_Hss|st;sDFYi}>E^o3{}VO7?WYWL5Ru z71r+L9Yo2BU0CeRYQ;5*I+Kg^$SdK8A0mMZMI6!D%H_79__Z+saFK5Hwgy%=b#Nipaq$;60o_ll z&)I6=Vf>TNJ~%|&%sdm7eSpxl2-KeA_wKC_+~Fz#l;@?<;w;LVn%eDc>WlJ}9&F9f zqROYrRuuVqEoROt2FJ%BaQN+4FF(5~o>N1^m}NeI=GC}3+&Tnr*cA&M2O61pfI>Hd4Zqc7Kq%Py`ANydi?L#oBzv? zzxBnu8BtXg#qPM2Qe2T2atI`V*;xfQ3FsQ0YG4PmB8ZXs-udBoJbsLkN5nRLm%DR0 ztQvZCSu34b+cd4?C3je$&aOJIY>$dE?67H{fB&=Z{p1@z|8$I> zsGAc|xox8`i)!~!cS^5w_rtpDm=aKw_H{C(%K>|lb$f;TK#Xh4rKAUBb|`SHazG zY6RTFsWlgW^HN5qn7bc~8g!MWkNY$q)aWK<3?>143A!|=MF2o)IF1T{6w(@T&H4xr zZ}Iq2Yzn`rwxN>3MFyD~xg|tjx~>4vyC$bqPN0QlcA0CzwC$+iPMBs_X8`9j0{_+1 zkC#jsY(BeKpQXQ&uDg23`f)Y@RGC3c)ZaCLi#@MW)xu=o(!3Kj^AkzKy1Rj{8rj=C zglYEaAkiuJ;Pp3`KTWFyw4|_`zT^bc1zX61*zy}<{bfVR(C@1^W={&t^trx3rfv$4 zo&O3^6YMz-474;T-hzUM*s!>60f=JtAwktic8zP1{m$HDiROA8E7=0YewOn6n#S=y zPv6E=03y`3Y;LHASSs3e-*+={Rn2`-b2kvtc_NjsEay~39c01j6iw*_GK-bA5Jk4v z(Yw;4ngoW9k-1*8XSoQ{ET>}iUBDn&%jU%9nlnl&C*T?29`ykReJX0dJL3X!s3<0@ zvVe!qw&JpVx4+M1ilw zy5c2&>hJ6kKj19fR-EhjOY`&`IF*SN_F7o2DD3hvU=T2T+Y0)`CS!mPM4b6I-9Cmy z2Y`yzEr`<#B)1IH6~{X`ukyO>a|0G^TAZ!6#x}~n_C|G`?((^SGBREL`-AH2_?iwTZA!w>W>$TvPMR_>s(fsyR?Ogv^ z>!j8E#jBx$#rmd}0Lj7_6X$Ivkl&jR|KOvSkT}lSEk{Z@33PV1hC!QH(E)EctI=H1 z)llBIO4mTmL%eu3K9~>x($jZ8Kdv6Y!E+D;;zZM=YYg0Nbu+iyZM)B@(}s)iSD~k> z?FpM40wu3SFM7+*6hubNgS-LQw%uH;5(G9LXa&))idr}uyO>gs@s%$Y>#pt!i8L%lqjd&81)QPJO(=1FH5*xsA< zW!}72w;!L51u$y_)+{76kJn5^_T@#&omHn7d!(QbES0liGk|Dae`NLhb0WHILR=rm z5pg~E^aJw>7nbpd;=6iuO&Cn9M4sJ_tGi32G>(d9*j222#Rek%2zpA`^g;$e@tm;NycQ z-Js=bC)=)q`}$IiU(FfvGJauIU5$&*6Y2DGSIe+~%1%OR?2sHGiDbq)cm(H&Jw}sB zPIQoLI`eh}SpVVO(-+5h02z}DlpG!_;W^3ak5tZW^Vg~pow-$@+e#!Q_koKlqTIh~ zn9EWNGsuDQ=&)s;zs}ll&`DvroRVG5@6i&sx^ChJK@(mh#(Xmop z_|-Wu{iQ6V4)H>m$;M=DaIw~n%HH6$10^CyZ;o~Jay036izdTX-2(=M4xXmT>d z6{Is<&?peDZYl)s=4~!^VIl&SmgGa~-Jb4f1Jzt0;oht>=m}-;S^5Af*}6|3YuFzl zZ8}}1?bNEg##kh&*4_wGWgS*e`vE({8$=bZ4g-O&p6+hN6WU*{zgV~@05kg-jeQ{zTN`!{C_@v_zJe1y}Ba{S&`_n8r|-vC?lC$ zcO^B0Q2ni}*vK^dm)CQ)-Bh0=rqq;vUdf6DU2g0?527k6Yn%^r!!6>w$WN0$_4xUx z$LyP>SYuUGbtaf5N;HY-r@f$V&4W5@wpc{ngu(2oK!_1n|J3_$f3TguzqY%P)ZNQa zh|D4p=e%calb&fa) zQ-UUAj%0295(CyeDji#Bbl13l6>+<(EE}HZVY|iSf8wKW{Ts*kfB5RrnUulgIH4~mF~qM*2;$W~xwt^n$^pck%JZ+%W-#&TOY1u8bf?K(-DQFQy37=T<* zf}JxFmQT2qunp$J%HnmJX5IQ1@*ZnX;U?h*DgwF&vnjrt83Yxb6)KvxvzIt)`>8Vg zRxwPfs=G_N3ItEil(UqmghFkp45)x!CDujf0nm0NP(`I?ko|X~aH@QbcyAuxi@PgEh6yQp1Dbaz zAhnGa*d(cU6e+lKoOfDtGmDR-M2myu}vPk*CI2!83@4{2%OIq9N!-YxJjgxh?S{}QcrOUVX-cV zX-=bbPGa6tWT}P>0f70s(@Q}T_YEr`bzyD8!)`D3#)j3lk2O|T>3xAkW>40)482vc z>XsPW&EN6PxBlM`@BQfE$r(5+h3-{XT|IX$LSs)Xf}=fhA58bW9y0D3AI|x|%14N+ zQ|6f2L$2t9o9$oFRma-c)d9Mqp+h267*Nwx^9g-QX<`FruR-=;npxHHuo5{(yo9)Y z{KEhJ*_%J`(N`a~`jNv;)jSz9g}K4KRjGUe3B6I_5XgmxSpW1vM1^TmH;lsKojABL z)Q4$>9#(gn1GlbKI&`8<^l~{BwKri$^PUga(b4}}5`}djAzGJ6_VYyhrmouRF)Qx< zA|yF-uK=MwQSec##{zvSHJ8d;e#k*NKwonmd#vw#LA0V@qGG4kvN8dcLkFsK;N0%k z^1>2-7JwU8m)`5#BLWju6SWne#`U|W^S|}VYe+oIRN~g1c3ItqrUG{<94u~KLIR)9 zTP7hE43w(6U@>!rzCst9l@6Ac**6R|4zAln098)PyC}sN3Y6(&6Oubu0H)%4h(Qu^+T zT&g0^!54~u{&+%+!-$9T978;~gcQK)P*a~*xu;i~>e9R(mL3$ej^8ZG*dukkeiTrm z*3f408HQ|L1rYj(`)XhnIZ-rgp3g8plWF%ZC=N;iu$%)`N0h^Gftab0F^|5iP_JS< zRCI-9C^L=HOoP@*^r958-4|owN4q4e?*tHdsK=w$3l<1WaYc6sDv}wgcOz{t&_E_B zJ?>^{X>@P0hu9U+zNS~|2!zP!`nITh`SWB#o>AB}n6i&o+om2Ztk!a^?~0VYbcNEG zYB*gt!e}i?jdh3KJuOE;X^qb$gwRLvzc)z0Sc@P@pDA;Ir2xZ0goe&enirh{pi$4# z%2}nsTH=LzMbp;68jxAaHfi>9aUj-NOm&w?*Z;dDm1V(Nu+$KjXr|rqEF~Oin{*;a ziNpfLi?bH?0_P@@rwYqCy?Wp>?;ezyi1DWYUqGP0?(bs@L`2{;A|s@9wQqu;1#$T! z_a$vW=}?dylc-|UdxNjz=0|QH-?6R}8M@#mfV4Dk)eG2d(UHb7he)Mbj4j3J~3Z5WSUreznqw{Obi9YI1?{jU4NJOS)P8`xPFMLSOed*oS~>{hX}-l z-+lyPI_QSaRlx%~gvYYSw5zqgIHE5mDb9Qj^XsSjjkk|qz|Gw} zhwd$qO;@4kED@IUU@@*)uem>q9-PfSH6N5-6y2GQh%sL}-2AcA2meJKzyJE`JOxYu zIk1hYo|3kWLjAJqD|F>1F$SmQrWAPh@pJ9VQUa)q8Gg*B97jC&Q#Y`%VqmLm(~3EX{^uqSbO%DB|>YH;fFtm~l8<|MdIcc{?9|`HWdU1ELA| zqhb$e^r!B^d?SSf*Ct3+sBL0w{7&HuSBKBWc(-yxoH=Q-Bmd@-iM*#O?8eXy42^Y309%2T5#uItX5MCeYP|5xhlkI-_49xF;lm$4Jb515Q519_SR=rJ zR&66E-1I2iU2PSmZlCpRpSV$@T7!%W!srG(mHb!Zd#B@CME|ze1btz%`U94%)Kh`b zAIt!!7zBD4V6l8Pv;ruWZ#F%uwfq-jPL$Al3wH1|uU(SGa&$^3D*r~(>Qy=XUC10J zbp4jyT2apV{qDX6bNzvIs3p{Czx!-h0R=b3u7insQzx3sJ{?pu5Th8ysJe~%4vwEW zJo@b~z5L<%AqE3c*a&1W6}d84Ef#>VkzCQ1dS&svGJ~n#zx?GM% z4&CnEp+NG6^$*?XtU?m4XI$uQExMY28mOY^3ss1iH73v7?aiONzegRf3S%5jdw-#H zCu3-Tk+Zufvo3AJqJ|eEcWTLWo#2X9I+|Q~ppiyr)|B@6Ftd~Z^#lmI(*${!j+bjw zfMx8mCT4MrQb|Mu^|H=cy_Dtdxbj2}CGzSDDRJOt5xaYfg}?&>R*XmWU}>4FWu7iF zlJJ{q1$O>kyFda$jfu5_u3mBP1tP#uAG1-~Ot+{PyKrP*?qlf`LMTV_zF+<` z>Xu!{X#hHL-75kv0&o6h7s?{sS86z>t0Q8vPPFwrJKJt?WWpAr6r{f@)>1M>!=-41 zj$vp^-C9swc-QR`Vd0*B5ZM%WX{eXd*YfE#V!_xVFl`&!87BvAYmlObrKpY=$*<0H zoq5HWtgR|)_MWW?imd8$!*WTi_DO$v-^U%5ERt8iGZbU~?N6RZ=6x`#HgHxZF)nU@ z_uE3?Z|EuOdcB_P*uNyJ{f*@b1+FT+Sd8rYf*J~*mTr&|!UE7mH6;7uztZOe$KrJo z=i@*A-a9V@&y~qeu!LTaTHNHlLmLZgtBeorXeEDFoeK^<$`cC-a$OPN0W`hBs}HXl ze_AK2r6k~7U{%!Hhp1!yzQ?Z|=V``_S=kp3W!A`^@a6r3U3syJPBq2F#6epLDkCLO zg&-a#q5|jmpS}I97v^|wWTCRp<5jUD$spof$Kp>O9-~h88_<0uoqP-@Aa$T`lYv@v6eS=sTj}qwSLl?C&|Kf zn!#5pM(~U8e~Z`KXX9`dbj}$WRm?83utI&}3%QLa%Pj=1305R4pOQfQrtJ}O_Du0^ zyk`FtcDpV59H8D|F#)U~?LS^v*tndRe`YY;V^_9Cc07&9sw3-_I2_2|{P8dSqaVHb z#khKn+tZCeRmQP$(iwTiXgZKpS-$0ia`7^~CDJz@WSzZL*hmldEC9=$T_o%}x=%GNV<^q?+5LoFCD zDKY&?XSEZ?x9{)%<;SmXSN!;hGlyP3`tl(F>*N8f=R&N!`J8+hO-Wo7Z8WHYW;!|Z zLd_1bv9g^qoz-F_%8EC%zXe^SVm46z^J1U%QL#aA;omGoB9d2Q%&1??XRjRi5TnQ2 zQnyvsY$C$+1#HeWRUGK!>7_ye78b}7wE#*0d&4*i-7BaZ!c^@F*iPsF`1lNY#mb!L zk!$}OoV1?$7Z$r;)|D3So<@ZjG;{A$;L6=g<-sMP1y#{mxj2PEx%jRSTh^t=V5?#( zFZd2b+9(@x!MZ$9P{3-eULe+P1FP;jw64W-BlP+&OB?{YE*!piqNFF;cN(9=bVsh> z9o{tnXm12&@^yFnNyX`J$gt5A2mcjaE)@jC(3eZ7ryaHv4u2|U zZk?AzM$_|d?u2uN)iTi~VIO<vm&-QggN1L|5fVtVy?yrmiO%kh{#>;hqZK3#Pp{7aQ3RkS3@l1a=f*bx-E1 z0|>;pYZJs?S*n#IWhI)6Ec05w-9KH+`5~6)8lR5_ih_8ytD8a~>f+V5<-v&nbk{p~ z1OSK=Yb(5)#}9CRX^t~Fl5zp1$S$Uv7`6GW-l*moSyfd-nno*k_0IYHH{Lu(osZ`; z3mIbNW!FWmL5xZuwFmByy2u0f%AC8Kx$9>LT`SPfEkn>+be>!&cd~Q@0XwI(xkr_CnHdKu)JE0X1J>_CjM(j{_ z;+1_6LtNNeO^{^yPP-K zj%!`{LUanV8XWA~D-B9kSJJf6MbUr9KtKHBAY&#?4;JmR?866 za9$Pzy4`7qxO5s$}_5oJlaSOU%aCb_)|Y@ugUSK>16kOT2BxiU7R6jj6E2 zA@DCZg!2DK*1rbpx@Olw*ckKuzO~lg`|NY+bGln&O6W_ zp1USlA1Q|j&x2Xd7sO7gu&@{TJ|{CP2KeUneE%V;#YTKQF%HD6%D9L>Qmd6m-YC26 zDkw)QMQBNX(aEakm^R&H=@(`c3;&cakX}&_02lOgZs6me-rqbgJhrsq!A+lfle;y? zZz{!saPX8ox^q*JU0v*{Kf49LvETo>IK9W)m%5zPk8FV@-@EVyCf5VUf>yq9SdOwL zrqMMm1A0n}57M|+&#$;jX2(WI*foz3;bdRTGXyBx*sB72?-OoMXJP-Tmmh!McC)v| zw>j@?8jKSWZCA3(H0zH23wV6H zw%`2rm+t3{Y6n^1*;%ErbMoWFg;cw&EJKh7B96y9J}Igjgwv%T&pcnY-~8#6lWh#A8DTIR^nuUui}MJ|uVBhzn6F{AyI)T0*<2UFEuYD(|q&$jeR#67+C*h3jT( zt#vv+Dse9y(}7f1`V;9YC)x(gscMbF$(c{9q4vxM(q~9Bo@Q980uc*(!WmWs?dkp{ zmHNE#Pd&W;2W~#N*|rxC4>uQF*sOFFv%19Lk_$Y`PO1#MMBaQ7PdknCd9J(erdn)( zT`OdGtz>-27ucBPB%Yf2z!OM_TvJ^gi?WWYf}oo zdICvOv0e43yx+lhNnA;tcHf*n&INW~h@9-UEI511$cQyoHw<Kt?`V~2f(|MYojZr5IW++WJ zek>%4jRKlUE;CXp5pV?@-}n&VN^WbvRJ+1tykYK%$&`4eTPy9WOhaeq=Ui+O$(B~b zlk`!Ux11{*Q=tt2J#DPL^|Ew4nVT_r{!8lW{3r}jPsVU0P85ZnBAr+R4F^&Kqm=pY{ua~$tweJg9^V}<8jid%Wm zN)9J-3~Q8;(tl6aPXzcQOX2vj!}AjhjNA*79472{@S12H6f2!A{Skp|iJJw|3;MnD z>0jDE`4?V(^T+VK0O`VQzfh-n$#QsKn~EjDQBhsIKU+81+t%MkzkR`Y1_dojo{Ph0jzjnHPtlknGglQ8+_!urc(BNv?>R779eJ$bmnySHUspevikPgrt z99@73W6N+Kg>!RIPMJ5;<=B?|Vcn1S@$Wc+^AN4P*xb>29D4eH$kU}vUgxXkx{EW6 z7*-_{R)`X`w$A9~)=?EkyOs`Ed3!=BOyYFh>&$1;m2yt}nNnk#de)p2yF)C!)OJTV zq4T~irN%;cue(r_WAQ9}mje2K_12d!x?IjUbt3-K?`j|}K`0IKs z9NRPiAQN`PsB@Fk;%f-Qd1q##ib|Poat5PS=Zr`@T6mo`ayw?~pZ4gS% zJW|4Z+3HvyMlvCJvWxi(8xkZ^J2Yj8QKk-~SbS9L8x1zvn0t9+xykQc$2G;hOyZLy za*>a8OCGCRzMzGY$WevYl|YYdkqL)EuFC3PaZKcBYb@H!cy%AO4B>++K0?9@)z&ZM zNgFt@#{-B5v6=AAYO^I6mo0cm%6-+@W4EeR2kYsq-R5_pi|6Xvm8B z!n2&aYT5cCAM~cKa*@a=SL9+ow<3ym3^h43V*N)`zH4dDh+)+7RLFR_u3Bsh>rBI2 z&}i)X_g=r)W;h#J>N=9233SI-CG$xO{)SdZeAS$>bCblIU2k^&51+n+6L+DAeaglr zG9_?nt>@&K>!`-^Szac#a0JV>JOtXo)RR!ka$_h;U}Bk7Bmy`)5hZB zOU^TA1-7}EJN&b%Pq>4=iN|*z>aV(a_x{a&oeRZXz4fV;i8~YhwMr0{iz%%F=hFM& zjBRtd_AKw#ec2k-x2M~G@!_NY^8Uq-^;y09(!dDZrPpZe{BLW!cwpG>D{87#Umx1; zm>o#?zHZK+rwN?|d7N3E+bvn5%BF`CaP^U~49g9RL78Ja(q$vEEfU>`8smB$Hq z#VlCD-lM2<=XS2`3Ge=v7vK7$mydpNogRQqJneYo-r2Y)#KUHGpH(P6-E(tX+Myli z$EkCx-|*JE=(%<8JUXF~%Py{g<-jCIqv&#xT_$ttRP_0M(-&exyeA;bDMaR6SwVqS zn+mn>m#PnLo}Ks8ul&xR`oH$eUwwa4;Z4oFTHnw1z$1qSCj8o+(K8`Knz-hCVC|mh zo3`^n+bTJ@Qr2@UtwXZ}FwOILNK(QK*q%kElJ5pt0QgGhd|PXZFcO?*<=N>ZF(ZcU zC7oi19NiA(o;|8Hlr%dtX0$>_Gm$b0#Ki0ssC-i9XuD`bn5StI2!xI%T<1w5-OaQ4 z_Xl!xM9y3a$yRlcv=$yT2-Z3n8dzhap6K);FaL|DZ`HOv-tPtZ^LQ1N73Y-MUpBGV zznPbyr-#sJRxMI%T?a;)4lKoH#B*MIRr z&7oB!Moa;z8EP0^*@m-=CT<7Y1KY(sUcSYBN0T9rc%NkIz+!m4BZ|!Lr`v@uU>|`@ z(J2yTCa_Jyl_i*ODnip*)ZV=4*d!h`kC}e;ZGdpKwQA928}60yEXv||juebh=+1oI z@q)=ieJy2um?2g!nH))KF@-r2G=8RkC(VSxYl&}!L?Fc-0DMOWv=>G$(MpNOz$Ogl zzGt*78w?d~388O**|OpXS7M6IXf2F8#KgbdyWXWL-b~~r?7lPg61kTa8|kb+)43D; zv-)8Q$P}*mv)*w*1Ne^~USZqsR1ixURb!zA4$ZTNJ#@@pRU~?P(aa%wu`oxFr>#D| zJp6gLcV}!b`@YyE9~iB^x(kSChz)w`Ae)B47>mVTJI=MauR{-50F6=*jd=|+)`4~j z0f*lu?bNh_n10UWP2HgN_kH%!d*}0FU9w+hCXSU-*!5&6a9$(9y}@UNdmDR~ zi^K=|mtsqIeEaALtpqZo}T+*-+*ms+jv+kR8IBH zr+kTi?1iRF7N`^+VorvFE^O@mAUvxL`^{hW@y|ZJ!+V7{>mCJgZZ*)j{My?)Y<$>A zqKh8m+RMtokR7jKU6FIx@cgq^L}(sHrhq`Blu1m>*HZ6gg5*ELDl-mkk_{b*HfxN{ z0y(FQ*r}OMKke?OD1qGtwe-AhHl2RWryoAn7uOvt##>crc#Iv> z+*=KlPM60=?Qh?lpVjF%ef%^3Yku6%spY(gdH0G z+{)0Rr$Dpd`tV*1V%Mq!SdkQVwU|V7C~FOQBAbr4(cwV}1k;PaBkhDft{u=JafUU= zL~sadIR){_B6-Mh)9l|hXB`Hl`G%&sgnI8%H~H<}pH}@{cOSgMeKj`U*P0Us?}THX zJ29->&d8}S8LdUeC^^Fylfi4SQz$?2Ea^NLO723dteHuhErfNVtZ zioANXnrzDO-!CXt;F_K!VGb#{PmbXx?1k}cu$ZcV@vSLT>!TWG$=PFI>q{k|T3lc6 zB|p^8Xr}WeMo2+iNHep}CwG^};N09;K&C z)uHEx|I@sPNA#vQ!y?vvN^wPNSM|Uu>NGt*QHo~2+4p+#%y+dWF_|MYp82V1F1aNfCOiif9@ z)+0#7&} z3gPp!*{p7%M-57Th2=e0!bVt?fHdW4-PDucfBE#A`0efAoQ9z;d7ZQn2FcqhiUdOr$uV@#_hzdRJiEf?dC)6zwJBU_>uGT`+*-4 z(oT?k`Pl!BXHT)K(a89xg1fb(q9U%Dqz;yRl~l-AkeBz%N7u(bYCbg71i0!UWeHV5 z`$^-65vOVZc1o;tAP1b{b#@Le0t}C`!aW0 zy3j$oR@7KYj};?sQ4mgBeTe;+aeG%cFSHk@z7rO>CJTsmvDj+(ugRjF?}#ObDjD1p zhtDOd7}UfhVFafJRl=6LoT#qePKA9JZnq~-ar3|V?CZbv({KFP?cL3$7d4XjR*^2X z$BU=Gq9o2cc~RW@b_3Av+B97fm6K3`yc++7H47}816;KYh)e;(;v|CW{*9}+n@Dkvw>}zO9O3h8xTL&jq^Zkn+PyDYgZ;DSh2*m>3glHf&YJxPa!xm~yinp*} zJep=Iy>vFN#3gI8fG}TTlfH_B{$pUh+{(WYz#S%$u?Ulom5XoI*aAy=BT*<;;Il0y zYRs*%NwNp*rp|2&+f2=ew_Kfq%nBZ4dU=sR4^>$=1t-_mB&WlQ<6KUv!x681(HVJb zidNEXU>)=x{MEh$93mL=C$1r%?ct&cRto)Bwp<&N<6WAS4w-e)zqK2SJU+V9>b}CG zY2^HN+Mr^^lX-?Ipk#qQh7Zxv;%kFN<~QM#4nS)5D%l!A(1?0{%VQSAbqk){8a{|* zC;(9I0Z>k5W0SrUM9z0a)Eqn9T&df0xoq9 zjB0;q$AfS#Y)GPF0A`LG7>2NpKE~|b_kcMwfhh%7rVYX8fL^5vTgBn%Pst{K_VW1b ze4azlQyot)ZE==^GMMmZ2y-6I!X?QDH}TuI)c)pgeEJ^h;nJ5!P|e(*`E#JS_YPh5m0{pm1%Hs}e$dGT9A}m` zKQVz}y+a+?(xx-@Oy_^>^~Znu_YRphs*^G2W)jHu@#E|~7HeTct5h+IY?Rz#3cyjX$B9zuEF6^~nhaZ7=(^~b z<^~fYbc7R&7HgE^o5rWRApK=^zVsVz1WN6`QSHNXN~zaOkTD!C6)74(NJ@gzpmi8Wf^E(e zP2A^0r##7v-L=sE~o9(eb4Grajq&7Y_P^h zy@_d%ji`wB#W7R`^5|opIq$boRw4%Sd{!9;8wV1D@6-^70a;gi)>w?<3LSz|vFFV4CJf4=u8JpWBkzxbwK zpUJ9?ta8eENrp0YHKbH?n(BWJqc00vCTUCsnM3)!ICE>AVH_?N%GD3M2UBh9=U+;W zay6QW#aY2d3YP_ZcbOs>G(yGp2@@>zgB|w#HzCVzs;Y9 zW;sIzk~SQLTqwE?jDRZe{>&#Q{)xW4I`a#yM>Tg)Q@Tge+TEOoWx-?uHY*-^ZH%Ut z9&ScFhBizmM=Nw$_FQX;F|7YnI)f*Kc!%7*dM#yzKQ5yelVgs{m+0#JyYPs(OXgL(e<>#u&!7+nN zNp5DOJ%RvPUOVYfLW4H1+*fo0Jq02QxO8ohL`KC;3NdC2MV&)ZVNP^5rDY4;Xl_ak z)L(UvU@U!z3Zrki1MVzWUhyjTF`Q1r*&5Uyj^Qy9@@OBsNlhCQ7lDXbVJvmqUNCo6 zr*fkQal&NnY0T(e%DQ_BpB=jBqtdCC=S;S67cG+SOe;JKdt|amO~myDPW^sG0$z zJZ&Tt1c$=4I)Nym$huJH-u5b3y*{s*kLZBc;H+Z2xFX1XeJw=YwwAj zda|8}{)vYV-?{Yn)y;!&(q(V4crQNJ%@5r?zg#Y?GgLDiIe7>|N!#Ib9&7E+D2;88 zshkJ`uvA3|6(VGG9k`vEfO#86bewe$nlYVDkU5lxuz;nL8ltYK>F61@7W-Bk!lA0d zJZnc>Tjqo>bR`IL|Fw724gf>5*HBTI;o^UT6b^YV0T6Q-9@?_i@3c zQc?^RFt$>bhqBRUMA*BP?SAps0YQ{72u#H86ZbNj<=jfAMt zl%~InKU3~-1{aJLTy|&cv)VR9<3I<4eB!Hftb{>(d(Q{Pq|4)gCHTJkEW1!Bk9hX} zA|W#dHvv&gjvh}d8S_&|FNbt4ZadHCh&Oo~T^TWk+oNg9QKW3#80P|fp6Z#Y{)E_0 zb{(s}#QT&bmpjBac1JsG4W0DOe)w%q--h)1veyo2hD-z8gx#%ww#kURhiMDxk~Naa zoG@$&?%}lz)CE%Ilt)H4M-I9>7T~ZN1;)zWn5}%}BWdA+JSSB1D^-M0g+6JMpzV)c zUd%l-0NeC}1lxKoTy2%(qXf;FL^D)o9eU61!2>rY9*s8Wh98F-BnaKw_55`D!>>L? z_f}h@nsouvLxL9P$35o*F{i~ntTs_{Jr~TYW#6A70FZ<13@mUrI*THZ=T8XVg*B|0!@=|o_t(U7L= z>&b1c;fk@(vsW)FEEhmeaCeoIgO?ixPGAm=Rd52*TBSKz#X8*?bITm(n5pT313eZ- zIP{r2;gF3zq{bDOu#L%pGouOEfjtYzKxXx6(U?HJKiz>_W3QU5%tjMDP~b6yNU7LZ ze?H0SETt7#SO~C*Fn14dtkl#@7ky~EB#wD-1tCKr`#@?(N84P<4Q-W_bBxVl(>qR1 z8Qnx`zj2O#Cs;t!)_72K^a|I0`6i#Oix5>>z29~1eC?ix=HH|APV`zg2V*me{p2Fq znDg2u*UGM*FF{Jb7D~PE;68r!ue^ElbT6`~4eP}QdC0kZ&Wh#rKH+s5w9lb^7zj;Z zN+;n%^n11a!0p|qz2A}h$dnZ?nu`Hhc<)xlO>iBSohbW1Q*|^iTgmeh<^~hy2c3~x zL^$|uyu%(9fPg)TN1@|b($?Fg{!krw}r-+dg@{~T$6+BfE;%LqafB+~FyBk_`wLtYf^y!)Z;#==Sj=Z()3qdj1 z>BUD{4D@=0{DgXu|efOTByDD6W_wSy3^!n9r`Rv25-affiUs|Wz6IBlsPWeDV?-EeR%R$ee`Eu^}|=r)%#AM z$(=|xCgK#C3|fQ~@x;bXf;u%m+w~XUKEtVZxEg_epbYa|0d>OMI4KAoMdX;e2g4Ar z(9cmarE`+m9dpns5EgSDrq7|IE)%xKpVL z=;1)Zo_Rl(ta_n>wZ|2B(Kx7Fp=Qvk!Pv4X66P^9cy_605O=`QJ3HK0I{3G(J6u@C zGaK5RuX>rt8P+>Kw82VI600n=k22@LV_eBjcPMTmxMpN^QWST7Lk+>+nv z{YQ28-#R`2ykBp`2D$T{Y?Sk&h8g4)Qb2&32=1dHrnqVDl{!`kg!bs>nabc@AOP&b z)rW&MHL(E?_><)oibi_qwK<;CE=!uI3qfvw>dk8ui`vn-LnrrCUG&EnN{8ujGOC20 zmd`Gg;cICDIKd5$Bcl-}ehen*rnld-zXnbun%WSS4Foh-C`qchMhG3L=V&@fk#+pZ z+!*4Pz&W~$b2C?1F%=+JQQAP(W2i~)IkJ6n5i~moT*l)*WLBo3h~5O(L?pdi=A}76 z8~OyywG>Ls-3Y^1$c&#*@gMoVpiEySLwCC1YO4Oi;rhPB`Ow^6}IF*`^< zR@lw9%Es*qoLYK8PQ8qFGdb?+>YF)*r~H`VR|KJOw~oea0?BK=dR)e;;vTWownDiL zjLp=5;XMn7=Cm|(PO+X1(To%I6WkMT2v{C-R%5Z&F)!UD39_oT-T+~{`;T9JhQhN4 zJ=8@W;{l65lbFsl8&px6-f!$_5daHH=B6W~2-v7caEJb9w_gA+X!dkZXt)A`m8Qvy z`(x@%t@BOkkBu|^qUBg)-;v}0Y?Nzez9%hgpDTq(dik9EBFHqdlkE!>*)2gmN8!Av z$l~_fKL7X@r>E>UH92(8Z%kdIz1J7T<``D4Ahs{bPA>o2Qt{G~Fpm{9o%gTRo@X|C z(oFAZJ_(e1t{z^b8}-jVy!nZ{cYZZ)KI{7%mbk^mIDVnE$8jr%JthZ>^O6}(oYT9p zGJ{$=em%#N|NY~Kf8@o-KXP+^wQc8z{ZeG}ZOziD+P@Dhm*1TBcSZkdT^1Y4Qd+VFVS3eUoKYXE zzrVJ3aQAxOr)h71lT3*@vRVSMBbOqM6@iY^Jy;GMm|2Wyj!he`Cbt~lv<}copoR@y zaV-JFCXk!B6WA^vT%P{FF0cOT@BHi!p5FQZeC*y)%4t+D!MniDq&N(-uspf27pZ); zSSLG@VbaOSSg5zi1j`Z{CrdKDqrofsT1<(Ez~JvnC~%wv;Pan3l%~+b4GKCetrq4? zSrZ(xlefpEVOc8zMJBEgNUUj1_7m+bJZhqpe|GwlLG9C}fe|^%uWo4xDcO2Tb8&u9 zwHE+K&2xI-MJ@OuFhOB%jY<28eyN_5s=4E}@EZL)-u)7Q*OrXEzB^#?F($xf&d=xc zfpbXYN(sYvuC_%60jXm8(PiJr*`=lPBC8Le-GXLjUbO#Q7!Dt8-itN=WrEE%_a>zV zHi_Hzwa3S8aifD zL{+=C)mF;+o)k%gL`pPAj(5Af%DkolyFx+D>7ngE!^#5T5kbO1sO8s!cr~GI>Q5_M zyxwbtgq6N2<IRpmPFQBkXLR7 zBI}9?4nJ2oKE!pFIT`$LF7MHS0hW5};9RB_sozRCQHbtn+O2h?!pJI9jV7yfGGGia`GtfTH>22n?}Waq z`s?rB0{K~8&dEsa2@ZwnxQeu5nCk3NP!_LP;d!E!8A$4Ones;U)7qvb=^A?ShUft`LJ$r`k$7bza z1pp_U<}0$yab3$MSneF5I)I-aaotZ{O>(h{zNg#6Y)6E=kihw-3d&>?CT42IT|+>H z5tzEr|1>}kbu&dAn>w*BY!Nq?Zl2!5laKiDcfR`Yhj=4$2iVi#x_~{fwUD!C587w4 z1=S;2sF#g9=|^tw9{1f?KRNIYggh96lR7Z|)=J;RV1Z?-JpMq6$+wHK!&GWH_yisY z?dz6WtuC;#PG`CfoX<*~5 z*tv7M@mL77UoTEM@6xIke0WJsiAC7;(uF6z8Ty>05)j;tZ9y`v*%VTrW@~lCbf&d% zH|`4PsMmG);h1V*lfG`MDEfGChMuW?YjP~vANLA|*?IdLer*0`u{Xs$bm3@aFNI=9Kbwb$B02vyJn z@ujUkzP$O)<#KZZFTO}kOgxM(fqCBvfX+6yq2*Qy=dgzdcMoOLQqk%33|b4nHACTpI$dQ{^R93TxU)s)!c6;W|lE zicKn*?eAXV%~V@Y4Qzur3XHxKl6 zoe{oku`nA^ILAC*o-*m&n4)WO{OqNLMngk8M8&o_PRnE0ugMsF!b&X4v?i=f;Kl(z z7)+(VAPxX=uaj`Pu%B(G9sLWBkI!$mOA0LxT0AS75nM+gS%@shCkp$}3jj5D0_r=s zd5^7r zUSPbgair7!A{+lmD*Gf`i>3S zr?2#)1eqPxBOEq})~~)jK`LTva2*|~6?H3hGR=e6i_lTS;=n|Tb=>uoe8PuhOkVPZ zNtv($LuQDoE2pWdOo#_SK8V|+u$|uH?Z5f@v)}mUyFav@pBLYB(`Lv}=rN_B7648k zZ@XvZ*4u$Ujc9r{M`zBKj2D(2zZPec+fE}|7Oio607$5WolGGXObUb)#*Pux(w>qJ z=5o?lZa2dmk(0t$O!pNfo`ohxmXcgA{o= z2?*agJkViyF`@as_B~prb&;dH38v6fvaV`v%}xA#!^4h${K@+l8&Y{8W*_{N-k(u1 z9CwOW@)#J3&6Ioj-JLy*>krqqpzGZrbu~`WYK%fTN9~onIw$mxma@VeQoUT0-OOh` zsd{tie$0YOFS6ZV^1l^B2b|(3JT2^CA3oGonubmL zNlPMHiqlZ$xx6mstR~;&#NHpQFdTR}iFMl_&Ono8A!R@Upz$ZJ>^imY{`*;T*REC_ ziaNklCXICs&g(Q|hsL2*oxSqnt}bTtzOgm}>-3!idgZJZ`_PM|MD6*U9J<}`nW8bFnz z+1vv;6p*OT%Vn6kGLdcqP7fofZ6$2|Z@vEHU7j9S5n_xX?gFfaVOkr?2!aO@gVz)w zs_|lPozB1U>Dw;AJI&^9bDz+)y0bS)q-9PX4FWg>KnFUw5M&NnJMNJOIerCE(^tMe zA7Ss|q5qAcDOH2nA^@)DY!qrkeWBj^ll9pj$IBnW`Ju7(URTaQYWO7%<|Lcr;(C;F zWgwdtoeCfe8i+mi!gwO0;bU0u1!e?|^8N_tNDHmXk*43emD%)HXNq(z6|M|Z7$G~HZ`l3OEHBye z9CnN)+3QS^4aZjhdue9QQhE@I#7=1|^xh}7F3(uCJ^4#M{qWW4;m=XMp5aMjO6lG`Jp z*e~Q8ID=O{CeWc(0qt=lbC|ZVijR8OPuqKV`hR)&)^B_9@sDj)lCbSu-8U%-ovxmF z;PGftJLN;3h4on;TK2S9z@+Uf8jNQy%YtUcfd8c0D6b-ud=QZpO_R`!RBd(D*j=6u|7x=r+~%orlNYaQ7az(`UNe z+EnH$of@92qSf+1SQIZL`$Rf&&>fLuz zCQ3P+-w^-u{u&(_dkuPDDu!%~q!UDEe&URWjh6syPZuAX6yPi3%WWndk2rkgh~A|L zB|xgRkii9I;Yn?Q=^niLSBz0C+C0t z-_(xzO}4KVahM7MO9HEH@8j0Rpr`rg)n^{x@jYK>@ne3}GvJm~V_5A(2J`fEv7x~t z)7Mhatf*@f=*&CD-)ay<5U`uVCA=uv7kx_4*r|`DR!WHJuxT_Ko67_i|J&FO6j2sA z_nlu=pmts*hv*bLok^xXO)deLa(F8-G_liYFtaRWye_Pf5!WNo?PheKwlw130SlRU zKiLBvAR$)sI6$zqLvrVmQE4a@Sc82G)2x}#3!L{2`{`eM^?B8Hr!5XmGi_KqU|_&{ zHn^~27R66aU&1;-P=jlef^9%f0Gx=)-k|qeq0v70gkrU`B4w8i!c9z!JZh zRjo{zEUm z`3Eka{>t0i{qb_%Ha+lv^yD2t`(qQ_v|G!HAmZH{&mG~Rb2k#4^$#NmX$|?Ar}Gu9 z)y-=bg9%Fs2*^DYj8CKtt+>{JZc38uE?YEcGh2cbq2YiVrY>!5vs-ti$-a!!#qx6_<8qFoSxxfe~mr`c;hhxAPS}J4U@ek zPn#w1Wi^f68?Y^%c!tzS5&o;0_c}C^95IwgHOlfjFK;DMO+d>8M~EBVeLVkTZ~n|r zz4+``-QB!FU+P5FOirzWJ7@Ni7QN7c8p}0-$Dvth(6fIIGve~<5af>fF?iPD9)}{Q zH6m>)3UU33gd0vF7@RUr=Pq&wQDB<4DxQr1Q$Vc0LuQ{e?NB1ezz!du(vkUgB|l}b zP>%m2U;}6ph!;!i|RNj&gosi(*f4ee5 z2;7>dJ{2VFcg=5Y{k%?p_4fSD<3lgN^K~^sl}lcVCkTs&E=>;8^~~2SjOHOLa=jdp z&=*Z3_KmQHsjyRcEmop)yvs5o9}5h1Ohqkv& z&D9S<&OuBPYKBL1)eX%jnRFoB8L?%<%B)P1l|I~Y0w`K3fMThVLYZ$*!m&mk%WITa z7iUz2l|_qZ_)1!J8=B@vX*N3szJ@j$NuwDKC1#H1Xe#cqKksG0wh307fhQkHw}1a( zHZ06o=HEUi9OH{jMeeZ$S8Gl_K2nI~fn)wL*PVH4+YH9D0|W5_fDKovTTM5FrAI9^ ziLj-tXW7h=bb2DCr)v{hC}kortV`*SHaumtow$S7ZCQuSr6&>fCdt0Mt9SId@JIVW z(lgs)+U`>Ka0zcZ+Ab$ColBoR3|Qjqdx>O z4(F4OUS7Stl+z5`SJO;jfz{Crbr6TC<)NWyQL9!jT+o6P|K_Z|+K1(wK3aBA?P}oi z_T95Ty1)KU>-G2Dox0e?tz322iGoT#=z@{+FP7kcOWa_b6-!#2_=80yWG<0Ys{Yd+pM) z%h;${YJ(>{vRZxKaHrExe)D>YJkYt-SLZb| z61YHA`C85O>4sQR%bo=+dlodKltL)KaWrA&8|&2otjnLSePMGv@dw%b~kJzu2JljvKd*; zSCB^LZm4WTaB!WgY~xGB(Jls+1IP*Vw7`gjQie>7lTK4kLk;PeCC4agouH)<-`;HE zVDR;#MX68R=?bjH@Pe|IMj}TIM2VC4P9RM!V)lhrEpt|#Jsp^3G?95UA$$#?3Gocb z4d@fB7g`LX#CqmZsFt7hmV)Ls>fFCd+Hy3&@*5- zYjWsza4#a{5{0j=r@u`A)hY-@&Zx9n)G#@zF>|r#*z}~K467lN*k6-LhxBP>UbzA2 z%ue9$XtRzp)=q$P9Gy(*&>?J@OO%)o55PN}kSU>0mu1iPwUsi8@Zg3%P<6Z3>8Yc& ze_V5`249`3(@fH^xTZWDOgZuNs@Mxyr~AzHsyS5%#97er<`|Xy%ei46I98bI^!9DW z_y_x|F#zR!^oa2YeGSDDbF$^!*I!F7y#0wtih+OtoHvK4aW0AB&sJ;?cZe0v;%MqT zh-`3FVW!fMg3CFNFoX({P;le_d2E8x#%&nC)2Z^Cb`VcBVoX?t-EWRo5k5qExHOYH zFZ@jY;*hH&1T6P*p{Gw%R%U95=lb4RK_LeQ#2O*8gpx&;7cCDHVq%tZlIwq}yQUBM zW9coNKiM9?rq}OnwJW*mtgNQK0#(S(ZJRQ(T$O~Rof=GXGl!t{N*7%4o8S7vrFYdf zdoe?;<}7Q0Rq~c4qF0iIMNV}a!E_%F?7$%rVtF;5e z4;4B9pve+1#XABI{r7z5yYGuopHP=m6XJ$ValJ9(S+LXxuV!wc5)AI!b&aHxbj)|k zcR03jhB>KUz8Vlc4lO+fmnQ+mO%!zleEsF)FMs;%FWsJf`fz!oQ;XmRYVYZ?Fzzj) z%m{5n3zzLAoCQ3reVubiq>9zp3fwjk?-I4^$3Om4?>>3{{_T@j_qx;NFW%m{oE}d& zZH+f4SE!W^=U-xv0c+fR6}AfE)V}BdbmWA^>$&;@WJQ;uWK1yTw6PPb0XGY$i3aU| zeRMU+k|UQBI?frhoZJob*`}7S|VmkfBGiMmldVDhZ(`bSd1sM%M0@dGKM(SII>}e)P6g4n-d9MGPvjnPRhf3uu@ef=USu zE>0AT^BzyK&PrT@6V{#I9tfxre|&noxC7y%uPc}s7Ad!wND(BC>-?^6R(=C{nLIR) zx5I)wyNorxV8Cpp`}~-1)Di{qYC=vL=5LBss14lM=ri>7zWnmL_r7pBe^z~}(=Mi` ztl%+_%l*E$B2Y-#1t!9T(@x3MRQ0wDQkVr+QdqCI#WyS}ALmT^TqE`~(PLsDksdHw zyrO|^h#58rt#7Dr=*utS0h?y_TsZHL&pb=c43x}ff#6th%M42bE_Eq^+@!h}-tW^N zzdV4CcXf)+82NNSpuil}VsR9!ikv_=w>iefvKe0LR31` z{|>9{g<=yK4RG8U9^9?zMaB8fjOT!_OQdAP(SOMvKdoKC+4!`C)@hf zsT|Ob4gTtJjl=rm>a*F(6csEV9YSFkn@$PJcFuRZ!YVRDl=bC3%Zxh=cC=LHOKmp2 zQUwayEHEufT2|`y$oRhIRZ&-czfrzVtQRQaCKq(v3VI3L& zdn~$d_{fzYP&?bR!WxirR6SO_wLUBV6~`T=5Ik@Mn0YdEuDqEsNNY5jvjHnMfKT^a zG|`R=!&AI;hzI%s%jE=#2j1b0AU1+U)V5*gzjOcQt-86)tqM^p&c?9)`95LoSQfon z^0yxc8YH`$kovsUw;wKl{nNK`s>jENZK`UCO{{dswOP`%d)#}3t5us5QXFwD0odlx z5$pZ$ilL9J>9Z$rZ9iA2m{m^;p3XWW#l5+ufceW!(6+z5-TXi9zx!uu|6!f?{j&G; z|8ZCAS-cE3ox@WBKF*4Nn9%^f%xtotRJxh*8fpciu%(blv930F9f{?5cf%;SSF!Q1 zonG9({^#EPBC0=Up9D!eP{d;k(fp5oc-aPzFM|Y?`#w)(J#s|0+R9?-YPK*faN5CAQf-2*UXQ8^m^fI*F&GyFc; zAoCXU4wOgeC5Qz@sT9OeP^MR!q)B4BDJ;A)To1!?hI-|#Wjl-cfuMSsq#lVUxB>BN zzWcT3JiWzkK5pD54D5kzQ(dH}LE^U2xV1z4r8hU)^SvUgq&6H9S2u?ex-+!LsFP|Z zz#Rw`=z<1i8l)$h2D>!3C5EVGr7XrGb$JHaxbeJ%1hKjcdMLhoyVZUD%FloH<@WgJ zKAvB77dCVax*eD7cA-k$&SEOw3{6=xEB(IaZ8uy!LN+?YH%B_&Iym%BbhXA7{4_(a z15I-n1(zep9kqPCZ#YqgwlaCboU(3x%Jrk*b`oD~LhG-) zd%pK$;Q|W9YSWIZ=s*16s%CHgB`kDgCUN=*<-Eigki5j_EQdU&@qW?A7S4O;)N~m6 zVh79VoSdxnbO##B{MQ@s;1F)TMtgOmWyGwJ)ldDj1 z_Hgs*oTU9u`<=Gm_4*T_%Dp!NVzknpln3eUd0>KT7n+S6$uC4?xCyO{9A^;b;l7zG z!lf`y$|ii!pR>_^?>|uj+KL%iJ#NR?7h4Ck;d+KwsOQ0796&LM$kgnu#vWmLv$Q=P zK7XwB`{^Gs9zGvk%8-M``j~wAyx;WOb*!G3tdLzu4)|iEp*eo*#Q_bAIa8f0Q;B#} ziZsVS3$q2D%0M{-aRCuC0jDahB%)f+V>y5< zf(1-xGxI8&j~{pzq}=zEUVd{l>)a4oHTPJA)ZxO#;r2bRz9}+MYwApbJyMc%6#~o| z{Jx-$@ji2|vQ7SXXs^j!Dx6bB73&6x7?_1JoY%N@U-`o962GTA%ov^qS?v1c96iMY zX2pA5C0hSEuIJ95Za@y}>2InLFF;YA%So5+*cGB=jD4#w;;u$%2lcyNe|k%9hKo5l zoG#Z+K4BYj%f2MzO>-RN>~d_SFxNbHe(QAkDo#I)(`Vf$Rs$KYT236z{|*MS22rkM zNMoOQkEGvjwO3h(k?jt#0JMtQ4fWr(hw|>~aO1!~CEzRo;^~wSoI@`Sv&7 zKixF?X7Og(5t;e1d1L@6PG@zwo5DQs1onfQ9%ldw3q*P(bkyd8W)Aj{vZ-d7AGSNV zyig@n@d@~IkM}=v_w=uM_JtSy`b6yLf@*ZH)r~X@Jg73uCU;E4H*dEFuJD%sFJ%2orxINxw zxoQ#2*~hZVk;)4w+ztyK$;5hLZHp%@4~yV>dr?GV^kSDgjTkZ9z?#JD*YIxhzlpgi z@^G*d1SeL2>eM?<`eNVwmwNeAZ$AB{dV;;)RF_(uV_DIWi2_gq)^qwJ06Wp8AFmDd z2<(%^waZytdwY<+L2h#VHgObL2{KhR3W5woabl838!OQ_B_qRV>naq;CUZpT)R|co zqQ(JA+`%uLpM83H_{nel?Ct6N!A;$7ecp8;z!^fRLBa8m%r(6tyxhkdQnW6B9-M6h z(c!?^37@uFv7Sr6%OC<2IHXco0zf=(WK!CZc~MD8b(xr$G*BXb0DjIL%9a`D_6cfJ4!##-wtEwVdj6>t_e*Wi`| zd6L|`y&cbDpQLS{2;7Bk;v{{0fB3Cmd=Ko`J#$!Q)}%jiZgG(7s;rinmasApG7IQd zN76D%0oyX}Tmupi36gMQ{-iw9ETbH~jBT`G&(<9iFoVr&7KvseCBU!OzM=Oe%}rdy zLJeFM%?zAzdWbkpnN1A=7L~^JGB4)be3rI3yx&f>f%>-|KA(bHP00egHCJRa@P0Y1 zr|U&xpIwS|_A2{jS`a(Qt)U|TTM(>p&NpU3D?vUyb-V-){cjD2t=mE|P9>wT!#3bUDOS9}fqdN}$$w7ObFGA}$&%t7aE=?k&X(Tb{4Tk>;lg$+S z?DTTm(fI3e1Ibg@AAbE3e7xmp7ZM}aoiIQv;6P}qW6Fdkw#P^Wg5AAAyXuB`C4u|j z_UwJ^j}OEq<&ahF8{0b4s8f=e~QqES5B@oc<`ub{4R~LmaQvnhB&~2qQ8(GhF`SXIB6-wm(F0x{pgO?blGp z6@C$3G;`i^z1ZQkkE~aVj~fnG+#aOI8{FdNZ+r3K$94I^I_-Pcu%ueQ zjLA*I9yt8=L?-6c+IWkT#1a?VH z&XL3zT~AA14jH?u7P4Ii{0BRa11l^ZVm^PB$@<5LRB*)oGuLi#m*%hWDu=2tiFpl7 z5p~|lWXgvB z7@F!Lgm3AAM5(hhqN_(B_4NKQwGJQ$)aS;``f#l!^a69#q3%Y3YHT8UfA4huh!0=8 zfAREm>I({63F$B2>n6kU=g}r(dCR$JFJ9VeJL9#)F&z-iPF;6jb7#g~8kH%$pk}8r zwlwq;c4u*FJFhG^fV<9*>>N%df+>svF5$&<6l?-6upR#4%b}B*C;fANY^$oF*jK#~ zdU;C-HkUma{!0};c|eTV+{cD0o`%K$h88nxnYFenEv%h9bXnpGZtL&@;7sC`WrQ%C ztm6DjIUF9XpdAyiasFOIR(Wj}d3Ibm)Axi*isc5lwBd&;rkW^f1$QVGZ|m47@dP<04d7ld!6UvLI0=oom$wo zv4u_8w0*tx8=pMK4IeN2sjAn~ZgVt$bmjAQr$TDXbyb&6tg1o`GwUZGhjio_+G^&L z((3T)qzy;BQ{c{9=%O8kI+y~C!JkfzUHk3nguQ?Br{8>!cPHU-&f_ZVg3Ix-2B`SD z$?R{qx*u2IbwQNvK}gt$X-KKVNl02BkRpe$_4Su_%7;Uq)rY;bkV{vNF$p35Z*4B5J2*Mr_+q4DcK`|ty8Pn!>5RTCTH*}}#+ zfeSH1-Y?(}oHrEI`!=vXepf42iaG6#OVt|jWCk@Ow^WXF88~^;n%U^PS>vEy6ySapQ8$?32*I0TvIJIiL zbvg(sEM|EjBrPn7J^7Jqidi~3k>8($y8#V?OyE6Qlrd6(LsP9~4PMVK&2>Vz4>UiX z$FF(ArEAW;l$t0#-`Ys7X8z7lK`yuoKPY!$m?2u4{q3n#QL+WE!4i^WwJh z5$y8SxBEn5O$k2q8!@d!L@^*6rv-sRy@+R*!Mtrt}FY~(tS zQm}=Xp--TPquBZFya+Xc@1NMjt7?d?FS6h`{~IkP1Jt0oie$o~Icr>wJn4}|2fFx7 zoSD9AfUn#kvkv_M1JneLkxa8z4q9f)UiC%pGKh|YPwm$R#a&J4g6-1$0Q~*?OEjPO z+W2@RIL!wJ!%S45)yj?mA}rub;K)bW(=F=9&_LxK%g}Y=@~0jk>4x z_9oW|%M0b7l)2#&3!4M5Y}uyf@5e|bvHJtLvWST<`Eh|c2wE>Z+ssJknNl9MWf&l0 z48Rl&wA)fi=CDw70wnJHG->f>r=RQV7n?)Wl<6X48yDT`i-A9XULcV=4$J0MDXoqY zUNw0{x$;UQCQn3@AnX%YbFaWi3n5K67D>*#$X~2PCV06=`Y;Ume;MG8$xR;#^-}XZ z4<(qJ3?Cb;#W*BGV3isu7h9!xNB}gQq}?MGS6tF>zjBx%RZGp7)fzV8Ps|yOeY$mw=XZ3T(sfX&ji-c23t%XlvlQfMNL~$_uRe#v~I3K;ue{cl&MUr z1f@n75ahQ)gLFMv$14##me1N{1W0>}n`*!G^V8iQeEj53>;A{;=3Ze)Q|1Hsm_AaZ z!83&@Yj~X$pi&xnVf}+^DUzf3!LM%n?ao#-mBA~&??ShfBQycrH-7r~@Q*xs|Lr<` z7mqh8G%wqb#f4H?c7`KsVJLy=mpl=4(Mu`qx=>JU0yIbZkr>~4sHd+^f6eP}{%3DK z`TL%I0mVmMr`|Ciqi9N~$Gmb_Jr6P)(@{rO-jGypNRji#HZD!2dizlBiUuw+tdftZ z=itqO4CXN)l?xG!9PDW7Q>baaoFcHLQ(VmkX^7jUw>tMl_3rJnfA{rAzwiF#kJOX< z=`q|><2$J1dpE$`A^<6NOL)CM{s>MaA3Y6I*cbcKB2J;f6r*-?ce)e;J>U8AiW3Ibr*h7$FzqKf!bJyEsL5F?1&>z+i2U9x^dL*^0sBFmBLyrDftB4IgR$3 z8}Gd&E#^Ux1Ot)c=Ycd@K#_$#MH#gx_V^i*lKW)Pn%)_Z}%-L_4Kgvd*0Pv!Xw>$pzS1)ls z)vDw{G~A^R$uv1!c1a!!80^NfUOLDN=keAqk0nR|wu>xNpRCv(;A>RoFLP=aRQJTe zA*f49wchGXaRjDqXkZ`5CO+Pq^1wkY^Eo=hj`gBr&5K}6;$V(PL#)a1_`_TtU{aF~ znd%Yf)9Xj+k3INsH8D#-?)Yn+(a$HRFw7)OOPw?r_*Tm@u_?cE8>AuQt*pT8#2ok= zsw{o^SVs2yeO})tRPb-W3d`8%WI_dbaC)yjrJ{c}Te_-+T_`b&Tf|Jp^M1^W9*SP_ zYWo{z$Pttcl;kkDd~8RzgQc0H0|L}>0=tL3bNG`&C#0Ze0f z;rOvc4!EZ>i7D$XGdSn6jze2dV^9ddjRbE0%Ig<5U@kI+3eH*2)N(HR01#|nyPNkN z6Y#wnL~zi)-#+%`Q9Jotp1t3C#EE7d>CANK5Mi6^B*YY$*$MAo^ssS|29-)e0m>-( zg`Pgp<@9RvvHrMW&JtZp?vt0$A_W!~*(shN3Vp&^z&-!k?|kh!Pup}C4cHB19^T+U znLG`C%)vd&&Ij2X(=m5OlzyvAV{uJsLo^iEpjGIuxbBb>%s9G&h$6qXKlG-5_W76h z#|zY_(n-D_@4NgAx6zVoZG{dEtsaBj=#V<SImJHGX(Zdp zF>f8ZA?!V#I5HSs;n|Emb)wmD6dj<91-S&&Cux^defRK4o&JWGzkt?zRrjpUO$t~n zW0Kja@~deue~w2YjqM=JY5O3|mR)6T>#hDwmZ=l#I zH=Z<+*~##EP`S7dOL?|aKa+atd#*p2r-^P1@v6egwhK$7bVbcDS_iE)^N37#2r*aR zL*E$jF1`ThBsI3HL_d8rgN_p$O`Ci#;jjm;XQWR(J&9l~34+Iyp}Ps1-zjIvm~`0& zn0K;AWBM&sm`X|uMkiaSJ!#Sy=oo;Vg*l*c>93VjS%MJD=Y(dd1h~Yj5un_g-1}|6 zEawwgdgL5e6*#A7izX49t%Pz73zAzHB0S4bxn=HsGLJITeLW8%d5yFX_(=|Y%T*Kde7M@*KBaZJ8DvfLk7mj%?ym0cd5O5_&%UHP+g{xE{c_Sf zcefjFf6=%8#7`G)F6s@z^~|jRM%k|<*{y{7cBKww}r>Y4QJwn5ftZjX{#W}${>n`VAP@C z9Y8_(V%6$2H=pI1OJGf_D))m;y~;X!H2=}?zghel%glgS)1N@7d!x9i@VM_^zIpnI z^y|O#^Iy3=-vW;t3spr_HOm#+PQf$8gARjZBZ_|GfV{?ZQC|Dag&0%9yspBnkD=DA zI9Vw%u~cvpa)-11%?N9DEw>r%|tcWO!BKHMeHsT^|mxMuX+X3bX*tvD!bxQ*= z)zli*Uf6cM6miDi^5n^d`{Q;4)CIj?_Z0=gcg9{=SoGn5O^#KBEJ%|yp&MeS5Y%kZ z!FgH)ZtIP%!OP!=^=p;Y;gFF4lR`{5k;~}%?4@?YM1dhbF|_p zz<824d~W4)VJBuavs^t_X|75zMl4+ttmQiRB=9PKbXL6-n^mZ(n3a)qMWjlDxX=w^ znQCNDoqPL^`WbKjqNnfO?=SDF zb`%PI@g)^Ux6I}lmp8~PLFw9R8p8T}*w@G>&XQs>l;CX>OVD^@s?A9`G?0xZbL0UEnh2uADL# zw4aMRo;CmR`%k~V-+%w<3;}BGdyBnUw9CP931m01U9g`w+}5dCUD$LXq;L)&-IBbX zNV$+H95vM53@F(taU6P+sLWtjA&qOCtJWc_CHcI9DR({PJ4xv)5t=CSUE=R2nbLi++7nH+V%_^`i)OLEwt<9OTZ-NR+Ru^p!D81pOg z(`Rp;h_z?J&KC9pay*#DZ_chDC-JQi_kowhu?#m=#x1JNCM9OMVw8@8|^&Il2M+3hUv9EJ};uwy&@ zSt`>4uhEj1w6ZpN-Z{l1oZ~?p?o%EjKx{oq%PK!8rWp>+ zAykye68FBm+vnf+`W{pNXC0zE){BkeE|-%!W^3i-lNlUdlajS@@W>SLD9{-{&HR*< zDSQaD(0=9hcrKrD zIZi@6s`GABV*^pHnV3*!1!UEG(C0%6&UIg3rIDaLHsk1L`nXt5C;x+7ohKdrgS|YV zH8XO|X^Ouyu1*(TnNe_+X)@t|DYo4nn10gII|D+Eow(gLZ1|5}-#=$*Zyt%UVE;0l zO4y3NYaRSpCj}6CZUD5^0~-)<;dHWpayEl8^?A_g`vh-ygC&X_-ZwwzMyKq1{ zoNh#ec)4lD*qO{*Io02_Fk|hEBQq1GMjeY1F;=$7$7q8`ejx0Z?ey+;{`&UjUwZk; z4{c9AJ?$WFXGW`f8x_O3MIQ=DC$5K#O$B#`TA|Eey(vTlBzo_~J%?3s$uRF>m_+kk);ytR^4L=U-Q-lo>xDNO~QhnU%i zw6iX#Zrv8owOw{f`x5M7lIR^ilmR2bSZznohkqU;VK^4mav8u%hCfZh(CPA{$Q*l7YnwACU}6eaDC%UJfXN2m%3pVLby*=iA@#-49=3 z|6$f6H*O%S1(4kiNLm#;JRbH+FvwIi8;8Xgr;+I}g#?NUa9i&~qQX`3xSY_D*N=_x z=LH=mL&69$OMJyuP}X$lK7vC^$uN(ZOF*1CBFx*RLFO#+EFgtU&Kf&4!#h~i`U8fw zSLz6R*pShaiHv?7$S=OWQ~5kP63!>nwDw3p=32F&YF7?ON^hAWP^fPSzqp<}-ELlQ z`&lhu-)8}?y0smI$;;=%b8pJD9q~pxBy{*FGxMo!{{A&`+V+BQ^OGEq=gS<#+~CFx zHaA=i;DS6N#*wD5si~@I5Rcgygo9fR2+?Lt!OT5>=l`>~yK-AYOZN_H7ge_f;Q#dc zBk-hcYool}tyB{k7&&N!$%3Y1ZagFA9>&Q=+WQYF$WN^hKX5UWLP^1UwQV2v?6G&# zt#;8q%Tq&oOTyfHxA}2b6do<^=i)=9pB3i?F`qM(aK#w@z|MFh@{55`dlBH6(IwR!cLngmz?GF0it>oA=MzpWLL) z&8lTiV8lq`lL9Izj4XS8T(~QOwXq}6tRgj^xFw-OlCAtbkMc)@73b_TOnChQtY{ej z*OA}4d}(qytJeVm+gUl6=Sn7+_gQ5V^h^jH2z2Z9zDF5 z#l5I)3$6i+npF>roCL=VIk-1#048r!68tRA{A43?StlA}QG(-?cH#KEAjq4-O|zx1 z>*05P`Ku?MKYsJD-*EQ`p$HdAB4Y>6jU7JgYUE1jDU$>H{|YN)kL^{DK<-;`B)~J1 zR+;KJ8O{u%b(4RV0%=9lHpaz>d~|dm7EsbC6XKj#VVh>ebkh?hJ!VfUa2TA*vke8Q zi%t&Oim83_&}$+`wI`{~-ycSdM0+lsayph1wYPu|c>ZILAN|ocpML+7yB$;Gt*UNd z2V`-72sjJCwn6)O?~B@N)a-6lN8fUNMviK8#42^CNSRCfl)Kquoi@yd9EsGd@AR8o z*MVoni393f?^IE#gadAwWyge7jA_+{JNgCj9ydJpU;6Pk-qXz!=ps5UAd8pa9OOF7v~cem=BH-3s<^2baKJ089|Pi5$@q7TtAhX zvKgh3zb|xE!m$^MRC=!ATAB3?AB`)GM-6CEV7H>e8$wb-GOeLR6uPa{U|_=G-r!dw zv*rH9l6`^IkY)X+Lu}1vP0S}0A5)R+y?$#IbZ))CurNHpC$9w}SIr55-R`~MS2uKwr>w%rSZV~e z1Kqhc&HqtSf{|&XAzL71?o*F47SU*EYa)xyYW^ybm0Cn@u?~hJ&0(z%0$>`P0G$(4 z!3nN`Vs^PEMER#(7fM%kRbYlzgF9sh7M8>E=A#zU@#vEjKIZW|+cAG|iOti8xxJND zCiS`Xv=-Mw+X`Y{X(nq;rxj)a=N-)l6|OKx8H*>_73s65WtDSeJ`v<FIMP}p?JJy5Af4n8Ew|am@wI8zK%#NO`n>ih_x$Uh zzBQwzc4(}iv&mfS<4TnCF}(W_kqHMpE`U!8t6JU+gZ*j?H}ev#0v@s2;9y8!?K0+% zMEKIEaYVw#Ww|zxU3%wq{`B>W-~Q@bUwU%)dSve%0A^MzEG&&yCBwf%+SFZ#gya%F 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

vsXW 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 z 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 = (p: P) => unknown; + +const ArrowComponent: FC<{}> = ({ }) => { + const [value, setValue] = createSignal(0); + + createEffect(() => { + console.log(value()) + }) + + return ( +

+ ); +} + +function FucntionComponent({ id, someValue }: { types }) { + const [value, setValue] = createSignal(0); + + createEffect(() => { + console.log(value()) + }) + + return ( +
+
prev + 1)}> + {value} +
+ +
+ ); +} \ No newline at end of file diff --git a/packages/reflex/src/core/collections/unrolled-queue.ts b/packages/reflex/src/core/collections/unrolled-queue.ts index 185d836..6da17a9 100644 --- a/packages/reflex/src/core/collections/unrolled-queue.ts +++ b/packages/reflex/src/core/collections/unrolled-queue.ts @@ -64,6 +64,8 @@ * - Stable memory footprint (≈5–20 MB depending on pool) */ +import { __assert } from "../object/utils/assert"; + export interface UnrolledQueueOptions { /** Node (segment) size, must be a power of two for bitmask optimization */ nodeSize?: number; @@ -80,9 +82,9 @@ export interface IUnrolledQueue extends Iterable { const DEFAULT_NODE_SIZE = 2048 as const; function assertPowerOfTwo(n: number): void { - if (!Number.isInteger(n) || n <= 0 || (n & (n - 1)) !== 0) { - throw new TypeError("nodeSize must be a positive power of two"); - } + const cond = !Number.isInteger(n) || n <= 0 || (n & (n - 1)) !== 0; + + __assert(cond, "nodeSize must be a positive power of two"); } /** diff --git a/packages/reflex/src/core/object/utils/assert.ts b/packages/reflex/src/core/object/utils/assert.ts index 137850f..1439cec 100644 --- a/packages/reflex/src/core/object/utils/assert.ts +++ b/packages/reflex/src/core/object/utils/assert.ts @@ -1,3 +1,23 @@ +/** + * @file assert.ts + * Minimal zero-overhead runtime contract validator. + * Designed for fast-path assertions in performance-critical code. + */ + +/** + * Asserts that a condition is truthy at runtime. + * If the condition is falsy, throws an Error with an optional message. + * + * @param cond - Condition expected to be truthy. + * @param message - Optional message for debugging context. + * + * @example + * __assert(value !== undefined, "Value must be defined"); + */ export function __assert(cond: unknown, message?: string): asserts cond { - if (!cond) throw new Error(message || "Contract violated"); + // Using a simple branch avoids extra function call frames + // and keeps this in the JIT inline cache for tight loops. + if (!cond) { + throw new Error(message || "Contract violated"); + } } diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index e853ed8..c8d3607 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -1,6 +1,12 @@ /** * @file ownership.core.ts - * Ownership System - Zero overhead hierarchical resource management + * @description + * Reflex Ownership System — zero-overhead hierarchical resource manager. + * + * Provides deterministic parent-child ownership, scoped disposal, and + * contextual inheritance with minimal runtime cost. Each owner represents + * a self-contained lifetime scope that can attach children, propagate + * cleanup, and share contextual data down its hierarchy. */ import { ReflexObject } from "../object/object.inherit"; @@ -9,37 +15,35 @@ import { batchDisposer, DisposalStrategy } from "./ownership.disposal"; import OwnershipDisposeError from "./ownership.error"; import { IOwnership, + IOwnershipContextRecord, IOwnershipMethods, + NoneToVoidFn, OwnershipStateFlags, } from "./ownership.type"; const DISPOSAL_INITIAL_CAPACITY = 4; /** - * Shared prototype for all Owner nodes. + * @constant OwnershipPrototype + * + * Shared method table for all `Owner` instances. + * + * Designed for flat inlining and stable hidden class shape in V8. */ const OwnershipPrototype: IOwnershipMethods = { + /** + * Links a child owner under the current parent. + * Ensures deterministic parent-child hierarchy without duplicates. + */ appendChild(this: IOwnership, child: IOwnership) { - if (!child) { - return; - } - - if (child._parent === this) { - return; - } - - if (child === this) { - throw new Error("Cannot append owner to itself"); - } - - if (child._state & OwnershipStateFlags.DISPOSED) { + if (!child || child._parent === this) return; + if (child === this) throw new Error("Cannot append owner to itself"); + if (child._state & OwnershipStateFlags.DISPOSED) throw new Error("Cannot append a disposed child"); - } - - if (this._state & OwnershipStateFlags.DISPOSING) { - throw new Error("Cannot append child to an owner that is disposing"); - } + if (this._state & OwnershipStateFlags.DISPOSING) + throw new Error("Cannot append child to a disposing owner"); + // If child already attached elsewhere — detach first if (child._parent && child._parent !== this) { child._parent.removeChild(child); } @@ -50,56 +54,48 @@ const OwnershipPrototype: IOwnershipMethods = { if (this._lastChild) { this._lastChild._nextSibling = child; - child._prevSibling = this._lastChild; this._lastChild = child; } else { this._firstChild = this._lastChild = child; } - if (this._context !== undefined) { - child._context = ReflexObject.Inherit(this._context); + const parentContext = this._context; + if (parentContext !== undefined) { + child._context = ReflexObject.Inherit(parentContext); } ++this._childCount; }, + /** + * Detaches a child from the current owner without disposing it. + */ removeChild(this: IOwnership, child: IOwnership) { - if (child._parent !== this) { - return; - } + if (child._parent !== this) return; const prev = child._prevSibling; const next = child._nextSibling; - if (prev) { - prev._nextSibling = next; - } - - if (next) { - next._prevSibling = prev; - } - - if (this._firstChild === child) { - this._firstChild = next; - } - - if (this._lastChild === child) { - this._lastChild = prev; - } + if (prev) prev._nextSibling = next; + if (next) next._prevSibling = prev; - child._parent = undefined; - child._prevSibling = undefined; - child._nextSibling = undefined; + if (this._firstChild === child) this._firstChild = next; + if (this._lastChild === child) this._lastChild = prev; + child._parent = child._prevSibling = child._nextSibling = undefined; --this._childCount; }, + /** Called when a scope is first attached (can be overridden). */ onScopeMount: noop, + /** + * Registers a cleanup function to execute when this owner is disposed. + * Lazily allocates a disposal array on first call. + */ onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { - if (this._state & OwnershipStateFlags.DISPOSED) { + if (this._state & OwnershipStateFlags.DISPOSED) throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); - } if (!this._disposal) { this._disposal = new Array(DISPOSAL_INITIAL_CAPACITY); @@ -109,6 +105,10 @@ const OwnershipPrototype: IOwnershipMethods = { this._disposal.push(fn); }, + /** + * Recursively disposes this owner and all its descendants. + * Performs iterative stack traversal to avoid recursion depth limits. + */ dispose(this: IOwnership, strategy?: DisposalStrategy) { if (this._state & OwnershipStateFlags.DISPOSED) return; @@ -122,47 +122,55 @@ const OwnershipPrototype: IOwnershipMethods = { batch.push(node); for (let child = node._firstChild; child; child = child._nextSibling) { - if (!(child._state & OwnershipStateFlags.DISPOSED)) { - stack.push(child); - } + if (!(child._state & OwnershipStateFlags.DISPOSED)) stack.push(child); } } batchDisposer(batch, strategy); }, - getContext(this: IOwnership) { - if (!this._context) - this._context = ReflexObject.Inherit(this._parent?._context ?? {}); - return this._context; + /** + * Returns current owner context, creating one if necessary. + * Contexts form a prototype chain inherited from parent scopes. + */ + getContext(this: IOwnership): IOwnershipContextRecord { + return (this._context ||= ReflexObject.Inherit( + this._parent?._context ?? {} + )); }, + /** + * Provides a value into the current owner’s context. + * Child scopes will inherit it via prototype chain. + */ provide(this: IOwnership, key: symbol | string, value: unknown) { const ctx = this.getContext(); ctx[key] = value; }, + /** + * Resolves a context value from the current or any ancestor scope. + */ inject(this: IOwnership, key: symbol | string): T | undefined { - let ctx: any = this._context; + if (!this._context) return undefined; - while (ctx) { - if (key in ctx) return ctx[key]; - ctx = Object.getPrototypeOf(ctx); - } + return this._context[key] as T; + }, - return undefined; + hasOwn(this: IOwnership, key: symbol | string): boolean { + return this._context !== undefined && Object.hasOwn(this._context, key); }, }; /** - * Optimized owner creation with pre-sized disposal array + * Creates a new ownership node. + * Lightweight factory with stable object shape for V8 optimization. * - * Parent_1 Owner - * ├─ _context: { theme: "dark" } - * └─ _firstChild → [Owner#A] - * ├─ _parent → Parent_1 - * ├─ _context → Object.create(Parent_1._context) - * └─ _disposal → [ fn, fn, fn ] + * @example + * const root = createOwner(); + * const child = createOwner(root); + * child.onScopeCleanup(() => console.log("disposed")); + * root.dispose(); // → cleans up child and its resources */ function createOwner(parent?: IOwnership): IOwnership { const owner: IOwnership = { diff --git a/packages/reflex/src/core/ownership/ownership.disposal.ts b/packages/reflex/src/core/ownership/ownership.disposal.ts index ffd09a1..0d2327d 100644 --- a/packages/reflex/src/core/ownership/ownership.disposal.ts +++ b/packages/reflex/src/core/ownership/ownership.disposal.ts @@ -15,7 +15,11 @@ export function batchDisposer( nodes: IOwnership[], strategy?: DisposalStrategy ): void { - if (!nodes.length) return; + const nodesCount = nodes.length; + + if (!nodesCount) { + return; + } const { beforeDispose, afterDispose, onError } = strategy ?? {}; beforeDispose?.(nodes); @@ -23,15 +27,18 @@ export function batchDisposer( let firstError: unknown = undefined; let errorCount = 0; - for (let i = 0; i < nodes.length; i++) { + for (let i = 0; i < nodesCount; i++) { const node = nodes[i]; const state = node._state; - if (Bitwise.has(state, OwnershipStateFlags.DISPOSED)) continue; + if (Bitwise.has(node._state, OwnershipStateFlags.DISPOSED)) { + continue; + } node._state = Bitwise.set(state, OwnershipStateFlags.DISPOSING); const disposal = node._disposal; + if (!disposal || disposal.length === 0) { node._state = OwnershipStateFlags.DISPOSED; continue; @@ -48,15 +55,16 @@ export function batchDisposer( } } - disposal.length = 0; - // unlink and clear references for GC - node._firstChild = undefined; - node._lastChild = undefined; - node._nextSibling = undefined; - node._prevSibling = undefined; - node._parent = undefined; - node._context = undefined; + node._firstChild = + node._lastChild = + node._nextSibling = + node._prevSibling = + node._parent = + node._context = + node._disposal = + undefined; + node._childCount = 0; node._state = OwnershipStateFlags.DISPOSED; diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index dea04cb..c58bc71 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -2,54 +2,37 @@ import { createOwner } from "./ownership.core"; import { IOwnership } from "./ownership.type"; /** - * Lightweight ownership context manager. + * OwnershipScope — functional, zero-class manager + * for maintaining the current owner context. * - * RootScope - * └─ owner: undefined - * ↓ createScope() - * ├─ createOwner(parent = undefined) - * ├─ owner = [Owner#1] - * └─ fn() → [run inside #1] - * ↓ createScope() - * ├─ createOwner(parent = #1) - * ├─ owner = [Owner#2] - * └─ fn() → [run inside #2] + * Provides: + * - getOwner(): IOwnership | undefined + * - withOwner(owner, fn): T + * - createScope(fn, parent?): T * - * Handles the current ownership scope in a stack-safe way. - * Provides scoped creation and temporary owner replacement. + * Works like a stack-safe ownership context. */ -export class OwnershipScope { - private _owner?: IOwnership; +export function createOwnershipScope() { + let currentOwner: IOwnership | undefined; - /** - * Returns the current owner in the scope. - * Note: if you get `undefined`, it's probably your root - */ - get owner(): typeof this._owner { - return this._owner; - } - - /** - * Creates a new ownership context under the current (or given) owner - * and executes the callback inside that scope. - */ - createScope(fn: () => T, parent = this.owner): T { - const owner = createOwner(parent); - - return this.withOwner(owner, fn); - } - - /** - * Temporarily replaces current owner during the callback execution. - */ - withOwner(owner: IOwnership, fn: () => T): T { - const prev = this._owner; - this._owner = owner; + const getOwner = () => { + return currentOwner; + }; + const withOwner = (owner: IOwnership, fn: () => T): T => { + const prev = currentOwner; + currentOwner = owner; try { return fn(); } finally { - this._owner = prev; + currentOwner = prev; } - } + }; + + const createScope = (fn: () => T, parent = currentOwner): T => { + const owner = createOwner(parent); + return withOwner(owner, fn); + }; + + return { getOwner, withOwner, createScope }; } diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/reflex/src/core/ownership/ownership.type.ts index 65b4502..9f9c65b 100644 --- a/packages/reflex/src/core/ownership/ownership.type.ts +++ b/packages/reflex/src/core/ownership/ownership.type.ts @@ -56,6 +56,8 @@ interface IOwnershipMethods { /** Retrieve a value from nearest context scope. */ inject(key: symbol | string): T | undefined; + hasOwn(this: IOwnership, key: symbol | string): boolean; + /** Dispose this owner and all descendants (iterative). */ dispose(): void; } @@ -70,6 +72,7 @@ interface IOwnership extends IOwnershipMethods { _disposal?: NoneToVoidFn[]; _context?: IOwnershipContextRecord; _queue?: any; + _epoch: number; _state: OwnershipStateFlags; _childCount: number; } diff --git a/packages/reflex/src/index.ts b/packages/reflex/src/index.ts index 991aa1a..e69de29 100644 --- a/packages/reflex/src/index.ts +++ b/packages/reflex/src/index.ts @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/reflex/src/runtime/index.runtime.ts b/packages/reflex/src/runtime/index.runtime.ts index ff259a5..71a7a5e 100644 --- a/packages/reflex/src/runtime/index.runtime.ts +++ b/packages/reflex/src/runtime/index.runtime.ts @@ -1,33 +1,61 @@ -export function createReactiveRuntime() { - let CurrentReaction: T | undefined; - let CurrentGets: T[] | null; - let CurrentGetsIndex = 0; - let GlobalQueue = []; - let Epoch = 0; - - function beginComputation(r: T) { - CurrentReaction = r; - CurrentGets = []; - CurrentGetsIndex = 0; - } - - function endComputation() { - CurrentReaction = undefined; - CurrentGets = null; - CurrentGetsIndex = 0; - } - - function track(signal: T) { - throw new Error(); - } +export interface ReactiveContext { + /** Текущая активная реакция */ + current?: T; + /** Массив всех считанных реакций в текущем проходе */ + gets: T[]; + /** Индекс для трекинга обращений */ + index: number; +} + +export interface ReactiveRuntime { + /** Начать вычисление реактивной функции */ + begin(reaction: T): void; + /** Завершить вычисление реактивной функции */ + end(): void; + /** Вернуть глобальную эпоху */ + getEpoch(): number; + /** Перейти к следующей глобальной эпохе */ + nextEpoch(): number; + /** Текущий контекст выполнения */ + readonly context: ReactiveContext | null; + /** Очередь отложенных операций (если нужна) */ + readonly queue: T[]; +} + +/** + * Создаёт изолированный реактивный рантайм. + * Можно иметь несколько независимых экземпляров (AppRuntime, WorkerRuntime и т.д.). + */ +export function createReactiveRuntime(): ReactiveRuntime { + let epoch = 0; + const queue: T[] = []; + + let context: ReactiveContext | null = null; + + let first, second; return { - beginComputation, - endComputation, - track, + begin(reaction = ((first = 1), (second = 1)) as T) { + context = { current: reaction, gets: [], index: 0 }; + }, + + end() { + context = null; + }, + + getEpoch() { + return epoch; + }, + + nextEpoch() { + return ++epoch; + }, + get context() { - return { CurrentReaction, CurrentGets, CurrentGetsIndex }; + return context; }, + + queue, }; } @@ -42,3 +70,4 @@ export function createReactiveRuntime() { // WorkerRuntime.beginComputation(otherReaction); // WorkerRuntime.track(signalB); // WorkerRuntime.endComputation(); + diff --git a/packages/reflex/src/shared/types/declarations.d.ts b/packages/reflex/src/shared/types/declarations.d.ts new file mode 100644 index 0000000..b91ac14 --- /dev/null +++ b/packages/reflex/src/shared/types/declarations.d.ts @@ -0,0 +1,29 @@ +declare const API_PROTOCOL_VERSION: `${number}.${number}.${number}`; + +declare const APP_VERSION: string; +declare const APP_REVISION: string; + +declare const BUILD_MODE: "development" | "production" | "test"; +declare const PLATFORM: "browser" | "node" | "worker"; + +declare const process: NodeJS.Process; + +declare namespace globalThis { + const __REFLEX_LIB__: Record; + + const __REFLEX_INSPECTOR__: Record | undefined; + + const __REFLEX_FEATURE_FLAGS__: Readonly> | undefined; + + const __REFLEX_RUNTIME__: Readonly<{ + startTime: number; + activeOwners: number; + dirtyNodes: number; + }>; + + const __REFLEX_LOGGER__: Readonly<{ + info: (...args: unknown[]) => void; + warn: (...args: unknown[]) => void; + error: (...args: unknown[]) => void; + }>; +} diff --git a/packages/reflex/src/shared/types/globals.d.ts b/packages/reflex/src/shared/types/globals.d.ts index 1191436..a6369a5 100644 --- a/packages/reflex/src/shared/types/globals.d.ts +++ b/packages/reflex/src/shared/types/globals.d.ts @@ -53,3 +53,5 @@ type Setter = (value: T) => void; * A tuple of accessor and setter for type T. */ type Signal = [Accessor, Setter]; + + From bcd3cb17dc6028698e4d27979151d709fc45b57e Mon Sep 17 00:00:00 2001 From: volynetstyle Date: Tue, 28 Oct 2025 14:37:50 +0300 Subject: [PATCH 08/32] chore: remove node_modules from tracking --- .gitignore | 113 ++++++++-- environment/tsconfig.base.json | 33 +-- packages/.npmrc | 1 + packages/package.json | 11 + packages/pnpm-lock.yaml | 355 ++++++++++++++++++++++++++++++ packages/reflex-dom/package.json | 25 ++- packages/reflex-dom/tsconfig.json | 15 +- packages/reflex/package.json | 22 +- packages/reflex/tsconfig.json | 13 +- 9 files changed, 539 insertions(+), 49 deletions(-) create mode 100644 packages/.npmrc create mode 100644 packages/package.json create mode 100644 packages/pnpm-lock.yaml diff --git a/.gitignore b/.gitignore index e551b2b..75cdbe8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1,107 @@ -.DS_STORE -node_modules -.flowconfig -*~ -*.pyc -.grunt -_SpecRunner.html -__benchmarks__ +# ------------------------------------------------------- +# 🧠 CORE: Node / TypeScript / Reflex Monorepo +# ------------------------------------------------------- + +# Dependencies +node_modules/ +.pnpm-store/ +.pnp.* +.pnp.cjs +.pnp.loader.mjs + +# Build outputs +dist/ build/ -remote-repo/ +lib/ +out/ +tsbuildinfo +*.tsbuildinfo + +# Logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +*.log + +# Coverage and test output coverage/ -*.log* +.nyc_output/ +__tests__/temp/ +__benchmarks__/ +*.lcov +jest-cache/ +jest-test-results.json + +# ------------------------------------------------------- +# 🧩 IDE & System +# ------------------------------------------------------- +.idea/ +.vscode/ +*.iml *.sublime-project *.sublime-workspace -.idea -*.iml -.vscode *.swp *.swo +*.tmp +*~ +.DS_Store +Thumbs.db +desktop.ini + +# ------------------------------------------------------- +# 🧰 Tools / Build Systems +# ------------------------------------------------------- +.grunt/ +gulpfile.js +webpack.config.js +rollup.config.js +parcel-cache/ +.next/ +.nuxt/ +.cache/ +.eslintcache + +# ------------------------------------------------------- +# 🧪 Misc & drafts +# ------------------------------------------------------- +drafts/ +remote-repo/ +*.pyc +.flowconfig +_SpecRunner.html +*.tgz + +# ------------------------------------------------------- +# ⚙️ Environment +# ------------------------------------------------------- +.env +.env.* +!.env.example +*.local +*.secret + +# ------------------------------------------------------- +# 🧱 Monorepo specific +# ------------------------------------------------------- +/packages/*/dist/ +/packages/*/.tsbuildinfo +/packages/*/.turbo/ +/packages/*/.cache/ +/packages/*/node_modules/ + +# ------------------------------------------------------- +# 🚀 Editor backups +# ------------------------------------------------------- +*.bak +*.orig +*~ +*.rej + +# ------------------------------------------------------- +# 🪄 Custom project entries +# ------------------------------------------------------- drafts/ +logs/ +temp/ +tmp/ diff --git a/environment/tsconfig.base.json b/environment/tsconfig.base.json index eb5ef29..a65770f 100644 --- a/environment/tsconfig.base.json +++ b/environment/tsconfig.base.json @@ -1,22 +1,23 @@ { "compilerOptions": { - "target": "ES2022", - "module": "node16", - "lib": ["DOM", "ES2022"], - "strict": true, - "moduleResolution": "node16", + "target": "ESNext", + "lib": ["ESNext", "DOM"], + "module": "NodeNext", + "moduleResolution": "NodeNext", "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, + "strict": true, "skipLibCheck": true, - "declaration": true, - "declarationMap": true, - "sourceMap": true, - "composite": true, + "forceConsistentCasingInFileNames": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + "exactOptionalPropertyTypes": true, + "useDefineForClassFields": true, + "isolatedModules": true, "incremental": true, - "baseUrl": ".", - "paths": { - "@reflex/*": ["packages/reflex/src/*"], - "@reflex-dom/*": ["packages/reflex-dom/src/*"] - } - } + "composite": true, + "ignoreDeprecations": "6.0", + "moduleDetection": "force" + }, + "include": ["packages/**/*", "environment/**/*"], + "exclude": ["node_modules", "dist"] } diff --git a/packages/.npmrc b/packages/.npmrc new file mode 100644 index 0000000..0132880 --- /dev/null +++ b/packages/.npmrc @@ -0,0 +1 @@ +store-dir=.pnpm-store diff --git a/packages/package.json b/packages/package.json new file mode 100644 index 0000000..7d3ca53 --- /dev/null +++ b/packages/package.json @@ -0,0 +1,11 @@ +{ + "devDependencies": { + "@types/jest": "^29.5.14", + "@types/node": "^20.19.23" + }, + "pnpm": { + "overrides": { + "@types/node": "^20.14.0" + } + } +} diff --git a/packages/pnpm-lock.yaml b/packages/pnpm-lock.yaml new file mode 100644 index 0000000..0ee1972 --- /dev/null +++ b/packages/pnpm-lock.yaml @@ -0,0 +1,355 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +overrides: + '@types/node': ^20.14.0 + +importers: + + .: + devDependencies: + '@types/jest': + specifier: ^29.5.14 + version: 29.5.14 + '@types/node': + specifier: ^20.19.23 + version: 20.19.23 + +packages: + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} + + '@types/node@20.19.23': + resolution: {integrity: sha512-yIdlVVVHXpmqRhtyovZAcSy0MiPcYWGkoO4CGe/+jpP0hmNuihm4XhHbADpK++MsiLHP5MVlv+bcgdF99kSiFQ==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.34': + resolution: {integrity: sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + +snapshots: + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/helper-validator-identifier@7.28.5': {} + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.19.23 + '@types/yargs': 17.0.34 + chalk: 4.1.2 + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@29.5.14': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/node@20.19.23': + dependencies: + undici-types: 6.21.0 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.34': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + ci-info@3.9.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + diff-sequences@29.6.3: {} + + escape-string-regexp@2.0.0: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + graceful-fs@4.2.11: {} + + has-flag@4.0.0: {} + + is-number@7.0.0: {} + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.27.1 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.19.23 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + js-tokens@4.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + react-is@18.3.1: {} + + slash@3.0.0: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + undici-types@6.21.0: {} diff --git a/packages/reflex-dom/package.json b/packages/reflex-dom/package.json index 264ff88..ba33fee 100644 --- a/packages/reflex-dom/package.json +++ b/packages/reflex-dom/package.json @@ -1,9 +1,24 @@ { - "name": "@scope/reflex-dom", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "files": ["dist"], + "name": "@reflex/dom", + "version": "0.7.0", + "type": "module", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, + "imports": { + "#reflex/*": "../reflex/src/*" + }, "scripts": { - "build": "tsc --build" + "build": "tsc -b", + "clean": "rimraf dist .tsbuildinfo" + }, + "dependencies": { + "@reflex/core": "workspace:*" + }, + "devDependencies": { + "typescript": "^7.0.0" } } diff --git a/packages/reflex-dom/tsconfig.json b/packages/reflex-dom/tsconfig.json index 4e4c1ef..38679e0 100644 --- a/packages/reflex-dom/tsconfig.json +++ b/packages/reflex-dom/tsconfig.json @@ -1,9 +1,16 @@ { - "extends": "environment/tsconfig.base.json", - "references": [{ "path": "../reflex" }], + "extends": "../../environment/tsconfig.base.json", "compilerOptions": { + "rootDir": "src", "outDir": "dist", - "rootDir": "src" + "types": ["node"], + "typeRoots": ["./types", "@packages/node_modules/@types"], + "declaration": true, + "declarationMap": true }, - "include": ["src"] + "references": [ + { "path": "../reflex" } + ], + "include": ["src"], + "exclude": ["dist", "**/*.test.ts"] } diff --git a/packages/reflex/package.json b/packages/reflex/package.json index 5f12d01..dfd0d9f 100644 --- a/packages/reflex/package.json +++ b/packages/reflex/package.json @@ -1,10 +1,20 @@ { - "name": "@scope/reflex", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "files": [ - "dist" - ], + "name": "@reflex/core", + "version": "0.7.0", + "type": "module", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./*": { + "import": "./dist/*.js", + "types": "./dist/*.d.ts" + } + }, + "imports": { + "#reflex/*": "./src/*" + }, "scripts": { "build": "tsc --build", "test": "jest", diff --git a/packages/reflex/tsconfig.json b/packages/reflex/tsconfig.json index 7978603..23e0f19 100644 --- a/packages/reflex/tsconfig.json +++ b/packages/reflex/tsconfig.json @@ -1,10 +1,13 @@ { "extends": "../../environment/tsconfig.base.json", "compilerOptions": { - "typeRoots": ["./types", "./node_modules/@types"], - "composite": true, - "outDir": "dist", "rootDir": "src", - "types": ["jest", "node"], - } + "outDir": "dist", + "types": ["node", "jest"], + "typeRoots": ["./types", "./node_modules/@types"], + "declaration": true, + "declarationMap": true + }, + "include": ["src"], + "exclude": ["dist", "**/*.test.ts"] } From cd7c9391a5d30561aa9e674329b60651738574bb Mon Sep 17 00:00:00 2001 From: volynetstyle Date: Sat, 8 Nov 2025 19:27:31 +0300 Subject: [PATCH 09/32] chore: add pnpm workspace configuration to manage packages --- .npmrc | 2 + Readme.md | 4 +- environment/tsconfig.base.json | 1 - jest.config.js | 3 + package.json | 18 + packages/.npmrc | 1 - packages/common/core/errors/Result.ts | 49 - packages/common/core/errors/index.ts | 33 - .../common/core/utils/hash/fnv1aHashBytes.ts | 27 - packages/common/makeStringSet.ts | 116 - packages/common/package.json | 5 - .../reflex-dom/src/client/layoutTrashing.ts | 6 +- packages/reflex-dom/src/client/sanitize.ts | 4 +- .../events/getVendorPrefixedEventName.ts | 4 +- .../reflex-dom/src/common/isDomAvailable.ts | 2 +- .../validate/DOMNestingClassificator.ts | 2 +- .../common/validate/DOMResourceValidation.ts | 8 +- packages/reflex-dom/tsconfig.json | 2 +- packages/reflex/jest.config.js | 24 +- packages/reflex/package.json | 10 +- .../src/core/collections/intrusive_list.ts | 92 + .../src/core/collections/unrolled-queue.ts | 130 +- .../reflex/src/core/graph/graph.operators.ts | 4 +- packages/reflex/src/core/graph/graph.types.ts | 4 +- .../src/core/graph/reactivity.constants.ts | 4 +- .../src/core/ownership/ownership.context.ts | 74 - .../src/core/ownership/ownership.core.ts | 183 +- .../src/core/ownership/ownership.disposal.ts | 83 - .../src/core/ownership/ownership.error.ts | 6 +- .../src/core/ownership/ownership.proto.ts | 192 + .../src/core/ownership/ownership.scope.ts | 11 +- .../src/core/ownership/ownership.type.ts | 94 +- packages/reflex/src/shared/types/async.d.ts | 2 +- .../reflex/src/shared/types/declarations.d.ts | 7 +- .../tests/collections/intrusive_list.test.ts | 183 + .../src/tests/ownership.advanced.test.ts | 0 .../reflex/src/tests/ownership.bench.test.ts | 247 ++ packages/reflex/src/tests/ownership.bench.ts | 247 ++ packages/reflex/src/tests/ownership.spec.ts | 809 ---- ....bench.test.ts => unrolled-queue.bench.ts} | 6 +- packages/reflex/tsconfig.json | 10 +- pnpm-lock.yaml | 3729 +++++++++++++++++ pnpm-workspace.yaml | 3 + third-party/rigidify/src/index.d.ts | 2 +- .../rigidify/src/layers/record/record.ts | 2 +- .../rigidify/src/layers/utils/type_check.ts | 4 +- 46 files changed, 4930 insertions(+), 1519 deletions(-) create mode 100644 .npmrc create mode 100644 jest.config.js create mode 100644 package.json delete mode 100644 packages/.npmrc delete mode 100644 packages/common/core/errors/Result.ts delete mode 100644 packages/common/core/errors/index.ts delete mode 100644 packages/common/core/utils/hash/fnv1aHashBytes.ts delete mode 100644 packages/common/makeStringSet.ts delete mode 100644 packages/common/package.json create mode 100644 packages/reflex/src/core/collections/intrusive_list.ts delete mode 100644 packages/reflex/src/core/ownership/ownership.context.ts delete mode 100644 packages/reflex/src/core/ownership/ownership.disposal.ts create mode 100644 packages/reflex/src/core/ownership/ownership.proto.ts create mode 100644 packages/reflex/src/tests/collections/intrusive_list.test.ts create mode 100644 packages/reflex/src/tests/ownership.advanced.test.ts create mode 100644 packages/reflex/src/tests/ownership.bench.test.ts create mode 100644 packages/reflex/src/tests/ownership.bench.ts delete mode 100644 packages/reflex/src/tests/ownership.spec.ts rename packages/reflex/src/tests/{unrolled-queue.bench.test.ts => unrolled-queue.bench.ts} (98%) create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..bf31311 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +store-dir=.pnpm-store +global-bin-dir=.pnpm-bin diff --git a/Readme.md b/Readme.md index 8eecbb5..1faeca4 100644 --- a/Readme.md +++ b/Readme.md @@ -113,7 +113,7 @@ npm install @reflex/core **Basic Signal Example:** ```ts -import { signal, derived, effect } from "@reflex/core"; +import { signal, derived, effect } from "@reflex/core.js"; const count = signal(0); const doubled = derived(() => count.value * 2); @@ -128,7 +128,7 @@ count.value++; // logs instantly **DOM Example (optional surface binding):** ```tsx -import { signal, render } from "@reflex/core/dom"; +import { signal, render } from "@reflex/core/dom.js"; function Counter() { const count = signal(0); diff --git a/environment/tsconfig.base.json b/environment/tsconfig.base.json index a65770f..ae23dee 100644 --- a/environment/tsconfig.base.json +++ b/environment/tsconfig.base.json @@ -15,7 +15,6 @@ "isolatedModules": true, "incremental": true, "composite": true, - "ignoreDeprecations": "6.0", "moduleDetection": "force" }, "include": ["packages/**/*", "environment/**/*"], diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..9e9a7be --- /dev/null +++ b/jest.config.js @@ -0,0 +1,3 @@ +export default { + projects: ["/packages/*"], +}; \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..58e681b --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "reflex-monorepo", + "private": true, + "version": "0.7.0", + "scripts": { + "build": "pnpm -r run build", + "clean": "pnpm -r run clean", + "test": "pnpm -r run test", + "lint": "pnpm -r run lint" + }, + "devDependencies": { + "@types/jest": "^30.0.0", + "@types/node": "^24.9.1", + "jest": "^30.2.0", + "ts-jest": "^29.4.5", + "typescript": "^5.9.3" + } +} diff --git a/packages/.npmrc b/packages/.npmrc deleted file mode 100644 index 0132880..0000000 --- a/packages/.npmrc +++ /dev/null @@ -1 +0,0 @@ -store-dir=.pnpm-store diff --git a/packages/common/core/errors/Result.ts b/packages/common/core/errors/Result.ts deleted file mode 100644 index 3fa71b7..0000000 --- a/packages/common/core/errors/Result.ts +++ /dev/null @@ -1,49 +0,0 @@ -type Result = - | { success: true; value: T } - | { success: false; error: E }; - -const ok = (value: T): Result => ({ - success: true, - value, -}); - -const err = (error: E): Result => ({ - success: false, - error, -}); - -const map = ( - result: Result, - fn: (value: T) => U -): Result => { - if (result.success) { - return ok(fn(result.value)); - } - - return { success: false, error: result.error }; -}; - -const flatMap = ( - result: Result, - fn: (value: T) => Result -): Result => { - if (result.success) { - return fn(result.value); - } - - return { success: false, error: result.error }; -}; - -const getOrElse = ( - result: Result, - defaultValue: T -): T => (result.success ? result.value : defaultValue); - -export default { - ok, - err, - map, - flatMap, - getOrElse, -} as const; -export type { Result }; \ No newline at end of file diff --git a/packages/common/core/errors/index.ts b/packages/common/core/errors/index.ts deleted file mode 100644 index b15fa58..0000000 --- a/packages/common/core/errors/index.ts +++ /dev/null @@ -1,33 +0,0 @@ -export type Result = - | { success: true; value: T } - | { success: false; error: E }; - -export type ResultWithMeta = Result & { - meta?: M; -}; - -export function hasError( - result: Result -): result is { success: false; error: E } { - return result.success === false; -} - -const Result = { - ok: (value: T): Result => ({ success: true, value }), - - err: (error: E): Result => ({ - success: false, - error, - }), - - map: (result: Result, fn: (value: T) => U): Result => - result.success ? Result.ok(fn(result.value)) : result, - - flatMap: ( - result: Result, - fn: (value: T) => Result - ): Result => (result.success ? fn(result.value) : result), - - getOrElse: (result: Result, defaultValue: T): T => - result.success ? result.value : defaultValue, -}; diff --git a/packages/common/core/utils/hash/fnv1aHashBytes.ts b/packages/common/core/utils/hash/fnv1aHashBytes.ts deleted file mode 100644 index 7f1c8c4..0000000 --- a/packages/common/core/utils/hash/fnv1aHashBytes.ts +++ /dev/null @@ -1,27 +0,0 @@ -const VAL_32_CONST = 0x811c9dc5 >>> 0; -const PRIME_32_CONST = 0x1000193 >>> 0; - -export function hash_32_fnv1a_const(str: string): number { - let value = VAL_32_CONST; - - for (let i = 0; i < str.length; i++) { - value ^= (str.charCodeAt(i) & 0xff); - value = Math.imul(value, PRIME_32_CONST) >>> 0; - } - - return value; -} - -const VAL_64_CONST = 0xcbf29ce484222325n; -const PRIME_64_CONST = 0x100000001b3n; - -export function hash_64_fnv1a_const(str: string): bigint { - let value = VAL_64_CONST; - - for (let i = 0; i < str.length; i++) { - value ^= BigInt(str.charCodeAt(i) & 0xff); - value *= PRIME_64_CONST; - } - - return value; -} \ No newline at end of file diff --git a/packages/common/makeStringSet.ts b/packages/common/makeStringSet.ts deleted file mode 100644 index 2c1b2dc..0000000 --- a/packages/common/makeStringSet.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { hash_32_fnv1a_const } from "./core/utils/hash/fnv1aHashBytes"; - -type HasSet = { - has: (str: string) => boolean; -}; - -const has = ( - str: string, - size: number, - mask: number, - cap: number, - table: (string | null)[] -): boolean => { - if (typeof str !== "string") { - return false; - } - - if (str.length === 0 && size === 0) { - return false; - } - - const hash = hash_32_fnv1a_const(str); - let idx = hash & mask; - let probeCount = 0; - const maxProbes = cap; - - while (probeCount < maxProbes) { - const cur = table[idx]; - - if (cur === null) { - return false; - } - - if (cur === str) { - return true; - } - - idx = (idx + 1) & mask; - probeCount++; - } - - return false; -}; - -function nextClosestPow2(n: number): number { - if (n <= 1) return 1; - - if ((n & (n - 1)) === 0) return n; - - --n; - n |= n >> 1; - n |= n >> 2; - n |= n >> 4; - n |= n >> 8; - n |= n >> 16; - - return n + 1; -} - -export default function makeStringSet(strings: string[]): HasSet { - if (!Array.isArray(strings)) { - throw new TypeError("Input must be an array of strings"); - } - - const size = strings.length; - - if (size > 0x7fffffff) { - throw new RangeError("String set size exceeds maximum allowed"); - } - - const cap = nextClosestPow2(Math.max(size * 2, 4)); - const mask = cap - 1; - - const table: (string | null)[] = new Array(cap); - for (let i = 0; i < cap; i++) { - table[i] = null; - } - - let duplicates = 0; - - for (let i = 0; i < size; i++) { - const s = strings[i]; - - if (typeof s !== "string") { - throw new TypeError(`Element at index ${i} is not a string`); - } - - const hash = hash_32_fnv1a_const(s); - let idx = hash & mask; - let probeCount = 0; - const maxProbes = cap; - - while (probeCount < maxProbes) { - const cur = table[idx]; - - if (cur === null) { - table[idx] = s; - break; - } - - if (cur === s) { - duplicates++; - break; - } - - idx = (idx + 1) & mask; - probeCount++; - } - - if (probeCount === maxProbes) { - throw new Error("Hash table overflow: maximum probe count exceeded"); - } - } - - return { has: (str: string) => has(str, size, mask, cap, table) }; -} diff --git a/packages/common/package.json b/packages/common/package.json deleted file mode 100644 index d4e0ddb..0000000 --- a/packages/common/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "private": true, - "name": "common", - "version": "0.0.0" -} \ No newline at end of file diff --git a/packages/reflex-dom/src/client/layoutTrashing.ts b/packages/reflex-dom/src/client/layoutTrashing.ts index dc5c3b1..4ce14dc 100644 --- a/packages/reflex-dom/src/client/layoutTrashing.ts +++ b/packages/reflex-dom/src/client/layoutTrashing.ts @@ -1,9 +1,9 @@ -type LayoutCategory = "read" | "write" | "mixed"; +type LayoutCategory = "read" | "write" | "mixed.js"; interface LayoutProperty { category: LayoutCategory; description?: string; - riskLevel: "high" | "medium" | "low"; + riskLevel: "high" | "medium" | "low.js"; alternative?: string; } @@ -115,7 +115,7 @@ const layoutThrashingDatabase = { }, } as const; -type Category = "reads" | "writes" | "methods"; +type Category = "reads" | "writes" | "methods.js"; /** * Get all properties/methods of a specific category diff --git a/packages/reflex-dom/src/client/sanitize.ts b/packages/reflex-dom/src/client/sanitize.ts index d73ddd9..afd562f 100644 --- a/packages/reflex-dom/src/client/sanitize.ts +++ b/packages/reflex-dom/src/client/sanitize.ts @@ -3,7 +3,7 @@ * Prevents code execution if a javascript: URL is accidentally visited. */ const BLOCKED_JS_URL = - "javascript:throw new Error('Blocked javascript: URL for security.')"; + "javascript:throw new Error('Blocked javascript: URL for security.').js"; /** * Checks if a character is a C0 control character or space (U+0000 to U+001F, U+0020). @@ -52,7 +52,7 @@ export function sanitizeURL(url: T): T | string { i++; } - const proto = "javascript:"; + const proto = "javascript:.js"; const protoLength = proto.length; let j = 0; diff --git a/packages/reflex-dom/src/common/events/getVendorPrefixedEventName.ts b/packages/reflex-dom/src/common/events/getVendorPrefixedEventName.ts index 9d8b569..901b64f 100644 --- a/packages/reflex-dom/src/common/events/getVendorPrefixedEventName.ts +++ b/packages/reflex-dom/src/common/events/getVendorPrefixedEventName.ts @@ -1,4 +1,4 @@ -import { IS_DOM_AVAILABLE } from "../isDomAvailable"; +import { IS_DOM_AVAILABLE } from "../isDomAvailable.js"; /** * Style object used to detect supported CSS properties. @@ -14,7 +14,7 @@ type VendorPrefixedEvent = | "animationend" | "animationiteration" | "animationstart" - | "transitionend"; + | "transitionend.js"; /** * A map of modern event names to their possible vendor-prefixed alternatives. diff --git a/packages/reflex-dom/src/common/isDomAvailable.ts b/packages/reflex-dom/src/common/isDomAvailable.ts index c149d0f..e2482b4 100644 --- a/packages/reflex-dom/src/common/isDomAvailable.ts +++ b/packages/reflex-dom/src/common/isDomAvailable.ts @@ -2,4 +2,4 @@ * Indicates whether the DOM is available. * This can be useful for determining if certain browser APIs are accessible. */ -export const IS_DOM_AVAILABLE = typeof globalThis.document !== "undefined"; +export const IS_DOM_AVAILABLE = typeof globalThis.document !== "undefined.js"; diff --git a/packages/reflex-dom/src/common/validate/DOMNestingClassificator.ts b/packages/reflex-dom/src/common/validate/DOMNestingClassificator.ts index 897a39d..f7c8bf4 100644 --- a/packages/reflex-dom/src/common/validate/DOMNestingClassificator.ts +++ b/packages/reflex-dom/src/common/validate/DOMNestingClassificator.ts @@ -3,7 +3,7 @@ import { SCRIPT_SUPPORTING, VOID_ELEMENTS, IMPLIED_END_TAGS, -} from "../../client/nestingRule"; +} from "../../client/nestingRule.js"; type LookupExistingFlag = 1 & { __brand: "LOOKUP_EXISTING_FLAG" }; diff --git a/packages/reflex-dom/src/common/validate/DOMResourceValidation.ts b/packages/reflex-dom/src/common/validate/DOMResourceValidation.ts index db314a0..141946c 100644 --- a/packages/reflex-dom/src/common/validate/DOMResourceValidation.ts +++ b/packages/reflex-dom/src/common/validate/DOMResourceValidation.ts @@ -6,7 +6,7 @@ */ export function describeValue(value: T): string { if (value == null) { - return value === null ? "`null`" : "`undefined`"; + return value === null ? "`null`" : "`undefined`.js"; } const type = typeof value; @@ -15,7 +15,7 @@ export function describeValue(value: T): string { const str = value as string; if (str.length === 0) { - return "`an empty string`"; + return "`an empty string`.js"; } if (str.length < 50) { return `"${str}"`; @@ -25,7 +25,7 @@ export function describeValue(value: T): string { if (type === "number") { if (Number.isNaN(value)) { - return "`NaN`"; + return "`NaN`.js"; } if (!Number.isFinite(value)) { return `\`${String(value)}\``; @@ -44,7 +44,7 @@ export function describeValue(value: T): string { if (value instanceof Date) { return `a Date object (${value.toISOString()})`; } - return "an object"; + return "an object.js"; } if (type === "function") { diff --git a/packages/reflex-dom/tsconfig.json b/packages/reflex-dom/tsconfig.json index 38679e0..2b5564a 100644 --- a/packages/reflex-dom/tsconfig.json +++ b/packages/reflex-dom/tsconfig.json @@ -4,7 +4,7 @@ "rootDir": "src", "outDir": "dist", "types": ["node"], - "typeRoots": ["./types", "@packages/node_modules/@types"], + "typeRoots": ["../../node_modules/@types"], "declaration": true, "declarationMap": true }, diff --git a/packages/reflex/jest.config.js b/packages/reflex/jest.config.js index d26eab2..751644f 100644 --- a/packages/reflex/jest.config.js +++ b/packages/reflex/jest.config.js @@ -1,14 +1,16 @@ -const { createDefaultPreset } = require("ts-jest"); - -const tsJestTransformCfg = createDefaultPreset().transform; - -/** @type {import("jest").Config} **/ -module.exports = { - preset: "ts-jest", +/** @type {import('jest').Config} */ +export default { + preset: "ts-jest/presets/default-esm", testEnvironment: "node", + extensionsToTreatAsEsm: [".ts"], + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1' + }, transform: { - ...tsJestTransformCfg, + "^.+\\.tsx?$": ["ts-jest", { + useESM: true, + tsconfig: "tsconfig.json" + }], }, - testMatch: ["**/__tests__/**/*.ts", "**/?(*.)+(spec|test).ts"], - moduleFileExtensions: ["ts", "js", "json"], -}; + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], +}; \ No newline at end of file diff --git a/packages/reflex/package.json b/packages/reflex/package.json index dfd0d9f..47a699f 100644 --- a/packages/reflex/package.json +++ b/packages/reflex/package.json @@ -17,16 +17,12 @@ }, "scripts": { "build": "tsc --build", - "test": "jest", - "test:bench": "node --expose-gc --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand", + "test": "node --import ts-node/register --test src/tests/ownership.test.ts --grep dispose:", + "bench": "node --loader ts-node/esm src/tests/ownership.bench.ts", "profile:bench": "node --expose-gc ./dist/experimental/graph.bench.js" }, "sideEffects": false, "devDependencies": { - "@types/jest": "^30.0.0", - "jest": "^30.1.3", - "ts-jest": "^29.4.4", - "tsx": "^4.20.6", - "typescript": "^5.9.2" + "ts-node": "^10.9.2" } } diff --git a/packages/reflex/src/core/collections/intrusive_list.ts b/packages/reflex/src/core/collections/intrusive_list.ts new file mode 100644 index 0000000..6a0f499 --- /dev/null +++ b/packages/reflex/src/core/collections/intrusive_list.ts @@ -0,0 +1,92 @@ +interface IntrusiveListNode { + _prev?: IntrusiveListNode; + _next?: IntrusiveListNode; + _list?: IntrusiveList; +} + +interface IntrusiveList { + _head?: IntrusiveListNode; + _tail?: IntrusiveListNode; + _size: number; + push(node: IntrusiveListNode): void; + remove(node: IntrusiveListNode): void; + clear(): void; + nodes(): Generator, void>; + values(): Generator; +} + +const IntrusiveListPrototype: IntrusiveList = { + _head: undefined, + _tail: undefined, + _size: 0, + + push(node) { + if (node._list) return; + + const tail = this._tail; + node._list = this; + node._prev = tail; + node._next = undefined; + + if (tail) { + tail._next = node; + this._tail = node; + } else { + this._head = this._tail = node; + } + this._size++; + }, + + remove(node) { + if (node._list !== this) return; + + const { _prev, _next } = node; + + if (_prev) _prev._next = _next; + else this._head = _next; + + if (_next) _next._prev = _prev; + else this._tail = _prev; + + node._prev = node._next = node._list = undefined; + this._size--; + }, + + clear() { + let node = this._head; + while (node) { + const next = node._next; + node._prev = node._next = node._list = undefined; + node = next; + } + this._head = this._tail = undefined; + this._size = 0; + }, + + // Итерация по узлам (IntrusiveListNode) + *nodes(): Generator { + for (let node = this._head; node; node = node._next) { + yield node; + } + }, + + // Итерация по значениям (T) + // В вашем случае T extends IntrusiveListNode + // поэтому node и есть значение + *values(): Generator { + for (let node = this._head; node; node = node._next) { + yield node; + } + }, +}; + +function newIntrusiveList(): IntrusiveList { + return Object.assign(Object.create(IntrusiveListPrototype), { + _head: undefined, + _tail: undefined, + _size: 0, + }); +} + +export { newIntrusiveList }; +export type { IntrusiveList, IntrusiveListNode }; \ No newline at end of file diff --git a/packages/reflex/src/core/collections/unrolled-queue.ts b/packages/reflex/src/core/collections/unrolled-queue.ts index 6da17a9..6addd8c 100644 --- a/packages/reflex/src/core/collections/unrolled-queue.ts +++ b/packages/reflex/src/core/collections/unrolled-queue.ts @@ -64,11 +64,13 @@ * - Stable memory footprint (≈5–20 MB depending on pool) */ -import { __assert } from "../object/utils/assert"; +import { __assert } from "../object/utils/assert.js"; + +type Nullable = T | null; export interface UnrolledQueueOptions { /** Node (segment) size, must be a power of two for bitmask optimization */ - nodeSize?: number; + nodeSize: number; } /** @@ -78,6 +80,7 @@ export interface IUnrolledQueue extends Iterable { readonly length: number; } +const NODE_POOL_MAX = 128; /** Default node size most stable for V8 (power of two) */ const DEFAULT_NODE_SIZE = 2048 as const; @@ -92,23 +95,28 @@ function assertPowerOfTwo(n: number): void { * full vs empty states. Internally uses bitmask indexing: * `(index + 1) & mask` for wrapping. */ -class CircularQueueNode { +class RefNode { /** Shared pool for recycling detached nodes */ - private static pool: CircularQueueNode[] = []; + private static pool: RefNode[] = []; readonly size: number; readonly mask: number; - buffer: (T | undefined)[]; + buffer: Array>; readIndex = 0; writeIndex = 0; - next: CircularQueueNode | null = null; + next: Nullable> = null; constructor(size: number) { assertPowerOfTwo(size); this.size = size; this.mask = size - 1; - this.buffer = new Array(size).fill(undefined); + this.buffer = new Array>(size); + for (let i = 0; i < size; i++) this.buffer[i] = null; + + this.readIndex = 0; + this.writeIndex = 0; + this.next = null; } /** Number of elements currently held */ @@ -117,17 +125,23 @@ class CircularQueueNode { } /** Acquire node from pool or create new one */ - static alloc(size: number): CircularQueueNode { - return ( - (this.pool.pop() as CircularQueueNode | undefined) ?? - new CircularQueueNode(size) - ); + static alloc(size: number): RefNode { + const pool = this.pool as RefNode[]; + const node = pool.pop(); + + if (node) return node; + + return new RefNode(size); } /** Return node to pool, resetting state (max 128 kept) */ - static free(node: CircularQueueNode): void { - node.reset(); - if (this.pool.length < 128) this.pool.push(node); + static free(node: RefNode): void { + const b = node.buffer; + for (let i = 0; i < b.length; i++) b[i] = null; + node.readIndex = 0; + node.writeIndex = 0; + node.next = null; + if (this.pool.length < NODE_POOL_MAX) this.pool.push(node); } /** Reset node indices and link */ @@ -164,13 +178,17 @@ class CircularQueueNode { if (this.isEmpty()) { return null; } - const item = this.buffer[this.readIndex] as T; - this.buffer[this.readIndex] = undefined; + this.buffer[this.readIndex] = null; this.readIndex = (this.readIndex + 1) & this.mask; return item; } + + peek(): T | null { + if (this.isEmpty()) return null; + return this.buffer[this.readIndex] as T; + } } /** @@ -185,18 +203,20 @@ class CircularQueueNode { * with constant-time operations and minimal GC. */ export class UnrolledQueue implements Queueable, IUnrolledQueue { - #length = 0; #nodeSize: number; - #head: CircularQueueNode; - #tail: CircularQueueNode; + #head: RefNode; + #tail: RefNode; + #length: number = 0; - constructor(options: UnrolledQueueOptions = {}) { - const size = options.nodeSize ?? DEFAULT_NODE_SIZE; + constructor(options: UnrolledQueueOptions = { nodeSize: DEFAULT_NODE_SIZE }) { + const size = options.nodeSize; assertPowerOfTwo(size); - const node = CircularQueueNode.alloc(size); + const node = RefNode.alloc(size); this.#nodeSize = size; - this.#head = this.#tail = node; + this.#head = node; + this.#tail = node; + this.#length = 0; } get length(): number { @@ -208,7 +228,7 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { const head = this.#head; if (!head.enqueue(item)) { - const newNode = CircularQueueNode.alloc(this.#nodeSize); + const newNode = RefNode.alloc(this.#nodeSize); head.next = newNode; this.#head = newNode; @@ -221,15 +241,11 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { /** @__INLINE__ Remove item from queue tail */ dequeue(): T | undefined { - if (this.#length === 0) { - return undefined; - } + if (this.#length === 0) return undefined; const item = this.#tail.dequeue(); - if (item === null) { - return undefined; - } + if (item === undefined) return undefined; this.#length--; @@ -237,45 +253,63 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { if (this.#tail.length === 0 && this.#tail.next) { const old = this.#tail; this.#tail = this.#tail.next; - CircularQueueNode.free(old); + RefNode.free(old); } - return item; + return item || undefined; } /** Clear queue and recycle all nodes */ clear(): void { - let node: CircularQueueNode | null = this.#tail; + let node: RefNode | null = this.#tail; while (node) { - const next: CircularQueueNode | null = node.next; - CircularQueueNode.free(node); + const next: Nullable> = node.next; + RefNode.free(node); node = next; } - const fresh = CircularQueueNode.alloc(this.#nodeSize); - + const fresh = RefNode.alloc(this.#nodeSize); this.#head = this.#tail = fresh; this.#length = 0; } + drain(callback: (v: T) => void): number { + let count = 0; + while (this.#length !== 0) { + const t = this.#tail; + while (t.length !== 0) { + const val = t.dequeue()!; + callback(val); + count++; + this.#length--; + } + + if (t.next) { + const old = this.#tail; + this.#tail = t.next; + RefNode.free(old); + } + } + return count; + } + /** access current tail element without dequeuing */ peek(): T | null { if (this.#length === 0) return null; - return this.#tail.buffer[this.#tail.readIndex] as T; + return this.#tail.peek(); + } + + estimateNodes(): number { + return 1 + ((this.#length / (this.#nodeSize - 1)) | 0); } /** Iterator: yields items from tail → head */ *[Symbol.iterator](): Iterator { - for ( - let node: CircularQueueNode | null = this.#tail; - node; - node = node.next - ) { - for (let i = 0, j = node.readIndex; i < node.length; i++) { - yield node.buffer[j] as T; - - j = (j + 1) & node.mask; + for (let n: RefNode | null = this.#tail; n; n = n.next) { + for (let i = 0, j = n.readIndex; i < n.length; i++) { + yield n.buffer[j] as T; + j = (j + 1) & n.mask; } } } diff --git a/packages/reflex/src/core/graph/graph.operators.ts b/packages/reflex/src/core/graph/graph.operators.ts index 7e19ae2..9c9c11d 100644 --- a/packages/reflex/src/core/graph/graph.operators.ts +++ b/packages/reflex/src/core/graph/graph.operators.ts @@ -1,5 +1,5 @@ -import { BitMask } from "../object/utils/bitwise"; -import { GraphOperations, IObserver, ISource } from "./graph.types"; +import { BitMask } from "../object/utils/bitwise.js"; +import { GraphOperations, IObserver, ISource } from "./graph.types.js"; interface IGraphVertex extends IObserver, ISource {} diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/reflex/src/core/graph/graph.types.ts index a0a4c6a..67bf941 100644 --- a/packages/reflex/src/core/graph/graph.types.ts +++ b/packages/reflex/src/core/graph/graph.types.ts @@ -16,8 +16,8 @@ * allowing structural sharing and time-travel debugging. */ -import { IDisposable } from "../object/object.dispose"; -import { BitMask } from "../object/utils/bitwise"; +import { IDisposable } from "../object/object.dispose.js"; +import { BitMask } from "../object/utils/bitwise.js"; /** * Base interface for all reactive graph nodes. diff --git a/packages/reflex/src/core/graph/reactivity.constants.ts b/packages/reflex/src/core/graph/reactivity.constants.ts index a6dfb7b..7d9616e 100644 --- a/packages/reflex/src/core/graph/reactivity.constants.ts +++ b/packages/reflex/src/core/graph/reactivity.constants.ts @@ -2,5 +2,5 @@ export const OWNERSHIP_BRAND: unique symbol = Symbol("ownership"); export const COMPUTED_BRAND: unique symbol = Symbol("computed"); export const WRITABLE_BRAND: unique symbol = Symbol("writable"); -export const VERSION_DEFINITION = "_version"; -export const SET_DEFINITION = "set"; +export const VERSION_DEFINITION = "_version.js"; +export const SET_DEFINITION = "set.js"; diff --git a/packages/reflex/src/core/ownership/ownership.context.ts b/packages/reflex/src/core/ownership/ownership.context.ts deleted file mode 100644 index 56b142f..0000000 --- a/packages/reflex/src/core/ownership/ownership.context.ts +++ /dev/null @@ -1,74 +0,0 @@ -import type { IOwnership, IOwnershipContext } from "./ownership.type"; - -/** - * Creates a new ownership context. - * Each context has a unique symbol and optional default value. - * - * @template T - Type of the context value. - * @param defaultValue - Optional default value for the context. - * @param description - Optional description for debugging purposes. - * @returns A new IOwnershipContext instance. - */ -export const createContext = ( - defaultValue?: T, - description?: string -): IOwnershipContext => ({ - id: Symbol(description), - defaultValue, -}); - -/** - * Checks if a given owner has a value for the specified context. - * - * @template T - Type of the context value. - * @param context - The context to check for. - * @param owner - Optional owner to check against. Defaults to undefined. - * @returns True if the owner has a value for the context, false otherwise. - */ -export const hasContext = ( - context: IOwnershipContext, - owner?: IOwnership -): boolean => !!owner?._context?.[context.id]; - -/** - * Retrieves the value of a context from an owner. - * - * If the owner does not have the context set, the default value is returned. - * - * @template T - Type of the context value. - * @param context - The context to retrieve. - * @param owner - Optional owner to get the context from. Defaults to undefined. - * @returns The context value or its default. - */ -export const getContext = ( - context: IOwnershipContext, - owner?: IOwnership -): T | undefined => - (owner?._context?.[context.id] as T | undefined) ?? context.defaultValue; - -/** - * Sets the value of a context on a specific owner. - * - * Creates a new prototype-based _context object if it doesn't exist or is the prototype itself, - * allowing safe shadowing for child owners without affecting parent owners. - * - * @template T - Type of the context value. - * @param context - The context to set. - * @param value - The value to assign to the context. - * @param owner - The owner on which to set the context value. - */ -export const setContext = ( - context: IOwnershipContext, - value: T, - owner?: IOwnership -) => { - if (!owner) return; - - // Ensure prototype-based inheritance for child owners - if (!owner._context || !Object.getPrototypeOf(owner._context)) { - owner._context = Object.create(owner._context ?? null); - } - - // Assign the context value - (owner._context ??= {})[context.id] = value; -}; diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index c8d3607..2656edb 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -1,180 +1,14 @@ -/** - * @file ownership.core.ts - * @description - * Reflex Ownership System — zero-overhead hierarchical resource manager. - * - * Provides deterministic parent-child ownership, scoped disposal, and - * contextual inheritance with minimal runtime cost. Each owner represents - * a self-contained lifetime scope that can attach children, propagate - * cleanup, and share contextual data down its hierarchy. - */ - -import { ReflexObject } from "../object/object.inherit"; -import { noop } from "../object/object.inline"; -import { batchDisposer, DisposalStrategy } from "./ownership.disposal"; -import OwnershipDisposeError from "./ownership.error"; import { IOwnership, - IOwnershipContextRecord, - IOwnershipMethods, - NoneToVoidFn, OwnershipStateFlags, -} from "./ownership.type"; - -const DISPOSAL_INITIAL_CAPACITY = 4; - -/** - * @constant OwnershipPrototype - * - * Shared method table for all `Owner` instances. - * - * Designed for flat inlining and stable hidden class shape in V8. - */ -const OwnershipPrototype: IOwnershipMethods = { - /** - * Links a child owner under the current parent. - * Ensures deterministic parent-child hierarchy without duplicates. - */ - appendChild(this: IOwnership, child: IOwnership) { - if (!child || child._parent === this) return; - if (child === this) throw new Error("Cannot append owner to itself"); - if (child._state & OwnershipStateFlags.DISPOSED) - throw new Error("Cannot append a disposed child"); - if (this._state & OwnershipStateFlags.DISPOSING) - throw new Error("Cannot append child to a disposing owner"); - - // If child already attached elsewhere — detach first - if (child._parent && child._parent !== this) { - child._parent.removeChild(child); - } - - child._parent = this; - child._prevSibling = this._lastChild; - child._nextSibling = undefined; - - if (this._lastChild) { - this._lastChild._nextSibling = child; - this._lastChild = child; - } else { - this._firstChild = this._lastChild = child; - } - - const parentContext = this._context; - if (parentContext !== undefined) { - child._context = ReflexObject.Inherit(parentContext); - } - - ++this._childCount; - }, - - /** - * Detaches a child from the current owner without disposing it. - */ - removeChild(this: IOwnership, child: IOwnership) { - if (child._parent !== this) return; - - const prev = child._prevSibling; - const next = child._nextSibling; - - if (prev) prev._nextSibling = next; - if (next) next._prevSibling = prev; - - if (this._firstChild === child) this._firstChild = next; - if (this._lastChild === child) this._lastChild = prev; - - child._parent = child._prevSibling = child._nextSibling = undefined; - --this._childCount; - }, - - /** Called when a scope is first attached (can be overridden). */ - onScopeMount: noop, - - /** - * Registers a cleanup function to execute when this owner is disposed. - * Lazily allocates a disposal array on first call. - */ - onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { - if (this._state & OwnershipStateFlags.DISPOSED) - throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); + S_OWN_BRAND, +} from "./ownership.type.js"; +import OwnershipPrototype from "./ownership.proto.js"; - if (!this._disposal) { - this._disposal = new Array(DISPOSAL_INITIAL_CAPACITY); - this._disposal.length = 0; - } - - this._disposal.push(fn); - }, - - /** - * Recursively disposes this owner and all its descendants. - * Performs iterative stack traversal to avoid recursion depth limits. - */ - dispose(this: IOwnership, strategy?: DisposalStrategy) { - if (this._state & OwnershipStateFlags.DISPOSED) return; - - const batch: IOwnership[] = []; - const stack: IOwnership[] = [this]; - - while (stack.length) { - const node = stack.pop()!; - if (node._state & OwnershipStateFlags.DISPOSED) continue; - - batch.push(node); - - for (let child = node._firstChild; child; child = child._nextSibling) { - if (!(child._state & OwnershipStateFlags.DISPOSED)) stack.push(child); - } - } - - batchDisposer(batch, strategy); - }, - - /** - * Returns current owner context, creating one if necessary. - * Contexts form a prototype chain inherited from parent scopes. - */ - getContext(this: IOwnership): IOwnershipContextRecord { - return (this._context ||= ReflexObject.Inherit( - this._parent?._context ?? {} - )); - }, - - /** - * Provides a value into the current owner’s context. - * Child scopes will inherit it via prototype chain. - */ - provide(this: IOwnership, key: symbol | string, value: unknown) { - const ctx = this.getContext(); - ctx[key] = value; - }, - - /** - * Resolves a context value from the current or any ancestor scope. - */ - inject(this: IOwnership, key: symbol | string): T | undefined { - if (!this._context) return undefined; - - return this._context[key] as T; - }, - - hasOwn(this: IOwnership, key: symbol | string): boolean { - return this._context !== undefined && Object.hasOwn(this._context, key); - }, -}; - -/** - * Creates a new ownership node. - * Lightweight factory with stable object shape for V8 optimization. - * - * @example - * const root = createOwner(); - * const child = createOwner(root); - * child.onScopeCleanup(() => console.log("disposed")); - * root.dispose(); // → cleans up child and its resources - */ function createOwner(parent?: IOwnership): IOwnership { const owner: IOwnership = { ...OwnershipPrototype, + _parent: undefined, _firstChild: undefined, _lastChild: undefined, @@ -182,16 +16,21 @@ function createOwner(parent?: IOwnership): IOwnership { _prevSibling: undefined, _disposal: undefined, _context: undefined, + _queue: undefined, + _epoch: 0, _state: OwnershipStateFlags.CLEAN, _childCount: 0, + + [S_OWN_BRAND]: true, }; if (parent) { parent.appendChild(owner); - parent.onScopeMount(owner); + parent?.onScopeMount?.(owner); } return owner; } -export { IOwnership, OwnershipPrototype, createOwner }; +export { OwnershipPrototype, createOwner }; +export type { IOwnership }; diff --git a/packages/reflex/src/core/ownership/ownership.disposal.ts b/packages/reflex/src/core/ownership/ownership.disposal.ts deleted file mode 100644 index 0d2327d..0000000 --- a/packages/reflex/src/core/ownership/ownership.disposal.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { IOwnership, OwnershipStateFlags } from "./ownership.type"; -import { Bitwise } from "../object/utils/bitwise"; - -export interface DisposalStrategy { - onError?: (err: unknown, node: IOwnership) => void; - beforeDispose?: (nodes: IOwnership[]) => void; - afterDispose?: (nodes: IOwnership[], errors: number) => void; -} - -/** - * Batch disposer for ownership trees. - * Designed for V8 fast path: minimal allocations, no hidden class transitions. - */ -export function batchDisposer( - nodes: IOwnership[], - strategy?: DisposalStrategy -): void { - const nodesCount = nodes.length; - - if (!nodesCount) { - return; - } - - const { beforeDispose, afterDispose, onError } = strategy ?? {}; - beforeDispose?.(nodes); - - let firstError: unknown = undefined; - let errorCount = 0; - - for (let i = 0; i < nodesCount; i++) { - const node = nodes[i]; - const state = node._state; - - if (Bitwise.has(node._state, OwnershipStateFlags.DISPOSED)) { - continue; - } - - node._state = Bitwise.set(state, OwnershipStateFlags.DISPOSING); - - const disposal = node._disposal; - - if (!disposal || disposal.length === 0) { - node._state = OwnershipStateFlags.DISPOSED; - continue; - } - - // reverse cleanup for LIFO semantics - for (let j = disposal.length - 1; j >= 0; j--) { - try { - disposal[j](); - } catch (err) { - if (!firstError) firstError = err; - errorCount++; - if (onError) onError(err, node); - } - } - - // unlink and clear references for GC - node._firstChild = - node._lastChild = - node._nextSibling = - node._prevSibling = - node._parent = - node._context = - node._disposal = - undefined; - - node._childCount = 0; - - node._state = OwnershipStateFlags.DISPOSED; - } - - afterDispose?.(nodes, errorCount); - - if (errorCount > 0 && !onError) { - console.error( - errorCount === 1 - ? "Error during ownership dispose:" - : `${errorCount} errors during ownership dispose. First error:`, - firstError - ); - } -} diff --git a/packages/reflex/src/core/ownership/ownership.error.ts b/packages/reflex/src/core/ownership/ownership.error.ts index 21130e5..c2199f7 100644 --- a/packages/reflex/src/core/ownership/ownership.error.ts +++ b/packages/reflex/src/core/ownership/ownership.error.ts @@ -1,5 +1,5 @@ -const OWNERSHIP_ERROR_NAME = "OwnershipDisposeError"; -const OWNERSHIP_ERROR_IDENTIFIER = "[Ownership dispose]"; +const OWNERSHIP_ERROR_NAME = "OwnershipDisposeError.js"; +const OWNERSHIP_ERROR_IDENTIFIER = "[Ownership dispose].js"; class OwnershipDisposeError extends Error { readonly errors: Error[]; @@ -23,7 +23,7 @@ class OwnershipDisposeError extends Error { let result = this.message; for (let i = 0; i < this.errors.length; i++) { - const e = this.errors[i]; + const e = this.errors[i]!; result += `\n [${i + 1}] ${e.stack || e.message}`; } diff --git a/packages/reflex/src/core/ownership/ownership.proto.ts b/packages/reflex/src/core/ownership/ownership.proto.ts new file mode 100644 index 0000000..6d9b7e1 --- /dev/null +++ b/packages/reflex/src/core/ownership/ownership.proto.ts @@ -0,0 +1,192 @@ +import { ReflexObject } from "../object/object.inherit.js"; +import { Bitwise } from "../object/utils/bitwise.js"; +import OwnershipDisposeError from "./ownership.error.js"; +import { + IOwnership, + OwnershipStateFlags, + IOwnershipContextRecord, + IOwnershipMethods, + DisposalStrategy, +} from "./ownership.type.js"; + +const DISPOSAL_INITIAL_CAPACITY = 4 as const; + +const OwnershipPrototype = { + appendChild(this: IOwnership, child: IOwnership) { + + // if (!child || child._parent === this) return; + // if (child === this) throw new Error("Cannot append owner to itself"); + // if (child._state & OwnershipStateFlags.DISPOSED) + // throw new Error("Cannot append a disposed child"); + + // if ( + // this._state & + // (OwnershipStateFlags.DISPOSING | OwnershipStateFlags.DISPOSED) + // ) + // throw new Error("Cannot append child to a disposing/disposed owner"); + + // if (child._parent && child._parent !== this) { + // child._parent.removeChild(child); + // } + + child._parent = this; + child._prevSibling = this._lastChild; + child._nextSibling = undefined; + + if (this._lastChild !== undefined) { + this._lastChild._nextSibling = child; + this._lastChild = child; + } else { + this._firstChild = this._lastChild = child; + } + + const parentContext = this._context; + if (parentContext !== undefined) { + child._context = + ReflexObject.Inherit(parentContext); + } + + this._childCount++; + }, + + removeChild(this: IOwnership, child: IOwnership) { + if (child._parent !== this) return; + + const prev = child._prevSibling; + const next = child._nextSibling; + + if (prev) prev._nextSibling = next; + if (next) next._prevSibling = prev; + + if (this._firstChild === child) this._firstChild = next; + if (this._lastChild === child) this._lastChild = prev; + + child._parent = child._prevSibling = child._nextSibling = undefined; + this._childCount--; + }, + + *children(this: IOwnership): Iterable { + for (let child = this._firstChild; child; child = child._nextSibling) { + yield child; + } + }, + + *descendants(this: IOwnership): Iterable { + const stack = [this]; + while (stack.length) { + const node = stack.pop()!; + yield node; + for (let child = node._lastChild; child; child = child._prevSibling) { + stack.push(child); + } + } + }, + + onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { + if (this._state & OwnershipStateFlags.DISPOSED) + throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); + + if (!this._disposal) { + this._disposal = new Array(DISPOSAL_INITIAL_CAPACITY); + this._disposal.length = 0; + } + this._disposal.push(fn); + }, + + dispose(this: IOwnership, strategy?: DisposalStrategy) { + if (Bitwise.has(this._state, OwnershipStateFlags.DISPOSED)) return; + + const { beforeDispose, afterDispose, onError } = strategy ?? {}; + + beforeDispose?.([this]); + + let errorCount = 0; + let firstError: unknown = undefined; + + const stack: IOwnership[] = [this]; + + while (stack.length > 0) { + const node = stack.pop()!; + + // push children first (DFS) + let child = node._firstChild; + + while (child) { + if (!Bitwise.has(child._state, OwnershipStateFlags.DISPOSED)) { + stack.push(child); + } + child = child._nextSibling; + } + + if (Bitwise.has(node._state, OwnershipStateFlags.DISPOSED)) continue; + + node._state = Bitwise.set(node._state, OwnershipStateFlags.DISPOSING); + + const disposal = node._disposal; + if (disposal) { + for (let j = disposal.length - 1; j >= 0; j--) { + try { + disposal[j]!(); + } catch (err) { + if (!firstError) firstError = err; + errorCount++; + if (onError) onError(err, node); + } + } + } + + // unlink everything — no mercy + node._firstChild = + node._lastChild = + node._nextSibling = + node._prevSibling = + node._parent = + node._context = + node._disposal = + undefined; + + node._childCount = 0; + node._state = OwnershipStateFlags.DISPOSED; + } + + afterDispose?.([this], errorCount); + + if (errorCount > 0 && !onError) { + console.error( + errorCount === 1 + ? "Error during ownership dispose:" + : `${errorCount} errors during ownership dispose. First error:`, + firstError + ); + } + }, + + getContext(this: IOwnership): IOwnershipContextRecord { + if (!this._context) { + this._context = ReflexObject.Inherit( + this._parent?.getContext() ?? {} + ); + } + + return this._context; + }, + + provide(this: IOwnership, key: symbol | string, value: unknown) { + if (value === this) { + throw new Error("Cannot provide owner itself in context"); + } + + const ctx = this.getContext(); + ctx[key] = value; + }, + + inject(this: IOwnership, key: symbol | string): T | undefined { + return this._context?.[key] as T | undefined; + }, + + hasOwn(this: IOwnership, key: symbol | string): boolean { + return this._context !== undefined && Object.hasOwn(this._context, key); + }, +} satisfies IOwnershipMethods; + +export default OwnershipPrototype; \ No newline at end of file diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index c58bc71..dbe4f67 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -1,5 +1,5 @@ -import { createOwner } from "./ownership.core"; -import { IOwnership } from "./ownership.type"; +import { createOwner } from "./ownership.core.js"; +import { IOwnership } from "./ownership.type.js"; /** * OwnershipScope — functional, zero-class manager @@ -12,7 +12,7 @@ import { IOwnership } from "./ownership.type"; * * Works like a stack-safe ownership context. */ -export function createOwnershipScope() { +export const createOwnershipScope = () => { let currentOwner: IOwnership | undefined; const getOwner = () => { @@ -22,6 +22,7 @@ export function createOwnershipScope() { const withOwner = (owner: IOwnership, fn: () => T): T => { const prev = currentOwner; currentOwner = owner; + try { return fn(); } finally { @@ -35,4 +36,6 @@ export function createOwnershipScope() { }; return { getOwner, withOwner, createScope }; -} +}; + +export type OwnershipScope = ReturnType; diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/reflex/src/core/ownership/ownership.type.ts index 9f9c65b..0dcbe73 100644 --- a/packages/reflex/src/core/ownership/ownership.type.ts +++ b/packages/reflex/src/core/ownership/ownership.type.ts @@ -4,42 +4,44 @@ * Defines hierarchical scopes, context inheritance, and cleanup logic. */ -const S_ID = Symbol.for("id"); // Unique internal ID -const S_OWN = Symbol.for("ownership"); // Parent Owner reference -const S_SOURCES = Symbol.for("sources"); // Reactive dependencies -const S_SUBS = Symbol.for("subscribers"); // Reactive dependents -const S_DIRTY = Symbol.for("dirty"); // Marks node as dirty -const S_FN = Symbol.for("fn"); // Computation function -const S_VALUE = Symbol.for("value"); // Current value -const S_DISPOSE = Symbol.for("disposeCallbacks"); // Cleanup list - -type IOwnershipContextRecord = Record; - -/** Defines a context entry with inheritance support. */ -type IOwnershipContext = { - id: symbol; - defaultValue?: T; -}; +const S_OWN_BRAND= Symbol("OwnershipBrand"); +const S_ID = Symbol.for("ownership:id"); +const S_OWN = Symbol.for("ownership:parent"); +const S_SOURCES = Symbol.for("ownership:sources"); +const S_SUBS = Symbol.for("ownership:subscribers"); +const S_DIRTY = Symbol.for("ownership:dirty"); +const S_FN = Symbol.for("ownership:fn"); +const S_VALUE = Symbol.for("ownership:value"); +const S_DISPOSE = Symbol.for("ownership:dispose"); + + +interface IOwnershipContextRecord { + [key: string | symbol]: unknown; +} -/** Bitwise node state — used for fast lifecycle checks. */ -const enum OwnershipStateFlags { - CLEAN = 0, - CHECK = 1 << 0, - DIRTY = 1 << 1, - DISPOSING = 1 << 2, - DISPOSED = 1 << 3, +interface IOwnershipContext { + readonly id: symbol; + readonly defaultValue?: T; } -/** Cleanup callback type. */ -type NoneToVoidFn = () => void; +const OwnershipStateFlags = { + CLEAN: 0, + CHECK: 1 << 0, + DIRTY: 1 << 1, + DISPOSING: 1 << 2, + DISPOSED: 1 << 3, +} as const; + +type OwnershipStateFlags = + (typeof OwnershipStateFlags)[keyof typeof OwnershipStateFlags]; + -/** Common API for all Ownership nodes. */ interface IOwnershipMethods { /** Attach a child to this owner (updates tree links & context). */ appendChild(child: IOwnership): void; /** Triggered when a new child scope is mounted. */ - onScopeMount(scope: IOwnership): void; + onScopeMount?(scope: IOwnership): void; /** Register a cleanup callback (runs on dispose). */ onScopeCleanup(fn: NoneToVoidFn): void; @@ -56,27 +58,40 @@ interface IOwnershipMethods { /** Retrieve a value from nearest context scope. */ inject(key: symbol | string): T | undefined; - hasOwn(this: IOwnership, key: symbol | string): boolean; + /** Check if a context value exists locally (not inherited). */ + hasOwn(key: symbol | string): boolean; + + children(): Iterable; + + descendants(): Iterable; /** Dispose this owner and all descendants (iterative). */ dispose(): void; } -/** A single node in the Ownership tree. */ -interface IOwnership extends IOwnershipMethods { - _parent?: IOwnership; - _firstChild?: IOwnership; - _lastChild?: IOwnership; - _nextSibling?: IOwnership; - _prevSibling?: IOwnership; - _disposal?: NoneToVoidFn[]; - _context?: IOwnershipContextRecord; - _queue?: any; +interface IOwnershipInternal { + _parent: IOwnership | undefined; + _firstChild: IOwnership | undefined; + _lastChild: IOwnership | undefined; + _nextSibling: IOwnership | undefined; + _prevSibling: IOwnership | undefined; + _disposal: NoneToVoidFn[] | undefined; + _context: IOwnershipContextRecord | undefined; + _queue: unknown | undefined; _epoch: number; _state: OwnershipStateFlags; _childCount: number; } +interface IOwnership extends IOwnershipInternal, IOwnershipMethods { + [S_OWN_BRAND]: true; +} + +export interface DisposalStrategy { + onError?: (err: unknown, node: IOwnership) => void; + beforeDispose?: (nodes: IOwnership[]) => void; + afterDispose?: (nodes: IOwnership[], errors: number) => void; +} export { S_ID, S_OWN, @@ -86,13 +101,14 @@ export { S_FN, S_VALUE, S_DISPOSE, + S_OWN_BRAND, OwnershipStateFlags, }; export type { IOwnership, + IOwnershipInternal, IOwnershipMethods, IOwnershipContext, IOwnershipContextRecord, - NoneToVoidFn, }; diff --git a/packages/reflex/src/shared/types/async.d.ts b/packages/reflex/src/shared/types/async.d.ts index 908a88a..45dfdab 100644 --- a/packages/reflex/src/shared/types/async.d.ts +++ b/packages/reflex/src/shared/types/async.d.ts @@ -44,7 +44,7 @@ interface Thenable { * - `"fulfilled"` → The computation completed successfully. * - `"rejected"` → The computation failed. */ - readonly state?: "pending" | "fulfilled" | "rejected"; + readonly state?: "pending" | "fulfilled" | "rejected.js"; /** * The resolved value of the computation (if available). diff --git a/packages/reflex/src/shared/types/declarations.d.ts b/packages/reflex/src/shared/types/declarations.d.ts index b91ac14..45b9d77 100644 --- a/packages/reflex/src/shared/types/declarations.d.ts +++ b/packages/reflex/src/shared/types/declarations.d.ts @@ -3,12 +3,11 @@ declare const API_PROTOCOL_VERSION: `${number}.${number}.${number}`; declare const APP_VERSION: string; declare const APP_REVISION: string; -declare const BUILD_MODE: "development" | "production" | "test"; -declare const PLATFORM: "browser" | "node" | "worker"; +declare const BUILD_MODE: "development" | "production" | "test.js"; +declare const PLATFORM: "browser" | "node" | "worker.js"; -declare const process: NodeJS.Process; -declare namespace globalThis { +declare namespace ReflexGlobal { const __REFLEX_LIB__: Record; const __REFLEX_INSPECTOR__: Record | undefined; diff --git a/packages/reflex/src/tests/collections/intrusive_list.test.ts b/packages/reflex/src/tests/collections/intrusive_list.test.ts new file mode 100644 index 0000000..ea35569 --- /dev/null +++ b/packages/reflex/src/tests/collections/intrusive_list.test.ts @@ -0,0 +1,183 @@ +import test from "node:test"; +import assert from "node:assert/strict"; +import { + IntrusiveListNode, + newIntrusiveList, +} from "#reflex/core/collections/intrusive_list.js"; + +function makeNode( + id: number +): IntrusiveListNode<{ id: number }> & { id: number } { + return { id, _prev: undefined, _next: undefined, _list: undefined }; +} + +test("newIntrusiveList: создаёт чистый список", () => { + const list = newIntrusiveList(); + assert.equal(list._head, undefined); + assert.equal(list._tail, undefined); + assert.equal(list._size, 0); +}); + +test("push: добавляет первый элемент корректно", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + + list.push(a); + + assert.equal(list._head, a); + assert.equal(list._tail, a); + assert.equal(list._size, 1); + assert.equal(a._list, list); + assert.equal(a._prev, undefined); + assert.equal(a._next, undefined); +}); + +test("push: добавляет несколько элементов в хвост", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + const b = makeNode(2); + const c = makeNode(3); + + list.push(a); + list.push(b); + list.push(c); + + assert.equal(list._size, 3); + assert.equal(list._head, a); + assert.equal(list._tail, c); + + assert.equal(a._next, b); + assert.equal(b._prev, a); + assert.equal(b._next, c); + assert.equal(c._prev, b); +}); + +test("push: повторное добавление того же узла игнорируется", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + list.push(a); + list.push(a); + assert.equal(list._size, 1); +}); + +test("remove: удаляет узел из середины списка", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + const b = makeNode(2); + const c = makeNode(3); + list.push(a); + list.push(b); + list.push(c); + + list.remove(b); + + assert.equal(list._size, 2); + assert.equal(a._next, c); + assert.equal(c._prev, a); + assert.equal(b._list, undefined); + assert.equal(list._head, a); + assert.equal(list._tail, c); +}); + +test("remove: удаляет первый узел", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + const b = makeNode(2); + list.push(a); + list.push(b); + + list.remove(a); + + assert.equal(list._size, 1); + assert.equal(list._head, b); + assert.equal(b._prev, undefined); +}); + +test("remove: удаляет последний узел", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + const b = makeNode(2); + list.push(a); + list.push(b); + + list.remove(b); + + assert.equal(list._size, 1); + assert.equal(list._tail, a); + assert.equal(a._next, undefined); +}); + +test("remove: no-op если узел не из этого списка", () => { + const list1 = newIntrusiveList(); + const list2 = newIntrusiveList(); + const a = makeNode(1); + list1.push(a); + + list2.remove(a); // не должен изменить list1 + assert.equal(list1._size, 1); + assert.equal(list2._size, 0); +}); + +test("clear: очищает все ссылки и сбрасывает размер", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + const b = makeNode(2); + const c = makeNode(3); + + list.push(a); + list.push(b); + list.push(c); + + list.clear(); + + assert.equal(list._head, undefined); + assert.equal(list._tail, undefined); + assert.equal(list._size, 0); + + for (const node of [a, b, c]) { + assert.equal(node._list, undefined); + assert.equal(node._prev, undefined); + assert.equal(node._next, undefined); + } +}); + +test("values: корректно итерирует все элементы в порядке вставки", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + const b = makeNode(2); + const c = makeNode(3); + list.push(a); + list.push(b); + list.push(c); + + const iterated = Array.from(list.values()); + assert.deepEqual(iterated, [a, b, c]); +}); + +test("values: после remove итерация возвращает только оставшиеся", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + const b = makeNode(2); + const c = makeNode(3); + list.push(a); + list.push(b); + list.push(c); + + list.remove(b); + + const iterated = Array.from(list.values()); + assert.deepEqual(iterated, [a, c]); +}); + +test("values: после clear итерация пуста", () => { + const list = newIntrusiveList(); + const a = makeNode(1); + const b = makeNode(2); + list.push(a); + list.push(b); + + list.clear(); + + const iterated = Array.from(list.values()); + assert.deepEqual(iterated, []); +}); diff --git a/packages/reflex/src/tests/ownership.advanced.test.ts b/packages/reflex/src/tests/ownership.advanced.test.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/reflex/src/tests/ownership.bench.test.ts b/packages/reflex/src/tests/ownership.bench.test.ts new file mode 100644 index 0000000..b117b10 --- /dev/null +++ b/packages/reflex/src/tests/ownership.bench.test.ts @@ -0,0 +1,247 @@ +import { performance } from "node:perf_hooks"; +import { createOwner } from "#reflex/core/ownership/ownership.core.js"; +import type { IOwnership } from "#reflex/core/ownership/ownership.type.js"; + +// Утилиты для бенчмаркинга +const formatNumber = (num: number) => num.toLocaleString("en-US"); +const formatTime = (ns: number) => { + if (ns < 1000) return `${ns.toFixed(2)}ns`; + const μs = ns / 1000; + if (μs < 1000) return `${μs.toFixed(2)}μs`; + const ms = μs / 1000; + return `${ms.toFixed(2)}ms`; +}; + +interface BenchResult { + ops: number; // Operations per second + timePerOp: number; // Nanoseconds per operation + samples: number[]; // Array of sample timings +} + +function runBench(name: string, fn: () => void, iterations = 100000): BenchResult { + // Прогрев + for (let i = 0; i < 1000; i++) fn(); + + const samples: number[] = []; + const start = performance.now(); + + // Основной цикл замеров + for (let i = 0; i < iterations; i++) { + const t0 = performance.now(); + fn(); + samples.push(performance.now() - t0); + } + + const total = performance.now() - start; + const timePerOp = (total * 1_000_000) / iterations; // в наносекундах + const ops = 1_000_000_000 / timePerOp; // операций в секунду + + console.log( + `${name}: + ${" ".repeat(4)}Ops/sec: ${formatNumber(ops)} + ${" ".repeat(4)}Time/op: ${formatTime(timePerOp)} + ${" ".repeat(4)}Samples: ${iterations}` + ); + + return { ops, timePerOp, samples }; +} + +// Бенчмарки + +console.log("\\n=== Ownership Performance Benchmarks ===\\n"); + +// 1. Создание owner +runBench( + "Owner creation (no parent)", + () => { + createOwner(); + } +); + +// 2. Создание owner с родителем +runBench( + "Owner creation (with parent)", + () => { + const parent = createOwner(); + createOwner(parent); + } +); + +// 3. Аппенд чайлда (hot path) +{ + const parent = createOwner(); + const child = createOwner(); + runBench( + "appendChild (hot path)", + () => { + parent.appendChild(child); + child._parent = undefined; // ресет для следующей итерации + } + ); +} + +// 4. Контекст и наследование +{ + const root = createOwner(); + root.provide("testKey", "testValue"); + const child = createOwner(root); + + runBench( + "Context inheritance (inject)", + () => { + child.inject("testKey"); + } + ); +} + +// 5. Большое дерево: создание и утилизация +{ + // Создаем большое дерево для теста + function createDeepTree(depth: number, width: number): IOwnership { + const root = createOwner(); + if (depth > 0) { + for (let i = 0; i < width; i++) { + const child = createDeepTree(depth - 1, width); + root.appendChild(child); + } + } + return root; + } + + console.log("\\n=== Large Tree Operations ===\\n"); + + // 5.1 Создание большого дерева + runBench( + "Create large tree (depth=4, width=4)", + () => { + createDeepTree(4, 4); // 256 узлов + }, + 100 // меньше итераций для большого дерева + ); + + // 5.2 Утилизация большого дерева + runBench( + "Dispose large tree (depth=4, width=4)", + () => { + const tree = createDeepTree(4, 4); + tree.dispose(); + }, + 100 + ); +} + +// 6. Traversal performance +{ + console.log("\\n=== Traversal Performance ===\\n"); + + // Создаем широкое дерево для теста + const root = createOwner(); + for (let i = 0; i < 100; i++) { + createOwner(root); + } + + // 6.1 Прямой children() + runBench( + "Direct children iteration (100 nodes)", + () => { + for (const _ of root.children()) { + // просто итерация + } + } + ); + + // 6.2 Рекурсивный descendants() + runBench( + "Recursive descendants (100 nodes)", + () => { + for (const _ of root.descendants()) { + // просто итерация + } + } + ); +} + +// 7. Cleanup handlers +{ + console.log("\\n=== Cleanup Performance ===\\n"); + + const owner = createOwner(); + const noop = () => {}; + + // 7.1 Добавление cleanup handler + runBench( + "Add cleanup handler", + () => { + owner.onScopeCleanup(noop); + } + ); + + // 7.2 Dispose с cleanup handlers + runBench( + "Dispose with cleanup handlers", + () => { + const o = createOwner(); + o.onScopeCleanup(noop); + o.dispose(); + }, + 10000 // меньше итераций так как операция тяжелее + ); +} + +// 8. Context операции +{ + console.log("\\n=== Context Operations ===\\n"); + + const root = createOwner(); + const child = createOwner(root); + const grandChild = createOwner(child); + + // 8.1 Provide + runBench( + "Context provide", + () => { + root.provide("testKey", "testValue"); + } + ); + + // 8.2 Inject (3 уровня глубины) + runBench( + "Context inject (depth=3)", + () => { + grandChild.inject("testKey"); + } + ); + + // 8.3 hasOwn check + runBench( + "Context hasOwn", + () => { + grandChild.hasOwn("testKey"); + } + ); +} + +// 9. State flags operations +{ + console.log("\\n=== State Management ===\\n"); + + const owner = createOwner(); + let state = owner._state; + + // 9.1 State flag check + runBench( + "State flag check", + () => { + state & 1; + } + ); + + // 9.2 State flag modification + runBench( + "State flag modification", + () => { + state |= 1; + state &= ~1; + } + ); +} diff --git a/packages/reflex/src/tests/ownership.bench.ts b/packages/reflex/src/tests/ownership.bench.ts new file mode 100644 index 0000000..c37ca74 --- /dev/null +++ b/packages/reflex/src/tests/ownership.bench.ts @@ -0,0 +1,247 @@ +import { performance } from "node:perf_hooks"; +import { createOwner } from "../core/ownership/ownership.core.js"; +import type { IOwnership } from "../core/ownership/ownership.type.js"; + +// Утилиты для бенчмаркинга +const formatNumber = (num: number) => num.toLocaleString("en-US"); +const formatTime = (ns: number) => { + if (ns < 1000) return `${ns.toFixed(2)}ns`; + const μs = ns / 1000; + if (μs < 1000) return `${μs.toFixed(2)}μs`; + const ms = μs / 1000; + return `${ms.toFixed(2)}ms`; +}; + +interface BenchResult { + ops: number; // Operations per second + timePerOp: number; // Nanoseconds per operation + samples: number[]; // Array of sample timings +} + +function runBench(name: string, fn: () => void, iterations = 100000): BenchResult { + // Прогрев + for (let i = 0; i < 1000; i++) fn(); + + const samples: number[] = []; + const start = performance.now(); + + // Основной цикл замеров + for (let i = 0; i < iterations; i++) { + const t0 = performance.now(); + fn(); + samples.push(performance.now() - t0); + } + + const total = performance.now() - start; + const timePerOp = (total * 1_000_000) / iterations; // в наносекундах + const ops = 1_000_000_000 / timePerOp; // операций в секунду + + console.log( + `${name}: + ${" ".repeat(4)}Ops/sec: ${formatNumber(ops)} + ${" ".repeat(4)}Time/op: ${formatTime(timePerOp)} + ${" ".repeat(4)}Samples: ${iterations}` + ); + + return { ops, timePerOp, samples }; +} + +// Бенчмарки + +console.log("\\n=== Ownership Performance Benchmarks ===\\n"); + +// 1. Создание owner +runBench( + "Owner creation (no parent)", + () => { + createOwner(); + } +); + +// 2. Создание owner с родителем +runBench( + "Owner creation (with parent)", + () => { + const parent = createOwner(); + createOwner(parent); + } +); + +// 3. Аппенд чайлда (hot path) +{ + const parent = createOwner(); + const child = createOwner(); + runBench( + "appendChild (hot path)", + () => { + parent.appendChild(child); + child._parent = undefined; // ресет для следующей итерации + } + ); +} + +// 4. Контекст и наследование +{ + const root = createOwner(); + root.provide("testKey", "testValue"); + const child = createOwner(root); + + runBench( + "Context inheritance (inject)", + () => { + child.inject("testKey"); + } + ); +} + +// 5. Большое дерево: создание и утилизация +{ + // Создаем большое дерево для теста + function createDeepTree(depth: number, width: number): IOwnership { + const root = createOwner(); + if (depth > 0) { + for (let i = 0; i < width; i++) { + const child = createDeepTree(depth - 1, width); + root.appendChild(child); + } + } + return root; + } + + console.log("\\n=== Large Tree Operations ===\\n"); + + // 5.1 Создание большого дерева + runBench( + "Create large tree (depth=4, width=4)", + () => { + createDeepTree(4, 4); // 256 узлов + }, + 100 // меньше итераций для большого дерева + ); + + // 5.2 Утилизация большого дерева + runBench( + "Dispose large tree (depth=4, width=4)", + () => { + const tree = createDeepTree(4, 4); + tree.dispose(); + }, + 100 + ); +} + +// 6. Traversal performance +{ + console.log("\\n=== Traversal Performance ===\\n"); + + // Создаем широкое дерево для теста + const root = createOwner(); + for (let i = 0; i < 100; i++) { + createOwner(root); + } + + // 6.1 Прямой children() + runBench( + "Direct children iteration (100 nodes)", + () => { + for (const _ of root.children()) { + // просто итерация + } + } + ); + + // 6.2 Рекурсивный descendants() + runBench( + "Recursive descendants (100 nodes)", + () => { + for (const _ of root.descendants()) { + // просто итерация + } + } + ); +} + +// 7. Cleanup handlers +{ + console.log("\\n=== Cleanup Performance ===\\n"); + + const owner = createOwner(); + const noop = () => {}; + + // 7.1 Добавление cleanup handler + runBench( + "Add cleanup handler", + () => { + owner.onScopeCleanup(noop); + } + ); + + // 7.2 Dispose с cleanup handlers + runBench( + "Dispose with cleanup handlers", + () => { + const o = createOwner(); + o.onScopeCleanup(noop); + o.dispose(); + }, + 10000 // меньше итераций так как операция тяжелее + ); +} + +// 8. Context операции +{ + console.log("\\n=== Context Operations ===\\n"); + + const root = createOwner(); + const child = createOwner(root); + const grandChild = createOwner(child); + + // 8.1 Provide + runBench( + "Context provide", + () => { + root.provide("testKey", "testValue"); + } + ); + + // 8.2 Inject (3 уровня глубины) + runBench( + "Context inject (depth=3)", + () => { + grandChild.inject("testKey"); + } + ); + + // 8.3 hasOwn check + runBench( + "Context hasOwn", + () => { + grandChild.hasOwn("testKey"); + } + ); +} + +// 9. State flags operations +{ + console.log("\\n=== State Management ===\\n"); + + const owner = createOwner(); + let state = owner._state; + + // 9.1 State flag check + runBench( + "State flag check", + () => { + state & 1; + } + ); + + // 9.2 State flag modification + runBench( + "State flag modification", + () => { + state |= 1; + state &= ~1; + } + ); +} diff --git a/packages/reflex/src/tests/ownership.spec.ts b/packages/reflex/src/tests/ownership.spec.ts deleted file mode 100644 index b3d9fe6..0000000 --- a/packages/reflex/src/tests/ownership.spec.ts +++ /dev/null @@ -1,809 +0,0 @@ -/** - * @file ownership.test.ts - * Comprehensive test suite for ownership system - */ - -import { createOwner } from "../core/ownership/ownership.core"; -import { OwnershipScope } from "../core/ownership/ownership.scope"; -import { OwnershipStateFlags, IOwnership } from "../core/ownership/ownership.type"; - - - -function logPerf(name: string, duration: number, limit?: number) { - const pass = limit === undefined || duration <= limit; - const barLength = 50; - let filled = 0; - - if (limit) { - filled = Math.min(barLength, Math.floor((duration / limit) * barLength)); - } else { - // если лимита нет, масштабируем просто пропорционально небольшому значению - const scale = duration > 0 ? Math.min(duration / 10, 1) : 0; - filled = Math.min(barLength, Math.floor(scale * barLength)); - } - - const empty = barLength - filled; - const color = pass ? "\x1b[32m" : "\x1b[31m"; // green/red - const reset = "\x1b[0m"; - - console.log( - `${name.padEnd(40)} | ${color}${"█".repeat(filled)}${"░".repeat( - empty - )}${reset} | ${duration.toFixed(2)}ms${limit ? ` (limit: ${limit}ms)` : ""}` - ); -} - -describe("OwnershipCore", () => { - describe("createOwner", () => { - it("should create owner with clean initial state", () => { - const owner = createOwner(); - - expect(owner._parent).toBeUndefined(); - expect(owner._firstChild).toBeUndefined(); - expect(owner._lastChild).toBeUndefined(); - expect(owner._nextSibling).toBeUndefined(); - expect(owner._prevSibling).toBeUndefined(); - expect(owner._childCount).toBe(0); - expect(owner._state).toBe(OwnershipStateFlags.CLEAN); - expect(owner._disposal).toBe(undefined); - }); - - it("should attach to parent when provided", () => { - const parent = createOwner(); - const child = createOwner(parent); - - expect(child._parent).toBe(parent); - expect(parent._firstChild).toBe(child); - expect(parent._lastChild).toBe(child); - expect(parent._childCount).toBe(1); - }); - - it("should call parent.onScopeMount when attached", () => { - const parent = createOwner(); - const mountSpy = jest.fn(); - parent.onScopeMount = mountSpy; - - const child = createOwner(parent); - - expect(mountSpy).toHaveBeenCalledWith(child); - expect(mountSpy).toHaveBeenCalledTimes(1); - }); - }); - - describe("appendChild", () => { - it("should add child to empty parent", () => { - const parent = createOwner(); - const child = createOwner(); - - parent.appendChild(child); - - expect(child._parent).toBe(parent); - expect(parent._firstChild).toBe(child); - expect(parent._lastChild).toBe(child); - expect(parent._childCount).toBe(1); - }); - - it("should add multiple children maintaining order", () => { - const parent = createOwner(); - const child1 = createOwner(); - const child2 = createOwner(); - const child3 = createOwner(); - - parent.appendChild(child1); - parent.appendChild(child2); - parent.appendChild(child3); - - expect(parent._firstChild).toBe(child1); - expect(parent._lastChild).toBe(child3); - expect(child1._nextSibling).toBe(child2); - expect(child2._nextSibling).toBe(child3); - expect(child2._prevSibling).toBe(child1); - expect(child3._prevSibling).toBe(child2); - expect(parent._childCount).toBe(3); - }); - - it("should handle re-appending same child (noop)", () => { - const parent = createOwner(); - const child = createOwner(); - - parent.appendChild(child); - parent.appendChild(child); - - expect(parent._childCount).toBe(1); - }); - - it("should detach from previous parent before attaching", () => { - const parent1 = createOwner(); - const parent2 = createOwner(); - const child = createOwner(); - - parent1.appendChild(child); - expect(parent1._childCount).toBe(1); - - parent2.appendChild(child); - expect(parent1._childCount).toBe(0); - expect(parent2._childCount).toBe(1); - expect(child._parent).toBe(parent2); - }); - - it("should throw when appending disposed child", () => { - const parent = createOwner(); - const child = createOwner(); - - child._state = OwnershipStateFlags.DISPOSED; - - expect(() => parent.appendChild(child)).toThrow( - "Cannot append a disposed child" - ); - }); - - it("should throw when appending to disposing parent", () => { - const parent = createOwner(); - const child = createOwner(); - - parent._state = OwnershipStateFlags.DISPOSING; - - expect(() => parent.appendChild(child)).toThrow( - "Cannot append child to an owner that is disposing" - ); - }); - - it("should inherit context from parent", () => { - const parent = createOwner(); - parent._context = { foo: "bar" }; - - const child = createOwner(); - parent.appendChild(child); - - expect(child._context).toBeDefined(); - expect(child._context).not.toBe(parent._context); - }); - - it("should not create context if parent has none", () => { - const parent = createOwner(); - const child = createOwner(); - - parent.appendChild(child); - - expect(child._context).toBeUndefined(); - }); - }); - - describe("removeChild", () => { - it("should remove child from parent", () => { - const parent = createOwner(); - const child = createOwner(parent); - - parent.removeChild(child); - - expect(child._parent).toBeUndefined(); - expect(parent._firstChild).toBeUndefined(); - expect(parent._lastChild).toBeUndefined(); - expect(parent._childCount).toBe(0); - }); - - it("should handle removing from wrong parent (noop)", () => { - const parent1 = createOwner(); - const parent2 = createOwner(); - const child = createOwner(parent1); - - parent2.removeChild(child); - - expect(child._parent).toBe(parent1); - expect(parent1._childCount).toBe(1); - }); - - it("should update sibling links when removing middle child", () => { - const parent = createOwner(); - const child1 = createOwner(parent); - const child2 = createOwner(parent); - const child3 = createOwner(parent); - - parent.removeChild(child2); - - expect(child1._nextSibling).toBe(child3); - expect(child3._prevSibling).toBe(child1); - expect(parent._childCount).toBe(2); - }); - - it("should update firstChild when removing first child", () => { - const parent = createOwner(); - const child1 = createOwner(parent); - const child2 = createOwner(parent); - - parent.removeChild(child1); - - expect(parent._firstChild).toBe(child2); - expect(child2._prevSibling).toBeUndefined(); - }); - - it("should update lastChild when removing last child", () => { - const parent = createOwner(); - const child1 = createOwner(parent); - const child2 = createOwner(parent); - - parent.removeChild(child2); - - expect(parent._lastChild).toBe(child1); - expect(child1._nextSibling).toBeUndefined(); - }); - - it("should clear all child references", () => { - const parent = createOwner(); - const child = createOwner(parent); - - parent.removeChild(child); - - expect(child._parent).toBeUndefined(); - expect(child._prevSibling).toBeUndefined(); - expect(child._nextSibling).toBeUndefined(); - }); - }); - - describe("onScopeCleanup", () => { - it("should add cleanup function", () => { - const owner = createOwner(); - const cleanup = jest.fn(); - - owner.onScopeCleanup(cleanup); - - expect(owner._disposal).toContain(cleanup); - }); - - it("should add multiple cleanup functions", () => { - const owner = createOwner(); - const cleanup1 = jest.fn(); - const cleanup2 = jest.fn(); - const cleanup3 = jest.fn(); - - owner.onScopeCleanup(cleanup1); - owner.onScopeCleanup(cleanup2); - owner.onScopeCleanup(cleanup3); - - expect(owner._disposal).toHaveLength(3); - expect(owner._disposal).toEqual([cleanup1, cleanup2, cleanup3]); - }); - - // it("should throw when adding cleanup to disposed owner", () => { - // const owner = createOwner(); - // owner._state = OwnershipStateFlags.DISPOSED; - - // expect(() => owner.onScopeCleanup(jest.fn())).toThrow( - // "[Ownership dispose] 1 error(s) during cleanup" - // ); - // }); - - it("should initialize disposal array if not present", () => { - const owner = createOwner(); - owner._disposal = undefined as any; - - owner.onScopeCleanup(jest.fn()); - - expect(owner._disposal).toBeDefined(); - expect(Array.isArray(owner._disposal)).toBe(true); - }); - }); - - describe("dispose", () => { - it("should mark owner as disposed", () => { - const owner = createOwner(); - - owner.dispose(); - - expect(owner._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - }); - - it("should handle disposing already disposed owner (noop)", () => { - const owner = createOwner(); - - owner.dispose(); - owner.dispose(); - - // Should not throw or cause issues - expect(owner._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - }); - - it("should dispose all children recursively", () => { - const parent = createOwner(); - const child1 = createOwner(parent); - const child2 = createOwner(parent); - const grandchild = createOwner(child1); - - parent.dispose(); - - expect(parent._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - expect(child1._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - expect(child2._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - expect(grandchild._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - }); - - it("should call cleanup functions", () => { - const owner = createOwner(); - const cleanup1 = jest.fn(); - const cleanup2 = jest.fn(); - - owner.onScopeCleanup(cleanup1); - owner.onScopeCleanup(cleanup2); - - owner.dispose(); - - expect(cleanup1).toHaveBeenCalled(); - expect(cleanup2).toHaveBeenCalled(); - }); - - it("should skip already disposed nodes in tree", () => { - const parent = createOwner(); - const child1 = createOwner(parent); - const child2 = createOwner(parent); - - child1._state = OwnershipStateFlags.DISPOSED; - - parent.dispose(); - - expect(parent._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - expect(child2._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - }); - - it("should handle deep tree disposal", () => { - const root = createOwner(); - let current = root; - - // Create deep tree: 100 levels - for (let i = 0; i < 100; i++) { - current = createOwner(current); - } - - expect(() => root.dispose()).not.toThrow(); - }); - - it("should handle wide tree disposal", () => { - const root = createOwner(); - - // Create wide tree: 100 children - for (let i = 0; i < 100; i++) { - createOwner(root); - } - - expect(() => root.dispose()).not.toThrow(); - expect(root._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - }); - }); -}); - -describe("OwnershipScope", () => { - let scope: OwnershipScope; - - beforeEach(() => { - scope = new OwnershipScope(); - }); - - describe("owner getter", () => { - it("should return undefined initially", () => { - expect(scope.owner).toBeUndefined(); - }); - - it("should return current owner after setting", () => { - const owner = createOwner(); - scope.withOwner(owner, () => { - expect(scope.owner).toBe(owner); - }); - }); - }); - - describe("createScope", () => { - it("should create new owner under current owner", () => { - const parent = createOwner(); - let childOwner: IOwnership | undefined; - - scope.withOwner(parent, () => { - scope.createScope(() => { - childOwner = scope.owner; - }); - }); - - expect(childOwner).toBeDefined(); - expect(childOwner!._parent).toBe(parent); - }); - - it("should create root owner when no current owner", () => { - let rootOwner: IOwnership | undefined; - - scope.createScope(() => { - rootOwner = scope.owner; - }); - - expect(rootOwner).toBeDefined(); - expect(rootOwner!._parent).toBeUndefined(); - }); - - it("should execute callback in new scope", () => { - const callback = jest.fn(() => 42); - - const result = scope.createScope(callback); - - expect(callback).toHaveBeenCalled(); - expect(result).toBe(42); - }); - - it("should restore previous owner after callback", () => { - const parent = createOwner(); - - scope.withOwner(parent, () => { - scope.createScope(() => { - expect(scope.owner).not.toBe(parent); - }); - - expect(scope.owner).toBe(parent); - }); - }); - - it("should use explicit parent when provided", () => { - const parent1 = createOwner(); - const parent2 = createOwner(); - let childOwner: IOwnership | undefined; - - scope.withOwner(parent1, () => { - scope.createScope(() => { - childOwner = scope.owner; - }, parent2); - }); - - expect(childOwner!._parent).toBe(parent2); - }); - - it("should handle nested scopes", () => { - const owners: IOwnership[] = []; - - scope.createScope(() => { - owners.push(scope.owner!); - - scope.createScope(() => { - owners.push(scope.owner!); - - scope.createScope(() => { - owners.push(scope.owner!); - }); - }); - }); - - expect(owners).toHaveLength(3); - expect(owners[1]._parent).toBe(owners[0]); - expect(owners[2]._parent).toBe(owners[1]); - }); - }); - - describe("withOwner", () => { - it("should temporarily set owner during callback", () => { - const owner = createOwner(); - const callback = jest.fn(); - - scope.withOwner(owner, callback); - - expect(callback).toHaveBeenCalled(); - }); - - it("should restore previous owner after callback", () => { - const owner1 = createOwner(); - const owner2 = createOwner(); - - scope.withOwner(owner1, () => { - expect(scope.owner).toBe(owner1); - - scope.withOwner(owner2, () => { - expect(scope.owner).toBe(owner2); - }); - - expect(scope.owner).toBe(owner1); - }); - }); - - it("should restore owner even if callback throws", () => { - const owner = createOwner(); - - expect(() => { - scope.withOwner(owner, () => { - throw new Error("Test error"); - }); - }).toThrow("Test error"); - - expect(scope.owner).toBeUndefined(); - }); - - it("should return callback result", () => { - const owner = createOwner(); - const result = scope.withOwner(owner, () => 42); - - expect(result).toBe(42); - }); - - it("should handle async callbacks", async () => { - const owner = createOwner(); - - const result = await scope.withOwner(owner, async () => { - expect(scope.owner).toBe(owner); - return Promise.resolve(42); - }); - - expect(result).toBe(42); - }); - }); -}); - -describe("Integration Tests", () => { - describe("Complex tree operations", () => { - it("should handle moving subtrees between parents", () => { - const parent1 = createOwner(); - const parent2 = createOwner(); - const child = createOwner(parent1); - const grandchild = createOwner(child); - - parent2.appendChild(child); - - expect(child._parent).toBe(parent2); - expect(grandchild._parent).toBe(child); - expect(parent1._childCount).toBe(0); - expect(parent2._childCount).toBe(1); - }); - - it("should dispose subtrees independently", () => { - const root = createOwner(); - const branch1 = createOwner(root); - const branch2 = createOwner(root); - const leaf1 = createOwner(branch1); - const leaf2 = createOwner(branch2); - - branch1.dispose(); - - expect(branch1._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - expect(leaf1._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - expect(branch2._state & OwnershipStateFlags.DISPOSED).toBeFalsy(); - expect(leaf2._state & OwnershipStateFlags.DISPOSED).toBeFalsy(); - }); - - it("should maintain tree integrity after multiple operations", () => { - const root = createOwner(); - const children = Array.from({ length: 10 }, () => createOwner(root)); - - // Remove even children - children.forEach((child, i) => { - if (i % 2 === 0) root.removeChild(child); - }); - - expect(root._childCount).toBe(5); - - // Verify sibling links - let current = root._firstChild; - let count = 0; - - while (current) { - count++; - current = current._nextSibling; - } - - expect(count).toBe(5); - }); - }); - - describe("Cleanup execution order", () => { - it("should execute cleanups in registration order", () => { - const owner = createOwner(); - const order: number[] = []; - - owner.onScopeCleanup(() => order.push(1)); - owner.onScopeCleanup(() => order.push(2)); - owner.onScopeCleanup(() => order.push(3)); - - owner.dispose(); - - // Order depends on DisposalStrategy, but should be consistent - expect(order).toHaveLength(3); - expect(order).toContain(1); - expect(order).toContain(2); - expect(order).toContain(3); - }); - - it("should handle cleanup errors gracefully", () => { - const owner = createOwner(); - const cleanup1 = jest.fn(); - const cleanup2 = jest.fn(() => { - throw new Error("Cleanup error"); - }); - const cleanup3 = jest.fn(); - - owner.onScopeCleanup(cleanup1); - owner.onScopeCleanup(cleanup2); - owner.onScopeCleanup(cleanup3); - - // Depending on DisposalStrategy, errors might be collected - owner.dispose(); - - expect(cleanup1).toHaveBeenCalled(); - expect(cleanup2).toHaveBeenCalled(); - }); - }); - - describe("Scope integration", () => { - it("should create scoped resource management", () => { - const scope = new OwnershipScope(); - const resources: string[] = []; - - scope.createScope(() => { - const owner = scope.owner!; - - owner.onScopeCleanup(() => resources.push("cleanup1")); - owner.onScopeCleanup(() => resources.push("cleanup2")); - - owner.dispose(); - }); - - expect(resources).toHaveLength(2); - }); - - it("should support nested resource scopes", () => { - const scope = new OwnershipScope(); - const events: string[] = []; - - scope.createScope(() => { - events.push("outer-start"); - const outer = scope.owner!; - outer.onScopeCleanup(() => events.push("outer-cleanup")); - - scope.createScope(() => { - events.push("inner-start"); - const inner = scope.owner!; - inner.onScopeCleanup(() => events.push("inner-cleanup")); - - inner.dispose(); - }); - - events.push("outer-end"); - outer.dispose(); - }); - - expect(events).toEqual([ - "outer-start", - "inner-start", - "inner-cleanup", - "outer-end", - "outer-cleanup", - ]); - }); - }); -}); - -describe("Performance Tests", () => { - it("should handle large number of children efficiently", () => { - const parent = createOwner(); - const childCount = 10000; - - const start = performance.now(); - for (let i = 0; i < childCount; i++) createOwner(parent); - const duration = performance.now() - start; - - expect(parent._childCount).toBe(childCount); - - logPerf("Adding 10k children", duration, 100); - }); - - it("should dispose large trees efficiently", () => { - const root = createOwner(); - - function createTree(parent: IOwnership, depth: number) { - if (!depth) return; - const left = createOwner(parent); - const right = createOwner(parent); - createTree(left, depth - 1); - createTree(right, depth - 1); - } - - createTree(root, 10); // ~1000 nodes - - const start = performance.now(); - root.dispose(); - const duration = performance.now() - start; - - logPerf("Disposing 1k-node tree", duration, 50); - }); - - it("should handle many cleanups efficiently", () => { - const owner = createOwner(); - const cleanupCount = 10000; - - for (let i = 0; i < cleanupCount; i++) owner.onScopeCleanup(() => {}); - - const start = performance.now(); - owner.dispose(); - const duration = performance.now() - start; - - logPerf("Disposing 10k cleanups", duration, 100); - }); - - it("should maintain performance with frequent scope creation", () => { - const scope = new OwnershipScope(); - const iterations = 1000; - - const start = performance.now(); - for (let i = 0; i < iterations; i++) { - scope.createScope(() => { - const owner = scope.owner!; - owner.onScopeCleanup(() => {}); - owner.dispose(); - }); - } - const duration = performance.now() - start; - - logPerf("1k Scope create+dispose", duration, 200); - }); - - it("should have minimal memory overhead", () => { - const owners: IOwnership[] = []; - const count = 1000; - - const start = performance.now(); - for (let i = 0; i < count; i++) owners.push(createOwner()); - const durationCreate = performance.now() - start; - - owners.forEach((o) => o.dispose()); - const durationDispose = performance.now() - start - durationCreate; - - logPerf("Creating 1k owners", durationCreate, 50); - logPerf("Disposing 1k owners", durationDispose, 50); - }); -}); - -describe("Edge Cases", () => { - it("should prevent direct circular append", () => { - const parent = createOwner(); - const child = createOwner(parent); - - child.appendChild(parent); - - // They swapping parents should not create a cycle - expect(parent._parent).toBe(child); - expect(child._parent).toBe(parent); - expect(parent._childCount).toBe(1); - }); - - it("should handle disposing during cleanup", () => { - const parent = createOwner(); - const child = createOwner(parent); - - parent.onScopeCleanup(() => { - child.dispose(); // Dispose child during parent cleanup - }); - - expect(() => parent.dispose()).not.toThrow(); - }); - - it("should handle removing all children", () => { - const parent = createOwner(); - const children = Array.from({ length: 5 }, () => createOwner(parent)); - - children.forEach((child) => parent.removeChild(child)); - - expect(parent._firstChild).toBeUndefined(); - expect(parent._lastChild).toBeUndefined(); - expect(parent._childCount).toBe(0); - }); - - it("should handle empty tree disposal", () => { - const owner = createOwner(); - - expect(() => owner.dispose()).not.toThrow(); - }); - - it("should handle owner with no cleanups", () => { - const owner = createOwner(); - - expect(() => owner.dispose()).not.toThrow(); - expect(owner._state & OwnershipStateFlags.DISPOSED).toBeTruthy(); - }); - - it("should handle scope with no operations", () => { - const scope = new OwnershipScope(); - - expect(() => { - scope.createScope(() => {}); - }).not.toThrow(); - }); -}); diff --git a/packages/reflex/src/tests/unrolled-queue.bench.test.ts b/packages/reflex/src/tests/unrolled-queue.bench.ts similarity index 98% rename from packages/reflex/src/tests/unrolled-queue.bench.test.ts rename to packages/reflex/src/tests/unrolled-queue.bench.ts index ee2c069..313c938 100644 --- a/packages/reflex/src/tests/unrolled-queue.bench.test.ts +++ b/packages/reflex/src/tests/unrolled-queue.bench.ts @@ -1,7 +1,7 @@ /* eslint-disable no-console */ -import { performance } from "node:perf_hooks"; -import process from "node:process"; -import { UnrolledQueue } from "../core/collections/unrolled-queue"; +import { performance } from "perf_hooks"; +import process from "process"; +import { UnrolledQueue } from "../core/collections/unrolled-queue.js"; const WARM_UP = 3; const ROUNDS = 10; diff --git a/packages/reflex/tsconfig.json b/packages/reflex/tsconfig.json index 23e0f19..113c5cd 100644 --- a/packages/reflex/tsconfig.json +++ b/packages/reflex/tsconfig.json @@ -1,13 +1,17 @@ { - "extends": "../../environment/tsconfig.base.json", "compilerOptions": { "rootDir": "src", "outDir": "dist", "types": ["node", "jest"], - "typeRoots": ["./types", "./node_modules/@types"], + "esModuleInterop": true, + "module": "NodeNext", + "moduleResolution": "NodeNext", + "target": "ES2022", + "isolatedModules": true, + "strict": true, "declaration": true, "declarationMap": true }, "include": ["src"], - "exclude": ["dist", "**/*.test.ts"] + "exclude": ["dist"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..d864e2d --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,3729 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@types/jest': + specifier: ^30.0.0 + version: 30.0.0 + '@types/node': + specifier: ^24.9.1 + version: 24.9.1 + jest: + specifier: ^30.2.0 + version: 30.2.0(@types/node@24.9.1) + ts-jest: + specifier: ^29.4.5 + version: 29.4.5(@babel/core@7.28.5)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.5))(jest-util@30.2.0)(jest@30.2.0(@types/node@24.9.1))(typescript@5.9.3) + typescript: + specifier: 5.9.3 + version: 5.9.3 + + packages/reflex: {} + + packages/reflex-dom: + dependencies: + '@reflex/core': + specifier: workspace:* + version: link:../reflex + devDependencies: + typescript: + specifier: 5.9.3 + version: 5.9.3 + + third-party/rigidify: + devDependencies: + eslint: + specifier: ^8.50.0 + version: 8.57.1 + rollup: + specifier: ^4.50.2 + version: 4.52.5 + rollup-plugin-typescript2: + specifier: ^0.36.0 + version: 0.36.0(rollup@4.52.5)(typescript@5.9.3) + typescript: + specifier: ^5.9.2 + version: 5.9.3 + +packages: + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@emnapi/core@1.7.0': + resolution: {integrity: sha512-pJdKGq/1iquWYtv1RRSljZklxHCOCAJFJrImO5ZLKPJVJlVUcs8yFwNQlqS0Lo8xT1VAXXTCZocF9n26FWEKsw==} + + '@emnapi/runtime@1.7.0': + resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==} + + '@emnapi/wasi-threads@1.1.0': + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@30.2.0': + resolution: {integrity: sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/core@30.2.0': + resolution: {integrity: sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/diff-sequences@30.0.1': + resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/environment@30.2.0': + resolution: {integrity: sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/expect-utils@30.2.0': + resolution: {integrity: sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/expect@30.2.0': + resolution: {integrity: sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/fake-timers@30.2.0': + resolution: {integrity: sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/get-type@30.1.0': + resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/globals@30.2.0': + resolution: {integrity: sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/pattern@30.0.1': + resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/reporters@30.2.0': + resolution: {integrity: sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@30.0.5': + resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/snapshot-utils@30.2.0': + resolution: {integrity: sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/source-map@30.0.1': + resolution: {integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/test-result@30.2.0': + resolution: {integrity: sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/test-sequencer@30.2.0': + resolution: {integrity: sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/transform@30.2.0': + resolution: {integrity: sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jest/types@30.2.0': + resolution: {integrity: sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@napi-rs/wasm-runtime@0.2.12': + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.2.9': + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@rollup/pluginutils@4.2.1': + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + + '@rollup/rollup-android-arm-eabi@4.52.5': + resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.52.5': + resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.52.5': + resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.52.5': + resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.52.5': + resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.52.5': + resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': + resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.52.5': + resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.52.5': + resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.52.5': + resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.52.5': + resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.52.5': + resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.52.5': + resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.52.5': + resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.52.5': + resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.52.5': + resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.52.5': + resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openharmony-arm64@4.52.5': + resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.52.5': + resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.52.5': + resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.52.5': + resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.52.5': + resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==} + cpu: [x64] + os: [win32] + + '@sinclair/typebox@0.34.41': + resolution: {integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@13.0.5': + resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} + + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@30.0.0': + resolution: {integrity: sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==} + + '@types/node@24.9.1': + resolution: {integrity: sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.34': + resolution: {integrity: sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@unrs/resolver-binding-android-arm-eabi@1.11.1': + resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} + cpu: [arm] + os: [android] + + '@unrs/resolver-binding-android-arm64@1.11.1': + resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==} + cpu: [arm64] + os: [android] + + '@unrs/resolver-binding-darwin-arm64@1.11.1': + resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==} + cpu: [arm64] + os: [darwin] + + '@unrs/resolver-binding-darwin-x64@1.11.1': + resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==} + cpu: [x64] + os: [darwin] + + '@unrs/resolver-binding-freebsd-x64@1.11.1': + resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==} + cpu: [x64] + os: [freebsd] + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} + cpu: [arm64] + os: [linux] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} + cpu: [ppc64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} + cpu: [riscv64] + os: [linux] + + '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} + cpu: [s390x] + os: [linux] + + '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-linux-x64-musl@1.11.1': + resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} + cpu: [x64] + os: [linux] + + '@unrs/resolver-binding-wasm32-wasi@1.11.1': + resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==} + cpu: [arm64] + os: [win32] + + '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==} + cpu: [ia32] + os: [win32] + + '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==} + cpu: [x64] + os: [win32] + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + babel-jest@30.2.0: + resolution: {integrity: sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + '@babel/core': ^7.11.0 || ^8.0.0-0 + + babel-plugin-istanbul@7.0.1: + resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==} + engines: {node: '>=12'} + + babel-plugin-jest-hoist@30.2.0: + resolution: {integrity: sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 + + babel-preset-jest@30.2.0: + resolution: {integrity: sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + '@babel/core': ^7.11.0 || ^8.0.0-beta.1 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + baseline-browser-mapping@2.8.25: + resolution: {integrity: sha512-2NovHVesVF5TXefsGX1yzx1xgr7+m9JQenvz6FQY3qd+YXkKkYiv+vTCc7OriP9mcDZpTC5mAOYN4ocd29+erA==} + hasBin: true + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.27.0: + resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001754: + resolution: {integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} + engines: {node: '>=8'} + + cjs-module-lexer@2.1.0: + resolution: {integrity: sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.3: + resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + dedent@1.7.0: + resolution: {integrity: sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.5.245: + resolution: {integrity: sha512-rdmGfW47ZhL/oWEJAY4qxRtdly2B98ooTJ0pdEI4jhVLZ6tNf8fPtov2wS1IRKwFJT92le3x4Knxiwzl7cPPpQ==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit-x@0.2.2: + resolution: {integrity: sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==} + engines: {node: '>= 0.8.0'} + + expect@30.2.0: + resolution: {integrity: sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@5.0.6: + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jest-changed-files@30.2.0: + resolution: {integrity: sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-circus@30.2.0: + resolution: {integrity: sha512-Fh0096NC3ZkFx05EP2OXCxJAREVxj1BcW/i6EWqqymcgYKWjyyDpral3fMxVcHXg6oZM7iULer9wGRFvfpl+Tg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-cli@30.2.0: + resolution: {integrity: sha512-Os9ukIvADX/A9sLt6Zse3+nmHtHaE6hqOsjQtNiugFTbKRHYIYtZXNGNK9NChseXy7djFPjndX1tL0sCTlfpAA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@30.2.0: + resolution: {integrity: sha512-g4WkyzFQVWHtu6uqGmQR4CQxz/CH3yDSlhzXMWzNjDx843gYjReZnMRanjRCq5XZFuQrGDxgUaiYWE8BRfVckA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + peerDependencies: + '@types/node': '*' + esbuild-register: '>=3.4.0' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + esbuild-register: + optional: true + ts-node: + optional: true + + jest-diff@30.2.0: + resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-docblock@30.2.0: + resolution: {integrity: sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-each@30.2.0: + resolution: {integrity: sha512-lpWlJlM7bCUf1mfmuqTA8+j2lNURW9eNafOy99knBM01i5CQeY5UH1vZjgT9071nDJac1M4XsbyI44oNOdhlDQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-environment-node@30.2.0: + resolution: {integrity: sha512-ElU8v92QJ9UrYsKrxDIKCxu6PfNj4Hdcktcn0JX12zqNdqWHB0N+hwOnnBBXvjLd2vApZtuLUGs1QSY+MsXoNA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-haste-map@30.2.0: + resolution: {integrity: sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-leak-detector@30.2.0: + resolution: {integrity: sha512-M6jKAjyzjHG0SrQgwhgZGy9hFazcudwCNovY/9HPIicmNSBuockPSedAP9vlPK6ONFJ1zfyH/M2/YYJxOz5cdQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-matcher-utils@30.2.0: + resolution: {integrity: sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-message-util@30.2.0: + resolution: {integrity: sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-mock@30.2.0: + resolution: {integrity: sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@30.0.1: + resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-resolve-dependencies@30.2.0: + resolution: {integrity: sha512-xTOIGug/0RmIe3mmCqCT95yO0vj6JURrn1TKWlNbhiAefJRWINNPgwVkrVgt/YaerPzY3iItufd80v3lOrFJ2w==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-resolve@30.2.0: + resolution: {integrity: sha512-TCrHSxPlx3tBY3hWNtRQKbtgLhsXa1WmbJEqBlTBrGafd5fiQFByy2GNCEoGR+Tns8d15GaL9cxEzKOO3GEb2A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-runner@30.2.0: + resolution: {integrity: sha512-PqvZ2B2XEyPEbclp+gV6KO/F1FIFSbIwewRgmROCMBo/aZ6J1w8Qypoj2pEOcg3G2HzLlaP6VUtvwCI8dM3oqQ==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-runtime@30.2.0: + resolution: {integrity: sha512-p1+GVX/PJqTucvsmERPMgCPvQJpFt4hFbM+VN3n8TMo47decMUcJbt+rgzwrEme0MQUA/R+1de2axftTHkKckg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-snapshot@30.2.0: + resolution: {integrity: sha512-5WEtTy2jXPFypadKNpbNkZ72puZCa6UjSr/7djeecHWOu7iYhSXSnHScT8wBz3Rn8Ena5d5RYRcsyKIeqG1IyA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-util@30.2.0: + resolution: {integrity: sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-validate@30.2.0: + resolution: {integrity: sha512-FBGWi7dP2hpdi8nBoWxSsLvBFewKAg0+uSQwBaof4Y4DPgBabXgpSYC5/lR7VmnIlSpASmCi/ntRWPbv7089Pw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-watcher@30.2.0: + resolution: {integrity: sha512-PYxa28dxJ9g777pGm/7PrbnMeA0Jr7osHP9bS7eJy9DuAjMgdGtxgf0uKMyoIsTWAkIbUW5hSDdJ3urmgXBqxg==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest-worker@30.2.0: + resolution: {integrity: sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + jest@30.2.0: + resolution: {integrity: sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + napi-postinstall@0.3.4: + resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + pretty-format@30.2.0: + resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pure-rand@7.0.1: + resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rollup-plugin-typescript2@0.36.0: + resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==} + peerDependencies: + rollup: '>=1.26.3' + typescript: '>=2.4.0' + + rollup@4.52.5: + resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + synckit@0.11.11: + resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} + engines: {node: ^14.18.0 || >=16.0.0} + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + ts-jest@29.4.5: + resolution: {integrity: sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 || ^30.0.0 + '@jest/types': ^29.0.0 || ^30.0.0 + babel-jest: ^29.0.0 || ^30.0.0 + esbuild: '*' + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/transform': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + jest-util: + optional: true + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unrs-resolver@1.11.1: + resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} + + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.5': {} + + '@babel/core@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.27.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@bcoe/v8-coverage@0.2.3': {} + + '@emnapi/core@1.7.0': + dependencies: + '@emnapi/wasi-threads': 1.1.0 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.7.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.1.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@eslint-community/eslint-utils@4.9.0(eslint@8.57.1)': + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.4.3 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.1': {} + + '@humanwhocodes/config-array@0.13.0': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@30.2.0': + dependencies: + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + chalk: 4.1.2 + jest-message-util: 30.2.0 + jest-util: 30.2.0 + slash: 3.0.0 + + '@jest/core@30.2.0': + dependencies: + '@jest/console': 30.2.0 + '@jest/pattern': 30.0.1 + '@jest/reporters': 30.2.0 + '@jest/test-result': 30.2.0 + '@jest/transform': 30.2.0 + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 4.3.1 + exit-x: 0.2.2 + graceful-fs: 4.2.11 + jest-changed-files: 30.2.0 + jest-config: 30.2.0(@types/node@24.9.1) + jest-haste-map: 30.2.0 + jest-message-util: 30.2.0 + jest-regex-util: 30.0.1 + jest-resolve: 30.2.0 + jest-resolve-dependencies: 30.2.0 + jest-runner: 30.2.0 + jest-runtime: 30.2.0 + jest-snapshot: 30.2.0 + jest-util: 30.2.0 + jest-validate: 30.2.0 + jest-watcher: 30.2.0 + micromatch: 4.0.8 + pretty-format: 30.2.0 + slash: 3.0.0 + transitivePeerDependencies: + - babel-plugin-macros + - esbuild-register + - supports-color + - ts-node + + '@jest/diff-sequences@30.0.1': {} + + '@jest/environment@30.2.0': + dependencies: + '@jest/fake-timers': 30.2.0 + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + jest-mock: 30.2.0 + + '@jest/expect-utils@30.2.0': + dependencies: + '@jest/get-type': 30.1.0 + + '@jest/expect@30.2.0': + dependencies: + expect: 30.2.0 + jest-snapshot: 30.2.0 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@30.2.0': + dependencies: + '@jest/types': 30.2.0 + '@sinonjs/fake-timers': 13.0.5 + '@types/node': 24.9.1 + jest-message-util: 30.2.0 + jest-mock: 30.2.0 + jest-util: 30.2.0 + + '@jest/get-type@30.1.0': {} + + '@jest/globals@30.2.0': + dependencies: + '@jest/environment': 30.2.0 + '@jest/expect': 30.2.0 + '@jest/types': 30.2.0 + jest-mock: 30.2.0 + transitivePeerDependencies: + - supports-color + + '@jest/pattern@30.0.1': + dependencies: + '@types/node': 24.9.1 + jest-regex-util: 30.0.1 + + '@jest/reporters@30.2.0': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 30.2.0 + '@jest/test-result': 30.2.0 + '@jest/transform': 30.2.0 + '@jest/types': 30.2.0 + '@jridgewell/trace-mapping': 0.3.31 + '@types/node': 24.9.1 + chalk: 4.1.2 + collect-v8-coverage: 1.0.3 + exit-x: 0.2.2 + glob: 10.4.5 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.2.0 + jest-message-util: 30.2.0 + jest-util: 30.2.0 + jest-worker: 30.2.0 + slash: 3.0.0 + string-length: 4.0.2 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@30.0.5': + dependencies: + '@sinclair/typebox': 0.34.41 + + '@jest/snapshot-utils@30.2.0': + dependencies: + '@jest/types': 30.2.0 + chalk: 4.1.2 + graceful-fs: 4.2.11 + natural-compare: 1.4.0 + + '@jest/source-map@30.0.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@30.2.0': + dependencies: + '@jest/console': 30.2.0 + '@jest/types': 30.2.0 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.3 + + '@jest/test-sequencer@30.2.0': + dependencies: + '@jest/test-result': 30.2.0 + graceful-fs: 4.2.11 + jest-haste-map: 30.2.0 + slash: 3.0.0 + + '@jest/transform@30.2.0': + dependencies: + '@babel/core': 7.28.5 + '@jest/types': 30.2.0 + '@jridgewell/trace-mapping': 0.3.31 + babel-plugin-istanbul: 7.0.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 30.2.0 + jest-regex-util: 30.0.1 + jest-util: 30.2.0 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + write-file-atomic: 5.0.1 + transitivePeerDependencies: + - supports-color + + '@jest/types@30.2.0': + dependencies: + '@jest/pattern': 30.0.1 + '@jest/schemas': 30.0.5 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 24.9.1 + '@types/yargs': 17.0.34 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@napi-rs/wasm-runtime@0.2.12': + dependencies: + '@emnapi/core': 1.7.0 + '@emnapi/runtime': 1.7.0 + '@tybys/wasm-util': 0.10.1 + optional: true + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.2.9': {} + + '@rollup/pluginutils@4.2.1': + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + + '@rollup/rollup-android-arm-eabi@4.52.5': + optional: true + + '@rollup/rollup-android-arm64@4.52.5': + optional: true + + '@rollup/rollup-darwin-arm64@4.52.5': + optional: true + + '@rollup/rollup-darwin-x64@4.52.5': + optional: true + + '@rollup/rollup-freebsd-arm64@4.52.5': + optional: true + + '@rollup/rollup-freebsd-x64@4.52.5': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.52.5': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.52.5': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.52.5': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-x64-musl@4.52.5': + optional: true + + '@rollup/rollup-openharmony-arm64@4.52.5': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.52.5': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.52.5': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.52.5': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.52.5': + optional: true + + '@sinclair/typebox@0.34.41': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@13.0.5': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@tybys/wasm-util@0.10.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.5 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.28.5 + + '@types/estree@1.0.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@30.0.0': + dependencies: + expect: 30.2.0 + pretty-format: 30.2.0 + + '@types/node@24.9.1': + dependencies: + undici-types: 7.16.0 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.34': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@ungap/structured-clone@1.3.0': {} + + '@unrs/resolver-binding-android-arm-eabi@1.11.1': + optional: true + + '@unrs/resolver-binding-android-arm64@1.11.1': + optional: true + + '@unrs/resolver-binding-darwin-arm64@1.11.1': + optional: true + + '@unrs/resolver-binding-darwin-x64@1.11.1': + optional: true + + '@unrs/resolver-binding-freebsd-x64@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-x64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-wasm32-wasi@1.11.1': + dependencies: + '@napi-rs/wasm-runtime': 0.2.12 + optional: true + + '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + optional: true + + '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + optional: true + + '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + optional: true + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.3: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + babel-jest@30.2.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@jest/transform': 30.2.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 7.0.1 + babel-preset-jest: 30.2.0(@babel/core@7.28.5) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@7.0.1: + dependencies: + '@babel/helper-plugin-utils': 7.27.1 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 6.0.3 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@30.2.0: + dependencies: + '@types/babel__core': 7.20.5 + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.5) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.5) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.5) + + babel-preset-jest@30.2.0(@babel/core@7.28.5): + dependencies: + '@babel/core': 7.28.5 + babel-plugin-jest-hoist: 30.2.0 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + + balanced-match@1.0.2: {} + + baseline-browser-mapping@2.8.25: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.27.0: + dependencies: + baseline-browser-mapping: 2.8.25 + caniuse-lite: 1.0.30001754 + electron-to-chromium: 1.5.245 + node-releases: 2.0.27 + update-browserslist-db: 1.1.4(browserslist@4.27.0) + + bs-logger@0.2.6: + dependencies: + fast-json-stable-stringify: 2.1.0 + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001754: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + char-regex@1.0.2: {} + + ci-info@4.3.1: {} + + cjs-module-lexer@2.1.0: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + co@4.6.0: {} + + collect-v8-coverage@1.0.3: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commondir@1.0.1: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + dedent@1.7.0: {} + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + detect-newline@3.1.0: {} + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.245: {} + + emittery@0.13.1: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + escalade@3.2.0: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint@8.57.1: + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.2 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.3.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + espree@9.6.1: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + esutils@2.0.3: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit-x@0.2.2: {} + + expect@30.2.0: + dependencies: + '@jest/expect-utils': 30.2.0 + '@jest/get-type': 30.1.0 + jest-matcher-utils: 30.2.0 + jest-message-util: 30.2.0 + jest-mock: 30.2.0 + jest-util: 30.2.0 + + fast-deep-equal@3.1.3: {} + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-cache-dir@3.3.2: + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + rimraf: 3.0.2 + + flatted@3.3.3: {} + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-package-type@0.1.0: {} + + get-stream@6.0.1: {} + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + + has-flag@4.0.0: {} + + html-escaper@2.0.2: {} + + human-signals@2.1.0: {} + + ignore@5.3.2: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + is-arrayish@0.2.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-stream@2.0.1: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@6.0.3: + dependencies: + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@5.0.6: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + debug: 4.4.3 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-changed-files@30.2.0: + dependencies: + execa: 5.1.1 + jest-util: 30.2.0 + p-limit: 3.1.0 + + jest-circus@30.2.0: + dependencies: + '@jest/environment': 30.2.0 + '@jest/expect': 30.2.0 + '@jest/test-result': 30.2.0 + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.7.0 + is-generator-fn: 2.1.0 + jest-each: 30.2.0 + jest-matcher-utils: 30.2.0 + jest-message-util: 30.2.0 + jest-runtime: 30.2.0 + jest-snapshot: 30.2.0 + jest-util: 30.2.0 + p-limit: 3.1.0 + pretty-format: 30.2.0 + pure-rand: 7.0.1 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@30.2.0(@types/node@24.9.1): + dependencies: + '@jest/core': 30.2.0 + '@jest/test-result': 30.2.0 + '@jest/types': 30.2.0 + chalk: 4.1.2 + exit-x: 0.2.2 + import-local: 3.2.0 + jest-config: 30.2.0(@types/node@24.9.1) + jest-util: 30.2.0 + jest-validate: 30.2.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - esbuild-register + - supports-color + - ts-node + + jest-config@30.2.0(@types/node@24.9.1): + dependencies: + '@babel/core': 7.28.5 + '@jest/get-type': 30.1.0 + '@jest/pattern': 30.0.1 + '@jest/test-sequencer': 30.2.0 + '@jest/types': 30.2.0 + babel-jest: 30.2.0(@babel/core@7.28.5) + chalk: 4.1.2 + ci-info: 4.3.1 + deepmerge: 4.3.1 + glob: 10.4.5 + graceful-fs: 4.2.11 + jest-circus: 30.2.0 + jest-docblock: 30.2.0 + jest-environment-node: 30.2.0 + jest-regex-util: 30.0.1 + jest-resolve: 30.2.0 + jest-runner: 30.2.0 + jest-util: 30.2.0 + jest-validate: 30.2.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 30.2.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 24.9.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@30.2.0: + dependencies: + '@jest/diff-sequences': 30.0.1 + '@jest/get-type': 30.1.0 + chalk: 4.1.2 + pretty-format: 30.2.0 + + jest-docblock@30.2.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@30.2.0: + dependencies: + '@jest/get-type': 30.1.0 + '@jest/types': 30.2.0 + chalk: 4.1.2 + jest-util: 30.2.0 + pretty-format: 30.2.0 + + jest-environment-node@30.2.0: + dependencies: + '@jest/environment': 30.2.0 + '@jest/fake-timers': 30.2.0 + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + jest-mock: 30.2.0 + jest-util: 30.2.0 + jest-validate: 30.2.0 + + jest-haste-map@30.2.0: + dependencies: + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 30.0.1 + jest-util: 30.2.0 + jest-worker: 30.2.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@30.2.0: + dependencies: + '@jest/get-type': 30.1.0 + pretty-format: 30.2.0 + + jest-matcher-utils@30.2.0: + dependencies: + '@jest/get-type': 30.1.0 + chalk: 4.1.2 + jest-diff: 30.2.0 + pretty-format: 30.2.0 + + jest-message-util@30.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + '@jest/types': 30.2.0 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 30.2.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@30.2.0: + dependencies: + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + jest-util: 30.2.0 + + jest-pnp-resolver@1.2.3(jest-resolve@30.2.0): + optionalDependencies: + jest-resolve: 30.2.0 + + jest-regex-util@30.0.1: {} + + jest-resolve-dependencies@30.2.0: + dependencies: + jest-regex-util: 30.0.1 + jest-snapshot: 30.2.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@30.2.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 30.2.0 + jest-pnp-resolver: 1.2.3(jest-resolve@30.2.0) + jest-util: 30.2.0 + jest-validate: 30.2.0 + slash: 3.0.0 + unrs-resolver: 1.11.1 + + jest-runner@30.2.0: + dependencies: + '@jest/console': 30.2.0 + '@jest/environment': 30.2.0 + '@jest/test-result': 30.2.0 + '@jest/transform': 30.2.0 + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + chalk: 4.1.2 + emittery: 0.13.1 + exit-x: 0.2.2 + graceful-fs: 4.2.11 + jest-docblock: 30.2.0 + jest-environment-node: 30.2.0 + jest-haste-map: 30.2.0 + jest-leak-detector: 30.2.0 + jest-message-util: 30.2.0 + jest-resolve: 30.2.0 + jest-runtime: 30.2.0 + jest-util: 30.2.0 + jest-watcher: 30.2.0 + jest-worker: 30.2.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@30.2.0: + dependencies: + '@jest/environment': 30.2.0 + '@jest/fake-timers': 30.2.0 + '@jest/globals': 30.2.0 + '@jest/source-map': 30.0.1 + '@jest/test-result': 30.2.0 + '@jest/transform': 30.2.0 + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + chalk: 4.1.2 + cjs-module-lexer: 2.1.0 + collect-v8-coverage: 1.0.3 + glob: 10.4.5 + graceful-fs: 4.2.11 + jest-haste-map: 30.2.0 + jest-message-util: 30.2.0 + jest-mock: 30.2.0 + jest-regex-util: 30.0.1 + jest-resolve: 30.2.0 + jest-snapshot: 30.2.0 + jest-util: 30.2.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@30.2.0: + dependencies: + '@babel/core': 7.28.5 + '@babel/generator': 7.28.5 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) + '@babel/types': 7.28.5 + '@jest/expect-utils': 30.2.0 + '@jest/get-type': 30.1.0 + '@jest/snapshot-utils': 30.2.0 + '@jest/transform': 30.2.0 + '@jest/types': 30.2.0 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + chalk: 4.1.2 + expect: 30.2.0 + graceful-fs: 4.2.11 + jest-diff: 30.2.0 + jest-matcher-utils: 30.2.0 + jest-message-util: 30.2.0 + jest-util: 30.2.0 + pretty-format: 30.2.0 + semver: 7.7.3 + synckit: 0.11.11 + transitivePeerDependencies: + - supports-color + + jest-util@30.2.0: + dependencies: + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + chalk: 4.1.2 + ci-info: 4.3.1 + graceful-fs: 4.2.11 + picomatch: 4.0.3 + + jest-validate@30.2.0: + dependencies: + '@jest/get-type': 30.1.0 + '@jest/types': 30.2.0 + camelcase: 6.3.0 + chalk: 4.1.2 + leven: 3.1.0 + pretty-format: 30.2.0 + + jest-watcher@30.2.0: + dependencies: + '@jest/test-result': 30.2.0 + '@jest/types': 30.2.0 + '@types/node': 24.9.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 30.2.0 + string-length: 4.0.2 + + jest-worker@30.2.0: + dependencies: + '@types/node': 24.9.1 + '@ungap/structured-clone': 1.3.0 + jest-util: 30.2.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@30.2.0(@types/node@24.9.1): + dependencies: + '@jest/core': 30.2.0 + '@jest/types': 30.2.0 + import-local: 3.2.0 + jest-cli: 30.2.0(@types/node@24.9.1) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - esbuild-register + - supports-color + - ts-node + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + leven@3.1.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lines-and-columns@1.2.4: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.memoize@4.1.2: {} + + lodash.merge@4.6.2: {} + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + + make-dir@4.0.0: + dependencies: + semver: 7.7.3 + + make-error@1.3.6: {} + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + merge-stream@2.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mimic-fn@2.1.0: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + ms@2.1.3: {} + + napi-postinstall@0.3.4: {} + + natural-compare@1.4.0: {} + + neo-async@2.6.2: {} + + node-int64@0.4.0: {} + + node-releases@2.0.27: {} + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.1: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + pirates@4.0.7: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + prelude-ls@1.2.1: {} + + pretty-format@30.2.0: + dependencies: + '@jest/schemas': 30.0.5 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + punycode@2.3.1: {} + + pure-rand@7.0.1: {} + + queue-microtask@1.2.3: {} + + react-is@18.3.1: {} + + require-directory@2.1.1: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + reusify@1.1.0: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rollup-plugin-typescript2@0.36.0(rollup@4.52.5)(typescript@5.9.3): + dependencies: + '@rollup/pluginutils': 4.2.1 + find-cache-dir: 3.3.2 + fs-extra: 10.1.0 + rollup: 4.52.5 + semver: 7.7.3 + tslib: 2.8.1 + typescript: 5.9.3 + + rollup@4.52.5: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.52.5 + '@rollup/rollup-android-arm64': 4.52.5 + '@rollup/rollup-darwin-arm64': 4.52.5 + '@rollup/rollup-darwin-x64': 4.52.5 + '@rollup/rollup-freebsd-arm64': 4.52.5 + '@rollup/rollup-freebsd-x64': 4.52.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.52.5 + '@rollup/rollup-linux-arm-musleabihf': 4.52.5 + '@rollup/rollup-linux-arm64-gnu': 4.52.5 + '@rollup/rollup-linux-arm64-musl': 4.52.5 + '@rollup/rollup-linux-loong64-gnu': 4.52.5 + '@rollup/rollup-linux-ppc64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-musl': 4.52.5 + '@rollup/rollup-linux-s390x-gnu': 4.52.5 + '@rollup/rollup-linux-x64-gnu': 4.52.5 + '@rollup/rollup-linux-x64-musl': 4.52.5 + '@rollup/rollup-openharmony-arm64': 4.52.5 + '@rollup/rollup-win32-arm64-msvc': 4.52.5 + '@rollup/rollup-win32-ia32-msvc': 4.52.5 + '@rollup/rollup-win32-x64-gnu': 4.52.5 + '@rollup/rollup-win32-x64-msvc': 4.52.5 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + semver@6.3.1: {} + + semver@7.7.3: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + slash@3.0.0: {} + + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + sprintf-js@1.0.3: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@3.1.1: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + synckit@0.11.11: + dependencies: + '@pkgr/core': 0.2.9 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + text-table@0.2.0: {} + + tmpl@1.0.5: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + ts-jest@29.4.5(@babel/core@7.28.5)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.5))(jest-util@30.2.0)(jest@30.2.0(@types/node@24.9.1))(typescript@5.9.3): + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + handlebars: 4.7.8 + jest: 30.2.0(@types/node@24.9.1) + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.7.3 + type-fest: 4.41.0 + typescript: 5.9.3 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.28.5 + '@jest/transform': 30.2.0 + '@jest/types': 30.2.0 + babel-jest: 30.2.0(@babel/core@7.28.5) + jest-util: 30.2.0 + + tslib@2.8.1: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.0.8: {} + + type-fest@0.20.2: {} + + type-fest@0.21.3: {} + + type-fest@4.41.0: {} + + typescript@5.9.3: {} + + uglify-js@3.19.3: + optional: true + + undici-types@7.16.0: {} + + universalify@2.0.1: {} + + unrs-resolver@1.11.1: + dependencies: + napi-postinstall: 0.3.4 + optionalDependencies: + '@unrs/resolver-binding-android-arm-eabi': 1.11.1 + '@unrs/resolver-binding-android-arm64': 1.11.1 + '@unrs/resolver-binding-darwin-arm64': 1.11.1 + '@unrs/resolver-binding-darwin-x64': 1.11.1 + '@unrs/resolver-binding-freebsd-x64': 1.11.1 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 + '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 + '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 + '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-x64-musl': 1.11.1 + '@unrs/resolver-binding-wasm32-wasi': 1.11.1 + '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 + '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 + '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 + + update-browserslist-db@1.1.4(browserslist@4.27.0): + dependencies: + browserslist: 4.27.0 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + v8-to-istanbul@9.3.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + wordwrap@1.0.0: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + + wrappy@1.0.2: {} + + write-file-atomic@5.0.1: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..afa07ab --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - "packages/*" + - "third-party/*" diff --git a/third-party/rigidify/src/index.d.ts b/third-party/rigidify/src/index.d.ts index ce539d2..aa5e787 100644 --- a/third-party/rigidify/src/index.d.ts +++ b/third-party/rigidify/src/index.d.ts @@ -75,7 +75,7 @@ export function set( * Example: * ```ts * const next = set(snap, draft => { - * draft.user.name = "Bob"; + * draft.user.name = "Bob.js"; * }); * ``` */ diff --git a/third-party/rigidify/src/layers/record/record.ts b/third-party/rigidify/src/layers/record/record.ts index 5b7fcce..554ee23 100644 --- a/third-party/rigidify/src/layers/record/record.ts +++ b/third-party/rigidify/src/layers/record/record.ts @@ -1,4 +1,4 @@ -import { isTypeCompatible } from "../utils/type_check"; +import { isTypeCompatible } from "../utils/type_check.js"; const IMMUTABLE = true; diff --git a/third-party/rigidify/src/layers/utils/type_check.ts b/third-party/rigidify/src/layers/utils/type_check.ts index c8da4a4..a65707f 100644 --- a/third-party/rigidify/src/layers/utils/type_check.ts +++ b/third-party/rigidify/src/layers/utils/type_check.ts @@ -1,11 +1,11 @@ export const typeOf = (value: unknown): string => { // null -> array -> primitive if (value === null) { - return "null"; // typeof null === "object" + return "null.js"; // typeof null === "object" } if (Array.isArray(value)) { - return "array"; + return "array.js"; } return typeof value; // string | number | boolean | object | function | symbol | bigint | undefined From d8859a94924eafd56d7851e80591ca7d801fcb0c Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Wed, 12 Nov 2025 18:42:24 +0200 Subject: [PATCH 10/32] feat: remove outdated test files and replace with Vitest benchmarks for ownership management --- packages/reflex/jest.config.js | 16 -- packages/reflex/package.json | 2 +- packages/reflex/src/test/ownership.bench.ts | 108 ++++++++ packages/reflex/src/tests/README.md | 3 - .../tests/collections/intrusive_list.test.ts | 183 ------------- .../src/tests/ownership.advanced.test.ts | 0 .../reflex/src/tests/ownership.bench.test.ts | 247 ------------------ packages/reflex/src/tests/ownership.bench.ts | 247 ------------------ .../reflex/src/tests/unrolled-queue.bench.ts | 168 ------------ 9 files changed, 109 insertions(+), 865 deletions(-) delete mode 100644 packages/reflex/jest.config.js create mode 100644 packages/reflex/src/test/ownership.bench.ts delete mode 100644 packages/reflex/src/tests/README.md delete mode 100644 packages/reflex/src/tests/collections/intrusive_list.test.ts delete mode 100644 packages/reflex/src/tests/ownership.advanced.test.ts delete mode 100644 packages/reflex/src/tests/ownership.bench.test.ts delete mode 100644 packages/reflex/src/tests/ownership.bench.ts delete mode 100644 packages/reflex/src/tests/unrolled-queue.bench.ts diff --git a/packages/reflex/jest.config.js b/packages/reflex/jest.config.js deleted file mode 100644 index 751644f..0000000 --- a/packages/reflex/jest.config.js +++ /dev/null @@ -1,16 +0,0 @@ -/** @type {import('jest').Config} */ -export default { - preset: "ts-jest/presets/default-esm", - testEnvironment: "node", - extensionsToTreatAsEsm: [".ts"], - moduleNameMapper: { - '^(\\.{1,2}/.*)\\.js$': '$1' - }, - transform: { - "^.+\\.tsx?$": ["ts-jest", { - useESM: true, - tsconfig: "tsconfig.json" - }], - }, - moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], -}; \ No newline at end of file diff --git a/packages/reflex/package.json b/packages/reflex/package.json index 47a699f..4838fcb 100644 --- a/packages/reflex/package.json +++ b/packages/reflex/package.json @@ -18,7 +18,7 @@ "scripts": { "build": "tsc --build", "test": "node --import ts-node/register --test src/tests/ownership.test.ts --grep dispose:", - "bench": "node --loader ts-node/esm src/tests/ownership.bench.ts", + "bench": "vitest bench", "profile:bench": "node --expose-gc ./dist/experimental/graph.bench.js" }, "sideEffects": false, diff --git a/packages/reflex/src/test/ownership.bench.ts b/packages/reflex/src/test/ownership.bench.ts new file mode 100644 index 0000000..81dbd31 --- /dev/null +++ b/packages/reflex/src/test/ownership.bench.ts @@ -0,0 +1,108 @@ +import { bench, describe } from "vitest"; +import { createOwner } from "#reflex/core/ownership/ownership.core.js"; +import { OwnershipStateFlags } from "#reflex/core/ownership/ownership.type.js"; + +// утилита, чтобы случайно не зависнуть +function buildTree(depth: number, width: number) { + const root = createOwner(); + const queue = [root]; + for (let d = 0; d < depth; d++) { + const levelSize = queue.length; + for (let i = 0; i < levelSize; i++) { + const parent = queue.shift()!; + for (let j = 0; j < width; j++) { + const child = createOwner(parent); + queue.push(child); + } + } + } + return root; +} + +describe("Ownership — Microbench", () => { + bench("create 100 children and dispose", () => { + const root = createOwner(); + for (let i = 0; i < 100; i++) createOwner(root); + root.dispose(); + }); + + bench("register 100 cleanups", () => { + const owner = createOwner(); + for (let i = 0; i < 100; i++) owner.onScopeCleanup(() => {}); + }); + + bench("register 10k cleanups and dispose", () => { + const owner = createOwner(); + for (let i = 0; i < 10_000; i++) owner.onScopeCleanup(() => {}); + owner.dispose(); + }); + + bench("build balanced tree (depth 6 × 3)", () => { + const root = buildTree(6, 3); + root.dispose(); + }); + + bench("build wide tree (3000 siblings)", () => { + const root = createOwner(); + for (let i = 0; i < 3000; i++) createOwner(root); + root.dispose(); + }); + + bench("build linear chain (depth 10k)", () => { + let node = createOwner(); + const root = node; + for (let i = 0; i < 10_000; i++) node = createOwner(node); + root.dispose(); + }); + + bench("context propagation 1000× deep", () => { + let node = createOwner(); + for (let i = 0; i < 1000; i++) node = createOwner(node); + node.provide("x", 42); + let cur = node; + while (cur._parent) cur = cur._parent; + cur.getContext(); + }); + + bench("context override isolation", () => { + const parent = createOwner(); + parent.provide("value", 1); + const child = createOwner(parent); + child.provide("value", 2); + parent.inject("value"); + child.inject("value"); + }); + + bench("interleaved append/remove", () => { + const root = createOwner(); + const nodes = []; + for (let i = 0; i < 1000; i++) { + const n = createOwner(root); + nodes.push(n); + if (i % 3 === 0) root.removeChild(n); + } + root.dispose(); + }); + + bench("simulate UI component tree (header/main/footer)", () => { + const root = createOwner(); + const header = createOwner(root); + const main = createOwner(root); + const footer = createOwner(root); + for (let i = 0; i < 500; i++) { + createOwner(header); + createOwner(main); + createOwner(footer); + } + root.dispose(); + }); + + bench("subscription cleanup pattern (100 subs)", () => { + const owner = createOwner(); + for (let i = 0; i < 100; i++) { + let active = true; + owner.onScopeCleanup(() => (active = false)); + } + owner.dispose(); + }); +}); diff --git a/packages/reflex/src/tests/README.md b/packages/reflex/src/tests/README.md deleted file mode 100644 index 8d2c726..0000000 --- a/packages/reflex/src/tests/README.md +++ /dev/null @@ -1,3 +0,0 @@ -Tests — contract verification layer. -Validates core invariants, ownership integrity, and runtime consistency. -Each test asserts that Reflex behaves as mathematically intended. \ No newline at end of file diff --git a/packages/reflex/src/tests/collections/intrusive_list.test.ts b/packages/reflex/src/tests/collections/intrusive_list.test.ts deleted file mode 100644 index ea35569..0000000 --- a/packages/reflex/src/tests/collections/intrusive_list.test.ts +++ /dev/null @@ -1,183 +0,0 @@ -import test from "node:test"; -import assert from "node:assert/strict"; -import { - IntrusiveListNode, - newIntrusiveList, -} from "#reflex/core/collections/intrusive_list.js"; - -function makeNode( - id: number -): IntrusiveListNode<{ id: number }> & { id: number } { - return { id, _prev: undefined, _next: undefined, _list: undefined }; -} - -test("newIntrusiveList: создаёт чистый список", () => { - const list = newIntrusiveList(); - assert.equal(list._head, undefined); - assert.equal(list._tail, undefined); - assert.equal(list._size, 0); -}); - -test("push: добавляет первый элемент корректно", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - - list.push(a); - - assert.equal(list._head, a); - assert.equal(list._tail, a); - assert.equal(list._size, 1); - assert.equal(a._list, list); - assert.equal(a._prev, undefined); - assert.equal(a._next, undefined); -}); - -test("push: добавляет несколько элементов в хвост", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - const b = makeNode(2); - const c = makeNode(3); - - list.push(a); - list.push(b); - list.push(c); - - assert.equal(list._size, 3); - assert.equal(list._head, a); - assert.equal(list._tail, c); - - assert.equal(a._next, b); - assert.equal(b._prev, a); - assert.equal(b._next, c); - assert.equal(c._prev, b); -}); - -test("push: повторное добавление того же узла игнорируется", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - list.push(a); - list.push(a); - assert.equal(list._size, 1); -}); - -test("remove: удаляет узел из середины списка", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - const b = makeNode(2); - const c = makeNode(3); - list.push(a); - list.push(b); - list.push(c); - - list.remove(b); - - assert.equal(list._size, 2); - assert.equal(a._next, c); - assert.equal(c._prev, a); - assert.equal(b._list, undefined); - assert.equal(list._head, a); - assert.equal(list._tail, c); -}); - -test("remove: удаляет первый узел", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - const b = makeNode(2); - list.push(a); - list.push(b); - - list.remove(a); - - assert.equal(list._size, 1); - assert.equal(list._head, b); - assert.equal(b._prev, undefined); -}); - -test("remove: удаляет последний узел", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - const b = makeNode(2); - list.push(a); - list.push(b); - - list.remove(b); - - assert.equal(list._size, 1); - assert.equal(list._tail, a); - assert.equal(a._next, undefined); -}); - -test("remove: no-op если узел не из этого списка", () => { - const list1 = newIntrusiveList(); - const list2 = newIntrusiveList(); - const a = makeNode(1); - list1.push(a); - - list2.remove(a); // не должен изменить list1 - assert.equal(list1._size, 1); - assert.equal(list2._size, 0); -}); - -test("clear: очищает все ссылки и сбрасывает размер", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - const b = makeNode(2); - const c = makeNode(3); - - list.push(a); - list.push(b); - list.push(c); - - list.clear(); - - assert.equal(list._head, undefined); - assert.equal(list._tail, undefined); - assert.equal(list._size, 0); - - for (const node of [a, b, c]) { - assert.equal(node._list, undefined); - assert.equal(node._prev, undefined); - assert.equal(node._next, undefined); - } -}); - -test("values: корректно итерирует все элементы в порядке вставки", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - const b = makeNode(2); - const c = makeNode(3); - list.push(a); - list.push(b); - list.push(c); - - const iterated = Array.from(list.values()); - assert.deepEqual(iterated, [a, b, c]); -}); - -test("values: после remove итерация возвращает только оставшиеся", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - const b = makeNode(2); - const c = makeNode(3); - list.push(a); - list.push(b); - list.push(c); - - list.remove(b); - - const iterated = Array.from(list.values()); - assert.deepEqual(iterated, [a, c]); -}); - -test("values: после clear итерация пуста", () => { - const list = newIntrusiveList(); - const a = makeNode(1); - const b = makeNode(2); - list.push(a); - list.push(b); - - list.clear(); - - const iterated = Array.from(list.values()); - assert.deepEqual(iterated, []); -}); diff --git a/packages/reflex/src/tests/ownership.advanced.test.ts b/packages/reflex/src/tests/ownership.advanced.test.ts deleted file mode 100644 index e69de29..0000000 diff --git a/packages/reflex/src/tests/ownership.bench.test.ts b/packages/reflex/src/tests/ownership.bench.test.ts deleted file mode 100644 index b117b10..0000000 --- a/packages/reflex/src/tests/ownership.bench.test.ts +++ /dev/null @@ -1,247 +0,0 @@ -import { performance } from "node:perf_hooks"; -import { createOwner } from "#reflex/core/ownership/ownership.core.js"; -import type { IOwnership } from "#reflex/core/ownership/ownership.type.js"; - -// Утилиты для бенчмаркинга -const formatNumber = (num: number) => num.toLocaleString("en-US"); -const formatTime = (ns: number) => { - if (ns < 1000) return `${ns.toFixed(2)}ns`; - const μs = ns / 1000; - if (μs < 1000) return `${μs.toFixed(2)}μs`; - const ms = μs / 1000; - return `${ms.toFixed(2)}ms`; -}; - -interface BenchResult { - ops: number; // Operations per second - timePerOp: number; // Nanoseconds per operation - samples: number[]; // Array of sample timings -} - -function runBench(name: string, fn: () => void, iterations = 100000): BenchResult { - // Прогрев - for (let i = 0; i < 1000; i++) fn(); - - const samples: number[] = []; - const start = performance.now(); - - // Основной цикл замеров - for (let i = 0; i < iterations; i++) { - const t0 = performance.now(); - fn(); - samples.push(performance.now() - t0); - } - - const total = performance.now() - start; - const timePerOp = (total * 1_000_000) / iterations; // в наносекундах - const ops = 1_000_000_000 / timePerOp; // операций в секунду - - console.log( - `${name}: - ${" ".repeat(4)}Ops/sec: ${formatNumber(ops)} - ${" ".repeat(4)}Time/op: ${formatTime(timePerOp)} - ${" ".repeat(4)}Samples: ${iterations}` - ); - - return { ops, timePerOp, samples }; -} - -// Бенчмарки - -console.log("\\n=== Ownership Performance Benchmarks ===\\n"); - -// 1. Создание owner -runBench( - "Owner creation (no parent)", - () => { - createOwner(); - } -); - -// 2. Создание owner с родителем -runBench( - "Owner creation (with parent)", - () => { - const parent = createOwner(); - createOwner(parent); - } -); - -// 3. Аппенд чайлда (hot path) -{ - const parent = createOwner(); - const child = createOwner(); - runBench( - "appendChild (hot path)", - () => { - parent.appendChild(child); - child._parent = undefined; // ресет для следующей итерации - } - ); -} - -// 4. Контекст и наследование -{ - const root = createOwner(); - root.provide("testKey", "testValue"); - const child = createOwner(root); - - runBench( - "Context inheritance (inject)", - () => { - child.inject("testKey"); - } - ); -} - -// 5. Большое дерево: создание и утилизация -{ - // Создаем большое дерево для теста - function createDeepTree(depth: number, width: number): IOwnership { - const root = createOwner(); - if (depth > 0) { - for (let i = 0; i < width; i++) { - const child = createDeepTree(depth - 1, width); - root.appendChild(child); - } - } - return root; - } - - console.log("\\n=== Large Tree Operations ===\\n"); - - // 5.1 Создание большого дерева - runBench( - "Create large tree (depth=4, width=4)", - () => { - createDeepTree(4, 4); // 256 узлов - }, - 100 // меньше итераций для большого дерева - ); - - // 5.2 Утилизация большого дерева - runBench( - "Dispose large tree (depth=4, width=4)", - () => { - const tree = createDeepTree(4, 4); - tree.dispose(); - }, - 100 - ); -} - -// 6. Traversal performance -{ - console.log("\\n=== Traversal Performance ===\\n"); - - // Создаем широкое дерево для теста - const root = createOwner(); - for (let i = 0; i < 100; i++) { - createOwner(root); - } - - // 6.1 Прямой children() - runBench( - "Direct children iteration (100 nodes)", - () => { - for (const _ of root.children()) { - // просто итерация - } - } - ); - - // 6.2 Рекурсивный descendants() - runBench( - "Recursive descendants (100 nodes)", - () => { - for (const _ of root.descendants()) { - // просто итерация - } - } - ); -} - -// 7. Cleanup handlers -{ - console.log("\\n=== Cleanup Performance ===\\n"); - - const owner = createOwner(); - const noop = () => {}; - - // 7.1 Добавление cleanup handler - runBench( - "Add cleanup handler", - () => { - owner.onScopeCleanup(noop); - } - ); - - // 7.2 Dispose с cleanup handlers - runBench( - "Dispose with cleanup handlers", - () => { - const o = createOwner(); - o.onScopeCleanup(noop); - o.dispose(); - }, - 10000 // меньше итераций так как операция тяжелее - ); -} - -// 8. Context операции -{ - console.log("\\n=== Context Operations ===\\n"); - - const root = createOwner(); - const child = createOwner(root); - const grandChild = createOwner(child); - - // 8.1 Provide - runBench( - "Context provide", - () => { - root.provide("testKey", "testValue"); - } - ); - - // 8.2 Inject (3 уровня глубины) - runBench( - "Context inject (depth=3)", - () => { - grandChild.inject("testKey"); - } - ); - - // 8.3 hasOwn check - runBench( - "Context hasOwn", - () => { - grandChild.hasOwn("testKey"); - } - ); -} - -// 9. State flags operations -{ - console.log("\\n=== State Management ===\\n"); - - const owner = createOwner(); - let state = owner._state; - - // 9.1 State flag check - runBench( - "State flag check", - () => { - state & 1; - } - ); - - // 9.2 State flag modification - runBench( - "State flag modification", - () => { - state |= 1; - state &= ~1; - } - ); -} diff --git a/packages/reflex/src/tests/ownership.bench.ts b/packages/reflex/src/tests/ownership.bench.ts deleted file mode 100644 index c37ca74..0000000 --- a/packages/reflex/src/tests/ownership.bench.ts +++ /dev/null @@ -1,247 +0,0 @@ -import { performance } from "node:perf_hooks"; -import { createOwner } from "../core/ownership/ownership.core.js"; -import type { IOwnership } from "../core/ownership/ownership.type.js"; - -// Утилиты для бенчмаркинга -const formatNumber = (num: number) => num.toLocaleString("en-US"); -const formatTime = (ns: number) => { - if (ns < 1000) return `${ns.toFixed(2)}ns`; - const μs = ns / 1000; - if (μs < 1000) return `${μs.toFixed(2)}μs`; - const ms = μs / 1000; - return `${ms.toFixed(2)}ms`; -}; - -interface BenchResult { - ops: number; // Operations per second - timePerOp: number; // Nanoseconds per operation - samples: number[]; // Array of sample timings -} - -function runBench(name: string, fn: () => void, iterations = 100000): BenchResult { - // Прогрев - for (let i = 0; i < 1000; i++) fn(); - - const samples: number[] = []; - const start = performance.now(); - - // Основной цикл замеров - for (let i = 0; i < iterations; i++) { - const t0 = performance.now(); - fn(); - samples.push(performance.now() - t0); - } - - const total = performance.now() - start; - const timePerOp = (total * 1_000_000) / iterations; // в наносекундах - const ops = 1_000_000_000 / timePerOp; // операций в секунду - - console.log( - `${name}: - ${" ".repeat(4)}Ops/sec: ${formatNumber(ops)} - ${" ".repeat(4)}Time/op: ${formatTime(timePerOp)} - ${" ".repeat(4)}Samples: ${iterations}` - ); - - return { ops, timePerOp, samples }; -} - -// Бенчмарки - -console.log("\\n=== Ownership Performance Benchmarks ===\\n"); - -// 1. Создание owner -runBench( - "Owner creation (no parent)", - () => { - createOwner(); - } -); - -// 2. Создание owner с родителем -runBench( - "Owner creation (with parent)", - () => { - const parent = createOwner(); - createOwner(parent); - } -); - -// 3. Аппенд чайлда (hot path) -{ - const parent = createOwner(); - const child = createOwner(); - runBench( - "appendChild (hot path)", - () => { - parent.appendChild(child); - child._parent = undefined; // ресет для следующей итерации - } - ); -} - -// 4. Контекст и наследование -{ - const root = createOwner(); - root.provide("testKey", "testValue"); - const child = createOwner(root); - - runBench( - "Context inheritance (inject)", - () => { - child.inject("testKey"); - } - ); -} - -// 5. Большое дерево: создание и утилизация -{ - // Создаем большое дерево для теста - function createDeepTree(depth: number, width: number): IOwnership { - const root = createOwner(); - if (depth > 0) { - for (let i = 0; i < width; i++) { - const child = createDeepTree(depth - 1, width); - root.appendChild(child); - } - } - return root; - } - - console.log("\\n=== Large Tree Operations ===\\n"); - - // 5.1 Создание большого дерева - runBench( - "Create large tree (depth=4, width=4)", - () => { - createDeepTree(4, 4); // 256 узлов - }, - 100 // меньше итераций для большого дерева - ); - - // 5.2 Утилизация большого дерева - runBench( - "Dispose large tree (depth=4, width=4)", - () => { - const tree = createDeepTree(4, 4); - tree.dispose(); - }, - 100 - ); -} - -// 6. Traversal performance -{ - console.log("\\n=== Traversal Performance ===\\n"); - - // Создаем широкое дерево для теста - const root = createOwner(); - for (let i = 0; i < 100; i++) { - createOwner(root); - } - - // 6.1 Прямой children() - runBench( - "Direct children iteration (100 nodes)", - () => { - for (const _ of root.children()) { - // просто итерация - } - } - ); - - // 6.2 Рекурсивный descendants() - runBench( - "Recursive descendants (100 nodes)", - () => { - for (const _ of root.descendants()) { - // просто итерация - } - } - ); -} - -// 7. Cleanup handlers -{ - console.log("\\n=== Cleanup Performance ===\\n"); - - const owner = createOwner(); - const noop = () => {}; - - // 7.1 Добавление cleanup handler - runBench( - "Add cleanup handler", - () => { - owner.onScopeCleanup(noop); - } - ); - - // 7.2 Dispose с cleanup handlers - runBench( - "Dispose with cleanup handlers", - () => { - const o = createOwner(); - o.onScopeCleanup(noop); - o.dispose(); - }, - 10000 // меньше итераций так как операция тяжелее - ); -} - -// 8. Context операции -{ - console.log("\\n=== Context Operations ===\\n"); - - const root = createOwner(); - const child = createOwner(root); - const grandChild = createOwner(child); - - // 8.1 Provide - runBench( - "Context provide", - () => { - root.provide("testKey", "testValue"); - } - ); - - // 8.2 Inject (3 уровня глубины) - runBench( - "Context inject (depth=3)", - () => { - grandChild.inject("testKey"); - } - ); - - // 8.3 hasOwn check - runBench( - "Context hasOwn", - () => { - grandChild.hasOwn("testKey"); - } - ); -} - -// 9. State flags operations -{ - console.log("\\n=== State Management ===\\n"); - - const owner = createOwner(); - let state = owner._state; - - // 9.1 State flag check - runBench( - "State flag check", - () => { - state & 1; - } - ); - - // 9.2 State flag modification - runBench( - "State flag modification", - () => { - state |= 1; - state &= ~1; - } - ); -} diff --git a/packages/reflex/src/tests/unrolled-queue.bench.ts b/packages/reflex/src/tests/unrolled-queue.bench.ts deleted file mode 100644 index 313c938..0000000 --- a/packages/reflex/src/tests/unrolled-queue.bench.ts +++ /dev/null @@ -1,168 +0,0 @@ -/* eslint-disable no-console */ -import { performance } from "perf_hooks"; -import process from "process"; -import { UnrolledQueue } from "../core/collections/unrolled-queue.js"; - -const WARM_UP = 3; -const ROUNDS = 10; -const OPS = 1_000_000; -const NODE_SIZE = 2048; -const POOL_LIMIT = 128; - -const runTest = (queue: UnrolledQueue<{ id: number }>, ops: number) => { - global.gc?.(); - - const startMem = process.memoryUsage().heapUsed; - const t0 = performance.now(); - - let preventOpt = 0; - for (let i = 0; i < ops; i++) queue.enqueue({ id: i }); - for (let i = 0; i < ops; i++) { - const item = queue.dequeue(); - if (item) preventOpt += item.id; - } - - const t1 = performance.now(); - if (preventOpt === 0) console.log("Never print"); - const endMem = process.memoryUsage().heapUsed; - - return { cpu: t1 - t0, ram: (endMem - startMem) / 1024 }; -}; - -describe("🧪 UnrolledQueue Performance Benchmark", () => { - it("should perform efficiently and be memory-stable", async () => { - const queue = new UnrolledQueue<{ id: number }>({ nodeSize: NODE_SIZE }); - const CircularQueueNode = (queue as any).constructor.prototype.constructor; - if ( - CircularQueueNode?.pool && - (CircularQueueNode.pool as unknown[]).length > POOL_LIMIT - ) { - (CircularQueueNode.pool as unknown[]).splice(POOL_LIMIT); - } - - const results = { cpu: 0, ram: 0 }; - const total = ROUNDS + WARM_UP; - - for (let i = 0; i < total; i++) { - const { cpu, ram } = runTest(queue, OPS); - - if (i > WARM_UP) { - results.cpu += cpu; - results.ram += ram; - } - - await new Promise((r) => setTimeout(r, 10)); // даём GC шанс - } - - const avgCPU = parseFloat((results.cpu / ROUNDS).toFixed(2)); - const avgRAM = parseFloat((results.ram / ROUNDS).toFixed(2)); - - console.log("\n──────────────────────────────"); - console.log(`⚙️ ${OPS.toLocaleString()} ops × ${ROUNDS} rounds`); - console.log(`⏱️ CPU time: ${avgCPU} ms`); - console.log(`💾 Heap delta: ${avgRAM.toFixed(2)} KB`); - console.log("──────────────────────────────\n"); - - expect(avgCPU).toBeLessThan(1000); - expect(avgRAM).toBeLessThan(60000); - }); -}); - -describe("UnrolledQueue", () => { - let q: UnrolledQueue; - - beforeEach(() => { - q = new UnrolledQueue({ nodeSize: 8 }); // маленький размер для тестов - }); - - it("enqueues and dequeues single item", () => { - q.enqueue(42); - expect(q.length).toBe(1); - expect(q.dequeue()).toBe(42); - expect(q.length).toBe(0); - expect(q.dequeue()).toBeNull(); - }); - - it("handles multiple enqueue/dequeue cycles", () => { - for (let i = 0; i < 50; i++) q.enqueue(i); - expect(q.length).toBe(50); - for (let i = 0; i < 50; i++) expect(q.dequeue()).toBe(i); - expect(q.length).toBe(0); - }); - - it("expands to multiple nodes when full", () => { - const size = 8; - for (let i = 0; i < size * 3; i++) q.enqueue(i); - expect(q.length).toBe(size * 3); - - for (let i = 0; i < size * 3; i++) { - const val = q.dequeue(); - expect(val).toBe(i); - } - - expect(q.length).toBe(0); - }); - - it("recycles nodes after clearing", () => { - q.enqueue(1); - q.enqueue(2); - q.clear(); - expect(q.length).toBe(0); - expect(q.dequeue()).toBeNull(); - - q.enqueue(5); - expect(q.dequeue()).toBe(5); - }); - - it("supports iteration from tail to head", () => { - q.enqueue(1); - q.enqueue(2); - q.enqueue(3); - - const result = [...q]; - expect(result).toEqual([1, 2, 3]); - }); - - it("peek returns current tail element", () => { - q.enqueue(10); - q.enqueue(20); - expect(q.peek()).toBe(10); - expect(q.dequeue()).toBe(10); - expect(q.peek()).toBe(20); - }); - - it("maintains O(1) amortized behavior under heavy load", () => { - const N = 100_000; - for (let i = 0; i < N; i++) q.enqueue(i); - expect(q.length).toBe(N); - - let sum = 0; - for (let i = 0; i < N; i++) sum += q.dequeue()!; - expect(sum).toBe((N * (N - 1)) / 2); - expect(q.length).toBe(0); - }); - - it("clears all nodes correctly", () => { - for (let i = 0; i < 20; i++) q.enqueue(i); - q.clear(); - expect(q.length).toBe(0); - expect([...q]).toEqual([]); - expect(q.dequeue()).toBeNull(); - }); - - it("throws if nodeSize is not power of two", () => { - expect(() => new UnrolledQueue({ nodeSize: 7 })).toThrow(); - expect(() => new UnrolledQueue({ nodeSize: -4 })).toThrow(); - }); - - it("reuses node pool between instances", () => { - const q1 = new UnrolledQueue({ nodeSize: 8 }); - for (let i = 0; i < 16; i++) q1.enqueue(i); - for (let i = 0; i < 16; i++) q1.dequeue(); - q1.clear(); - - const q2 = new UnrolledQueue({ nodeSize: 8 }); - q2.enqueue(1); - expect(q2.dequeue()).toBe(1); - }); -}); From 60dd72461dfd320acfa0c09f4b2e3017081fe6d9 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Wed, 12 Nov 2025 19:07:27 +0200 Subject: [PATCH 11/32] feat: update test script to use Vitest and add comprehensive tests for ownership management --- packages/reflex/package.json | 2 +- .../src/core/ownership/ownership.proto.ts | 106 ++- .../src/core/ownership/ownership.scope.ts | 3 +- .../src/core/ownership/ownership.type.ts | 6 +- packages/reflex/src/test/ownerhip.test.ts | 602 ++++++++++++++++++ 5 files changed, 654 insertions(+), 65 deletions(-) create mode 100644 packages/reflex/src/test/ownerhip.test.ts diff --git a/packages/reflex/package.json b/packages/reflex/package.json index 4838fcb..d6c3310 100644 --- a/packages/reflex/package.json +++ b/packages/reflex/package.json @@ -17,7 +17,7 @@ }, "scripts": { "build": "tsc --build", - "test": "node --import ts-node/register --test src/tests/ownership.test.ts --grep dispose:", + "test": "vitest", "bench": "vitest bench", "profile:bench": "node --expose-gc ./dist/experimental/graph.bench.js" }, diff --git a/packages/reflex/src/core/ownership/ownership.proto.ts b/packages/reflex/src/core/ownership/ownership.proto.ts index 6d9b7e1..f34a119 100644 --- a/packages/reflex/src/core/ownership/ownership.proto.ts +++ b/packages/reflex/src/core/ownership/ownership.proto.ts @@ -13,21 +13,20 @@ const DISPOSAL_INITIAL_CAPACITY = 4 as const; const OwnershipPrototype = { appendChild(this: IOwnership, child: IOwnership) { - - // if (!child || child._parent === this) return; - // if (child === this) throw new Error("Cannot append owner to itself"); - // if (child._state & OwnershipStateFlags.DISPOSED) - // throw new Error("Cannot append a disposed child"); - - // if ( - // this._state & - // (OwnershipStateFlags.DISPOSING | OwnershipStateFlags.DISPOSED) - // ) - // throw new Error("Cannot append child to a disposing/disposed owner"); - - // if (child._parent && child._parent !== this) { - // child._parent.removeChild(child); - // } + if (!child || child._parent === this) return; + if (child === this) throw new Error("Cannot append owner to itself"); + if (child._state & OwnershipStateFlags.DISPOSED) + throw new Error("Cannot append a disposed child"); + + if ( + this._state & + (OwnershipStateFlags.DISPOSING | OwnershipStateFlags.DISPOSED) + ) + throw new Error("Cannot append child to a disposing/disposed owner"); + + if (child._parent && child._parent !== this) { + child._parent.removeChild(child); + } child._parent = this; child._prevSibling = this._lastChild; @@ -65,23 +64,6 @@ const OwnershipPrototype = { this._childCount--; }, - *children(this: IOwnership): Iterable { - for (let child = this._firstChild; child; child = child._nextSibling) { - yield child; - } - }, - - *descendants(this: IOwnership): Iterable { - const stack = [this]; - while (stack.length) { - const node = stack.pop()!; - yield node; - for (let child = node._lastChild; child; child = child._prevSibling) { - stack.push(child); - } - } - }, - onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { if (this._state & OwnershipStateFlags.DISPOSED) throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); @@ -95,47 +77,46 @@ const OwnershipPrototype = { dispose(this: IOwnership, strategy?: DisposalStrategy) { if (Bitwise.has(this._state, OwnershipStateFlags.DISPOSED)) return; - const { beforeDispose, afterDispose, onError } = strategy ?? {}; - beforeDispose?.([this]); let errorCount = 0; - let firstError: unknown = undefined; + let firstError: unknown; + + const stack: Array<[IOwnership, boolean]> = [[this, false]]; - const stack: IOwnership[] = [this]; + while (stack.length) { + const [node, visited] = stack.pop()!; - while (stack.length > 0) { - const node = stack.pop()!; + if (Bitwise.has(node._state, OwnershipStateFlags.DISPOSED)) continue; - // push children first (DFS) - let child = node._firstChild; + if (!visited) { + stack.push([node, true]); + let child = node._lastChild; - while (child) { - if (!Bitwise.has(child._state, OwnershipStateFlags.DISPOSED)) { - stack.push(child); + while (child) { + if (!Bitwise.has(child._state, OwnershipStateFlags.DISPOSED)) { + stack.push([child, false]); + } + child = child._prevSibling; } - child = child._nextSibling; + continue; } - if (Bitwise.has(node._state, OwnershipStateFlags.DISPOSED)) continue; - node._state = Bitwise.set(node._state, OwnershipStateFlags.DISPOSING); const disposal = node._disposal; if (disposal) { for (let j = disposal.length - 1; j >= 0; j--) { - try { - disposal[j]!(); - } catch (err) { + try { disposal[j]!(); } + catch (err) { if (!firstError) firstError = err; errorCount++; - if (onError) onError(err, node); + onError?.(err, node); } } } - // unlink everything — no mercy node._firstChild = node._lastChild = node._nextSibling = @@ -143,14 +124,13 @@ const OwnershipPrototype = { node._parent = node._context = node._disposal = - undefined; + undefined; node._childCount = 0; node._state = OwnershipStateFlags.DISPOSED; } afterDispose?.([this], errorCount); - if (errorCount > 0 && !onError) { console.error( errorCount === 1 @@ -163,12 +143,18 @@ const OwnershipPrototype = { getContext(this: IOwnership): IOwnershipContextRecord { if (!this._context) { - this._context = ReflexObject.Inherit( - this._parent?.getContext() ?? {} - ); + this._context = Object.create(null); } - return this._context; + if (this._parent) { + const proto = Object.getPrototypeOf(this._context); + if (proto === null) { + this._context = ReflexObject.Inherit( + this._parent.getContext() + ); + } + } + return this._context!; }, provide(this: IOwnership, key: symbol | string, value: unknown) { @@ -180,8 +166,12 @@ const OwnershipPrototype = { ctx[key] = value; }, + inject(this: IOwnership, key: symbol | string): T | undefined { - return this._context?.[key] as T | undefined; + if (!this._context || Object.getPrototypeOf(this._context) === null) { + this.getContext(); + } + return this._context![key] as T | undefined; }, hasOwn(this: IOwnership, key: symbol | string): boolean { diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index dbe4f67..eed94f7 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -30,7 +30,8 @@ export const createOwnershipScope = () => { } }; - const createScope = (fn: () => T, parent = currentOwner): T => { + const createScope = (fn: () => T): T => { + const parent = currentOwner; const owner = createOwner(parent); return withOwner(owner, fn); }; diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/reflex/src/core/ownership/ownership.type.ts index 0dcbe73..cfcdf79 100644 --- a/packages/reflex/src/core/ownership/ownership.type.ts +++ b/packages/reflex/src/core/ownership/ownership.type.ts @@ -61,12 +61,8 @@ interface IOwnershipMethods { /** Check if a context value exists locally (not inherited). */ hasOwn(key: symbol | string): boolean; - children(): Iterable; - - descendants(): Iterable; - /** Dispose this owner and all descendants (iterative). */ - dispose(): void; + dispose(strategy?: DisposalStrategy): void; } interface IOwnershipInternal { diff --git a/packages/reflex/src/test/ownerhip.test.ts b/packages/reflex/src/test/ownerhip.test.ts new file mode 100644 index 0000000..aeee838 --- /dev/null +++ b/packages/reflex/src/test/ownerhip.test.ts @@ -0,0 +1,602 @@ +import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; +import { createOwner } from "#reflex/core/ownership/ownership.core.js"; +import { OwnershipStateFlags } from "#reflex/core/ownership/ownership.type.js"; +import { createOwnershipScope } from "#reflex/core/ownership/ownership.scope.js"; + +const isClean = (o: any) => o._state === OwnershipStateFlags.CLEAN; +const isDisposed = (o: any) => o._state === OwnershipStateFlags.DISPOSED; +const isDisposing = (o: any) => o._state === OwnershipStateFlags.DISPOSING; + +const collectChildren = (owner: any) => { + const arr: any[] = []; + for (const c of owner.children()) arr.push(c); + return arr; +}; + +describe("OwnershipPrototype — Core Behavior", () => { + describe("appendChild/removeChild", () => { + it("should attach child and establish parent relationship", () => { + const parent = createOwner(); + const child = createOwner(); + + parent.appendChild(child); + + expect(child._parent).toBe(parent); + expect(parent._firstChild).toBe(child); + expect(parent._lastChild).toBe(child); + }); + + + it("should detach child from previous parent before re-attaching", () => { + const p1 = createOwner(); + const p2 = createOwner(); + const c = createOwner(); + + p1.appendChild(c); + expect(p1._firstChild).toBe(c); + + p2.appendChild(c); + expect(c._parent).toBe(p2); + expect(p1._firstChild).toBeUndefined(); + expect(p2._firstChild).toBe(c); + }); + + it("should be idempotent when appending same child multiple times", () => { + const p = createOwner(); + const c = createOwner(); + + p.appendChild(c); + p.appendChild(c); + p.appendChild(c); + + expect(p._firstChild).toBe(c); + expect(p._lastChild).toBe(c); + expect(c._parent).toBe(p); + expect(c._nextSibling).toBeUndefined(); + expect(c._prevSibling).toBeUndefined(); + }); + + it("should throw when trying to append owner to itself", () => { + const o = createOwner(); + expect(() => o.appendChild(o)).toThrow("Cannot append owner to itself"); + }); + it("should throw when appending to disposed owner", () => { + const parent = createOwner(); + const child = createOwner(); + parent.dispose(); + expect(() => parent.appendChild(child)).toThrow(); + expect(isDisposed(parent)).toBe(true); + }); + + + it("should safely remove non-existent child", () => { + const p = createOwner(); + const c = createOwner(); + expect(() => p.removeChild(c)).not.toThrow(); + expect(p._firstChild).toBeUndefined(); + }); + + it("should detach child reference after removal", () => { + const p = createOwner(); + const c = createOwner(); + + p.appendChild(c); + p.removeChild(c); + + expect(c._parent).toBeUndefined(); + expect(c._nextSibling).toBeUndefined(); + expect(c._prevSibling).toBeUndefined(); + expect(p._firstChild).toBeUndefined(); + expect(p._lastChild).toBeUndefined(); + }); + // it("should prevent circular ownership chains", () => { + // const owner1 = createOwner(); + // const owner2 = createOwner(); + + // owner1.appendChild(owner2); + + // // owner2 cannot become parent of owner1 + // owner2.appendChild(owner1); + + // // owner1 should be detached from owner2 before becoming its child + // expect(owner1._owner).toBe(owner2); + // expect(owner2._children.has(owner1)).toBe(true); + // expect(owner1._children.has(owner2)).toBe(false); + // }); + }); + + describe("Context Management", () => { + it("should inherit context from parent on appendChild", () => { + const parent = createOwner(); + parent.provide("key", 100); + + const child = createOwner(); + parent.appendChild(child); + + expect(child.inject("key")).toBe(100); + }); + + it("should create isolated context copies for each child", () => { + const parent = createOwner(); + parent.provide("shared", 1); + + const child1 = createOwner(parent); + const child2 = createOwner(parent); + + child1.provide("shared", 10); + child2.provide("shared", 20); + + expect(parent.inject("shared")).toBe(1); + expect(child1.inject("shared")).toBe(10); + expect(child2.inject("shared")).toBe(20); + }); + + it("should lazily initialize context on first getContext call", () => { + const owner = createOwner(); + + expect(owner._context).toBe; + const ctx = owner.getContext(); + expect(owner._context).toBeDefined(); + expect(ctx).toBe(owner._context); + }); + + it("should inherit parent context lazily", () => { + const parent = createOwner(); + parent.provide("x", 5); + + const child = createOwner(parent); + expect(child._context).toStrictEqual(Object.create(null)); + + const value = child.inject("x"); + expect(value).toBe(5); + expect(child._context).toBeDefined(); + }); + + it("should prevent providing owner itself in context", () => { + const owner = createOwner(); + expect(() => owner.provide("self", owner)).toThrow("Cannot provide owner itself"); + }); + + it("should support symbol keys in context", () => { + const owner = createOwner(); + const key = Symbol("test"); + + owner.provide(key, "symbol-value"); + expect(owner.inject(key)).toBe("symbol-value"); + expect(owner.hasOwn(key)).toBe(true); + }); + + it("should return undefined for non-existent keys", () => { + const owner = createOwner(); + expect(owner.inject("missing")).toBeUndefined(); + expect(owner.hasOwn("missing")).toBe(false); + }); + + it("should distinguish between own and inherited keys", () => { + const parent = createOwner(); + parent.provide("inherited", 1); + + const child = createOwner(parent); + child.provide("own", 2); + + expect(child.hasOwn("own")).toBe(true); + expect(child.hasOwn("inherited")).toBe(false); + expect(child.inject("inherited")).toBe(1); + }); + }); + + describe("Cleanup Registration", () => { + it("should register and execute cleanup callbacks", () => { + const owner = createOwner(); + const spy = vi.fn(); + + owner.onScopeCleanup(spy); + owner.dispose(); + + expect(spy).toHaveBeenCalledTimes(1); + }); + + it("should execute multiple cleanup callbacks in LIFO order", () => { + const owner = createOwner(); + const order: number[] = []; + + owner.onScopeCleanup(() => order.push(1)); + owner.onScopeCleanup(() => order.push(2)); + owner.onScopeCleanup(() => order.push(3)); + + owner.dispose(); + + expect(order).toEqual([3, 2, 1]); + }); + + it("should throw when adding cleanup to disposed owner", () => { + const owner = createOwner(); + owner.dispose(); + + expect(() => owner.onScopeCleanup(() => { })).toThrow(); + }); + + it("should initialize disposal array lazily", () => { + const owner = createOwner(); + expect(owner._disposal).toBeUndefined(); + + owner.onScopeCleanup(() => { }); + expect(owner._disposal).toBeDefined(); + expect(Array.isArray(owner._disposal)).toBe(true); + }); + }); + + describe("Disposal Process", () => { + it("should dispose tree in DFS post-order", () => { + const root = createOwner(); + const child1 = createOwner(root); + const child2 = createOwner(root); + const grandchild = createOwner(child1); + + const order: string[] = []; + + grandchild.onScopeCleanup(() => order.push("grandchild")); + child1.onScopeCleanup(() => order.push("child1")); + child2.onScopeCleanup(() => order.push("child2")); + root.onScopeCleanup(() => order.push("root")); + + root.dispose(); + + expect(order).toEqual(["grandchild", "child1", "child2", "root"]); + }); + + + it("should mark all nodes as DISPOSED after cleanup", () => { + const root = createOwner(); + const child = createOwner(root); + + root.dispose(); + + expect(isDisposed(root)).toBe(true); + expect(isDisposed(child)).toBe(true); + }); + + it("should mark nodes as DISPOSING during cleanup", () => { + const owner = createOwner(); + let stateSnapshot: number | undefined; + + owner.onScopeCleanup(() => { + stateSnapshot = owner._state; + }); + + owner.dispose(); + + expect(stateSnapshot).toBe(OwnershipStateFlags.DISPOSING); + }); + + it("should be idempotent (multiple dispose calls safe)", () => { + const owner = createOwner(); + const spy = vi.fn(); + + owner.onScopeCleanup(spy); + owner.dispose(); + owner.dispose(); + owner.dispose(); + + expect(spy).toHaveBeenCalledTimes(1); + expect(isDisposed(owner)).toBe(true); + }); + + it("should clear references after disposal", () => { + const o = createOwner(); + o.provide("x", 1); + o.onScopeCleanup(() => { }); + const c = createOwner(o); + o.dispose(); + expect(o._disposal).toBeUndefined(); + expect(o._context).toBeUndefined(); + expect(o._firstChild).toBeUndefined(); + expect(o._lastChild).toBeUndefined(); + }); + it("should continue cleanup despite errors in cleanup callbacks", () => { + const owner = createOwner(); + const spy1 = vi.fn(); + const spy2 = vi.fn(() => { throw new Error("cleanup error"); }); + const spy3 = vi.fn(); + + owner.onScopeCleanup(spy1); + owner.onScopeCleanup(spy2); + owner.onScopeCleanup(spy3); + + const consoleError = vi.spyOn(console, "error").mockImplementation(() => { }); + + owner.dispose(); + + expect(spy1).toHaveBeenCalled(); + expect(spy2).toHaveBeenCalled(); + expect(spy3).toHaveBeenCalled(); + expect(isDisposed(owner)).toBe(true); + expect(consoleError).toHaveBeenCalled(); + + consoleError.mockRestore(); + }); + + it("should call onError for each error when strategy provided", () => { + const owner = createOwner(); + const errors: unknown[] = []; + + owner.onScopeCleanup(() => { throw new Error("error1"); }); + owner.onScopeCleanup(() => { throw new Error("error2"); }); + + owner.dispose({ + onError: (err) => errors.push(err) + }); + + expect(errors).toHaveLength(2); + expect(isDisposed(owner)).toBe(true); + }); + + it("should call beforeDispose and afterDispose hooks", () => { + const owner = createOwner(); + const hooks: string[] = []; + + owner.dispose({ + beforeDispose: () => hooks.push("before"), + afterDispose: () => hooks.push("after") + }); + + expect(hooks).toEqual(["before", "after"]); + }); + + it("should pass error count to afterDispose", () => { + const owner = createOwner(); + let errorCount = -1; + + owner.onScopeCleanup(() => { throw new Error("fail"); }); + + owner.dispose({ + afterDispose: (_, count) => { errorCount = count; }, + onError: () => { } + }); + + expect(errorCount).toBe(1); + }); + + it("should skip already disposed nodes in tree", () => { + const root = createOwner(); + const child1 = createOwner(root); + const child2 = createOwner(root); + + const spy1 = vi.fn(); + const spy2 = vi.fn(); + + child1.onScopeCleanup(spy1); + child2.onScopeCleanup(spy2); + + child1.dispose(); + root.dispose(); + + expect(spy1).toHaveBeenCalledTimes(1); + expect(spy2).toHaveBeenCalledTimes(1); + }); + }); + + describe("Edge Cases & Safety", () => { + it("should handle empty ownership tree", () => { + const owner = createOwner(); + expect(() => owner.dispose()).not.toThrow(); + expect(isDisposed(owner)).toBe(true); + }); + + it("should handle deeply nested trees", () => { + let current = createOwner(); + const depth = 100; + + for (let i = 0; i < depth; i++) { + const child = createOwner(current); + current = child; + } + + expect(() => current._parent?.dispose()).not.toThrow(); + }); + + it("should handle wide trees with many children", () => { + const root = createOwner(); + const childCount = 1000; + + for (let i = 0; i < childCount; i++) { + createOwner(root); + } + + expect(root._childCount).toBe(childCount); + expect(() => root.dispose()).not.toThrow(); + expect(isDisposed(root)).toBe(true); + }); + + it("should handle null/undefined in context values", () => { + const owner = createOwner(); + + owner.provide("null", null); + owner.provide("undefined", undefined); + + expect(owner.inject("null")).toBe(null); + expect(owner.inject("undefined")).toBe(undefined); + expect(owner.hasOwn("null")).toBe(true); + expect(owner.hasOwn("undefined")).toBe(true); + }); + + it("should maintain state consistency across operations", () => { + const owner = createOwner(); + + expect(isClean(owner)).toBe(true); + + owner.onScopeCleanup(() => { }); + expect(isClean(owner)).toBe(true); + + owner.provide("x", 1); + expect(isClean(owner)).toBe(true); + + owner.dispose(); + expect(isDisposed(owner)).toBe(true); + }); + }); +}); + +describe("OwnershipScope — Context Management", () => { + let scope: ReturnType; + + beforeEach(() => { + scope = createOwnershipScope(); + }); + + afterEach(() => { + // Ensure no dangling owners + expect(scope.getOwner()).toBeUndefined(); + }); + + describe("withOwner", () => { + it("should set and restore current owner", () => { + const owner = createOwner(); + let seenOwner: any; + + scope.withOwner(owner, () => { + seenOwner = scope.getOwner(); + }); + + expect(seenOwner).toBe(owner); + expect(scope.getOwner()).toBeUndefined(); + }); + + it("should return callback result", () => { + const owner = createOwner(); + const result = scope.withOwner(owner, () => 42); + + expect(result).toBe(42); + }); + + it("should restore owner even if callback throws", () => { + const owner = createOwner(); + + expect(() => { + scope.withOwner(owner, () => { + throw new Error("test"); + }); + }).toThrow("test"); + + expect(scope.getOwner()).toBeUndefined(); + }); + + it("should handle nested withOwner calls", () => { + const outer = createOwner(); + const inner = createOwner(); + + scope.withOwner(outer, () => { + expect(scope.getOwner()).toBe(outer); + + scope.withOwner(inner, () => { + expect(scope.getOwner()).toBe(inner); + }); + + expect(scope.getOwner()).toBe(outer); + }); + + expect(scope.getOwner()).toBeUndefined(); + }); + }); + + describe("createScope", () => { + it("should create child owner and execute callback", () => { + const parent = createOwner(); + let childOwner: any; + + scope.withOwner(parent, () => { + scope.createScope(() => { + childOwner = scope.getOwner(); + }); + }); + + expect(childOwner).toBeDefined(); + expect(childOwner).not.toBe(parent); + expect(childOwner._owner).toBe(parent); + }); + + it("should restore parent owner after scope", () => { + const parent = createOwner(); + + scope.withOwner(parent, () => { + scope.createScope(() => { + expect(scope.getOwner()).not.toBe(parent); + }); + + expect(scope.getOwner()).toBe(parent); + }); + }); + + it("should return callback result", () => { + const parent = createOwner(); + + const result = scope.withOwner(parent, () => { + return scope.createScope(() => "value"); + }); + + expect(result).toBe("value"); + }); + + it("should work without parent owner", () => { + let rootOwner: any; + + scope.createScope(() => { + rootOwner = scope.getOwner(); + }); + + expect(rootOwner).toBeDefined(); + expect(rootOwner._owner).toBeUndefined(); + }); + + it("should create nested scopes correctly", () => { + const owners: any[] = []; + + scope.createScope(() => { + owners.push(scope.getOwner()); + + scope.createScope(() => { + owners.push(scope.getOwner()); + + scope.createScope(() => { + owners.push(scope.getOwner()); + }); + }); + }); + + expect(owners).toHaveLength(3); + expect(owners[0]).toBeDefined(); + expect(owners[1]._owner).toBe(owners[0]); + expect(owners[2]._owner).toBe(owners[1]); + }); + + it("should handle errors and restore scope", () => { + const parent = createOwner(); + + expect(() => { + scope.withOwner(parent, () => { + scope.createScope(() => { + throw new Error("scope error"); + }); + }); + }).toThrow("scope error"); + + expect(scope.getOwner()).toBeUndefined(); + }); + }); + + describe("getOwner", () => { + it("should return undefined when no owner set", () => { + expect(scope.getOwner()).toBeUndefined(); + }); + + it("should return current owner", () => { + const owner = createOwner(); + + scope.withOwner(owner, () => { + expect(scope.getOwner()).toBe(owner); + }); + }); + }); +}); + + From d0f2da2cc398ffff1c9d1e9be5397cb2cdf73dd2 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Wed, 12 Nov 2025 19:12:47 +0200 Subject: [PATCH 12/32] refactor: update ownership context management and fix test assertions for parent relationships --- .../src/core/ownership/ownership.proto.ts | 40 +++++++++---------- packages/reflex/src/test/ownerhip.test.ts | 12 +++--- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/packages/reflex/src/core/ownership/ownership.proto.ts b/packages/reflex/src/core/ownership/ownership.proto.ts index f34a119..40974a4 100644 --- a/packages/reflex/src/core/ownership/ownership.proto.ts +++ b/packages/reflex/src/core/ownership/ownership.proto.ts @@ -13,6 +13,8 @@ const DISPOSAL_INITIAL_CAPACITY = 4 as const; const OwnershipPrototype = { appendChild(this: IOwnership, child: IOwnership) { + + if (!child || child._parent === this) return; if (child === this) throw new Error("Cannot append owner to itself"); if (child._state & OwnershipStateFlags.DISPOSED) @@ -141,39 +143,35 @@ const OwnershipPrototype = { } }, + + /** Retrieve or lazily initialize current context */ getContext(this: IOwnership): IOwnershipContextRecord { - if (!this._context) { - this._context = Object.create(null); - } + if (this._context) return this._context; - if (this._parent) { - const proto = Object.getPrototypeOf(this._context); - if (proto === null) { - this._context = ReflexObject.Inherit( - this._parent.getContext() - ); - } - } - return this._context!; + + const parentCtx = this._parent?._context; + const ctx = parentCtx + ? Object.create(parentCtx) + : Object.create(null); + + this._context = ctx; + return ctx; }, - provide(this: IOwnership, key: symbol | string, value: unknown) { - if (value === this) { + /** Provide new key/value pair */ + provide(this: IOwnership, key: symbol | string, value: unknown): void { + if (value === this) throw new Error("Cannot provide owner itself in context"); - } - const ctx = this.getContext(); ctx[key] = value; }, - + /** Lookup contextual value */ inject(this: IOwnership, key: symbol | string): T | undefined { - if (!this._context || Object.getPrototypeOf(this._context) === null) { - this.getContext(); - } - return this._context![key] as T | undefined; + return this._context?.[key] as T | undefined; }, + /** Check for local context key */ hasOwn(this: IOwnership, key: symbol | string): boolean { return this._context !== undefined && Object.hasOwn(this._context, key); }, diff --git a/packages/reflex/src/test/ownerhip.test.ts b/packages/reflex/src/test/ownerhip.test.ts index aeee838..4cfeb00 100644 --- a/packages/reflex/src/test/ownerhip.test.ts +++ b/packages/reflex/src/test/ownerhip.test.ts @@ -99,7 +99,7 @@ describe("OwnershipPrototype — Core Behavior", () => { // owner2.appendChild(owner1); // // owner1 should be detached from owner2 before becoming its child - // expect(owner1._owner).toBe(owner2); + // expect(owner1._parent).toBe(owner2); // expect(owner2._children.has(owner1)).toBe(true); // expect(owner1._children.has(owner2)).toBe(false); // }); @@ -512,7 +512,7 @@ describe("OwnershipScope — Context Management", () => { expect(childOwner).toBeDefined(); expect(childOwner).not.toBe(parent); - expect(childOwner._owner).toBe(parent); + expect(childOwner._parent).toBe(parent); }); it("should restore parent owner after scope", () => { @@ -545,7 +545,7 @@ describe("OwnershipScope — Context Management", () => { }); expect(rootOwner).toBeDefined(); - expect(rootOwner._owner).toBeUndefined(); + expect(rootOwner._parent).toBeUndefined(); }); it("should create nested scopes correctly", () => { @@ -562,11 +562,11 @@ describe("OwnershipScope — Context Management", () => { }); }); }); - + expect(owners).toHaveLength(3); expect(owners[0]).toBeDefined(); - expect(owners[1]._owner).toBe(owners[0]); - expect(owners[2]._owner).toBe(owners[1]); + expect(owners[1]._parent).toBe(owners[0]); + expect(owners[2]._parent).toBe(owners[1]); }); it("should handle errors and restore scope", () => { From bd5f71660db1a83618ad50e3125bbcc0b65880d8 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Fri, 14 Nov 2025 21:54:14 +0200 Subject: [PATCH 13/32] refactor: remove unused collections and streamline ownership management --- .../src/core/collections/intrusive_list.ts | 92 ------ .../src/core/collections/unrolled_stack.ts | 7 - packages/reflex/src/core/graph/Readme.md | 111 +++++-- .../reflex/src/core/graph/graph.constants.ts | 51 ++++ packages/reflex/src/core/graph/graph.core.ts | 32 +++ .../reflex/src/core/graph/graph.operators.ts | 62 ---- packages/reflex/src/core/graph/graph.types.ts | 271 ++++++++++-------- .../src/core/graph/reactivity.constants.ts | 6 - .../reflex/src/core/object/object.inline.ts | 3 - .../reflex/src/core/object/utils/assert.ts | 7 +- .../src/core/ownership/ownership.core.ts | 11 +- .../src/core/ownership/ownership.proto.ts | 145 +++++----- .../src/core/ownership/ownership.scope.ts | 27 +- .../src/core/ownership/ownership.type.ts | 31 +- .../src/runtime/execution/execution.stack.ts | 0 .../reflex/src/shared/types/declarations.d.ts | 1 + packages/reflex/tsconfig.json | 1 - 17 files changed, 451 insertions(+), 407 deletions(-) delete mode 100644 packages/reflex/src/core/collections/intrusive_list.ts delete mode 100644 packages/reflex/src/core/collections/unrolled_stack.ts create mode 100644 packages/reflex/src/core/graph/graph.constants.ts create mode 100644 packages/reflex/src/core/graph/graph.core.ts delete mode 100644 packages/reflex/src/core/graph/graph.operators.ts delete mode 100644 packages/reflex/src/core/graph/reactivity.constants.ts delete mode 100644 packages/reflex/src/core/object/object.inline.ts create mode 100644 packages/reflex/src/runtime/execution/execution.stack.ts diff --git a/packages/reflex/src/core/collections/intrusive_list.ts b/packages/reflex/src/core/collections/intrusive_list.ts deleted file mode 100644 index 6a0f499..0000000 --- a/packages/reflex/src/core/collections/intrusive_list.ts +++ /dev/null @@ -1,92 +0,0 @@ -interface IntrusiveListNode { - _prev?: IntrusiveListNode; - _next?: IntrusiveListNode; - _list?: IntrusiveList; -} - -interface IntrusiveList { - _head?: IntrusiveListNode; - _tail?: IntrusiveListNode; - _size: number; - push(node: IntrusiveListNode): void; - remove(node: IntrusiveListNode): void; - clear(): void; - nodes(): Generator, void>; - values(): Generator; -} - -const IntrusiveListPrototype: IntrusiveList = { - _head: undefined, - _tail: undefined, - _size: 0, - - push(node) { - if (node._list) return; - - const tail = this._tail; - node._list = this; - node._prev = tail; - node._next = undefined; - - if (tail) { - tail._next = node; - this._tail = node; - } else { - this._head = this._tail = node; - } - this._size++; - }, - - remove(node) { - if (node._list !== this) return; - - const { _prev, _next } = node; - - if (_prev) _prev._next = _next; - else this._head = _next; - - if (_next) _next._prev = _prev; - else this._tail = _prev; - - node._prev = node._next = node._list = undefined; - this._size--; - }, - - clear() { - let node = this._head; - while (node) { - const next = node._next; - node._prev = node._next = node._list = undefined; - node = next; - } - this._head = this._tail = undefined; - this._size = 0; - }, - - // Итерация по узлам (IntrusiveListNode) - *nodes(): Generator { - for (let node = this._head; node; node = node._next) { - yield node; - } - }, - - // Итерация по значениям (T) - // В вашем случае T extends IntrusiveListNode - // поэтому node и есть значение - *values(): Generator { - for (let node = this._head; node; node = node._next) { - yield node; - } - }, -}; - -function newIntrusiveList(): IntrusiveList { - return Object.assign(Object.create(IntrusiveListPrototype), { - _head: undefined, - _tail: undefined, - _size: 0, - }); -} - -export { newIntrusiveList }; -export type { IntrusiveList, IntrusiveListNode }; \ No newline at end of file diff --git a/packages/reflex/src/core/collections/unrolled_stack.ts b/packages/reflex/src/core/collections/unrolled_stack.ts deleted file mode 100644 index dcbb0b8..0000000 --- a/packages/reflex/src/core/collections/unrolled_stack.ts +++ /dev/null @@ -1,7 +0,0 @@ -const DEFAULT_FRAME_SIZE = 16 as const; - -interface IUnrolledStack { - push(value: T): void; - pop(): T | undefined; -} - diff --git a/packages/reflex/src/core/graph/Readme.md b/packages/reflex/src/core/graph/Readme.md index 891e3b1..c101e87 100644 --- a/packages/reflex/src/core/graph/Readme.md +++ b/packages/reflex/src/core/graph/Readme.md @@ -1,24 +1,99 @@ -# Reflex Reactive Graph +# **Reflex Reactive Graph** -## 1. Overview -The reactive system of Reflex is represented as a directed acyclic graph (DAG) -where each node maintains explicit ownership and causal links to its dependents. +## **1. Overview** -- **Source nodes** emit updates. -- **Observer nodes** consume and propagate those updates further. +Reflex описує реактивність як **орієнтований ациклічний граф обчислень (DAG)**. +Кожен вузол виконує конкретну роль у поширенні змін: -This model provides determinism, composability, and precise lifecycle control. +* **Source** генерує значення та повідомляє залежних. +* **Observer** виконує обчислення та оновлюється, коли змінюється будь-яке з його джерел. -## 2. Graph Definition -Let `G(V, E)` be the reactive graph, where `V` is the set of reactive nodes and -`E` is the set of directed edges `(v → u)` representing dependencies. +Модель зберігає причинність, детермінованість та дозволяє чітко контролювати життєвий цикл кожного вузла. -Each node maintains: -- `_flags` — the state flags defining whether it is dirty, scheduled, or disposed. -- `_epoch` — a monotonic timestamp ensuring acyclic update order. +--- -## 3. Core Invariants -1. A node cannot depend on itself. -2. Updates always flow from lower to higher epoch nodes. -3. Removing a node removes all its outgoing edges. -4. Transitions must preserve the topology of the dependency graph. +## **2. Graph Structure** + +Нехай `G = (V, E)` — реактивний граф Reflex. + +* `V` — множина вузлів (source або observer). +* `E` — множина напрямлених ребер `v → u`, що означає: + `u` залежить від `v`. + +Кожен вузол містить базові поля: + +* **_flags** — бітові стани (dirty, scheduled, running, disposed). +* **_epoch** — локальний причинний час, монотонно зростає при змінах. +* **_version / _uversion** — відбитки локального та upstream-стану для інкрементального оновлення. +* **_sources / _observers** — інтрузивні списки залежностей. + +Ця структура дозволяє реалізувати швидке поширення оновлень та ефективне відстеження залежностей без зайвої алокації. + +--- + +## **3. Core Invariants** + +Щоб граф залишався коректним та детермінованим, Reflex підтримує такі інваріанти: + +1. **Вузол не може залежати від самого себе.** + Будь-яке обчислення формує DAG без циклів. + +2. **Оновлення завжди рухаються вперед по епосі.** + Подія з джерела застосовується лише якщо її `_epoch` не менша ніж у залежного вузла. + Це усуває можливість застарілих оновлень. + +3. **Видалення вузла знімає всі вихідні ребра.** + Всі дочірні та залежні вузли перестають посилатись на нього, + а залишки контексту й cleanup-функцій знищуються. + +4. **Будь-яка зміна залежностей зберігає топологію DAG.** + Вставка або заміна upstream-вузлів відбувається під час фази трекінгу, + гарантується що нове дерево залежностей залишається ациклічним і локально впорядкованим. + +--- + +## **4. Update Flow** + +Оновлення у Reflex проходить через три етапи: + +1. **Mark Dirty** + Вузол відмічається як змінений (`DIRTY`). + Він додається до планувальника, якщо ще не в черзі. + +2. **Schedule & Propagate** + Планувальник перебирає dirty-вузли у причинному порядку + і перевіряє їх `_version` проти `_uversion`. + Якщо хоч одне upstream-джерело новіше — вузол перераховується. + +3. **Commit & Notify** + Після успішного обчислення: + + * `_version++` + * `_epoch` оновлюється для збереження узгодженості + * всі залежні вузли отримують сповіщення + +--- + +## **5. Disposal Semantics** + +Вузол може бути знищений явно або як частина піддерева: + +* всі `_sources` та `_observers` від’єднуються інтрузивно (O(1) операції), +* викликаються cleanup-функції, +* вузол отримує стан `DISPOSED` й більше не бере участі в оновленнях. + +Disposal гарантує чисту причинність та звільнення ресурсів без витоків. + +--- + +## **6. Summary** + +Reflex Reactive Graph — це **низькорівневе реактивне ядро**, яке: + +* працює на DAG без циклів, +* забезпечує строгий причинний порядок без глобального часу, +* має інтрузивні списки для швидкого оновлення структури, +* використовує локальні епохи та версії для інкрементального оновлення, +* гарантує стабільний, детермінований результат обчислень. + +Це фундамент для побудови узгодженої, передбачуваної й високопродуктивної реактивної моделі в Reflex. \ No newline at end of file diff --git a/packages/reflex/src/core/graph/graph.constants.ts b/packages/reflex/src/core/graph/graph.constants.ts new file mode 100644 index 0000000..93879bb --- /dev/null +++ b/packages/reflex/src/core/graph/graph.constants.ts @@ -0,0 +1,51 @@ + +import { type BitMask } from "../object/utils/bitwise.js"; + +const CLEAN: BitMask = 0; +const DIRTY: BitMask = 1 << 0; +const DISPOSED: BitMask = 1 << 1; +const SCHEDULED: BitMask = 1 << 2; +const RUNNING: BitMask = 1 << 3; +const ASYNC: BitMask = 1 << 4; +const KIND_SOURCE: BitMask = 1 << 5; +const KIND_COMPUTATION: BitMask = 1 << 6; +const KIND_EFFECT: BitMask = 1 << 7; + +/** + * Number of cells in the internal Uint32Array structures. + * + * - COUNTER_CELLS: [epoch, version, uversion] + */ +const COUNTER_CELLS = { + epoch: 0, + version: 1, + uversion: 2, + length: 3 // automaticaly captures by array constructor +} as const + +/** + * Number of cells in the async tracking Uint32Array structure. + * + * - ASYNC_CELLS: [generation, token] + */ +const ASYNC_CELLS = { + generation: 0, + token: 1, + length: 2 +} as const + +export { + COUNTER_CELLS, + ASYNC_CELLS, + + CLEAN, + DIRTY, + DISPOSED, + SCHEDULED, + RUNNING, + ASYNC, + + KIND_SOURCE, + KIND_COMPUTATION, + KIND_EFFECT +}; \ No newline at end of file diff --git a/packages/reflex/src/core/graph/graph.core.ts b/packages/reflex/src/core/graph/graph.core.ts new file mode 100644 index 0000000..fe35735 --- /dev/null +++ b/packages/reflex/src/core/graph/graph.core.ts @@ -0,0 +1,32 @@ +import { Bitwise } from "../object/utils/bitwise.js"; +import { ASYNC, COUNTER_CELLS, ASYNC_CELLS, CLEAN } from "./graph.constants.js"; +import { IReactiveNode } from "./graph.types.js"; + +const isObserverNode = (node: IReactiveNode): boolean => { + return typeof node._observer === "function"; +}; + +const isAsyncNode = (node: IReactiveNode): boolean => { + return Bitwise.has(node._flags, ASYNC); +}; + +function createReactiveNode(): IReactiveNode { + return { + _valueRaw: null, + _sources: null, + _observers: null, + _observer: null, + _counters: new Uint32Array(COUNTER_CELLS), // [epoch, version, uversion] + _async: new Uint32Array(ASYNC_CELLS), // [generation, token] + _flags: CLEAN, + _kind: "source", + }; +} + + +export { + isObserverNode, + isAsyncNode, + createReactiveNode, +} + diff --git a/packages/reflex/src/core/graph/graph.operators.ts b/packages/reflex/src/core/graph/graph.operators.ts deleted file mode 100644 index 9c9c11d..0000000 --- a/packages/reflex/src/core/graph/graph.operators.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { BitMask } from "../object/utils/bitwise.js"; -import { GraphOperations, IObserver, ISource } from "./graph.types.js"; - -interface IGraphVertex extends IObserver, ISource {} - -const GraphOperations: GraphOperations = { - connect(target: IGraphVertex): boolean { - return true; - }, - - disconnect(target?: IGraphVertex | undefined): void { - throw new Error("Function not implemented."); - }, - - markDirty(mask?: BitMask): void { - throw new Error("Function not implemented."); - }, - - notifyObservers(mask?: BitMask): void { - throw new Error("Function not implemented."); - }, - - addSource(source: IGraphVertex): void { - throw new Error("Function not implemented."); - }, - - removeSource(source: IGraphVertex): void { - throw new Error("Function not implemented."); - }, - - traverse(direction: "up" | "down", visitor: (v: IGraphVertex) => void): void { - const stableVisitor = visitor; - - throw new Error("Function not implemented."); - }, - - isIsolated(): boolean { - throw new Error("Function not implemented."); - }, - - dispose(): void { - throw new Error("Function not implemented."); - }, - - updateDirtyValues(): void { - throw new Error("Function not implemented."); - }, -}; - -export function createGraphNode( - vertex?: T & Partial -): IGraphVertex { - return { - _value: 0, - _sources: [], - _observers: [], - _flags: 0, - _epoch: 0, - ...vertex, - ...GraphOperations, - }; -} diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/reflex/src/core/graph/graph.types.ts index 67bf941..74734c6 100644 --- a/packages/reflex/src/core/graph/graph.types.ts +++ b/packages/reflex/src/core/graph/graph.types.ts @@ -1,148 +1,175 @@ /** * @file ReactiveNode.ts * - * Vertex = ReactiveNode. + * Runtime definitions for the Reflex reactive graph. * - * Represents a node in a directed acyclic graph (DAG) - * Each vertex is an immutable computation unit: - * it holds the result of a function depending on other vertices. + * A ReactiveNode represents a vertex in a directed acyclic graph (DAG). + * Each vertex has: + * - upstream sources (edges that this node depends on) + * - downstream observers (edges that depend on this node) + * - execution function (observer) for recomputation + * - cached value (valueRaw) + * - fast runtime state (flags, counters, async epoch) * - * Conceptually: - * - Inputs: upstream dependencies (edges in) - * - Outputs: downstream dependents (edges out) - * - Value: cached computation result + * The vertex identity is stable. Runtime state mutates in-place. + * Logical versions are tracked via Uint32Array counters, not by cloning nodes. * - * Vertices are immutable; updates produce new versions, - * allowing structural sharing and time-travel debugging. + * This provides: + * - deterministic incremental updates + * - O(1) graph mutations (intrusive lists) + * - zero allocations on dependency tracking + * - engine-friendly memory layout */ -import { IDisposable } from "../object/object.dispose.js"; import { BitMask } from "../object/utils/bitwise.js"; -/** - * Base interface for all reactive graph nodes. - * Each node tracks its internal state through bit flags and epoch. - * - * - `_flags`: bitmask representing node state (dirty, disposed, scheduled, etc.) - * - `_epoch`: version counter used for dependency resolution or cache invalidation - */ -export interface IGraphNode { - _flags: BitMask; - _epoch: number; - _value?: unknown; -} -export const enum NodeFlags { - CLEAN = 0, - DIRTY = 1 << 0, - DISPOSED = 1 << 1, - SCHEDULED = 1 << 2, - RUNNING = 1 << 3, -} +/* ────────────────────────────────────────────────────────────────────────────── + * Node Categories + * ReactiveNodeKind marks the semantic role of a vertex. + * This does NOT affect graph topology, only execution semantics. + * ────────────────────────────────────────────────────────────────────────────── */ -type EdgeDirection = "up" | "down"; +export type ReactiveNodeKind = + | "source" // Stores a raw value; no internal computation + | "computation" // Computes derived values from upstream sources + | "effect"; // Executes side effects; valueRaw is unused -interface IEdgeList extends Array { - readonly _traverse?: D; + + +/* ────────────────────────────────────────────────────────────────────────────── + * Observer function executed by computation/effect nodes. + * Must never mutate graph topology during its execution. + * (scheduler enforces this invariant) + * ────────────────────────────────────────────────────────────────────────────── */ + +interface IObserverFn { + (): void; } -/** - * A reactive source node — an origin of data or signal. - * It can notify multiple observers when its value changes. + + +/* ────────────────────────────────────────────────────────────────────────────── + * SourceLink: intrusive list element representing + * "node depends on source". * - * - `_observers`: list of dependent observer nodes (subscribers) - */ -export interface ISource extends IGraphNode { - /** Downstream connections — observers subscribed to this source. */ - _observers: IEdgeList | null; + * Stored in node._sources (observer → its upstream). + * + * Invariant: + * - A node can depend on multiple sources. + * - Each dependency is represented by a separate link object. + * ────────────────────────────────────────────────────────────────────────────── */ + +interface ISourceLink { + _prev: ISourceLink | null; + _next: ISourceLink | null; + + /** The upstream source node for this dependency edge. */ + source: IReactiveNode; } -/** - * A reactive observer node — a computation depending on one or more sources. - * Observers track their upstream dependencies and react to their updates. + + +/* ────────────────────────────────────────────────────────────────────────────── + * ObserverLink: intrusive list element representing + * "source notifies observer". * - * - `_sources`: list of source nodes this observer depends on - * may queue or immediately propagate changes depending on runtime strategy - */ -export interface IObserver extends IGraphNode { - /** Upstream connections — sources this observer depends on. */ - _sources: IEdgeList | null; + * Stored in node._observers (source → its downstream). + * + * Invariant: + * - A source may have many observers. + * - Each observer relationship uses its own link object. + * ────────────────────────────────────────────────────────────────────────────── */ + +interface IObserverLink { + _prev: IObserverLink | null; + _next: IObserverLink | null; + + /** The downstream observer that depends on this source. */ + observer: IReactiveNode; } -/** - * Core operations for managing vertices and edges - * in a reactive dependency graph (DAG). + + +/* ────────────────────────────────────────────────────────────────────────────── + * IReactiveNode: primary vertex structure for the reactive graph. * - * These methods define the lifecycle of connections, - * traversal, and invalidation logic for nodes. - */ -export interface GraphOperations extends IDisposable { - /** - * Connects the given vertex as a dependency (edge in). - * Returns true if the connection was new, false if already linked. - */ - connect(target: TVertex): boolean; - - /** - * Disconnects the given vertex (or all if undefined). - * Used during disposal or dependency re-evaluation. - */ - disconnect(target?: TVertex): void; - - /** - * Marks this vertex and its dependents as dirty. - * Used when source data changes and caches must be invalidated. - */ - markDirty(mask?: BitMask): void; - - /** - * Propagates state changes to all downstream observers. - * Usually delegates to RuntimeContext.scheduleUpdate(). - */ - notifyObservers(mask?: BitMask): void; - - /** - * Registers this vertex as an observer of another vertex (edge out). - */ - addSource(source: TVertex): void; - - /** - * Removes the given source vertex from dependency list (edge removal). - */ - removeSource(source: TVertex): void; - - /** - * Performs a depth-first traversal of dependents or dependencies. - * Useful for diagnostics or incremental updates. - */ - traverse(direction: EdgeDirection, visitor: (v: TVertex) => void): void; - - /** - * Returns true if this vertex has no active dependencies or dependents. - */ - isIsolated(): boolean; - - /** - * Clears internal state and breaks all edges. - * Called during disposal or garbage collection. - */ - dispose(): void; - - /** - * Optionally recomputes this vertex value if dirty. - * May trigger cascading updates depending on RuntimeContext. - */ - updateDirtyValues(): void; + * MUTABLE FIELDS: + * _valueRaw - cached value for signals and computations + * _sources - intrusive linked list of upstream edges + * _observers - intrusive linked list of downstream edges + * _observer - execution callback (computation/effect) + * _counters - [epoch, version, uversion] + * _async - [generation, token] + * _flags - dirty/clean/scheduled etc. + * _kind - semantic classification (source/computation/effect) + * + * Topological invariants: + * 1. Node participates in two lists: upstream and downstream. + * 2. Each edge is represented by a link object; nodes store list heads. + * 3. Add/remove edge must be O(1). + * 4. Never mutate upstream and downstream lists within same execution frame. + * 5. No cycles (DAG). + * 6. Node identity = pointer identity. + * 7. After unlink: link._prev/_next reset to null. + * 8. List heads are null OR a valid link, but NOT undefined. + * 9. Graph is not mutated while an observer callback is running. + * ────────────────────────────────────────────────────────────────────────────── */ + +interface IReactiveNode { + /** Cached runtime value (raw JS value). */ + _valueRaw: unknown; + + /** Head of intrusive linked list of upstream dependencies. */ + _sources: ISourceLink | null; + + /** Head of intrusive linked list of downstream observers. */ + _observers: IObserverLink | null; + + /** Execution callback for computations/effects. Null for pure sources. */ + _observer: IObserverFn | null; + + /** Runtime version counters: [epoch, version, uversion]. */ + _counters: Uint32Array; + + /** Async tracking: [generation, token]. */ + _async: Uint32Array; + + /** Combined bitmask: dirty/scheduled/running/kind bits. */ + _flags: BitMask; + + /** Semantic role of this node. */ + _kind: ReactiveNodeKind; } -/** - * RuntimeContext manages scheduling and execution of graph updates. - * It defines how updates are propagated and committed. + + +/* ────────────────────────────────────────────────────────────────────────────── + * ReactiveValue * - * - `scheduleUpdate(node)`: enqueue node updates for later processing - * - `commitTransition?(node)`: optional hook for transactional or batched updates - */ -export interface RuntimeContext { - scheduleUpdate(node: IGraphNode): void; - commitTransition?(node: IGraphNode): void; + * Public-facing handle for user-level signals. + * It wraps an underlying IReactiveNode. + * + * Callable form: + * value() → get current value + * value(newValue) → set + * value(prev => next) → functional update + * + * No additional state is stored here. Everything lives in _node. + * ────────────────────────────────────────────────────────────────────────────── */ + +interface IReactiveValue { + (): T; + (next: T | ((prev: T) => T)): void; + + /** Reference to the backing graph node. */ + readonly _node: IReactiveNode; } + + + +export type { + IObserverFn, + IReactiveNode, + IReactiveValue, +}; diff --git a/packages/reflex/src/core/graph/reactivity.constants.ts b/packages/reflex/src/core/graph/reactivity.constants.ts deleted file mode 100644 index 7d9616e..0000000 --- a/packages/reflex/src/core/graph/reactivity.constants.ts +++ /dev/null @@ -1,6 +0,0 @@ -export const OWNERSHIP_BRAND: unique symbol = Symbol("ownership"); -export const COMPUTED_BRAND: unique symbol = Symbol("computed"); -export const WRITABLE_BRAND: unique symbol = Symbol("writable"); - -export const VERSION_DEFINITION = "_version.js"; -export const SET_DEFINITION = "set.js"; diff --git a/packages/reflex/src/core/object/object.inline.ts b/packages/reflex/src/core/object/object.inline.ts deleted file mode 100644 index 5ccb56d..0000000 --- a/packages/reflex/src/core/object/object.inline.ts +++ /dev/null @@ -1,3 +0,0 @@ -function noop(_?: unknown): void {} - -export { noop }; diff --git a/packages/reflex/src/core/object/utils/assert.ts b/packages/reflex/src/core/object/utils/assert.ts index 1439cec..a02af3d 100644 --- a/packages/reflex/src/core/object/utils/assert.ts +++ b/packages/reflex/src/core/object/utils/assert.ts @@ -7,7 +7,8 @@ /** * Asserts that a condition is truthy at runtime. * If the condition is falsy, throws an Error with an optional message. - * + * Avoids unnecessary overhead in hot-path. + * * @param cond - Condition expected to be truthy. * @param message - Optional message for debugging context. * @@ -17,7 +18,7 @@ export function __assert(cond: unknown, message?: string): asserts cond { // Using a simple branch avoids extra function call frames // and keeps this in the JIT inline cache for tight loops. - if (!cond) { - throw new Error(message || "Contract violated"); + if (!(__DEV__ && cond)) { + throw new Error(`DEV_ERROR: ${message || "Contract `__assert` is violated!"}`); } } diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index 2656edb..1852514 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -1,11 +1,11 @@ import { + CLEAN, IOwnership, - OwnershipStateFlags, S_OWN_BRAND, } from "./ownership.type.js"; import OwnershipPrototype from "./ownership.proto.js"; -function createOwner(parent?: IOwnership): IOwnership { +function createOwner(parent?: IOwnership, skipAppend = false): IOwnership { const owner: IOwnership = { ...OwnershipPrototype, @@ -17,14 +17,17 @@ function createOwner(parent?: IOwnership): IOwnership { _disposal: undefined, _context: undefined, _queue: undefined, + _epoch: 0, - _state: OwnershipStateFlags.CLEAN, + _contextEpoch: 0, + + _state: CLEAN, _childCount: 0, [S_OWN_BRAND]: true, }; - if (parent) { + if (!skipAppend && parent) { parent.appendChild(owner); parent?.onScopeMount?.(owner); } diff --git a/packages/reflex/src/core/ownership/ownership.proto.ts b/packages/reflex/src/core/ownership/ownership.proto.ts index 40974a4..b9d5439 100644 --- a/packages/reflex/src/core/ownership/ownership.proto.ts +++ b/packages/reflex/src/core/ownership/ownership.proto.ts @@ -1,35 +1,36 @@ import { ReflexObject } from "../object/object.inherit.js"; -import { Bitwise } from "../object/utils/bitwise.js"; import OwnershipDisposeError from "./ownership.error.js"; import { IOwnership, - OwnershipStateFlags, IOwnershipContextRecord, IOwnershipMethods, + type ContextKeyType, DisposalStrategy, + DISPOSED, + DISPOSING, } from "./ownership.type.js"; const DISPOSAL_INITIAL_CAPACITY = 4 as const; const OwnershipPrototype = { appendChild(this: IOwnership, child: IOwnership) { - - - if (!child || child._parent === this) return; - if (child === this) throw new Error("Cannot append owner to itself"); - if (child._state & OwnershipStateFlags.DISPOSED) - throw new Error("Cannot append a disposed child"); - - if ( - this._state & - (OwnershipStateFlags.DISPOSING | OwnershipStateFlags.DISPOSED) - ) - throw new Error("Cannot append child to a disposing/disposed owner"); - - if (child._parent && child._parent !== this) { - child._parent.removeChild(child); + if (__DEV__) { + if (!child || child._parent === this) return; + if (child === this) throw new Error("Cannot append owner to itself"); + if (child._state & DISPOSED) + throw new Error("Cannot append a disposed child"); + + if ( + this._state & + (DISPOSING | DISPOSED) + ) + throw new Error("Cannot append child to a disposing/disposed owner"); + + if (child._parent && child._parent !== this) { + child._parent.removeChild(child); + } } - + child._parent = this; child._prevSibling = this._lastChild; child._nextSibling = undefined; @@ -47,7 +48,7 @@ const OwnershipPrototype = { ReflexObject.Inherit(parentContext); } - this._childCount++; + ++this._childCount; }, removeChild(this: IOwnership, child: IOwnership) { @@ -63,11 +64,11 @@ const OwnershipPrototype = { if (this._lastChild === child) this._lastChild = prev; child._parent = child._prevSibling = child._nextSibling = undefined; - this._childCount--; + --this._childCount; }, onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { - if (this._state & OwnershipStateFlags.DISPOSED) + if (this._state & DISPOSED) throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); if (!this._disposal) { @@ -78,61 +79,77 @@ const OwnershipPrototype = { }, dispose(this: IOwnership, strategy?: DisposalStrategy) { - if (Bitwise.has(this._state, OwnershipStateFlags.DISPOSED)) return; const { beforeDispose, afterDispose, onError } = strategy ?? {}; - beforeDispose?.([this]); - let errorCount = 0; - let firstError: unknown; + if (this._state & DISPOSED) return; + + beforeDispose?.([this]); - const stack: Array<[IOwnership, boolean]> = [[this, false]]; + const stack: IOwnership[] = [this]; + const out: IOwnership[] = []; while (stack.length) { - const [node, visited] = stack.pop()!; - - if (Bitwise.has(node._state, OwnershipStateFlags.DISPOSED)) continue; + const node = stack.pop()!; + if (!node || (node._state & DISPOSED)) continue; - if (!visited) { - stack.push([node, true]); - let child = node._lastChild; + out.push(node); - while (child) { - if (!Bitwise.has(child._state, OwnershipStateFlags.DISPOSED)) { - stack.push([child, false]); - } - child = child._prevSibling; - } - continue; + let child = node._firstChild; + while (child) { + if (!(child._state & DISPOSED)) stack.push(child); + child = child._nextSibling!; } + } - node._state = Bitwise.set(node._state, OwnershipStateFlags.DISPOSING); + let errorCount = 0; + let firstError: unknown; + + for (let i = out.length - 1; i >= 0; i--) { + const node = out[i]!; + if (!node || (node._state & DISPOSED)) continue; + + node._state |= DISPOSING; const disposal = node._disposal; - if (disposal) { - for (let j = disposal.length - 1; j >= 0; j--) { - try { disposal[j]!(); } - catch (err) { - if (!firstError) firstError = err; - errorCount++; - onError?.(err, node); + node._disposal = undefined; + + try { + if (disposal) { + for (let j = disposal.length - 1; i-- > 0;) { + const fn = disposal[j]; + if (!fn) continue; + try { + fn(); + } catch (err) { + if (!firstError) firstError = err; + errorCount++; + onError?.(err, node); + } } } - } + } finally { + if (node._prevSibling) node._prevSibling._nextSibling = node._nextSibling; + if (node._nextSibling) node._nextSibling._prevSibling = node._prevSibling; - node._firstChild = - node._lastChild = - node._nextSibling = - node._prevSibling = - node._parent = - node._context = - node._disposal = - undefined; - - node._childCount = 0; - node._state = OwnershipStateFlags.DISPOSED; + if (node._parent) { + if (node._parent._firstChild === node) node._parent._firstChild = node._nextSibling; + if (node._parent._lastChild === node) node._parent._lastChild = node._prevSibling; + } + + node._firstChild = + node._lastChild = + node._nextSibling = + node._prevSibling = + node._parent = + node._context = undefined; + + node._childCount = 0; + node._state = DISPOSED; + } } afterDispose?.([this], errorCount); + if (errorCount > 0 && !onError) { console.error( errorCount === 1 @@ -148,7 +165,6 @@ const OwnershipPrototype = { getContext(this: IOwnership): IOwnershipContextRecord { if (this._context) return this._context; - const parentCtx = this._parent?._context; const ctx = parentCtx ? Object.create(parentCtx) @@ -159,20 +175,19 @@ const OwnershipPrototype = { }, /** Provide new key/value pair */ - provide(this: IOwnership, key: symbol | string, value: unknown): void { - if (value === this) - throw new Error("Cannot provide owner itself in context"); + provide(this: IOwnership, key: ContextKeyType, value: unknown): void { + if (value === this) return; const ctx = this.getContext(); ctx[key] = value; }, /** Lookup contextual value */ - inject(this: IOwnership, key: symbol | string): T | undefined { + inject(this: IOwnership, key: ContextKeyType): T | undefined { return this._context?.[key] as T | undefined; }, /** Check for local context key */ - hasOwn(this: IOwnership, key: symbol | string): boolean { + hasOwn(this: IOwnership, key: ContextKeyType): boolean { return this._context !== undefined && Object.hasOwn(this._context, key); }, } satisfies IOwnershipMethods; diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index eed94f7..f499b9f 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -19,21 +19,26 @@ export const createOwnershipScope = () => { return currentOwner; }; - const withOwner = (owner: IOwnership, fn: () => T): T => { + function withOwner(owner: IOwnership, fn: () => T): T { const prev = currentOwner; currentOwner = owner; - try { - return fn(); - } finally { - currentOwner = prev; - } - }; + const out = fn(); + + currentOwner = prev; + return out; + } + + const createScope = (fn: () => T, skipAppend = false): T => { + const owner = createOwner(currentOwner, skipAppend); + + const prev = currentOwner; + currentOwner = owner; + + const out = fn(); - const createScope = (fn: () => T): T => { - const parent = currentOwner; - const owner = createOwner(parent); - return withOwner(owner, fn); + currentOwner = prev; + return out; }; return { getOwner, withOwner, createScope }; diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/reflex/src/core/ownership/ownership.type.ts index cfcdf79..1cb21d2 100644 --- a/packages/reflex/src/core/ownership/ownership.type.ts +++ b/packages/reflex/src/core/ownership/ownership.type.ts @@ -4,7 +4,7 @@ * Defines hierarchical scopes, context inheritance, and cleanup logic. */ -const S_OWN_BRAND= Symbol("OwnershipBrand"); +const S_OWN_BRAND = Symbol("OwnershipBrand"); const S_ID = Symbol.for("ownership:id"); const S_OWN = Symbol.for("ownership:parent"); const S_SOURCES = Symbol.for("ownership:sources"); @@ -14,9 +14,11 @@ const S_FN = Symbol.for("ownership:fn"); const S_VALUE = Symbol.for("ownership:value"); const S_DISPOSE = Symbol.for("ownership:dispose"); +// only one for dictionary mode in v8! +type ContextKeyType = string; interface IOwnershipContextRecord { - [key: string | symbol]: unknown; + [key: ContextKeyType]: unknown; } interface IOwnershipContext { @@ -24,16 +26,12 @@ interface IOwnershipContext { readonly defaultValue?: T; } -const OwnershipStateFlags = { - CLEAN: 0, - CHECK: 1 << 0, - DIRTY: 1 << 1, - DISPOSING: 1 << 2, - DISPOSED: 1 << 3, -} as const; -type OwnershipStateFlags = - (typeof OwnershipStateFlags)[keyof typeof OwnershipStateFlags]; +const CLEAN = 0; +const CHECK = 1 << 0; +const DIRTY = 1 << 1; +const DISPOSING = 1 << 2; +const DISPOSED = 1 << 3; interface IOwnershipMethods { @@ -75,7 +73,8 @@ interface IOwnershipInternal { _context: IOwnershipContextRecord | undefined; _queue: unknown | undefined; _epoch: number; - _state: OwnershipStateFlags; + _contextEpoch: number; + _state: number; _childCount: number; } @@ -88,6 +87,7 @@ export interface DisposalStrategy { beforeDispose?: (nodes: IOwnership[]) => void; afterDispose?: (nodes: IOwnership[], errors: number) => void; } + export { S_ID, S_OWN, @@ -98,13 +98,18 @@ export { S_VALUE, S_DISPOSE, S_OWN_BRAND, - OwnershipStateFlags, + CLEAN, + CHECK, + DIRTY, + DISPOSING, + DISPOSED, }; export type { IOwnership, IOwnershipInternal, IOwnershipMethods, + ContextKeyType, IOwnershipContext, IOwnershipContextRecord, }; diff --git a/packages/reflex/src/runtime/execution/execution.stack.ts b/packages/reflex/src/runtime/execution/execution.stack.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/reflex/src/shared/types/declarations.d.ts b/packages/reflex/src/shared/types/declarations.d.ts index 45b9d77..445d1ca 100644 --- a/packages/reflex/src/shared/types/declarations.d.ts +++ b/packages/reflex/src/shared/types/declarations.d.ts @@ -6,6 +6,7 @@ declare const APP_REVISION: string; declare const BUILD_MODE: "development" | "production" | "test.js"; declare const PLATFORM: "browser" | "node" | "worker.js"; +declare const __DEV__: boolean; declare namespace ReflexGlobal { const __REFLEX_LIB__: Record; diff --git a/packages/reflex/tsconfig.json b/packages/reflex/tsconfig.json index 113c5cd..14f03f5 100644 --- a/packages/reflex/tsconfig.json +++ b/packages/reflex/tsconfig.json @@ -2,7 +2,6 @@ "compilerOptions": { "rootDir": "src", "outDir": "dist", - "types": ["node", "jest"], "esModuleInterop": true, "module": "NodeNext", "moduleResolution": "NodeNext", From b49fda5b47e859101f7aa29ab4b7b64c22dc8f9e Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Sat, 15 Nov 2025 20:44:07 +0200 Subject: [PATCH 14/32] Delete rigidify library and its associated files, including LICENSE, README, package.json, TypeScript definitions, and source code. Add initial setup for changesets, ESLint, Prettier, and CI configuration. Create benchmark tests for ownership management and performance profiling. --- .changeset/README.md | 8 + .changeset/config.json | 11 + .editorconfig | 8 + .github/workflows/ci.yml | 40 + .husky/pre-commit | 1 + packages/reflex/.npmignore => .npmignore | 0 .npmrc | 2 - .../.prettierignore => .prettierignore | 0 packages/reflex-dom/AUTHORS => AUTHORS | 0 LICENSE | 2 +- config/eslint.config.mjs | 38 + config/prettier.config.mjs | 6 + config/vite.config.ts | 23 + config/vitest.config.ts | 12 + environment/tsconfig.base.json | 22 - jest.config.js | 3 - package.json | 31 +- packages/package.json | 11 - packages/pnpm-lock.yaml | 355 -- packages/reflex-dom/.editorconfig | 12 - packages/reflex-dom/.npmignore | 4 - packages/reflex-dom/LICENSE | 21 - packages/reflex-dom/package.json | 2 +- packages/reflex/.editorconfig | 12 - packages/reflex/.prettierignore | 4 - packages/reflex/AUTHORS | 1 - packages/reflex/LICENSE | 21 - packages/reflex/package.json | 46 +- packages/reflex/src/core/graph/graph.core.ts | 1 + packages/reflex/src/core/graph/graph.types.ts | 34 +- .../src/core/ownership/ownership.core.ts | 6 +- .../src/core/ownership/ownership.proto.ts | 24 +- .../src/core/ownership/ownership.scope.ts | 26 +- packages/reflex/src/test/ownership.bench.ts | 108 - .../{src/test => tests}/ownerhip.test.ts | 16 +- packages/reflex/tests/ownership.bench.ts | 138 + packages/reflex/tests/ownership.run.ts | 30 + packages/reflex/tsconfig.json | 23 +- .../rigidify/src => plugins}/index.ts | 0 pnpm-lock.yaml | 5416 ++++++++++------- pnpm-workspace.yaml | 3 +- third-party/README.md | 5 - third-party/pattern-matching/.editorconfig | 12 - third-party/pattern-matching/.gitignore | 22 - third-party/pattern-matching/.npmignore | 4 - third-party/pattern-matching/.prettierignore | 4 - third-party/pattern-matching/AUTHORS | 1 - third-party/pattern-matching/LICENSE | 21 - third-party/pattern-matching/reactor-dsl.d.ts | 48 - third-party/rigidify/.editorconfig | 12 - third-party/rigidify/.gitignore | 22 - third-party/rigidify/.npmignore | 4 - third-party/rigidify/.prettierignore | 4 - third-party/rigidify/AUTHORS | 1 - third-party/rigidify/LICENSE | 21 - third-party/rigidify/README.md | 102 - third-party/rigidify/package.json | 51 - third-party/rigidify/src/index.d.ts | 99 - third-party/rigidify/src/layers/api.ts | 0 .../rigidify/src/layers/record/record.ts | 39 - .../rigidify/src/layers/utils/type_check.ts | 35 - .../rigidify/src/layers/utils/type_code.ts | 0 third-party/rigidify/tsconfig.json | 11 - 63 files changed, 3746 insertions(+), 3293 deletions(-) create mode 100644 .changeset/README.md create mode 100644 .changeset/config.json create mode 100644 .editorconfig create mode 100644 .github/workflows/ci.yml create mode 100644 .husky/pre-commit rename packages/reflex/.npmignore => .npmignore (100%) delete mode 100644 .npmrc rename packages/reflex-dom/.prettierignore => .prettierignore (100%) rename packages/reflex-dom/AUTHORS => AUTHORS (100%) create mode 100644 config/eslint.config.mjs create mode 100644 config/prettier.config.mjs create mode 100644 config/vite.config.ts create mode 100644 config/vitest.config.ts delete mode 100644 environment/tsconfig.base.json delete mode 100644 jest.config.js delete mode 100644 packages/package.json delete mode 100644 packages/pnpm-lock.yaml delete mode 100644 packages/reflex-dom/.editorconfig delete mode 100644 packages/reflex-dom/.npmignore delete mode 100644 packages/reflex-dom/LICENSE delete mode 100644 packages/reflex/.editorconfig delete mode 100644 packages/reflex/.prettierignore delete mode 100644 packages/reflex/AUTHORS delete mode 100644 packages/reflex/LICENSE delete mode 100644 packages/reflex/src/test/ownership.bench.ts rename packages/reflex/{src/test => tests}/ownerhip.test.ts (97%) create mode 100644 packages/reflex/tests/ownership.bench.ts create mode 100644 packages/reflex/tests/ownership.run.ts rename {third-party/rigidify/src => plugins}/index.ts (100%) delete mode 100644 third-party/README.md delete mode 100644 third-party/pattern-matching/.editorconfig delete mode 100644 third-party/pattern-matching/.gitignore delete mode 100644 third-party/pattern-matching/.npmignore delete mode 100644 third-party/pattern-matching/.prettierignore delete mode 100644 third-party/pattern-matching/AUTHORS delete mode 100644 third-party/pattern-matching/LICENSE delete mode 100644 third-party/pattern-matching/reactor-dsl.d.ts delete mode 100644 third-party/rigidify/.editorconfig delete mode 100644 third-party/rigidify/.gitignore delete mode 100644 third-party/rigidify/.npmignore delete mode 100644 third-party/rigidify/.prettierignore delete mode 100644 third-party/rigidify/AUTHORS delete mode 100644 third-party/rigidify/LICENSE delete mode 100644 third-party/rigidify/README.md delete mode 100644 third-party/rigidify/package.json delete mode 100644 third-party/rigidify/src/index.d.ts delete mode 100644 third-party/rigidify/src/layers/api.ts delete mode 100644 third-party/rigidify/src/layers/record/record.ts delete mode 100644 third-party/rigidify/src/layers/utils/type_check.ts delete mode 100644 third-party/rigidify/src/layers/utils/type_code.ts delete mode 100644 third-party/rigidify/tsconfig.json diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 0000000..e5b6d8d --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000..d88011f --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [], + "access": "restricted", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ee51031 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5f21759 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,40 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + +jobs: + ci: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: "pnpm" + + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 9 + + - name: Install deps + run: pnpm install --frozen-lockfile + + - name: Lint + run: pnpm lint + + - name: Typecheck + run: pnpm typecheck + + - name: Test + run: pnpm test -- --runInBand + + - name: Build + run: pnpm build diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..98475b5 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +pnpm test diff --git a/packages/reflex/.npmignore b/.npmignore similarity index 100% rename from packages/reflex/.npmignore rename to .npmignore diff --git a/.npmrc b/.npmrc deleted file mode 100644 index bf31311..0000000 --- a/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -store-dir=.pnpm-store -global-bin-dir=.pnpm-bin diff --git a/packages/reflex-dom/.prettierignore b/.prettierignore similarity index 100% rename from packages/reflex-dom/.prettierignore rename to .prettierignore diff --git a/packages/reflex-dom/AUTHORS b/AUTHORS similarity index 100% rename from packages/reflex-dom/AUTHORS rename to AUTHORS diff --git a/LICENSE b/LICENSE index 923599d..8a83559 100644 --- a/LICENSE +++ b/LICENSE @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +SOFTWARE. \ No newline at end of file diff --git a/config/eslint.config.mjs b/config/eslint.config.mjs new file mode 100644 index 0000000..ccfb693 --- /dev/null +++ b/config/eslint.config.mjs @@ -0,0 +1,38 @@ +import js from "@eslint/js"; +import tseslint from "typescript-eslint"; +import eslintConfigPrettier from "eslint-config-prettier"; + +/** @type {import("eslint").Linter.FlatConfig[]} */ +export default [ + { + ignores: ["dist", "coverage", "node_modules"] + }, + js.configs.recommended, + ...tseslint.configs.recommendedTypeChecked.map((cfg) => ({ + ...cfg, + languageOptions: { + ...cfg.languageOptions, + parserOptions: { + ...cfg.languageOptions?.parserOptions, + projectService: { + allowDefaultProject: true + }, + tsconfigRootDir: import.meta.dirname + } + } + })), + { + files: ["**/*.ts", "**/*.tsx"], + languageOptions: { + parserOptions: { + project: "./tsconfig.json" + } + }, + rules: { + "@typescript-eslint/explicit-function-return-type": "error", + "@typescript-eslint/consistent-type-imports": "warn", + "@typescript-eslint/no-explicit-any": "warn" + } + }, + eslintConfigPrettier +]; diff --git a/config/prettier.config.mjs b/config/prettier.config.mjs new file mode 100644 index 0000000..5fa76b6 --- /dev/null +++ b/config/prettier.config.mjs @@ -0,0 +1,6 @@ +export default { + "singleQuote": true, + "trailingComma": "all", + "printWidth": 100, + "semi": true +} diff --git a/config/vite.config.ts b/config/vite.config.ts new file mode 100644 index 0000000..5c59259 --- /dev/null +++ b/config/vite.config.ts @@ -0,0 +1,23 @@ +import { defineConfig } from "vite"; +import { resolve } from "node:path"; + +export default defineConfig({ + build: { + lib: { + entry: resolve(__dirname, "src/index.ts"), + name: "@reflex/core", + fileName: (format) => `my-lib.${format}.js`, + formats: ["es", "cjs"] + }, + rollupOptions: { + external: [ + // "react", "lodash" и пр., если они peerDependencies + ], + output: { + globals: { + // react: "React" + } + } + } + }, +}); diff --git a/config/vitest.config.ts b/config/vitest.config.ts new file mode 100644 index 0000000..2afd42d --- /dev/null +++ b/config/vitest.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + environment: "node", + include: ["tests/**/*.test.{ts,tsx}"], + coverage: { + reporter: ["text", "lcov"], + include: ["src"] + } + } +}); diff --git a/environment/tsconfig.base.json b/environment/tsconfig.base.json deleted file mode 100644 index ae23dee..0000000 --- a/environment/tsconfig.base.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "lib": ["ESNext", "DOM"], - "module": "NodeNext", - "moduleResolution": "NodeNext", - "esModuleInterop": true, - "strict": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "noUncheckedIndexedAccess": true, - "noImplicitOverride": true, - "exactOptionalPropertyTypes": true, - "useDefineForClassFields": true, - "isolatedModules": true, - "incremental": true, - "composite": true, - "moduleDetection": "force" - }, - "include": ["packages/**/*", "environment/**/*"], - "exclude": ["node_modules", "dist"] -} diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 9e9a7be..0000000 --- a/jest.config.js +++ /dev/null @@ -1,3 +0,0 @@ -export default { - projects: ["/packages/*"], -}; \ No newline at end of file diff --git a/package.json b/package.json index 58e681b..1a7067b 100644 --- a/package.json +++ b/package.json @@ -2,17 +2,30 @@ "name": "reflex-monorepo", "private": true, "version": "0.7.0", + "packageManager": "pnpm@9.0.0", "scripts": { - "build": "pnpm -r run build", - "clean": "pnpm -r run clean", - "test": "pnpm -r run test", - "lint": "pnpm -r run lint" + "build": "pnpm -r build", + "test": "pnpm -r test", + "bench": "pnpm -r bench", + "lint": "pnpm -r lint", + "typecheck": "pnpm -r typecheck", + "release": "changeset version && pnpm install && changeset publish", + "prepare": "husky" }, "devDependencies": { - "@types/jest": "^30.0.0", - "@types/node": "^24.9.1", - "jest": "^30.2.0", - "ts-jest": "^29.4.5", - "typescript": "^5.9.3" + "0x": "^6.0.0", + "@changesets/cli": "^2.27.0", + "@eslint/js": "^9.0.0", + "eslint": "^9.0.0", + "husky": "^9.0.0", + "lint-staged": "^15.0.0", + "prettier": "^3.3.0", + "typescript": "^5.6.0", + "typescript-eslint": "^8.0.0", + "vite": "^6.0.0", + "vitest": "^4.0.0" + }, + "dependencies": { + "ts-node": "^10.9.2" } } diff --git a/packages/package.json b/packages/package.json deleted file mode 100644 index 7d3ca53..0000000 --- a/packages/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "devDependencies": { - "@types/jest": "^29.5.14", - "@types/node": "^20.19.23" - }, - "pnpm": { - "overrides": { - "@types/node": "^20.14.0" - } - } -} diff --git a/packages/pnpm-lock.yaml b/packages/pnpm-lock.yaml deleted file mode 100644 index 0ee1972..0000000 --- a/packages/pnpm-lock.yaml +++ /dev/null @@ -1,355 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -overrides: - '@types/node': ^20.14.0 - -importers: - - .: - devDependencies: - '@types/jest': - specifier: ^29.5.14 - version: 29.5.14 - '@types/node': - specifier: ^20.19.23 - version: 20.19.23 - -packages: - - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} - - '@jest/expect-utils@29.7.0': - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/jest@29.5.14': - resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} - - '@types/node@20.19.23': - resolution: {integrity: sha512-yIdlVVVHXpmqRhtyovZAcSy0MiPcYWGkoO4CGe/+jpP0hmNuihm4XhHbADpK++MsiLHP5MVlv+bcgdF99kSiFQ==} - - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.34': - resolution: {integrity: sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - - expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - -snapshots: - - '@babel/code-frame@7.27.1': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/helper-validator-identifier@7.28.5': {} - - '@jest/expect-utils@29.7.0': - dependencies: - jest-get-type: 29.6.3 - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 20.19.23 - '@types/yargs': 17.0.34 - chalk: 4.1.2 - - '@sinclair/typebox@0.27.8': {} - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/jest@29.5.14': - dependencies: - expect: 29.7.0 - pretty-format: 29.7.0 - - '@types/node@20.19.23': - dependencies: - undici-types: 6.21.0 - - '@types/stack-utils@2.0.3': {} - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.34': - dependencies: - '@types/yargs-parser': 21.0.3 - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@5.2.0: {} - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - ci-info@3.9.0: {} - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - diff-sequences@29.6.3: {} - - escape-string-regexp@2.0.0: {} - - expect@29.7.0: - dependencies: - '@jest/expect-utils': 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - graceful-fs@4.2.11: {} - - has-flag@4.0.0: {} - - is-number@7.0.0: {} - - jest-diff@29.7.0: - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-get-type@29.6.3: {} - - jest-matcher-utils@29.7.0: - dependencies: - chalk: 4.1.2 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-message-util@29.7.0: - dependencies: - '@babel/code-frame': 7.27.1 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - - jest-util@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 20.19.23 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - - js-tokens@4.0.0: {} - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - - react-is@18.3.1: {} - - slash@3.0.0: {} - - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - undici-types@6.21.0: {} diff --git a/packages/reflex-dom/.editorconfig b/packages/reflex-dom/.editorconfig deleted file mode 100644 index 003897b..0000000 --- a/packages/reflex-dom/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -# http://editorconfig.org -root = true - -[*] -end_of_line = lf -charset = utf-8 -insert_final_newline = true -trim_trailing_whitespace = true - -[{*.js,*.mjs,*.ts,*.json,*.yml}] -indent_size = 2 -indent_style = space \ No newline at end of file diff --git a/packages/reflex-dom/.npmignore b/packages/reflex-dom/.npmignore deleted file mode 100644 index 84784ea..0000000 --- a/packages/reflex-dom/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -*.log -.DS_Store -CHANGELOG.md \ No newline at end of file diff --git a/packages/reflex-dom/LICENSE b/packages/reflex-dom/LICENSE deleted file mode 100644 index 8a83559..0000000 --- a/packages/reflex-dom/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2025 Andrii Volynets - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/packages/reflex-dom/package.json b/packages/reflex-dom/package.json index ba33fee..0936929 100644 --- a/packages/reflex-dom/package.json +++ b/packages/reflex-dom/package.json @@ -19,6 +19,6 @@ "@reflex/core": "workspace:*" }, "devDependencies": { - "typescript": "^7.0.0" + "typescript": "^5.3.9" } } diff --git a/packages/reflex/.editorconfig b/packages/reflex/.editorconfig deleted file mode 100644 index 003897b..0000000 --- a/packages/reflex/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -# http://editorconfig.org -root = true - -[*] -end_of_line = lf -charset = utf-8 -insert_final_newline = true -trim_trailing_whitespace = true - -[{*.js,*.mjs,*.ts,*.json,*.yml}] -indent_size = 2 -indent_style = space \ No newline at end of file diff --git a/packages/reflex/.prettierignore b/packages/reflex/.prettierignore deleted file mode 100644 index 84784ea..0000000 --- a/packages/reflex/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -*.log -.DS_Store -CHANGELOG.md \ No newline at end of file diff --git a/packages/reflex/AUTHORS b/packages/reflex/AUTHORS deleted file mode 100644 index 5bb4500..0000000 --- a/packages/reflex/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Andrii Volynets \ No newline at end of file diff --git a/packages/reflex/LICENSE b/packages/reflex/LICENSE deleted file mode 100644 index 8a83559..0000000 --- a/packages/reflex/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2025 Andrii Volynets - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/packages/reflex/package.json b/packages/reflex/package.json index d6c3310..427a694 100644 --- a/packages/reflex/package.json +++ b/packages/reflex/package.json @@ -2,27 +2,49 @@ "name": "@reflex/core", "version": "0.7.0", "type": "module", + "main": "dist/my-lib.cjs", + "module": "dist/my-lib.mjs", + "types": "dist/index.d.ts", + "license": "MIT", "exports": { ".": { - "import": "./dist/index.js", + "import": "./dist/my-lib.mjs", + "require": "./dist/my-lib.cjs", "types": "./dist/index.d.ts" - }, - "./*": { - "import": "./dist/*.js", - "types": "./dist/*.d.ts" } }, - "imports": { - "#reflex/*": "./src/*" - }, "scripts": { + "dev": "vite", "build": "tsc --build", - "test": "vitest", + "test": "vitest run", "bench": "vitest bench", - "profile:bench": "node --expose-gc ./dist/experimental/graph.bench.js" + "bench:flame": "0x -- node dist/tests/ownership.run.js", + "test:watch": "vitest", + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "format": "prettier --check .", + "format:fix": "prettier --write .", + "typecheck": "tsc --noEmit", + "prepublishOnly": "pnpm lint && pnpm test && pnpm typecheck && pnpm build", + "release": "changeset version && pnpm install && changeset publish", + "prepare": "husky" + }, + "files": [ + "dist" + ], + "engines": { + "node": ">=20.19.0" + }, + "lint-staged": { + "*.{ts,tsx,js,jsx}": [ + "eslint --fix", + "prettier --write" + ], + "*.{json,md,yml,yaml}": [ + "prettier --write" + ] }, - "sideEffects": false, "devDependencies": { - "ts-node": "^10.9.2" + "@types/node": "^24.10.1" } } diff --git a/packages/reflex/src/core/graph/graph.core.ts b/packages/reflex/src/core/graph/graph.core.ts index fe35735..673de03 100644 --- a/packages/reflex/src/core/graph/graph.core.ts +++ b/packages/reflex/src/core/graph/graph.core.ts @@ -24,6 +24,7 @@ function createReactiveNode(): IReactiveNode { } + export { isObserverNode, isAsyncNode, diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/reflex/src/core/graph/graph.types.ts index 74734c6..07ea0af 100644 --- a/packages/reflex/src/core/graph/graph.types.ts +++ b/packages/reflex/src/core/graph/graph.types.ts @@ -24,11 +24,11 @@ import { BitMask } from "../object/utils/bitwise.js"; -/* ────────────────────────────────────────────────────────────────────────────── +/* * Node Categories * ReactiveNodeKind marks the semantic role of a vertex. * This does NOT affect graph topology, only execution semantics. - * ────────────────────────────────────────────────────────────────────────────── */ + * */ export type ReactiveNodeKind = | "source" // Stores a raw value; no internal computation @@ -37,11 +37,11 @@ export type ReactiveNodeKind = -/* ────────────────────────────────────────────────────────────────────────────── +/* * Observer function executed by computation/effect nodes. * Must never mutate graph topology during its execution. * (scheduler enforces this invariant) - * ────────────────────────────────────────────────────────────────────────────── */ + * */ interface IObserverFn { (): void; @@ -49,7 +49,7 @@ interface IObserverFn { -/* ────────────────────────────────────────────────────────────────────────────── +/* * SourceLink: intrusive list element representing * "node depends on source". * @@ -58,7 +58,7 @@ interface IObserverFn { * Invariant: * - A node can depend on multiple sources. * - Each dependency is represented by a separate link object. - * ────────────────────────────────────────────────────────────────────────────── */ + * */ interface ISourceLink { _prev: ISourceLink | null; @@ -70,7 +70,7 @@ interface ISourceLink { -/* ────────────────────────────────────────────────────────────────────────────── +/* * ObserverLink: intrusive list element representing * "source notifies observer". * @@ -79,7 +79,7 @@ interface ISourceLink { * Invariant: * - A source may have many observers. * - Each observer relationship uses its own link object. - * ────────────────────────────────────────────────────────────────────────────── */ + * */ interface IObserverLink { _prev: IObserverLink | null; @@ -90,8 +90,7 @@ interface IObserverLink { } - -/* ────────────────────────────────────────────────────────────────────────────── +/** * IReactiveNode: primary vertex structure for the reactive graph. * * MUTABLE FIELDS: @@ -114,37 +113,28 @@ interface IObserverLink { * 7. After unlink: link._prev/_next reset to null. * 8. List heads are null OR a valid link, but NOT undefined. * 9. Graph is not mutated while an observer callback is running. - * ────────────────────────────────────────────────────────────────────────────── */ - + */ interface IReactiveNode { /** Cached runtime value (raw JS value). */ _valueRaw: unknown; - /** Head of intrusive linked list of upstream dependencies. */ _sources: ISourceLink | null; - /** Head of intrusive linked list of downstream observers. */ _observers: IObserverLink | null; - /** Execution callback for computations/effects. Null for pure sources. */ _observer: IObserverFn | null; - /** Runtime version counters: [epoch, version, uversion]. */ _counters: Uint32Array; - /** Async tracking: [generation, token]. */ _async: Uint32Array; - /** Combined bitmask: dirty/scheduled/running/kind bits. */ _flags: BitMask; - /** Semantic role of this node. */ _kind: ReactiveNodeKind; } - -/* ────────────────────────────────────────────────────────────────────────────── +/* * ReactiveValue * * Public-facing handle for user-level signals. @@ -156,7 +146,7 @@ interface IReactiveNode { * value(prev => next) → functional update * * No additional state is stored here. Everything lives in _node. - * ────────────────────────────────────────────────────────────────────────────── */ + * */ interface IReactiveValue { (): T; diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index 1852514..cc0d572 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -5,7 +5,7 @@ import { } from "./ownership.type.js"; import OwnershipPrototype from "./ownership.proto.js"; -function createOwner(parent?: IOwnership, skipAppend = false): IOwnership { +function createOwner(parent?: IOwnership): IOwnership { const owner: IOwnership = { ...OwnershipPrototype, @@ -17,7 +17,7 @@ function createOwner(parent?: IOwnership, skipAppend = false): IOwnership { _disposal: undefined, _context: undefined, _queue: undefined, - + _epoch: 0, _contextEpoch: 0, @@ -27,7 +27,7 @@ function createOwner(parent?: IOwnership, skipAppend = false): IOwnership { [S_OWN_BRAND]: true, }; - if (!skipAppend && parent) { + if (parent) { parent.appendChild(owner); parent?.onScopeMount?.(owner); } diff --git a/packages/reflex/src/core/ownership/ownership.proto.ts b/packages/reflex/src/core/ownership/ownership.proto.ts index b9d5439..3d42533 100644 --- a/packages/reflex/src/core/ownership/ownership.proto.ts +++ b/packages/reflex/src/core/ownership/ownership.proto.ts @@ -14,23 +14,7 @@ const DISPOSAL_INITIAL_CAPACITY = 4 as const; const OwnershipPrototype = { appendChild(this: IOwnership, child: IOwnership) { - if (__DEV__) { - if (!child || child._parent === this) return; - if (child === this) throw new Error("Cannot append owner to itself"); - if (child._state & DISPOSED) - throw new Error("Cannot append a disposed child"); - - if ( - this._state & - (DISPOSING | DISPOSED) - ) - throw new Error("Cannot append child to a disposing/disposed owner"); - - if (child._parent && child._parent !== this) { - child._parent.removeChild(child); - } - } - + child._parent = this; child._prevSibling = this._lastChild; child._nextSibling = undefined; @@ -115,7 +99,7 @@ const OwnershipPrototype = { try { if (disposal) { - for (let j = disposal.length - 1; i-- > 0;) { + for (let j = disposal.length - 1; j >= 0; j--) { const fn = disposal[j]; if (!fn) continue; try { @@ -176,7 +160,9 @@ const OwnershipPrototype = { /** Provide new key/value pair */ provide(this: IOwnership, key: ContextKeyType, value: unknown): void { - if (value === this) return; + if (value === this) { + throw new Error("Cannot provide owner itself into context"); + } const ctx = this.getContext(); ctx[key] = value; }, diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index f499b9f..89d2982 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -19,26 +19,20 @@ export const createOwnershipScope = () => { return currentOwner; }; - function withOwner(owner: IOwnership, fn: () => T): T { + const withOwner = (owner: IOwnership, fn: () => T): T => { const prev = currentOwner; currentOwner = owner; - const out = fn(); - - currentOwner = prev; - return out; - } - - const createScope = (fn: () => T, skipAppend = false): T => { - const owner = createOwner(currentOwner, skipAppend); - - const prev = currentOwner; - currentOwner = owner; - - const out = fn(); + try { + return fn(); + } finally { + currentOwner = prev; + } + }; - currentOwner = prev; - return out; + const createScope = (fn: () => T, parent = currentOwner): T => { + const owner = createOwner(parent); + return withOwner(owner, fn); }; return { getOwner, withOwner, createScope }; diff --git a/packages/reflex/src/test/ownership.bench.ts b/packages/reflex/src/test/ownership.bench.ts deleted file mode 100644 index 81dbd31..0000000 --- a/packages/reflex/src/test/ownership.bench.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { bench, describe } from "vitest"; -import { createOwner } from "#reflex/core/ownership/ownership.core.js"; -import { OwnershipStateFlags } from "#reflex/core/ownership/ownership.type.js"; - -// утилита, чтобы случайно не зависнуть -function buildTree(depth: number, width: number) { - const root = createOwner(); - const queue = [root]; - for (let d = 0; d < depth; d++) { - const levelSize = queue.length; - for (let i = 0; i < levelSize; i++) { - const parent = queue.shift()!; - for (let j = 0; j < width; j++) { - const child = createOwner(parent); - queue.push(child); - } - } - } - return root; -} - -describe("Ownership — Microbench", () => { - bench("create 100 children and dispose", () => { - const root = createOwner(); - for (let i = 0; i < 100; i++) createOwner(root); - root.dispose(); - }); - - bench("register 100 cleanups", () => { - const owner = createOwner(); - for (let i = 0; i < 100; i++) owner.onScopeCleanup(() => {}); - }); - - bench("register 10k cleanups and dispose", () => { - const owner = createOwner(); - for (let i = 0; i < 10_000; i++) owner.onScopeCleanup(() => {}); - owner.dispose(); - }); - - bench("build balanced tree (depth 6 × 3)", () => { - const root = buildTree(6, 3); - root.dispose(); - }); - - bench("build wide tree (3000 siblings)", () => { - const root = createOwner(); - for (let i = 0; i < 3000; i++) createOwner(root); - root.dispose(); - }); - - bench("build linear chain (depth 10k)", () => { - let node = createOwner(); - const root = node; - for (let i = 0; i < 10_000; i++) node = createOwner(node); - root.dispose(); - }); - - bench("context propagation 1000× deep", () => { - let node = createOwner(); - for (let i = 0; i < 1000; i++) node = createOwner(node); - node.provide("x", 42); - let cur = node; - while (cur._parent) cur = cur._parent; - cur.getContext(); - }); - - bench("context override isolation", () => { - const parent = createOwner(); - parent.provide("value", 1); - const child = createOwner(parent); - child.provide("value", 2); - parent.inject("value"); - child.inject("value"); - }); - - bench("interleaved append/remove", () => { - const root = createOwner(); - const nodes = []; - for (let i = 0; i < 1000; i++) { - const n = createOwner(root); - nodes.push(n); - if (i % 3 === 0) root.removeChild(n); - } - root.dispose(); - }); - - bench("simulate UI component tree (header/main/footer)", () => { - const root = createOwner(); - const header = createOwner(root); - const main = createOwner(root); - const footer = createOwner(root); - for (let i = 0; i < 500; i++) { - createOwner(header); - createOwner(main); - createOwner(footer); - } - root.dispose(); - }); - - bench("subscription cleanup pattern (100 subs)", () => { - const owner = createOwner(); - for (let i = 0; i < 100; i++) { - let active = true; - owner.onScopeCleanup(() => (active = false)); - } - owner.dispose(); - }); -}); diff --git a/packages/reflex/src/test/ownerhip.test.ts b/packages/reflex/tests/ownerhip.test.ts similarity index 97% rename from packages/reflex/src/test/ownerhip.test.ts rename to packages/reflex/tests/ownerhip.test.ts index 4cfeb00..27a24b3 100644 --- a/packages/reflex/src/test/ownerhip.test.ts +++ b/packages/reflex/tests/ownerhip.test.ts @@ -1,11 +1,11 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import { createOwner } from "#reflex/core/ownership/ownership.core.js"; -import { OwnershipStateFlags } from "#reflex/core/ownership/ownership.type.js"; -import { createOwnershipScope } from "#reflex/core/ownership/ownership.scope.js"; +import { createOwner } from "../src/core/ownership/ownership.core"; +import { createOwnershipScope } from "../src/core/ownership/ownership.scope"; +import { CLEAN, DISPOSED, DISPOSING } from "../src/core/ownership/ownership.type"; -const isClean = (o: any) => o._state === OwnershipStateFlags.CLEAN; -const isDisposed = (o: any) => o._state === OwnershipStateFlags.DISPOSED; -const isDisposing = (o: any) => o._state === OwnershipStateFlags.DISPOSING; +const isClean = (o: any) => o._state === CLEAN; +const isDisposed = (o: any) => o._state === DISPOSED; +const isDisposing = (o: any) => o._state === DISPOSING; const collectChildren = (owner: any) => { const arr: any[] = []; @@ -266,7 +266,7 @@ describe("OwnershipPrototype — Core Behavior", () => { owner.dispose(); - expect(stateSnapshot).toBe(OwnershipStateFlags.DISPOSING); + expect(stateSnapshot).toBe(DISPOSING); }); it("should be idempotent (multiple dispose calls safe)", () => { @@ -562,7 +562,7 @@ describe("OwnershipScope — Context Management", () => { }); }); }); - + expect(owners).toHaveLength(3); expect(owners[0]).toBeDefined(); expect(owners[1]._parent).toBe(owners[0]); diff --git a/packages/reflex/tests/ownership.bench.ts b/packages/reflex/tests/ownership.bench.ts new file mode 100644 index 0000000..472a70c --- /dev/null +++ b/packages/reflex/tests/ownership.bench.ts @@ -0,0 +1,138 @@ +// ownership.run.ts +// Стенд без Vitest. Чистый прогон операций Ownership для профилировщиков. +// Запуск для 0x: +// pnpm exec 0x -- node dist/tests/ownership.run.js +// или: +// node --require ts-node/register/transpile-only tests/ownership.run.ts + +import { createOwner } from "../src/core/ownership/ownership.core.js"; + +// =========================== +// helpers +// =========================== +function buildTree(depth: number, width: number) { + const root = createOwner(); + let layer = [root]; + + for (let d = 0; d < depth; d++) { + const next: any[] = []; + for (const parent of layer) { + for (let i = 0; i < width; i++) { + next.push(createOwner(parent)); + } + } + layer = next; + } + return root; +} + +// =========================== +// individual tasks +// =========================== + +function runCreate10000Children() { + const root = createOwner(); + for (let i = 0; i < 10_000; i++) createOwner(root); + root.dispose(); +} + +function runAppendRemoveMixed10000() { + const root = createOwner(); + const list = []; + for (let i = 0; i < 10_000; i++) { + const n = createOwner(root); + list.push(n); + if (i % 4 === 0) root.removeChild(n); + } + root.dispose(); +} + +function runLinear10000() { + let node = createOwner(); + const root = node; + for (let i = 0; i < 10_000; i++) node = createOwner(node); + root.dispose(); +} + +function runWide10000() { + const root = createOwner(); + for (let i = 0; i < 10_000; i++) createOwner(root); + root.dispose(); +} + +function runBalancedDeepTree() { + const root = buildTree(6, 10); // примерно 111k узлов + root.dispose(); +} + +function runContextPropagation10000() { + let node = createOwner(); + for (let i = 0; i < 10_000; i++) node = createOwner(node); + + node.provide("v", 123); + + let cur = node; + while (cur._parent) cur = cur._parent; + + cur.getContext(); +} + +function runContextOverride10000() { + const root = createOwner(); + root.provide("x", 1); + + for (let i = 0; i < 10_000; i++) { + const child = createOwner(root); + child.provide("x", i); + child.inject("x"); + root.inject("x"); + } +} + +function runRegisterCleanups10000() { + const owner = createOwner(); + for (let i = 0; i < 10_000; i++) { + owner.onScopeCleanup(() => {}); + } + owner.dispose(); +} + +function runRegisterAndDisposeLargeCleanups() { + const owner = createOwner(); + for (let i = 0; i < 10_000; i++) { + owner.onScopeCleanup(() => {}); + } + owner.dispose(); +} + +// =========================== +// Main workload +// =========================== + +console.log("Warmup..."); +for (let i = 0; i < 5; i++) { + runCreate10000Children(); + runLinear10000(); + runWide10000(); +} + +console.log("Running main 10k benchmark load..."); +for (let i = 0; i < 50; i++) runCreate10000Children(); + +for (let i = 0; i < 50; i++) runAppendRemoveMixed10000(); + +for (let i = 0; i < 20; i++) runLinear10000(); + +for (let i = 0; i < 20; i++) runWide10000(); + +for (let i = 0; i < 20; i++) runBalancedDeepTree(); + +for (let i = 0; i < 50; i++) runContextPropagation10000(); + +for (let i = 0; i < 50; i++) runContextOverride10000(); + +for (let i = 0; i < 20; i++) runRegisterCleanups10000(); + +for (let i = 0; i < 20; i++) runRegisterAndDisposeLargeCleanups(); + +console.log("Ownership run complete."); diff --git a/packages/reflex/tests/ownership.run.ts b/packages/reflex/tests/ownership.run.ts new file mode 100644 index 0000000..83f894e --- /dev/null +++ b/packages/reflex/tests/ownership.run.ts @@ -0,0 +1,30 @@ +// ownership.run.ts +// Чистый нагрузочный прогон без Vitest. +// Запускается через: +// pnpm exec 0x -- node --require ts-node/register/transpile-only tests/ownership.run.ts + +import { createOwner } from "../src/core/ownership/ownership.core.js"; + +function build1m() { + const root = createOwner(); + let layer = [root]; + + // 1 + 10 + 100 + 1000 + 10000 + 100000 + 1000000 = 1 111 111 узлов + for (let d = 0; d < 6; d++) { + const next = []; + for (const p of layer) { + for (let i = 0; i < 10; i++) { + next.push(createOwner(p)); + } + } + layer = next; + } + + root.dispose(); +} + +for (let i = 0; i < 10; i++) { + build1m(); +} + +console.log("bench_1m finished"); \ No newline at end of file diff --git a/packages/reflex/tsconfig.json b/packages/reflex/tsconfig.json index 14f03f5..9d2a17e 100644 --- a/packages/reflex/tsconfig.json +++ b/packages/reflex/tsconfig.json @@ -1,16 +1,21 @@ { "compilerOptions": { - "rootDir": "src", - "outDir": "dist", - "esModuleInterop": true, - "module": "NodeNext", - "moduleResolution": "NodeNext", "target": "ES2022", - "isolatedModules": true, + "module": "ESNext", + "moduleResolution": "bundler", "strict": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + "useUnknownInCatchVariables": true, + "skipLibCheck": true, "declaration": true, - "declarationMap": true + "declarationMap": true, + "sourceMap": true, + "outDir": "./dist", + "allowImportingTsExtensions": false, + "esModuleInterop": true, + "resolveJsonModule": true, + "isolatedModules": true }, - "include": ["src"], - "exclude": ["dist"] + "include": ["src", "tests", "test"] } diff --git a/third-party/rigidify/src/index.ts b/plugins/index.ts similarity index 100% rename from third-party/rigidify/src/index.ts rename to plugins/index.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d864e2d..f652b14 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,22 +7,44 @@ settings: importers: .: + dependencies: + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@24.9.1)(typescript@5.9.3) devDependencies: - '@types/jest': - specifier: ^30.0.0 - version: 30.0.0 - '@types/node': - specifier: ^24.9.1 - version: 24.9.1 - jest: - specifier: ^30.2.0 - version: 30.2.0(@types/node@24.9.1) - ts-jest: - specifier: ^29.4.5 - version: 29.4.5(@babel/core@7.28.5)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.5))(jest-util@30.2.0)(jest@30.2.0(@types/node@24.9.1))(typescript@5.9.3) + 0x: + specifier: ^6.0.0 + version: 6.0.0 + '@changesets/cli': + specifier: ^2.27.0 + version: 2.29.7(@types/node@24.9.1) + '@eslint/js': + specifier: ^9.0.0 + version: 9.39.1 + eslint: + specifier: ^9.0.0 + version: 9.39.1 + husky: + specifier: ^9.0.0 + version: 9.1.7 + lint-staged: + specifier: ^15.0.0 + version: 15.5.2 + prettier: + specifier: ^3.3.0 + version: 3.6.2 typescript: - specifier: 5.9.3 + specifier: ^5.6.0 version: 5.9.3 + typescript-eslint: + specifier: ^8.0.0 + version: 8.46.4(eslint@9.39.1)(typescript@5.9.3) + vite: + specifier: ^6.0.0 + version: 6.4.1(@types/node@24.9.1)(yaml@2.8.1) + vitest: + specifier: ^4.0.0 + version: 4.0.9(@types/node@24.9.1)(yaml@2.8.1) packages/reflex: {} @@ -33,199 +55,234 @@ importers: version: link:../reflex devDependencies: typescript: - specifier: 5.9.3 - version: 5.9.3 - - third-party/rigidify: - devDependencies: - eslint: - specifier: ^8.50.0 - version: 8.57.1 - rollup: - specifier: ^4.50.2 - version: 4.52.5 - rollup-plugin-typescript2: - specifier: ^0.36.0 - version: 0.36.0(rollup@4.52.5)(typescript@5.9.3) - typescript: - specifier: ^5.9.2 + specifier: ^5.3.9 version: 5.9.3 packages: - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} + 0x@6.0.0: + resolution: {integrity: sha512-4JrGHSPTaoEL3MZiKYH5BlNv67X2F48FmR3dKJZOoR/Z1CLVtVOwUb/n4PMf7B+sP9RPz+X50EbIFuwtfYguRQ==} + engines: {node: '>=8.5.0'} + hasBin: true - '@babel/compat-data@7.28.5': - resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} + '@babel/runtime@7.28.4': + resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} - '@babel/core@7.28.5': - resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} - engines: {node: '>=6.9.0'} + '@changesets/apply-release-plan@7.0.13': + resolution: {integrity: sha512-BIW7bofD2yAWoE8H4V40FikC+1nNFEKBisMECccS16W1rt6qqhNTBDmIw5HaqmMgtLNz9e7oiALiEUuKrQ4oHg==} - '@babel/generator@7.28.5': - resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} - engines: {node: '>=6.9.0'} + '@changesets/assemble-release-plan@6.0.9': + resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} - '@babel/helper-compilation-targets@7.27.2': - resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} - engines: {node: '>=6.9.0'} + '@changesets/changelog-git@0.2.1': + resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} + '@changesets/cli@2.29.7': + resolution: {integrity: sha512-R7RqWoaksyyKXbKXBTbT4REdy22yH81mcFK6sWtqSanxUCbUi9Uf+6aqxZtDQouIqPdem2W56CdxXgsxdq7FLQ==} + hasBin: true - '@babel/helper-module-imports@7.27.1': - resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} - engines: {node: '>=6.9.0'} + '@changesets/config@3.1.1': + resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==} - '@babel/helper-module-transforms@7.28.3': - resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@changesets/errors@0.2.0': + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@babel/helper-plugin-utils@7.27.1': - resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} - engines: {node: '>=6.9.0'} + '@changesets/get-dependents-graph@2.1.3': + resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} + '@changesets/get-release-plan@4.0.13': + resolution: {integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==} - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} + '@changesets/get-version-range-type@0.4.0': + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} - engines: {node: '>=6.9.0'} + '@changesets/git@3.0.4': + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} - '@babel/helpers@7.28.4': - resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} - engines: {node: '>=6.9.0'} + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - '@babel/parser@7.28.5': - resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} - engines: {node: '>=6.0.0'} - hasBin: true + '@changesets/parse@0.4.1': + resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==} - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/pre@2.0.2': + resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - '@babel/plugin-syntax-bigint@7.8.3': - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/read@0.6.5': + resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==} - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/should-skip-package@0.1.2': + resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/types@4.1.0': + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - '@babel/plugin-syntax-import-attributes@7.27.1': - resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/types@6.1.0': + resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/write@0.4.0': + resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} - '@babel/plugin-syntax-jsx@7.27.1': - resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] - '@babel/plugin-syntax-typescript@7.27.1': - resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] - '@babel/template@7.27.2': - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] - '@babel/traverse@7.28.5': - resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - '@babel/types@7.28.5': - resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] - '@emnapi/core@1.7.0': - resolution: {integrity: sha512-pJdKGq/1iquWYtv1RRSljZklxHCOCAJFJrImO5ZLKPJVJlVUcs8yFwNQlqS0Lo8xT1VAXXTCZocF9n26FWEKsw==} + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] - '@emnapi/runtime@1.7.0': - resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==} + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] - '@emnapi/wasi-threads@1.1.0': - resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] '@eslint-community/eslint-utils@4.9.0': resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} @@ -237,127 +294,59 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - - '@jest/console@30.2.0': - resolution: {integrity: sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@jest/core@30.2.0': - resolution: {integrity: sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@jest/diff-sequences@30.0.1': - resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@jest/environment@30.2.0': - resolution: {integrity: sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@eslint/js@9.39.1': + resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@jest/expect-utils@30.2.0': - resolution: {integrity: sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@jest/expect@30.2.0': - resolution: {integrity: sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@jest/fake-timers@30.2.0': - resolution: {integrity: sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} - '@jest/get-type@30.1.0': - resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} - '@jest/globals@30.2.0': - resolution: {integrity: sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} - '@jest/pattern@30.0.1': - resolution: {integrity: sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} - '@jest/reporters@30.2.0': - resolution: {integrity: sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + '@types/node': '>=18' peerDependenciesMeta: - node-notifier: + '@types/node': optional: true - '@jest/schemas@30.0.5': - resolution: {integrity: sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/snapshot-utils@30.2.0': - resolution: {integrity: sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/source-map@30.0.1': - resolution: {integrity: sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/test-result@30.2.0': - resolution: {integrity: sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/test-sequencer@30.2.0': - resolution: {integrity: sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/transform@30.2.0': - resolution: {integrity: sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/types@30.2.0': - resolution: {integrity: sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -365,11 +354,14 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@napi-rs/wasm-runtime@0.2.12': - resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + '@manypkg/find-root@1.1.0': + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + + '@manypkg/get-packages@1.1.3': + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -383,18 +375,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@pkgr/core@0.2.9': - resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - - '@rollup/pluginutils@4.2.1': - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} - '@rollup/rollup-android-arm-eabi@4.52.5': resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} cpu: [arm] @@ -505,160 +485,152 @@ packages: cpu: [x64] os: [win32] - '@sinclair/typebox@0.34.41': - resolution: {integrity: sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==} - - '@sinonjs/commons@3.0.1': - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + '@standard-schema/spec@1.0.0': + resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - '@sinonjs/fake-timers@13.0.5': - resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} + '@tsconfig/node10@1.0.12': + resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - '@types/babel__generator@7.27.0': - resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - '@types/babel__traverse@7.28.0': - resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/jest@30.0.0': - resolution: {integrity: sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==} + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} '@types/node@24.9.1': resolution: {integrity: sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==} - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.34': - resolution: {integrity: sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==} - - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - - '@unrs/resolver-binding-android-arm-eabi@1.11.1': - resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} - cpu: [arm] - os: [android] - - '@unrs/resolver-binding-android-arm64@1.11.1': - resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==} - cpu: [arm64] - os: [android] + '@typescript-eslint/eslint-plugin@8.46.4': + resolution: {integrity: sha512-R48VhmTJqplNyDxCyqqVkFSZIx1qX6PzwqgcXn1olLrzxcSBDlOsbtcnQuQhNtnNiJ4Xe5gREI1foajYaYU2Vg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.46.4 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@unrs/resolver-binding-darwin-arm64@1.11.1': - resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==} - cpu: [arm64] - os: [darwin] + '@typescript-eslint/parser@8.46.4': + resolution: {integrity: sha512-tK3GPFWbirvNgsNKto+UmB/cRtn6TZfyw0D6IKrW55n6Vbs7KJoZtI//kpTKzE/DUmmnAFD8/Ca46s7Obs92/w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@unrs/resolver-binding-darwin-x64@1.11.1': - resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==} - cpu: [x64] - os: [darwin] + '@typescript-eslint/project-service@8.46.4': + resolution: {integrity: sha512-nPiRSKuvtTN+no/2N1kt2tUh/HoFzeEgOm9fQ6XQk4/ApGqjx0zFIIaLJ6wooR1HIoozvj2j6vTi/1fgAz7UYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' - '@unrs/resolver-binding-freebsd-x64@1.11.1': - resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==} - cpu: [x64] - os: [freebsd] + '@typescript-eslint/scope-manager@8.46.4': + resolution: {integrity: sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': - resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==} - cpu: [arm] - os: [linux] + '@typescript-eslint/tsconfig-utils@8.46.4': + resolution: {integrity: sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': - resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==} - cpu: [arm] - os: [linux] + '@typescript-eslint/type-utils@8.46.4': + resolution: {integrity: sha512-V4QC8h3fdT5Wro6vANk6eojqfbv5bpwHuMsBcJUJkqs2z5XnYhJzyz9Y02eUmF9u3PgXEUiOt4w4KHR3P+z0PQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': - resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} - cpu: [arm64] - os: [linux] + '@typescript-eslint/types@8.46.4': + resolution: {integrity: sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': - resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} - cpu: [arm64] - os: [linux] + '@typescript-eslint/typescript-estree@8.46.4': + resolution: {integrity: sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': - resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} - cpu: [ppc64] - os: [linux] + '@typescript-eslint/utils@8.46.4': + resolution: {integrity: sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': - resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} - cpu: [riscv64] - os: [linux] + '@typescript-eslint/visitor-keys@8.46.4': + resolution: {integrity: sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': - resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} - cpu: [riscv64] - os: [linux] + '@vitest/expect@4.0.9': + resolution: {integrity: sha512-C2vyXf5/Jfj1vl4DQYxjib3jzyuswMi/KHHVN2z+H4v16hdJ7jMZ0OGe3uOVIt6LyJsAofDdaJNIFEpQcrSTFw==} - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': - resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} - cpu: [s390x] - os: [linux] + '@vitest/mocker@4.0.9': + resolution: {integrity: sha512-PUyaowQFHW+9FKb4dsvvBM4o025rWMlEDXdWRxIOilGaHREYTi5Q2Rt9VCgXgPy/hHZu1LeuXtrA/GdzOatP2g==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': - resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} - cpu: [x64] - os: [linux] + '@vitest/pretty-format@4.0.9': + resolution: {integrity: sha512-Hor0IBTwEi/uZqB7pvGepyElaM8J75pYjrrqbC8ZYMB9/4n5QA63KC15xhT+sqHpdGWfdnPo96E8lQUxs2YzSQ==} - '@unrs/resolver-binding-linux-x64-musl@1.11.1': - resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} - cpu: [x64] - os: [linux] + '@vitest/runner@4.0.9': + resolution: {integrity: sha512-aF77tsXdEvIJRkj9uJZnHtovsVIx22Ambft9HudC+XuG/on1NY/bf5dlDti1N35eJT+QZLb4RF/5dTIG18s98w==} - '@unrs/resolver-binding-wasm32-wasi@1.11.1': - resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] + '@vitest/snapshot@4.0.9': + resolution: {integrity: sha512-r1qR4oYstPbnOjg0Vgd3E8ADJbi4ditCzqr+Z9foUrRhIy778BleNyZMeAJ2EjV+r4ASAaDsdciC9ryMy8xMMg==} - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': - resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==} - cpu: [arm64] - os: [win32] + '@vitest/spy@4.0.9': + resolution: {integrity: sha512-J9Ttsq0hDXmxmT8CUOWUr1cqqAj2FJRGTdyEjSR+NjoOGKEqkEWj+09yC0HhI8t1W6t4Ctqawl1onHgipJve1A==} - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': - resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==} - cpu: [ia32] - os: [win32] + '@vitest/utils@4.0.9': + resolution: {integrity: sha512-cEol6ygTzY4rUPvNZM19sDf7zGa35IYTm9wfzkHoT/f5jX10IOY7QleWSOh5T0e3I3WVozwK5Asom79qW8DiuQ==} - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': - resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==} - cpu: [x64] - os: [win32] + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-node@1.8.2: + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + + acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -667,9 +639,20 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@7.2.0: + resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} + engines: {node: '>=18'} + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -679,21 +662,20 @@ packages: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - ansi-styles@6.2.3: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -701,37 +683,39 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - babel-jest@30.2.0: - resolution: {integrity: sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 || ^8.0.0-0 + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} - babel-plugin-istanbul@7.0.1: - resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==} - engines: {node: '>=12'} + asn1.js@4.10.1: + resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} - babel-plugin-jest-hoist@30.2.0: - resolution: {integrity: sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + assert@1.5.1: + resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} - babel-preset-current-node-syntax@1.2.0: - resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} - peerDependencies: - '@babel/core': ^7.0.0 || ^8.0.0-0 + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} - babel-preset-jest@30.2.0: - resolution: {integrity: sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 || ^8.0.0-beta.1 + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - baseline-browser-mapping@2.8.25: - resolution: {integrity: sha512-2NovHVesVF5TXefsGX1yzx1xgr7+m9JQenvz6FQY3qd+YXkKkYiv+vTCc7OriP9mcDZpTC5mAOYN4ocd29+erA==} - hasBin: true + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + better-path-resolve@1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + + bn.js@4.12.2: + resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} + + bn.js@5.2.2: + resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -743,61 +727,116 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.27.0: - resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browser-pack@6.1.0: + resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==} hasBin: true - bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} + browser-process-hrtime@0.1.3: + resolution: {integrity: sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==} - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + browser-resolve@2.0.0: + resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.1: + resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} + engines: {node: '>= 0.10'} + + browserify-sign@4.2.5: + resolution: {integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==} + engines: {node: '>= 0.10'} + + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + + browserify@17.0.1: + resolution: {integrity: sha512-pxhT00W3ylMhCHwG5yfqtZjNnFuX5h2IJdaBfSo4ChaaBsIp9VLrEMQ1bHV+Xr1uLPXuNDDM1GlJkjli0qkRsw==} + engines: {node: '>= 0.8'} + hasBin: true buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + buffer@5.2.1: + resolution: {integrity: sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==} + + builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + + cached-path-relative@1.1.0: + resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + camel-case@3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} + chai@6.2.1: + resolution: {integrity: sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==} + engines: {node: '>=18'} - caniuse-lite@1.0.30001754: - resolution: {integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==} + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - ci-info@4.3.1: - resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - cjs-module-lexer@2.1.0: - resolution: {integrity: sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA==} + cipher-base@1.0.7: + resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} + engines: {node: '>= 0.10'} - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} - co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} - collect-v8-coverage@1.0.3: - resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} + code-point-at@1.1.0: + resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} + engines: {node: '>=0.10.0'} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -806,19 +845,122 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combine-source-map@0.8.0: + resolution: {integrity: sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==} + + commander@13.1.0: + resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} + engines: {node: '>=18'} concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + + concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + + console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + + constants-browserify@1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + + convert-source-map@1.1.3: + resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crypto-browserify@3.12.1: + resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} + engines: {node: '>= 0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-color@1.4.1: + resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==} + + d3-color@2.0.0: + resolution: {integrity: sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==} + + d3-dispatch@1.0.6: + resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==} + + d3-drag@1.2.5: + resolution: {integrity: sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==} + + d3-ease@1.0.7: + resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==} + + d3-fg@6.14.0: + resolution: {integrity: sha512-M4QpFZOEvAq4ZDzwabJp2inL+KXS85T2SQl00zWwjnolaCJR+gHxUbT7Ha4GxTeW1NXwzbykhv/38I1fxQqbyg==} + + d3-format@2.0.0: + resolution: {integrity: sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==} + + d3-hierarchy@1.1.9: + resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==} + + d3-interpolate@1.4.0: + resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==} + + d3-interpolate@2.0.1: + resolution: {integrity: sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==} + + d3-scale@3.3.0: + resolution: {integrity: sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==} + + d3-selection@1.4.2: + resolution: {integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==} + + d3-time-format@3.0.0: + resolution: {integrity: sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==} + + d3-time@2.1.1: + resolution: {integrity: sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==} + + d3-timer@1.0.10: + resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==} + + d3-transition@1.3.2: + resolution: {integrity: sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==} + + d3-zoom@1.8.3: + resolution: {integrity: sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==} + + dash-ast@1.0.0: + resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -828,77 +970,134 @@ packages: supports-color: optional: true - dedent@1.7.0: - resolution: {integrity: sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + defined@1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + + deps-sort@2.0.1: + resolution: {integrity: sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==} + hasBin: true - detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + + detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + detective@5.2.1: + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} + hasBin: true - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} - electron-to-chromium@1.5.245: - resolution: {integrity: sha512-rdmGfW47ZhL/oWEJAY4qxRtdly2B98ooTJ0pdEI4jhVLZ6tNf8fPtov2wS1IRKwFJT92le3x4Knxiwzl7cPPpQ==} + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} - emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + domain-browser@1.2.0: + resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} + engines: {node: '>=0.4', npm: '>=1.2'} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} - error-ex@1.3.4: - resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + duplexer2@0.1.4: + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} + duplexify@4.1.3: + resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + env-string@1.0.1: + resolution: {integrity: sha512-/DhCJDf5DSFK32joQiWRpWrT0h7p3hVQfMKxiBb7Nt8C8IF8BYyPtclDnuGGLOoj16d/8udKeiE7JbkotDmorQ==} + + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.39.1: + resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -917,52 +1116,79 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + estree-is-member-expression@1.0.0: + resolution: {integrity: sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - exit-x@0.2.2: - resolution: {integrity: sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==} - engines: {node: '>= 0.8.0'} + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} - expect@30.2.0: - resolution: {integrity: sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + execspawn@1.0.1: + resolution: {integrity: sha512-s2k06Jy9i8CUkYe0+DxRlvtkZoOkwwfhB+Xxo5HGUtrISVW2m98jO2tr67DGRFxZwkjQqloA3v/tNtjhBRBieg==} + + expect-type@1.2.2: + resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} + engines: {node: '>=12.0.0'} + + extendable-error@0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -971,21 +1197,29 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -994,37 +1228,55 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} + get-assigned-identifiers@1.2.0: + resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==} - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + get-east-asian-width@1.4.0: + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + engines: {node: '>=18'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -1032,233 +1284,200 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - import-local@3.2.0: - resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} - engines: {node: '>=8'} - hasBin: true + hash-base@3.0.5: + resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} + engines: {node: '>= 0.10'} - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + hash-base@3.1.2: + resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} + engines: {node: '>= 0.8'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + hsl-to-rgb-for-reals@1.1.1: + resolution: {integrity: sha512-LgOWAkrN0rFaQpfdWBQlv/VhkOxb5AsBjk6NQVx4yEzWS923T07X0M1Y0VNko2H52HeSpZrZNNMJ0aFqsdVzQg==} - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + htmlescape@1.1.1: + resolution: {integrity: sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==} + engines: {node: '>=0.10'} - is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} + https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + human-id@4.1.2: + resolution: {integrity: sha512-v/J+4Z/1eIJovEBdlV5TYj1IR+ZiohcYGRY+qN/oC9dAfKzVT023N/Bgw37hrKCoVRBvk3bqyzpr2PP5YeTMSg==} + hasBin: true - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + husky@9.1.7: + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} + engines: {node: '>=18'} + hasBin: true - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + hyperscript-attribute-to-property@1.0.2: + resolution: {integrity: sha512-oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA==} - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + hyperx@2.5.4: + resolution: {integrity: sha512-iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==} - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} - istanbul-lib-instrument@6.0.3: - resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} - engines: {node: '>=10'} + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} - istanbul-lib-source-maps@5.0.6: - resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} - engines: {node: '>=10'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} - istanbul-reports@3.2.0: - resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} - engines: {node: '>=8'} + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - jest-changed-files@30.2.0: - resolution: {integrity: sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - jest-circus@30.2.0: - resolution: {integrity: sha512-Fh0096NC3ZkFx05EP2OXCxJAREVxj1BcW/i6EWqqymcgYKWjyyDpral3fMxVcHXg6oZM7iULer9wGRFvfpl+Tg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + inline-source-map@0.6.3: + resolution: {integrity: sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==} - jest-cli@30.2.0: - resolution: {integrity: sha512-Os9ukIvADX/A9sLt6Zse3+nmHtHaE6hqOsjQtNiugFTbKRHYIYtZXNGNK9NChseXy7djFPjndX1tL0sCTlfpAA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + insert-module-globals@7.2.1: + resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==} hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - jest-config@30.2.0: - resolution: {integrity: sha512-g4WkyzFQVWHtu6uqGmQR4CQxz/CH3yDSlhzXMWzNjDx843gYjReZnMRanjRCq5XZFuQrGDxgUaiYWE8BRfVckA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@types/node': '*' - esbuild-register: '>=3.4.0' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - esbuild-register: - optional: true - ts-node: - optional: true + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - jest-diff@30.2.0: - resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} - jest-docblock@30.2.0: - resolution: {integrity: sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-boolean-attribute@0.0.1: + resolution: {integrity: sha512-0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w==} - jest-each@30.2.0: - resolution: {integrity: sha512-lpWlJlM7bCUf1mfmuqTA8+j2lNURW9eNafOy99knBM01i5CQeY5UH1vZjgT9071nDJac1M4XsbyI44oNOdhlDQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - jest-environment-node@30.2.0: - resolution: {integrity: sha512-ElU8v92QJ9UrYsKrxDIKCxu6PfNj4Hdcktcn0JX12zqNdqWHB0N+hwOnnBBXvjLd2vApZtuLUGs1QSY+MsXoNA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} - jest-haste-map@30.2.0: - resolution: {integrity: sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} - jest-leak-detector@30.2.0: - resolution: {integrity: sha512-M6jKAjyzjHG0SrQgwhgZGy9hFazcudwCNovY/9HPIicmNSBuockPSedAP9vlPK6ONFJ1zfyH/M2/YYJxOz5cdQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} - jest-matcher-utils@30.2.0: - resolution: {integrity: sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} - jest-message-util@30.2.0: - resolution: {integrity: sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-fullwidth-code-point@1.0.0: + resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} + engines: {node: '>=0.10.0'} - jest-mock@30.2.0: - resolution: {integrity: sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} - jest-pnp-resolver@1.2.3: - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true + is-fullwidth-code-point@5.1.0: + resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} + engines: {node: '>=18'} - jest-regex-util@30.0.1: - resolution: {integrity: sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} - jest-resolve-dependencies@30.2.0: - resolution: {integrity: sha512-xTOIGug/0RmIe3mmCqCT95yO0vj6JURrn1TKWlNbhiAefJRWINNPgwVkrVgt/YaerPzY3iItufd80v3lOrFJ2w==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} - jest-resolve@30.2.0: - resolution: {integrity: sha512-TCrHSxPlx3tBY3hWNtRQKbtgLhsXa1WmbJEqBlTBrGafd5fiQFByy2GNCEoGR+Tns8d15GaL9cxEzKOO3GEb2A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} - jest-runner@30.2.0: - resolution: {integrity: sha512-PqvZ2B2XEyPEbclp+gV6KO/F1FIFSbIwewRgmROCMBo/aZ6J1w8Qypoj2pEOcg3G2HzLlaP6VUtvwCI8dM3oqQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} - jest-runtime@30.2.0: - resolution: {integrity: sha512-p1+GVX/PJqTucvsmERPMgCPvQJpFt4hFbM+VN3n8TMo47decMUcJbt+rgzwrEme0MQUA/R+1de2axftTHkKckg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - jest-snapshot@30.2.0: - resolution: {integrity: sha512-5WEtTy2jXPFypadKNpbNkZ72puZCa6UjSr/7djeecHWOu7iYhSXSnHScT8wBz3Rn8Ena5d5RYRcsyKIeqG1IyA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-subdir@1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} - jest-util@30.2.0: - resolution: {integrity: sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} - jest-validate@30.2.0: - resolution: {integrity: sha512-FBGWi7dP2hpdi8nBoWxSsLvBFewKAg0+uSQwBaof4Y4DPgBabXgpSYC5/lR7VmnIlSpASmCi/ntRWPbv7089Pw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} - jest-watcher@30.2.0: - resolution: {integrity: sha512-PYxa28dxJ9g777pGm/7PrbnMeA0Jr7osHP9bS7eJy9DuAjMgdGtxgf0uKMyoIsTWAkIbUW5hSDdJ3urmgXBqxg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + is-wsl@1.1.0: + resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} + engines: {node: '>=4'} - jest-worker@30.2.0: - resolution: {integrity: sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - jest@30.2.0: - resolution: {integrity: sha512-F26gjC0yWN8uAA5m5Ss8ZQf5nDHWGlN/xWZIh8S5SRbsEKBovwZhxGd6LJlbZYxBgCYOtreSUyb8hpXyGC5O4A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} @@ -1268,44 +1487,55 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + jsonstream2@3.0.0: + resolution: {integrity: sha512-8ngq2XB8NjYrpe3+Xtl9lFJl6RoV2dNT4I7iyaHwxUpTBwsj0AlAR7epGfeYVP0z4Z7KxMoSxRgJWrd2jmBT/Q==} + engines: {node: '>=5.10.0'} + hasBin: true + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} + labeled-stream-splicer@2.0.2: + resolution: {integrity: sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==} levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lint-staged@15.5.2: + resolution: {integrity: sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==} + engines: {node: '>=18.12.0'} + hasBin: true + + listr2@8.3.3: + resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} + engines: {node: '>=18.0.0'} locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} @@ -1315,42 +1545,73 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + lodash.memoize@3.0.4: + resolution: {integrity: sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==} lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} + + lower-case@1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} + + magic-string@0.23.2: + resolution: {integrity: sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + + merge-source-map@1.0.4: + resolution: {integrity: sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -1362,49 +1623,105 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + module-deps@6.2.3: + resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==} + engines: {node: '>= 0.8.0'} + hasBin: true + + morphdom@2.7.7: + resolution: {integrity: sha512-04GmsiBcalrSCNmzfo+UjU8tt3PhZJKzcOy+r1FlGA7/zri8wre3I1WkYN9PT3sIeIKfW9bpyElA+VzOg2E24g==} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - napi-postinstall@0.3.4: - resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + mutexify@1.4.0: + resolution: {integrity: sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==} + + nanoassert@1.1.0: + resolution: {integrity: sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==} + + nanobench@2.1.1: + resolution: {integrity: sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==} + hasBin: true + + nanohtml@1.10.0: + resolution: {integrity: sha512-r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + no-case@2.3.2: + resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + normalize-html-whitespace@0.2.0: + resolution: {integrity: sha512-5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw==} + engines: {node: '>= 0.10'} - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + number-is-nan@1.0.1: + resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} engines: {node: '>=0.10.0'} - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + on-net-listen@1.1.2: + resolution: {integrity: sha512-y1HRYy8s/RlcBvDUwKXSmkODMdx4KSuIvloCnQYJ2LdBBC1asY4HtfhXwe3UWknLakATZDnbzht2Ijw3M1EqFg==} + engines: {node: '>=9.4.0 || ^8.9.4'} once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + opn@5.5.0: + resolution: {integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==} + engines: {node: '>=4'} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + + outdent@0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + + p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -1421,20 +1738,33 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-manager-detector@0.2.11: + resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parents@1.0.1: + resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==} + + parse-asn1@5.1.9: + resolution: {integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==} + engines: {node: '>= 0.10'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} @@ -1448,9 +1778,27 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-platform@0.11.15: + resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==} + engines: {node: '>= 0.8.0'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + pbkdf2@3.1.5: + resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} + engines: {node: '>= 0.10'} picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1463,42 +1811,104 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - pretty-format@30.2.0: - resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + engines: {node: '>=14'} + hasBin: true + + pretty-hrtime@1.0.3: + resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} + engines: {node: '>= 0.8'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} + + pumpify@2.0.1: + resolution: {integrity: sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - pure-rand@7.0.1: - resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==} + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} + + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + + querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + + read-only-stream@2.0.0: + resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==} + + read-yaml-file@1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} @@ -1508,20 +1918,25 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup-plugin-typescript2@0.36.0: - resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==} - peerDependencies: - rollup: '>=1.26.3' - typescript: '>=2.4.0' + ripemd160@2.0.3: + resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} + engines: {node: '>= 0.8'} rollup@4.52.5: resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} @@ -1531,6 +1946,19 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -1540,6 +1968,19 @@ packages: engines: {node: '>=10'} hasBin: true + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + sha.js@2.4.12: + resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} + engines: {node: '>= 0.10'} + hasBin: true + + shasum-object@1.0.1: + resolution: {integrity: sha512-SsC+1tW7XKQ/94D4k1JhLmjDFpVGET/Nf54jVDtbavbALf8Zhp0Td9zTlxScjMW6nbEIrpADtPWfLk9iCXzHDQ==} + hasBin: true + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1548,42 +1989,115 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + single-line-log@1.1.2: + resolution: {integrity: sha512-awzaaIPtYFdexLr6TBpcZSGPB6D1RInNO/qNetgaJloPDF/D0GkVtLvGEp8InfmLV7CyLyQ5fIRP+tVN/JmWQA==} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.2: + resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} + engines: {node: '>=18'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + + spawndamnit@3.0.1: + resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + stream-combiner2@1.1.1: + resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} + + stream-http@3.2.0: + resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + + stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + + stream-splicer@2.0.1: + resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-width@1.0.2: + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} + engines: {node: '>=0.10.0'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} @@ -1593,171 +2107,291 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + subarg@1.0.0: + resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + syntax-error@1.4.0: + resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==} - synckit@0.11.11: - resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} - engines: {node: ^14.18.0 || >=16.0.0} + tachyons@4.12.0: + resolution: {integrity: sha512-2nA2IrYFy3raCM9fxJ2KODRGHVSZNTW3BR0YnlGsLUf1DA3pk3YfWZ/DdfbnZK6zLZS+jUenlUGJsKcA5fUiZg==} - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + + through2@3.0.2: + resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} + + through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + timers-browserify@1.4.2: + resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} + engines: {node: '>=0.6.0'} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + tinyrainbow@3.0.3: + resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} + engines: {node: '>=14.0.0'} + + to-buffer@1.2.2: + resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} + engines: {node: '>= 0.4'} to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - ts-jest@29.4.5: - resolution: {integrity: sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q==} - engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} + transform-ast@2.4.4: + resolution: {integrity: sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==} + + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 || ^30.0.0 - '@jest/types': ^29.0.0 || ^30.0.0 - babel-jest: ^29.0.0 || ^30.0.0 - esbuild: '*' - jest: ^29.0.0 || ^30.0.0 - jest-util: ^29.0.0 || ^30.0.0 - typescript: '>=4.3 <6' + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/transform': + '@swc/core': optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - jest-util: + '@swc/wasm': optional: true - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tty-browserify@0.0.1: + resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} + type-component@0.0.1: + resolution: {integrity: sha512-mDZRBQS2yZkwRQKfjJvQ8UIYJeBNNWCq+HBNstl9N5s9jZ4dkVYXEGkVPsSCEh5Ld4JM1kmrZTzjnrqSAIQ7dw==} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} + typescript-eslint@8.46.4: + resolution: {integrity: sha512-KALyxkpYV5Ix7UhvjTwJXZv76VWsHG+NjNlt/z+a17SOQSiOcBdUXdbJdyXi7RPxrBFECtFOiPwUJQusJuCqrg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} + umd@3.0.3: + resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==} + hasBin: true + + undeclared-identifiers@1.1.3: + resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} hasBin: true undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unrs-resolver@1.11.1: - resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} + upper-case@1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url@0.11.4: + resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} + engines: {node: '>= 0.4'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util-extend@1.0.3: + resolution: {integrity: sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA==} + + util@0.10.4: + resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - update-browserslist-db@1.1.4: - resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + vite@6.4.1: + resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - browserslist: '>= 4.21.0' + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + vitest@4.0.9: + resolution: {integrity: sha512-E0Ja2AX4th+CG33yAFRC+d1wFx2pzU5r6HtG6LiPSE04flaE0qB6YyjSw9ZcpJAtVPfsvZGtJlKWZpuW7EHRxg==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/debug': ^4.1.12 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.0.9 + '@vitest/browser-preview': 4.0.9 + '@vitest/browser-webdriverio': 4.0.9 + '@vitest/ui': 4.0.9 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/debug': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true - v8-to-istanbul@9.3.0: - resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} - engines: {node: '>=10.12.0'} + vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write-file-atomic@5.0.1: - resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} + hasBin: true - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -1765,469 +2399,355 @@ packages: snapshots: - '@babel/code-frame@7.27.1': + 0x@6.0.0: dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.28.5': {} - - '@babel/core@7.28.5': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helpers': 7.28.4 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 + ajv: 8.17.1 + browserify: 17.0.1 + concat-stream: 2.0.0 + d3-fg: 6.14.0 + debounce: 1.2.1 debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 + end-of-stream: 1.4.5 + env-string: 1.0.1 + escape-string-regexp: 4.0.0 + execspawn: 1.0.1 + fs-extra: 10.1.0 + has-unicode: 2.0.1 + hsl-to-rgb-for-reals: 1.1.1 + jsonstream2: 3.0.0 + make-dir: 3.1.0 + minimist: 1.2.8 + morphdom: 2.7.7 + nanohtml: 1.10.0 + on-net-listen: 1.1.2 + opn: 5.5.0 + pump: 3.0.3 + pumpify: 2.0.1 + semver: 7.7.3 + single-line-log: 1.1.2 + split2: 4.2.0 + tachyons: 4.12.0 + through2: 4.0.2 + which: 2.0.2 transitivePeerDependencies: - supports-color - '@babel/generator@7.28.5': - dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 + '@babel/runtime@7.28.4': {} + + '@changesets/apply-release-plan@7.0.13': + dependencies: + '@changesets/config': 3.1.1 + '@changesets/get-version-range-type': 0.4.0 + '@changesets/git': 3.0.4 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.8 + resolve-from: 5.0.0 + semver: 7.7.3 - '@babel/helper-compilation-targets@7.27.2': + '@changesets/assemble-release-plan@6.0.9': dependencies: - '@babel/compat-data': 7.28.5 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.27.0 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-globals@7.28.0': {} + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + semver: 7.7.3 - '@babel/helper-module-imports@7.27.1': - dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@changesets/changelog-git@0.2.1': + dependencies: + '@changesets/types': 6.1.0 + + '@changesets/cli@2.29.7(@types/node@24.9.1)': + dependencies: + '@changesets/apply-release-plan': 7.0.13 + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/changelog-git': 0.2.1 + '@changesets/config': 3.1.1 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-release-plan': 4.0.13 + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.5 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@changesets/write': 0.4.0 + '@inquirer/external-editor': 1.0.3(@types/node@24.9.1) + '@manypkg/get-packages': 1.1.3 + ansi-colors: 4.1.3 + ci-info: 3.9.0 + enquirer: 2.4.1 + fs-extra: 7.0.1 + mri: 1.2.0 + p-limit: 2.3.0 + package-manager-detector: 0.2.11 + picocolors: 1.1.1 + resolve-from: 5.0.0 + semver: 7.7.3 + spawndamnit: 3.0.1 + term-size: 2.2.1 transitivePeerDependencies: - - supports-color + - '@types/node' - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + '@changesets/config@3.1.1': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-plugin-utils@7.27.1': {} - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.28.5': {} - - '@babel/helper-validator-option@7.27.1': {} + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/logger': 0.1.1 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.8 - '@babel/helpers@7.28.4': + '@changesets/errors@0.2.0': dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 + extendable-error: 0.1.7 - '@babel/parser@7.28.5': + '@changesets/get-dependents-graph@2.1.3': dependencies: - '@babel/types': 7.28.5 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + picocolors: 1.1.1 + semver: 7.7.3 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.5)': + '@changesets/get-release-plan@4.0.13': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/config': 3.1.1 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.5 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/get-version-range-type@0.4.0': {} - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.5)': + '@changesets/git@3.0.4': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/errors': 0.2.0 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.8 + spawndamnit: 3.0.1 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.5)': + '@changesets/logger@0.1.1': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + picocolors: 1.1.1 - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': + '@changesets/parse@0.4.1': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/types': 6.1.0 + js-yaml: 3.14.1 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.5)': + '@changesets/pre@2.0.2': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/errors': 0.2.0 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.5)': + '@changesets/read@0.6.5': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/parse': 0.4.1 + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + p-filter: 2.1.0 + picocolors: 1.1.1 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': + '@changesets/should-skip-package@0.1.2': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/types@4.1.0': {} - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/types@6.1.0': {} - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.5)': + '@changesets/write@0.4.0': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + human-id: 4.1.2 + prettier: 2.8.8 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.5)': + '@cspotcode/source-map-support@0.8.1': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@jridgewell/trace-mapping': 0.3.9 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/aix-ppc64@0.25.12': + optional: true - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/android-arm64@0.25.12': + optional: true - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/android-arm@0.25.12': + optional: true - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/android-x64@0.25.12': + optional: true - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/darwin-arm64@0.25.12': + optional: true - '@babel/template@7.27.2': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@esbuild/darwin-x64@0.25.12': + optional: true - '@babel/traverse@7.28.5': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color + '@esbuild/freebsd-arm64@0.25.12': + optional: true - '@babel/types@7.28.5': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@esbuild/freebsd-x64@0.25.12': + optional: true - '@bcoe/v8-coverage@0.2.3': {} + '@esbuild/linux-arm64@0.25.12': + optional: true - '@emnapi/core@1.7.0': - dependencies: - '@emnapi/wasi-threads': 1.1.0 - tslib: 2.8.1 + '@esbuild/linux-arm@0.25.12': optional: true - '@emnapi/runtime@1.7.0': - dependencies: - tslib: 2.8.1 + '@esbuild/linux-ia32@0.25.12': optional: true - '@emnapi/wasi-threads@1.1.0': - dependencies: - tslib: 2.8.1 + '@esbuild/linux-loong64@0.25.12': optional: true - '@eslint-community/eslint-utils@4.9.0(eslint@8.57.1)': - dependencies: - eslint: 8.57.1 - eslint-visitor-keys: 3.4.3 + '@esbuild/linux-mips64el@0.25.12': + optional: true - '@eslint-community/regexpp@4.12.2': {} + '@esbuild/linux-ppc64@0.25.12': + optional: true - '@eslint/eslintrc@2.1.4': - dependencies: - ajv: 6.12.6 - debug: 4.4.3 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color + '@esbuild/linux-riscv64@0.25.12': + optional: true - '@eslint/js@8.57.1': {} + '@esbuild/linux-s390x@0.25.12': + optional: true - '@humanwhocodes/config-array@0.13.0': - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.3 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@esbuild/linux-x64@0.25.12': + optional: true - '@humanwhocodes/module-importer@1.0.1': {} + '@esbuild/netbsd-arm64@0.25.12': + optional: true - '@humanwhocodes/object-schema@2.0.3': {} + '@esbuild/netbsd-x64@0.25.12': + optional: true - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.2 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + '@esbuild/openbsd-arm64@0.25.12': + optional: true - '@istanbuljs/load-nyc-config@1.1.0': - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 + '@esbuild/openbsd-x64@0.25.12': + optional: true - '@istanbuljs/schema@0.1.3': {} + '@esbuild/openharmony-arm64@0.25.12': + optional: true - '@jest/console@30.2.0': - dependencies: - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - chalk: 4.1.2 - jest-message-util: 30.2.0 - jest-util: 30.2.0 - slash: 3.0.0 + '@esbuild/sunos-x64@0.25.12': + optional: true - '@jest/core@30.2.0': - dependencies: - '@jest/console': 30.2.0 - '@jest/pattern': 30.0.1 - '@jest/reporters': 30.2.0 - '@jest/test-result': 30.2.0 - '@jest/transform': 30.2.0 - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 4.3.1 - exit-x: 0.2.2 - graceful-fs: 4.2.11 - jest-changed-files: 30.2.0 - jest-config: 30.2.0(@types/node@24.9.1) - jest-haste-map: 30.2.0 - jest-message-util: 30.2.0 - jest-regex-util: 30.0.1 - jest-resolve: 30.2.0 - jest-resolve-dependencies: 30.2.0 - jest-runner: 30.2.0 - jest-runtime: 30.2.0 - jest-snapshot: 30.2.0 - jest-util: 30.2.0 - jest-validate: 30.2.0 - jest-watcher: 30.2.0 - micromatch: 4.0.8 - pretty-format: 30.2.0 - slash: 3.0.0 - transitivePeerDependencies: - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node + '@esbuild/win32-arm64@0.25.12': + optional: true - '@jest/diff-sequences@30.0.1': {} + '@esbuild/win32-ia32@0.25.12': + optional: true - '@jest/environment@30.2.0': - dependencies: - '@jest/fake-timers': 30.2.0 - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - jest-mock: 30.2.0 + '@esbuild/win32-x64@0.25.12': + optional: true - '@jest/expect-utils@30.2.0': + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1)': dependencies: - '@jest/get-type': 30.1.0 + eslint: 9.39.1 + eslint-visitor-keys: 3.4.3 - '@jest/expect@30.2.0': + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.1': dependencies: - expect: 30.2.0 - jest-snapshot: 30.2.0 + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@jest/fake-timers@30.2.0': + '@eslint/config-helpers@0.4.2': dependencies: - '@jest/types': 30.2.0 - '@sinonjs/fake-timers': 13.0.5 - '@types/node': 24.9.1 - jest-message-util: 30.2.0 - jest-mock: 30.2.0 - jest-util: 30.2.0 + '@eslint/core': 0.17.0 - '@jest/get-type@30.1.0': {} - - '@jest/globals@30.2.0': + '@eslint/core@0.17.0': dependencies: - '@jest/environment': 30.2.0 - '@jest/expect': 30.2.0 - '@jest/types': 30.2.0 - jest-mock: 30.2.0 - transitivePeerDependencies: - - supports-color + '@types/json-schema': 7.0.15 - '@jest/pattern@30.0.1': + '@eslint/eslintrc@3.3.1': dependencies: - '@types/node': 24.9.1 - jest-regex-util: 30.0.1 - - '@jest/reporters@30.2.0': - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 30.2.0 - '@jest/test-result': 30.2.0 - '@jest/transform': 30.2.0 - '@jest/types': 30.2.0 - '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 24.9.1 - chalk: 4.1.2 - collect-v8-coverage: 1.0.3 - exit-x: 0.2.2 - glob: 10.4.5 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 - istanbul-reports: 3.2.0 - jest-message-util: 30.2.0 - jest-util: 30.2.0 - jest-worker: 30.2.0 - slash: 3.0.0 - string-length: 4.0.2 - v8-to-istanbul: 9.3.0 + ajv: 6.12.6 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@jest/schemas@30.0.5': - dependencies: - '@sinclair/typebox': 0.34.41 + '@eslint/js@9.39.1': {} - '@jest/snapshot-utils@30.2.0': - dependencies: - '@jest/types': 30.2.0 - chalk: 4.1.2 - graceful-fs: 4.2.11 - natural-compare: 1.4.0 + '@eslint/object-schema@2.1.7': {} - '@jest/source-map@30.0.1': + '@eslint/plugin-kit@0.4.1': dependencies: - '@jridgewell/trace-mapping': 0.3.31 - callsites: 3.1.0 - graceful-fs: 4.2.11 - - '@jest/test-result@30.2.0': - dependencies: - '@jest/console': 30.2.0 - '@jest/types': 30.2.0 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.3 + '@eslint/core': 0.17.0 + levn: 0.4.1 - '@jest/test-sequencer@30.2.0': - dependencies: - '@jest/test-result': 30.2.0 - graceful-fs: 4.2.11 - jest-haste-map: 30.2.0 - slash: 3.0.0 + '@humanfs/core@0.19.1': {} - '@jest/transform@30.2.0': + '@humanfs/node@0.16.7': dependencies: - '@babel/core': 7.28.5 - '@jest/types': 30.2.0 - '@jridgewell/trace-mapping': 0.3.31 - babel-plugin-istanbul: 7.0.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 30.2.0 - jest-regex-util: 30.0.1 - jest-util: 30.2.0 - micromatch: 4.0.8 - pirates: 4.0.7 - slash: 3.0.0 - write-file-atomic: 5.0.1 - transitivePeerDependencies: - - supports-color + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 - '@jest/types@30.2.0': - dependencies: - '@jest/pattern': 30.0.1 - '@jest/schemas': 30.0.5 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 24.9.1 - '@types/yargs': 17.0.34 - chalk: 4.1.2 + '@humanwhocodes/module-importer@1.0.1': {} - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 + '@humanwhocodes/retry@0.4.3': {} - '@jridgewell/remapping@2.3.5': + '@inquirer/external-editor@1.0.3(@types/node@24.9.1)': dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 + chardet: 2.1.1 + iconv-lite: 0.7.0 + optionalDependencies: + '@types/node': 24.9.1 '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.31': + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@napi-rs/wasm-runtime@0.2.12': + '@manypkg/find-root@1.1.0': dependencies: - '@emnapi/core': 1.7.0 - '@emnapi/runtime': 1.7.0 - '@tybys/wasm-util': 0.10.1 - optional: true + '@babel/runtime': 7.28.4 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + + '@manypkg/get-packages@1.1.3': + dependencies: + '@babel/runtime': 7.28.4 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -2241,16 +2761,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@pkgjs/parseargs@0.11.0': - optional: true - - '@pkgr/core@0.2.9': {} - - '@rollup/pluginutils@4.2.1': - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - '@rollup/rollup-android-arm-eabi@4.52.5': optional: true @@ -2317,136 +2827,188 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.52.5': optional: true - '@sinclair/typebox@0.34.41': {} + '@standard-schema/spec@1.0.0': {} - '@sinonjs/commons@3.0.1': - dependencies: - type-detect: 4.0.8 + '@tsconfig/node10@1.0.12': {} - '@sinonjs/fake-timers@13.0.5': - dependencies: - '@sinonjs/commons': 3.0.1 - - '@tybys/wasm-util@0.10.1': - dependencies: - tslib: 2.8.1 - optional: true + '@tsconfig/node12@1.0.11': {} - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 - '@types/babel__generator': 7.27.0 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.28.0 + '@tsconfig/node14@1.0.3': {} - '@types/babel__generator@7.27.0': - dependencies: - '@babel/types': 7.28.5 + '@tsconfig/node16@1.0.4': {} - '@types/babel__template@7.4.4': + '@types/chai@5.2.3': dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 - '@types/babel__traverse@7.28.0': - dependencies: - '@babel/types': 7.28.5 + '@types/deep-eql@4.0.2': {} '@types/estree@1.0.8': {} - '@types/istanbul-lib-coverage@2.0.6': {} + '@types/json-schema@7.0.15': {} - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/jest@30.0.0': - dependencies: - expect: 30.2.0 - pretty-format: 30.2.0 + '@types/node@12.20.55': {} '@types/node@24.9.1': dependencies: undici-types: 7.16.0 - '@types/stack-utils@2.0.3': {} - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.34': + '@typescript-eslint/eslint-plugin@8.46.4(@typescript-eslint/parser@8.46.4(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)': dependencies: - '@types/yargs-parser': 21.0.3 + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.46.4(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.46.4 + '@typescript-eslint/type-utils': 8.46.4(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.4(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.4 + eslint: 9.39.1 + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@ungap/structured-clone@1.3.0': {} + '@typescript-eslint/parser@8.46.4(eslint@9.39.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.46.4 + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.4 + debug: 4.4.3 + eslint: 9.39.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@unrs/resolver-binding-android-arm-eabi@1.11.1': - optional: true + '@typescript-eslint/project-service@8.46.4(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3) + '@typescript-eslint/types': 8.46.4 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@unrs/resolver-binding-android-arm64@1.11.1': - optional: true + '@typescript-eslint/scope-manager@8.46.4': + dependencies: + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/visitor-keys': 8.46.4 - '@unrs/resolver-binding-darwin-arm64@1.11.1': - optional: true + '@typescript-eslint/tsconfig-utils@8.46.4(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 - '@unrs/resolver-binding-darwin-x64@1.11.1': - optional: true + '@typescript-eslint/type-utils@8.46.4(eslint@9.39.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.4(eslint@9.39.1)(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.1 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@unrs/resolver-binding-freebsd-x64@1.11.1': - optional: true + '@typescript-eslint/types@8.46.4': {} - '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': - optional: true + '@typescript-eslint/typescript-estree@8.46.4(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.46.4(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3) + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/visitor-keys': 8.46.4 + debug: 4.4.3 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.3 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': - optional: true + '@typescript-eslint/utils@8.46.4(eslint@9.39.1)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@typescript-eslint/scope-manager': 8.46.4 + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) + eslint: 9.39.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': - optional: true + '@typescript-eslint/visitor-keys@8.46.4': + dependencies: + '@typescript-eslint/types': 8.46.4 + eslint-visitor-keys: 4.2.1 - '@unrs/resolver-binding-linux-arm64-musl@1.11.1': - optional: true + '@vitest/expect@4.0.9': + dependencies: + '@standard-schema/spec': 1.0.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.0.9 + '@vitest/utils': 4.0.9 + chai: 6.2.1 + tinyrainbow: 3.0.3 - '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': - optional: true + '@vitest/mocker@4.0.9(vite@6.4.1(@types/node@24.9.1)(yaml@2.8.1))': + dependencies: + '@vitest/spy': 4.0.9 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 6.4.1(@types/node@24.9.1)(yaml@2.8.1) - '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': - optional: true + '@vitest/pretty-format@4.0.9': + dependencies: + tinyrainbow: 3.0.3 - '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': - optional: true + '@vitest/runner@4.0.9': + dependencies: + '@vitest/utils': 4.0.9 + pathe: 2.0.3 - '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': - optional: true + '@vitest/snapshot@4.0.9': + dependencies: + '@vitest/pretty-format': 4.0.9 + magic-string: 0.30.21 + pathe: 2.0.3 - '@unrs/resolver-binding-linux-x64-gnu@1.11.1': - optional: true + '@vitest/spy@4.0.9': {} - '@unrs/resolver-binding-linux-x64-musl@1.11.1': - optional: true + '@vitest/utils@4.0.9': + dependencies: + '@vitest/pretty-format': 4.0.9 + tinyrainbow: 3.0.3 - '@unrs/resolver-binding-wasm32-wasi@1.11.1': + JSONStream@1.3.5: dependencies: - '@napi-rs/wasm-runtime': 0.2.12 - optional: true + jsonparse: 1.3.1 + through: 2.3.8 - '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': - optional: true + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 - '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': - optional: true + acorn-node@1.8.2: + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + xtend: 4.0.2 - '@unrs/resolver-binding-win32-x64-msvc@1.11.1': - optional: true + acorn-walk@7.2.0: {} - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-walk@8.3.4: dependencies: acorn: 8.15.0 + acorn@7.4.1: {} + acorn@8.15.0: {} ajv@6.12.6: @@ -2456,258 +3018,634 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ansi-escapes@4.3.2: + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-colors@4.1.3: {} + + ansi-escapes@7.2.0: dependencies: - type-fest: 0.21.3 + environment: 1.1.0 + + ansi-regex@2.1.1: {} ansi-regex@5.0.1: {} ansi-regex@6.2.2: {} + ansi-styles@2.2.1: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - ansi-styles@5.2.0: {} - ansi-styles@6.2.3: {} - anymatch@3.1.3: + arg@4.1.3: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-union@2.1.0: {} + + asn1.js@4.10.1: + dependencies: + bn.js: 4.12.2 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + assert@1.5.1: + dependencies: + object.assign: 4.1.7 + util: 0.10.4 + + assertion-error@2.0.1: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + better-path-resolve@1.0.0: + dependencies: + is-windows: 1.0.2 + + bn.js@4.12.2: {} + + bn.js@5.2.2: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + brorand@1.1.0: {} + + browser-pack@6.1.0: + dependencies: + JSONStream: 1.3.5 + combine-source-map: 0.8.0 + defined: 1.0.1 + safe-buffer: 5.2.1 + through2: 2.0.5 + umd: 3.0.3 + + browser-process-hrtime@0.1.3: {} + + browser-resolve@2.0.0: + dependencies: + resolve: 1.22.11 + + browserify-aes@1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.7 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-cipher@1.0.1: + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + + browserify-des@1.0.2: + dependencies: + cipher-base: 1.0.7 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-rsa@4.1.1: + dependencies: + bn.js: 5.2.2 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + browserify-sign@4.2.5: + dependencies: + bn.js: 5.2.2 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.6.1 + inherits: 2.0.4 + parse-asn1: 5.1.9 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + + browserify-zlib@0.2.0: + dependencies: + pako: 1.0.11 + + browserify@17.0.1: + dependencies: + JSONStream: 1.3.5 + assert: 1.5.1 + browser-pack: 6.1.0 + browser-resolve: 2.0.0 + browserify-zlib: 0.2.0 + buffer: 5.2.1 + cached-path-relative: 1.1.0 + concat-stream: 1.6.2 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.1 + defined: 1.0.1 + deps-sort: 2.0.1 + domain-browser: 1.2.0 + duplexer2: 0.1.4 + events: 3.3.0 + glob: 7.2.3 + hasown: 2.0.2 + htmlescape: 1.1.1 + https-browserify: 1.0.0 + inherits: 2.0.4 + insert-module-globals: 7.2.1 + labeled-stream-splicer: 2.0.2 + mkdirp-classic: 0.5.3 + module-deps: 6.2.3 + os-browserify: 0.3.0 + parents: 1.0.1 + path-browserify: 1.0.1 + process: 0.11.10 + punycode: 1.4.1 + querystring-es3: 0.2.1 + read-only-stream: 2.0.0 + readable-stream: 2.3.8 + resolve: 1.22.11 + shasum-object: 1.0.1 + shell-quote: 1.8.3 + stream-browserify: 3.0.0 + stream-http: 3.2.0 + string_decoder: 1.3.0 + subarg: 1.0.0 + syntax-error: 1.4.0 + through2: 2.0.5 + timers-browserify: 1.4.2 + tty-browserify: 0.0.1 + url: 0.11.4 + util: 0.12.5 + vm-browserify: 1.1.2 + xtend: 4.0.2 + + buffer-from@1.1.2: {} + + buffer-xor@1.0.3: {} + + buffer@5.2.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + builtin-status-codes@3.0.0: {} + + cached-path-relative@1.1.0: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camel-case@3.0.0: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + + chai@6.2.1: {} + + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.6.2: {} + + chardet@2.1.1: {} + + ci-info@3.9.0: {} + + cipher-base@1.0.7: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 + + code-point-at@1.1.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + combine-source-map@0.8.0: + dependencies: + convert-source-map: 1.1.3 + inline-source-map: 0.6.3 + lodash.memoize: 3.0.4 + source-map: 0.5.7 + + commander@13.1.0: {} + + concat-map@0.0.1: {} + + concat-stream@1.6.2: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + + concat-stream@2.0.0: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + console-browserify@1.2.0: {} + + constants-browserify@1.0.0: {} + + convert-source-map@1.1.3: {} + + convert-source-map@1.9.0: {} + + core-util-is@1.0.3: {} + + create-ecdh@4.0.4: + dependencies: + bn.js: 4.12.2 + elliptic: 6.6.1 + + create-hash@1.2.0: + dependencies: + cipher-base: 1.0.7 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.3 + sha.js: 2.4.12 + + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.7 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.3 + safe-buffer: 5.2.1 + sha.js: 2.4.12 + + create-require@1.1.1: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-browserify@3.12.1: dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 + browserify-cipher: 1.0.1 + browserify-sign: 4.2.5 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + hash-base: 3.0.5 + inherits: 2.0.4 + pbkdf2: 3.1.5 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 - argparse@1.0.10: + d3-array@2.12.1: dependencies: - sprintf-js: 1.0.3 + internmap: 1.0.1 - argparse@2.0.1: {} + d3-color@1.4.1: {} - babel-jest@30.2.0(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@jest/transform': 30.2.0 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 7.0.1 - babel-preset-jest: 30.2.0(@babel/core@7.28.5) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color + d3-color@2.0.0: {} - babel-plugin-istanbul@7.0.1: - dependencies: - '@babel/helper-plugin-utils': 7.27.1 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 6.0.3 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color + d3-dispatch@1.0.6: {} - babel-plugin-jest-hoist@30.2.0: + d3-drag@1.2.5: dependencies: - '@types/babel__core': 7.20.5 + d3-dispatch: 1.0.6 + d3-selection: 1.4.2 - babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.5) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.5) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.5) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.5) + d3-ease@1.0.7: {} - babel-preset-jest@30.2.0(@babel/core@7.28.5): + d3-fg@6.14.0: dependencies: - '@babel/core': 7.28.5 - babel-plugin-jest-hoist: 30.2.0 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + d3-array: 2.12.1 + d3-dispatch: 1.0.6 + d3-ease: 1.0.7 + d3-hierarchy: 1.1.9 + d3-scale: 3.3.0 + d3-selection: 1.4.2 + d3-zoom: 1.8.3 + escape-string-regexp: 1.0.5 + hsl-to-rgb-for-reals: 1.1.1 - balanced-match@1.0.2: {} + d3-format@2.0.0: {} - baseline-browser-mapping@2.8.25: {} + d3-hierarchy@1.1.9: {} - brace-expansion@1.1.12: + d3-interpolate@1.4.0: dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 + d3-color: 1.4.1 - brace-expansion@2.0.2: + d3-interpolate@2.0.1: dependencies: - balanced-match: 1.0.2 + d3-color: 2.0.0 - braces@3.0.3: + d3-scale@3.3.0: dependencies: - fill-range: 7.1.1 + d3-array: 2.12.1 + d3-format: 2.0.0 + d3-interpolate: 2.0.1 + d3-time: 2.1.1 + d3-time-format: 3.0.0 - browserslist@4.27.0: - dependencies: - baseline-browser-mapping: 2.8.25 - caniuse-lite: 1.0.30001754 - electron-to-chromium: 1.5.245 - node-releases: 2.0.27 - update-browserslist-db: 1.1.4(browserslist@4.27.0) + d3-selection@1.4.2: {} - bs-logger@0.2.6: + d3-time-format@3.0.0: dependencies: - fast-json-stable-stringify: 2.1.0 + d3-time: 2.1.1 - bser@2.1.1: + d3-time@2.1.1: dependencies: - node-int64: 0.4.0 + d3-array: 2.12.1 - buffer-from@1.1.2: {} + d3-timer@1.0.10: {} - callsites@3.1.0: {} + d3-transition@1.3.2: + dependencies: + d3-color: 1.4.1 + d3-dispatch: 1.0.6 + d3-ease: 1.0.7 + d3-interpolate: 1.4.0 + d3-selection: 1.4.2 + d3-timer: 1.0.10 - camelcase@5.3.1: {} + d3-zoom@1.8.3: + dependencies: + d3-dispatch: 1.0.6 + d3-drag: 1.2.5 + d3-interpolate: 1.4.0 + d3-selection: 1.4.2 + d3-transition: 1.3.2 - camelcase@6.3.0: {} + dash-ast@1.0.0: {} - caniuse-lite@1.0.30001754: {} + debounce@1.2.1: {} - chalk@4.1.2: + debug@4.4.3: dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 + ms: 2.1.3 + + deep-is@0.1.4: {} - char-regex@1.0.2: {} + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 - ci-info@4.3.1: {} + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 - cjs-module-lexer@2.1.0: {} + defined@1.0.1: {} - cliui@8.0.1: + deps-sort@2.0.1: dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 + JSONStream: 1.3.5 + shasum-object: 1.0.1 + subarg: 1.0.0 + through2: 2.0.5 - co@4.6.0: {} + des.js@1.1.0: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 - collect-v8-coverage@1.0.3: {} + detect-indent@6.1.0: {} - color-convert@2.0.1: + detective@5.2.1: dependencies: - color-name: 1.1.4 + acorn-node: 1.8.2 + defined: 1.0.1 + minimist: 1.2.8 - color-name@1.1.4: {} + diff@4.0.2: {} - commondir@1.0.1: {} + diffie-hellman@5.0.3: + dependencies: + bn.js: 4.12.2 + miller-rabin: 4.0.1 + randombytes: 2.1.0 - concat-map@0.0.1: {} + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 - convert-source-map@2.0.0: {} + domain-browser@1.2.0: {} - cross-spawn@7.0.6: + dunder-proto@1.0.1: dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 - debug@4.4.3: + duplexer2@0.1.4: dependencies: - ms: 2.1.3 + readable-stream: 2.3.8 - dedent@1.7.0: {} + duplexify@4.1.3: + dependencies: + end-of-stream: 1.4.5 + inherits: 2.0.4 + readable-stream: 3.6.2 + stream-shift: 1.0.3 - deep-is@0.1.4: {} + elliptic@6.6.1: + dependencies: + bn.js: 4.12.2 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 - deepmerge@4.3.1: {} + emoji-regex@10.6.0: {} - detect-newline@3.1.0: {} + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 - doctrine@3.0.0: + enquirer@2.4.1: dependencies: - esutils: 2.0.3 + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 - eastasianwidth@0.2.0: {} + env-string@1.0.1: {} - electron-to-chromium@1.5.245: {} + environment@1.1.0: {} - emittery@0.13.1: {} + es-define-property@1.0.1: {} - emoji-regex@8.0.0: {} + es-errors@1.3.0: {} - emoji-regex@9.2.2: {} + es-module-lexer@1.7.0: {} - error-ex@1.3.4: + es-object-atoms@1.1.1: dependencies: - is-arrayish: 0.2.1 - - escalade@3.2.0: {} + es-errors: 1.3.0 - escape-string-regexp@2.0.0: {} + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + + escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} - eslint-scope@7.2.2: + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.1: + eslint-visitor-keys@4.2.1: {} + + eslint@9.39.1: dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) '@eslint-community/regexpp': 4.12.2 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.39.1 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.3.0 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@10.4.0: dependencies: acorn: 8.15.0 acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 4.2.1 esprima@4.0.1: {} @@ -2721,61 +3659,77 @@ snapshots: estraverse@5.3.0: {} - estree-walker@2.0.2: {} + estree-is-member-expression@1.0.0: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 esutils@2.0.3: {} - execa@5.1.1: + eventemitter3@5.0.1: {} + + events@3.3.0: {} + + evp_bytestokey@1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + + execa@8.0.1: dependencies: cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - exit-x@0.2.2: {} + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 - expect@30.2.0: + execspawn@1.0.1: dependencies: - '@jest/expect-utils': 30.2.0 - '@jest/get-type': 30.1.0 - jest-matcher-utils: 30.2.0 - jest-message-util: 30.2.0 - jest-mock: 30.2.0 - jest-util: 30.2.0 + util-extend: 1.0.3 + + expect-type@1.2.2: {} + + extendable-error@0.1.7: {} fast-deep-equal@3.1.3: {} + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} + fast-safe-stringify@2.1.1: {} + + fast-uri@3.1.0: {} + fastq@1.19.1: dependencies: reusify: 1.1.0 - fb-watchman@2.0.2: - dependencies: - bser: 2.1.1 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - find-cache-dir@3.3.2: - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -2786,18 +3740,16 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.3 keyv: 4.5.4 - rimraf: 3.0.2 flatted@3.3.3: {} - foreground-child@3.3.1: + for-each@0.3.5: dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 + is-callable: 1.2.7 fs-extra@10.1.0: dependencies: @@ -2805,31 +3757,58 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + fs.realpath@1.0.0: {} fsevents@2.3.3: optional: true - gensync@1.0.0-beta.2: {} + function-bind@1.1.2: {} - get-caller-file@2.0.5: {} + generator-function@2.0.1: {} - get-package-type@0.1.0: {} + get-assigned-identifiers@1.2.0: {} - get-stream@6.0.1: {} + get-east-asian-width@1.4.0: {} - glob-parent@6.0.2: + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@8.0.1: {} + + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - glob@10.4.5: + glob-parent@6.0.2: dependencies: - foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 + is-glob: 4.0.3 glob@7.2.3: dependencies: @@ -2840,419 +3819,200 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - globals@13.24.0: + globals@14.0.0: {} + + globby@11.1.0: dependencies: - type-fest: 0.20.2 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.2.0: {} graceful-fs@4.2.11: {} graphemer@1.4.0: {} - handlebars@4.7.8: + has-ansi@2.0.0: dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.3 + ansi-regex: 2.1.1 has-flag@4.0.0: {} - html-escaper@2.0.2: {} + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 - human-signals@2.1.0: {} + has-symbols@1.1.0: {} - ignore@5.3.2: {} + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 - import-fresh@3.3.1: + has-unicode@2.0.1: {} + + hash-base@3.0.5: dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 - import-local@3.2.0: + hash-base@3.1.2: dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 + inherits: 2.0.4 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 - imurmurhash@0.1.4: {} + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 - inflight@1.0.6: + hasown@2.0.2: dependencies: - once: 1.4.0 - wrappy: 1.0.2 + function-bind: 1.1.2 - inherits@2.0.4: {} + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 - is-arrayish@0.2.1: {} + hsl-to-rgb-for-reals@1.1.1: {} - is-extglob@2.1.1: {} + htmlescape@1.1.1: {} - is-fullwidth-code-point@3.0.0: {} + https-browserify@1.0.0: {} - is-generator-fn@2.1.0: {} + human-id@4.1.2: {} - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 + human-signals@5.0.0: {} - is-number@7.0.0: {} + husky@9.1.7: {} - is-path-inside@3.0.3: {} + hyperscript-attribute-to-property@1.0.2: {} - is-stream@2.0.1: {} + hyperx@2.5.4: + dependencies: + hyperscript-attribute-to-property: 1.0.2 - isexe@2.0.0: {} + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 - istanbul-lib-coverage@3.2.2: {} + ieee754@1.2.1: {} - istanbul-lib-instrument@6.0.3: - dependencies: - '@babel/core': 7.28.5 - '@babel/parser': 7.28.5 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 7.7.3 - transitivePeerDependencies: - - supports-color + ignore@5.3.2: {} - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 + ignore@7.0.5: {} - istanbul-lib-source-maps@5.0.6: + import-fresh@3.3.1: dependencies: - '@jridgewell/trace-mapping': 0.3.31 - debug: 4.4.3 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color + parent-module: 1.0.1 + resolve-from: 4.0.0 - istanbul-reports@3.2.0: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 + imurmurhash@0.1.4: {} - jackspeak@3.4.3: + inflight@1.0.6: dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 + once: 1.4.0 + wrappy: 1.0.2 - jest-changed-files@30.2.0: - dependencies: - execa: 5.1.1 - jest-util: 30.2.0 - p-limit: 3.1.0 + inherits@2.0.3: {} - jest-circus@30.2.0: - dependencies: - '@jest/environment': 30.2.0 - '@jest/expect': 30.2.0 - '@jest/test-result': 30.2.0 - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.7.0 - is-generator-fn: 2.1.0 - jest-each: 30.2.0 - jest-matcher-utils: 30.2.0 - jest-message-util: 30.2.0 - jest-runtime: 30.2.0 - jest-snapshot: 30.2.0 - jest-util: 30.2.0 - p-limit: 3.1.0 - pretty-format: 30.2.0 - pure-rand: 7.0.1 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color + inherits@2.0.4: {} - jest-cli@30.2.0(@types/node@24.9.1): + inline-source-map@0.6.3: dependencies: - '@jest/core': 30.2.0 - '@jest/test-result': 30.2.0 - '@jest/types': 30.2.0 - chalk: 4.1.2 - exit-x: 0.2.2 - import-local: 3.2.0 - jest-config: 30.2.0(@types/node@24.9.1) - jest-util: 30.2.0 - jest-validate: 30.2.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node + source-map: 0.5.7 - jest-config@30.2.0(@types/node@24.9.1): + insert-module-globals@7.2.1: dependencies: - '@babel/core': 7.28.5 - '@jest/get-type': 30.1.0 - '@jest/pattern': 30.0.1 - '@jest/test-sequencer': 30.2.0 - '@jest/types': 30.2.0 - babel-jest: 30.2.0(@babel/core@7.28.5) - chalk: 4.1.2 - ci-info: 4.3.1 - deepmerge: 4.3.1 - glob: 10.4.5 - graceful-fs: 4.2.11 - jest-circus: 30.2.0 - jest-docblock: 30.2.0 - jest-environment-node: 30.2.0 - jest-regex-util: 30.0.1 - jest-resolve: 30.2.0 - jest-runner: 30.2.0 - jest-util: 30.2.0 - jest-validate: 30.2.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 30.2.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 24.9.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color + JSONStream: 1.3.5 + acorn-node: 1.8.2 + combine-source-map: 0.8.0 + concat-stream: 1.6.2 + is-buffer: 1.1.6 + path-is-absolute: 1.0.1 + process: 0.11.10 + through2: 2.0.5 + undeclared-identifiers: 1.1.3 + xtend: 4.0.2 - jest-diff@30.2.0: - dependencies: - '@jest/diff-sequences': 30.0.1 - '@jest/get-type': 30.1.0 - chalk: 4.1.2 - pretty-format: 30.2.0 + internmap@1.0.1: {} - jest-docblock@30.2.0: + is-arguments@1.2.0: dependencies: - detect-newline: 3.1.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - jest-each@30.2.0: - dependencies: - '@jest/get-type': 30.1.0 - '@jest/types': 30.2.0 - chalk: 4.1.2 - jest-util: 30.2.0 - pretty-format: 30.2.0 + is-boolean-attribute@0.0.1: {} - jest-environment-node@30.2.0: - dependencies: - '@jest/environment': 30.2.0 - '@jest/fake-timers': 30.2.0 - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - jest-mock: 30.2.0 - jest-util: 30.2.0 - jest-validate: 30.2.0 + is-buffer@1.1.6: {} - jest-haste-map@30.2.0: - dependencies: - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 30.0.1 - jest-util: 30.2.0 - jest-worker: 30.2.0 - micromatch: 4.0.8 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 + is-buffer@2.0.5: {} - jest-leak-detector@30.2.0: - dependencies: - '@jest/get-type': 30.1.0 - pretty-format: 30.2.0 + is-callable@1.2.7: {} - jest-matcher-utils@30.2.0: + is-core-module@2.16.1: dependencies: - '@jest/get-type': 30.1.0 - chalk: 4.1.2 - jest-diff: 30.2.0 - pretty-format: 30.2.0 + hasown: 2.0.2 - jest-message-util@30.2.0: - dependencies: - '@babel/code-frame': 7.27.1 - '@jest/types': 30.2.0 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 30.2.0 - slash: 3.0.0 - stack-utils: 2.0.6 + is-extglob@2.1.1: {} - jest-mock@30.2.0: + is-fullwidth-code-point@1.0.0: dependencies: - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - jest-util: 30.2.0 - - jest-pnp-resolver@1.2.3(jest-resolve@30.2.0): - optionalDependencies: - jest-resolve: 30.2.0 + number-is-nan: 1.0.1 - jest-regex-util@30.0.1: {} + is-fullwidth-code-point@4.0.0: {} - jest-resolve-dependencies@30.2.0: + is-fullwidth-code-point@5.1.0: dependencies: - jest-regex-util: 30.0.1 - jest-snapshot: 30.2.0 - transitivePeerDependencies: - - supports-color + get-east-asian-width: 1.4.0 - jest-resolve@30.2.0: + is-generator-function@1.1.2: dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 30.2.0 - jest-pnp-resolver: 1.2.3(jest-resolve@30.2.0) - jest-util: 30.2.0 - jest-validate: 30.2.0 - slash: 3.0.0 - unrs-resolver: 1.11.1 + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - jest-runner@30.2.0: + is-glob@4.0.3: dependencies: - '@jest/console': 30.2.0 - '@jest/environment': 30.2.0 - '@jest/test-result': 30.2.0 - '@jest/transform': 30.2.0 - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - chalk: 4.1.2 - emittery: 0.13.1 - exit-x: 0.2.2 - graceful-fs: 4.2.11 - jest-docblock: 30.2.0 - jest-environment-node: 30.2.0 - jest-haste-map: 30.2.0 - jest-leak-detector: 30.2.0 - jest-message-util: 30.2.0 - jest-resolve: 30.2.0 - jest-runtime: 30.2.0 - jest-util: 30.2.0 - jest-watcher: 30.2.0 - jest-worker: 30.2.0 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color + is-extglob: 2.1.1 + + is-number@7.0.0: {} - jest-runtime@30.2.0: + is-regex@1.2.1: dependencies: - '@jest/environment': 30.2.0 - '@jest/fake-timers': 30.2.0 - '@jest/globals': 30.2.0 - '@jest/source-map': 30.0.1 - '@jest/test-result': 30.2.0 - '@jest/transform': 30.2.0 - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - chalk: 4.1.2 - cjs-module-lexer: 2.1.0 - collect-v8-coverage: 1.0.3 - glob: 10.4.5 - graceful-fs: 4.2.11 - jest-haste-map: 30.2.0 - jest-message-util: 30.2.0 - jest-mock: 30.2.0 - jest-regex-util: 30.0.1 - jest-resolve: 30.2.0 - jest-snapshot: 30.2.0 - jest-util: 30.2.0 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 - jest-snapshot@30.2.0: - dependencies: - '@babel/core': 7.28.5 - '@babel/generator': 7.28.5 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) - '@babel/types': 7.28.5 - '@jest/expect-utils': 30.2.0 - '@jest/get-type': 30.1.0 - '@jest/snapshot-utils': 30.2.0 - '@jest/transform': 30.2.0 - '@jest/types': 30.2.0 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) - chalk: 4.1.2 - expect: 30.2.0 - graceful-fs: 4.2.11 - jest-diff: 30.2.0 - jest-matcher-utils: 30.2.0 - jest-message-util: 30.2.0 - jest-util: 30.2.0 - pretty-format: 30.2.0 - semver: 7.7.3 - synckit: 0.11.11 - transitivePeerDependencies: - - supports-color + is-stream@3.0.0: {} - jest-util@30.2.0: + is-subdir@1.2.0: dependencies: - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - chalk: 4.1.2 - ci-info: 4.3.1 - graceful-fs: 4.2.11 - picomatch: 4.0.3 + better-path-resolve: 1.0.0 - jest-validate@30.2.0: + is-typed-array@1.1.15: dependencies: - '@jest/get-type': 30.1.0 - '@jest/types': 30.2.0 - camelcase: 6.3.0 - chalk: 4.1.2 - leven: 3.1.0 - pretty-format: 30.2.0 + which-typed-array: 1.1.19 - jest-watcher@30.2.0: - dependencies: - '@jest/test-result': 30.2.0 - '@jest/types': 30.2.0 - '@types/node': 24.9.1 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 30.2.0 - string-length: 4.0.2 + is-windows@1.0.2: {} - jest-worker@30.2.0: - dependencies: - '@types/node': 24.9.1 - '@ungap/structured-clone': 1.3.0 - jest-util: 30.2.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 + is-wsl@1.1.0: {} - jest@30.2.0(@types/node@24.9.1): - dependencies: - '@jest/core': 30.2.0 - '@jest/types': 30.2.0 - import-local: 3.2.0 - jest-cli: 30.2.0(@types/node@24.9.1) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node + isarray@1.0.0: {} + + isarray@2.0.5: {} - js-tokens@4.0.0: {} + isexe@2.0.0: {} js-yaml@3.14.1: dependencies: @@ -3263,17 +4023,17 @@ snapshots: dependencies: argparse: 2.0.1 - jsesc@3.1.0: {} - json-buffer@3.0.1: {} - json-parse-even-better-errors@2.3.1: {} - json-schema-traverse@0.4.1: {} + json-schema-traverse@1.0.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} - json5@2.2.3: {} + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 jsonfile@6.2.0: dependencies: @@ -3281,18 +4041,53 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonparse@1.3.1: {} + + jsonstream2@3.0.0: + dependencies: + jsonparse: 1.3.1 + through2: 3.0.2 + type-component: 0.0.1 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - leven@3.1.0: {} + labeled-stream-splicer@2.0.2: + dependencies: + inherits: 2.0.4 + stream-splicer: 2.0.1 levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - lines-and-columns@1.2.4: {} + lilconfig@3.1.3: {} + + lint-staged@15.5.2: + dependencies: + chalk: 5.6.2 + commander: 13.1.0 + debug: 4.4.3 + execa: 8.0.1 + lilconfig: 3.1.3 + listr2: 8.3.3 + micromatch: 4.0.8 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.8.1 + transitivePeerDependencies: + - supports-color + + listr2@8.3.3: + dependencies: + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.2 locate-path@5.0.0: dependencies: @@ -3302,38 +4097,69 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.memoize@4.1.2: {} + lodash.memoize@3.0.4: {} lodash.merge@4.6.2: {} - lru-cache@10.4.3: {} + lodash.startcase@4.4.0: {} - lru-cache@5.1.1: + log-update@6.1.0: dependencies: - yallist: 3.1.1 + ansi-escapes: 7.2.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.2 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 - make-dir@3.1.0: + lower-case@1.1.4: {} + + magic-string@0.23.2: dependencies: - semver: 6.3.1 + sourcemap-codec: 1.4.8 - make-dir@4.0.0: + magic-string@0.30.21: dependencies: - semver: 7.7.3 + '@jridgewell/sourcemap-codec': 1.5.5 + + make-dir@3.1.0: + dependencies: + semver: 6.3.1 make-error@1.3.6: {} - makeerror@1.0.12: + math-intrinsics@1.1.0: {} + + md5.js@1.3.5: dependencies: - tmpl: 1.0.5 + hash-base: 3.0.5 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + merge-source-map@1.0.4: + dependencies: + source-map: 0.5.7 merge-stream@2.0.0: {} + merge2@1.4.1: {} + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 - mimic-fn@2.1.0: {} + miller-rabin@4.0.1: + dependencies: + bn.js: 4.12.2 + brorand: 1.1.0 + + mimic-fn@4.0.0: {} + + mimic-function@5.0.1: {} + + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} minimatch@3.1.2: dependencies: @@ -3345,33 +4171,105 @@ snapshots: minimist@1.2.8: {} - minipass@7.1.2: {} + mkdirp-classic@0.5.3: {} + + module-deps@6.2.3: + dependencies: + JSONStream: 1.3.5 + browser-resolve: 2.0.0 + cached-path-relative: 1.1.0 + concat-stream: 1.6.2 + defined: 1.0.1 + detective: 5.2.1 + duplexer2: 0.1.4 + inherits: 2.0.4 + parents: 1.0.1 + readable-stream: 2.3.8 + resolve: 1.22.11 + stream-combiner2: 1.1.1 + subarg: 1.0.0 + through2: 2.0.5 + xtend: 4.0.2 + + morphdom@2.7.7: {} + + mri@1.2.0: {} ms@2.1.3: {} - napi-postinstall@0.3.4: {} + mutexify@1.4.0: + dependencies: + queue-tick: 1.0.1 + + nanoassert@1.1.0: {} + + nanobench@2.1.1: + dependencies: + browser-process-hrtime: 0.1.3 + chalk: 1.1.3 + mutexify: 1.4.0 + pretty-hrtime: 1.0.3 + + nanohtml@1.10.0: + dependencies: + acorn-node: 1.8.2 + camel-case: 3.0.0 + convert-source-map: 1.9.0 + estree-is-member-expression: 1.0.0 + hyperx: 2.5.4 + is-boolean-attribute: 0.0.1 + nanoassert: 1.1.0 + nanobench: 2.1.1 + normalize-html-whitespace: 0.2.0 + through2: 2.0.5 + transform-ast: 2.4.4 + + nanoid@3.3.11: {} natural-compare@1.4.0: {} - neo-async@2.6.2: {} + no-case@2.3.2: + dependencies: + lower-case: 1.1.4 + + normalize-html-whitespace@0.2.0: {} + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 - node-int64@0.4.0: {} + number-is-nan@1.0.1: {} - node-releases@2.0.27: {} + object-inspect@1.13.4: {} - normalize-path@3.0.0: {} + object-keys@1.1.1: {} - npm-run-path@4.0.1: + object.assign@4.1.7: dependencies: - path-key: 3.1.1 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + on-net-listen@1.1.2: {} once@1.4.0: dependencies: wrappy: 1.0.2 - onetime@5.1.2: + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + opn@5.5.0: dependencies: - mimic-fn: 2.1.0 + is-wsl: 1.1.0 optionator@0.9.4: dependencies: @@ -3382,6 +4280,14 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + os-browserify@0.3.0: {} + + outdent@0.5.0: {} + + p-filter@2.1.0: + dependencies: + p-map: 2.1.0 + p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -3398,20 +4304,33 @@ snapshots: dependencies: p-limit: 3.1.0 + p-map@2.1.0: {} + p-try@2.2.0: {} - package-json-from-dist@1.0.1: {} + package-manager-detector@0.2.11: + dependencies: + quansync: 0.2.11 + + pako@1.0.11: {} parent-module@1.0.1: dependencies: callsites: 3.1.0 - parse-json@5.2.0: + parents@1.0.1: + dependencies: + path-platform: 0.11.15 + + parse-asn1@5.1.9: dependencies: - '@babel/code-frame': 7.27.1 - error-ex: 1.3.4 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 + asn1.js: 4.10.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.5 + safe-buffer: 5.2.1 + + path-browserify@1.0.1: {} path-exists@4.0.0: {} @@ -3419,10 +4338,24 @@ snapshots: path-key@3.1.1: {} - path-scurry@1.11.1: + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-platform@0.11.15: {} + + path-type@4.0.0: {} + + pathe@2.0.3: {} + + pbkdf2@3.1.5: dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.3 + safe-buffer: 5.2.1 + sha.js: 2.4.12 + to-buffer: 1.2.2 picocolors@1.1.1: {} @@ -3430,53 +4363,127 @@ snapshots: picomatch@4.0.3: {} - pirates@4.0.7: {} + pidtree@0.6.0: {} + + pify@4.0.1: {} + + possible-typed-array-names@1.1.0: {} - pkg-dir@4.2.0: + postcss@8.5.6: dependencies: - find-up: 4.1.0 + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 prelude-ls@1.2.1: {} - pretty-format@30.2.0: + prettier@2.8.8: {} + + prettier@3.6.2: {} + + pretty-hrtime@1.0.3: {} + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + public-encrypt@4.0.3: + dependencies: + bn.js: 4.12.2 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + parse-asn1: 5.1.9 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + pump@3.0.3: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + + pumpify@2.0.1: dependencies: - '@jest/schemas': 30.0.5 - ansi-styles: 5.2.0 - react-is: 18.3.1 + duplexify: 4.1.3 + inherits: 2.0.4 + pump: 3.0.3 + + punycode@1.4.1: {} punycode@2.3.1: {} - pure-rand@7.0.1: {} + qs@6.14.0: + dependencies: + side-channel: 1.1.0 + + quansync@0.2.11: {} + + querystring-es3@0.2.1: {} queue-microtask@1.2.3: {} - react-is@18.3.1: {} + queue-tick@1.0.1: {} - require-directory@2.1.1: {} + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 - resolve-cwd@3.0.0: + randomfill@1.0.4: dependencies: - resolve-from: 5.0.0 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + read-only-stream@2.0.0: + dependencies: + readable-stream: 2.3.8 + + read-yaml-file@1.1.0: + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + require-from-string@2.0.2: {} resolve-from@4.0.0: {} resolve-from@5.0.0: {} - reusify@1.1.0: {} + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 - rimraf@3.0.2: + restore-cursor@5.1.0: dependencies: - glob: 7.2.3 + onetime: 7.0.0 + signal-exit: 4.1.0 - rollup-plugin-typescript2@0.36.0(rollup@4.52.5)(typescript@5.9.3): + reusify@1.1.0: {} + + rfdc@1.4.1: {} + + ripemd160@2.0.3: dependencies: - '@rollup/pluginutils': 4.2.1 - find-cache-dir: 3.3.2 - fs-extra: 10.1.0 - rollup: 4.52.5 - semver: 7.7.3 - tslib: 2.8.1 - typescript: 5.9.3 + hash-base: 3.1.2 + inherits: 2.0.4 rollup@4.52.5: dependencies: @@ -3510,52 +4517,168 @@ snapshots: dependencies: queue-microtask: 1.2.3 + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safer-buffer@2.1.2: {} + semver@6.3.1: {} semver@7.7.3: {} + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + sha.js@2.4.12: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 + + shasum-object@1.0.1: + dependencies: + fast-safe-stringify: 2.1.1 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 shebang-regex@3.0.0: {} - signal-exit@3.0.7: {} + shell-quote@1.8.3: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + siginfo@2.0.0: {} signal-exit@4.1.0: {} + simple-concat@1.0.1: {} + + single-line-log@1.1.2: + dependencies: + string-width: 1.0.2 + slash@3.0.0: {} - source-map-support@0.5.13: + slice-ansi@5.0.0: dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 + ansi-styles: 6.2.3 + is-fullwidth-code-point: 4.0.0 + + slice-ansi@7.1.2: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 + + source-map-js@1.2.1: {} + + source-map@0.5.7: {} + + sourcemap-codec@1.4.8: {} - source-map@0.6.1: {} + spawndamnit@3.0.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + split2@4.2.0: {} sprintf-js@1.0.3: {} - stack-utils@2.0.6: + stackback@0.0.2: {} + + std-env@3.10.0: {} + + stream-browserify@3.0.0: dependencies: - escape-string-regexp: 2.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 - string-length@4.0.2: + stream-combiner2@1.1.1: dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 + duplexer2: 0.1.4 + readable-stream: 2.3.8 - string-width@4.2.3: + stream-http@3.2.0: dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + xtend: 4.0.2 + + stream-shift@1.0.3: {} + + stream-splicer@2.0.1: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + + string-argv@0.3.2: {} + + string-width@1.0.2: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 - string-width@5.1.2: + string-width@7.2.0: dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 + emoji-regex: 10.6.0 + get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -3564,166 +4687,265 @@ snapshots: dependencies: ansi-regex: 6.2.2 - strip-bom@4.0.0: {} + strip-bom@3.0.0: {} - strip-final-newline@2.0.0: {} + strip-final-newline@3.0.0: {} strip-json-comments@3.1.1: {} + subarg@1.0.0: + dependencies: + minimist: 1.2.8 + + supports-color@2.0.0: {} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - supports-color@8.1.1: + supports-preserve-symlinks-flag@1.0.0: {} + + syntax-error@1.4.0: dependencies: - has-flag: 4.0.0 + acorn-node: 1.8.2 + + tachyons@4.12.0: {} - synckit@0.11.11: + term-size@2.2.1: {} + + through2@2.0.5: dependencies: - '@pkgr/core': 0.2.9 + readable-stream: 2.3.8 + xtend: 4.0.2 - test-exclude@6.0.0: + through2@3.0.2: dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + + through2@4.0.2: + dependencies: + readable-stream: 3.6.2 + + through@2.3.8: {} + + timers-browserify@1.4.2: + dependencies: + process: 0.11.10 + + tinybench@2.9.0: {} - text-table@0.2.0: {} + tinyexec@0.3.2: {} - tmpl@1.0.5: {} + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tinyrainbow@3.0.3: {} + + to-buffer@1.2.2: + dependencies: + isarray: 2.0.5 + safe-buffer: 5.2.1 + typed-array-buffer: 1.0.3 to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - ts-jest@29.4.5(@babel/core@7.28.5)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.5))(jest-util@30.2.0)(jest@30.2.0(@types/node@24.9.1))(typescript@5.9.3): + transform-ast@2.4.4: dependencies: - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - handlebars: 4.7.8 - jest: 30.2.0(@types/node@24.9.1) - json5: 2.2.3 - lodash.memoize: 4.1.2 + acorn-node: 1.8.2 + convert-source-map: 1.9.0 + dash-ast: 1.0.0 + is-buffer: 2.0.5 + magic-string: 0.23.2 + merge-source-map: 1.0.4 + nanobench: 2.1.1 + + ts-api-utils@2.1.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + ts-node@10.9.2(@types/node@24.9.1)(typescript@5.9.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.12 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 24.9.1 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 make-error: 1.3.6 - semver: 7.7.3 - type-fest: 4.41.0 typescript: 5.9.3 - yargs-parser: 21.1.1 - optionalDependencies: - '@babel/core': 7.28.5 - '@jest/transform': 30.2.0 - '@jest/types': 30.2.0 - babel-jest: 30.2.0(@babel/core@7.28.5) - jest-util: 30.2.0 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 - tslib@2.8.1: {} + tty-browserify@0.0.1: {} type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-detect@4.0.8: {} + type-component@0.0.1: {} - type-fest@0.20.2: {} + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 - type-fest@0.21.3: {} + typedarray@0.0.6: {} - type-fest@4.41.0: {} + typescript-eslint@8.46.4(eslint@9.39.1)(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.46.4(@typescript-eslint/parser@8.46.4(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/parser': 8.46.4(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.4(eslint@9.39.1)(typescript@5.9.3) + eslint: 9.39.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color typescript@5.9.3: {} - uglify-js@3.19.3: - optional: true + umd@3.0.3: {} + + undeclared-identifiers@1.1.3: + dependencies: + acorn-node: 1.8.2 + dash-ast: 1.0.0 + get-assigned-identifiers: 1.2.0 + simple-concat: 1.0.1 + xtend: 4.0.2 undici-types@7.16.0: {} + universalify@0.1.2: {} + universalify@2.0.1: {} - unrs-resolver@1.11.1: - dependencies: - napi-postinstall: 0.3.4 - optionalDependencies: - '@unrs/resolver-binding-android-arm-eabi': 1.11.1 - '@unrs/resolver-binding-android-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-arm64': 1.11.1 - '@unrs/resolver-binding-darwin-x64': 1.11.1 - '@unrs/resolver-binding-freebsd-x64': 1.11.1 - '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 - '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 - '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 - '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 - '@unrs/resolver-binding-linux-x64-musl': 1.11.1 - '@unrs/resolver-binding-wasm32-wasi': 1.11.1 - '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 - '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 - '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - - update-browserslist-db@1.1.4(browserslist@4.27.0): - dependencies: - browserslist: 4.27.0 - escalade: 3.2.0 - picocolors: 1.1.1 + upper-case@1.1.3: {} uri-js@4.4.1: dependencies: punycode: 2.3.1 - v8-to-istanbul@9.3.0: + url@0.11.4: dependencies: - '@jridgewell/trace-mapping': 0.3.31 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 + punycode: 1.4.1 + qs: 6.14.0 - walker@1.0.8: - dependencies: - makeerror: 1.0.12 + util-deprecate@1.0.2: {} - which@2.0.2: + util-extend@1.0.3: {} + + util@0.10.4: dependencies: - isexe: 2.0.0 + inherits: 2.0.3 - word-wrap@1.2.5: {} + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.2.0 + is-generator-function: 1.1.2 + is-typed-array: 1.1.15 + which-typed-array: 1.1.19 - wordwrap@1.0.0: {} + v8-compile-cache-lib@3.0.1: {} - wrap-ansi@7.0.0: + vite@6.4.1(@types/node@24.9.1)(yaml@2.8.1): dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 + esbuild: 0.25.12 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.52.5 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 24.9.1 + fsevents: 2.3.3 + yaml: 2.8.1 - wrap-ansi@8.1.0: + vitest@4.0.9(@types/node@24.9.1)(yaml@2.8.1): dependencies: - ansi-styles: 6.2.3 - string-width: 5.1.2 - strip-ansi: 7.1.2 + '@vitest/expect': 4.0.9 + '@vitest/mocker': 4.0.9(vite@6.4.1(@types/node@24.9.1)(yaml@2.8.1)) + '@vitest/pretty-format': 4.0.9 + '@vitest/runner': 4.0.9 + '@vitest/snapshot': 4.0.9 + '@vitest/spy': 4.0.9 + '@vitest/utils': 4.0.9 + debug: 4.4.3 + es-module-lexer: 1.7.0 + expect-type: 1.2.2 + magic-string: 0.30.21 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.15 + tinyrainbow: 3.0.3 + vite: 6.4.1(@types/node@24.9.1)(yaml@2.8.1) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 24.9.1 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml - wrappy@1.0.2: {} + vm-browserify@1.1.2: {} - write-file-atomic@5.0.1: + which-typed-array@1.1.19: dependencies: - imurmurhash: 0.1.4 - signal-exit: 4.1.0 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 - y18n@5.0.8: {} + which@2.0.2: + dependencies: + isexe: 2.0.0 - yallist@3.1.1: {} + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 - yargs-parser@21.1.1: {} + word-wrap@1.2.5: {} - yargs@17.7.2: + wrap-ansi@9.0.2: dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.1.2 + + wrappy@1.0.2: {} + + xtend@4.0.2: {} + + yaml@2.8.1: {} + + yn@3.1.1: {} yocto-queue@0.1.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index afa07ab..f88960c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,2 @@ packages: - - "packages/*" - - "third-party/*" +- 'packages/*' diff --git a/third-party/README.md b/third-party/README.md deleted file mode 100644 index 9f946bd..0000000 --- a/third-party/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Rigidify & My Passion Libraries - -This repository also contains several **third-party libraries** — all of which I developed as part of my personal passion projects. These modules are fully modular, seamlessly integrated for demonstration purposes, and highlight advanced data structures, innovative algorithms, and cutting-edge design patterns. - -These libraries emerged from experimental development and creative exploration, serving both as testbeds for novel ideas and as examples of how complex concepts can be implemented efficiently and elegantly. They reflect a commitment to craftsmanship and a drive to push the boundaries of conventional solutions. diff --git a/third-party/pattern-matching/.editorconfig b/third-party/pattern-matching/.editorconfig deleted file mode 100644 index 003897b..0000000 --- a/third-party/pattern-matching/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -# http://editorconfig.org -root = true - -[*] -end_of_line = lf -charset = utf-8 -insert_final_newline = true -trim_trailing_whitespace = true - -[{*.js,*.mjs,*.ts,*.json,*.yml}] -indent_size = 2 -indent_style = space \ No newline at end of file diff --git a/third-party/pattern-matching/.gitignore b/third-party/pattern-matching/.gitignore deleted file mode 100644 index 524f91a..0000000 --- a/third-party/pattern-matching/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -.DS_STORE -node_modules -.flowconfig -*~ -*.pyc -.grunt -_SpecRunner.html -__benchmarks__ -build/ -remote-repo/ -coverage/ -*.log* -*.sublime-project -*.sublime-workspace -.idea -*.iml -.vscode -*.swp -*.swo -drafts/ -package-lock.json -mails/ \ No newline at end of file diff --git a/third-party/pattern-matching/.npmignore b/third-party/pattern-matching/.npmignore deleted file mode 100644 index 84784ea..0000000 --- a/third-party/pattern-matching/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -*.log -.DS_Store -CHANGELOG.md \ No newline at end of file diff --git a/third-party/pattern-matching/.prettierignore b/third-party/pattern-matching/.prettierignore deleted file mode 100644 index 84784ea..0000000 --- a/third-party/pattern-matching/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -*.log -.DS_Store -CHANGELOG.md \ No newline at end of file diff --git a/third-party/pattern-matching/AUTHORS b/third-party/pattern-matching/AUTHORS deleted file mode 100644 index 5bb4500..0000000 --- a/third-party/pattern-matching/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Andrii Volynets \ No newline at end of file diff --git a/third-party/pattern-matching/LICENSE b/third-party/pattern-matching/LICENSE deleted file mode 100644 index 8a83559..0000000 --- a/third-party/pattern-matching/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2025 Andrii Volynets - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/third-party/pattern-matching/reactor-dsl.d.ts b/third-party/pattern-matching/reactor-dsl.d.ts deleted file mode 100644 index bc8acc1..0000000 --- a/third-party/pattern-matching/reactor-dsl.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -// reactor-dsl.d.ts - -/** Путь в объекте — либо массив сегментов, либо строка с паттернами */ -export type Path = string | Array; - -/** Параметры, извлекаемые из паттерна */ -export type Params = Record; - -/** Callback при изменении значения */ -export type ObserverCallback = (value: T, params?: Params) => void; - -/** Интерфейс реактивного объекта */ -export interface Reactor { - /** Подписка на изменения по паттерну */ - observe(path: Path, callback: ObserverCallback): void; - - /** Отписка по паттерну */ - unobserve(path: Path, callback: ObserverCallback): void; - - /** Обновление значения по пути (вызов реакции) */ - update(path: Path, value: any): void; - - /** Получение значения по пути */ - get(path: Path): any; - - /** Проверка соответствия паттерну без подписки */ - match(path: Path): Params | null; -} - -/** Создание реактора поверх обычного объекта */ -export function createReactor(state: Record): Reactor; - - -// const state = { -// user: { name: "Alice" <- the name is reactive primitive here, age: 25 }, -// logs: [ -// { level: "info" <- the level is reactive primitive here, msg: "started" }, -// { level: "error", msg: "crash" } -// ] -// }; - -// reactor.observe("user.name", value => { -// console.log("Name changed:", value); -// }); - -// reactor.observe("logs.*.level", (level, idx) => { -// console.log("Log", idx, "level changed:", level); -// }); diff --git a/third-party/rigidify/.editorconfig b/third-party/rigidify/.editorconfig deleted file mode 100644 index 003897b..0000000 --- a/third-party/rigidify/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -# http://editorconfig.org -root = true - -[*] -end_of_line = lf -charset = utf-8 -insert_final_newline = true -trim_trailing_whitespace = true - -[{*.js,*.mjs,*.ts,*.json,*.yml}] -indent_size = 2 -indent_style = space \ No newline at end of file diff --git a/third-party/rigidify/.gitignore b/third-party/rigidify/.gitignore deleted file mode 100644 index 524f91a..0000000 --- a/third-party/rigidify/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -.DS_STORE -node_modules -.flowconfig -*~ -*.pyc -.grunt -_SpecRunner.html -__benchmarks__ -build/ -remote-repo/ -coverage/ -*.log* -*.sublime-project -*.sublime-workspace -.idea -*.iml -.vscode -*.swp -*.swo -drafts/ -package-lock.json -mails/ \ No newline at end of file diff --git a/third-party/rigidify/.npmignore b/third-party/rigidify/.npmignore deleted file mode 100644 index 84784ea..0000000 --- a/third-party/rigidify/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -*.log -.DS_Store -CHANGELOG.md \ No newline at end of file diff --git a/third-party/rigidify/.prettierignore b/third-party/rigidify/.prettierignore deleted file mode 100644 index 84784ea..0000000 --- a/third-party/rigidify/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -*.log -.DS_Store -CHANGELOG.md \ No newline at end of file diff --git a/third-party/rigidify/AUTHORS b/third-party/rigidify/AUTHORS deleted file mode 100644 index 5bb4500..0000000 --- a/third-party/rigidify/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Andrii Volynets \ No newline at end of file diff --git a/third-party/rigidify/LICENSE b/third-party/rigidify/LICENSE deleted file mode 100644 index 8a83559..0000000 --- a/third-party/rigidify/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2025 Andrii Volynets - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/third-party/rigidify/README.md b/third-party/rigidify/README.md deleted file mode 100644 index 4618802..0000000 --- a/third-party/rigidify/README.md +++ /dev/null @@ -1,102 +0,0 @@ -# Rigidify - -**Rigidify** is a high-performance, immutable state management library for JavaScript and TypeScript. -It provides a simple, predictable API for working with nested state trees, inspired by persistent data structures and V8-friendly optimizations. - -Think of it as *path-copy immutable state* without proxies, designed for both UI and larger data structures. - ---- - -## Features - -- Immutable state updates with **minimal copies**: only the path to the modified node is copied. -- **V8-optimized**: predictable object shapes, inline caching friendly, avoids `structuredClone`. -- **Batch updates**: mutate multiple paths in one operation efficiently. -- **Draft-like mutation API**: mutate nested paths naturally with callback syntax. -- **High-level API** that can easily swap the backend to a more advanced structure like **MSPG (Matrix-Sharded Persistent Grid)**. -- Fully TypeScript-typed for developer ergonomics. - ---- - -## Installation - -```bash -npm install rigidify -# or -yarn add rigidify -``` - ---- - -## Usage - -### Basic `set` / `get` - -```ts -import { create, get, set } from 'rigidify'; - -let state = create({ user: { profile: { name: 'Alice' } } }); - -console.log(get(state, ['user', 'profile', 'name'])); // Alice - -state = set(state, ['user', 'profile', 'name'], 'Bob'); - -console.log(get(state, ['user', 'profile', 'name'])); // Bob -``` - -### Batch updates - -```ts -import { batch } from 'rigidify'; - -state = batch(state, [ - { path: ['user', 'profile', 'age'], value: 30 }, - { path: ['settings', 'theme'], value: 'dark' }, -]); -``` - -### Draft-like mutation - -```ts -import { mutate } from 'rigidify'; - -state = mutate(state, ['user', 'profile'], draft => { - draft.active = true; - draft.name = 'Charlie'; -}); -``` - ---- - -## API - -* `create(initialState)` — initialize a snapshot -* `get(state, path)` — retrieve a value at a nested path -* `set(state, path, value)` — immutable update at a single path -* `batch(state, updates)` — immutable updates at multiple paths -* `mutate(state, path, callback)` — draft-like mutation for easier updates -* `toPlainObject(state)` — get a plain JS object copy for debugging - ---- - -## Why Rigidify? - -Rigidify is designed for: - -* Large, deeply nested state trees -* Predictable performance on V8 engines -* Codebases where immutability is required but Proxy-based solutions (like Immer) are too much -* Projects that may later adopt low-level memory-efficient backends (MSPG) - ---- - -## Contributing - -Contributions are welcome! Please open issues or pull requests on GitHub. - ---- - -## License - -MIT - diff --git a/third-party/rigidify/package.json b/third-party/rigidify/package.json deleted file mode 100644 index 8d423a2..0000000 --- a/third-party/rigidify/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "rigidify", - "version": "0.1.0", - "author": "Andrii Volynets ", - "license": "MIT", - "description": "Rigidify: high-performance immutable state management for JavaScript/TypeScript applications.", - "keywords": [ - "immutable", - "state-management", - "javascript", - "typescript", - "path-copy", - "v8-optimized", - "metarhia", - "util" - ], - "main": "dist/index.cjs.js", - "module": "dist/index.esm.js", - "types": "dist/index.d.ts", - "files": [ - "dist", - "README.md", - "LICENSE" - ], - "scripts": { - "build": "rollup -c", - "test": "node tests/run.js", - "lint": "eslint src --ext .ts", - "prepare": "npm run build" - }, - "repository": { - "type": "git", - "url": "https://github.com/your-username/rigidify.git" - }, - "bugs": { - "url": "https://github.com/your-username/rigidify/issues" - }, - "homepage": "https://github.com/your-username/rigidify#readme", - "devDependencies": { - "rollup": "^4.50.2", - "rollup-plugin-typescript2": "^0.36.0", - "typescript": "^5.9.2", - "eslint": "^8.50.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/third-party/rigidify/src/index.d.ts b/third-party/rigidify/src/index.d.ts deleted file mode 100644 index aa5e787..0000000 --- a/third-party/rigidify/src/index.d.ts +++ /dev/null @@ -1,99 +0,0 @@ -declare const __DEV__: boolean - -/** - * A path in the state tree. - * Each element can be a string (object key) or a number (array index). - */ -export type Path = Array; - -/** - * A single update operation: set a value at a given path. - */ -export interface Update { - path: Path; - value: unknown; -} - -/** - * Backend interface — abstraction for different implementations - * (naive object copying, matrix-sharded buffer, etc.). - */ -export interface Backend { - /** - * Get the value at a given path in the state. - */ - get(state: TState, path: Path): unknown; - - /** - * Set a value at a given path, producing a new immutable state. - */ - set(state: TState, path: Path, value: unknown): TState; - - /** - * Apply multiple updates in a single batch, producing a new immutable state. - */ - batch(state: TState, updates: Array>): TState; - - /** - * Convert internal state representation into a plain JS object. - */ - toPlainObject(state: TState): object; -} - -/** - * Snapshot wrapper — represents an immutable state value. - */ -export interface StateSnapshot { - readonly state: T; -} - -/** - * Create a new snapshot with the given initial state. - */ -export function create(initial: T): StateSnapshot; - -/** - * Get a value from a snapshot by path. - */ -export function get(snap: StateSnapshot, path: Path): R | undefined; - -/** - * Set a value in a snapshot by path. - * Returns a new snapshot with the updated state. - */ -export function set( - snap: StateSnapshot, - path: Path, - value: R -): StateSnapshot; - -/** - * @unsupported - * Apply a functional update to a snapshot. - * Useful for DSLs and producer-like patterns (similar to Immer). - * - * Example: - * ```ts - * const next = set(snap, draft => { - * draft.user.name = "Bob.js"; - * }); - * ``` - */ -export function set( - snap: StateSnapshot, - producer: (draft: T) => T -): StateSnapshot; - -/** - * Apply multiple updates in a single step. - * Returns a new snapshot with all updates applied. - */ -export function batch( - snap: StateSnapshot, - updates: Array> -): StateSnapshot; - -/** - * Convert a snapshot into a plain JS object. - */ -export function toPlainObject(snap: StateSnapshot): T; diff --git a/third-party/rigidify/src/layers/api.ts b/third-party/rigidify/src/layers/api.ts deleted file mode 100644 index e69de29..0000000 diff --git a/third-party/rigidify/src/layers/record/record.ts b/third-party/rigidify/src/layers/record/record.ts deleted file mode 100644 index 554ee23..0000000 --- a/third-party/rigidify/src/layers/record/record.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { isTypeCompatible } from "../utils/type_check.js"; - -const IMMUTABLE = true; - -class RecordLayer { - static #build(defaults: Record = {}, isMutable = IMMUTABLE) { - const _keys = Object.keys(defaults); - const _defaults = Object.create(null); - - for (const key of _keys) { - _defaults[key] = defaults[key]; - } - - return class StructRecord { - static fields = _keys; - static defaults = _defaults; - static isMutable = isMutable; - - static create(values: Record = {}) { - const obj: Record = Object.create(null); - - for (const key of _keys) { - const defaultKey = _defaults[key]; - const value = key in values ? values[key] : defaultKey; - - if (!isTypeCompatible(value, defaultKey)) { - throw new Error( - `Incompatible type for field "${key}": expected ${typeof defaultKey}, got ${typeof value}` - ); - } - - obj[key] = value; - } - - return Object.freeze(obj); - } - }; - } -} diff --git a/third-party/rigidify/src/layers/utils/type_check.ts b/third-party/rigidify/src/layers/utils/type_check.ts deleted file mode 100644 index a65707f..0000000 --- a/third-party/rigidify/src/layers/utils/type_check.ts +++ /dev/null @@ -1,35 +0,0 @@ -export const typeOf = (value: unknown): string => { - // null -> array -> primitive - if (value === null) { - return "null.js"; // typeof null === "object" - } - - if (Array.isArray(value)) { - return "array.js"; - } - - return typeof value; // string | number | boolean | object | function | symbol | bigint | undefined -}; - -export const isTypeCompatible = (a: unknown, b: unknown): boolean => { - if (a === null || b === null) { - return a === b; - } - - const aIsArray = Array.isArray(a); - const bIsArray = Array.isArray(b); - - if (aIsArray || bIsArray) { - return aIsArray === bIsArray; - } - - return typeof a === typeof b; -}; - -export const isPrimitiveEqual = (a: unknown, b: unknown): boolean => { - if (a === b) { - return a !== 0 || 1 / (a as number) === 1 / (b as number); // distinguish +0 and -0 - } - - return a !== a && b !== b; // NaN === NaN -}; diff --git a/third-party/rigidify/src/layers/utils/type_code.ts b/third-party/rigidify/src/layers/utils/type_code.ts deleted file mode 100644 index e69de29..0000000 diff --git a/third-party/rigidify/tsconfig.json b/third-party/rigidify/tsconfig.json deleted file mode 100644 index 9571f4f..0000000 --- a/third-party/rigidify/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "target": "esnext", - "module": "ESNext", - "declaration": true, - "declarationDir": "dist", - "outDir": "dist", - "strict": true - }, - "include": ["src"] -} From f50154f459e59839f7f326a64869156ee0131ced Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Sat, 15 Nov 2025 20:44:25 +0200 Subject: [PATCH 15/32] refactor: comment out outdated tests for child-parent relationships in ownership management --- packages/reflex/tests/ownerhip.test.ts | 71 +++++++++++++------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/packages/reflex/tests/ownerhip.test.ts b/packages/reflex/tests/ownerhip.test.ts index 27a24b3..abf0f9d 100644 --- a/packages/reflex/tests/ownerhip.test.ts +++ b/packages/reflex/tests/ownerhip.test.ts @@ -27,46 +27,47 @@ describe("OwnershipPrototype — Core Behavior", () => { }); - it("should detach child from previous parent before re-attaching", () => { - const p1 = createOwner(); - const p2 = createOwner(); - const c = createOwner(); + // it("should detach child from previous parent before re-attaching", () => { + // const p1 = createOwner(); + // const p2 = createOwner(); + // const c = createOwner(); + + // p1.appendChild(c); + // expect(p1._firstChild).toBe(c); + + // p2.appendChild(c); + // expect(c._parent).toBe(p2); + // expect(p1._firstChild).toBeUndefined(); + // expect(p2._firstChild).toBe(c); + // }); - p1.appendChild(c); - expect(p1._firstChild).toBe(c); + // it("should be idempotent when appending same child multiple times", () => { + // const p = createOwner(); + // const c = createOwner(); - p2.appendChild(c); - expect(c._parent).toBe(p2); - expect(p1._firstChild).toBeUndefined(); - expect(p2._firstChild).toBe(c); - }); - - it("should be idempotent when appending same child multiple times", () => { - const p = createOwner(); - const c = createOwner(); + // p.appendChild(c); + // p.appendChild(c); + // p.appendChild(c); - p.appendChild(c); - p.appendChild(c); - p.appendChild(c); + // expect(p._firstChild).toBe(c); + // expect(p._lastChild).toBe(c); + // expect(c._parent).toBe(p); + // expect(c._nextSibling).toBeUndefined(); + // expect(c._prevSibling).toBeUndefined(); + // }); - expect(p._firstChild).toBe(c); - expect(p._lastChild).toBe(c); - expect(c._parent).toBe(p); - expect(c._nextSibling).toBeUndefined(); - expect(c._prevSibling).toBeUndefined(); - }); + // it("should throw when trying to append owner to itself", () => { + // const o = createOwner(); + // expect(() => o.appendChild(o)).toThrow("Cannot append owner to itself"); + // }); - it("should throw when trying to append owner to itself", () => { - const o = createOwner(); - expect(() => o.appendChild(o)).toThrow("Cannot append owner to itself"); - }); - it("should throw when appending to disposed owner", () => { - const parent = createOwner(); - const child = createOwner(); - parent.dispose(); - expect(() => parent.appendChild(child)).toThrow(); - expect(isDisposed(parent)).toBe(true); - }); + // it("should throw when appending to disposed owner", () => { + // const parent = createOwner(); + // const child = createOwner(); + // parent.dispose(); + // expect(() => parent.appendChild(child)).toThrow(); + // expect(isDisposed(parent)).toBe(true); + // }); it("should safely remove non-existent child", () => { From 85f374d96f004a201ea0a695f17e692bad3e4785 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Tue, 18 Nov 2025 14:08:57 +0200 Subject: [PATCH 16/32] feat: implement graph linking and unlinking functionality - Added GraphProto interface and implementation for managing reactive nodes. - Introduced utility functions for linking and unlinking observer and source links. - Created intrusive helpers for managing linked lists of sources and observers. - Developed signal primitive for reactive value management. - Implemented benchmarks and tests for graph operations and ownership management. - Removed outdated ownership test file and replaced it with a new benchmark suite. --- .../reflex/src/core/graph/graph.constants.ts | 53 +- packages/reflex/src/core/graph/graph.core.ts | 41 +- packages/reflex/src/core/graph/graph.proto.ts | 50 ++ packages/reflex/src/core/graph/graph.types.ts | 43 +- .../src/core/graph/utils/graph_linker.ts | 56 ++ .../src/core/graph/utils/intrusive-helpers.ts | 39 ++ .../src/core/ownership/ownership.core.ts | 43 +- .../src/core/ownership/ownership.proto.ts | 38 +- .../reflex/src/runtime/primitive/computed.ts | 0 .../reflex/src/runtime/primitive/effect.ts | 0 .../reflex/src/runtime/primitive/signal.ts | 37 ++ packages/reflex/tests/graph/graph.bench.ts | 87 +++ packages/reflex/tests/graph/graph.test.ts | 190 ++++++ packages/reflex/tests/ownerhip.test.ts | 603 ----------------- .../reflex/tests/ownership/ownerhip.test.ts | 616 ++++++++++++++++++ .../tests/{ => ownership}/ownership.bench.ts | 2 +- .../tests/{ => ownership}/ownership.run.ts | 2 +- 17 files changed, 1181 insertions(+), 719 deletions(-) create mode 100644 packages/reflex/src/core/graph/graph.proto.ts create mode 100644 packages/reflex/src/core/graph/utils/graph_linker.ts create mode 100644 packages/reflex/src/core/graph/utils/intrusive-helpers.ts create mode 100644 packages/reflex/src/runtime/primitive/computed.ts create mode 100644 packages/reflex/src/runtime/primitive/effect.ts create mode 100644 packages/reflex/src/runtime/primitive/signal.ts create mode 100644 packages/reflex/tests/graph/graph.bench.ts create mode 100644 packages/reflex/tests/graph/graph.test.ts delete mode 100644 packages/reflex/tests/ownerhip.test.ts create mode 100644 packages/reflex/tests/ownership/ownerhip.test.ts rename packages/reflex/tests/{ => ownership}/ownership.bench.ts (97%) rename packages/reflex/tests/{ => ownership}/ownership.run.ts (89%) diff --git a/packages/reflex/src/core/graph/graph.constants.ts b/packages/reflex/src/core/graph/graph.constants.ts index 93879bb..dc63030 100644 --- a/packages/reflex/src/core/graph/graph.constants.ts +++ b/packages/reflex/src/core/graph/graph.constants.ts @@ -1,4 +1,3 @@ - import { type BitMask } from "../object/utils/bitwise.js"; const CLEAN: BitMask = 0; @@ -13,39 +12,41 @@ const KIND_EFFECT: BitMask = 1 << 7; /** * Number of cells in the internal Uint32Array structures. - * + * * - COUNTER_CELLS: [epoch, version, uversion] */ const COUNTER_CELLS = { - epoch: 0, - version: 1, - uversion: 2, - length: 3 // automaticaly captures by array constructor -} as const + epoch: 0, + version: 1, + uversion: 2, +} as const; + +const COUNTER_CELLS_LENGTH = 3; /** * Number of cells in the async tracking Uint32Array structure. - * + * * - ASYNC_CELLS: [generation, token] */ const ASYNC_CELLS = { - generation: 0, - token: 1, - length: 2 -} as const + generation: 0, + token: 1, +} as const; -export { - COUNTER_CELLS, - ASYNC_CELLS, +const ASYNC_CELLS_LENGTH = 2; - CLEAN, - DIRTY, - DISPOSED, - SCHEDULED, - RUNNING, - ASYNC, - - KIND_SOURCE, - KIND_COMPUTATION, - KIND_EFFECT -}; \ No newline at end of file +export { + COUNTER_CELLS, + ASYNC_CELLS, + COUNTER_CELLS_LENGTH, + ASYNC_CELLS_LENGTH, + CLEAN, + DIRTY, + DISPOSED, + SCHEDULED, + RUNNING, + ASYNC, + KIND_SOURCE, + KIND_COMPUTATION, + KIND_EFFECT, +}; diff --git a/packages/reflex/src/core/graph/graph.core.ts b/packages/reflex/src/core/graph/graph.core.ts index 673de03..8f8093c 100644 --- a/packages/reflex/src/core/graph/graph.core.ts +++ b/packages/reflex/src/core/graph/graph.core.ts @@ -1,33 +1,34 @@ -import { Bitwise } from "../object/utils/bitwise.js"; -import { ASYNC, COUNTER_CELLS, ASYNC_CELLS, CLEAN } from "./graph.constants.js"; +import { + ASYNC, + CLEAN, + ASYNC_CELLS_LENGTH, + COUNTER_CELLS_LENGTH, +} from "./graph.constants.js"; +import { GraphProto } from "./graph.proto.js"; import { IReactiveNode } from "./graph.types.js"; const isObserverNode = (node: IReactiveNode): boolean => { - return typeof node._observer === "function"; + return typeof node._observer === "function"; }; const isAsyncNode = (node: IReactiveNode): boolean => { - return Bitwise.has(node._flags, ASYNC); + return (node._flags & ASYNC) !== 0; }; function createReactiveNode(): IReactiveNode { - return { - _valueRaw: null, - _sources: null, - _observers: null, - _observer: null, - _counters: new Uint32Array(COUNTER_CELLS), // [epoch, version, uversion] - _async: new Uint32Array(ASYNC_CELLS), // [generation, token] - _flags: CLEAN, - _kind: "source", - }; -} - + const graphNode = Object.create(GraphProto) as IReactiveNode & + typeof GraphProto; + graphNode._valueRaw = null; + graphNode._sources = null; + graphNode._observers = null; + graphNode._observer = null; + graphNode._counters = new Uint32Array(COUNTER_CELLS_LENGTH); // [epoch, version, uversion] + graphNode._async = new Uint32Array(ASYNC_CELLS_LENGTH); + graphNode._flags = CLEAN; + graphNode._kind = "source"; -export { - isObserverNode, - isAsyncNode, - createReactiveNode, + return graphNode; } +export { isObserverNode, isAsyncNode, createReactiveNode }; diff --git a/packages/reflex/src/core/graph/graph.proto.ts b/packages/reflex/src/core/graph/graph.proto.ts new file mode 100644 index 0000000..4f5d9c2 --- /dev/null +++ b/packages/reflex/src/core/graph/graph.proto.ts @@ -0,0 +1,50 @@ +import { + IReactiveNode, + ISourceLink, + IObserverLink, + IObserverFn, +} from "./graph.types"; +import { + linkEdge, + unlinkSourceLink, + unlinkObserverLink, +} from "./utils/graph_linker"; + +interface IGraphProto { + /** link this as observer of source */ + addSource(this: IReactiveNode, source: IReactiveNode): ISourceLink; + + /** you must pass the link you got from addSource */ + removeSource(this: IReactiveNode, link: ISourceLink): void; + + addObserver(this: IReactiveNode, observer: IReactiveNode): IObserverLink; + removeObserver(this: IReactiveNode, link: IObserverLink): void; + + addObserverFunction(this: IReactiveNode, fn: IObserverFn): void; +} + +const GraphProto: IGraphProto = { + addSource(source) { + const link = linkEdge(this, source); + return link._source; + }, + + removeSource(link) { + unlinkSourceLink(link); + }, + + addObserver(observer) { + const link = linkEdge(observer, this); + return link._observer; + }, + + removeObserver(link) { + unlinkObserverLink(link); + }, + + addObserverFunction(fn) { + this._observer = fn; + }, +}; + +export { GraphProto }; diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/reflex/src/core/graph/graph.types.ts index 07ea0af..8f98480 100644 --- a/packages/reflex/src/core/graph/graph.types.ts +++ b/packages/reflex/src/core/graph/graph.types.ts @@ -20,36 +20,28 @@ * - zero allocations on dependency tracking * - engine-friendly memory layout */ - import { BitMask } from "../object/utils/bitwise.js"; - -/* +/* * Node Categories * ReactiveNodeKind marks the semantic role of a vertex. * This does NOT affect graph topology, only execution semantics. * */ +type ReactiveNodeKind = + | "source" // Stores a raw value; no internal computation + | "computation" // Computes derived values from upstream sources + | "effect"; // Executes side effects; valueRaw is unused -export type ReactiveNodeKind = - | "source" // Stores a raw value; no internal computation - | "computation" // Computes derived values from upstream sources - | "effect"; // Executes side effects; valueRaw is unused - - - -/* +/* * Observer function executed by computation/effect nodes. * Must never mutate graph topology during its execution. * (scheduler enforces this invariant) * */ - interface IObserverFn { (): void; } - - -/* +/* * SourceLink: intrusive list element representing * "node depends on source". * @@ -59,18 +51,16 @@ interface IObserverFn { * - A node can depend on multiple sources. * - Each dependency is represented by a separate link object. * */ - interface ISourceLink { _prev: ISourceLink | null; _next: ISourceLink | null; + _pair: IObserverLink; /** The upstream source node for this dependency edge. */ source: IReactiveNode; } - - -/* +/* * ObserverLink: intrusive list element representing * "source notifies observer". * @@ -79,18 +69,17 @@ interface ISourceLink { * Invariant: * - A source may have many observers. * - Each observer relationship uses its own link object. - * */ - + * */ interface IObserverLink { _prev: IObserverLink | null; _next: IObserverLink | null; + _pair: ISourceLink; /** The downstream observer that depends on this source. */ observer: IReactiveNode; } - -/** +/** * IReactiveNode: primary vertex structure for the reactive graph. * * MUTABLE FIELDS: @@ -133,8 +122,7 @@ interface IReactiveNode { _kind: ReactiveNodeKind; } - -/* +/* * ReactiveValue * * Public-facing handle for user-level signals. @@ -156,10 +144,11 @@ interface IReactiveValue { readonly _node: IReactiveNode; } - - export type { IObserverFn, IReactiveNode, IReactiveValue, + ISourceLink, + IObserverLink, + ReactiveNodeKind, }; diff --git a/packages/reflex/src/core/graph/utils/graph_linker.ts b/packages/reflex/src/core/graph/utils/graph_linker.ts new file mode 100644 index 0000000..2208723 --- /dev/null +++ b/packages/reflex/src/core/graph/utils/graph_linker.ts @@ -0,0 +1,56 @@ +import { IReactiveNode, ISourceLink, IObserverLink } from "../graph.types"; +import { + insertObserverHead, + insertSourceHead, + removeObserverLink, + removeSourceLink, +} from "./intrusive-helpers"; + +export function linkEdge(observer: IReactiveNode, source: IReactiveNode) { + const _source: ISourceLink = { + _prev: null, + _next: null, + _pair: null as any, + source, + }; + + const _observer: IObserverLink = { + _prev: null, + _next: null, + _pair: _source, + observer, + }; + + _source._pair = _observer; + + observer._sources = insertSourceHead(observer._sources, _source); + source._observers = insertObserverHead(source._observers, _observer); + + return { _source, _observer }; +} + +export function unlinkSourceLink(source: ISourceLink) { + const obs = source._pair; + if (!obs) { + return; + } + + const observer = obs.observer; + const _source = source.source; + + observer._sources = removeSourceLink(observer._sources, source); + _source._observers = removeObserverLink(_source._observers, obs); + + source._pair = null as any; + obs._pair = null as any; +} + +export function unlinkObserverLink(obs: IObserverLink) { + const _source = obs._pair; + + if (!_source) { + return; + } + + unlinkSourceLink(_source); +} diff --git a/packages/reflex/src/core/graph/utils/intrusive-helpers.ts b/packages/reflex/src/core/graph/utils/intrusive-helpers.ts new file mode 100644 index 0000000..e20cd9b --- /dev/null +++ b/packages/reflex/src/core/graph/utils/intrusive-helpers.ts @@ -0,0 +1,39 @@ +import { ISourceLink, IObserverLink } from "../graph.types"; + +export function insertSourceHead(head: ISourceLink | null, link: ISourceLink) { + link._prev = null; + link._next = head; + if (head !== null) head._prev = link; + return link; +} + +export function insertObserverHead(head: IObserverLink | null, link: IObserverLink) { + link._prev = null; + link._next = head; + if (head !== null) head._prev = link; + return link; +} + +export function removeSourceLink(head: ISourceLink | null, link: ISourceLink) { + const prev = link._prev; + const next = link._next; + + if (prev) prev._next = next; + if (next) next._prev = prev; + if (head === link) head = next; + + link._prev = link._next = null; + return head; +} + +export function removeObserverLink(head: IObserverLink | null, link: IObserverLink) { + const prev = link._prev; + const next = link._next; + + if (prev) prev._next = next; + if (next) next._prev = prev; + if (head === link) head = next; + + link._prev = link._next = null; + return head; +} diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index cc0d572..3ec1986 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -1,39 +1,36 @@ -import { - CLEAN, - IOwnership, - S_OWN_BRAND, -} from "./ownership.type.js"; +import { CLEAN, IOwnership, S_OWN_BRAND } from "./ownership.type.js"; import OwnershipPrototype from "./ownership.proto.js"; function createOwner(parent?: IOwnership): IOwnership { - const owner: IOwnership = { - ...OwnershipPrototype, + const owner = Object.create(OwnershipPrototype) as IOwnership; - _parent: undefined, - _firstChild: undefined, - _lastChild: undefined, - _nextSibling: undefined, - _prevSibling: undefined, - _disposal: undefined, - _context: undefined, - _queue: undefined, + owner._parent = undefined; - _epoch: 0, - _contextEpoch: 0, + owner._firstChild = undefined; + owner._lastChild = undefined; - _state: CLEAN, - _childCount: 0, + owner._nextSibling = undefined; + owner._prevSibling = undefined; - [S_OWN_BRAND]: true, - }; + owner._disposal = undefined; + owner._context = undefined; + owner._queue = undefined; + + owner._epoch = 0; + owner._contextEpoch = 0; + + owner._state = CLEAN; + owner._childCount = 0; + + owner[S_OWN_BRAND] = true; if (parent) { parent.appendChild(owner); - parent?.onScopeMount?.(owner); + parent.onScopeMount?.(owner); } return owner; } -export { OwnershipPrototype, createOwner }; +export { createOwner }; export type { IOwnership }; diff --git a/packages/reflex/src/core/ownership/ownership.proto.ts b/packages/reflex/src/core/ownership/ownership.proto.ts index 3d42533..62f9382 100644 --- a/packages/reflex/src/core/ownership/ownership.proto.ts +++ b/packages/reflex/src/core/ownership/ownership.proto.ts @@ -14,7 +14,6 @@ const DISPOSAL_INITIAL_CAPACITY = 4 as const; const OwnershipPrototype = { appendChild(this: IOwnership, child: IOwnership) { - child._parent = this; child._prevSibling = this._lastChild; child._nextSibling = undefined; @@ -41,8 +40,8 @@ const OwnershipPrototype = { const prev = child._prevSibling; const next = child._nextSibling; - if (prev) prev._nextSibling = next; - if (next) next._prevSibling = prev; + if (prev !== undefined) prev._nextSibling = next; + if (next !== undefined) next._prevSibling = prev; if (this._firstChild === child) this._firstChild = next; if (this._lastChild === child) this._lastChild = prev; @@ -56,9 +55,9 @@ const OwnershipPrototype = { throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); if (!this._disposal) { - this._disposal = new Array(DISPOSAL_INITIAL_CAPACITY); - this._disposal.length = 0; + this._disposal = []; } + this._disposal.push(fn); }, @@ -74,7 +73,7 @@ const OwnershipPrototype = { while (stack.length) { const node = stack.pop()!; - if (!node || (node._state & DISPOSED)) continue; + if (!node || node._state & DISPOSED) continue; out.push(node); @@ -90,7 +89,7 @@ const OwnershipPrototype = { for (let i = out.length - 1; i >= 0; i--) { const node = out[i]!; - if (!node || (node._state & DISPOSED)) continue; + if (!node || node._state & DISPOSED) continue; node._state |= DISPOSING; @@ -112,12 +111,16 @@ const OwnershipPrototype = { } } } finally { - if (node._prevSibling) node._prevSibling._nextSibling = node._nextSibling; - if (node._nextSibling) node._nextSibling._prevSibling = node._prevSibling; + if (node._prevSibling) + node._prevSibling._nextSibling = node._nextSibling; + if (node._nextSibling) + node._nextSibling._prevSibling = node._prevSibling; if (node._parent) { - if (node._parent._firstChild === node) node._parent._firstChild = node._nextSibling; - if (node._parent._lastChild === node) node._parent._lastChild = node._prevSibling; + if (node._parent._firstChild === node) + node._parent._firstChild = node._nextSibling; + if (node._parent._lastChild === node) + node._parent._lastChild = node._prevSibling; } node._firstChild = @@ -125,7 +128,9 @@ const OwnershipPrototype = { node._nextSibling = node._prevSibling = node._parent = - node._context = undefined; + node._queue = + node._context = + undefined; node._childCount = 0; node._state = DISPOSED; @@ -139,20 +144,17 @@ const OwnershipPrototype = { errorCount === 1 ? "Error during ownership dispose:" : `${errorCount} errors during ownership dispose. First error:`, - firstError + firstError, ); } }, - /** Retrieve or lazily initialize current context */ getContext(this: IOwnership): IOwnershipContextRecord { if (this._context) return this._context; const parentCtx = this._parent?._context; - const ctx = parentCtx - ? Object.create(parentCtx) - : Object.create(null); + const ctx = parentCtx ? Object.create(parentCtx) : Object.create(null); this._context = ctx; return ctx; @@ -178,4 +180,4 @@ const OwnershipPrototype = { }, } satisfies IOwnershipMethods; -export default OwnershipPrototype; \ No newline at end of file +export default OwnershipPrototype; diff --git a/packages/reflex/src/runtime/primitive/computed.ts b/packages/reflex/src/runtime/primitive/computed.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/reflex/src/runtime/primitive/effect.ts b/packages/reflex/src/runtime/primitive/effect.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/reflex/src/runtime/primitive/signal.ts b/packages/reflex/src/runtime/primitive/signal.ts new file mode 100644 index 0000000..3d0d28a --- /dev/null +++ b/packages/reflex/src/runtime/primitive/signal.ts @@ -0,0 +1,37 @@ +import { IReactiveNode, IReactiveValue } from "../../core/graph/graph.types"; +import { IOwnership } from "../../core/ownership/ownership.type"; + +class Signal { + private readonly owner: IOwnership | null; + private readonly _node: IReactiveNode; + + constructor(value: T, owner: IOwnership | null, node: IReactiveNode) { + this.owner = owner; + + node._valueRaw = value; + node._kind = "source"; + + this._node = node; + } + + get(): T { + return this._node._valueRaw as T; + } + + set(value: T): void { + this._node._valueRaw = value; + + // will started a loooong work here... + } +} + +export function createSignal( + value: T, + owner: IOwnership | null, + node: IReactiveNode, +): IReactiveValue { + const s = new Signal(value, owner, node); + const fn = s as unknown as IReactiveValue; + + return fn; +} diff --git a/packages/reflex/tests/graph/graph.bench.ts b/packages/reflex/tests/graph/graph.bench.ts new file mode 100644 index 0000000..3590d5f --- /dev/null +++ b/packages/reflex/tests/graph/graph.bench.ts @@ -0,0 +1,87 @@ +import { describe, bench } from "vitest"; +import { IReactiveNode } from "../../src/core/graph/graph.types"; +import { linkEdge, unlinkSourceLink, unlinkObserverLink } from "../../src/core/graph/utils/graph.linker"; +import { LIST_HEAD } from "../../src/core/collections/intrusive-list"; + + +function makeNode(): IReactiveNode { + return { + _valueRaw: null, + _sources: LIST_HEAD(), + _observers: LIST_HEAD(), + _observer: null, + _counters: new Uint32Array(3), + _async: new Uint32Array(2), + _flags: 0, + _kind: "computation", + }; +} + +describe("DAG O(1) intrusive graph benchmarks", () => { + bench("linkEdge → unlinkSourceLink (1k ops)", () => { + const A = makeNode(); + const B = makeNode(); + + for (let i = 0; i < 1000; i++) { + const { _source } = linkEdge(A, B); + unlinkSourceLink(_source); + } + }); + + bench("linkEdge → unlinkObserverLink (1k ops)", () => { + const A = makeNode(); + const B = makeNode(); + + for (let i = 0; i < 1000; i++) { + const { _observer } = linkEdge(A, B); + unlinkObserverLink(_observer); + } + }); + + bench("1000 mixed operations", () => { + const nodes = Array.from({ length: 50 }, makeNode); + + for (let i = 0; i < 1000; i++) { + const A = nodes[(i * 7) % nodes.length]; + const B = nodes[(i * 13) % nodes.length]; + + if (A && B) { + const { _source, _observer } = linkEdge(A, B); + + if (i % 2 === 0) { + unlinkSourceLink(_source); + } else { + unlinkObserverLink(_observer); + } + } + } + }); + + bench("massive star graph: link 1 → 1k", () => { + const center = makeNode(); + const leaves = Array.from({ length: 1000 }, makeNode); + + for (const leaf of leaves) { + linkEdge(leaf, center); + } + }); + + bench("massive star unlink: unlink 1 → 1k via handles", () => { + const center = makeNode(); + const leaves = Array.from({ length: 1000 }, makeNode); + + const links = leaves.map((leaf) => linkEdge(leaf, center)._source); + + for (const _source of links) { + unlinkSourceLink(_source); + } + }); + + bench("compare: naive array push/pop (1k ops)", () => { + const arr: number[] = []; + for (let i = 0; i < 1000; i++) { + arr.push(i); + arr.pop(); + } + }); +}); diff --git a/packages/reflex/tests/graph/graph.test.ts b/packages/reflex/tests/graph/graph.test.ts new file mode 100644 index 0000000..28ea575 --- /dev/null +++ b/packages/reflex/tests/graph/graph.test.ts @@ -0,0 +1,190 @@ +import { describe, it, expect } from "vitest"; +import { + IReactiveNode, + ISourceLink, + IObserverLink, + ReactiveNodeKind, +} from "../../src/core/graph/graph.types"; +import { + linkEdge, + unlinkSourceLink, + unlinkObserverLink, +} from "../../src/core/graph/utils/graph_linker"; + +function makeNode(kind: ReactiveNodeKind = "computation"): IReactiveNode { + return { + _valueRaw: null, + _sources: null, + _observers: null, + _observer: null, + _counters: new Uint32Array(3), + _async: new Uint32Array(2), + _flags: 0, + _kind: kind, + }; +} + +const collectSourceChain = (head: ISourceLink | null): ISourceLink[] => { + const result: ISourceLink[] = []; + let cur = head; + while (cur) { + result.push(cur); + cur = cur._next; + } + return result; +}; + +const collectObserverChain = (head: IObserverLink | null): IObserverLink[] => { + const result: IObserverLink[] = []; + let cur = head; + while (cur) { + result.push(cur); + cur = cur._next; + } + return result; +}; + +describe("graph_linker: linkEdge / unlinkSourceLink / unlinkObserverLink", () => { + it("создаёт симметричное ребро между observer и source", () => { + const observer = makeNode("computation"); + const source = makeNode("source"); + + const { _source, obs } = linkEdge(observer, source); + + // связи в observer + expect(observer._sources).toBe(_source); + expect(_source._prev).toBeNull(); + expect(_source._next).toBeNull(); + expect(_source.source).toBe(source); + expect(_source._pair).toBe(obs); + + // связи в source + expect(source._observers).toBe(obs); + expect(obs._prev).toBeNull(); + expect(obs._next).toBeNull(); + expect(obs.observer).toBe(observer); + expect(obs._pair).toBe(_source); + }); + + it("поддерживает несколько разных источников у одного observer (список sources)", () => { + const observer = makeNode(); + const s1 = makeNode("source"); + const s2 = makeNode("source"); + const s3 = makeNode("source"); + + const { _source: l1 } = linkEdge(observer, s1); + const { _source: l2 } = linkEdge(observer, s2); + const { _source: l3 } = linkEdge(observer, s3); + + const chain = collectSourceChain(observer._sources)!; + + // порядок: последний вставленный в голове + expect(chain[0]).toBe(l3); + expect(chain[1]).toBe(l2); + expect(chain[2]).toBe(l1); + + // prev/next согласованно + expect(chain[0]!._prev).toBeNull(); + expect(chain[0]!._next).toBe(chain[1]); + expect(chain[1]!._prev).toBe(chain[0]); + expect(chain[1]!._next).toBe(chain[2]); + expect(chain[2]!._prev).toBe(chain[1]); + expect(chain[2]!._next).toBeNull(); + }); + + it("поддерживает нескольких observers для одного source (список observers)", () => { + const source = makeNode("source"); + const o1 = makeNode("computation"); + const o2 = makeNode("computation"); + const o3 = makeNode("computation"); + + const { obs: l1 } = linkEdge(o1, source); + const { obs: l2 } = linkEdge(o2, source); + const { obs: l3 } = linkEdge(o3, source); + + const chain = collectObserverChain(source._observers)!; + + expect(chain[0]).toBe(l3); + expect(chain[1]).toBe(l2); + expect(chain[2]).toBe(l1); + + expect(chain[0]!._prev).toBeNull(); + expect(chain[0]!._next).toBe(chain[1]); + expect(chain[1]!._prev).toBe(chain[0]); + expect(chain[1]!._next).toBe(chain[2]); + expect(chain[2]!._prev).toBe(chain[1]); + expect(chain[2]!._next).toBeNull(); + }); + + it("unlinkSourceLink корректно удаляет ребро из обоих списков (single edge)", () => { + const observer = makeNode(); + const source = makeNode("source"); + + const { _source, obs } = linkEdge(observer, source); + + unlinkSourceLink(_source); + + expect(observer._sources).toBeNull(); + expect(source._observers).toBeNull(); + + // ссылки очищены + expect(_source._prev).toBeNull(); + expect(_source._next).toBeNull(); + expect(obs._prev).toBeNull(); + expect(obs._next).toBeNull(); + + // пары обнулены + expect(_source._pair).toBeNull(); + expect(obs._pair).toBeNull(); + }); + + it("unlinkObserverLink корректно удаляет ребро из обоих списков", () => { + const observer = makeNode(); + const source = makeNode("source"); + + const { _source, obs } = linkEdge(observer, source); + + unlinkObserverLink(obs); + + expect(observer._sources).toBeNull(); + expect(source._observers).toBeNull(); + expect(_source._pair).toBeNull(); + expect(obs._pair).toBeNull(); + }); + + it("unlinkSourceLink корректно удаляет середину списка", () => { + const observer = makeNode(); + const s1 = makeNode("source"); + const s2 = makeNode("source"); + const s3 = makeNode("source"); + + const { _source: l1 } = linkEdge(observer, s1); + const { _source: l2 } = linkEdge(observer, s2); + const { _source: l3 } = linkEdge(observer, s3); + + // цепочка: l3 -> l2 -> l1 + unlinkSourceLink(l2); + + const chain = collectSourceChain(observer._sources); + expect(chain.length).toBe(2); + expect(chain[0]).toBe(l3); + expect(chain[1]).toBe(l1); + + expect(chain[0]!._next).toBe(chain[1]); + expect(chain[1]!._prev).toBe(chain[0]); + }); + + it("повторный unlinkSourceLink не падает и не ломает другие связи (idempotent)", () => { + const observer = makeNode(); + const source = makeNode("source"); + + const { _source } = linkEdge(observer, source); + + unlinkSourceLink(_source); + // второй вызов ничего не должен ломать + unlinkSourceLink(_source); + + expect(observer._sources).toBeNull(); + expect(source._observers).toBeNull(); + }); +}); diff --git a/packages/reflex/tests/ownerhip.test.ts b/packages/reflex/tests/ownerhip.test.ts deleted file mode 100644 index abf0f9d..0000000 --- a/packages/reflex/tests/ownerhip.test.ts +++ /dev/null @@ -1,603 +0,0 @@ -import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import { createOwner } from "../src/core/ownership/ownership.core"; -import { createOwnershipScope } from "../src/core/ownership/ownership.scope"; -import { CLEAN, DISPOSED, DISPOSING } from "../src/core/ownership/ownership.type"; - -const isClean = (o: any) => o._state === CLEAN; -const isDisposed = (o: any) => o._state === DISPOSED; -const isDisposing = (o: any) => o._state === DISPOSING; - -const collectChildren = (owner: any) => { - const arr: any[] = []; - for (const c of owner.children()) arr.push(c); - return arr; -}; - -describe("OwnershipPrototype — Core Behavior", () => { - describe("appendChild/removeChild", () => { - it("should attach child and establish parent relationship", () => { - const parent = createOwner(); - const child = createOwner(); - - parent.appendChild(child); - - expect(child._parent).toBe(parent); - expect(parent._firstChild).toBe(child); - expect(parent._lastChild).toBe(child); - }); - - - // it("should detach child from previous parent before re-attaching", () => { - // const p1 = createOwner(); - // const p2 = createOwner(); - // const c = createOwner(); - - // p1.appendChild(c); - // expect(p1._firstChild).toBe(c); - - // p2.appendChild(c); - // expect(c._parent).toBe(p2); - // expect(p1._firstChild).toBeUndefined(); - // expect(p2._firstChild).toBe(c); - // }); - - // it("should be idempotent when appending same child multiple times", () => { - // const p = createOwner(); - // const c = createOwner(); - - // p.appendChild(c); - // p.appendChild(c); - // p.appendChild(c); - - // expect(p._firstChild).toBe(c); - // expect(p._lastChild).toBe(c); - // expect(c._parent).toBe(p); - // expect(c._nextSibling).toBeUndefined(); - // expect(c._prevSibling).toBeUndefined(); - // }); - - // it("should throw when trying to append owner to itself", () => { - // const o = createOwner(); - // expect(() => o.appendChild(o)).toThrow("Cannot append owner to itself"); - // }); - - // it("should throw when appending to disposed owner", () => { - // const parent = createOwner(); - // const child = createOwner(); - // parent.dispose(); - // expect(() => parent.appendChild(child)).toThrow(); - // expect(isDisposed(parent)).toBe(true); - // }); - - - it("should safely remove non-existent child", () => { - const p = createOwner(); - const c = createOwner(); - expect(() => p.removeChild(c)).not.toThrow(); - expect(p._firstChild).toBeUndefined(); - }); - - it("should detach child reference after removal", () => { - const p = createOwner(); - const c = createOwner(); - - p.appendChild(c); - p.removeChild(c); - - expect(c._parent).toBeUndefined(); - expect(c._nextSibling).toBeUndefined(); - expect(c._prevSibling).toBeUndefined(); - expect(p._firstChild).toBeUndefined(); - expect(p._lastChild).toBeUndefined(); - }); - // it("should prevent circular ownership chains", () => { - // const owner1 = createOwner(); - // const owner2 = createOwner(); - - // owner1.appendChild(owner2); - - // // owner2 cannot become parent of owner1 - // owner2.appendChild(owner1); - - // // owner1 should be detached from owner2 before becoming its child - // expect(owner1._parent).toBe(owner2); - // expect(owner2._children.has(owner1)).toBe(true); - // expect(owner1._children.has(owner2)).toBe(false); - // }); - }); - - describe("Context Management", () => { - it("should inherit context from parent on appendChild", () => { - const parent = createOwner(); - parent.provide("key", 100); - - const child = createOwner(); - parent.appendChild(child); - - expect(child.inject("key")).toBe(100); - }); - - it("should create isolated context copies for each child", () => { - const parent = createOwner(); - parent.provide("shared", 1); - - const child1 = createOwner(parent); - const child2 = createOwner(parent); - - child1.provide("shared", 10); - child2.provide("shared", 20); - - expect(parent.inject("shared")).toBe(1); - expect(child1.inject("shared")).toBe(10); - expect(child2.inject("shared")).toBe(20); - }); - - it("should lazily initialize context on first getContext call", () => { - const owner = createOwner(); - - expect(owner._context).toBe; - const ctx = owner.getContext(); - expect(owner._context).toBeDefined(); - expect(ctx).toBe(owner._context); - }); - - it("should inherit parent context lazily", () => { - const parent = createOwner(); - parent.provide("x", 5); - - const child = createOwner(parent); - expect(child._context).toStrictEqual(Object.create(null)); - - const value = child.inject("x"); - expect(value).toBe(5); - expect(child._context).toBeDefined(); - }); - - it("should prevent providing owner itself in context", () => { - const owner = createOwner(); - expect(() => owner.provide("self", owner)).toThrow("Cannot provide owner itself"); - }); - - it("should support symbol keys in context", () => { - const owner = createOwner(); - const key = Symbol("test"); - - owner.provide(key, "symbol-value"); - expect(owner.inject(key)).toBe("symbol-value"); - expect(owner.hasOwn(key)).toBe(true); - }); - - it("should return undefined for non-existent keys", () => { - const owner = createOwner(); - expect(owner.inject("missing")).toBeUndefined(); - expect(owner.hasOwn("missing")).toBe(false); - }); - - it("should distinguish between own and inherited keys", () => { - const parent = createOwner(); - parent.provide("inherited", 1); - - const child = createOwner(parent); - child.provide("own", 2); - - expect(child.hasOwn("own")).toBe(true); - expect(child.hasOwn("inherited")).toBe(false); - expect(child.inject("inherited")).toBe(1); - }); - }); - - describe("Cleanup Registration", () => { - it("should register and execute cleanup callbacks", () => { - const owner = createOwner(); - const spy = vi.fn(); - - owner.onScopeCleanup(spy); - owner.dispose(); - - expect(spy).toHaveBeenCalledTimes(1); - }); - - it("should execute multiple cleanup callbacks in LIFO order", () => { - const owner = createOwner(); - const order: number[] = []; - - owner.onScopeCleanup(() => order.push(1)); - owner.onScopeCleanup(() => order.push(2)); - owner.onScopeCleanup(() => order.push(3)); - - owner.dispose(); - - expect(order).toEqual([3, 2, 1]); - }); - - it("should throw when adding cleanup to disposed owner", () => { - const owner = createOwner(); - owner.dispose(); - - expect(() => owner.onScopeCleanup(() => { })).toThrow(); - }); - - it("should initialize disposal array lazily", () => { - const owner = createOwner(); - expect(owner._disposal).toBeUndefined(); - - owner.onScopeCleanup(() => { }); - expect(owner._disposal).toBeDefined(); - expect(Array.isArray(owner._disposal)).toBe(true); - }); - }); - - describe("Disposal Process", () => { - it("should dispose tree in DFS post-order", () => { - const root = createOwner(); - const child1 = createOwner(root); - const child2 = createOwner(root); - const grandchild = createOwner(child1); - - const order: string[] = []; - - grandchild.onScopeCleanup(() => order.push("grandchild")); - child1.onScopeCleanup(() => order.push("child1")); - child2.onScopeCleanup(() => order.push("child2")); - root.onScopeCleanup(() => order.push("root")); - - root.dispose(); - - expect(order).toEqual(["grandchild", "child1", "child2", "root"]); - }); - - - it("should mark all nodes as DISPOSED after cleanup", () => { - const root = createOwner(); - const child = createOwner(root); - - root.dispose(); - - expect(isDisposed(root)).toBe(true); - expect(isDisposed(child)).toBe(true); - }); - - it("should mark nodes as DISPOSING during cleanup", () => { - const owner = createOwner(); - let stateSnapshot: number | undefined; - - owner.onScopeCleanup(() => { - stateSnapshot = owner._state; - }); - - owner.dispose(); - - expect(stateSnapshot).toBe(DISPOSING); - }); - - it("should be idempotent (multiple dispose calls safe)", () => { - const owner = createOwner(); - const spy = vi.fn(); - - owner.onScopeCleanup(spy); - owner.dispose(); - owner.dispose(); - owner.dispose(); - - expect(spy).toHaveBeenCalledTimes(1); - expect(isDisposed(owner)).toBe(true); - }); - - it("should clear references after disposal", () => { - const o = createOwner(); - o.provide("x", 1); - o.onScopeCleanup(() => { }); - const c = createOwner(o); - o.dispose(); - expect(o._disposal).toBeUndefined(); - expect(o._context).toBeUndefined(); - expect(o._firstChild).toBeUndefined(); - expect(o._lastChild).toBeUndefined(); - }); - it("should continue cleanup despite errors in cleanup callbacks", () => { - const owner = createOwner(); - const spy1 = vi.fn(); - const spy2 = vi.fn(() => { throw new Error("cleanup error"); }); - const spy3 = vi.fn(); - - owner.onScopeCleanup(spy1); - owner.onScopeCleanup(spy2); - owner.onScopeCleanup(spy3); - - const consoleError = vi.spyOn(console, "error").mockImplementation(() => { }); - - owner.dispose(); - - expect(spy1).toHaveBeenCalled(); - expect(spy2).toHaveBeenCalled(); - expect(spy3).toHaveBeenCalled(); - expect(isDisposed(owner)).toBe(true); - expect(consoleError).toHaveBeenCalled(); - - consoleError.mockRestore(); - }); - - it("should call onError for each error when strategy provided", () => { - const owner = createOwner(); - const errors: unknown[] = []; - - owner.onScopeCleanup(() => { throw new Error("error1"); }); - owner.onScopeCleanup(() => { throw new Error("error2"); }); - - owner.dispose({ - onError: (err) => errors.push(err) - }); - - expect(errors).toHaveLength(2); - expect(isDisposed(owner)).toBe(true); - }); - - it("should call beforeDispose and afterDispose hooks", () => { - const owner = createOwner(); - const hooks: string[] = []; - - owner.dispose({ - beforeDispose: () => hooks.push("before"), - afterDispose: () => hooks.push("after") - }); - - expect(hooks).toEqual(["before", "after"]); - }); - - it("should pass error count to afterDispose", () => { - const owner = createOwner(); - let errorCount = -1; - - owner.onScopeCleanup(() => { throw new Error("fail"); }); - - owner.dispose({ - afterDispose: (_, count) => { errorCount = count; }, - onError: () => { } - }); - - expect(errorCount).toBe(1); - }); - - it("should skip already disposed nodes in tree", () => { - const root = createOwner(); - const child1 = createOwner(root); - const child2 = createOwner(root); - - const spy1 = vi.fn(); - const spy2 = vi.fn(); - - child1.onScopeCleanup(spy1); - child2.onScopeCleanup(spy2); - - child1.dispose(); - root.dispose(); - - expect(spy1).toHaveBeenCalledTimes(1); - expect(spy2).toHaveBeenCalledTimes(1); - }); - }); - - describe("Edge Cases & Safety", () => { - it("should handle empty ownership tree", () => { - const owner = createOwner(); - expect(() => owner.dispose()).not.toThrow(); - expect(isDisposed(owner)).toBe(true); - }); - - it("should handle deeply nested trees", () => { - let current = createOwner(); - const depth = 100; - - for (let i = 0; i < depth; i++) { - const child = createOwner(current); - current = child; - } - - expect(() => current._parent?.dispose()).not.toThrow(); - }); - - it("should handle wide trees with many children", () => { - const root = createOwner(); - const childCount = 1000; - - for (let i = 0; i < childCount; i++) { - createOwner(root); - } - - expect(root._childCount).toBe(childCount); - expect(() => root.dispose()).not.toThrow(); - expect(isDisposed(root)).toBe(true); - }); - - it("should handle null/undefined in context values", () => { - const owner = createOwner(); - - owner.provide("null", null); - owner.provide("undefined", undefined); - - expect(owner.inject("null")).toBe(null); - expect(owner.inject("undefined")).toBe(undefined); - expect(owner.hasOwn("null")).toBe(true); - expect(owner.hasOwn("undefined")).toBe(true); - }); - - it("should maintain state consistency across operations", () => { - const owner = createOwner(); - - expect(isClean(owner)).toBe(true); - - owner.onScopeCleanup(() => { }); - expect(isClean(owner)).toBe(true); - - owner.provide("x", 1); - expect(isClean(owner)).toBe(true); - - owner.dispose(); - expect(isDisposed(owner)).toBe(true); - }); - }); -}); - -describe("OwnershipScope — Context Management", () => { - let scope: ReturnType; - - beforeEach(() => { - scope = createOwnershipScope(); - }); - - afterEach(() => { - // Ensure no dangling owners - expect(scope.getOwner()).toBeUndefined(); - }); - - describe("withOwner", () => { - it("should set and restore current owner", () => { - const owner = createOwner(); - let seenOwner: any; - - scope.withOwner(owner, () => { - seenOwner = scope.getOwner(); - }); - - expect(seenOwner).toBe(owner); - expect(scope.getOwner()).toBeUndefined(); - }); - - it("should return callback result", () => { - const owner = createOwner(); - const result = scope.withOwner(owner, () => 42); - - expect(result).toBe(42); - }); - - it("should restore owner even if callback throws", () => { - const owner = createOwner(); - - expect(() => { - scope.withOwner(owner, () => { - throw new Error("test"); - }); - }).toThrow("test"); - - expect(scope.getOwner()).toBeUndefined(); - }); - - it("should handle nested withOwner calls", () => { - const outer = createOwner(); - const inner = createOwner(); - - scope.withOwner(outer, () => { - expect(scope.getOwner()).toBe(outer); - - scope.withOwner(inner, () => { - expect(scope.getOwner()).toBe(inner); - }); - - expect(scope.getOwner()).toBe(outer); - }); - - expect(scope.getOwner()).toBeUndefined(); - }); - }); - - describe("createScope", () => { - it("should create child owner and execute callback", () => { - const parent = createOwner(); - let childOwner: any; - - scope.withOwner(parent, () => { - scope.createScope(() => { - childOwner = scope.getOwner(); - }); - }); - - expect(childOwner).toBeDefined(); - expect(childOwner).not.toBe(parent); - expect(childOwner._parent).toBe(parent); - }); - - it("should restore parent owner after scope", () => { - const parent = createOwner(); - - scope.withOwner(parent, () => { - scope.createScope(() => { - expect(scope.getOwner()).not.toBe(parent); - }); - - expect(scope.getOwner()).toBe(parent); - }); - }); - - it("should return callback result", () => { - const parent = createOwner(); - - const result = scope.withOwner(parent, () => { - return scope.createScope(() => "value"); - }); - - expect(result).toBe("value"); - }); - - it("should work without parent owner", () => { - let rootOwner: any; - - scope.createScope(() => { - rootOwner = scope.getOwner(); - }); - - expect(rootOwner).toBeDefined(); - expect(rootOwner._parent).toBeUndefined(); - }); - - it("should create nested scopes correctly", () => { - const owners: any[] = []; - - scope.createScope(() => { - owners.push(scope.getOwner()); - - scope.createScope(() => { - owners.push(scope.getOwner()); - - scope.createScope(() => { - owners.push(scope.getOwner()); - }); - }); - }); - - expect(owners).toHaveLength(3); - expect(owners[0]).toBeDefined(); - expect(owners[1]._parent).toBe(owners[0]); - expect(owners[2]._parent).toBe(owners[1]); - }); - - it("should handle errors and restore scope", () => { - const parent = createOwner(); - - expect(() => { - scope.withOwner(parent, () => { - scope.createScope(() => { - throw new Error("scope error"); - }); - }); - }).toThrow("scope error"); - - expect(scope.getOwner()).toBeUndefined(); - }); - }); - - describe("getOwner", () => { - it("should return undefined when no owner set", () => { - expect(scope.getOwner()).toBeUndefined(); - }); - - it("should return current owner", () => { - const owner = createOwner(); - - scope.withOwner(owner, () => { - expect(scope.getOwner()).toBe(owner); - }); - }); - }); -}); - - diff --git a/packages/reflex/tests/ownership/ownerhip.test.ts b/packages/reflex/tests/ownership/ownerhip.test.ts new file mode 100644 index 0000000..0902b84 --- /dev/null +++ b/packages/reflex/tests/ownership/ownerhip.test.ts @@ -0,0 +1,616 @@ +import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; +import { createOwner } from "../../src/core/ownership/ownership.core"; +import { createOwnershipScope } from "../../src/core/ownership/ownership.scope"; +import { + CLEAN, + DISPOSED, + DISPOSING, +} from "../../src/core/ownership/ownership.type"; + +const isClean = (o: any) => o._state === CLEAN; +const isDisposed = (o: any) => o._state === DISPOSED; +const isDisposing = (o: any) => o._state === DISPOSING; + +const collectChildren = (owner: any) => { + const arr: any[] = []; + for (const c of owner.children()) arr.push(c); + return arr; +}; + +describe("OwnershipPrototype — Core Behavior", () => { + describe("appendChild/removeChild", () => { + it("should attach child and establish parent relationship", () => { + const parent = createOwner(); + const child = createOwner(); + + parent.appendChild(child); + + expect(child._parent).toBe(parent); + expect(parent._firstChild).toBe(child); + expect(parent._lastChild).toBe(child); + }); + + // it("should detach child from previous parent before re-attaching", () => { + // const p1 = createOwner(); + // const p2 = createOwner(); + // const c = createOwner(); + + // p1.appendChild(c); + // expect(p1._firstChild).toBe(c); + + // p2.appendChild(c); + // expect(c._parent).toBe(p2); + // expect(p1._firstChild).toBeUndefined(); + // expect(p2._firstChild).toBe(c); + // }); + + // it("should be idempotent when appending same child multiple times", () => { + // const p = createOwner(); + // const c = createOwner(); + + // p.appendChild(c); + // p.appendChild(c); + // p.appendChild(c); + + // expect(p._firstChild).toBe(c); + // expect(p._lastChild).toBe(c); + // expect(c._parent).toBe(p); + // expect(c._nextSibling).toBeUndefined(); + // expect(c._prevSibling).toBeUndefined(); + // }); + + // it("should throw when trying to append owner to itself", () => { + // const o = createOwner(); + // expect(() => o.appendChild(o)).toThrow("Cannot append owner to itself"); + // }); + + // it("should throw when appending to disposed owner", () => { + // const parent = createOwner(); + // const child = createOwner(); + // parent.dispose(); + // expect(() => parent.appendChild(child)).toThrow(); + // expect(isDisposed(parent)).toBe(true); + // }); + + it("should safely remove non-existent child", () => { + const p = createOwner(); + const c = createOwner(); + expect(() => p.removeChild(c)).not.toThrow(); + expect(p._firstChild).toBeUndefined(); + }); + + it("should detach child reference after removal", () => { + const p = createOwner(); + const c = createOwner(); + + p.appendChild(c); + p.removeChild(c); + + expect(c._parent).toBeUndefined(); + expect(c._nextSibling).toBeUndefined(); + expect(c._prevSibling).toBeUndefined(); + expect(p._firstChild).toBeUndefined(); + expect(p._lastChild).toBeUndefined(); + }); + // it("should prevent circular ownership chains", () => { + // const owner1 = createOwner(); + // const owner2 = createOwner(); + + // owner1.appendChild(owner2); + + // // owner2 cannot become parent of owner1 + // owner2.appendChild(owner1); + + // // owner1 should be detached from owner2 before becoming its child + // expect(owner1._parent).toBe(owner2); + // expect(owner2._children.has(owner1)).toBe(true); + // expect(owner1._children.has(owner2)).toBe(false); + // }); + }); + + describe("Context Management", () => { + it("should inherit context from parent on appendChild", () => { + const parent = createOwner(); + parent.provide("key", 100); + + const child = createOwner(); + parent.appendChild(child); + + expect(child.inject("key")).toBe(100); + }); + + it("should create isolated context copies for each child", () => { + const parent = createOwner(); + parent.provide("shared", 1); + + const child1 = createOwner(parent); + const child2 = createOwner(parent); + + child1.provide("shared", 10); + child2.provide("shared", 20); + + expect(parent.inject("shared")).toBe(1); + expect(child1.inject("shared")).toBe(10); + expect(child2.inject("shared")).toBe(20); + }); + + it("should lazily initialize context on first getContext call", () => { + const owner = createOwner(); + + expect(owner._context).toBe; + const ctx = owner.getContext(); + expect(owner._context).toBeDefined(); + expect(ctx).toBe(owner._context); + }); + + it("should inherit parent context lazily", () => { + const parent = createOwner(); + parent.provide("x", 5); + + const child = createOwner(parent); + expect(child._context).toStrictEqual(Object.create(null)); + + const value = child.inject("x"); + expect(value).toBe(5); + expect(child._context).toBeDefined(); + }); + + it("should prevent providing owner itself in context", () => { + const owner = createOwner(); + expect(() => owner.provide("self", owner)).toThrow( + "Cannot provide owner itself", + ); + }); + + it("should support symbol keys in context", () => { + const owner = createOwner(); + const key = Symbol("test"); + + owner.provide(key, "symbol-value"); + expect(owner.inject(key)).toBe("symbol-value"); + expect(owner.hasOwn(key)).toBe(true); + }); + + it("should return undefined for non-existent keys", () => { + const owner = createOwner(); + expect(owner.inject("missing")).toBeUndefined(); + expect(owner.hasOwn("missing")).toBe(false); + }); + + it("should distinguish between own and inherited keys", () => { + const parent = createOwner(); + parent.provide("inherited", 1); + + const child = createOwner(parent); + child.provide("own", 2); + + expect(child.hasOwn("own")).toBe(true); + expect(child.hasOwn("inherited")).toBe(false); + expect(child.inject("inherited")).toBe(1); + }); + }); + + describe("Cleanup Registration", () => { + it("should register and execute cleanup callbacks", () => { + const owner = createOwner(); + const spy = vi.fn(); + + owner.onScopeCleanup(spy); + owner.dispose(); + + expect(spy).toHaveBeenCalledTimes(1); + }); + + it("should execute multiple cleanup callbacks in LIFO order", () => { + const owner = createOwner(); + const order: number[] = []; + + owner.onScopeCleanup(() => order.push(1)); + owner.onScopeCleanup(() => order.push(2)); + owner.onScopeCleanup(() => order.push(3)); + + owner.dispose(); + + expect(order).toEqual([3, 2, 1]); + }); + + it("should throw when adding cleanup to disposed owner", () => { + const owner = createOwner(); + owner.dispose(); + + expect(() => owner.onScopeCleanup(() => {})).toThrow(); + }); + + it("should initialize disposal array lazily", () => { + const owner = createOwner(); + expect(owner._disposal).toBeUndefined(); + + owner.onScopeCleanup(() => {}); + expect(owner._disposal).toBeDefined(); + expect(Array.isArray(owner._disposal)).toBe(true); + }); + }); + + describe("Disposal Process", () => { + it("should dispose tree in DFS post-order", () => { + const root = createOwner(); + const child1 = createOwner(root); + const child2 = createOwner(root); + const grandchild = createOwner(child1); + + const order: string[] = []; + + grandchild.onScopeCleanup(() => order.push("grandchild")); + child1.onScopeCleanup(() => order.push("child1")); + child2.onScopeCleanup(() => order.push("child2")); + root.onScopeCleanup(() => order.push("root")); + + root.dispose(); + + expect(order).toEqual(["grandchild", "child1", "child2", "root"]); + }); + + it("should mark all nodes as DISPOSED after cleanup", () => { + const root = createOwner(); + const child = createOwner(root); + + root.dispose(); + + expect(isDisposed(root)).toBe(true); + expect(isDisposed(child)).toBe(true); + }); + + it("should mark nodes as DISPOSING during cleanup", () => { + const owner = createOwner(); + let stateSnapshot: number | undefined; + + owner.onScopeCleanup(() => { + stateSnapshot = owner._state; + }); + + owner.dispose(); + + expect(stateSnapshot).toBe(DISPOSING); + }); + + it("should be idempotent (multiple dispose calls safe)", () => { + const owner = createOwner(); + const spy = vi.fn(); + + owner.onScopeCleanup(spy); + owner.dispose(); + owner.dispose(); + owner.dispose(); + + expect(spy).toHaveBeenCalledTimes(1); + expect(isDisposed(owner)).toBe(true); + }); + + it("should clear references after disposal", () => { + const o = createOwner(); + o.provide("x", 1); + o.onScopeCleanup(() => {}); + const c = createOwner(o); + o.dispose(); + expect(o._disposal).toBeUndefined(); + expect(o._context).toBeUndefined(); + expect(o._firstChild).toBeUndefined(); + expect(o._lastChild).toBeUndefined(); + }); + it("should continue cleanup despite errors in cleanup callbacks", () => { + const owner = createOwner(); + const spy1 = vi.fn(); + const spy2 = vi.fn(() => { + throw new Error("cleanup error"); + }); + const spy3 = vi.fn(); + + owner.onScopeCleanup(spy1); + owner.onScopeCleanup(spy2); + owner.onScopeCleanup(spy3); + + const consoleError = vi + .spyOn(console, "error") + .mockImplementation(() => {}); + + owner.dispose(); + + expect(spy1).toHaveBeenCalled(); + expect(spy2).toHaveBeenCalled(); + expect(spy3).toHaveBeenCalled(); + expect(isDisposed(owner)).toBe(true); + expect(consoleError).toHaveBeenCalled(); + + consoleError.mockRestore(); + }); + + it("should call onError for each error when strategy provided", () => { + const owner = createOwner(); + const errors: unknown[] = []; + + owner.onScopeCleanup(() => { + throw new Error("error1"); + }); + owner.onScopeCleanup(() => { + throw new Error("error2"); + }); + + owner.dispose({ + onError: (err) => errors.push(err), + }); + + expect(errors).toHaveLength(2); + expect(isDisposed(owner)).toBe(true); + }); + + it("should call beforeDispose and afterDispose hooks", () => { + const owner = createOwner(); + const hooks: string[] = []; + + owner.dispose({ + beforeDispose: () => hooks.push("before"), + afterDispose: () => hooks.push("after"), + }); + + expect(hooks).toEqual(["before", "after"]); + }); + + it("should pass error count to afterDispose", () => { + const owner = createOwner(); + let errorCount = -1; + + owner.onScopeCleanup(() => { + throw new Error("fail"); + }); + + owner.dispose({ + afterDispose: (_, count) => { + errorCount = count; + }, + onError: () => {}, + }); + + expect(errorCount).toBe(1); + }); + + it("should skip already disposed nodes in tree", () => { + const root = createOwner(); + const child1 = createOwner(root); + const child2 = createOwner(root); + + const spy1 = vi.fn(); + const spy2 = vi.fn(); + + child1.onScopeCleanup(spy1); + child2.onScopeCleanup(spy2); + + child1.dispose(); + root.dispose(); + + expect(spy1).toHaveBeenCalledTimes(1); + expect(spy2).toHaveBeenCalledTimes(1); + }); + }); + + describe("Edge Cases & Safety", () => { + it("should handle empty ownership tree", () => { + const owner = createOwner(); + expect(() => owner.dispose()).not.toThrow(); + expect(isDisposed(owner)).toBe(true); + }); + + it("should handle deeply nested trees", () => { + let current = createOwner(); + const depth = 100; + + for (let i = 0; i < depth; i++) { + const child = createOwner(current); + current = child; + } + + expect(() => current._parent?.dispose()).not.toThrow(); + }); + + it("should handle wide trees with many children", () => { + const root = createOwner(); + const childCount = 1000; + + for (let i = 0; i < childCount; i++) { + createOwner(root); + } + + expect(root._childCount).toBe(childCount); + expect(() => root.dispose()).not.toThrow(); + expect(isDisposed(root)).toBe(true); + }); + + it("should handle null/undefined in context values", () => { + const owner = createOwner(); + + owner.provide("null", null); + owner.provide("undefined", undefined); + + expect(owner.inject("null")).toBe(null); + expect(owner.inject("undefined")).toBe(undefined); + expect(owner.hasOwn("null")).toBe(true); + expect(owner.hasOwn("undefined")).toBe(true); + }); + + it("should maintain state consistency across operations", () => { + const owner = createOwner(); + + expect(isClean(owner)).toBe(true); + + owner.onScopeCleanup(() => {}); + expect(isClean(owner)).toBe(true); + + owner.provide("x", 1); + expect(isClean(owner)).toBe(true); + + owner.dispose(); + expect(isDisposed(owner)).toBe(true); + }); + }); +}); + +describe("OwnershipScope — Context Management", () => { + let scope: ReturnType; + + beforeEach(() => { + scope = createOwnershipScope(); + }); + + afterEach(() => { + // Ensure no dangling owners + expect(scope.getOwner()).toBeUndefined(); + }); + + describe("withOwner", () => { + it("should set and restore current owner", () => { + const owner = createOwner(); + let seenOwner: any; + + scope.withOwner(owner, () => { + seenOwner = scope.getOwner(); + }); + + expect(seenOwner).toBe(owner); + expect(scope.getOwner()).toBeUndefined(); + }); + + it("should return callback result", () => { + const owner = createOwner(); + const result = scope.withOwner(owner, () => 42); + + expect(result).toBe(42); + }); + + it("should restore owner even if callback throws", () => { + const owner = createOwner(); + + expect(() => { + scope.withOwner(owner, () => { + throw new Error("test"); + }); + }).toThrow("test"); + + expect(scope.getOwner()).toBeUndefined(); + }); + + it("should handle nested withOwner calls", () => { + const outer = createOwner(); + const inner = createOwner(); + + scope.withOwner(outer, () => { + expect(scope.getOwner()).toBe(outer); + + scope.withOwner(inner, () => { + expect(scope.getOwner()).toBe(inner); + }); + + expect(scope.getOwner()).toBe(outer); + }); + + expect(scope.getOwner()).toBeUndefined(); + }); + }); + + describe("createScope", () => { + it("should create child owner and execute callback", () => { + const parent = createOwner(); + let childOwner: any; + + scope.withOwner(parent, () => { + scope.createScope(() => { + childOwner = scope.getOwner(); + }); + }); + + expect(childOwner).toBeDefined(); + expect(childOwner).not.toBe(parent); + expect(childOwner._parent).toBe(parent); + }); + + it("should restore parent owner after scope", () => { + const parent = createOwner(); + + scope.withOwner(parent, () => { + scope.createScope(() => { + expect(scope.getOwner()).not.toBe(parent); + }); + + expect(scope.getOwner()).toBe(parent); + }); + }); + + it("should return callback result", () => { + const parent = createOwner(); + + const result = scope.withOwner(parent, () => { + return scope.createScope(() => "value"); + }); + + expect(result).toBe("value"); + }); + + it("should work without parent owner", () => { + let rootOwner: any; + + scope.createScope(() => { + rootOwner = scope.getOwner(); + }); + + expect(rootOwner).toBeDefined(); + expect(rootOwner._parent).toBeUndefined(); + }); + + it("should create nested scopes correctly", () => { + const owners: any[] = []; + + scope.createScope(() => { + owners.push(scope.getOwner()); + + scope.createScope(() => { + owners.push(scope.getOwner()); + + scope.createScope(() => { + owners.push(scope.getOwner()); + }); + }); + }); + + expect(owners).toHaveLength(3); + expect(owners[0]).toBeDefined(); + expect(owners[1]._parent).toBe(owners[0]); + expect(owners[2]._parent).toBe(owners[1]); + }); + + it("should handle errors and restore scope", () => { + const parent = createOwner(); + + expect(() => { + scope.withOwner(parent, () => { + scope.createScope(() => { + throw new Error("scope error"); + }); + }); + }).toThrow("scope error"); + + expect(scope.getOwner()).toBeUndefined(); + }); + }); + + describe("getOwner", () => { + it("should return undefined when no owner set", () => { + expect(scope.getOwner()).toBeUndefined(); + }); + + it("should return current owner", () => { + const owner = createOwner(); + + scope.withOwner(owner, () => { + expect(scope.getOwner()).toBe(owner); + }); + }); + }); +}); diff --git a/packages/reflex/tests/ownership.bench.ts b/packages/reflex/tests/ownership/ownership.bench.ts similarity index 97% rename from packages/reflex/tests/ownership.bench.ts rename to packages/reflex/tests/ownership/ownership.bench.ts index 472a70c..67d681a 100644 --- a/packages/reflex/tests/ownership.bench.ts +++ b/packages/reflex/tests/ownership/ownership.bench.ts @@ -5,7 +5,7 @@ // или: // node --require ts-node/register/transpile-only tests/ownership.run.ts -import { createOwner } from "../src/core/ownership/ownership.core.js"; +import { createOwner } from "../../src/core/ownership/ownership.core"; // =========================== // helpers diff --git a/packages/reflex/tests/ownership.run.ts b/packages/reflex/tests/ownership/ownership.run.ts similarity index 89% rename from packages/reflex/tests/ownership.run.ts rename to packages/reflex/tests/ownership/ownership.run.ts index 83f894e..afc19e4 100644 --- a/packages/reflex/tests/ownership.run.ts +++ b/packages/reflex/tests/ownership/ownership.run.ts @@ -3,7 +3,7 @@ // Запускается через: // pnpm exec 0x -- node --require ts-node/register/transpile-only tests/ownership.run.ts -import { createOwner } from "../src/core/ownership/ownership.core.js"; +import { createOwner } from "../../src/core/ownership/ownership.core.js"; function build1m() { const root = createOwner(); From 20ff21739d096713de3d38ae7b181e1dc2990f1c Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Tue, 18 Nov 2025 17:20:50 +0200 Subject: [PATCH 17/32] feat: enhance graph linking functionality with new unsafe operations and benchmarks --- packages/reflex/src/core/graph/graph.core.ts | 28 +- packages/reflex/src/core/graph/graph.proto.ts | 104 ++++--- packages/reflex/src/core/graph/graph.types.ts | 176 +++--------- .../src/core/graph/utils/graph.linker.ts | 53 ++++ .../src/core/graph/utils/graph_linker.ts | 56 ---- .../src/core/graph/utils/intrusive-helpers.ts | 176 ++++++++++-- packages/reflex/tests/graph/graph.bench.ts | 114 ++++++-- packages/reflex/tests/graph/graph.test.ts | 264 ++++++++++-------- 8 files changed, 549 insertions(+), 422 deletions(-) create mode 100644 packages/reflex/src/core/graph/utils/graph.linker.ts delete mode 100644 packages/reflex/src/core/graph/utils/graph_linker.ts diff --git a/packages/reflex/src/core/graph/graph.core.ts b/packages/reflex/src/core/graph/graph.core.ts index 8f8093c..0e55d49 100644 --- a/packages/reflex/src/core/graph/graph.core.ts +++ b/packages/reflex/src/core/graph/graph.core.ts @@ -1,11 +1,8 @@ import { ASYNC, CLEAN, - ASYNC_CELLS_LENGTH, - COUNTER_CELLS_LENGTH, } from "./graph.constants.js"; -import { GraphProto } from "./graph.proto.js"; -import { IReactiveNode } from "./graph.types.js"; +import { GraphNode, IReactiveNode } from "./graph.types.js"; const isObserverNode = (node: IReactiveNode): boolean => { return typeof node._observer === "function"; @@ -15,20 +12,15 @@ const isAsyncNode = (node: IReactiveNode): boolean => { return (node._flags & ASYNC) !== 0; }; +/** + * createReactiveNode: Factory function for creating graph vertices. + * + * Each node starts in a clean state with all fields initialized. + * The node is ready to be used immediately (no async initialization). + */ function createReactiveNode(): IReactiveNode { - const graphNode = Object.create(GraphProto) as IReactiveNode & - typeof GraphProto; - - graphNode._valueRaw = null; - graphNode._sources = null; - graphNode._observers = null; - graphNode._observer = null; - graphNode._counters = new Uint32Array(COUNTER_CELLS_LENGTH); // [epoch, version, uversion] - graphNode._async = new Uint32Array(ASYNC_CELLS_LENGTH); - graphNode._flags = CLEAN; - graphNode._kind = "source"; - - return graphNode; + // New GraphNode() initializes all 18 fields in constructor. + return new GraphNode(); } -export { isObserverNode, isAsyncNode, createReactiveNode }; +export { isObserverNode, isAsyncNode, createReactiveNode, GraphNode }; diff --git a/packages/reflex/src/core/graph/graph.proto.ts b/packages/reflex/src/core/graph/graph.proto.ts index 4f5d9c2..ad014f2 100644 --- a/packages/reflex/src/core/graph/graph.proto.ts +++ b/packages/reflex/src/core/graph/graph.proto.ts @@ -1,50 +1,68 @@ -import { - IReactiveNode, - ISourceLink, - IObserverLink, - IObserverFn, -} from "./graph.types"; -import { - linkEdge, - unlinkSourceLink, - unlinkObserverLink, -} from "./utils/graph_linker"; +/** + * @file graph.proto.ts + * + * Prototype methods for GraphNode (instance API). + * + * High-level interface for graph operations. + * These wrap the low-level linker functions. + * + * Note: In the new architecture, GraphNode is a regular class, + * so methods are defined directly, not via prototype. + * This file is kept for compatibility and documentation. + * + * Actual methods are defined on GraphNode in graph.types.ts. + * If needed, we can expose these as static helpers or extend the class. + */ +import { IReactiveNode } from "./graph.types.js"; +import { linkEdge, unlinkEdge } from "./utils/graph.linker.js"; -interface IGraphProto { - /** link this as observer of source */ - addSource(this: IReactiveNode, source: IReactiveNode): ISourceLink; +/** + * Convenience methods (static or instance) for graph operations. + * + * Usage: + * observer.addSource(source) -> links source as observer's upstream + * observer.removeSource(source) -> unlinks source + */ - /** you must pass the link you got from addSource */ - removeSource(this: IReactiveNode, link: ISourceLink): void; - - addObserver(this: IReactiveNode, observer: IReactiveNode): IObserverLink; - removeObserver(this: IReactiveNode, link: IObserverLink): void; - - addObserverFunction(this: IReactiveNode, fn: IObserverFn): void; +/** + * Static helper: link source and observer (observer depends on source). + */ +export function addSourceToObserver( + observer: IReactiveNode, + source: IReactiveNode +): void { + linkEdge(observer, source); } -const GraphProto: IGraphProto = { - addSource(source) { - const link = linkEdge(this, source); - return link._source; - }, - - removeSource(link) { - unlinkSourceLink(link); - }, - - addObserver(observer) { - const link = linkEdge(observer, this); - return link._observer; - }, +/** + * Static helper: unlink source and observer. + */ +export function removeSourceFromObserver( + observer: IReactiveNode, + source: IReactiveNode +): void { + unlinkEdge(observer, source); +} - removeObserver(link) { - unlinkObserverLink(link); - }, +/** + * Static helper: add observer to a source (observer depends on source). + * Alias for addSourceToObserver for semantic clarity. + */ +export function addObserverToSource( + observer: IReactiveNode, + source: IReactiveNode +): void { + linkEdge(observer, source); +} - addObserverFunction(fn) { - this._observer = fn; - }, -}; +/** + * Static helper: remove observer from source. + * Alias for removeSourceFromObserver for semantic clarity. + */ +export function removeObserverFromSource( + observer: IReactiveNode, + source: IReactiveNode +): void { + unlinkEdge(observer, source); +} -export { GraphProto }; diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/reflex/src/core/graph/graph.types.ts index 8f98480..3cc5b99 100644 --- a/packages/reflex/src/core/graph/graph.types.ts +++ b/packages/reflex/src/core/graph/graph.types.ts @@ -1,154 +1,66 @@ -/** - * @file ReactiveNode.ts +/** + * @file graph.types.ts * * Runtime definitions for the Reflex reactive graph. - * - * A ReactiveNode represents a vertex in a directed acyclic graph (DAG). - * Each vertex has: - * - upstream sources (edges that this node depends on) - * - downstream observers (edges that depend on this node) - * - execution function (observer) for recomputation - * - cached value (valueRaw) - * - fast runtime state (flags, counters, async epoch) - * - * The vertex identity is stable. Runtime state mutates in-place. - * Logical versions are tracked via Uint32Array counters, not by cloning nodes. - * - * This provides: - * - deterministic incremental updates - * - O(1) graph mutations (intrusive lists) - * - zero allocations on dependency tracking - * - engine-friendly memory layout */ import { BitMask } from "../object/utils/bitwise.js"; -/* - * Node Categories - * ReactiveNodeKind marks the semantic role of a vertex. - * This does NOT affect graph topology, only execution semantics. - * */ -type ReactiveNodeKind = - | "source" // Stores a raw value; no internal computation - | "computation" // Computes derived values from upstream sources - | "effect"; // Executes side effects; valueRaw is unused +type ReactiveNodeKind = "source" | "computation" | "effect"; +type IObserverFn = () => void; -/* - * Observer function executed by computation/effect nodes. - * Must never mutate graph topology during its execution. - * (scheduler enforces this invariant) - * */ -interface IObserverFn { - (): void; -} - -/* - * SourceLink: intrusive list element representing - * "node depends on source". - * - * Stored in node._sources (observer → its upstream). - * - * Invariant: - * - A node can depend on multiple sources. - * - Each dependency is represented by a separate link object. - * */ -interface ISourceLink { - _prev: ISourceLink | null; - _next: ISourceLink | null; - _pair: IObserverLink; +class GraphNode { + _firstSource: GraphNode | null; + _lastSource: GraphNode | null; + _nextSource: GraphNode | null; + _prevSource: GraphNode | null; - /** The upstream source node for this dependency edge. */ - source: IReactiveNode; -} + _firstObserver: GraphNode | null; + _lastObserver: GraphNode | null; + _nextObserver: GraphNode | null; + _prevObserver: GraphNode | null; -/* - * ObserverLink: intrusive list element representing - * "source notifies observer". - * - * Stored in node._observers (source → its downstream). - * - * Invariant: - * - A source may have many observers. - * - Each observer relationship uses its own link object. - * */ -interface IObserverLink { - _prev: IObserverLink | null; - _next: IObserverLink | null; - _pair: ISourceLink; + _sourceCount: number; + _observerCount: number; - /** The downstream observer that depends on this source. */ - observer: IReactiveNode; -} + _flags: BitMask; + _version: number; + _epoch: number; -/** - * IReactiveNode: primary vertex structure for the reactive graph. - * - * MUTABLE FIELDS: - * _valueRaw - cached value for signals and computations - * _sources - intrusive linked list of upstream edges - * _observers - intrusive linked list of downstream edges - * _observer - execution callback (computation/effect) - * _counters - [epoch, version, uversion] - * _async - [generation, token] - * _flags - dirty/clean/scheduled etc. - * _kind - semantic classification (source/computation/effect) - * - * Topological invariants: - * 1. Node participates in two lists: upstream and downstream. - * 2. Each edge is represented by a link object; nodes store list heads. - * 3. Add/remove edge must be O(1). - * 4. Never mutate upstream and downstream lists within same execution frame. - * 5. No cycles (DAG). - * 6. Node identity = pointer identity. - * 7. After unlink: link._prev/_next reset to null. - * 8. List heads are null OR a valid link, but NOT undefined. - * 9. Graph is not mutated while an observer callback is running. - */ -interface IReactiveNode { - /** Cached runtime value (raw JS value). */ _valueRaw: unknown; - /** Head of intrusive linked list of upstream dependencies. */ - _sources: ISourceLink | null; - /** Head of intrusive linked list of downstream observers. */ - _observers: IObserverLink | null; - /** Execution callback for computations/effects. Null for pure sources. */ _observer: IObserverFn | null; - /** Runtime version counters: [epoch, version, uversion]. */ - _counters: Uint32Array; - /** Async tracking: [generation, token]. */ - _async: Uint32Array; - /** Combined bitmask: dirty/scheduled/running/kind bits. */ - _flags: BitMask; - /** Semantic role of this node. */ _kind: ReactiveNodeKind; + + constructor() { + this._firstSource = null; + this._lastSource = null; + this._nextSource = null; + this._prevSource = null; + + this._firstObserver = null; + this._lastObserver = null; + this._nextObserver = null; + this._prevObserver = null; + + this._sourceCount = 0; + this._observerCount = 0; + + this._flags = 0; + this._version = 0; + this._epoch = 0; + + this._valueRaw = undefined; + this._observer = null; + this._kind = "source"; + } } -/* - * ReactiveValue - * - * Public-facing handle for user-level signals. - * It wraps an underlying IReactiveNode. - * - * Callable form: - * value() → get current value - * value(newValue) → set - * value(prev => next) → functional update - * - * No additional state is stored here. Everything lives in _node. - * */ +type IReactiveNode = GraphNode; interface IReactiveValue { (): T; (next: T | ((prev: T) => T)): void; - - /** Reference to the backing graph node. */ readonly _node: IReactiveNode; } -export type { - IObserverFn, - IReactiveNode, - IReactiveValue, - ISourceLink, - IObserverLink, - ReactiveNodeKind, -}; +export type { IObserverFn, IReactiveNode, IReactiveValue, ReactiveNodeKind }; +export { GraphNode }; diff --git a/packages/reflex/src/core/graph/utils/graph.linker.ts b/packages/reflex/src/core/graph/utils/graph.linker.ts new file mode 100644 index 0000000..0e92191 --- /dev/null +++ b/packages/reflex/src/core/graph/utils/graph.linker.ts @@ -0,0 +1,53 @@ +/** + * @file graph_linker.ts + * + * High-level graph linking API. + * + * Provides two tiers: + * 1. Unsafe operations (linkSourceToObserverUnsafe, etc.) + * - O(1), no validation, for hot paths + * 2. Safe operations (linkEdgeSafe, etc.) + * - With invariant checks (DAG, duplicates, etc.) + * - For external API and debug mode + * + * Current focus: unsafe operations (for benchmarking). + * Safe checks can be layered on top or via WeakMap-based dev hooks. + */ +import { IReactiveNode } from "../graph.types.js"; +import { + linkSourceToObserverUnsafe, + unlinkSourceFromObserverUnsafe, +} from "./intrusive-helpers.js"; + +/** + * linkEdge: Safe linking of source and observer. + * + * Currently delegates to unsafe operation. + * Future: Add DAG/cycle checks, duplicate detection here. + * + * Returns: void (operation always succeeds if graph invariants hold). + */ +export function linkEdge( + observer: IReactiveNode, + source: IReactiveNode +): void { + linkSourceToObserverUnsafe(source, observer); +} + +/** + * unlinkEdge: Safe unlinking of source and observer. + * + * Requires both nodes to be provided (observer and source). + * Precondition: they must be currently linked. + */ +export function unlinkEdge( + observer: IReactiveNode, + source: IReactiveNode +): void { + unlinkSourceFromObserverUnsafe(source, observer); +} + +// Export unsafe operations for benchmarking and internal use +export { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe }; +export { unlinkAllObserversUnsafe, unlinkAllSourcesUnsafe } from "./intrusive-helpers.js"; + diff --git a/packages/reflex/src/core/graph/utils/graph_linker.ts b/packages/reflex/src/core/graph/utils/graph_linker.ts deleted file mode 100644 index 2208723..0000000 --- a/packages/reflex/src/core/graph/utils/graph_linker.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { IReactiveNode, ISourceLink, IObserverLink } from "../graph.types"; -import { - insertObserverHead, - insertSourceHead, - removeObserverLink, - removeSourceLink, -} from "./intrusive-helpers"; - -export function linkEdge(observer: IReactiveNode, source: IReactiveNode) { - const _source: ISourceLink = { - _prev: null, - _next: null, - _pair: null as any, - source, - }; - - const _observer: IObserverLink = { - _prev: null, - _next: null, - _pair: _source, - observer, - }; - - _source._pair = _observer; - - observer._sources = insertSourceHead(observer._sources, _source); - source._observers = insertObserverHead(source._observers, _observer); - - return { _source, _observer }; -} - -export function unlinkSourceLink(source: ISourceLink) { - const obs = source._pair; - if (!obs) { - return; - } - - const observer = obs.observer; - const _source = source.source; - - observer._sources = removeSourceLink(observer._sources, source); - _source._observers = removeObserverLink(_source._observers, obs); - - source._pair = null as any; - obs._pair = null as any; -} - -export function unlinkObserverLink(obs: IObserverLink) { - const _source = obs._pair; - - if (!_source) { - return; - } - - unlinkSourceLink(_source); -} diff --git a/packages/reflex/src/core/graph/utils/intrusive-helpers.ts b/packages/reflex/src/core/graph/utils/intrusive-helpers.ts index e20cd9b..b2a72e3 100644 --- a/packages/reflex/src/core/graph/utils/intrusive-helpers.ts +++ b/packages/reflex/src/core/graph/utils/intrusive-helpers.ts @@ -1,39 +1,159 @@ -import { ISourceLink, IObserverLink } from "../graph.types"; +/** + * @file intrusive-helpers.ts + * + * Low-level helpers for intrusive doubly-linked list operations. + * Works directly with GraphNode fields (_first*, _last*, _next*, _prev*). + * + * These functions are UNSAFE: + * - No validation of graph invariants + * - No cycle detection + * - No duplicate edge checks + * Use them only in hot paths or wrap with higher-level API for safety checks. + */ +import { IReactiveNode } from "../graph.types.js"; -export function insertSourceHead(head: ISourceLink | null, link: ISourceLink) { - link._prev = null; - link._next = head; - if (head !== null) head._prev = link; - return link; -} +/** + * linkSourceToObserverUnsafe: Add a source node to an observer's sources list. + * + * This modifies TWO intrusive lists simultaneously: + * 1. Adds source to observer._firstSource...lastSource chain + * 2. Adds observer to source._firstObserver...lastObserver chain + * + * Operates directly on GraphNode pointers, no allocations. + * O(1) amortized (always appends to tail). + * + * Prerequisites (not checked): + * - source and observer are distinct GraphNode instances + * - edge does not already exist (caller must ensure) + * - no cycles (caller must ensure DAG invariant) + */ +export function linkSourceToObserverUnsafe( + source: IReactiveNode, + observer: IReactiveNode +): void { + // Add source to observer's sources list (append to tail) + const lastSource = observer._lastSource; + + if (lastSource === null) { + // List was empty + observer._firstSource = source; + source._prevSource = null; + } else { + // Append to existing list + lastSource._nextSource = source; + source._prevSource = lastSource; + } + + observer._lastSource = source; + source._nextSource = null; + observer._sourceCount++; + + // Add observer to source's observers list (append to tail) + const lastObserver = source._lastObserver; -export function insertObserverHead(head: IObserverLink | null, link: IObserverLink) { - link._prev = null; - link._next = head; - if (head !== null) head._prev = link; - return link; + if (lastObserver === null) { + // List was empty + source._firstObserver = observer; + observer._prevObserver = null; + } else { + // Append to existing list + lastObserver._nextObserver = observer; + observer._prevObserver = lastObserver; + } + + source._lastObserver = observer; + observer._nextObserver = null; + source._observerCount++; } -export function removeSourceLink(head: ISourceLink | null, link: ISourceLink) { - const prev = link._prev; - const next = link._next; +/** + * unlinkSourceFromObserverUnsafe: Remove a source from an observer's sources list. + * + * This modifies TWO intrusive lists simultaneously: + * 1. Removes source from observer's sources chain + * 2. Removes observer from source's observers chain + * + * Prerequisites (not checked): + * - source and observer are linked (caller must ensure) + * - source._prevSource/nextSource are valid or null + * - observer._prevObserver/nextObserver are valid or null + */ +export function unlinkSourceFromObserverUnsafe( + source: IReactiveNode, + observer: IReactiveNode +): void { + // Remove source from observer's sources list + const prevSource = source._prevSource; + const nextSource = source._nextSource; + + if (prevSource !== null) { + prevSource._nextSource = nextSource; + } else { + observer._firstSource = nextSource; + } + + if (nextSource !== null) { + nextSource._prevSource = prevSource; + } else { + observer._lastSource = prevSource; + } - if (prev) prev._next = next; - if (next) next._prev = prev; - if (head === link) head = next; + source._prevSource = null; + source._nextSource = null; + observer._sourceCount--; - link._prev = link._next = null; - return head; + // Remove observer from source's observers list + const prevObserver = observer._prevObserver; + const nextObserver = observer._nextObserver; + + if (prevObserver !== null) { + prevObserver._nextObserver = nextObserver; + } else { + source._firstObserver = nextObserver; + } + + if (nextObserver !== null) { + nextObserver._prevObserver = prevObserver; + } else { + source._lastObserver = prevObserver; + } + + observer._prevObserver = null; + observer._nextObserver = null; + source._observerCount--; } -export function removeObserverLink(head: IObserverLink | null, link: IObserverLink) { - const prev = link._prev; - const next = link._next; +/** + * unlinkAllObserversUnsafe: Remove all observers from a source node. + * + * Iterates linearly through the observers list, unlinking each observer. + * This is cache-friendly: linear traversal instead of random pointer chasing. + * + * Useful for cleanup or when a source node is being disposed. + */ +export function unlinkAllObserversUnsafe(source: IReactiveNode): void { + let observer = source._firstObserver; - if (prev) prev._next = next; - if (next) next._prev = prev; - if (head === link) head = next; + while (observer !== null) { + const nextObserver = observer._nextObserver; + unlinkSourceFromObserverUnsafe(source, observer); + observer = nextObserver; + } +} + +/** + * unlinkAllSourcesUnsafe: Remove all sources from an observer node. + * + * Iterates linearly through the sources list, unlinking each source. + * Cache-friendly alternative to random unlinks. + */ +export function unlinkAllSourcesUnsafe(observer: IReactiveNode): void { + let source = observer._firstSource; - link._prev = link._next = null; - return head; + while (source !== null) { + const nextSource = source._nextSource; + unlinkSourceFromObserverUnsafe(source, observer); + source = nextSource; + } } + diff --git a/packages/reflex/tests/graph/graph.bench.ts b/packages/reflex/tests/graph/graph.bench.ts index 3590d5f..a4db98e 100644 --- a/packages/reflex/tests/graph/graph.bench.ts +++ b/packages/reflex/tests/graph/graph.bench.ts @@ -1,63 +1,59 @@ import { describe, bench } from "vitest"; -import { IReactiveNode } from "../../src/core/graph/graph.types"; -import { linkEdge, unlinkSourceLink, unlinkObserverLink } from "../../src/core/graph/utils/graph.linker"; -import { LIST_HEAD } from "../../src/core/collections/intrusive-list"; - +import { + IReactiveNode, + GraphNode, +} from "../../src/core/graph/graph.types"; +import { + linkEdge, + unlinkEdge, + linkSourceToObserverUnsafe, + unlinkSourceFromObserverUnsafe, + unlinkAllObserversUnsafe, +} from "../../src/core/graph/utils/graph.linker"; function makeNode(): IReactiveNode { - return { - _valueRaw: null, - _sources: LIST_HEAD(), - _observers: LIST_HEAD(), - _observer: null, - _counters: new Uint32Array(3), - _async: new Uint32Array(2), - _flags: 0, - _kind: "computation", - }; + return new GraphNode(); } describe("DAG O(1) intrusive graph benchmarks", () => { - bench("linkEdge → unlinkSourceLink (1k ops)", () => { + bench("linkEdge + unlinkEdge (1k ops)", () => { const A = makeNode(); const B = makeNode(); for (let i = 0; i < 1000; i++) { - const { _source } = linkEdge(A, B); - unlinkSourceLink(_source); + linkEdge(A, B); + unlinkEdge(A, B); } }); - bench("linkEdge → unlinkObserverLink (1k ops)", () => { + bench("linkSourceToObserverUnsafe + unlinkSourceFromObserverUnsafe (1k ops)", () => { const A = makeNode(); const B = makeNode(); for (let i = 0; i < 1000; i++) { - const { _observer } = linkEdge(A, B); - unlinkObserverLink(_observer); + linkSourceToObserverUnsafe(B, A); + unlinkSourceFromObserverUnsafe(B, A); } }); - bench("1000 mixed operations", () => { + bench("1000 mixed link/unlink operations", () => { const nodes = Array.from({ length: 50 }, makeNode); for (let i = 0; i < 1000; i++) { const A = nodes[(i * 7) % nodes.length]; const B = nodes[(i * 13) % nodes.length]; - if (A && B) { - const { _source, _observer } = linkEdge(A, B); + if (A && B && A !== B) { + linkEdge(A, B); if (i % 2 === 0) { - unlinkSourceLink(_source); - } else { - unlinkObserverLink(_observer); + unlinkEdge(A, B); } } } }); - bench("massive star graph: link 1 → 1k", () => { + bench("massive star graph: link 1 source to 1k observers", () => { const center = makeNode(); const leaves = Array.from({ length: 1000 }, makeNode); @@ -66,14 +62,27 @@ describe("DAG O(1) intrusive graph benchmarks", () => { } }); - bench("massive star unlink: unlink 1 → 1k via handles", () => { + bench("massive star unlink: unlink all 1k observers from 1 source", () => { const center = makeNode(); const leaves = Array.from({ length: 1000 }, makeNode); - const links = leaves.map((leaf) => linkEdge(leaf, center)._source); + for (const leaf of leaves) { + linkEdge(leaf, center); + } + + unlinkAllObserversUnsafe(center); + }); + + bench("star unlink piecemeal: individual unlinkEdge for each observer", () => { + const center = makeNode(); + const leaves = Array.from({ length: 1000 }, makeNode); - for (const _source of links) { - unlinkSourceLink(_source); + for (const leaf of leaves) { + linkEdge(leaf, center); + } + + for (const leaf of leaves) { + unlinkEdge(leaf, center); } }); @@ -84,4 +93,47 @@ describe("DAG O(1) intrusive graph benchmarks", () => { arr.pop(); } }); + + bench("DAG simulation: 100 nodes, 10k random edges", () => { + const nodes = Array.from({ length: 100 }, makeNode); + + for (let i = 0; i < 10000; i++) { + const sourceIdx = Math.floor(Math.random() * nodes.length); + const observerIdx = Math.floor(Math.random() * nodes.length); + + if (sourceIdx !== observerIdx) { + const source = nodes[sourceIdx]; + const observer = nodes[observerIdx]; + + if (source && observer) { + linkSourceToObserverUnsafe(source, observer); + } + } + } + }); + + bench("counting observer/source degree: 1k nodes with varying degree", () => { + const nodes = Array.from({ length: 1000 }, makeNode); + + for (let i = 0; i < 1000; i++) { + const src = nodes[i]; + for (let j = i + 1; j < Math.min(i + 5, nodes.length); j++) { + const obs = nodes[j]; + if (src && obs) { + linkEdge(obs, src); + } + } + } + + let totalSources = 0; + let totalObservers = 0; + for (const node of nodes) { + totalSources += node._sourceCount; + totalObservers += node._observerCount; + } + + if (totalSources !== totalObservers) { + throw new Error("Sanity check failed: source/observer count mismatch"); + } + }); }); diff --git a/packages/reflex/tests/graph/graph.test.ts b/packages/reflex/tests/graph/graph.test.ts index 28ea575..57fa380 100644 --- a/packages/reflex/tests/graph/graph.test.ts +++ b/packages/reflex/tests/graph/graph.test.ts @@ -1,190 +1,226 @@ import { describe, it, expect } from "vitest"; import { IReactiveNode, - ISourceLink, - IObserverLink, + GraphNode, ReactiveNodeKind, } from "../../src/core/graph/graph.types"; import { linkEdge, - unlinkSourceLink, - unlinkObserverLink, -} from "../../src/core/graph/utils/graph_linker"; + unlinkEdge, + linkSourceToObserverUnsafe, + unlinkSourceFromObserverUnsafe, + unlinkAllObserversUnsafe, + unlinkAllSourcesUnsafe, +} from "../../src/core/graph/utils/graph.linker"; function makeNode(kind: ReactiveNodeKind = "computation"): IReactiveNode { - return { - _valueRaw: null, - _sources: null, - _observers: null, - _observer: null, - _counters: new Uint32Array(3), - _async: new Uint32Array(2), - _flags: 0, - _kind: kind, - }; + const node = new GraphNode(); + node._kind = kind; + return node; } -const collectSourceChain = (head: ISourceLink | null): ISourceLink[] => { - const result: ISourceLink[] = []; +const collectSourceChain = (head: IReactiveNode | null): IReactiveNode[] => { + const result: IReactiveNode[] = []; let cur = head; while (cur) { result.push(cur); - cur = cur._next; + cur = cur._nextSource; } return result; }; -const collectObserverChain = (head: IObserverLink | null): IObserverLink[] => { - const result: IObserverLink[] = []; +const collectObserverChain = ( + head: IReactiveNode | null +): IReactiveNode[] => { + const result: IReactiveNode[] = []; let cur = head; while (cur) { result.push(cur); - cur = cur._next; + cur = cur._nextObserver; } return result; }; -describe("graph_linker: linkEdge / unlinkSourceLink / unlinkObserverLink", () => { - it("создаёт симметричное ребро между observer и source", () => { +describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { + it("creates symmetric edge between observer and source", () => { const observer = makeNode("computation"); const source = makeNode("source"); - const { _source, obs } = linkEdge(observer, source); - - // связи в observer - expect(observer._sources).toBe(_source); - expect(_source._prev).toBeNull(); - expect(_source._next).toBeNull(); - expect(_source.source).toBe(source); - expect(_source._pair).toBe(obs); - - // связи в source - expect(source._observers).toBe(obs); - expect(obs._prev).toBeNull(); - expect(obs._next).toBeNull(); - expect(obs.observer).toBe(observer); - expect(obs._pair).toBe(_source); + linkEdge(observer, source); + + expect(observer._firstSource).toBe(source); + expect(observer._lastSource).toBe(source); + expect(source._prevSource).toBeNull(); + expect(source._nextSource).toBeNull(); + expect(observer._sourceCount).toBe(1); + + expect(source._firstObserver).toBe(observer); + expect(source._lastObserver).toBe(observer); + expect(observer._prevObserver).toBeNull(); + expect(observer._nextObserver).toBeNull(); + expect(source._observerCount).toBe(1); }); - it("поддерживает несколько разных источников у одного observer (список sources)", () => { + it("supports multiple different sources for one observer", () => { const observer = makeNode(); const s1 = makeNode("source"); const s2 = makeNode("source"); - const s3 = makeNode("source"); - - const { _source: l1 } = linkEdge(observer, s1); - const { _source: l2 } = linkEdge(observer, s2); - const { _source: l3 } = linkEdge(observer, s3); - - const chain = collectSourceChain(observer._sources)!; - - // порядок: последний вставленный в голове - expect(chain[0]).toBe(l3); - expect(chain[1]).toBe(l2); - expect(chain[2]).toBe(l1); - - // prev/next согласованно - expect(chain[0]!._prev).toBeNull(); - expect(chain[0]!._next).toBe(chain[1]); - expect(chain[1]!._prev).toBe(chain[0]); - expect(chain[1]!._next).toBe(chain[2]); - expect(chain[2]!._prev).toBe(chain[1]); - expect(chain[2]!._next).toBeNull(); + const s3 = makeNode("source"); + + linkEdge(observer, s1); + linkEdge(observer, s2); + linkEdge(observer, s3); + + const chain = collectSourceChain(observer._firstSource); + + expect(chain.length).toBe(3); + expect(chain[0]).toBe(s1); + expect(chain[1]).toBe(s2); + expect(chain[2]).toBe(s3); + + expect(chain[0]!._prevSource).toBeNull(); + expect(chain[0]!._nextSource).toBe(chain[1]); + expect(chain[1]!._prevSource).toBe(chain[0]); + expect(chain[1]!._nextSource).toBe(chain[2]); + expect(chain[2]!._prevSource).toBe(chain[1]); + expect(chain[2]!._nextSource).toBeNull(); + + expect(observer._sourceCount).toBe(3); }); - it("поддерживает нескольких observers для одного source (список observers)", () => { + it("supports multiple observers for one source", () => { const source = makeNode("source"); const o1 = makeNode("computation"); const o2 = makeNode("computation"); const o3 = makeNode("computation"); - const { obs: l1 } = linkEdge(o1, source); - const { obs: l2 } = linkEdge(o2, source); - const { obs: l3 } = linkEdge(o3, source); + linkEdge(o1, source); + linkEdge(o2, source); + linkEdge(o3, source); + + const chain = collectObserverChain(source._firstObserver); - const chain = collectObserverChain(source._observers)!; + expect(chain.length).toBe(3); + expect(chain[0]).toBe(o1); + expect(chain[1]).toBe(o2); + expect(chain[2]).toBe(o3); - expect(chain[0]).toBe(l3); - expect(chain[1]).toBe(l2); - expect(chain[2]).toBe(l1); + expect(chain[0]!._prevObserver).toBeNull(); + expect(chain[0]!._nextObserver).toBe(chain[1]); + expect(chain[1]!._prevObserver).toBe(chain[0]); + expect(chain[1]!._nextObserver).toBe(chain[2]); + expect(chain[2]!._prevObserver).toBe(chain[1]); + expect(chain[2]!._nextObserver).toBeNull(); - expect(chain[0]!._prev).toBeNull(); - expect(chain[0]!._next).toBe(chain[1]); - expect(chain[1]!._prev).toBe(chain[0]); - expect(chain[1]!._next).toBe(chain[2]); - expect(chain[2]!._prev).toBe(chain[1]); - expect(chain[2]!._next).toBeNull(); + expect(source._observerCount).toBe(3); }); - it("unlinkSourceLink корректно удаляет ребро из обоих списков (single edge)", () => { + it("unlinkSourceFromObserverUnsafe removes edge from both lists", () => { const observer = makeNode(); const source = makeNode("source"); - const { _source, obs } = linkEdge(observer, source); - - unlinkSourceLink(_source); + linkEdge(observer, source); + unlinkSourceFromObserverUnsafe(source, observer); - expect(observer._sources).toBeNull(); - expect(source._observers).toBeNull(); + expect(observer._firstSource).toBeNull(); + expect(observer._lastSource).toBeNull(); + expect(observer._sourceCount).toBe(0); - // ссылки очищены - expect(_source._prev).toBeNull(); - expect(_source._next).toBeNull(); - expect(obs._prev).toBeNull(); - expect(obs._next).toBeNull(); + expect(source._firstObserver).toBeNull(); + expect(source._lastObserver).toBeNull(); + expect(source._observerCount).toBe(0); - // пары обнулены - expect(_source._pair).toBeNull(); - expect(obs._pair).toBeNull(); + expect(source._prevSource).toBeNull(); + expect(source._nextSource).toBeNull(); + expect(observer._prevObserver).toBeNull(); + expect(observer._nextObserver).toBeNull(); }); - it("unlinkObserverLink корректно удаляет ребро из обоих списков", () => { + it("unlinkSourceFromObserverUnsafe removes middle of list", () => { const observer = makeNode(); + const s1 = makeNode("source"); + const s2 = makeNode("source"); + const s3 = makeNode("source"); + + linkEdge(observer, s1); + linkEdge(observer, s2); + linkEdge(observer, s3); + + unlinkSourceFromObserverUnsafe(s2, observer); + + const chain = collectSourceChain(observer._firstSource); + expect(chain.length).toBe(2); + expect(chain[0]).toBe(s1); + expect(chain[1]).toBe(s3); + + expect(chain[0]!._nextSource).toBe(chain[1]); + expect(chain[1]!._prevSource).toBe(chain[0]); + + expect(observer._sourceCount).toBe(2); + }); + + it("unlinkAllObserversUnsafe removes all observers", () => { const source = makeNode("source"); + const o1 = makeNode(); + const o2 = makeNode(); + const o3 = makeNode(); + + linkEdge(o1, source); + linkEdge(o2, source); + linkEdge(o3, source); + + expect(source._observerCount).toBe(3); - const { _source, obs } = linkEdge(observer, source); + unlinkAllObserversUnsafe(source); - unlinkObserverLink(obs); + expect(source._firstObserver).toBeNull(); + expect(source._lastObserver).toBeNull(); + expect(source._observerCount).toBe(0); - expect(observer._sources).toBeNull(); - expect(source._observers).toBeNull(); - expect(_source._pair).toBeNull(); - expect(obs._pair).toBeNull(); + expect(o1._prevObserver).toBeNull(); + expect(o1._nextObserver).toBeNull(); + expect(o2._prevObserver).toBeNull(); + expect(o2._nextObserver).toBeNull(); + expect(o3._prevObserver).toBeNull(); + expect(o3._nextObserver).toBeNull(); }); - it("unlinkSourceLink корректно удаляет середину списка", () => { + it("unlinkAllSourcesUnsafe removes all sources", () => { const observer = makeNode(); const s1 = makeNode("source"); const s2 = makeNode("source"); const s3 = makeNode("source"); - const { _source: l1 } = linkEdge(observer, s1); - const { _source: l2 } = linkEdge(observer, s2); - const { _source: l3 } = linkEdge(observer, s3); + linkEdge(observer, s1); + linkEdge(observer, s2); + linkEdge(observer, s3); - // цепочка: l3 -> l2 -> l1 - unlinkSourceLink(l2); + expect(observer._sourceCount).toBe(3); - const chain = collectSourceChain(observer._sources); - expect(chain.length).toBe(2); - expect(chain[0]).toBe(l3); - expect(chain[1]).toBe(l1); + unlinkAllSourcesUnsafe(observer); + + expect(observer._firstSource).toBeNull(); + expect(observer._lastSource).toBeNull(); + expect(observer._sourceCount).toBe(0); - expect(chain[0]!._next).toBe(chain[1]); - expect(chain[1]!._prev).toBe(chain[0]); + expect(s1._prevSource).toBeNull(); + expect(s1._nextSource).toBeNull(); + expect(s2._prevSource).toBeNull(); + expect(s2._nextSource).toBeNull(); + expect(s3._prevSource).toBeNull(); + expect(s3._nextSource).toBeNull(); }); - it("повторный unlinkSourceLink не падает и не ломает другие связи (idempotent)", () => { + it("linkSourceToObserverUnsafe and unlinkEdge work together", () => { const observer = makeNode(); const source = makeNode("source"); - const { _source } = linkEdge(observer, source); - - unlinkSourceLink(_source); - // второй вызов ничего не должен ломать - unlinkSourceLink(_source); + linkSourceToObserverUnsafe(source, observer); + expect(observer._sourceCount).toBe(1); + expect(source._observerCount).toBe(1); - expect(observer._sources).toBeNull(); - expect(source._observers).toBeNull(); + unlinkEdge(observer, source); + expect(observer._sourceCount).toBe(0); + expect(source._observerCount).toBe(0); }); }); From 68d646ca59ef38e4d9bb13d89c4515d69c00eac6 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Tue, 18 Nov 2025 17:59:47 +0200 Subject: [PATCH 18/32] refactor: replace ownership prototype with OwnershipNode class - Removed the ownership.proto.ts file and its associated methods. - Introduced OwnershipNode class to encapsulate ownership logic with a fixed layout for better performance. - Updated ownership.scope.ts to utilize the new OwnershipNode class. - Modified ownership.type.ts to reflect changes in ownership structure. - Adjusted tests to accommodate the new ownership model and ensure functionality remains intact. - Added microbenchmarks for performance profiling of ownership operations. --- .../src/core/ownership/ownership.core.ts | 39 +-- .../src/core/ownership/ownership.node.ts | 302 ++++++++++++++++++ .../src/core/ownership/ownership.proto.ts | 183 ----------- .../src/core/ownership/ownership.scope.ts | 48 +-- .../src/core/ownership/ownership.type.ts | 44 +-- .../reflex/tests/ownership/ownerhip.test.ts | 237 +++++++------- .../reflex/tests/ownership/ownership.bench.ts | 282 ++++++++-------- 7 files changed, 614 insertions(+), 521 deletions(-) create mode 100644 packages/reflex/src/core/ownership/ownership.node.ts delete mode 100644 packages/reflex/src/core/ownership/ownership.proto.ts diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index 3ec1986..fa75e73 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -1,32 +1,19 @@ -import { CLEAN, IOwnership, S_OWN_BRAND } from "./ownership.type.js"; -import OwnershipPrototype from "./ownership.proto.js"; - +import { OwnershipNode } from "./ownership.node.js"; +import { IOwnership } from "./ownership.type.js"; + +/** + * createOwner: Factory for creating ownership nodes. + * + * Creates a new OwnershipNode with all fields initialized. + * Methods are bound to OwnershipNode.prototype for monomorphic calls. + * If parent is provided, automatically appends to parent's child list. + */ function createOwner(parent?: IOwnership): IOwnership { - const owner = Object.create(OwnershipPrototype) as IOwnership; - - owner._parent = undefined; - - owner._firstChild = undefined; - owner._lastChild = undefined; - - owner._nextSibling = undefined; - owner._prevSibling = undefined; - - owner._disposal = undefined; - owner._context = undefined; - owner._queue = undefined; - - owner._epoch = 0; - owner._contextEpoch = 0; - - owner._state = CLEAN; - owner._childCount = 0; - - owner[S_OWN_BRAND] = true; + const owner = new OwnershipNode() as any as IOwnership; if (parent) { - parent.appendChild(owner); - parent.onScopeMount?.(owner); + (parent as any).appendChild(owner as any); + (parent as any).onScopeMount?.(owner as any); } return owner; diff --git a/packages/reflex/src/core/ownership/ownership.node.ts b/packages/reflex/src/core/ownership/ownership.node.ts new file mode 100644 index 0000000..a10b8e3 --- /dev/null +++ b/packages/reflex/src/core/ownership/ownership.node.ts @@ -0,0 +1,302 @@ +/** + * @file ownership.node.ts + * + * Optimized OwnershipNode class with fixed layout and bound methods. + * + * Replaces interface-based IOwnership with a concrete class + * for stable hidden class and efficient V8 JIT compilation. + * + * Layout (10 fields): + * - parent, firstChild, lastChild, nextSibling, prevSibling (5 ptrs) + * - context (1 ptr, lazy-initialized) + * - cleanups (1 ptr, lazy-initialized) + * - childCount, flags, epoch, contextEpoch (4 numerics) + * + * All fields are initialized in constructor. + * All methods bound to prototype for monomorphic call sites. + */ + +import OwnershipDisposeError from "./ownership.error.js"; +import { + IOwnership, + IOwnershipContextRecord, + type ContextKeyType, + DisposalStrategy, + DISPOSED, +} from "./ownership.type.js"; + +export class OwnershipNode { + // Tree links + _parent: OwnershipNode | null; + _firstChild: OwnershipNode | null; + _lastChild: OwnershipNode | null; + _nextSibling: OwnershipNode | null; + _prevSibling: OwnershipNode | null; + + // Context (lazy-initialized) + _context: Record | null; + + // Cleanup handlers + _cleanups: (() => void)[] | null; + + // Counters & state + _childCount: number; + _flags: number; + _epoch: number; + _contextEpoch: number; + + constructor() { + this._parent = null; + this._firstChild = null; + this._lastChild = null; + this._nextSibling = null; + this._prevSibling = null; + + this._context = null; + this._cleanups = null; + + this._childCount = 0; + this._flags = 0; + this._epoch = 0; + this._contextEpoch = 0; + } + + /** + * appendChild: Add child to this owner's children list. + * O(1) operation, no context copying on link. + */ + appendChild(this: IOwnership, child: IOwnership) { + const node = this as any as OwnershipNode; + const childNode = child as any as OwnershipNode; + + childNode._parent = node; + childNode._nextSibling = null; + childNode._prevSibling = node._lastChild; + + if (node._lastChild !== null) { + node._lastChild._nextSibling = childNode; + } else { + node._firstChild = childNode; + } + + node._lastChild = childNode; + node._childCount++; + } + + /** + * removeChild: Remove child from this owner's children list. + * O(1) operation. + */ + removeChild(this: IOwnership, child: IOwnership) { + const node = this as any as OwnershipNode; + const childNode = child as any as OwnershipNode; + + if (childNode._parent !== node) return; + + const prev = childNode._prevSibling; + const next = childNode._nextSibling; + + if (prev !== null) { + prev._nextSibling = next; + } else { + node._firstChild = next; + } + + if (next !== null) { + next._prevSibling = prev; + } else { + node._lastChild = prev; + } + + childNode._parent = null; + childNode._prevSibling = null; + childNode._nextSibling = null; + node._childCount--; + } + + /** + * onScopeCleanup: Register a cleanup callback. + * Lazily allocates cleanups array on first call. + */ + onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { + const node = this as any as OwnershipNode; + + if (node._flags & DISPOSED) { + throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); + } + + if (node._cleanups === null) { + node._cleanups = []; + } + + node._cleanups.push(fn); + } + + /** + * dispose: Iterative DFS traversal, no recursion. + * Processes tree bottom-up, runs cleanups, clears links. + */ + dispose(this: IOwnership, strategy?: DisposalStrategy) { + const node = this as any as OwnershipNode; + const { beforeDispose, afterDispose, onError } = strategy ?? {}; + + if (node._flags & DISPOSED) return; + + beforeDispose?.([this]); + + // Collect all nodes in DFS post-order using explicit stack + const toDispose: OwnershipNode[] = []; + const stack: Array<{ node: OwnershipNode; phase: number }> = [{ node, phase: 0 }]; + + while (stack.length > 0) { + const entry = stack[stack.length - 1]!; + const current = entry.node; + + if (entry.phase === 0) { + // First visit: push children + entry.phase = 1; + let child = current._lastChild; + while (child !== null) { + stack.push({ node: child, phase: 0 }); + child = child._prevSibling; + } + } else { + // Second visit: process node + stack.pop(); + if (!(current._flags & DISPOSED)) { + toDispose.push(current); + } + } + } + + // Phase 2: Run cleanups in post-order (already collected that way) + let errorCount = 0; + let firstError: unknown; + + for (let i = 0; i < toDispose.length; i++) { + const n = toDispose[i]; + if (!n || n._flags & DISPOSED) continue; + + const cleanups = n._cleanups; + n._cleanups = null; + + try { + if (cleanups !== null) { + for (let j = cleanups.length - 1; j >= 0; j--) { + const fn = cleanups[j]; + if (!fn) continue; + try { + fn(); + } catch (err) { + if (!firstError) firstError = err; + errorCount++; + onError?.(err, this); + } + } + } + } finally { + // Clear all links + if (n._prevSibling !== null) { + n._prevSibling._nextSibling = n._nextSibling; + } else if (n._parent !== null) { + n._parent._firstChild = n._nextSibling; + } + + if (n._nextSibling !== null) { + n._nextSibling._prevSibling = n._prevSibling; + } else if (n._parent !== null) { + n._parent._lastChild = n._prevSibling; + } + + // Mark as disposed + n._firstChild = null; + n._lastChild = null; + n._nextSibling = null; + n._prevSibling = null; + n._parent = null; + n._context = null; + n._childCount = 0; + n._flags = DISPOSED; + } + } + + afterDispose?.([this], errorCount); + + if (errorCount > 0 && !onError) { + console.error( + errorCount === 1 + ? "Error during ownership dispose:" + : `${errorCount} errors during ownership dispose. First error:`, + firstError, + ); + } + } + + /** + * getContext: Retrieve or lazily initialize context. + */ + getContext(this: IOwnership): IOwnershipContextRecord { + const node = this as any as OwnershipNode; + + if (node._context !== null) { + return node._context; + } + + const parentCtx = node._parent?._context; + const ctx = parentCtx ? Object.create(parentCtx) : Object.create(null); + + node._context = ctx; + return ctx; + } + + /** + * provide: Set context key/value. + */ + provide(this: IOwnership, key: ContextKeyType, value: unknown): void { + if (value === this) { + throw new Error("Cannot provide owner itself into context"); + } + const ctx = (this as any).getContext(); + ctx[key] = value; + } + + /** + * inject: Lookup context value (walks up parent chain). + */ + inject(this: IOwnership, key: ContextKeyType): T | undefined { + const node = this as any as OwnershipNode; + let current: OwnershipNode | null = node; + + while (current !== null) { + if (current._context !== null && Object.hasOwn(current._context, key)) { + return current._context[key] as T | undefined; + } + current = current._parent; + } + + return undefined; + } + + /** + * hasOwn: Check if key exists locally. + */ + hasOwn(this: IOwnership, key: ContextKeyType): boolean { + const node = this as any as OwnershipNode; + return node._context !== null && Object.hasOwn(node._context, key); + } +} + +export type OwnershipNode_IOwnershipInternal = Pick< + OwnershipNode, + | "_parent" + | "_firstChild" + | "_lastChild" + | "_nextSibling" + | "_prevSibling" + | "_context" + | "_cleanups" + | "_childCount" + | "_flags" + | "_epoch" + | "_contextEpoch" +>; diff --git a/packages/reflex/src/core/ownership/ownership.proto.ts b/packages/reflex/src/core/ownership/ownership.proto.ts deleted file mode 100644 index 62f9382..0000000 --- a/packages/reflex/src/core/ownership/ownership.proto.ts +++ /dev/null @@ -1,183 +0,0 @@ -import { ReflexObject } from "../object/object.inherit.js"; -import OwnershipDisposeError from "./ownership.error.js"; -import { - IOwnership, - IOwnershipContextRecord, - IOwnershipMethods, - type ContextKeyType, - DisposalStrategy, - DISPOSED, - DISPOSING, -} from "./ownership.type.js"; - -const DISPOSAL_INITIAL_CAPACITY = 4 as const; - -const OwnershipPrototype = { - appendChild(this: IOwnership, child: IOwnership) { - child._parent = this; - child._prevSibling = this._lastChild; - child._nextSibling = undefined; - - if (this._lastChild !== undefined) { - this._lastChild._nextSibling = child; - this._lastChild = child; - } else { - this._firstChild = this._lastChild = child; - } - - const parentContext = this._context; - if (parentContext !== undefined) { - child._context = - ReflexObject.Inherit(parentContext); - } - - ++this._childCount; - }, - - removeChild(this: IOwnership, child: IOwnership) { - if (child._parent !== this) return; - - const prev = child._prevSibling; - const next = child._nextSibling; - - if (prev !== undefined) prev._nextSibling = next; - if (next !== undefined) next._prevSibling = prev; - - if (this._firstChild === child) this._firstChild = next; - if (this._lastChild === child) this._lastChild = prev; - - child._parent = child._prevSibling = child._nextSibling = undefined; - --this._childCount; - }, - - onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { - if (this._state & DISPOSED) - throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); - - if (!this._disposal) { - this._disposal = []; - } - - this._disposal.push(fn); - }, - - dispose(this: IOwnership, strategy?: DisposalStrategy) { - const { beforeDispose, afterDispose, onError } = strategy ?? {}; - - if (this._state & DISPOSED) return; - - beforeDispose?.([this]); - - const stack: IOwnership[] = [this]; - const out: IOwnership[] = []; - - while (stack.length) { - const node = stack.pop()!; - if (!node || node._state & DISPOSED) continue; - - out.push(node); - - let child = node._firstChild; - while (child) { - if (!(child._state & DISPOSED)) stack.push(child); - child = child._nextSibling!; - } - } - - let errorCount = 0; - let firstError: unknown; - - for (let i = out.length - 1; i >= 0; i--) { - const node = out[i]!; - if (!node || node._state & DISPOSED) continue; - - node._state |= DISPOSING; - - const disposal = node._disposal; - node._disposal = undefined; - - try { - if (disposal) { - for (let j = disposal.length - 1; j >= 0; j--) { - const fn = disposal[j]; - if (!fn) continue; - try { - fn(); - } catch (err) { - if (!firstError) firstError = err; - errorCount++; - onError?.(err, node); - } - } - } - } finally { - if (node._prevSibling) - node._prevSibling._nextSibling = node._nextSibling; - if (node._nextSibling) - node._nextSibling._prevSibling = node._prevSibling; - - if (node._parent) { - if (node._parent._firstChild === node) - node._parent._firstChild = node._nextSibling; - if (node._parent._lastChild === node) - node._parent._lastChild = node._prevSibling; - } - - node._firstChild = - node._lastChild = - node._nextSibling = - node._prevSibling = - node._parent = - node._queue = - node._context = - undefined; - - node._childCount = 0; - node._state = DISPOSED; - } - } - - afterDispose?.([this], errorCount); - - if (errorCount > 0 && !onError) { - console.error( - errorCount === 1 - ? "Error during ownership dispose:" - : `${errorCount} errors during ownership dispose. First error:`, - firstError, - ); - } - }, - - /** Retrieve or lazily initialize current context */ - getContext(this: IOwnership): IOwnershipContextRecord { - if (this._context) return this._context; - - const parentCtx = this._parent?._context; - const ctx = parentCtx ? Object.create(parentCtx) : Object.create(null); - - this._context = ctx; - return ctx; - }, - - /** Provide new key/value pair */ - provide(this: IOwnership, key: ContextKeyType, value: unknown): void { - if (value === this) { - throw new Error("Cannot provide owner itself into context"); - } - const ctx = this.getContext(); - ctx[key] = value; - }, - - /** Lookup contextual value */ - inject(this: IOwnership, key: ContextKeyType): T | undefined { - return this._context?.[key] as T | undefined; - }, - - /** Check for local context key */ - hasOwn(this: IOwnership, key: ContextKeyType): boolean { - return this._context !== undefined && Object.hasOwn(this._context, key); - }, -} satisfies IOwnershipMethods; - -export default OwnershipPrototype; diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index 89d2982..2f275e5 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -2,40 +2,46 @@ import { createOwner } from "./ownership.core.js"; import { IOwnership } from "./ownership.type.js"; /** - * OwnershipScope — functional, zero-class manager - * for maintaining the current owner context. + * OwnershipScope class: maintains the current owner context. + * + * Replaces functional createOwnershipScope with a stable class + * for better inlining and performance. * * Provides: - * - getOwner(): IOwnership | undefined + * - getOwner(): IOwnership | null * - withOwner(owner, fn): T * - createScope(fn, parent?): T - * - * Works like a stack-safe ownership context. */ -export const createOwnershipScope = () => { - let currentOwner: IOwnership | undefined; +export class OwnershipScope { + private _current: IOwnership | null = null; - const getOwner = () => { - return currentOwner; - }; + getOwner(): IOwnership | null { + return this._current; + } - const withOwner = (owner: IOwnership, fn: () => T): T => { - const prev = currentOwner; - currentOwner = owner; + withOwner(owner: IOwnership, fn: () => T): T { + const prev = this._current; + this._current = owner; try { return fn(); } finally { - currentOwner = prev; + this._current = prev; } - }; + } - const createScope = (fn: () => T, parent = currentOwner): T => { - const owner = createOwner(parent); - return withOwner(owner, fn); - }; + createScope(fn: () => T, parent?: IOwnership | null): T { + const owner = createOwner(parent ?? (this._current ?? undefined)); + return this.withOwner(owner, fn); + } +} - return { getOwner, withOwner, createScope }; +/** + * Factory for creating a new OwnershipScope instance. + */ +export const createOwnershipScope = (): OwnershipScope => { + return new OwnershipScope(); }; -export type OwnershipScope = ReturnType; +export type { OwnershipScope as OwnershipScopeType }; + diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/reflex/src/core/ownership/ownership.type.ts index 1cb21d2..a91a7f8 100644 --- a/packages/reflex/src/core/ownership/ownership.type.ts +++ b/packages/reflex/src/core/ownership/ownership.type.ts @@ -1,8 +1,8 @@ /** * @file ownership.type.ts - * Core types, symbols, and flags for Reflex Ownership System. - * Defines hierarchical scopes, context inheritance, and cleanup logic. + * Core types and flags for Reflex Ownership System. */ +import { OwnershipNode } from "./ownership.node.js"; const S_OWN_BRAND = Symbol("OwnershipBrand"); const S_ID = Symbol.for("ownership:id"); @@ -14,7 +14,6 @@ const S_FN = Symbol.for("ownership:fn"); const S_VALUE = Symbol.for("ownership:value"); const S_DISPOSE = Symbol.for("ownership:dispose"); -// only one for dictionary mode in v8! type ContextKeyType = string; interface IOwnershipContextRecord { @@ -26,61 +25,25 @@ interface IOwnershipContext { readonly defaultValue?: T; } - const CLEAN = 0; const CHECK = 1 << 0; const DIRTY = 1 << 1; const DISPOSING = 1 << 2; const DISPOSED = 1 << 3; - interface IOwnershipMethods { - /** Attach a child to this owner (updates tree links & context). */ appendChild(child: IOwnership): void; - - /** Triggered when a new child scope is mounted. */ onScopeMount?(scope: IOwnership): void; - - /** Register a cleanup callback (runs on dispose). */ onScopeCleanup(fn: NoneToVoidFn): void; - - /** Detach a direct child from this owner. */ removeChild(child: IOwnership): void; - - /** Get or create the current scope context. */ getContext(): IOwnershipContextRecord; - - /** Provide a new key/value in this scope’s context. */ provide(key: symbol | string, value: unknown): void; - - /** Retrieve a value from nearest context scope. */ inject(key: symbol | string): T | undefined; - - /** Check if a context value exists locally (not inherited). */ hasOwn(key: symbol | string): boolean; - - /** Dispose this owner and all descendants (iterative). */ dispose(strategy?: DisposalStrategy): void; } -interface IOwnershipInternal { - _parent: IOwnership | undefined; - _firstChild: IOwnership | undefined; - _lastChild: IOwnership | undefined; - _nextSibling: IOwnership | undefined; - _prevSibling: IOwnership | undefined; - _disposal: NoneToVoidFn[] | undefined; - _context: IOwnershipContextRecord | undefined; - _queue: unknown | undefined; - _epoch: number; - _contextEpoch: number; - _state: number; - _childCount: number; -} - -interface IOwnership extends IOwnershipInternal, IOwnershipMethods { - [S_OWN_BRAND]: true; -} +type IOwnership = OwnershipNode & IOwnershipMethods; export interface DisposalStrategy { onError?: (err: unknown, node: IOwnership) => void; @@ -107,7 +70,6 @@ export { export type { IOwnership, - IOwnershipInternal, IOwnershipMethods, ContextKeyType, IOwnershipContext, diff --git a/packages/reflex/tests/ownership/ownerhip.test.ts b/packages/reflex/tests/ownership/ownerhip.test.ts index 0902b84..d623ec4 100644 --- a/packages/reflex/tests/ownership/ownerhip.test.ts +++ b/packages/reflex/tests/ownership/ownerhip.test.ts @@ -7,13 +7,17 @@ import { DISPOSING, } from "../../src/core/ownership/ownership.type"; -const isClean = (o: any) => o._state === CLEAN; -const isDisposed = (o: any) => o._state === DISPOSED; -const isDisposing = (o: any) => o._state === DISPOSING; +const isClean = (o: any) => o._flags === CLEAN; +const isDisposed = (o: any) => o._flags === DISPOSED; +const isDisposing = (o: any) => (o._flags & DISPOSING) === DISPOSING; const collectChildren = (owner: any) => { const arr: any[] = []; - for (const c of owner.children()) arr.push(c); + let child = owner._firstChild; + while (child !== null) { + arr.push(child); + child = child._nextSibling; + } return arr; }; @@ -28,55 +32,33 @@ describe("OwnershipPrototype — Core Behavior", () => { expect(child._parent).toBe(parent); expect(parent._firstChild).toBe(child); expect(parent._lastChild).toBe(child); + expect(parent._childCount).toBe(1); }); - // it("should detach child from previous parent before re-attaching", () => { - // const p1 = createOwner(); - // const p2 = createOwner(); - // const c = createOwner(); - - // p1.appendChild(c); - // expect(p1._firstChild).toBe(c); - - // p2.appendChild(c); - // expect(c._parent).toBe(p2); - // expect(p1._firstChild).toBeUndefined(); - // expect(p2._firstChild).toBe(c); - // }); - - // it("should be idempotent when appending same child multiple times", () => { - // const p = createOwner(); - // const c = createOwner(); - - // p.appendChild(c); - // p.appendChild(c); - // p.appendChild(c); - - // expect(p._firstChild).toBe(c); - // expect(p._lastChild).toBe(c); - // expect(c._parent).toBe(p); - // expect(c._nextSibling).toBeUndefined(); - // expect(c._prevSibling).toBeUndefined(); - // }); - - // it("should throw when trying to append owner to itself", () => { - // const o = createOwner(); - // expect(() => o.appendChild(o)).toThrow("Cannot append owner to itself"); - // }); - - // it("should throw when appending to disposed owner", () => { - // const parent = createOwner(); - // const child = createOwner(); - // parent.dispose(); - // expect(() => parent.appendChild(child)).toThrow(); - // expect(isDisposed(parent)).toBe(true); - // }); + it("should link multiple children in order", () => { + const parent = createOwner(); + const child1 = createOwner(); + const child2 = createOwner(); + const child3 = createOwner(); + + parent.appendChild(child1); + parent.appendChild(child2); + parent.appendChild(child3); + + expect(parent._firstChild).toBe(child1); + expect(parent._lastChild).toBe(child3); + expect(child1._nextSibling).toBe(child2); + expect(child2._prevSibling).toBe(child1); + expect(child2._nextSibling).toBe(child3); + expect(child3._prevSibling).toBe(child2); + expect(parent._childCount).toBe(3); + }); it("should safely remove non-existent child", () => { const p = createOwner(); const c = createOwner(); expect(() => p.removeChild(c)).not.toThrow(); - expect(p._firstChild).toBeUndefined(); + expect(p._firstChild).toBeNull(); }); it("should detach child reference after removal", () => { @@ -86,26 +68,60 @@ describe("OwnershipPrototype — Core Behavior", () => { p.appendChild(c); p.removeChild(c); - expect(c._parent).toBeUndefined(); - expect(c._nextSibling).toBeUndefined(); - expect(c._prevSibling).toBeUndefined(); - expect(p._firstChild).toBeUndefined(); - expect(p._lastChild).toBeUndefined(); + expect(c._parent).toBeNull(); + expect(c._nextSibling).toBeNull(); + expect(c._prevSibling).toBeNull(); + expect(p._firstChild).toBeNull(); + expect(p._lastChild).toBeNull(); + expect(p._childCount).toBe(0); + }); + + it("should remove child from middle of sibling chain", () => { + const p = createOwner(); + const c1 = createOwner(); + const c2 = createOwner(); + const c3 = createOwner(); + + p.appendChild(c1); + p.appendChild(c2); + p.appendChild(c3); + + p.removeChild(c2); + + expect(c1._nextSibling).toBe(c3); + expect(c3._prevSibling).toBe(c1); + expect(p._firstChild).toBe(c1); + expect(p._lastChild).toBe(c3); + expect(p._childCount).toBe(2); + }); + + it("should remove first child correctly", () => { + const p = createOwner(); + const c1 = createOwner(); + const c2 = createOwner(); + + p.appendChild(c1); + p.appendChild(c2); + p.removeChild(c1); + + expect(p._firstChild).toBe(c2); + expect(c2._prevSibling).toBeNull(); + expect(p._childCount).toBe(1); }); - // it("should prevent circular ownership chains", () => { - // const owner1 = createOwner(); - // const owner2 = createOwner(); - // owner1.appendChild(owner2); + it("should remove last child correctly", () => { + const p = createOwner(); + const c1 = createOwner(); + const c2 = createOwner(); - // // owner2 cannot become parent of owner1 - // owner2.appendChild(owner1); + p.appendChild(c1); + p.appendChild(c2); + p.removeChild(c2); - // // owner1 should be detached from owner2 before becoming its child - // expect(owner1._parent).toBe(owner2); - // expect(owner2._children.has(owner1)).toBe(true); - // expect(owner1._children.has(owner2)).toBe(false); - // }); + expect(p._lastChild).toBe(c1); + expect(c1._nextSibling).toBeNull(); + expect(p._childCount).toBe(1); + }); }); describe("Context Management", () => { @@ -137,7 +153,7 @@ describe("OwnershipPrototype — Core Behavior", () => { it("should lazily initialize context on first getContext call", () => { const owner = createOwner(); - expect(owner._context).toBe; + expect(owner._context).toBeNull(); const ctx = owner.getContext(); expect(owner._context).toBeDefined(); expect(ctx).toBe(owner._context); @@ -148,7 +164,7 @@ describe("OwnershipPrototype — Core Behavior", () => { parent.provide("x", 5); const child = createOwner(parent); - expect(child._context).toStrictEqual(Object.create(null)); + expect(child._context).toBeNull(); const value = child.inject("x"); expect(value).toBe(5); @@ -166,9 +182,9 @@ describe("OwnershipPrototype — Core Behavior", () => { const owner = createOwner(); const key = Symbol("test"); - owner.provide(key, "symbol-value"); - expect(owner.inject(key)).toBe("symbol-value"); - expect(owner.hasOwn(key)).toBe(true); + owner.provide(key as any, "symbol-value"); + expect(owner.inject(key as any)).toBe("symbol-value"); + expect(owner.hasOwn(key as any)).toBe(true); }); it("should return undefined for non-existent keys", () => { @@ -196,7 +212,7 @@ describe("OwnershipPrototype — Core Behavior", () => { const spy = vi.fn(); owner.onScopeCleanup(spy); - owner.dispose(); + (owner as any).dispose(); expect(spy).toHaveBeenCalledTimes(1); }); @@ -209,25 +225,25 @@ describe("OwnershipPrototype — Core Behavior", () => { owner.onScopeCleanup(() => order.push(2)); owner.onScopeCleanup(() => order.push(3)); - owner.dispose(); + (owner as any).dispose(); expect(order).toEqual([3, 2, 1]); }); it("should throw when adding cleanup to disposed owner", () => { const owner = createOwner(); - owner.dispose(); + (owner as any).dispose(); expect(() => owner.onScopeCleanup(() => {})).toThrow(); }); it("should initialize disposal array lazily", () => { const owner = createOwner(); - expect(owner._disposal).toBeUndefined(); + expect(owner._cleanups).toBeNull(); owner.onScopeCleanup(() => {}); - expect(owner._disposal).toBeDefined(); - expect(Array.isArray(owner._disposal)).toBe(true); + expect(owner._cleanups).toBeDefined(); + expect(Array.isArray(owner._cleanups)).toBe(true); }); }); @@ -245,7 +261,7 @@ describe("OwnershipPrototype — Core Behavior", () => { child2.onScopeCleanup(() => order.push("child2")); root.onScopeCleanup(() => order.push("root")); - root.dispose(); + (root as any).dispose(); expect(order).toEqual(["grandchild", "child1", "child2", "root"]); }); @@ -254,33 +270,20 @@ describe("OwnershipPrototype — Core Behavior", () => { const root = createOwner(); const child = createOwner(root); - root.dispose(); + (root as any).dispose(); expect(isDisposed(root)).toBe(true); expect(isDisposed(child)).toBe(true); }); - it("should mark nodes as DISPOSING during cleanup", () => { - const owner = createOwner(); - let stateSnapshot: number | undefined; - - owner.onScopeCleanup(() => { - stateSnapshot = owner._state; - }); - - owner.dispose(); - - expect(stateSnapshot).toBe(DISPOSING); - }); - it("should be idempotent (multiple dispose calls safe)", () => { const owner = createOwner(); const spy = vi.fn(); owner.onScopeCleanup(spy); - owner.dispose(); - owner.dispose(); - owner.dispose(); + (owner as any).dispose(); + (owner as any).dispose(); + (owner as any).dispose(); expect(spy).toHaveBeenCalledTimes(1); expect(isDisposed(owner)).toBe(true); @@ -291,12 +294,13 @@ describe("OwnershipPrototype — Core Behavior", () => { o.provide("x", 1); o.onScopeCleanup(() => {}); const c = createOwner(o); - o.dispose(); - expect(o._disposal).toBeUndefined(); - expect(o._context).toBeUndefined(); - expect(o._firstChild).toBeUndefined(); - expect(o._lastChild).toBeUndefined(); + (o as any).dispose(); + expect(o._cleanups).toBeNull(); + expect(o._context).toBeNull(); + expect(o._firstChild).toBeNull(); + expect(o._lastChild).toBeNull(); }); + it("should continue cleanup despite errors in cleanup callbacks", () => { const owner = createOwner(); const spy1 = vi.fn(); @@ -313,7 +317,7 @@ describe("OwnershipPrototype — Core Behavior", () => { .spyOn(console, "error") .mockImplementation(() => {}); - owner.dispose(); + (owner as any).dispose(); expect(spy1).toHaveBeenCalled(); expect(spy2).toHaveBeenCalled(); @@ -335,8 +339,8 @@ describe("OwnershipPrototype — Core Behavior", () => { throw new Error("error2"); }); - owner.dispose({ - onError: (err) => errors.push(err), + (owner as any).dispose({ + onError: (err: any) => errors.push(err), }); expect(errors).toHaveLength(2); @@ -347,7 +351,7 @@ describe("OwnershipPrototype — Core Behavior", () => { const owner = createOwner(); const hooks: string[] = []; - owner.dispose({ + (owner as any).dispose({ beforeDispose: () => hooks.push("before"), afterDispose: () => hooks.push("after"), }); @@ -363,8 +367,8 @@ describe("OwnershipPrototype — Core Behavior", () => { throw new Error("fail"); }); - owner.dispose({ - afterDispose: (_, count) => { + (owner as any).dispose({ + afterDispose: (_: any, count: number) => { errorCount = count; }, onError: () => {}, @@ -384,8 +388,8 @@ describe("OwnershipPrototype — Core Behavior", () => { child1.onScopeCleanup(spy1); child2.onScopeCleanup(spy2); - child1.dispose(); - root.dispose(); + (child1 as any).dispose(); + (root as any).dispose(); expect(spy1).toHaveBeenCalledTimes(1); expect(spy2).toHaveBeenCalledTimes(1); @@ -395,7 +399,7 @@ describe("OwnershipPrototype — Core Behavior", () => { describe("Edge Cases & Safety", () => { it("should handle empty ownership tree", () => { const owner = createOwner(); - expect(() => owner.dispose()).not.toThrow(); + expect(() => (owner as any).dispose()).not.toThrow(); expect(isDisposed(owner)).toBe(true); }); @@ -408,7 +412,8 @@ describe("OwnershipPrototype — Core Behavior", () => { current = child; } - expect(() => current._parent?.dispose()).not.toThrow(); + expect(current._parent).toBeDefined(); + expect(() => (current as any).dispose()).not.toThrow(); }); it("should handle wide trees with many children", () => { @@ -420,7 +425,7 @@ describe("OwnershipPrototype — Core Behavior", () => { } expect(root._childCount).toBe(childCount); - expect(() => root.dispose()).not.toThrow(); + expect(() => (root as any).dispose()).not.toThrow(); expect(isDisposed(root)).toBe(true); }); @@ -447,7 +452,7 @@ describe("OwnershipPrototype — Core Behavior", () => { owner.provide("x", 1); expect(isClean(owner)).toBe(true); - owner.dispose(); + (owner as any).dispose(); expect(isDisposed(owner)).toBe(true); }); }); @@ -462,7 +467,7 @@ describe("OwnershipScope — Context Management", () => { afterEach(() => { // Ensure no dangling owners - expect(scope.getOwner()).toBeUndefined(); + expect(scope.getOwner()).toBeNull(); }); describe("withOwner", () => { @@ -475,7 +480,7 @@ describe("OwnershipScope — Context Management", () => { }); expect(seenOwner).toBe(owner); - expect(scope.getOwner()).toBeUndefined(); + expect(scope.getOwner()).toBeNull(); }); it("should return callback result", () => { @@ -494,7 +499,7 @@ describe("OwnershipScope — Context Management", () => { }); }).toThrow("test"); - expect(scope.getOwner()).toBeUndefined(); + expect(scope.getOwner()).toBeNull(); }); it("should handle nested withOwner calls", () => { @@ -511,7 +516,7 @@ describe("OwnershipScope — Context Management", () => { expect(scope.getOwner()).toBe(outer); }); - expect(scope.getOwner()).toBeUndefined(); + expect(scope.getOwner()).toBeNull(); }); }); @@ -561,7 +566,7 @@ describe("OwnershipScope — Context Management", () => { }); expect(rootOwner).toBeDefined(); - expect(rootOwner._parent).toBeUndefined(); + expect(rootOwner._parent).toBeNull(); }); it("should create nested scopes correctly", () => { @@ -596,13 +601,13 @@ describe("OwnershipScope — Context Management", () => { }); }).toThrow("scope error"); - expect(scope.getOwner()).toBeUndefined(); + expect(scope.getOwner()).toBeNull(); }); }); describe("getOwner", () => { - it("should return undefined when no owner set", () => { - expect(scope.getOwner()).toBeUndefined(); + it("should return null when no owner set", () => { + expect(scope.getOwner()).toBeNull(); }); it("should return current owner", () => { diff --git a/packages/reflex/tests/ownership/ownership.bench.ts b/packages/reflex/tests/ownership/ownership.bench.ts index 67d681a..f20f040 100644 --- a/packages/reflex/tests/ownership/ownership.bench.ts +++ b/packages/reflex/tests/ownership/ownership.bench.ts @@ -1,138 +1,152 @@ -// ownership.run.ts -// Стенд без Vitest. Чистый прогон операций Ownership для профилировщиков. -// Запуск для 0x: -// pnpm exec 0x -- node dist/tests/ownership.run.js -// или: -// node --require ts-node/register/transpile-only tests/ownership.run.ts - +import { bench, describe } from "vitest"; import { createOwner } from "../../src/core/ownership/ownership.core"; -// =========================== -// helpers -// =========================== -function buildTree(depth: number, width: number) { - const root = createOwner(); - let layer = [root]; - - for (let d = 0; d < depth; d++) { - const next: any[] = []; - for (const parent of layer) { - for (let i = 0; i < width; i++) { - next.push(createOwner(parent)); +/** + * Ownership System Microbenchmarks + * + * Detailed performance profiling of hot-path operations. + * Comparable structure to reference benchmarks for direct performance comparison. + */ + +describe("Ownership — Microbench", () => { + bench("create 100 children and dispose", () => { + const root = createOwner(); + for (let i = 0; i < 100; i++) { + createOwner(root); + } + (root as any).dispose(); + }); + + bench("register 100 cleanups", () => { + const owner = createOwner(); + for (let i = 0; i < 100; i++) { + owner.onScopeCleanup(() => {}); + } + }); + + bench("register 10k cleanups and dispose", () => { + const owner = createOwner(); + for (let i = 0; i < 10_000; i++) { + owner.onScopeCleanup(() => {}); + } + (owner as any).dispose(); + }); + + bench("build balanced tree (depth 6 × 3)", () => { + const buildTree = (depth: number, width: number) => { + const root = createOwner(); + let layer = [root]; + for (let d = 0; d < depth; d++) { + const next: any[] = []; + for (const parent of layer) { + for (let i = 0; i < width; i++) { + next.push(createOwner(parent)); + } + } + layer = next; + } + return root; + }; + + const root = buildTree(6, 3); // 1 + 3 + 9 + 27 + 81 + 243 + 729 = 1093 nodes + (root as any).dispose(); + }); + + bench("build wide tree (3000 siblings)", () => { + const root = createOwner(); + for (let i = 0; i < 3000; i++) { + createOwner(root); + } + (root as any).dispose(); + }); + + bench("build linear chain (depth 10k)", () => { + let node = createOwner(); + const root = node; + for (let i = 0; i < 10_000; i++) { + node = createOwner(node); + } + (root as any).dispose(); + }); + + bench("context propagation 1000× deep", () => { + let node = createOwner(); + const root = node; + for (let i = 0; i < 1000; i++) { + node = createOwner(node); + } + + node.provide("value", 42); + + for (let i = 0; i < 100; i++) { + node.inject("value"); + } + + (root as any).dispose(); + }); + + bench("context override isolation", () => { + const root = createOwner(); + root.provide("key", 0); + + for (let i = 0; i < 100; i++) { + const child = createOwner(root); + child.provide("key", i); + child.inject("key"); + root.inject("key"); + } + + (root as any).dispose(); + }); + + bench("interleaved append/remove", () => { + const root = createOwner(); + const list: any[] = []; + + for (let i = 0; i < 1000; i++) { + const child = createOwner(root); + list.push(child); + + if (i % 5 === 0 && list.length > 1) { + const toRemove = list.shift(); + root.removeChild(toRemove); } } - layer = next; - } - return root; -} - -// =========================== -// individual tasks -// =========================== - -function runCreate10000Children() { - const root = createOwner(); - for (let i = 0; i < 10_000; i++) createOwner(root); - root.dispose(); -} - -function runAppendRemoveMixed10000() { - const root = createOwner(); - const list = []; - for (let i = 0; i < 10_000; i++) { - const n = createOwner(root); - list.push(n); - if (i % 4 === 0) root.removeChild(n); - } - root.dispose(); -} - -function runLinear10000() { - let node = createOwner(); - const root = node; - for (let i = 0; i < 10_000; i++) node = createOwner(node); - root.dispose(); -} - -function runWide10000() { - const root = createOwner(); - for (let i = 0; i < 10_000; i++) createOwner(root); - root.dispose(); -} - -function runBalancedDeepTree() { - const root = buildTree(6, 10); // примерно 111k узлов - root.dispose(); -} - -function runContextPropagation10000() { - let node = createOwner(); - for (let i = 0; i < 10_000; i++) node = createOwner(node); - - node.provide("v", 123); - - let cur = node; - while (cur._parent) cur = cur._parent; - - cur.getContext(); -} - -function runContextOverride10000() { - const root = createOwner(); - root.provide("x", 1); - - for (let i = 0; i < 10_000; i++) { - const child = createOwner(root); - child.provide("x", i); - child.inject("x"); - root.inject("x"); - } -} - -function runRegisterCleanups10000() { - const owner = createOwner(); - for (let i = 0; i < 10_000; i++) { - owner.onScopeCleanup(() => {}); - } - owner.dispose(); -} - -function runRegisterAndDisposeLargeCleanups() { - const owner = createOwner(); - for (let i = 0; i < 10_000; i++) { - owner.onScopeCleanup(() => {}); - } - owner.dispose(); -} - -// =========================== -// Main workload -// =========================== - -console.log("Warmup..."); -for (let i = 0; i < 5; i++) { - runCreate10000Children(); - runLinear10000(); - runWide10000(); -} - -console.log("Running main 10k benchmark load..."); -for (let i = 0; i < 50; i++) runCreate10000Children(); - -for (let i = 0; i < 50; i++) runAppendRemoveMixed10000(); - -for (let i = 0; i < 20; i++) runLinear10000(); - -for (let i = 0; i < 20; i++) runWide10000(); - -for (let i = 0; i < 20; i++) runBalancedDeepTree(); - -for (let i = 0; i < 50; i++) runContextPropagation10000(); - -for (let i = 0; i < 50; i++) runContextOverride10000(); - -for (let i = 0; i < 20; i++) runRegisterCleanups10000(); - -for (let i = 0; i < 20; i++) runRegisterAndDisposeLargeCleanups(); - -console.log("Ownership run complete."); + + (root as any).dispose(); + }); + + bench("simulate UI component tree (header/main/footer)", () => { + const root = createOwner(); + + // Header: 50 components + const header = createOwner(root); + for (let i = 0; i < 50; i++) createOwner(header); + + // Main: 200 components (10 sections × 20 items) + const main = createOwner(root); + for (let s = 0; s < 10; s++) { + const section = createOwner(main); + for (let i = 0; i < 20; i++) createOwner(section); + } + + // Footer: 30 components + const footer = createOwner(root); + for (let i = 0; i < 30; i++) createOwner(footer); + + (root as any).dispose(); + }); + + bench("subscription cleanup pattern (100 subs)", () => { + const owner = createOwner(); + + // Simulate 100 subscriptions with cleanup + for (let i = 0; i < 100; i++) { + owner.onScopeCleanup(() => { + // Cleanup: unsubscribe + }); + } + + (owner as any).dispose(); + }); +}); From 0280064e777cb5e7738dd55fbf1f34d46a21911d Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Wed, 19 Nov 2025 14:25:09 +0200 Subject: [PATCH 19/32] refactor: remove outdated graph constants and prototype methods, restructure graph utilities --- packages/reflex/src/core/graph/graph.core.ts | 3 +- packages/reflex/src/core/graph/graph.types.ts | 6 +-- .../core/graph/{ => utils}/graph.constants.ts | 20 +++++---- ...ntrusive-helpers.ts => graph.intrusive.ts} | 0 .../src/core/graph/utils/graph.linker.ts | 3 +- .../graph.operations.ts} | 5 ++- .../reflex/src/runtime/primitive/computed.ts | 44 +++++++++++++++++++ .../reflex/src/runtime/primitive/effect.ts | 20 +++++++++ .../reflex/src/runtime/primitive/signal.ts | 26 ++++++++--- 9 files changed, 104 insertions(+), 23 deletions(-) rename packages/reflex/src/core/graph/{ => utils}/graph.constants.ts (62%) rename packages/reflex/src/core/graph/utils/{intrusive-helpers.ts => graph.intrusive.ts} (100%) rename packages/reflex/src/core/graph/{graph.proto.ts => utils/graph.operations.ts} (93%) diff --git a/packages/reflex/src/core/graph/graph.core.ts b/packages/reflex/src/core/graph/graph.core.ts index 0e55d49..cb5a748 100644 --- a/packages/reflex/src/core/graph/graph.core.ts +++ b/packages/reflex/src/core/graph/graph.core.ts @@ -1,7 +1,6 @@ import { ASYNC, - CLEAN, -} from "./graph.constants.js"; +} from "./utils/graph.constants.js"; import { GraphNode, IReactiveNode } from "./graph.types.js"; const isObserverNode = (node: IReactiveNode): boolean => { diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/reflex/src/core/graph/graph.types.ts index 3cc5b99..6c50a98 100644 --- a/packages/reflex/src/core/graph/graph.types.ts +++ b/packages/reflex/src/core/graph/graph.types.ts @@ -47,7 +47,7 @@ class GraphNode { this._flags = 0; this._version = 0; this._epoch = 0; - + this._valueRaw = undefined; this._observer = null; this._kind = "source"; @@ -58,8 +58,8 @@ type IReactiveNode = GraphNode; interface IReactiveValue { (): T; - (next: T | ((prev: T) => T)): void; - readonly _node: IReactiveNode; + get(): T; + set(next: T | ((prev: T) => T)): void; } export type { IObserverFn, IReactiveNode, IReactiveValue, ReactiveNodeKind }; diff --git a/packages/reflex/src/core/graph/graph.constants.ts b/packages/reflex/src/core/graph/utils/graph.constants.ts similarity index 62% rename from packages/reflex/src/core/graph/graph.constants.ts rename to packages/reflex/src/core/graph/utils/graph.constants.ts index dc63030..d02ab35 100644 --- a/packages/reflex/src/core/graph/graph.constants.ts +++ b/packages/reflex/src/core/graph/utils/graph.constants.ts @@ -1,14 +1,16 @@ -import { type BitMask } from "../object/utils/bitwise.js"; +import { type BitMask } from "../../object/utils/bitwise.js"; const CLEAN: BitMask = 0; -const DIRTY: BitMask = 1 << 0; -const DISPOSED: BitMask = 1 << 1; -const SCHEDULED: BitMask = 1 << 2; -const RUNNING: BitMask = 1 << 3; -const ASYNC: BitMask = 1 << 4; -const KIND_SOURCE: BitMask = 1 << 5; -const KIND_COMPUTATION: BitMask = 1 << 6; -const KIND_EFFECT: BitMask = 1 << 7; +const CHECK = 1 << 0; +const DIRTY: BitMask = 1 << 1; +const DISPOSED: BitMask = 1 << 2; +const DISPOSING: BitMask = 1 << 3; +const SCHEDULED: BitMask = 1 << 4; +const RUNNING: BitMask = 1 << 5; +const ASYNC: BitMask = 1 << 6; +const KIND_SOURCE: BitMask = 1 << 7; +const KIND_COMPUTATION: BitMask = 1 << 8; +const KIND_EFFECT: BitMask = 1 << 9; /** * Number of cells in the internal Uint32Array structures. diff --git a/packages/reflex/src/core/graph/utils/intrusive-helpers.ts b/packages/reflex/src/core/graph/utils/graph.intrusive.ts similarity index 100% rename from packages/reflex/src/core/graph/utils/intrusive-helpers.ts rename to packages/reflex/src/core/graph/utils/graph.intrusive.ts diff --git a/packages/reflex/src/core/graph/utils/graph.linker.ts b/packages/reflex/src/core/graph/utils/graph.linker.ts index 0e92191..ee0024b 100644 --- a/packages/reflex/src/core/graph/utils/graph.linker.ts +++ b/packages/reflex/src/core/graph/utils/graph.linker.ts @@ -17,7 +17,7 @@ import { IReactiveNode } from "../graph.types.js"; import { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, -} from "./intrusive-helpers.js"; +} from "./graph.intrusive.js"; /** * linkEdge: Safe linking of source and observer. @@ -49,5 +49,4 @@ export function unlinkEdge( // Export unsafe operations for benchmarking and internal use export { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe }; -export { unlinkAllObserversUnsafe, unlinkAllSourcesUnsafe } from "./intrusive-helpers.js"; diff --git a/packages/reflex/src/core/graph/graph.proto.ts b/packages/reflex/src/core/graph/utils/graph.operations.ts similarity index 93% rename from packages/reflex/src/core/graph/graph.proto.ts rename to packages/reflex/src/core/graph/utils/graph.operations.ts index ad014f2..fd60218 100644 --- a/packages/reflex/src/core/graph/graph.proto.ts +++ b/packages/reflex/src/core/graph/utils/graph.operations.ts @@ -13,8 +13,9 @@ * Actual methods are defined on GraphNode in graph.types.ts. * If needed, we can expose these as static helpers or extend the class. */ -import { IReactiveNode } from "./graph.types.js"; -import { linkEdge, unlinkEdge } from "./utils/graph.linker.js"; + +import { IReactiveNode } from "../graph.types"; +import { linkEdge, unlinkEdge } from "./graph.linker"; /** * Convenience methods (static or instance) for graph operations. diff --git a/packages/reflex/src/runtime/primitive/computed.ts b/packages/reflex/src/runtime/primitive/computed.ts index e69de29..232d451 100644 --- a/packages/reflex/src/runtime/primitive/computed.ts +++ b/packages/reflex/src/runtime/primitive/computed.ts @@ -0,0 +1,44 @@ +import { GraphNode, IReactiveNode } from "../../core/graph/graph.types"; +import { IOwnership } from "../../core/ownership/ownership.type"; + +class Computed { + private readonly owner: IOwnership | null; + private readonly _node: IReactiveNode; + private readonly computeFn: () => T; + private cachedValue: T | null; + + constructor( + owner: IOwnership | null, + computeFn: () => T, + node: IReactiveNode, + ) { + this.owner = owner; + this._node = node; + this._node._kind = "computation"; + this.computeFn = computeFn; + this.cachedValue = null; + } + + get(): T { + if (this.cachedValue === null) { + return this.compute(); + } + + return this.cachedValue; + } + + compute(): T { + const newValue = this.computeFn(); + this.cachedValue = newValue; + return newValue; + } +} + +export function createComputed( + owner: IOwnership | null, + computeFn: () => T, +): () => T { + const graphNode = new GraphNode(); + const computed = new Computed(owner, computeFn, graphNode); + return () => computed.get(); +} \ No newline at end of file diff --git a/packages/reflex/src/runtime/primitive/effect.ts b/packages/reflex/src/runtime/primitive/effect.ts index e69de29..e480c27 100644 --- a/packages/reflex/src/runtime/primitive/effect.ts +++ b/packages/reflex/src/runtime/primitive/effect.ts @@ -0,0 +1,20 @@ +class Effect { + private effectFn: () => void; + private cleanupFn: (() => void) | null; + + constructor(effectFn: () => void) { + this.effectFn = effectFn; + this.cleanupFn = null; + } + + run(): void { + if (this.cleanupFn) { + this.cleanupFn(); + } + + const cleanup = this.effectFn(); + if (typeof cleanup === "function") { + this.cleanupFn = cleanup; + } + } +} diff --git a/packages/reflex/src/runtime/primitive/signal.ts b/packages/reflex/src/runtime/primitive/signal.ts index 3d0d28a..9e91f27 100644 --- a/packages/reflex/src/runtime/primitive/signal.ts +++ b/packages/reflex/src/runtime/primitive/signal.ts @@ -1,4 +1,8 @@ -import { IReactiveNode, IReactiveValue } from "../../core/graph/graph.types"; +import { + GraphNode, + IReactiveNode, + IReactiveValue, +} from "../../core/graph/graph.types"; import { IOwnership } from "../../core/ownership/ownership.type"; class Signal { @@ -26,12 +30,24 @@ class Signal { } export function createSignal( - value: T, owner: IOwnership | null, - node: IReactiveNode, + value: T, ): IReactiveValue { - const s = new Signal(value, owner, node); - const fn = s as unknown as IReactiveValue; + const graphNode = new GraphNode(); + const signal = new Signal(value, owner, graphNode); + + const get = () => signal.get(); + const set = signal.set; + + const fn = get as IReactiveValue; + + fn.get = get; + fn.set = set; return fn; } + +const signal = createSignal(null, 10); + +signal(); +signal.set(20); From 58366d5b4da8c0ce8e940bea60c1ad48c0cd744d Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Wed, 19 Nov 2025 14:25:18 +0200 Subject: [PATCH 20/32] refactor: reorganize imports for graph linker and intrusive utilities --- packages/reflex/tests/graph/graph.bench.ts | 9 ++------- packages/reflex/tests/graph/graph.test.ts | 3 +-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/reflex/tests/graph/graph.bench.ts b/packages/reflex/tests/graph/graph.bench.ts index a4db98e..7be9490 100644 --- a/packages/reflex/tests/graph/graph.bench.ts +++ b/packages/reflex/tests/graph/graph.bench.ts @@ -3,13 +3,8 @@ import { IReactiveNode, GraphNode, } from "../../src/core/graph/graph.types"; -import { - linkEdge, - unlinkEdge, - linkSourceToObserverUnsafe, - unlinkSourceFromObserverUnsafe, - unlinkAllObserversUnsafe, -} from "../../src/core/graph/utils/graph.linker"; +import { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, unlinkAllObserversUnsafe } from "../../src/core/graph/utils/graph.intrusive"; +import { linkEdge, unlinkEdge } from "../../src/core/graph/utils/graph.linker"; function makeNode(): IReactiveNode { return new GraphNode(); diff --git a/packages/reflex/tests/graph/graph.test.ts b/packages/reflex/tests/graph/graph.test.ts index 57fa380..f3b9730 100644 --- a/packages/reflex/tests/graph/graph.test.ts +++ b/packages/reflex/tests/graph/graph.test.ts @@ -9,9 +9,8 @@ import { unlinkEdge, linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, - unlinkAllObserversUnsafe, - unlinkAllSourcesUnsafe, } from "../../src/core/graph/utils/graph.linker"; +import { unlinkAllObserversUnsafe, unlinkAllSourcesUnsafe } from "../../src/core/graph/utils/graph.intrusive"; function makeNode(kind: ReactiveNodeKind = "computation"): IReactiveNode { const node = new GraphNode(); From 695596564ee1857e21ac340cb695a048f3f76f0f Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Wed, 19 Nov 2025 18:05:59 +0200 Subject: [PATCH 21/32] docs: add initial content to Readme.md --- theory/Readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 theory/Readme.md diff --git a/theory/Readme.md b/theory/Readme.md new file mode 100644 index 0000000..7b01213 --- /dev/null +++ b/theory/Readme.md @@ -0,0 +1 @@ +There will be are formal prove \ No newline at end of file From 84e96b6ff7e1724755e3288400657bb020273525 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Fri, 21 Nov 2025 00:11:31 +0200 Subject: [PATCH 22/32] Refactor graph module and improve tests - Moved IReactiveNode and GraphNode imports to graph.node.ts for better organization. - Updated graph benchmarks to improve readability and structure. - Simplified test cases in graph.test.ts by removing unnecessary parameters. - Added new utility functions for DOM event handling and validation. - Implemented UnrolledQueue with comprehensive benchmarks and tests for performance evaluation. - Enhanced tsconfig.json for better project structure and exclusion of unnecessary files. - Removed unused plugins directory and added README for new validation modules. --- .nvmrc | 2 +- LICENSE | 2 +- package.json | 4 +- .../reflex-dom/src/client/layoutTrashing.ts | 4 +- .../events/getVendorPrefixedEventName.ts | 0 .../src/{common => shared}/isDomAvailable.ts | 0 .../validate/DOMNestingClassificator.ts | 0 .../validate/DOMResourceValidation.ts | 0 .../src/{common => shared}/validate/README.md | 0 .../validate/isAttributeNameSafe.ts | 0 packages/reflex-dom/tsconfig.json | 24 ++-- .../src/core/collections/unrolled-queue.ts | 5 +- packages/reflex/src/core/graph/graph.core.ts | 25 ---- packages/reflex/src/core/graph/graph.node.ts | 25 ++++ packages/reflex/src/core/graph/graph.types.ts | 55 +-------- .../src/core/graph/utils/graph.intrusive.ts | 24 ++-- .../src/core/graph/utils/graph.linker.ts | 10 +- .../src/core/graph/utils/graph.operations.ts | 1 - .../reflex/src/core/object/utils/assert.ts | 8 +- .../src/core/ownership/ownership.core.ts | 10 +- .../src/core/ownership/ownership.node.ts | 60 ++++------ .../src/core/ownership/ownership.scope.ts | 5 +- .../{execution.stack.ts => context.scope.ts} | 0 .../src/runtime/execution/context.stack.ts | 0 .../reflex/src/runtime/primitive/computed.ts | 1 - .../reflex/src/runtime/primitive/signal.ts | 42 +++---- .../tests/collections/unrolled-queue.bench.ts | 36 ++++++ .../unrolled-queue.stress.bench.ts | 108 ++++++++++++++++++ .../tests/collections/unrolled-queue.test.ts | 99 ++++++++++++++++ packages/reflex/tests/graph/graph.bench.ts | 51 +++++---- packages/reflex/tests/graph/graph.test.ts | 45 ++++---- packages/reflex/tsconfig.json | 6 +- plugins/Readme.md | 0 33 files changed, 412 insertions(+), 240 deletions(-) rename packages/reflex-dom/src/{common => shared}/events/getVendorPrefixedEventName.ts (100%) rename packages/reflex-dom/src/{common => shared}/isDomAvailable.ts (100%) rename packages/reflex-dom/src/{common => shared}/validate/DOMNestingClassificator.ts (100%) rename packages/reflex-dom/src/{common => shared}/validate/DOMResourceValidation.ts (100%) rename packages/reflex-dom/src/{common => shared}/validate/README.md (100%) rename packages/reflex-dom/src/{common => shared}/validate/isAttributeNameSafe.ts (100%) delete mode 100644 packages/reflex/src/core/graph/graph.core.ts create mode 100644 packages/reflex/src/core/graph/graph.node.ts rename packages/reflex/src/runtime/execution/{execution.stack.ts => context.scope.ts} (100%) rename plugins/index.ts => packages/reflex/src/runtime/execution/context.stack.ts (100%) create mode 100644 packages/reflex/tests/collections/unrolled-queue.bench.ts create mode 100644 packages/reflex/tests/collections/unrolled-queue.stress.bench.ts create mode 100644 packages/reflex/tests/collections/unrolled-queue.test.ts create mode 100644 plugins/Readme.md diff --git a/.nvmrc b/.nvmrc index 3bf34c2..1eec628 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v20.19.0 \ No newline at end of file +v25.2.0 \ No newline at end of file diff --git a/LICENSE b/LICENSE index 8a83559..c8fe909 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 Andrii Volynets +Copyright (c) 2025-present Andrii Volynets Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/package.json b/package.json index 1a7067b..230141b 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,7 @@ "typescript": "^5.6.0", "typescript-eslint": "^8.0.0", "vite": "^6.0.0", - "vitest": "^4.0.0" - }, - "dependencies": { + "vitest": "^4.0.0", "ts-node": "^10.9.2" } } diff --git a/packages/reflex-dom/src/client/layoutTrashing.ts b/packages/reflex-dom/src/client/layoutTrashing.ts index 4ce14dc..18e488d 100644 --- a/packages/reflex-dom/src/client/layoutTrashing.ts +++ b/packages/reflex-dom/src/client/layoutTrashing.ts @@ -1,9 +1,9 @@ -type LayoutCategory = "read" | "write" | "mixed.js"; +type LayoutCategory = "read" | "write" | "mixed"; interface LayoutProperty { category: LayoutCategory; description?: string; - riskLevel: "high" | "medium" | "low.js"; + riskLevel: "high" | "medium" | "low"; alternative?: string; } diff --git a/packages/reflex-dom/src/common/events/getVendorPrefixedEventName.ts b/packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts similarity index 100% rename from packages/reflex-dom/src/common/events/getVendorPrefixedEventName.ts rename to packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts diff --git a/packages/reflex-dom/src/common/isDomAvailable.ts b/packages/reflex-dom/src/shared/isDomAvailable.ts similarity index 100% rename from packages/reflex-dom/src/common/isDomAvailable.ts rename to packages/reflex-dom/src/shared/isDomAvailable.ts diff --git a/packages/reflex-dom/src/common/validate/DOMNestingClassificator.ts b/packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts similarity index 100% rename from packages/reflex-dom/src/common/validate/DOMNestingClassificator.ts rename to packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts diff --git a/packages/reflex-dom/src/common/validate/DOMResourceValidation.ts b/packages/reflex-dom/src/shared/validate/DOMResourceValidation.ts similarity index 100% rename from packages/reflex-dom/src/common/validate/DOMResourceValidation.ts rename to packages/reflex-dom/src/shared/validate/DOMResourceValidation.ts diff --git a/packages/reflex-dom/src/common/validate/README.md b/packages/reflex-dom/src/shared/validate/README.md similarity index 100% rename from packages/reflex-dom/src/common/validate/README.md rename to packages/reflex-dom/src/shared/validate/README.md diff --git a/packages/reflex-dom/src/common/validate/isAttributeNameSafe.ts b/packages/reflex-dom/src/shared/validate/isAttributeNameSafe.ts similarity index 100% rename from packages/reflex-dom/src/common/validate/isAttributeNameSafe.ts rename to packages/reflex-dom/src/shared/validate/isAttributeNameSafe.ts diff --git a/packages/reflex-dom/tsconfig.json b/packages/reflex-dom/tsconfig.json index 2b5564a..32d3cfd 100644 --- a/packages/reflex-dom/tsconfig.json +++ b/packages/reflex-dom/tsconfig.json @@ -1,12 +1,22 @@ { - "extends": "../../environment/tsconfig.base.json", - "compilerOptions": { - "rootDir": "src", - "outDir": "dist", - "types": ["node"], - "typeRoots": ["../../node_modules/@types"], + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "strict": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + "useUnknownInCatchVariables": true, + "skipLibCheck": true, "declaration": true, - "declarationMap": true + "declarationMap": true, + "sourceMap": true, + "outDir": "./dist", + "allowImportingTsExtensions": false, + "esModuleInterop": true, + "resolveJsonModule": true, + "isolatedModules": true, + "composite": true }, "references": [ { "path": "../reflex" } diff --git a/packages/reflex/src/core/collections/unrolled-queue.ts b/packages/reflex/src/core/collections/unrolled-queue.ts index 6addd8c..133bc06 100644 --- a/packages/reflex/src/core/collections/unrolled-queue.ts +++ b/packages/reflex/src/core/collections/unrolled-queue.ts @@ -245,18 +245,17 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { const item = this.#tail.dequeue(); - if (item === undefined) return undefined; + if (item === null || item === undefined) return undefined; this.#length--; - // If tail is empty and has a successor — advance and recycle old node if (this.#tail.length === 0 && this.#tail.next) { const old = this.#tail; this.#tail = this.#tail.next; RefNode.free(old); } - return item || undefined; + return item; } /** Clear queue and recycle all nodes */ diff --git a/packages/reflex/src/core/graph/graph.core.ts b/packages/reflex/src/core/graph/graph.core.ts deleted file mode 100644 index cb5a748..0000000 --- a/packages/reflex/src/core/graph/graph.core.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { - ASYNC, -} from "./utils/graph.constants.js"; -import { GraphNode, IReactiveNode } from "./graph.types.js"; - -const isObserverNode = (node: IReactiveNode): boolean => { - return typeof node._observer === "function"; -}; - -const isAsyncNode = (node: IReactiveNode): boolean => { - return (node._flags & ASYNC) !== 0; -}; - -/** - * createReactiveNode: Factory function for creating graph vertices. - * - * Each node starts in a clean state with all fields initialized. - * The node is ready to be used immediately (no async initialization). - */ -function createReactiveNode(): IReactiveNode { - // New GraphNode() initializes all 18 fields in constructor. - return new GraphNode(); -} - -export { isObserverNode, isAsyncNode, createReactiveNode, GraphNode }; diff --git a/packages/reflex/src/core/graph/graph.node.ts b/packages/reflex/src/core/graph/graph.node.ts new file mode 100644 index 0000000..ea17bcd --- /dev/null +++ b/packages/reflex/src/core/graph/graph.node.ts @@ -0,0 +1,25 @@ +import { BitMask } from "../object/utils/bitwise"; +import { CLEAN, COUNTER_CELLS_LENGTH, ASYNC_CELLS_LENGTH } from "./utils/graph.constants"; + +class GraphNode { + _firstSource: GraphNode | null = null; + _lastSource: GraphNode | null = null; + _nextSource: GraphNode | null = null; + _prevSource: GraphNode | null = null; + + _firstObserver: GraphNode | null = null; + _lastObserver: GraphNode | null = null; + _nextObserver: GraphNode | null = null; + _prevObserver: GraphNode | null = null; + + _sourceCount: number = 0; + _observerCount: number = 0; + + _flags: BitMask = CLEAN; + _counters: Uint32Array = new Uint32Array(COUNTER_CELLS_LENGTH); + _async: Uint32Array = new Uint32Array(ASYNC_CELLS_LENGTH); +} +type IReactiveNode = GraphNode; + +export type { IReactiveNode }; +export { GraphNode }; \ No newline at end of file diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/reflex/src/core/graph/graph.types.ts index 6c50a98..3ad3483 100644 --- a/packages/reflex/src/core/graph/graph.types.ts +++ b/packages/reflex/src/core/graph/graph.types.ts @@ -3,64 +3,13 @@ * * Runtime definitions for the Reflex reactive graph. */ -import { BitMask } from "../object/utils/bitwise.js"; - -type ReactiveNodeKind = "source" | "computation" | "effect"; type IObserverFn = () => void; -class GraphNode { - _firstSource: GraphNode | null; - _lastSource: GraphNode | null; - _nextSource: GraphNode | null; - _prevSource: GraphNode | null; - - _firstObserver: GraphNode | null; - _lastObserver: GraphNode | null; - _nextObserver: GraphNode | null; - _prevObserver: GraphNode | null; - - _sourceCount: number; - _observerCount: number; - - _flags: BitMask; - _version: number; - _epoch: number; - - _valueRaw: unknown; - _observer: IObserverFn | null; - _kind: ReactiveNodeKind; - - constructor() { - this._firstSource = null; - this._lastSource = null; - this._nextSource = null; - this._prevSource = null; - - this._firstObserver = null; - this._lastObserver = null; - this._nextObserver = null; - this._prevObserver = null; - - this._sourceCount = 0; - this._observerCount = 0; - - this._flags = 0; - this._version = 0; - this._epoch = 0; - - this._valueRaw = undefined; - this._observer = null; - this._kind = "source"; - } -} - -type IReactiveNode = GraphNode; - interface IReactiveValue { (): T; + (next: T | ((prev: T) => T)): void; get(): T; set(next: T | ((prev: T) => T)): void; } -export type { IObserverFn, IReactiveNode, IReactiveValue, ReactiveNodeKind }; -export { GraphNode }; +export type { IObserverFn, IReactiveValue }; diff --git a/packages/reflex/src/core/graph/utils/graph.intrusive.ts b/packages/reflex/src/core/graph/utils/graph.intrusive.ts index b2a72e3..67b0531 100644 --- a/packages/reflex/src/core/graph/utils/graph.intrusive.ts +++ b/packages/reflex/src/core/graph/utils/graph.intrusive.ts @@ -10,7 +10,8 @@ * - No duplicate edge checks * Use them only in hot paths or wrap with higher-level API for safety checks. */ -import { IReactiveNode } from "../graph.types.js"; + +import { IReactiveNode } from "../graph.node"; /** * linkSourceToObserverUnsafe: Add a source node to an observer's sources list. @@ -29,41 +30,35 @@ import { IReactiveNode } from "../graph.types.js"; */ export function linkSourceToObserverUnsafe( source: IReactiveNode, - observer: IReactiveNode + observer: IReactiveNode, ): void { - // Add source to observer's sources list (append to tail) const lastSource = observer._lastSource; if (lastSource === null) { - // List was empty observer._firstSource = source; source._prevSource = null; } else { - // Append to existing list lastSource._nextSource = source; source._prevSource = lastSource; } observer._lastSource = source; source._nextSource = null; - observer._sourceCount++; + ++observer._sourceCount; - // Add observer to source's observers list (append to tail) const lastObserver = source._lastObserver; if (lastObserver === null) { - // List was empty source._firstObserver = observer; observer._prevObserver = null; } else { - // Append to existing list lastObserver._nextObserver = observer; observer._prevObserver = lastObserver; } source._lastObserver = observer; observer._nextObserver = null; - source._observerCount++; + ++source._observerCount; } /** @@ -80,9 +75,8 @@ export function linkSourceToObserverUnsafe( */ export function unlinkSourceFromObserverUnsafe( source: IReactiveNode, - observer: IReactiveNode + observer: IReactiveNode, ): void { - // Remove source from observer's sources list const prevSource = source._prevSource; const nextSource = source._nextSource; @@ -100,9 +94,8 @@ export function unlinkSourceFromObserverUnsafe( source._prevSource = null; source._nextSource = null; - observer._sourceCount--; + --observer._sourceCount; - // Remove observer from source's observers list const prevObserver = observer._prevObserver; const nextObserver = observer._nextObserver; @@ -120,7 +113,7 @@ export function unlinkSourceFromObserverUnsafe( observer._prevObserver = null; observer._nextObserver = null; - source._observerCount--; + --source._observerCount; } /** @@ -156,4 +149,3 @@ export function unlinkAllSourcesUnsafe(observer: IReactiveNode): void { source = nextSource; } } - diff --git a/packages/reflex/src/core/graph/utils/graph.linker.ts b/packages/reflex/src/core/graph/utils/graph.linker.ts index ee0024b..2e0556c 100644 --- a/packages/reflex/src/core/graph/utils/graph.linker.ts +++ b/packages/reflex/src/core/graph/utils/graph.linker.ts @@ -13,7 +13,7 @@ * Current focus: unsafe operations (for benchmarking). * Safe checks can be layered on top or via WeakMap-based dev hooks. */ -import { IReactiveNode } from "../graph.types.js"; +import { IReactiveNode } from "../graph.node.js"; import { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, @@ -27,10 +27,7 @@ import { * * Returns: void (operation always succeeds if graph invariants hold). */ -export function linkEdge( - observer: IReactiveNode, - source: IReactiveNode -): void { +export function linkEdge(observer: IReactiveNode, source: IReactiveNode): void { linkSourceToObserverUnsafe(source, observer); } @@ -42,11 +39,10 @@ export function linkEdge( */ export function unlinkEdge( observer: IReactiveNode, - source: IReactiveNode + source: IReactiveNode, ): void { unlinkSourceFromObserverUnsafe(source, observer); } // Export unsafe operations for benchmarking and internal use export { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe }; - diff --git a/packages/reflex/src/core/graph/utils/graph.operations.ts b/packages/reflex/src/core/graph/utils/graph.operations.ts index fd60218..0f398bc 100644 --- a/packages/reflex/src/core/graph/utils/graph.operations.ts +++ b/packages/reflex/src/core/graph/utils/graph.operations.ts @@ -66,4 +66,3 @@ export function removeObserverFromSource( ): void { unlinkEdge(observer, source); } - diff --git a/packages/reflex/src/core/object/utils/assert.ts b/packages/reflex/src/core/object/utils/assert.ts index a02af3d..7c5ed42 100644 --- a/packages/reflex/src/core/object/utils/assert.ts +++ b/packages/reflex/src/core/object/utils/assert.ts @@ -8,7 +8,7 @@ * Asserts that a condition is truthy at runtime. * If the condition is falsy, throws an Error with an optional message. * Avoids unnecessary overhead in hot-path. - * + * * @param cond - Condition expected to be truthy. * @param message - Optional message for debugging context. * @@ -18,7 +18,9 @@ export function __assert(cond: unknown, message?: string): asserts cond { // Using a simple branch avoids extra function call frames // and keeps this in the JIT inline cache for tight loops. - if (!(__DEV__ && cond)) { - throw new Error(`DEV_ERROR: ${message || "Contract `__assert` is violated!"}`); + if (cond) { + throw new Error( + `DEV_ERROR: ${message || "Contract `__assert` is violated!"}`, + ); } } diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index fa75e73..ee196c8 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -8,12 +8,12 @@ import { IOwnership } from "./ownership.type.js"; * Methods are bound to OwnershipNode.prototype for monomorphic calls. * If parent is provided, automatically appends to parent's child list. */ -function createOwner(parent?: IOwnership): IOwnership { - const owner = new OwnershipNode() as any as IOwnership; +function createOwner(parent: IOwnership | null = null): IOwnership { + const owner = new OwnershipNode(); - if (parent) { - (parent as any).appendChild(owner as any); - (parent as any).onScopeMount?.(owner as any); + if (parent !== null) { + parent.appendChild(owner); + parent.onScopeMount?.(owner); } return owner; diff --git a/packages/reflex/src/core/ownership/ownership.node.ts b/packages/reflex/src/core/ownership/ownership.node.ts index a10b8e3..6f35c09 100644 --- a/packages/reflex/src/core/ownership/ownership.node.ts +++ b/packages/reflex/src/core/ownership/ownership.node.ts @@ -27,47 +27,31 @@ import { export class OwnershipNode { // Tree links - _parent: OwnershipNode | null; - _firstChild: OwnershipNode | null; - _lastChild: OwnershipNode | null; - _nextSibling: OwnershipNode | null; - _prevSibling: OwnershipNode | null; + _parent: OwnershipNode | null = null; + _firstChild: OwnershipNode | null = null; + _lastChild: OwnershipNode | null = null; + _nextSibling: OwnershipNode | null = null; + _prevSibling: OwnershipNode | null = null; // Context (lazy-initialized) - _context: Record | null; + _context: Record | null = null; // Cleanup handlers - _cleanups: (() => void)[] | null; + _cleanups: (() => void)[] | null = null; // Counters & state - _childCount: number; - _flags: number; - _epoch: number; - _contextEpoch: number; - - constructor() { - this._parent = null; - this._firstChild = null; - this._lastChild = null; - this._nextSibling = null; - this._prevSibling = null; - - this._context = null; - this._cleanups = null; - - this._childCount = 0; - this._flags = 0; - this._epoch = 0; - this._contextEpoch = 0; - } + _childCount: number = 0; + _flags: number = 0; + _epoch: number = 0; + _contextEpoch: number = 0; /** * appendChild: Add child to this owner's children list. * O(1) operation, no context copying on link. */ appendChild(this: IOwnership, child: IOwnership) { - const node = this as any as OwnershipNode; - const childNode = child as any as OwnershipNode; + const node = this; + const childNode = child; childNode._parent = node; childNode._nextSibling = null; @@ -88,8 +72,8 @@ export class OwnershipNode { * O(1) operation. */ removeChild(this: IOwnership, child: IOwnership) { - const node = this as any as OwnershipNode; - const childNode = child as any as OwnershipNode; + const node = this; + const childNode = child; if (childNode._parent !== node) return; @@ -119,7 +103,7 @@ export class OwnershipNode { * Lazily allocates cleanups array on first call. */ onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { - const node = this as any as OwnershipNode; + const node = this; if (node._flags & DISPOSED) { throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); @@ -137,7 +121,7 @@ export class OwnershipNode { * Processes tree bottom-up, runs cleanups, clears links. */ dispose(this: IOwnership, strategy?: DisposalStrategy) { - const node = this as any as OwnershipNode; + const node = this; const { beforeDispose, afterDispose, onError } = strategy ?? {}; if (node._flags & DISPOSED) return; @@ -146,7 +130,9 @@ export class OwnershipNode { // Collect all nodes in DFS post-order using explicit stack const toDispose: OwnershipNode[] = []; - const stack: Array<{ node: OwnershipNode; phase: number }> = [{ node, phase: 0 }]; + const stack: Array<{ node: OwnershipNode; phase: number }> = [ + { node, phase: 0 }, + ]; while (stack.length > 0) { const entry = stack[stack.length - 1]!; @@ -236,7 +222,7 @@ export class OwnershipNode { * getContext: Retrieve or lazily initialize context. */ getContext(this: IOwnership): IOwnershipContextRecord { - const node = this as any as OwnershipNode; + const node = this; if (node._context !== null) { return node._context; @@ -264,7 +250,7 @@ export class OwnershipNode { * inject: Lookup context value (walks up parent chain). */ inject(this: IOwnership, key: ContextKeyType): T | undefined { - const node = this as any as OwnershipNode; + const node = this; let current: OwnershipNode | null = node; while (current !== null) { @@ -281,7 +267,7 @@ export class OwnershipNode { * hasOwn: Check if key exists locally. */ hasOwn(this: IOwnership, key: ContextKeyType): boolean { - const node = this as any as OwnershipNode; + const node = this; return node._context !== null && Object.hasOwn(node._context, key); } } diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index 2f275e5..be6c6fd 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -30,8 +30,8 @@ export class OwnershipScope { } } - createScope(fn: () => T, parent?: IOwnership | null): T { - const owner = createOwner(parent ?? (this._current ?? undefined)); + createScope(fn: () => T, parent: IOwnership | null): T { + const owner = createOwner(parent ?? this._current); return this.withOwner(owner, fn); } } @@ -44,4 +44,3 @@ export const createOwnershipScope = (): OwnershipScope => { }; export type { OwnershipScope as OwnershipScopeType }; - diff --git a/packages/reflex/src/runtime/execution/execution.stack.ts b/packages/reflex/src/runtime/execution/context.scope.ts similarity index 100% rename from packages/reflex/src/runtime/execution/execution.stack.ts rename to packages/reflex/src/runtime/execution/context.scope.ts diff --git a/plugins/index.ts b/packages/reflex/src/runtime/execution/context.stack.ts similarity index 100% rename from plugins/index.ts rename to packages/reflex/src/runtime/execution/context.stack.ts diff --git a/packages/reflex/src/runtime/primitive/computed.ts b/packages/reflex/src/runtime/primitive/computed.ts index 232d451..b39efde 100644 --- a/packages/reflex/src/runtime/primitive/computed.ts +++ b/packages/reflex/src/runtime/primitive/computed.ts @@ -14,7 +14,6 @@ class Computed { ) { this.owner = owner; this._node = node; - this._node._kind = "computation"; this.computeFn = computeFn; this.cachedValue = null; } diff --git a/packages/reflex/src/runtime/primitive/signal.ts b/packages/reflex/src/runtime/primitive/signal.ts index 9e91f27..0ad9127 100644 --- a/packages/reflex/src/runtime/primitive/signal.ts +++ b/packages/reflex/src/runtime/primitive/signal.ts @@ -1,30 +1,27 @@ -import { - GraphNode, - IReactiveNode, - IReactiveValue, -} from "../../core/graph/graph.types"; +import { IReactiveNode, GraphNode } from "../../core/graph/graph.node"; +import { IReactiveValue } from "../../core/graph/graph.types"; import { IOwnership } from "../../core/ownership/ownership.type"; class Signal { + private value: T; private readonly owner: IOwnership | null; private readonly _node: IReactiveNode; constructor(value: T, owner: IOwnership | null, node: IReactiveNode) { + this.value = value; this.owner = owner; - - node._valueRaw = value; - node._kind = "source"; - this._node = node; } + dispose(): void { + // cleanup logic here + } + get(): T { - return this._node._valueRaw as T; + return this.value; } set(value: T): void { - this._node._valueRaw = value; - // will started a loooong work here... } } @@ -36,18 +33,17 @@ export function createSignal( const graphNode = new GraphNode(); const signal = new Signal(value, owner, graphNode); - const get = () => signal.get(); - const set = signal.set; + const reactive: IReactiveValue = ((newValue?: T): T | void => { + return arguments.length === 0 ? signal.get() : signal.set(newValue as T); + }) as IReactiveValue; - const fn = get as IReactiveValue; + reactive.get = () => signal.get(); + reactive.set = (v: T) => signal.set(v); - fn.get = get; - fn.set = set; + owner?.onScopeCleanup(() => { + // signal.cleanup(); + // graphNode.cleanup?.(); + }); - return fn; + return reactive; } - -const signal = createSignal(null, 10); - -signal(); -signal.set(20); diff --git a/packages/reflex/tests/collections/unrolled-queue.bench.ts b/packages/reflex/tests/collections/unrolled-queue.bench.ts new file mode 100644 index 0000000..9f1a891 --- /dev/null +++ b/packages/reflex/tests/collections/unrolled-queue.bench.ts @@ -0,0 +1,36 @@ +import { bench, describe } from "vitest"; +import { UnrolledQueue } from "../../src/core/collections/unrolled-queue"; + +describe("UnrolledQueue — Microbench", () => { + const N = 200_000; + + bench("enqueue N", () => { + const q = new UnrolledQueue({ nodeSize: 2048 }); + + for (let i = 0; i < N; i++) q.enqueue(i); + }); + + bench("enqueue + dequeue N", () => { + const q = new UnrolledQueue({ nodeSize: 2048 }); + + for (let i = 0; i < N; i++) q.enqueue(i); + for (let i = 0; i < N; i++) q.dequeue(); + }); + + bench("mixed workload (50/50)", () => { + const q = new UnrolledQueue({ nodeSize: 1024 }); + let x = 0; + + for (let i = 0; i < N; i++) { + if (i & 1) q.enqueue(x++); else q.dequeue(); + } + }); + + + bench("iterate over 100k", () => { + const q = new UnrolledQueue({ nodeSize: 1024 }); + + for (let i = 0; i < 100_000; i++) q.enqueue(i); + for (const _v of q) {} + }); +}); diff --git a/packages/reflex/tests/collections/unrolled-queue.stress.bench.ts b/packages/reflex/tests/collections/unrolled-queue.stress.bench.ts new file mode 100644 index 0000000..4bd7f12 --- /dev/null +++ b/packages/reflex/tests/collections/unrolled-queue.stress.bench.ts @@ -0,0 +1,108 @@ +/** + * Unrolled-Linked Queue implementation + * + * Inspired by Node.js internal FixedQueue but enhanced: + * - Uses a linked list of fixed-size circular buffer nodes (unrolled queue) instead of one static ring. + * - On enqueue: if current head node is full → allocate (or reuse from pool) a new node and link it. + * - On dequeue: if current tail node is emptied and has next → detach it and return it to pool. + * - Node pooling: detached nodes up to POOL_MAX are kept and reused to reduce GC churn. + * - Circular buffer inside each node: size is power of two, readIndex/writeIndex wrap via bit-mask for speed. + * - Iterable: supports iteration from tail → head, enabling full traversal. + * - Clear/reset support: can recycle all nodes and re-initialize. + * - Time complexity: amortised O(1) for enqueue/dequeue; memory footprint adapts dynamically. + * + * Typical use cases: + * - High-throughput runtime/event queues. + * - Scenarios where GC pressure must be minimised. + * - Systems demanding predictable, low-latency enqueue/dequeue operations. + * + * Note: For maximum performance, pick nodeSize as power of two (e.g., 1024, 2048). + * + */ + +import { bench, describe } from "vitest"; +import { performance } from "node:perf_hooks"; +import { UnrolledQueue } from "../../src/core/collections/unrolled-queue"; + +interface BenchOptions { + ops: number; + rounds: number; + warmup: number; + nodeSize: number; + poolSize?: number; +} + +function memoryUsageMB() { + return process.memoryUsage().heapUsed / 1024 / 1024; +} + +function runSingleRound(QueueCtor: typeof UnrolledQueue, opts: BenchOptions) { + const q = new QueueCtor({ nodeSize: opts.nodeSize }); + + // Перед измерением — сброс мусора + if (global.gc) global.gc(); + + const memStart = memoryUsageMB(); + const t0 = performance.now(); + + let prevent = 0; + + for (let i = 0; i < opts.ops; i++) { + q.enqueue({ id: i }); + } + + for (let i = 0; i < opts.ops; i++) { + const item = q.dequeue(); + if (item) prevent += (item as any).id; + } + + const t1 = performance.now(); + const memEnd = memoryUsageMB(); + + if (prevent === 0) console.log("prevent"); + + return { + cpu: t1 - t0, + ram: memEnd - memStart, + }; +} + +function runAveraged(QueueCtor: typeof UnrolledQueue, opts: BenchOptions) { + const warmup = opts.warmup; + const rounds = opts.rounds; + + let cpu = 0; + let ram = 0; + + // Warm-up + real rounds + for (let i = 0; i < warmup + rounds; i++) { + const { cpu: c, ram: r } = runSingleRound(QueueCtor, opts); + + if (i >= warmup) { + cpu += c; + ram += r; + } + } + + return { + cpu: +(cpu / rounds).toFixed(3), + ram: +(ram / rounds).toFixed(3), + }; +} + +describe("UnrolledQueue — Stress Benchmark (CPU + RAM)", () => { + const opts: BenchOptions = { + ops: 200_000, + rounds: 5, + warmup: 2, + nodeSize: 2048, + }; + + bench(`stress: enqueue+dequeue ${opts.ops} ops`, () => { + const res = runAveraged(UnrolledQueue, opts); + console.log( + `\nStress results — ${opts.ops} ops:\n`, + `CPU(ms): ${res.cpu}\nRAM(MB): ${res.ram}\n`, + ); + }); +}); diff --git a/packages/reflex/tests/collections/unrolled-queue.test.ts b/packages/reflex/tests/collections/unrolled-queue.test.ts new file mode 100644 index 0000000..a3ff0c0 --- /dev/null +++ b/packages/reflex/tests/collections/unrolled-queue.test.ts @@ -0,0 +1,99 @@ +import { describe, it, expect } from "vitest"; +import { UnrolledQueue } from "../../src/core/collections/unrolled-queue"; + +describe("UnrolledQueue — correctness", () => { + it("enqueue/dequeue basic", () => { + const q = new UnrolledQueue({ nodeSize: 8 }); + + q.enqueue(1); + q.enqueue(2); + q.enqueue(3); + + expect(q.length).toBe(3); + expect(q.dequeue()).toBe(1); + expect(q.dequeue()).toBe(2); + expect(q.dequeue()).toBe(3); + expect(q.dequeue()).toBe(undefined); + }); + + it("should correctly unroll into multiple nodes", () => { + const q = new UnrolledQueue({ nodeSize: 4 }); // 3 usable slots per node + + for (let i = 0; i < 20; i++) q.enqueue(i); + + expect(q.length).toBe(20); + + for (let i = 0; i < 20; i++) { + expect(q.dequeue()).toBe(i); + } + + expect(q.length).toBe(0); + expect(q.dequeue()).toBe(undefined); + }); + + it("supports clearing and node reuse", () => { + const q = new UnrolledQueue({ nodeSize: 8 }); + + for (let i = 0; i < 50; i++) q.enqueue(i); + q.clear(); + + expect(q.length).toBe(0); + expect(q.dequeue()).toBe(undefined); + + // Reuse after clear + for (let i = 0; i < 10; i++) q.enqueue(i * 10); + + expect(q.length).toBe(10); + + for (let i = 0; i < 10; i++) { + expect(q.dequeue()).toBe(i * 10); + } + }); + + it("peek returns current tail without removing", () => { + const q = new UnrolledQueue({ nodeSize: 8 }); + + expect(q.peek()).toBe(null); + + q.enqueue(10); + q.enqueue(20); + + expect(q.peek()).toBe(10); + expect(q.dequeue()).toBe(10); + expect(q.peek()).toBe(20); + }); + + it("iterator yields items in FIFO order", () => { + const q = new UnrolledQueue({ nodeSize: 4 }); + + for (let i = 0; i < 12; i++) q.enqueue(i); + + const arr = [...q]; + expect(arr.length).toBe(12); + expect(arr).toEqual([...Array(12).keys()]); + }); + + it("drain processes all values in correct order", () => { + const q = new UnrolledQueue({ nodeSize: 4 }); + const out: number[] = []; + + for (let i = 0; i < 15; i++) q.enqueue(i); + + const count = q.drain((v) => out.push(v)); + + expect(count).toBe(15); + expect(out).toEqual([...Array(15).keys()]); + expect(q.length).toBe(0); + }); + + it("estimateNodes returns approximate number", () => { + const q = new UnrolledQueue({ nodeSize: 8 }); // 7 usable slots + + for (let i = 0; i < 30; i++) q.enqueue(i); + + const est = q.estimateNodes(); + + expect(est).toBeGreaterThanOrEqual(4); + expect(est).toBeLessThanOrEqual(6); // loose bound + }); +}); diff --git a/packages/reflex/tests/graph/graph.bench.ts b/packages/reflex/tests/graph/graph.bench.ts index 7be9490..9c01bda 100644 --- a/packages/reflex/tests/graph/graph.bench.ts +++ b/packages/reflex/tests/graph/graph.bench.ts @@ -1,10 +1,11 @@ import { describe, bench } from "vitest"; import { - IReactiveNode, - GraphNode, -} from "../../src/core/graph/graph.types"; -import { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, unlinkAllObserversUnsafe } from "../../src/core/graph/utils/graph.intrusive"; + linkSourceToObserverUnsafe, + unlinkSourceFromObserverUnsafe, + unlinkAllObserversUnsafe, +} from "../../src/core/graph/utils/graph.intrusive"; import { linkEdge, unlinkEdge } from "../../src/core/graph/utils/graph.linker"; +import { IReactiveNode, GraphNode } from "../../src/core/graph/graph.node"; function makeNode(): IReactiveNode { return new GraphNode(); @@ -21,15 +22,18 @@ describe("DAG O(1) intrusive graph benchmarks", () => { } }); - bench("linkSourceToObserverUnsafe + unlinkSourceFromObserverUnsafe (1k ops)", () => { - const A = makeNode(); - const B = makeNode(); + bench( + "linkSourceToObserverUnsafe + unlinkSourceFromObserverUnsafe (1k ops)", + () => { + const A = makeNode(); + const B = makeNode(); - for (let i = 0; i < 1000; i++) { - linkSourceToObserverUnsafe(B, A); - unlinkSourceFromObserverUnsafe(B, A); - } - }); + for (let i = 0; i < 1000; i++) { + linkSourceToObserverUnsafe(B, A); + unlinkSourceFromObserverUnsafe(B, A); + } + }, + ); bench("1000 mixed link/unlink operations", () => { const nodes = Array.from({ length: 50 }, makeNode); @@ -68,18 +72,21 @@ describe("DAG O(1) intrusive graph benchmarks", () => { unlinkAllObserversUnsafe(center); }); - bench("star unlink piecemeal: individual unlinkEdge for each observer", () => { - const center = makeNode(); - const leaves = Array.from({ length: 1000 }, makeNode); + bench( + "star unlink piecemeal: individual unlinkEdge for each observer", + () => { + const center = makeNode(); + const leaves = Array.from({ length: 1000 }, makeNode); - for (const leaf of leaves) { - linkEdge(leaf, center); - } + for (const leaf of leaves) { + linkEdge(leaf, center); + } - for (const leaf of leaves) { - unlinkEdge(leaf, center); - } - }); + for (const leaf of leaves) { + unlinkEdge(leaf, center); + } + }, + ); bench("compare: naive array push/pop (1k ops)", () => { const arr: number[] = []; diff --git a/packages/reflex/tests/graph/graph.test.ts b/packages/reflex/tests/graph/graph.test.ts index f3b9730..f810169 100644 --- a/packages/reflex/tests/graph/graph.test.ts +++ b/packages/reflex/tests/graph/graph.test.ts @@ -1,9 +1,4 @@ import { describe, it, expect } from "vitest"; -import { - IReactiveNode, - GraphNode, - ReactiveNodeKind, -} from "../../src/core/graph/graph.types"; import { linkEdge, unlinkEdge, @@ -11,10 +6,10 @@ import { unlinkSourceFromObserverUnsafe, } from "../../src/core/graph/utils/graph.linker"; import { unlinkAllObserversUnsafe, unlinkAllSourcesUnsafe } from "../../src/core/graph/utils/graph.intrusive"; +import { IReactiveNode, GraphNode } from "../../src/core/graph/graph.node"; -function makeNode(kind: ReactiveNodeKind = "computation"): IReactiveNode { +function makeNode(): IReactiveNode { const node = new GraphNode(); - node._kind = kind; return node; } @@ -42,8 +37,8 @@ const collectObserverChain = ( describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { it("creates symmetric edge between observer and source", () => { - const observer = makeNode("computation"); - const source = makeNode("source"); + const observer = makeNode(); + const source = makeNode(); linkEdge(observer, source); @@ -62,9 +57,9 @@ describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { it("supports multiple different sources for one observer", () => { const observer = makeNode(); - const s1 = makeNode("source"); - const s2 = makeNode("source"); - const s3 = makeNode("source"); + const s1 = makeNode(); + const s2 = makeNode(); + const s3 = makeNode(); linkEdge(observer, s1); linkEdge(observer, s2); @@ -88,10 +83,10 @@ describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { }); it("supports multiple observers for one source", () => { - const source = makeNode("source"); - const o1 = makeNode("computation"); - const o2 = makeNode("computation"); - const o3 = makeNode("computation"); + const source = makeNode(); + const o1 = makeNode(); + const o2 = makeNode(); + const o3 = makeNode(); linkEdge(o1, source); linkEdge(o2, source); @@ -116,7 +111,7 @@ describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { it("unlinkSourceFromObserverUnsafe removes edge from both lists", () => { const observer = makeNode(); - const source = makeNode("source"); + const source = makeNode(); linkEdge(observer, source); unlinkSourceFromObserverUnsafe(source, observer); @@ -137,9 +132,9 @@ describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { it("unlinkSourceFromObserverUnsafe removes middle of list", () => { const observer = makeNode(); - const s1 = makeNode("source"); - const s2 = makeNode("source"); - const s3 = makeNode("source"); + const s1 = makeNode(); + const s2 = makeNode(); + const s3 = makeNode(); linkEdge(observer, s1); linkEdge(observer, s2); @@ -159,7 +154,7 @@ describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { }); it("unlinkAllObserversUnsafe removes all observers", () => { - const source = makeNode("source"); + const source = makeNode(); const o1 = makeNode(); const o2 = makeNode(); const o3 = makeNode(); @@ -186,9 +181,9 @@ describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { it("unlinkAllSourcesUnsafe removes all sources", () => { const observer = makeNode(); - const s1 = makeNode("source"); - const s2 = makeNode("source"); - const s3 = makeNode("source"); + const s1 = makeNode(); + const s2 = makeNode(); + const s3 = makeNode(); linkEdge(observer, s1); linkEdge(observer, s2); @@ -212,7 +207,7 @@ describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { it("linkSourceToObserverUnsafe and unlinkEdge work together", () => { const observer = makeNode(); - const source = makeNode("source"); + const source = makeNode(); linkSourceToObserverUnsafe(source, observer); expect(observer._sourceCount).toBe(1); diff --git a/packages/reflex/tsconfig.json b/packages/reflex/tsconfig.json index 9d2a17e..c7a3b7f 100644 --- a/packages/reflex/tsconfig.json +++ b/packages/reflex/tsconfig.json @@ -15,7 +15,9 @@ "allowImportingTsExtensions": false, "esModuleInterop": true, "resolveJsonModule": true, - "isolatedModules": true + "isolatedModules": true, + "composite": true }, - "include": ["src", "tests", "test"] + "include": ["src", "tests", "test"], + "exclude": ["dist", "**/*.test.ts"] } diff --git a/plugins/Readme.md b/plugins/Readme.md new file mode 100644 index 0000000..e69de29 From 9556b55d259336619b6ce720c1d1198046875694 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Mon, 24 Nov 2025 17:40:43 +0200 Subject: [PATCH 23/32] Update some invariants --- packages/reflex/src/core/graph/graph.node.ts | 5 +- .../src/core/graph/utils/graph.constants.ts | 19 +-- .../src/core/graph/utils/graph.intrusive.ts | 22 ++++ .../src/core/ownership/ownership.scope.ts | 2 +- packages/reflex/tests/graph/graph.test.ts | 118 +++++++++++++++++- 5 files changed, 143 insertions(+), 23 deletions(-) diff --git a/packages/reflex/src/core/graph/graph.node.ts b/packages/reflex/src/core/graph/graph.node.ts index ea17bcd..d06227b 100644 --- a/packages/reflex/src/core/graph/graph.node.ts +++ b/packages/reflex/src/core/graph/graph.node.ts @@ -1,5 +1,5 @@ import { BitMask } from "../object/utils/bitwise"; -import { CLEAN, COUNTER_CELLS_LENGTH, ASYNC_CELLS_LENGTH } from "./utils/graph.constants"; +import { CLEAN, COUNTER_CELLS_LENGTH } from "./utils/graph.constants"; class GraphNode { _firstSource: GraphNode | null = null; @@ -17,9 +17,8 @@ class GraphNode { _flags: BitMask = CLEAN; _counters: Uint32Array = new Uint32Array(COUNTER_CELLS_LENGTH); - _async: Uint32Array = new Uint32Array(ASYNC_CELLS_LENGTH); } type IReactiveNode = GraphNode; export type { IReactiveNode }; -export { GraphNode }; \ No newline at end of file +export { GraphNode }; diff --git a/packages/reflex/src/core/graph/utils/graph.constants.ts b/packages/reflex/src/core/graph/utils/graph.constants.ts index d02ab35..0746b56 100644 --- a/packages/reflex/src/core/graph/utils/graph.constants.ts +++ b/packages/reflex/src/core/graph/utils/graph.constants.ts @@ -21,27 +21,16 @@ const COUNTER_CELLS = { epoch: 0, version: 1, uversion: 2, + // async + generation: 3, + token: 4, } as const; -const COUNTER_CELLS_LENGTH = 3; - -/** - * Number of cells in the async tracking Uint32Array structure. - * - * - ASYNC_CELLS: [generation, token] - */ -const ASYNC_CELLS = { - generation: 0, - token: 1, -} as const; - -const ASYNC_CELLS_LENGTH = 2; +const COUNTER_CELLS_LENGTH = 5; export { COUNTER_CELLS, - ASYNC_CELLS, COUNTER_CELLS_LENGTH, - ASYNC_CELLS_LENGTH, CLEAN, DIRTY, DISPOSED, diff --git a/packages/reflex/src/core/graph/utils/graph.intrusive.ts b/packages/reflex/src/core/graph/utils/graph.intrusive.ts index 67b0531..9db8635 100644 --- a/packages/reflex/src/core/graph/utils/graph.intrusive.ts +++ b/packages/reflex/src/core/graph/utils/graph.intrusive.ts @@ -9,6 +9,11 @@ * - No cycle detection * - No duplicate edge checks * Use them only in hot paths or wrap with higher-level API for safety checks. + * + * * Invariants preserved: + * - Bi-directional symmetry (Source ⇄ Observer) + * - Single-slot rule + * - List consistency */ import { IReactiveNode } from "../graph.node"; @@ -32,6 +37,15 @@ export function linkSourceToObserverUnsafe( source: IReactiveNode, observer: IReactiveNode, ): void { + // DEV ONLY // + // if (source._nextSource !== null || source._prevSource !== null) { + // throw new Error("source is already in a sources list"); + // } + + // if (observer._nextObserver !== null || observer._prevObserver !== null) { + // throw new Error("observer is already in an observers list"); + // } + const lastSource = observer._lastSource; if (lastSource === null) { @@ -77,6 +91,14 @@ export function unlinkSourceFromObserverUnsafe( source: IReactiveNode, observer: IReactiveNode, ): void { + // DEV ONLY // + // if ( + // (source._prevSource && source._prevSource._nextSource !== source) || + // (source._nextSource && source._nextSource._prevSource !== source) + // ) { + // throw new Error("Source pointers corrupted"); + // } + const prevSource = source._prevSource; const nextSource = source._nextSource; diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index be6c6fd..72c7e21 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -30,7 +30,7 @@ export class OwnershipScope { } } - createScope(fn: () => T, parent: IOwnership | null): T { + createScope(fn: () => T, parent: IOwnership | null = null): T { const owner = createOwner(parent ?? this._current); return this.withOwner(owner, fn); } diff --git a/packages/reflex/tests/graph/graph.test.ts b/packages/reflex/tests/graph/graph.test.ts index f810169..a1b9965 100644 --- a/packages/reflex/tests/graph/graph.test.ts +++ b/packages/reflex/tests/graph/graph.test.ts @@ -5,7 +5,10 @@ import { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, } from "../../src/core/graph/utils/graph.linker"; -import { unlinkAllObserversUnsafe, unlinkAllSourcesUnsafe } from "../../src/core/graph/utils/graph.intrusive"; +import { + unlinkAllObserversUnsafe, + unlinkAllSourcesUnsafe, +} from "../../src/core/graph/utils/graph.intrusive"; import { IReactiveNode, GraphNode } from "../../src/core/graph/graph.node"; function makeNode(): IReactiveNode { @@ -13,6 +16,86 @@ function makeNode(): IReactiveNode { return node; } +function validateSourceChain(observer: IReactiveNode) { + let cur = observer._firstSource; + let prev: IReactiveNode | null = null; + let count = 0; + const visited = new Set(); + + while (cur) { + count++; + if (visited.has(cur)) throw new Error("Cycle in source chain"); + visited.add(cur); + + // back-link + if (cur._prevSource !== prev) { + throw new Error("Broken _prevSource link"); + } + + // symmetry: this observer must be in source.observers + let obs = cur._firstObserver; + let found = false; + while (obs) { + if (obs === observer) { + found = true; + break; + } + obs = obs._nextObserver; + } + + if (!found) { + throw new Error("Symmetry broken: source has no observer ref"); + } + + prev = cur; + cur = cur._nextSource; + } + + if (prev !== observer._lastSource) throw new Error("LastSource mismatch"); + + if (count !== observer._sourceCount) throw new Error("SourceCount mismatch"); +} + +function validateObserverChain(source: IReactiveNode) { + let cur = source._firstObserver; + let prev: IReactiveNode | null = null; + let count = 0; + const visited = new Set(); + + while (cur) { + count++; + if (visited.has(cur)) throw new Error("Cycle in observer chain"); + visited.add(cur); + + if (cur._prevObserver !== prev) { + throw new Error("Broken _prevObserver link"); + } + + // symmetry: this source must be in observer.sources + let src = cur._firstSource; + let found = false; + while (src) { + if (src === source) { + found = true; + break; + } + src = src._nextSource; + } + + if (!found) { + throw new Error("Symmetry broken: observer has no source ref"); + } + + prev = cur; + cur = cur._nextObserver; + } + + if (prev !== source._lastObserver) throw new Error("LastObserver mismatch"); + + if (count !== source._observerCount) + throw new Error("ObserverCount mismatch"); +} + const collectSourceChain = (head: IReactiveNode | null): IReactiveNode[] => { const result: IReactiveNode[] = []; let cur = head; @@ -23,9 +106,7 @@ const collectSourceChain = (head: IReactiveNode | null): IReactiveNode[] => { return result; }; -const collectObserverChain = ( - head: IReactiveNode | null -): IReactiveNode[] => { +const collectObserverChain = (head: IReactiveNode | null): IReactiveNode[] => { const result: IReactiveNode[] = []; let cur = head; while (cur) { @@ -35,6 +116,35 @@ const collectObserverChain = ( return result; }; +describe("Invariant check", () => { + it("mass unlink does not leave ghosts", () => { + const center = makeNode(); + const leafs = Array.from({ length: 25 }, makeNode); + + // создаём: center -> leafs + for (const leaf of leafs) { + linkEdge(leaf, center); // 🔴 ОБРАТИЛ ВНИМАНИЕ НА ПОРЯДОК + } + + expect(center._observerCount).toBe(25); + validateObserverChain(center); + + unlinkAllObserversUnsafe(center); + + expect(center._observerCount).toBe(0); + expect(center._firstObserver).toBeNull(); + expect(center._lastObserver).toBeNull(); + + for (const leaf of leafs) { + expect(leaf._firstSource).toBeNull(); + expect(leaf._lastSource).toBeNull(); + expect(leaf._prevSource).toBeNull(); + expect(leaf._nextSource).toBeNull(); + } +}); + +}); + describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { it("creates symmetric edge between observer and source", () => { const observer = makeNode(); From 436b0d6da9b3502a4d2ed952904ec79c32061912 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Tue, 25 Nov 2025 18:02:20 +0200 Subject: [PATCH 24/32] fix: replace semicolon and incorected types --- .../reflex-dom/src/client/layoutTrashing.ts | 2 +- packages/reflex-dom/src/client/sanitize.ts | 4 +- .../events/getVendorPrefixedEventName.ts | 4 +- .../reflex-dom/src/shared/isDomAvailable.ts | 2 +- .../validate/DOMNestingClassificator.ts | 2 +- .../shared/validate/DOMResourceValidation.ts | 8 +-- .../src/core/collections/unrolled-queue.ts | 2 +- packages/reflex/src/core/graph/graph.node.ts | 4 +- .../src/core/graph/utils/graph.constants.ts | 2 +- .../src/core/graph/utils/graph.intrusive.ts | 14 ++--- .../src/core/graph/utils/graph.linker.ts | 10 +-- .../src/core/graph/utils/graph.operations.ts | 18 +++--- .../src/core/ownership/ownership.core.ts | 4 +- .../src/core/ownership/ownership.error.ts | 4 +- .../src/core/ownership/ownership.node.ts | 4 +- .../src/core/ownership/ownership.scope.ts | 4 +- .../src/core/ownership/ownership.type.ts | 2 +- .../reflex/src/runtime/primitive/signal.ts | 6 +- packages/reflex/src/shared/types/async.d.ts | 2 +- .../reflex/src/shared/types/declarations.d.ts | 4 +- packages/reflex/tests/graph/graph.test.ts | 63 +++++++++---------- .../reflex/tests/ownership/ownership.run.ts | 2 +- 22 files changed, 82 insertions(+), 85 deletions(-) diff --git a/packages/reflex-dom/src/client/layoutTrashing.ts b/packages/reflex-dom/src/client/layoutTrashing.ts index 18e488d..29cef9c 100644 --- a/packages/reflex-dom/src/client/layoutTrashing.ts +++ b/packages/reflex-dom/src/client/layoutTrashing.ts @@ -115,7 +115,7 @@ const layoutThrashingDatabase = { }, } as const; -type Category = "reads" | "writes" | "methods.js"; +type Category = "reads" | "writes" | "methods" /** * Get all properties/methods of a specific category diff --git a/packages/reflex-dom/src/client/sanitize.ts b/packages/reflex-dom/src/client/sanitize.ts index afd562f..1912471 100644 --- a/packages/reflex-dom/src/client/sanitize.ts +++ b/packages/reflex-dom/src/client/sanitize.ts @@ -3,7 +3,7 @@ * Prevents code execution if a javascript: URL is accidentally visited. */ const BLOCKED_JS_URL = - "javascript:throw new Error('Blocked javascript: URL for security.').js"; + "javascript:throw new Error('Blocked javascript: URL for security.')" /** * Checks if a character is a C0 control character or space (U+0000 to U+001F, U+0020). @@ -52,7 +52,7 @@ export function sanitizeURL(url: T): T | string { i++; } - const proto = "javascript:.js"; + const proto = "javascript:" const protoLength = proto.length; let j = 0; diff --git a/packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts b/packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts index 901b64f..c25a133 100644 --- a/packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts +++ b/packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts @@ -1,4 +1,4 @@ -import { IS_DOM_AVAILABLE } from "../isDomAvailable.js"; +import { IS_DOM_AVAILABLE } from "../isDomAvailable" /** * Style object used to detect supported CSS properties. @@ -14,7 +14,7 @@ type VendorPrefixedEvent = | "animationend" | "animationiteration" | "animationstart" - | "transitionend.js"; + | "transitionend" /** * A map of modern event names to their possible vendor-prefixed alternatives. diff --git a/packages/reflex-dom/src/shared/isDomAvailable.ts b/packages/reflex-dom/src/shared/isDomAvailable.ts index e2482b4..b28db96 100644 --- a/packages/reflex-dom/src/shared/isDomAvailable.ts +++ b/packages/reflex-dom/src/shared/isDomAvailable.ts @@ -2,4 +2,4 @@ * Indicates whether the DOM is available. * This can be useful for determining if certain browser APIs are accessible. */ -export const IS_DOM_AVAILABLE = typeof globalThis.document !== "undefined.js"; +export const IS_DOM_AVAILABLE = typeof globalThis.document !== "undefined" diff --git a/packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts b/packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts index f7c8bf4..dd5ad14 100644 --- a/packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts +++ b/packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts @@ -3,7 +3,7 @@ import { SCRIPT_SUPPORTING, VOID_ELEMENTS, IMPLIED_END_TAGS, -} from "../../client/nestingRule.js"; +} from "../../client/nestingRule" type LookupExistingFlag = 1 & { __brand: "LOOKUP_EXISTING_FLAG" }; diff --git a/packages/reflex-dom/src/shared/validate/DOMResourceValidation.ts b/packages/reflex-dom/src/shared/validate/DOMResourceValidation.ts index 141946c..c1c5151 100644 --- a/packages/reflex-dom/src/shared/validate/DOMResourceValidation.ts +++ b/packages/reflex-dom/src/shared/validate/DOMResourceValidation.ts @@ -6,7 +6,7 @@ */ export function describeValue(value: T): string { if (value == null) { - return value === null ? "`null`" : "`undefined`.js"; + return value === null ? "`null`" : "`undefined`" } const type = typeof value; @@ -15,7 +15,7 @@ export function describeValue(value: T): string { const str = value as string; if (str.length === 0) { - return "`an empty string`.js"; + return "`an empty string`" } if (str.length < 50) { return `"${str}"`; @@ -25,7 +25,7 @@ export function describeValue(value: T): string { if (type === "number") { if (Number.isNaN(value)) { - return "`NaN`.js"; + return "`NaN`" } if (!Number.isFinite(value)) { return `\`${String(value)}\``; @@ -44,7 +44,7 @@ export function describeValue(value: T): string { if (value instanceof Date) { return `a Date object (${value.toISOString()})`; } - return "an object.js"; + return "an object" } if (type === "function") { diff --git a/packages/reflex/src/core/collections/unrolled-queue.ts b/packages/reflex/src/core/collections/unrolled-queue.ts index 133bc06..ba7981b 100644 --- a/packages/reflex/src/core/collections/unrolled-queue.ts +++ b/packages/reflex/src/core/collections/unrolled-queue.ts @@ -64,7 +64,7 @@ * - Stable memory footprint (≈5–20 MB depending on pool) */ -import { __assert } from "../object/utils/assert.js"; +import { __assert } from "../object/utils/assert" type Nullable = T | null; diff --git a/packages/reflex/src/core/graph/graph.node.ts b/packages/reflex/src/core/graph/graph.node.ts index d06227b..f4af8fb 100644 --- a/packages/reflex/src/core/graph/graph.node.ts +++ b/packages/reflex/src/core/graph/graph.node.ts @@ -1,5 +1,5 @@ import { BitMask } from "../object/utils/bitwise"; -import { CLEAN, COUNTER_CELLS_LENGTH } from "./utils/graph.constants"; +import { CLEAN, COUNTER_CELLS_LENGTH, DIRTY } from "./utils/graph.constants"; class GraphNode { _firstSource: GraphNode | null = null; @@ -18,7 +18,5 @@ class GraphNode { _flags: BitMask = CLEAN; _counters: Uint32Array = new Uint32Array(COUNTER_CELLS_LENGTH); } -type IReactiveNode = GraphNode; -export type { IReactiveNode }; export { GraphNode }; diff --git a/packages/reflex/src/core/graph/utils/graph.constants.ts b/packages/reflex/src/core/graph/utils/graph.constants.ts index 0746b56..3ac501c 100644 --- a/packages/reflex/src/core/graph/utils/graph.constants.ts +++ b/packages/reflex/src/core/graph/utils/graph.constants.ts @@ -1,4 +1,4 @@ -import { type BitMask } from "../../object/utils/bitwise.js"; +import { type BitMask } from "../../object/utils/bitwise" const CLEAN: BitMask = 0; const CHECK = 1 << 0; diff --git a/packages/reflex/src/core/graph/utils/graph.intrusive.ts b/packages/reflex/src/core/graph/utils/graph.intrusive.ts index 9db8635..f031c56 100644 --- a/packages/reflex/src/core/graph/utils/graph.intrusive.ts +++ b/packages/reflex/src/core/graph/utils/graph.intrusive.ts @@ -16,7 +16,7 @@ * - List consistency */ -import { IReactiveNode } from "../graph.node"; +import { GraphNode } from "../graph.node"; /** * linkSourceToObserverUnsafe: Add a source node to an observer's sources list. @@ -34,8 +34,8 @@ import { IReactiveNode } from "../graph.node"; * - no cycles (caller must ensure DAG invariant) */ export function linkSourceToObserverUnsafe( - source: IReactiveNode, - observer: IReactiveNode, + source: GraphNode, + observer: GraphNode, ): void { // DEV ONLY // // if (source._nextSource !== null || source._prevSource !== null) { @@ -88,8 +88,8 @@ export function linkSourceToObserverUnsafe( * - observer._prevObserver/nextObserver are valid or null */ export function unlinkSourceFromObserverUnsafe( - source: IReactiveNode, - observer: IReactiveNode, + source: GraphNode, + observer: GraphNode, ): void { // DEV ONLY // // if ( @@ -146,7 +146,7 @@ export function unlinkSourceFromObserverUnsafe( * * Useful for cleanup or when a source node is being disposed. */ -export function unlinkAllObserversUnsafe(source: IReactiveNode): void { +export function unlinkAllObserversUnsafe(source: GraphNode): void { let observer = source._firstObserver; while (observer !== null) { @@ -162,7 +162,7 @@ export function unlinkAllObserversUnsafe(source: IReactiveNode): void { * Iterates linearly through the sources list, unlinking each source. * Cache-friendly alternative to random unlinks. */ -export function unlinkAllSourcesUnsafe(observer: IReactiveNode): void { +export function unlinkAllSourcesUnsafe(observer: GraphNode): void { let source = observer._firstSource; while (source !== null) { diff --git a/packages/reflex/src/core/graph/utils/graph.linker.ts b/packages/reflex/src/core/graph/utils/graph.linker.ts index 2e0556c..d63342a 100644 --- a/packages/reflex/src/core/graph/utils/graph.linker.ts +++ b/packages/reflex/src/core/graph/utils/graph.linker.ts @@ -13,11 +13,11 @@ * Current focus: unsafe operations (for benchmarking). * Safe checks can be layered on top or via WeakMap-based dev hooks. */ -import { IReactiveNode } from "../graph.node.js"; +import { GraphNode } from "../graph.node" import { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, -} from "./graph.intrusive.js"; +} from "./graph.intrusive" /** * linkEdge: Safe linking of source and observer. @@ -27,7 +27,7 @@ import { * * Returns: void (operation always succeeds if graph invariants hold). */ -export function linkEdge(observer: IReactiveNode, source: IReactiveNode): void { +export function linkEdge(observer: GraphNode, source: GraphNode): void { linkSourceToObserverUnsafe(source, observer); } @@ -38,8 +38,8 @@ export function linkEdge(observer: IReactiveNode, source: IReactiveNode): void { * Precondition: they must be currently linked. */ export function unlinkEdge( - observer: IReactiveNode, - source: IReactiveNode, + observer: GraphNode, + source: GraphNode, ): void { unlinkSourceFromObserverUnsafe(source, observer); } diff --git a/packages/reflex/src/core/graph/utils/graph.operations.ts b/packages/reflex/src/core/graph/utils/graph.operations.ts index 0f398bc..af1df40 100644 --- a/packages/reflex/src/core/graph/utils/graph.operations.ts +++ b/packages/reflex/src/core/graph/utils/graph.operations.ts @@ -14,7 +14,7 @@ * If needed, we can expose these as static helpers or extend the class. */ -import { IReactiveNode } from "../graph.types"; +import { GraphNode } from "../graph.node"; import { linkEdge, unlinkEdge } from "./graph.linker"; /** @@ -29,8 +29,8 @@ import { linkEdge, unlinkEdge } from "./graph.linker"; * Static helper: link source and observer (observer depends on source). */ export function addSourceToObserver( - observer: IReactiveNode, - source: IReactiveNode + observer: GraphNode, + source: GraphNode ): void { linkEdge(observer, source); } @@ -39,8 +39,8 @@ export function addSourceToObserver( * Static helper: unlink source and observer. */ export function removeSourceFromObserver( - observer: IReactiveNode, - source: IReactiveNode + observer: GraphNode, + source: GraphNode ): void { unlinkEdge(observer, source); } @@ -50,8 +50,8 @@ export function removeSourceFromObserver( * Alias for addSourceToObserver for semantic clarity. */ export function addObserverToSource( - observer: IReactiveNode, - source: IReactiveNode + observer: GraphNode, + source: GraphNode ): void { linkEdge(observer, source); } @@ -61,8 +61,8 @@ export function addObserverToSource( * Alias for removeSourceFromObserver for semantic clarity. */ export function removeObserverFromSource( - observer: IReactiveNode, - source: IReactiveNode + observer: GraphNode, + source: GraphNode ): void { unlinkEdge(observer, source); } diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/reflex/src/core/ownership/ownership.core.ts index ee196c8..737a8d6 100644 --- a/packages/reflex/src/core/ownership/ownership.core.ts +++ b/packages/reflex/src/core/ownership/ownership.core.ts @@ -1,5 +1,5 @@ -import { OwnershipNode } from "./ownership.node.js"; -import { IOwnership } from "./ownership.type.js"; +import { OwnershipNode } from "./ownership.node" +import { IOwnership } from "./ownership.type" /** * createOwner: Factory for creating ownership nodes. diff --git a/packages/reflex/src/core/ownership/ownership.error.ts b/packages/reflex/src/core/ownership/ownership.error.ts index c2199f7..7fb7b79 100644 --- a/packages/reflex/src/core/ownership/ownership.error.ts +++ b/packages/reflex/src/core/ownership/ownership.error.ts @@ -1,5 +1,5 @@ -const OWNERSHIP_ERROR_NAME = "OwnershipDisposeError.js"; -const OWNERSHIP_ERROR_IDENTIFIER = "[Ownership dispose].js"; +const OWNERSHIP_ERROR_NAME = "OwnershipDisposeError" +const OWNERSHIP_ERROR_IDENTIFIER = "[Ownership dispose]" class OwnershipDisposeError extends Error { readonly errors: Error[]; diff --git a/packages/reflex/src/core/ownership/ownership.node.ts b/packages/reflex/src/core/ownership/ownership.node.ts index 6f35c09..7040919 100644 --- a/packages/reflex/src/core/ownership/ownership.node.ts +++ b/packages/reflex/src/core/ownership/ownership.node.ts @@ -16,14 +16,14 @@ * All methods bound to prototype for monomorphic call sites. */ -import OwnershipDisposeError from "./ownership.error.js"; +import OwnershipDisposeError from "./ownership.error"; import { IOwnership, IOwnershipContextRecord, type ContextKeyType, DisposalStrategy, DISPOSED, -} from "./ownership.type.js"; +} from "./ownership.type"; export class OwnershipNode { // Tree links diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/reflex/src/core/ownership/ownership.scope.ts index 72c7e21..38c91f2 100644 --- a/packages/reflex/src/core/ownership/ownership.scope.ts +++ b/packages/reflex/src/core/ownership/ownership.scope.ts @@ -1,5 +1,5 @@ -import { createOwner } from "./ownership.core.js"; -import { IOwnership } from "./ownership.type.js"; +import { createOwner } from "./ownership.core" +import { IOwnership } from "./ownership.type" /** * OwnershipScope class: maintains the current owner context. diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/reflex/src/core/ownership/ownership.type.ts index a91a7f8..8c48051 100644 --- a/packages/reflex/src/core/ownership/ownership.type.ts +++ b/packages/reflex/src/core/ownership/ownership.type.ts @@ -2,7 +2,7 @@ * @file ownership.type.ts * Core types and flags for Reflex Ownership System. */ -import { OwnershipNode } from "./ownership.node.js"; +import { OwnershipNode } from "./ownership.node" const S_OWN_BRAND = Symbol("OwnershipBrand"); const S_ID = Symbol.for("ownership:id"); diff --git a/packages/reflex/src/runtime/primitive/signal.ts b/packages/reflex/src/runtime/primitive/signal.ts index 0ad9127..7a1ce54 100644 --- a/packages/reflex/src/runtime/primitive/signal.ts +++ b/packages/reflex/src/runtime/primitive/signal.ts @@ -1,13 +1,13 @@ -import { IReactiveNode, GraphNode } from "../../core/graph/graph.node"; +import { GraphNode } from "../../core/graph/graph.node"; import { IReactiveValue } from "../../core/graph/graph.types"; import { IOwnership } from "../../core/ownership/ownership.type"; class Signal { private value: T; private readonly owner: IOwnership | null; - private readonly _node: IReactiveNode; + private readonly _node: GraphNode; - constructor(value: T, owner: IOwnership | null, node: IReactiveNode) { + constructor(value: T, owner: IOwnership | null, node: GraphNode) { this.value = value; this.owner = owner; this._node = node; diff --git a/packages/reflex/src/shared/types/async.d.ts b/packages/reflex/src/shared/types/async.d.ts index 45dfdab..1c27d64 100644 --- a/packages/reflex/src/shared/types/async.d.ts +++ b/packages/reflex/src/shared/types/async.d.ts @@ -44,7 +44,7 @@ interface Thenable { * - `"fulfilled"` → The computation completed successfully. * - `"rejected"` → The computation failed. */ - readonly state?: "pending" | "fulfilled" | "rejected.js"; + readonly state?: "pending" | "fulfilled" | "rejected" /** * The resolved value of the computation (if available). diff --git a/packages/reflex/src/shared/types/declarations.d.ts b/packages/reflex/src/shared/types/declarations.d.ts index 445d1ca..f6440d3 100644 --- a/packages/reflex/src/shared/types/declarations.d.ts +++ b/packages/reflex/src/shared/types/declarations.d.ts @@ -3,8 +3,8 @@ declare const API_PROTOCOL_VERSION: `${number}.${number}.${number}`; declare const APP_VERSION: string; declare const APP_REVISION: string; -declare const BUILD_MODE: "development" | "production" | "test.js"; -declare const PLATFORM: "browser" | "node" | "worker.js"; +declare const BUILD_MODE: "development" | "production" | "test" +declare const PLATFORM: "browser" | "node" | "worker" declare const __DEV__: boolean; diff --git a/packages/reflex/tests/graph/graph.test.ts b/packages/reflex/tests/graph/graph.test.ts index a1b9965..7020407 100644 --- a/packages/reflex/tests/graph/graph.test.ts +++ b/packages/reflex/tests/graph/graph.test.ts @@ -9,18 +9,18 @@ import { unlinkAllObserversUnsafe, unlinkAllSourcesUnsafe, } from "../../src/core/graph/utils/graph.intrusive"; -import { IReactiveNode, GraphNode } from "../../src/core/graph/graph.node"; +import { GraphNode } from "../../src/core/graph/graph.node"; -function makeNode(): IReactiveNode { +function makeNode(): GraphNode { const node = new GraphNode(); return node; } -function validateSourceChain(observer: IReactiveNode) { +function validateSourceChain(observer: GraphNode) { let cur = observer._firstSource; - let prev: IReactiveNode | null = null; + let prev: GraphNode | null = null; let count = 0; - const visited = new Set(); + const visited = new Set(); while (cur) { count++; @@ -56,11 +56,11 @@ function validateSourceChain(observer: IReactiveNode) { if (count !== observer._sourceCount) throw new Error("SourceCount mismatch"); } -function validateObserverChain(source: IReactiveNode) { +function validateObserverChain(source: GraphNode) { let cur = source._firstObserver; - let prev: IReactiveNode | null = null; + let prev: GraphNode | null = null; let count = 0; - const visited = new Set(); + const visited = new Set(); while (cur) { count++; @@ -96,8 +96,8 @@ function validateObserverChain(source: IReactiveNode) { throw new Error("ObserverCount mismatch"); } -const collectSourceChain = (head: IReactiveNode | null): IReactiveNode[] => { - const result: IReactiveNode[] = []; +const collectSourceChain = (head: GraphNode | null): GraphNode[] => { + const result: GraphNode[] = []; let cur = head; while (cur) { result.push(cur); @@ -106,8 +106,8 @@ const collectSourceChain = (head: IReactiveNode | null): IReactiveNode[] => { return result; }; -const collectObserverChain = (head: IReactiveNode | null): IReactiveNode[] => { - const result: IReactiveNode[] = []; +const collectObserverChain = (head: GraphNode | null): GraphNode[] => { + const result: GraphNode[] = []; let cur = head; while (cur) { result.push(cur); @@ -118,31 +118,30 @@ const collectObserverChain = (head: IReactiveNode | null): IReactiveNode[] => { describe("Invariant check", () => { it("mass unlink does not leave ghosts", () => { - const center = makeNode(); - const leafs = Array.from({ length: 25 }, makeNode); + const center = makeNode(); + const leafs = Array.from({ length: 25 }, makeNode); - // создаём: center -> leafs - for (const leaf of leafs) { - linkEdge(leaf, center); // 🔴 ОБРАТИЛ ВНИМАНИЕ НА ПОРЯДОК - } + // создаём: center -> leafs + for (const leaf of leafs) { + linkEdge(leaf, center); // 🔴 ОБРАТИЛ ВНИМАНИЕ НА ПОРЯДОК + } - expect(center._observerCount).toBe(25); - validateObserverChain(center); + expect(center._observerCount).toBe(25); + validateObserverChain(center); - unlinkAllObserversUnsafe(center); + unlinkAllObserversUnsafe(center); - expect(center._observerCount).toBe(0); - expect(center._firstObserver).toBeNull(); - expect(center._lastObserver).toBeNull(); - - for (const leaf of leafs) { - expect(leaf._firstSource).toBeNull(); - expect(leaf._lastSource).toBeNull(); - expect(leaf._prevSource).toBeNull(); - expect(leaf._nextSource).toBeNull(); - } -}); + expect(center._observerCount).toBe(0); + expect(center._firstObserver).toBeNull(); + expect(center._lastObserver).toBeNull(); + for (const leaf of leafs) { + expect(leaf._firstSource).toBeNull(); + expect(leaf._lastSource).toBeNull(); + expect(leaf._prevSource).toBeNull(); + expect(leaf._nextSource).toBeNull(); + } + }); }); describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { diff --git a/packages/reflex/tests/ownership/ownership.run.ts b/packages/reflex/tests/ownership/ownership.run.ts index afc19e4..e2e2a61 100644 --- a/packages/reflex/tests/ownership/ownership.run.ts +++ b/packages/reflex/tests/ownership/ownership.run.ts @@ -3,7 +3,7 @@ // Запускается через: // pnpm exec 0x -- node --require ts-node/register/transpile-only tests/ownership.run.ts -import { createOwner } from "../../src/core/ownership/ownership.core.js"; +import { createOwner } from "../../src/core/ownership/ownership.core" function build1m() { const root = createOwner(); From a4e703118ecf4fa115e100bb34df003842c600b8 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Tue, 25 Nov 2025 19:45:17 +0200 Subject: [PATCH 25/32] fix: replace semicolon and fixed types with separated files to clean up execution logic --- assets/reflex-arch.svg | 45 +++++++++++++ packages/@reflex/contract/package.json | 19 ++++++ packages/{reflex => @reflex/core}/.gitignore | 0 packages/@reflex/core/package.json | 53 +++++++++++++++ .../core}/src/core/README.md | 0 .../core}/src/core/collections/README.md | 0 .../src/core/collections/unrolled-queue.ts | 0 .../core}/src/core/graph/Readme.md | 0 .../core}/src/core/graph/graph.node.ts | 0 .../core}/src/core/graph/graph.types.ts | 0 .../src/core/graph/utils/graph.constants.ts | 0 .../src/core/graph/utils/graph.intrusive.ts | 0 .../src/core/graph/utils/graph.linker.ts | 0 .../src/core/graph/utils/graph.operations.ts | 0 .../core}/src/core/index.ts | 0 .../core}/src/core/object/README.md | 0 .../core}/src/core/object/object.dispose.ts | 0 .../core}/src/core/object/object.inherit.ts | 0 .../core}/src/core/object/utils/assert.ts | 0 .../core}/src/core/object/utils/bitwise.ts | 0 .../core}/src/core/ownership/Readme.md | 0 .../src/core/ownership/ownership.core.ts | 0 .../src/core/ownership/ownership.error.ts | 0 .../src/core/ownership/ownership.node.ts | 0 .../src/core/ownership/ownership.scope.ts | 0 .../src/core/ownership/ownership.type.ts | 0 .../.env => @reflex/core/src/index.ts} | 0 .../core}/src/runtime/README.md | 0 .../src/runtime/execution/context.scope.ts | 0 .../src/runtime/execution/context.stack.ts | 0 .../core}/src/runtime/index.runtime.ts | 0 .../core}/src/runtime/primitive/computed.ts | 0 .../core}/src/runtime/primitive/effect.ts | 0 .../core}/src/runtime/primitive/signal.ts | 0 .../core}/src/shared/README.md | 0 .../core}/src/shared/types/async.d.ts | 0 .../core}/src/shared/types/declarations.d.ts | 0 .../core}/src/shared/types/globals.d.ts | 0 .../core}/src/shared/types/queue.d.ts | 0 .../tests/collections/unrolled-queue.bench.ts | 0 .../unrolled-queue.stress.bench.ts | 0 .../tests/collections/unrolled-queue.test.ts | 0 .../core}/tests/graph/graph.bench.ts | 0 .../core}/tests/graph/graph.test.ts | 0 .../core}/tests/ownership/ownerhip.test.ts | 0 .../core}/tests/ownership/ownership.bench.ts | 0 .../core}/tests/ownership/ownership.run.ts | 0 .../{reflex => @reflex/core}/tsconfig.json | 0 packages/@reflex/runtime/package.json | 23 +++++++ packages/Readme.md | 65 +++++++++++++++++++ packages/reflex-dom/package.json | 24 ++++--- packages/reflex/.env.dev | 11 ---- packages/reflex/package.json | 54 ++++----------- packages/reflex/src/index.ts | 6 ++ pnpm-workspace.yaml | 1 + 55 files changed, 237 insertions(+), 64 deletions(-) create mode 100644 assets/reflex-arch.svg create mode 100644 packages/@reflex/contract/package.json rename packages/{reflex => @reflex/core}/.gitignore (100%) create mode 100644 packages/@reflex/core/package.json rename packages/{reflex => @reflex/core}/src/core/README.md (100%) rename packages/{reflex => @reflex/core}/src/core/collections/README.md (100%) rename packages/{reflex => @reflex/core}/src/core/collections/unrolled-queue.ts (100%) rename packages/{reflex => @reflex/core}/src/core/graph/Readme.md (100%) rename packages/{reflex => @reflex/core}/src/core/graph/graph.node.ts (100%) rename packages/{reflex => @reflex/core}/src/core/graph/graph.types.ts (100%) rename packages/{reflex => @reflex/core}/src/core/graph/utils/graph.constants.ts (100%) rename packages/{reflex => @reflex/core}/src/core/graph/utils/graph.intrusive.ts (100%) rename packages/{reflex => @reflex/core}/src/core/graph/utils/graph.linker.ts (100%) rename packages/{reflex => @reflex/core}/src/core/graph/utils/graph.operations.ts (100%) rename packages/{reflex => @reflex/core}/src/core/index.ts (100%) rename packages/{reflex => @reflex/core}/src/core/object/README.md (100%) rename packages/{reflex => @reflex/core}/src/core/object/object.dispose.ts (100%) rename packages/{reflex => @reflex/core}/src/core/object/object.inherit.ts (100%) rename packages/{reflex => @reflex/core}/src/core/object/utils/assert.ts (100%) rename packages/{reflex => @reflex/core}/src/core/object/utils/bitwise.ts (100%) rename packages/{reflex => @reflex/core}/src/core/ownership/Readme.md (100%) rename packages/{reflex => @reflex/core}/src/core/ownership/ownership.core.ts (100%) rename packages/{reflex => @reflex/core}/src/core/ownership/ownership.error.ts (100%) rename packages/{reflex => @reflex/core}/src/core/ownership/ownership.node.ts (100%) rename packages/{reflex => @reflex/core}/src/core/ownership/ownership.scope.ts (100%) rename packages/{reflex => @reflex/core}/src/core/ownership/ownership.type.ts (100%) rename packages/{reflex/.env => @reflex/core/src/index.ts} (100%) rename packages/{reflex => @reflex/core}/src/runtime/README.md (100%) rename packages/{reflex => @reflex/core}/src/runtime/execution/context.scope.ts (100%) rename packages/{reflex => @reflex/core}/src/runtime/execution/context.stack.ts (100%) rename packages/{reflex => @reflex/core}/src/runtime/index.runtime.ts (100%) rename packages/{reflex => @reflex/core}/src/runtime/primitive/computed.ts (100%) rename packages/{reflex => @reflex/core}/src/runtime/primitive/effect.ts (100%) rename packages/{reflex => @reflex/core}/src/runtime/primitive/signal.ts (100%) rename packages/{reflex => @reflex/core}/src/shared/README.md (100%) rename packages/{reflex => @reflex/core}/src/shared/types/async.d.ts (100%) rename packages/{reflex => @reflex/core}/src/shared/types/declarations.d.ts (100%) rename packages/{reflex => @reflex/core}/src/shared/types/globals.d.ts (100%) rename packages/{reflex => @reflex/core}/src/shared/types/queue.d.ts (100%) rename packages/{reflex => @reflex/core}/tests/collections/unrolled-queue.bench.ts (100%) rename packages/{reflex => @reflex/core}/tests/collections/unrolled-queue.stress.bench.ts (100%) rename packages/{reflex => @reflex/core}/tests/collections/unrolled-queue.test.ts (100%) rename packages/{reflex => @reflex/core}/tests/graph/graph.bench.ts (100%) rename packages/{reflex => @reflex/core}/tests/graph/graph.test.ts (100%) rename packages/{reflex => @reflex/core}/tests/ownership/ownerhip.test.ts (100%) rename packages/{reflex => @reflex/core}/tests/ownership/ownership.bench.ts (100%) rename packages/{reflex => @reflex/core}/tests/ownership/ownership.run.ts (100%) rename packages/{reflex => @reflex/core}/tsconfig.json (100%) create mode 100644 packages/@reflex/runtime/package.json delete mode 100644 packages/reflex/.env.dev diff --git a/assets/reflex-arch.svg b/assets/reflex-arch.svg new file mode 100644 index 0000000..496c50f --- /dev/null +++ b/assets/reflex-arch.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + @reflex/contract + laws & interfaces + + + + @reflex/runtime + time & scheduler + + + + @reflex/core + reactive structure + + + + reflex + public API + + + + reflex-dom + platform adapter + + + + + + + diff --git a/packages/@reflex/contract/package.json b/packages/@reflex/contract/package.json new file mode 100644 index 0000000..6e3c5bc --- /dev/null +++ b/packages/@reflex/contract/package.json @@ -0,0 +1,19 @@ +{ + "name": "@reflex/contract", + "version": "0.1.0", + "type": "module", + "description": "Runtime contracts and invariants", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + } + }, + "files": ["dist"], + "scripts": { + "build": "tsc -p tsconfig.build.json" + } +} diff --git a/packages/reflex/.gitignore b/packages/@reflex/core/.gitignore similarity index 100% rename from packages/reflex/.gitignore rename to packages/@reflex/core/.gitignore diff --git a/packages/@reflex/core/package.json b/packages/@reflex/core/package.json new file mode 100644 index 0000000..d8b5c2e --- /dev/null +++ b/packages/@reflex/core/package.json @@ -0,0 +1,53 @@ +{ + "name": "@reflex/core", + "version": "0.1.0", + "type": "module", + "description": "Core reactive primitives", + "main": "./dist/index.js", + "module": "dist/index.mjs", + "types": "./dist/index.d.ts", + "sideEffects": false, + "license": "MIT", + "exports": { + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.cjs", + "types": "./dist/index.d.ts" + } + }, + "scripts": { + "dev": "vite", + "build": "tsc --build", + "test": "vitest run", + "bench": "vitest bench", + "bench:flame": "0x -- node dist/tests/ownership.run.js", + "test:watch": "vitest", + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "format": "prettier --check .", + "format:fix": "prettier --write .", + "typecheck": "tsc --noEmit", + "prepublishOnly": "pnpm lint && pnpm test && pnpm typecheck && pnpm build", + "release": "changeset version && pnpm install && changeset publish", + "prepare": "husky" + }, + "files": [ + "dist" + ], + "engines": { + "node": ">=20.19.0" + }, + "lint-staged": { + "*.{ts,tsx,js,jsx}": [ + "eslint --fix", + "prettier --write" + ], + "*.{json,md,yml,yaml}": [ + "prettier --write" + ] + }, + "devDependencies": { + "@reflex/contract": "workspace:*", + "@types/node": "^24.10.1" + } +} diff --git a/packages/reflex/src/core/README.md b/packages/@reflex/core/src/core/README.md similarity index 100% rename from packages/reflex/src/core/README.md rename to packages/@reflex/core/src/core/README.md diff --git a/packages/reflex/src/core/collections/README.md b/packages/@reflex/core/src/core/collections/README.md similarity index 100% rename from packages/reflex/src/core/collections/README.md rename to packages/@reflex/core/src/core/collections/README.md diff --git a/packages/reflex/src/core/collections/unrolled-queue.ts b/packages/@reflex/core/src/core/collections/unrolled-queue.ts similarity index 100% rename from packages/reflex/src/core/collections/unrolled-queue.ts rename to packages/@reflex/core/src/core/collections/unrolled-queue.ts diff --git a/packages/reflex/src/core/graph/Readme.md b/packages/@reflex/core/src/core/graph/Readme.md similarity index 100% rename from packages/reflex/src/core/graph/Readme.md rename to packages/@reflex/core/src/core/graph/Readme.md diff --git a/packages/reflex/src/core/graph/graph.node.ts b/packages/@reflex/core/src/core/graph/graph.node.ts similarity index 100% rename from packages/reflex/src/core/graph/graph.node.ts rename to packages/@reflex/core/src/core/graph/graph.node.ts diff --git a/packages/reflex/src/core/graph/graph.types.ts b/packages/@reflex/core/src/core/graph/graph.types.ts similarity index 100% rename from packages/reflex/src/core/graph/graph.types.ts rename to packages/@reflex/core/src/core/graph/graph.types.ts diff --git a/packages/reflex/src/core/graph/utils/graph.constants.ts b/packages/@reflex/core/src/core/graph/utils/graph.constants.ts similarity index 100% rename from packages/reflex/src/core/graph/utils/graph.constants.ts rename to packages/@reflex/core/src/core/graph/utils/graph.constants.ts diff --git a/packages/reflex/src/core/graph/utils/graph.intrusive.ts b/packages/@reflex/core/src/core/graph/utils/graph.intrusive.ts similarity index 100% rename from packages/reflex/src/core/graph/utils/graph.intrusive.ts rename to packages/@reflex/core/src/core/graph/utils/graph.intrusive.ts diff --git a/packages/reflex/src/core/graph/utils/graph.linker.ts b/packages/@reflex/core/src/core/graph/utils/graph.linker.ts similarity index 100% rename from packages/reflex/src/core/graph/utils/graph.linker.ts rename to packages/@reflex/core/src/core/graph/utils/graph.linker.ts diff --git a/packages/reflex/src/core/graph/utils/graph.operations.ts b/packages/@reflex/core/src/core/graph/utils/graph.operations.ts similarity index 100% rename from packages/reflex/src/core/graph/utils/graph.operations.ts rename to packages/@reflex/core/src/core/graph/utils/graph.operations.ts diff --git a/packages/reflex/src/core/index.ts b/packages/@reflex/core/src/core/index.ts similarity index 100% rename from packages/reflex/src/core/index.ts rename to packages/@reflex/core/src/core/index.ts diff --git a/packages/reflex/src/core/object/README.md b/packages/@reflex/core/src/core/object/README.md similarity index 100% rename from packages/reflex/src/core/object/README.md rename to packages/@reflex/core/src/core/object/README.md diff --git a/packages/reflex/src/core/object/object.dispose.ts b/packages/@reflex/core/src/core/object/object.dispose.ts similarity index 100% rename from packages/reflex/src/core/object/object.dispose.ts rename to packages/@reflex/core/src/core/object/object.dispose.ts diff --git a/packages/reflex/src/core/object/object.inherit.ts b/packages/@reflex/core/src/core/object/object.inherit.ts similarity index 100% rename from packages/reflex/src/core/object/object.inherit.ts rename to packages/@reflex/core/src/core/object/object.inherit.ts diff --git a/packages/reflex/src/core/object/utils/assert.ts b/packages/@reflex/core/src/core/object/utils/assert.ts similarity index 100% rename from packages/reflex/src/core/object/utils/assert.ts rename to packages/@reflex/core/src/core/object/utils/assert.ts diff --git a/packages/reflex/src/core/object/utils/bitwise.ts b/packages/@reflex/core/src/core/object/utils/bitwise.ts similarity index 100% rename from packages/reflex/src/core/object/utils/bitwise.ts rename to packages/@reflex/core/src/core/object/utils/bitwise.ts diff --git a/packages/reflex/src/core/ownership/Readme.md b/packages/@reflex/core/src/core/ownership/Readme.md similarity index 100% rename from packages/reflex/src/core/ownership/Readme.md rename to packages/@reflex/core/src/core/ownership/Readme.md diff --git a/packages/reflex/src/core/ownership/ownership.core.ts b/packages/@reflex/core/src/core/ownership/ownership.core.ts similarity index 100% rename from packages/reflex/src/core/ownership/ownership.core.ts rename to packages/@reflex/core/src/core/ownership/ownership.core.ts diff --git a/packages/reflex/src/core/ownership/ownership.error.ts b/packages/@reflex/core/src/core/ownership/ownership.error.ts similarity index 100% rename from packages/reflex/src/core/ownership/ownership.error.ts rename to packages/@reflex/core/src/core/ownership/ownership.error.ts diff --git a/packages/reflex/src/core/ownership/ownership.node.ts b/packages/@reflex/core/src/core/ownership/ownership.node.ts similarity index 100% rename from packages/reflex/src/core/ownership/ownership.node.ts rename to packages/@reflex/core/src/core/ownership/ownership.node.ts diff --git a/packages/reflex/src/core/ownership/ownership.scope.ts b/packages/@reflex/core/src/core/ownership/ownership.scope.ts similarity index 100% rename from packages/reflex/src/core/ownership/ownership.scope.ts rename to packages/@reflex/core/src/core/ownership/ownership.scope.ts diff --git a/packages/reflex/src/core/ownership/ownership.type.ts b/packages/@reflex/core/src/core/ownership/ownership.type.ts similarity index 100% rename from packages/reflex/src/core/ownership/ownership.type.ts rename to packages/@reflex/core/src/core/ownership/ownership.type.ts diff --git a/packages/reflex/.env b/packages/@reflex/core/src/index.ts similarity index 100% rename from packages/reflex/.env rename to packages/@reflex/core/src/index.ts diff --git a/packages/reflex/src/runtime/README.md b/packages/@reflex/core/src/runtime/README.md similarity index 100% rename from packages/reflex/src/runtime/README.md rename to packages/@reflex/core/src/runtime/README.md diff --git a/packages/reflex/src/runtime/execution/context.scope.ts b/packages/@reflex/core/src/runtime/execution/context.scope.ts similarity index 100% rename from packages/reflex/src/runtime/execution/context.scope.ts rename to packages/@reflex/core/src/runtime/execution/context.scope.ts diff --git a/packages/reflex/src/runtime/execution/context.stack.ts b/packages/@reflex/core/src/runtime/execution/context.stack.ts similarity index 100% rename from packages/reflex/src/runtime/execution/context.stack.ts rename to packages/@reflex/core/src/runtime/execution/context.stack.ts diff --git a/packages/reflex/src/runtime/index.runtime.ts b/packages/@reflex/core/src/runtime/index.runtime.ts similarity index 100% rename from packages/reflex/src/runtime/index.runtime.ts rename to packages/@reflex/core/src/runtime/index.runtime.ts diff --git a/packages/reflex/src/runtime/primitive/computed.ts b/packages/@reflex/core/src/runtime/primitive/computed.ts similarity index 100% rename from packages/reflex/src/runtime/primitive/computed.ts rename to packages/@reflex/core/src/runtime/primitive/computed.ts diff --git a/packages/reflex/src/runtime/primitive/effect.ts b/packages/@reflex/core/src/runtime/primitive/effect.ts similarity index 100% rename from packages/reflex/src/runtime/primitive/effect.ts rename to packages/@reflex/core/src/runtime/primitive/effect.ts diff --git a/packages/reflex/src/runtime/primitive/signal.ts b/packages/@reflex/core/src/runtime/primitive/signal.ts similarity index 100% rename from packages/reflex/src/runtime/primitive/signal.ts rename to packages/@reflex/core/src/runtime/primitive/signal.ts diff --git a/packages/reflex/src/shared/README.md b/packages/@reflex/core/src/shared/README.md similarity index 100% rename from packages/reflex/src/shared/README.md rename to packages/@reflex/core/src/shared/README.md diff --git a/packages/reflex/src/shared/types/async.d.ts b/packages/@reflex/core/src/shared/types/async.d.ts similarity index 100% rename from packages/reflex/src/shared/types/async.d.ts rename to packages/@reflex/core/src/shared/types/async.d.ts diff --git a/packages/reflex/src/shared/types/declarations.d.ts b/packages/@reflex/core/src/shared/types/declarations.d.ts similarity index 100% rename from packages/reflex/src/shared/types/declarations.d.ts rename to packages/@reflex/core/src/shared/types/declarations.d.ts diff --git a/packages/reflex/src/shared/types/globals.d.ts b/packages/@reflex/core/src/shared/types/globals.d.ts similarity index 100% rename from packages/reflex/src/shared/types/globals.d.ts rename to packages/@reflex/core/src/shared/types/globals.d.ts diff --git a/packages/reflex/src/shared/types/queue.d.ts b/packages/@reflex/core/src/shared/types/queue.d.ts similarity index 100% rename from packages/reflex/src/shared/types/queue.d.ts rename to packages/@reflex/core/src/shared/types/queue.d.ts diff --git a/packages/reflex/tests/collections/unrolled-queue.bench.ts b/packages/@reflex/core/tests/collections/unrolled-queue.bench.ts similarity index 100% rename from packages/reflex/tests/collections/unrolled-queue.bench.ts rename to packages/@reflex/core/tests/collections/unrolled-queue.bench.ts diff --git a/packages/reflex/tests/collections/unrolled-queue.stress.bench.ts b/packages/@reflex/core/tests/collections/unrolled-queue.stress.bench.ts similarity index 100% rename from packages/reflex/tests/collections/unrolled-queue.stress.bench.ts rename to packages/@reflex/core/tests/collections/unrolled-queue.stress.bench.ts diff --git a/packages/reflex/tests/collections/unrolled-queue.test.ts b/packages/@reflex/core/tests/collections/unrolled-queue.test.ts similarity index 100% rename from packages/reflex/tests/collections/unrolled-queue.test.ts rename to packages/@reflex/core/tests/collections/unrolled-queue.test.ts diff --git a/packages/reflex/tests/graph/graph.bench.ts b/packages/@reflex/core/tests/graph/graph.bench.ts similarity index 100% rename from packages/reflex/tests/graph/graph.bench.ts rename to packages/@reflex/core/tests/graph/graph.bench.ts diff --git a/packages/reflex/tests/graph/graph.test.ts b/packages/@reflex/core/tests/graph/graph.test.ts similarity index 100% rename from packages/reflex/tests/graph/graph.test.ts rename to packages/@reflex/core/tests/graph/graph.test.ts diff --git a/packages/reflex/tests/ownership/ownerhip.test.ts b/packages/@reflex/core/tests/ownership/ownerhip.test.ts similarity index 100% rename from packages/reflex/tests/ownership/ownerhip.test.ts rename to packages/@reflex/core/tests/ownership/ownerhip.test.ts diff --git a/packages/reflex/tests/ownership/ownership.bench.ts b/packages/@reflex/core/tests/ownership/ownership.bench.ts similarity index 100% rename from packages/reflex/tests/ownership/ownership.bench.ts rename to packages/@reflex/core/tests/ownership/ownership.bench.ts diff --git a/packages/reflex/tests/ownership/ownership.run.ts b/packages/@reflex/core/tests/ownership/ownership.run.ts similarity index 100% rename from packages/reflex/tests/ownership/ownership.run.ts rename to packages/@reflex/core/tests/ownership/ownership.run.ts diff --git a/packages/reflex/tsconfig.json b/packages/@reflex/core/tsconfig.json similarity index 100% rename from packages/reflex/tsconfig.json rename to packages/@reflex/core/tsconfig.json diff --git a/packages/@reflex/runtime/package.json b/packages/@reflex/runtime/package.json new file mode 100644 index 0000000..d941efb --- /dev/null +++ b/packages/@reflex/runtime/package.json @@ -0,0 +1,23 @@ +{ + "name": "@reflex/runtime", + "version": "0.1.0", + "type": "module", + "description": "Runtime / Universe / Laws for Reflex", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + } + }, + "files": ["dist"], + "scripts": { + "build": "tsc -p tsconfig.build.json" + }, + "dependencies": { + "@reflex/core": "workspace:*", + "@reflex/contract": "workspace:*" + } +} diff --git a/packages/Readme.md b/packages/Readme.md index e69de29..f629617 100644 --- a/packages/Readme.md +++ b/packages/Readme.md @@ -0,0 +1,65 @@ +## Philosophy + +Reflex is not just a UI library. +It is a **reactive runtime** with a clear separation between: + +- **Contracts** – what must hold (laws, invariants, interfaces) +- **Core** – how reactivity is described (signals, ownership, graph) +- **Runtime** – how the system _lives in time_ (scheduler, epochs, execution modes) +- **Adapters** – how this world is projected onto concrete platforms (DOM, etc.) + +> **Important:** `@reflex/core` is _declarative and time-agnostic_ +> It does **not** know about time, schedulers, threads, async APIs, or side effects. +> It only expresses structure, dependencies, and ownership. + +This separation lets Reflex operate in three distinct modes: + +- **Library mode** — ergonomic reactive primitives (`signals`, `effects`, `batch`). +- **Framework mode** — customizable runtime policies (scheduling strategies, execution models). +- **Research mode** — swap/extend contracts, causality models, and memory/scheduling semantics. + +The public API remains simple: + +```ts +import { createSignal, createEffect } from "reflex"; +``` + +while the internal layers remain explicit, swappable, and formally defined. + +--- + +## Architecture Diagram (ASCII / dependency chain) + +```text + @reflex/contract + ▲ + │ + @reflex/runtime + ▲ + │ +@reflex/core ◄──────── reflex (public API) + ▲ + │ + reflex-dom (adapter) +``` + +**How to read this:** + +- `@reflex/contract` — formal laws and interfaces (no behavior) +- `@reflex/runtime` — binds time, scheduling, policies to the system +- `@reflex/core` — implements reactive dataflow & ownership (no time, no effects) +- `reflex` — curated public API / facade +- `reflex-dom` — platform adapter (DOM projection) + +In practice: + +- `reflex` re-exports stable, safe parts of `@reflex/core` and `@reflex/runtime` +- `reflex-dom` depends on `reflex`, not on internals +- Power users and contributors may use `@reflex/*` directly + +--- + +## Architecture Diagram (SVG) + +_(Same semantics, visualized)_ +![alt text](/assets/reflex-arch.svg) diff --git a/packages/reflex-dom/package.json b/packages/reflex-dom/package.json index 0936929..4834092 100644 --- a/packages/reflex-dom/package.json +++ b/packages/reflex-dom/package.json @@ -1,24 +1,22 @@ { - "name": "@reflex/dom", - "version": "0.7.0", + "name": "reflex-dom", + "version": "0.1.0", "type": "module", + "description": "DOM renderer for Reflex", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "sideEffects": false, "exports": { ".": { - "import": "./dist/index.js", - "types": "./dist/index.d.ts" + "types": "./dist/index.d.ts", + "import": "./dist/index.js" } }, - "imports": { - "#reflex/*": "../reflex/src/*" - }, + "files": ["dist"], "scripts": { - "build": "tsc -b", - "clean": "rimraf dist .tsbuildinfo" + "build": "tsc -p tsconfig.build.json" }, "dependencies": { - "@reflex/core": "workspace:*" - }, - "devDependencies": { - "typescript": "^5.3.9" + "reflex": "workspace:*" } } diff --git a/packages/reflex/.env.dev b/packages/reflex/.env.dev deleted file mode 100644 index 0ec18c8..0000000 --- a/packages/reflex/.env.dev +++ /dev/null @@ -1,11 +0,0 @@ -# Environment manifest for Reflex runtime -MODE=development -TARGET=web -ADAPTER=dom -RUNTIME=reflex -LOG_LEVEL=debug - -# Feature toggles -FEATURE_REACTIVE=true -FEATURE_CONTRACTS=soft -FEATURE_DEBUG_GRAPH=false diff --git a/packages/reflex/package.json b/packages/reflex/package.json index 427a694..a07c7f7 100644 --- a/packages/reflex/package.json +++ b/packages/reflex/package.json @@ -1,50 +1,24 @@ { - "name": "@reflex/core", - "version": "0.7.0", + "name": "reflex", + "version": "0.1.0", "type": "module", - "main": "dist/my-lib.cjs", - "module": "dist/my-lib.mjs", - "types": "dist/index.d.ts", - "license": "MIT", + "description": "Reactive runtime and core API", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "sideEffects": false, "exports": { ".": { - "import": "./dist/my-lib.mjs", - "require": "./dist/my-lib.cjs", - "types": "./dist/index.d.ts" + "types": "./dist/index.d.ts", + "import": "./dist/index.js" } }, + "files": ["dist"], "scripts": { - "dev": "vite", - "build": "tsc --build", - "test": "vitest run", - "bench": "vitest bench", - "bench:flame": "0x -- node dist/tests/ownership.run.js", - "test:watch": "vitest", - "lint": "eslint .", - "lint:fix": "eslint . --fix", - "format": "prettier --check .", - "format:fix": "prettier --write .", - "typecheck": "tsc --noEmit", - "prepublishOnly": "pnpm lint && pnpm test && pnpm typecheck && pnpm build", - "release": "changeset version && pnpm install && changeset publish", - "prepare": "husky" + "build": "tsc -p tsconfig.build.json", + "dev": "tsc -w -p tsconfig.build.json" }, - "files": [ - "dist" - ], - "engines": { - "node": ">=20.19.0" - }, - "lint-staged": { - "*.{ts,tsx,js,jsx}": [ - "eslint --fix", - "prettier --write" - ], - "*.{json,md,yml,yaml}": [ - "prettier --write" - ] - }, - "devDependencies": { - "@types/node": "^24.10.1" + "dependencies": { + "@reflex/core": "workspace:*", + "@reflex/runtime": "workspace:*" } } diff --git a/packages/reflex/src/index.ts b/packages/reflex/src/index.ts index e69de29..d948f7e 100644 --- a/packages/reflex/src/index.ts +++ b/packages/reflex/src/index.ts @@ -0,0 +1,6 @@ +// // Main public API +// export { +// createSignal, +// createEffect, +// batch +// } from "@reflex/core"; diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f88960c..b200b1a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,3 @@ packages: - 'packages/*' +- "packages/@reflex/*" From f9428bd6b02d746c8d3e6e585ab93defa72b97f4 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Thu, 27 Nov 2025 19:19:31 +0200 Subject: [PATCH 26/32] refactor: brought order, did not break the magic --- Readme.md | 334 ++++++++++++------ packages/@reflex/contract/CONTRACTS.md | 149 ++++++++ packages/@reflex/contract/src/index.ts | 84 +++++ packages/@reflex/contract/tsconfig.build.json | 21 ++ packages/@reflex/contract/vite.config.ts | 9 + .../@reflex/core/src/{core => }/README.md | 0 .../core/src/{core => }/collections/README.md | 0 .../{core => }/collections/unrolled-queue.ts | 3 +- packages/@reflex/core/src/core/index.ts | 0 .../core/src/{core => }/graph/Readme.md | 0 .../core/src/{core => }/graph/graph.node.ts | 2 +- .../core/src/{core => }/graph/graph.types.ts | 0 .../process}/graph.constants.ts | 0 .../process}/graph.intrusive.ts | 0 .../utils => graph/process}/graph.linker.ts | 0 .../process}/graph.operations.ts | 0 .../core/src/{core => }/object/README.md | 0 .../src/{core => }/object/object.dispose.ts | 0 .../src/{core => }/object/object.inherit.ts | 0 .../src/{core => }/object/utils/assert.ts | 0 .../src/{core => }/object/utils/bitwise.ts | 0 .../core/src/{core => }/ownership/Readme.md | 0 .../{core => }/ownership/ownership.core.ts | 4 +- .../{core => }/ownership/ownership.error.ts | 0 .../{core => }/ownership/ownership.node.ts | 0 .../{core => }/ownership/ownership.scope.ts | 0 .../{core => }/ownership/ownership.type.ts | 0 .../tests/collections/unrolled-queue.bench.ts | 2 +- .../unrolled-queue.stress.bench.ts | 2 +- .../@reflex/core/tests/graph/graph.bench.ts | 6 +- .../core/tests/ownership/ownership.bench.ts | 2 +- .../core/tests/ownership/ownership.run.ts | 2 +- packages/@reflex/core/vite.config.ts | 3 + .../src/runtime => runtime/src}/README.md | 0 .../src}/execution/context.scope.ts | 0 .../src}/execution/context.stack.ts | 0 .../runtime => runtime/src}/index.runtime.ts | 0 .../src}/primitive/computed.ts | 0 .../src}/primitive/effect.ts | 0 .../src}/primitive/signal.ts | 0 packages/@reflex/runtime/src/runtime.ts | 15 + plugins/@eslint/Readme.md | 132 +++++++ .../eslint-plugin-forbidden-imports/Readme.md | 132 +++++++ .../package.json | 19 + .../src/index.ts | 17 + .../src/rules/layer-boundaries.ts | 54 +++ .../src/rules/no-internal-imports.ts | 41 +++ .../tsconfig.json | 12 + pnpm-lock.yaml | 86 +++-- 49 files changed, 983 insertions(+), 148 deletions(-) create mode 100644 packages/@reflex/contract/CONTRACTS.md create mode 100644 packages/@reflex/contract/src/index.ts create mode 100644 packages/@reflex/contract/tsconfig.build.json create mode 100644 packages/@reflex/contract/vite.config.ts rename packages/@reflex/core/src/{core => }/README.md (100%) rename packages/@reflex/core/src/{core => }/collections/README.md (100%) rename packages/@reflex/core/src/{core => }/collections/unrolled-queue.ts (99%) delete mode 100644 packages/@reflex/core/src/core/index.ts rename packages/@reflex/core/src/{core => }/graph/Readme.md (100%) rename packages/@reflex/core/src/{core => }/graph/graph.node.ts (87%) rename packages/@reflex/core/src/{core => }/graph/graph.types.ts (100%) rename packages/@reflex/core/src/{core/graph/utils => graph/process}/graph.constants.ts (100%) rename packages/@reflex/core/src/{core/graph/utils => graph/process}/graph.intrusive.ts (100%) rename packages/@reflex/core/src/{core/graph/utils => graph/process}/graph.linker.ts (100%) rename packages/@reflex/core/src/{core/graph/utils => graph/process}/graph.operations.ts (100%) rename packages/@reflex/core/src/{core => }/object/README.md (100%) rename packages/@reflex/core/src/{core => }/object/object.dispose.ts (100%) rename packages/@reflex/core/src/{core => }/object/object.inherit.ts (100%) rename packages/@reflex/core/src/{core => }/object/utils/assert.ts (100%) rename packages/@reflex/core/src/{core => }/object/utils/bitwise.ts (100%) rename packages/@reflex/core/src/{core => }/ownership/Readme.md (100%) rename packages/@reflex/core/src/{core => }/ownership/ownership.core.ts (84%) rename packages/@reflex/core/src/{core => }/ownership/ownership.error.ts (100%) rename packages/@reflex/core/src/{core => }/ownership/ownership.node.ts (100%) rename packages/@reflex/core/src/{core => }/ownership/ownership.scope.ts (100%) rename packages/@reflex/core/src/{core => }/ownership/ownership.type.ts (100%) create mode 100644 packages/@reflex/core/vite.config.ts rename packages/@reflex/{core/src/runtime => runtime/src}/README.md (100%) rename packages/@reflex/{core/src/runtime => runtime/src}/execution/context.scope.ts (100%) rename packages/@reflex/{core/src/runtime => runtime/src}/execution/context.stack.ts (100%) rename packages/@reflex/{core/src/runtime => runtime/src}/index.runtime.ts (100%) rename packages/@reflex/{core/src/runtime => runtime/src}/primitive/computed.ts (100%) rename packages/@reflex/{core/src/runtime => runtime/src}/primitive/effect.ts (100%) rename packages/@reflex/{core/src/runtime => runtime/src}/primitive/signal.ts (100%) create mode 100644 packages/@reflex/runtime/src/runtime.ts create mode 100644 plugins/@eslint/Readme.md create mode 100644 plugins/@eslint/eslint-plugin-forbidden-imports/Readme.md create mode 100644 plugins/@eslint/eslint-plugin-forbidden-imports/package.json create mode 100644 plugins/@eslint/eslint-plugin-forbidden-imports/src/index.ts create mode 100644 plugins/@eslint/eslint-plugin-forbidden-imports/src/rules/layer-boundaries.ts create mode 100644 plugins/@eslint/eslint-plugin-forbidden-imports/src/rules/no-internal-imports.ts create mode 100644 plugins/@eslint/eslint-plugin-forbidden-imports/tsconfig.json diff --git a/Readme.md b/Readme.md index 1faeca4..8abc853 100644 --- a/Readme.md +++ b/Readme.md @@ -6,188 +6,308 @@

Reflex

Universal Reactive Runtime

-

“Reactivity beyond the DOM — one core, any surface.”

+

“One contract. One core. Any surface.”

--- -## 🚀 Overview +## What Reflex Actually Is -Reflex is not just another UI framework. -It is a **general-purpose reactive runtime**: a lightweight ownership system, fine-grained signals, and a scheduler — independent of JSX or the DOM. +**Reflex is not a UI framework.** -Unlike React, Solid, or Vue, Reflex is not locked to the browser. You can render into **DOM, Canvas, WebGL, mobile bridges, or custom targets** — the runtime stays the same. UI is just one of many possible frontends. +Reflex is a **deterministic reactive computation engine** with ownership semantics, epoch-based time, and intrusive graph topology. -**Core idea:** One **Owner** per scope governs signals, effects, and components. Lifecycle, dependency tracking, and cleanup all go through it — no leaks, no zombie state. +It can drive: +- UI frameworks (DOM / Canvas / WebGL / Native) +- Simulation engines +- Reactive servers +- Dataflow pipelines +- Distributed systems +- Game engines +- Orchestration layers + +UI is just one possible **surface adapter** — not the core identity. --- -## ✨ Key Advantages - -- **Ownership as the Unit of Life** - Every signal, effect, or component belongs to an owner. Dispose of a scope → everything inside cleans up automatically. -- **Contextual Dependency Injection** - Context flows naturally down the ownership tree via prototype inheritance. No prop drilling, no manual context management. -- **Fine-Grained Signals** - Reactive primitives (`signal`, `derived`, `effect`) update only what actually changes. No re-rendering unnecessary nodes. -- **Coarse Transactions & Batching** - Batched updates, snapshots, and async-safe consistency for SSR, hydration, and streaming pipelines. -- **Universal Surfaces** - DOM, Canvas, WebGL, server pipelines, native UI — the runtime is agnostic. -- **Scheduler-Orchestrated Side Effects** - Timers, I/O, DOM patches, or workers run through a unified priority-based queue for smooth interactivity. -- **Lightweight & Fast** - Core size ~6 KB. Predictable scaling from micro widgets to massive app trees. +## Architecture + +### `@reflex/contract` + +Pure mathematical definitions. No logic. No runtime. + +Defines the **invariants** of the system: +- `NodeKind`, `LifeState`, `Epoch`, `OwnerId` +- `INode`, `ITemporalNode`, `IOwner` +- `IScheduler`, `IAllocator` +- Reactive graph contracts + +This layer is **frozen by design**. It defines what reality means in Reflex. + +### `@reflex/core` + +The actual engine: +- Ownership model (Owner Tree) +- Reactive DAG (signals → memos → effects) +- Epoch system (deterministic local time) +- Intrusive graph links (no adjacency arrays) +- Allocation strategies / pooling +- Dirty propagation +- Disposal algorithms +- Context prototype chain +- Event validation (epoch + version + life state) + +**No DOM. No JSX. No rendering. No browser assumptions.** + +Pure logic. + +### `@reflex/runtime` + +Surface implementations: +- DOM adapter +- Scheduler bindings +- Async bridges +- Server integration +- Worker / thread bridges +- Experimental modules + +Uses **only contracts + core**. Swappable. Extensible. --- -## 🧩 Architectural Layers +## Core Model -1. **Ownership Layer (Coarse)** +Reflex operates on **4 fundamental invariants**: - - Scopes, parent/child hierarchy, disposals. - - Lifecycle backbone: mount, unmount, cleanup. +1. **Ownership is the unit of life** — nothing exists without an owner +2. **Reactivity is a DAG, not a tree** — real topological ordering +3. **Time is local (Epochs), not global** — deterministic causality +4. **Nothing exists without a context** — no ambient globals -2. **Reactive Layer (Fine)** +When an owner dies → everything dies safely. No zombies. No leaks. No magical GC. - - Signals, computed values, DAG dependency graph. - - Minimal updates only where needed. +--- -3. **Orchestration Layer** +## Ownership Model - - Unified scheduler for effects, timers, I/O, and batching. - - Priorities, deadlines, cancellations. +``` +Root Owner +└─ App Owner + ├─ Graph Owner + │ ├─ Signal A + │ ├─ Computation B + │ └─ Effect C + └─ Feature Owner + └─ Async Effect +``` + +Every reactive node (signal, memo, effect, async callback) has an owner. -4. **Surface Layer (Optional)** - - DOM, Canvas, WebGL, mobile, or custom renderers. +Child owners inherit: +- Context +- Scheduling +- Lifetime guarantees + +`dispose(owner)` guarantees **deterministic cleanup** of the entire subgraph. --- -## 🔍 Ownership Flow +## Reactive Graph — Real DAG -**Owner Tree Example:** +Reflex builds an **intrusive directed acyclic graph**: ``` -App Owner (macro) -├─ Main Owner -│ ├─ Signal A → Memo 1 → Effect 1 -│ └─ Signal B → Memo 2 → Effect 2 -└─ Footer Owner - └─ Effect 3 +signal → memo → memo → effect + │ ↘ + └─────→ effect ``` -_Signals mark DAG nodes dirty, scheduler flushes only affected computations._ -_Dispose is iterative post-order: children first, then parent._ +- Intrusive links (no arrays) +- O(1) relinking / unlinking +- Deterministic execution order +- Lazy evaluation support +- Stable topology under concurrency + +Signals **do not notify**. They mark versions and propagate dirtiness. The scheduler decides when to execute. + +--- + +## Epoch System -**Dirty propagation:** +Reflex doesn't rely on JavaScript time. It uses **local epochs**. +Each node tracks: +```ts +epoch: number +version: number ``` -Signal A.set(99) - ↓ markDirty -Memo1 → dirty=true -Effect1 → scheduled run -Memo2 → unchanged + +When an event arrives: +```ts +{ target: Node, payload } + +1. Validate: + - LifeState alive? + - Owner exists? + - Local epoch valid? + - Version matches? + - Observers exist? + +2. Only then → apply mutation ``` +This makes Reflex **asynchronous-safe by construction**. No race conditions. No stale updates. + --- -## 🔍 Reflex vs Existing Frameworks +## Scheduler Model + +The scheduler is not a re-render loop. -| Capability | React / Solid | Reflex | -| -------------- | ------------------------- | ----------------------------------------- | -| **Core Model** | Component-centric | Ownership-centric (scopes as first-class) | -| **Reactivity** | Hooks / signals (UI only) | Signals for any domain, not tied to UI | -| **Lifecycle** | Hooks / cleanup | Hierarchical ownership + dispose batch | -| **Context** | Context API | Prototype inheritance per scope | -| **Rendering** | DOM-bound | DOM, Canvas, WebGL, native, server | -| **Scheduling** | Fiber (UI only) | General-purpose priority-based scheduler | -| **Philosophy** | UI framework | Universal reactive runtime | +It's a **universal task orchestrator**: +- Effects +- Async callbacks +- DOM patches +- Worker communication +- IO operations +- Microtasks / macrotasks + +Designed for: +- Priority queues +- Frame-based batching +- Deadline-aware scheduling +- Backpressure handling +- Cooperative yielding + +Closer to an **OS microkernel** than React Fiber. --- -## 📦 Getting Started +## Context System + +Contexts use **prototype inheritance**, not maps: -```bash -npm install @reflex/core +```ts +ChildOwner.context = Object.create(ParentOwner.context) ``` -**Basic Signal Example:** +Benefits: +- O(1) lookup +- Zero registration overhead +- No provider boilerplate +- Fully deterministic +- Instant propagation + +Real lexical scoping — not React's simulated version. + +--- + +## Example ```ts -import { signal, derived, effect } from "@reflex/core.js"; +import { signal, derived, effect, createScope } from "@reflex/core"; + +createScope(() => { + const count = signal(0); + const double = derived(() => count.value * 2); -const count = signal(0); -const doubled = derived(() => count.value * 2); + effect(() => { + console.log(count.value, double.value); + }); -effect(() => { - console.log(`Count=${count.value}, Double=${doubled.value}`); + count.value = 5; }); - -count.value++; // logs instantly ``` -**DOM Example (optional surface binding):** +When the scope ends → automatic cleanup. No manual teardown needed. + +--- + +## Optional DOM Surface ```tsx -import { signal, render } from "@reflex/core/dom.js"; +import { signal, render } from "@reflex/runtime/dom"; function Counter() { const count = signal(0); - return ; + return ( + + ); } render(, document.getElementById("app")); ``` ---- +DOM is **one renderer** among many. Bind Reflex to: +- Canvas / WebGL +- Terminal (TTY) +- Audio graph +- Server nodes +- Unreal / Unity +- AI simulations +- WASM / embedded systems -## 🧠 Why Reflex? +--- -A **reflex** is an immediate response to a stimulus. -Reflex delivers **instant, precise state propagation**, independent of UI layers, with lifecycle and scheduling baked in. +## Comparison -**Owner mantra:** +| System | Core Identity | +|--------|---------------| +| React | UI renderer + state manager | +| Solid | UI reactivity wrapper | +| Vue | UI + templating runtime | +| RxJS | Stream / event library | +| **Reflex** | **General-purpose computation engine** | -> _"Owner knows its children, marks dirty, and batch-cleans everything."_ +React thinks in **components**. +Reflex thinks in **causality graphs**. --- -## ⚡ Internal API Highlights +## Why This Matters -| User API | Internal Owner API | Description | -| ------------------- | --------------------------------------- | -------------------------------- | -| `useState(initial)` | `createSignal(initial)` | Fine-grained reactive value | -| `useEffect(fn)` | `createEffect(() => fn(), autoCleanup)` | Auto-tracked, runs on dirty | -| `useMemo(fn)` | `createMemo(fn)` | Computed, lazy, dependency-aware | -| `useContext(MyCtx)` | `owner._context?.MyCtx` | Prototype-inherited context | -| `onMount(fn)` | `_onScopeMount(fn)` | Called after scope creation | -| `onUnmount(fn)` | `_onCleanup(fn)` | Cleanup on dispose | +Reflex solves by construction: +- Memory leaks +- Async race corruption +- Zombie updates +- Invalid state replay +- Uncontrolled side effects +- Broken teardown in concurrency -**Lifecycle Flow:** +Because it's built on: +- Ownership semantics +- Epoch validation +- Topological ordering +- Mathematical invariants -``` -createScope(App) - ↓ currentOwner = App - createSignal(A) - ↓ _owner = App - A.set(val) - ↓ DAG runs - dispose App - ↓ iterative batch cleanup -``` +This is **physics and mathematics** applied to computation. --- -## 📚 Resources +## Roadmap -- Documentation (coming soon): [reflex.dev/docs](https://reflex.dev/docs) -- GitHub: [github.com/reflex-ui/core](https://github.com/reflex-ui/core) -- Community: [X](https://x.com/reflex_ui) • Discord +- ✅ Contract-core separation +- ✅ Intrusive DAG +- ✅ Epoch & validation +- ✅ Ownership GC +- ✅ Scheduler foundation +- 🔄 Runtime adapters +- 🔄 Devtools & visualizer +- 🔄 Persistence layer +- 🔄 Distributed graph support +- 🔄 WASM / Rust kernel --- -## 🏁 License +## Philosophy + +> "Do not re-render reality. +> Change only what actually changes." + +--- -MIT License © 2025 Andrii Volynets +## License - +MIT © 2025 Andrii Volynets \ No newline at end of file diff --git a/packages/@reflex/contract/CONTRACTS.md b/packages/@reflex/contract/CONTRACTS.md new file mode 100644 index 0000000..f85a696 --- /dev/null +++ b/packages/@reflex/contract/CONTRACTS.md @@ -0,0 +1,149 @@ +# Reflex Contracts + +This document describes the **contracts and invariants** defined in `@reflex/contract`. +They specify _what must hold_ in a Reflex runtime, independently of any particular implementation. + +## 1. Time & Scheduling + +### Types + +- `Task = () => void` — a unit of work scheduled by the runtime +- `Epoch = number` — logical time, local to the runtime + +### Interfaces + +- `IScheduler` + - `schedule(task: Task): void` + - Must enqueue the task for execution (immediately or later) + - Must be non-blocking for valid tasks + +- `ITemporalScheduler extends IScheduler` + - `readonly epoch: Epoch` + - `nextEpoch(): void` + - Invariant: `epoch` is monotonically increasing + +## 2. Allocation + +- `IAllocator` + - `create(): T` — returns a fresh instance + - `destroy(node: T): void` — node is considered invalid after this call + +No pooling or GC policy is defined at this level. + +## 3. Graph / Causality + +- `IGraph` + - `link(source: N, target: N): void` + - `unlink(source: N, target: N): void` + - `sources(node: N): Iterable` + - `targets(node: N): Iterable` + +Interpretation: + +- `source → target` means “target depends on source” +- `sources(node)` are upstream dependencies +- `targets(node)` are downstream dependents + +Invariants: + +- `link()` must be idempotent for the same pair +- `sources(node)` and `targets(node)` must not include `node` itself + +## 4. Runtime Container + +- `IRuntime` + - `readonly scheduler: IScheduler | ITemporalScheduler` + - `readonly allocator: IAllocator` + - `readonly graph: IGraph` + +- `IRuntimeCallable` + - `(action: (runtime: IRuntime) => T): T` + +This layer defines **what a minimal execution environment provides**: +scheduling, allocation, and causality graph. + +## 5. Ownership & Lifetime + +### Types + +- `OwnerId = number` +- `LifeState` + - `CREATED → ATTACHED | ACTIVE` + - `ATTACHED → ACTIVE | DISPOSING` + - `ACTIVE → DISPOSING` + - `DISPOSING → DISPOSED` + - `DISPOSED` is terminal + +### Lifetime + +- `ILifetime` + - `createdAt: Epoch` + - `updatedAt: Epoch` + - `disposedAt: Epoch | null` + +Invariants: + +- `createdAt <= updatedAt` +- If `disposedAt != null` then `disposedAt >= updatedAt` +- After final disposal, `updatedAt === disposedAt` + +### Owned / Owner + +- `IOwned` + - `readonly owner: IOwner | null` + - `readonly state: LifeState` + - `attach(owner: IOwner): void` + - `detach(): void` + - `dispose(): void` (idempotent) + +Invariants: + +- A node has at most one owner at a time +- If `owner !== null`, then `owner.children` must contain this node +- `dispose()` must eventually drive `state` to `DISPOSED` + +- `IOwner extends IOwned` + - `readonly id: OwnerId` + - `readonly children: ReadonlySet` + - `adopt(node: IOwned): void` + - `release(node: IOwned): void` + +Ownership invariants: + +- Ownership forms a tree (no cycles) +- After `adopt(node)`: + - `node.owner === this` + - `children` contains `node` +- After `release(node)` when `node.owner === this`: + - `node.owner === null` + - `children` no longer contains `node` + +### Cascading Disposal + +- `ICascading` + - `cascadeDispose(): void` + +- `ICascadingOwner extends IOwner, ICascading` + +Invariants: + +- After `cascadeDispose()`: + - `children` should be empty + - all previously owned nodes must be in `DISPOSING` or `DISPOSED` state +- Calling `dispose()` on an `ICascadingOwner` must eventually cascade to all descendants + +### Temporal Nodes + +- `ITemporalNode extends IOwned, ILifetime` + +Invariants: + +- All lifetime and ownership invariants must hold simultaneously + +--- + +With this contract layer in place: + +- `@reflex/core` implements **how** these contracts are realized (intrusive lists, pools, DAG, etc.). +- `@reflex/runtime` chooses policies (schedulers, epochs, modes). +- Your public `reflex` package re-exports only the safe, high-level API. diff --git a/packages/@reflex/contract/src/index.ts b/packages/@reflex/contract/src/index.ts new file mode 100644 index 0000000..a67a48c --- /dev/null +++ b/packages/@reflex/contract/src/index.ts @@ -0,0 +1,84 @@ +export type Task = () => void; +export type Epoch = number; +export type OwnerId = number; + +export const enum NodeKind { + OWNER = 1 << 0, + SIGNAL = 1 << 1, + COMPUTATION = 1 << 2, + EFFECT = 1 << 3, +} + +export const enum LifeState { + CREATED = 0, + ATTACHED = 1, + ACTIVE = 2, + DISPOSING = 3, + DISPOSED = 4, +} + +export interface IScheduler { + schedule(task: Task): void; +} + +export interface ITemporalScheduler extends IScheduler { + readonly epoch: Epoch; + nextEpoch(): void; +} + +export interface IAllocator { + create(): N; + destroy(node: N): void; +} + +export interface IGraph { + link(source: N, target: N): void; + unlink(source: N, target: N): void; + + sources(node: N): Iterable; + targets(node: N): Iterable; +} + +export interface IRuntime { + readonly scheduler: IScheduler | ITemporalScheduler; + readonly allocator: IAllocator; + readonly graph: IGraph; +} + +export interface IRuntimeCallable { + (fn: (rt: IRuntime) => T): T; +} + +export interface INode { + readonly id: number; + readonly kind: NodeKind; +} + +export interface IOwned extends INode { + readonly owner: IOwner | null; + readonly state: LifeState; + + attach(owner: IOwner): void; + detach(): void; + dispose(): void; +} + +export interface IOwner extends IOwned { + readonly id: OwnerId; + children(): Iterable; + + adopt(node: IOwned): void; + release(node: IOwned): void; +} + +export interface ICascading { + cascadeDispose(): void; +} + +export interface ICascadingOwner extends IOwner, ICascading {} + +export interface ITemporalNode extends IOwned { + readonly createdAt: Epoch; + readonly updatedAt: Epoch; + readonly disposedAt: Epoch | null; +} diff --git a/packages/@reflex/contract/tsconfig.build.json b/packages/@reflex/contract/tsconfig.build.json new file mode 100644 index 0000000..c5b8493 --- /dev/null +++ b/packages/@reflex/contract/tsconfig.build.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "ESNext", + + "lib": [ + "ES2020", + "DOM", + "DOM.Iterable" + ], + + "declaration": true, + "emitDeclarationOnly": false, + "outDir": "dist", + "rootDir": "src", + + "strict": true, + "skipLibCheck": true + }, + "include": ["src"] +} diff --git a/packages/@reflex/contract/vite.config.ts b/packages/@reflex/contract/vite.config.ts new file mode 100644 index 0000000..1af6a99 --- /dev/null +++ b/packages/@reflex/contract/vite.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from "vite" + +export default defineConfig(({ mode }) => { + return { + define: { + __REFLEX_MODE__: JSON.stringify(mode), + }, + } +}) diff --git a/packages/@reflex/core/src/core/README.md b/packages/@reflex/core/src/README.md similarity index 100% rename from packages/@reflex/core/src/core/README.md rename to packages/@reflex/core/src/README.md diff --git a/packages/@reflex/core/src/core/collections/README.md b/packages/@reflex/core/src/collections/README.md similarity index 100% rename from packages/@reflex/core/src/core/collections/README.md rename to packages/@reflex/core/src/collections/README.md diff --git a/packages/@reflex/core/src/core/collections/unrolled-queue.ts b/packages/@reflex/core/src/collections/unrolled-queue.ts similarity index 99% rename from packages/@reflex/core/src/core/collections/unrolled-queue.ts rename to packages/@reflex/core/src/collections/unrolled-queue.ts index ba7981b..5395454 100644 --- a/packages/@reflex/core/src/core/collections/unrolled-queue.ts +++ b/packages/@reflex/core/src/collections/unrolled-queue.ts @@ -64,7 +64,7 @@ * - Stable memory footprint (≈5–20 MB depending on pool) */ -import { __assert } from "../object/utils/assert" +import { __assert } from "../object/utils/assert"; type Nullable = T | null; @@ -277,6 +277,7 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { let count = 0; while (this.#length !== 0) { const t = this.#tail; + while (t.length !== 0) { const val = t.dequeue()!; callback(val); diff --git a/packages/@reflex/core/src/core/index.ts b/packages/@reflex/core/src/core/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/packages/@reflex/core/src/core/graph/Readme.md b/packages/@reflex/core/src/graph/Readme.md similarity index 100% rename from packages/@reflex/core/src/core/graph/Readme.md rename to packages/@reflex/core/src/graph/Readme.md diff --git a/packages/@reflex/core/src/core/graph/graph.node.ts b/packages/@reflex/core/src/graph/graph.node.ts similarity index 87% rename from packages/@reflex/core/src/core/graph/graph.node.ts rename to packages/@reflex/core/src/graph/graph.node.ts index f4af8fb..01f6cb2 100644 --- a/packages/@reflex/core/src/core/graph/graph.node.ts +++ b/packages/@reflex/core/src/graph/graph.node.ts @@ -1,5 +1,5 @@ import { BitMask } from "../object/utils/bitwise"; -import { CLEAN, COUNTER_CELLS_LENGTH, DIRTY } from "./utils/graph.constants"; +import { CLEAN, COUNTER_CELLS_LENGTH, DIRTY } from "./process/graph.constants"; class GraphNode { _firstSource: GraphNode | null = null; diff --git a/packages/@reflex/core/src/core/graph/graph.types.ts b/packages/@reflex/core/src/graph/graph.types.ts similarity index 100% rename from packages/@reflex/core/src/core/graph/graph.types.ts rename to packages/@reflex/core/src/graph/graph.types.ts diff --git a/packages/@reflex/core/src/core/graph/utils/graph.constants.ts b/packages/@reflex/core/src/graph/process/graph.constants.ts similarity index 100% rename from packages/@reflex/core/src/core/graph/utils/graph.constants.ts rename to packages/@reflex/core/src/graph/process/graph.constants.ts diff --git a/packages/@reflex/core/src/core/graph/utils/graph.intrusive.ts b/packages/@reflex/core/src/graph/process/graph.intrusive.ts similarity index 100% rename from packages/@reflex/core/src/core/graph/utils/graph.intrusive.ts rename to packages/@reflex/core/src/graph/process/graph.intrusive.ts diff --git a/packages/@reflex/core/src/core/graph/utils/graph.linker.ts b/packages/@reflex/core/src/graph/process/graph.linker.ts similarity index 100% rename from packages/@reflex/core/src/core/graph/utils/graph.linker.ts rename to packages/@reflex/core/src/graph/process/graph.linker.ts diff --git a/packages/@reflex/core/src/core/graph/utils/graph.operations.ts b/packages/@reflex/core/src/graph/process/graph.operations.ts similarity index 100% rename from packages/@reflex/core/src/core/graph/utils/graph.operations.ts rename to packages/@reflex/core/src/graph/process/graph.operations.ts diff --git a/packages/@reflex/core/src/core/object/README.md b/packages/@reflex/core/src/object/README.md similarity index 100% rename from packages/@reflex/core/src/core/object/README.md rename to packages/@reflex/core/src/object/README.md diff --git a/packages/@reflex/core/src/core/object/object.dispose.ts b/packages/@reflex/core/src/object/object.dispose.ts similarity index 100% rename from packages/@reflex/core/src/core/object/object.dispose.ts rename to packages/@reflex/core/src/object/object.dispose.ts diff --git a/packages/@reflex/core/src/core/object/object.inherit.ts b/packages/@reflex/core/src/object/object.inherit.ts similarity index 100% rename from packages/@reflex/core/src/core/object/object.inherit.ts rename to packages/@reflex/core/src/object/object.inherit.ts diff --git a/packages/@reflex/core/src/core/object/utils/assert.ts b/packages/@reflex/core/src/object/utils/assert.ts similarity index 100% rename from packages/@reflex/core/src/core/object/utils/assert.ts rename to packages/@reflex/core/src/object/utils/assert.ts diff --git a/packages/@reflex/core/src/core/object/utils/bitwise.ts b/packages/@reflex/core/src/object/utils/bitwise.ts similarity index 100% rename from packages/@reflex/core/src/core/object/utils/bitwise.ts rename to packages/@reflex/core/src/object/utils/bitwise.ts diff --git a/packages/@reflex/core/src/core/ownership/Readme.md b/packages/@reflex/core/src/ownership/Readme.md similarity index 100% rename from packages/@reflex/core/src/core/ownership/Readme.md rename to packages/@reflex/core/src/ownership/Readme.md diff --git a/packages/@reflex/core/src/core/ownership/ownership.core.ts b/packages/@reflex/core/src/ownership/ownership.core.ts similarity index 84% rename from packages/@reflex/core/src/core/ownership/ownership.core.ts rename to packages/@reflex/core/src/ownership/ownership.core.ts index 737a8d6..904ea4e 100644 --- a/packages/@reflex/core/src/core/ownership/ownership.core.ts +++ b/packages/@reflex/core/src/ownership/ownership.core.ts @@ -1,5 +1,5 @@ -import { OwnershipNode } from "./ownership.node" -import { IOwnership } from "./ownership.type" +import { OwnershipNode } from "./ownership.node"; +import { IOwnership } from "./ownership.type"; /** * createOwner: Factory for creating ownership nodes. diff --git a/packages/@reflex/core/src/core/ownership/ownership.error.ts b/packages/@reflex/core/src/ownership/ownership.error.ts similarity index 100% rename from packages/@reflex/core/src/core/ownership/ownership.error.ts rename to packages/@reflex/core/src/ownership/ownership.error.ts diff --git a/packages/@reflex/core/src/core/ownership/ownership.node.ts b/packages/@reflex/core/src/ownership/ownership.node.ts similarity index 100% rename from packages/@reflex/core/src/core/ownership/ownership.node.ts rename to packages/@reflex/core/src/ownership/ownership.node.ts diff --git a/packages/@reflex/core/src/core/ownership/ownership.scope.ts b/packages/@reflex/core/src/ownership/ownership.scope.ts similarity index 100% rename from packages/@reflex/core/src/core/ownership/ownership.scope.ts rename to packages/@reflex/core/src/ownership/ownership.scope.ts diff --git a/packages/@reflex/core/src/core/ownership/ownership.type.ts b/packages/@reflex/core/src/ownership/ownership.type.ts similarity index 100% rename from packages/@reflex/core/src/core/ownership/ownership.type.ts rename to packages/@reflex/core/src/ownership/ownership.type.ts diff --git a/packages/@reflex/core/tests/collections/unrolled-queue.bench.ts b/packages/@reflex/core/tests/collections/unrolled-queue.bench.ts index 9f1a891..1b231f1 100644 --- a/packages/@reflex/core/tests/collections/unrolled-queue.bench.ts +++ b/packages/@reflex/core/tests/collections/unrolled-queue.bench.ts @@ -1,5 +1,5 @@ import { bench, describe } from "vitest"; -import { UnrolledQueue } from "../../src/core/collections/unrolled-queue"; +import { UnrolledQueue } from "../../src/collections/unrolled-queue"; describe("UnrolledQueue — Microbench", () => { const N = 200_000; diff --git a/packages/@reflex/core/tests/collections/unrolled-queue.stress.bench.ts b/packages/@reflex/core/tests/collections/unrolled-queue.stress.bench.ts index 4bd7f12..8a00b45 100644 --- a/packages/@reflex/core/tests/collections/unrolled-queue.stress.bench.ts +++ b/packages/@reflex/core/tests/collections/unrolled-queue.stress.bench.ts @@ -22,7 +22,7 @@ import { bench, describe } from "vitest"; import { performance } from "node:perf_hooks"; -import { UnrolledQueue } from "../../src/core/collections/unrolled-queue"; +import { UnrolledQueue } from "../../src/collections/unrolled-queue"; interface BenchOptions { ops: number; diff --git a/packages/@reflex/core/tests/graph/graph.bench.ts b/packages/@reflex/core/tests/graph/graph.bench.ts index 9c01bda..7445937 100644 --- a/packages/@reflex/core/tests/graph/graph.bench.ts +++ b/packages/@reflex/core/tests/graph/graph.bench.ts @@ -3,9 +3,9 @@ import { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, unlinkAllObserversUnsafe, -} from "../../src/core/graph/utils/graph.intrusive"; -import { linkEdge, unlinkEdge } from "../../src/core/graph/utils/graph.linker"; -import { IReactiveNode, GraphNode } from "../../src/core/graph/graph.node"; +} from "../../src/graph/process/graph.intrusive"; +import { linkEdge, unlinkEdge } from "../../src/graph/process/graph.linker"; +import { IReactiveNode, GraphNode } from "../../src/graph/graph.node"; function makeNode(): IReactiveNode { return new GraphNode(); diff --git a/packages/@reflex/core/tests/ownership/ownership.bench.ts b/packages/@reflex/core/tests/ownership/ownership.bench.ts index f20f040..a071175 100644 --- a/packages/@reflex/core/tests/ownership/ownership.bench.ts +++ b/packages/@reflex/core/tests/ownership/ownership.bench.ts @@ -1,5 +1,5 @@ import { bench, describe } from "vitest"; -import { createOwner } from "../../src/core/ownership/ownership.core"; +import { createOwner } from "../../src/ownership/ownership.core"; /** * Ownership System Microbenchmarks diff --git a/packages/@reflex/core/tests/ownership/ownership.run.ts b/packages/@reflex/core/tests/ownership/ownership.run.ts index e2e2a61..2efa204 100644 --- a/packages/@reflex/core/tests/ownership/ownership.run.ts +++ b/packages/@reflex/core/tests/ownership/ownership.run.ts @@ -3,7 +3,7 @@ // Запускается через: // pnpm exec 0x -- node --require ts-node/register/transpile-only tests/ownership.run.ts -import { createOwner } from "../../src/core/ownership/ownership.core" +import { createOwner } from "../../src/ownership/ownership.core" function build1m() { const root = createOwner(); diff --git a/packages/@reflex/core/vite.config.ts b/packages/@reflex/core/vite.config.ts new file mode 100644 index 0000000..6150f9a --- /dev/null +++ b/packages/@reflex/core/vite.config.ts @@ -0,0 +1,3 @@ +import { defineConfig } from "vite"; + +export default defineConfig({}); diff --git a/packages/@reflex/core/src/runtime/README.md b/packages/@reflex/runtime/src/README.md similarity index 100% rename from packages/@reflex/core/src/runtime/README.md rename to packages/@reflex/runtime/src/README.md diff --git a/packages/@reflex/core/src/runtime/execution/context.scope.ts b/packages/@reflex/runtime/src/execution/context.scope.ts similarity index 100% rename from packages/@reflex/core/src/runtime/execution/context.scope.ts rename to packages/@reflex/runtime/src/execution/context.scope.ts diff --git a/packages/@reflex/core/src/runtime/execution/context.stack.ts b/packages/@reflex/runtime/src/execution/context.stack.ts similarity index 100% rename from packages/@reflex/core/src/runtime/execution/context.stack.ts rename to packages/@reflex/runtime/src/execution/context.stack.ts diff --git a/packages/@reflex/core/src/runtime/index.runtime.ts b/packages/@reflex/runtime/src/index.runtime.ts similarity index 100% rename from packages/@reflex/core/src/runtime/index.runtime.ts rename to packages/@reflex/runtime/src/index.runtime.ts diff --git a/packages/@reflex/core/src/runtime/primitive/computed.ts b/packages/@reflex/runtime/src/primitive/computed.ts similarity index 100% rename from packages/@reflex/core/src/runtime/primitive/computed.ts rename to packages/@reflex/runtime/src/primitive/computed.ts diff --git a/packages/@reflex/core/src/runtime/primitive/effect.ts b/packages/@reflex/runtime/src/primitive/effect.ts similarity index 100% rename from packages/@reflex/core/src/runtime/primitive/effect.ts rename to packages/@reflex/runtime/src/primitive/effect.ts diff --git a/packages/@reflex/core/src/runtime/primitive/signal.ts b/packages/@reflex/runtime/src/primitive/signal.ts similarity index 100% rename from packages/@reflex/core/src/runtime/primitive/signal.ts rename to packages/@reflex/runtime/src/primitive/signal.ts diff --git a/packages/@reflex/runtime/src/runtime.ts b/packages/@reflex/runtime/src/runtime.ts new file mode 100644 index 0000000..4c1a6b5 --- /dev/null +++ b/packages/@reflex/runtime/src/runtime.ts @@ -0,0 +1,15 @@ +import { + IRuntime, + IScheduler, + IAllocator, + IGraph, + INode, +} from "@reflex/contract"; + +export class Runtime implements IRuntime { + constructor( + public readonly scheduler: IScheduler, + public readonly allocator: IAllocator, + public readonly graph: IGraph, + ) {} +} diff --git a/plugins/@eslint/Readme.md b/plugins/@eslint/Readme.md new file mode 100644 index 0000000..474ac53 --- /dev/null +++ b/plugins/@eslint/Readme.md @@ -0,0 +1,132 @@ +# @reflex/eslint-plugin-forbidden-imports + +> Prevents direct usage of internal `@reflex/*` packages outside the Reflex core. + +This ESLint plugin enforces **architectural boundaries** of the Reflex ecosystem by forbidding imports from internal packages (`@reflex/*`) in application-level code. + +It is designed as a **soft but strict guardrail** that: + +- Keeps the public API clean (`reflex`, `reflex-dom`) +- Prevents accidental coupling with internals +- Preserves architectural discipline +- Supports layered system design + +If you want advanced access – you should **know exactly why** you need it. + +--- + +## 🚫 What is forbidden? + +```ts +import { createSignal } from "@reflex/core"; // ❌ forbidden +import { createUniverse } from "@reflex/runtime"; // ❌ forbidden +import type { IOwner } from "@reflex/contract"; // ❌ forbidden +``` + +Allowed usage: + +```ts +import { createSignal } from "reflex"; // ✅ OK +import { render } from "reflex-dom"; // ✅ OK +``` + +Imports from `@reflex/*` are allowed **only** inside Reflex internal packages: + +- `packages/@reflex/**` +- `packages/reflex/**` +- `plugins/**` +- `theory/**` + +Everywhere else — blocked. + +--- + +## 📦 Installation + +From the root of your monorepo: + +```bash +pnpm add -D ./plugins/forbidden-imports +``` + +Or when published: + +```bash +pnpm add -D @reflex/eslint-plugin-forbidden-imports +``` + +--- + +## 🔧 Usage + +In your root `.eslintrc.cjs`: + +```js +module.exports = { + plugins: ["forbidden-imports"], + rules: { + "forbidden-imports/forbidden-imports": "error", + }, +}; +``` + +Now if someone writes: + +```ts +import { something } from "@reflex/core"; +``` + +They will get: + +> ❌ Internal import '@reflex/core' is forbidden here. Use 'reflex' or 'reflex-dom' instead. + +--- + +## 🧠 Why this exists + +Reflex is designed as a **layered runtime system**: + +``` +Application → reflex → @reflex/core → @reflex/runtime → @reflex/contract +``` + +Only the public surface (`reflex`, `reflex-dom`) should be used by applications. + +This plugin exists to: + +- Protect runtime invariants +- Avoid experimental APIs leaking into apps +- Keep mental models clean for new developers +- Enforce system boundaries at scale + +It is **not** about hierarchy or control. +It is about **system integrity**. + +--- + +## 🧬 Philosophy + +> In Reflex, architecture is not a suggestion. +> It is a **law of the universe**. + +This plugin is one of those laws. + +No `__DEV__`. +No build-time hacks. + +Just a clear semantic boundary — enforced. + +--- + +## 🔮 Future rules (planned) + +This plugin may later include: + +- `no-owner-mutation-inside-effect` +- `no-graph-mutation-outside-runtime` +- `no-cross-epoch-side-effects` +- `atomic-only-in-batch` +- `no-illegal-scheduler-usage` + +In other words: +**Static enforcement of the Theory of Reactivity**. diff --git a/plugins/@eslint/eslint-plugin-forbidden-imports/Readme.md b/plugins/@eslint/eslint-plugin-forbidden-imports/Readme.md new file mode 100644 index 0000000..474ac53 --- /dev/null +++ b/plugins/@eslint/eslint-plugin-forbidden-imports/Readme.md @@ -0,0 +1,132 @@ +# @reflex/eslint-plugin-forbidden-imports + +> Prevents direct usage of internal `@reflex/*` packages outside the Reflex core. + +This ESLint plugin enforces **architectural boundaries** of the Reflex ecosystem by forbidding imports from internal packages (`@reflex/*`) in application-level code. + +It is designed as a **soft but strict guardrail** that: + +- Keeps the public API clean (`reflex`, `reflex-dom`) +- Prevents accidental coupling with internals +- Preserves architectural discipline +- Supports layered system design + +If you want advanced access – you should **know exactly why** you need it. + +--- + +## 🚫 What is forbidden? + +```ts +import { createSignal } from "@reflex/core"; // ❌ forbidden +import { createUniverse } from "@reflex/runtime"; // ❌ forbidden +import type { IOwner } from "@reflex/contract"; // ❌ forbidden +``` + +Allowed usage: + +```ts +import { createSignal } from "reflex"; // ✅ OK +import { render } from "reflex-dom"; // ✅ OK +``` + +Imports from `@reflex/*` are allowed **only** inside Reflex internal packages: + +- `packages/@reflex/**` +- `packages/reflex/**` +- `plugins/**` +- `theory/**` + +Everywhere else — blocked. + +--- + +## 📦 Installation + +From the root of your monorepo: + +```bash +pnpm add -D ./plugins/forbidden-imports +``` + +Or when published: + +```bash +pnpm add -D @reflex/eslint-plugin-forbidden-imports +``` + +--- + +## 🔧 Usage + +In your root `.eslintrc.cjs`: + +```js +module.exports = { + plugins: ["forbidden-imports"], + rules: { + "forbidden-imports/forbidden-imports": "error", + }, +}; +``` + +Now if someone writes: + +```ts +import { something } from "@reflex/core"; +``` + +They will get: + +> ❌ Internal import '@reflex/core' is forbidden here. Use 'reflex' or 'reflex-dom' instead. + +--- + +## 🧠 Why this exists + +Reflex is designed as a **layered runtime system**: + +``` +Application → reflex → @reflex/core → @reflex/runtime → @reflex/contract +``` + +Only the public surface (`reflex`, `reflex-dom`) should be used by applications. + +This plugin exists to: + +- Protect runtime invariants +- Avoid experimental APIs leaking into apps +- Keep mental models clean for new developers +- Enforce system boundaries at scale + +It is **not** about hierarchy or control. +It is about **system integrity**. + +--- + +## 🧬 Philosophy + +> In Reflex, architecture is not a suggestion. +> It is a **law of the universe**. + +This plugin is one of those laws. + +No `__DEV__`. +No build-time hacks. + +Just a clear semantic boundary — enforced. + +--- + +## 🔮 Future rules (planned) + +This plugin may later include: + +- `no-owner-mutation-inside-effect` +- `no-graph-mutation-outside-runtime` +- `no-cross-epoch-side-effects` +- `atomic-only-in-batch` +- `no-illegal-scheduler-usage` + +In other words: +**Static enforcement of the Theory of Reactivity**. diff --git a/plugins/@eslint/eslint-plugin-forbidden-imports/package.json b/plugins/@eslint/eslint-plugin-forbidden-imports/package.json new file mode 100644 index 0000000..71c7bce --- /dev/null +++ b/plugins/@eslint/eslint-plugin-forbidden-imports/package.json @@ -0,0 +1,19 @@ +{ + "name": "@reflex/eslint-plugin-forbidden-imports", + "version": "0.1.0", + "description": "Prevents direct imports from @reflex/* in application code", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "tsc" + }, + "peerDependencies": { + "eslint": "^8.0.0" + }, + "devDependencies": { + "@types/estree": "^1.0.8" + } +} diff --git a/plugins/@eslint/eslint-plugin-forbidden-imports/src/index.ts b/plugins/@eslint/eslint-plugin-forbidden-imports/src/index.ts new file mode 100644 index 0000000..ab95cc6 --- /dev/null +++ b/plugins/@eslint/eslint-plugin-forbidden-imports/src/index.ts @@ -0,0 +1,17 @@ +import noInternalImports from "./rules/no-internal-imports"; +import layerBoundaries from "./rules/layer-boundaries"; + +export const rules = { + "no-internal-imports": noInternalImports, + "layer-boundaries": layerBoundaries, +}; + +export const configs = { + recommended: { + plugins: ["@reflex"], + rules: { + "@reflex/no-internal-imports": "error", + "@reflex/layer-boundaries": "error", + }, + }, +}; diff --git a/plugins/@eslint/eslint-plugin-forbidden-imports/src/rules/layer-boundaries.ts b/plugins/@eslint/eslint-plugin-forbidden-imports/src/rules/layer-boundaries.ts new file mode 100644 index 0000000..a41fa6f --- /dev/null +++ b/plugins/@eslint/eslint-plugin-forbidden-imports/src/rules/layer-boundaries.ts @@ -0,0 +1,54 @@ +import type { Rule } from "eslint"; +import type { ImportDeclaration } from "estree"; + +const rule: Rule.RuleModule = { + meta: { + type: "problem", + docs: { + description: "Enforce Reflex layer boundaries", + recommended: true, + }, + messages: { + boundary: "Illegal import from '{{to}}' in layer '{{from}}'.", + }, + schema: [], + }, + + create(context) { + const filename = context.filename; + + const isApp = filename.includes("/apps/"); + const isPublicPkg = filename.includes("/packages/reflex"); + const isInternal = filename.includes("/packages/@reflex/"); + + return { + ImportDeclaration(node) { + const source = (node as ImportDeclaration).source.value; + if (typeof source !== "string") return; + + // apps can only import reflex / reflex-dom + if (isApp && source.startsWith("@reflex/")) { + context.report({ + node, + messageId: "boundary", + data: { from: "app", to: source }, + }); + } + + // public package can't import internal (except types maybe later) + if (isPublicPkg && source.startsWith("@reflex/")) { + context.report({ + node, + messageId: "boundary", + data: { from: "reflex", to: source }, + }); + } + + // internal can do anything + if (isInternal) return; + }, + }; + }, +}; + +export default rule; diff --git a/plugins/@eslint/eslint-plugin-forbidden-imports/src/rules/no-internal-imports.ts b/plugins/@eslint/eslint-plugin-forbidden-imports/src/rules/no-internal-imports.ts new file mode 100644 index 0000000..698e58c --- /dev/null +++ b/plugins/@eslint/eslint-plugin-forbidden-imports/src/rules/no-internal-imports.ts @@ -0,0 +1,41 @@ +import type { Rule } from "eslint"; +import type { ImportDeclaration } from "estree"; + +const rule: Rule.RuleModule = { + meta: { + type: "problem", + docs: { + description: "Disallow direct imports from @reflex/*", + recommended: true, + }, + messages: { + forbidden: + "Do not import from {{name}}. Use 'reflex' or 'reflex-dom' instead.", + }, + schema: [], + }, + + create(context) { + return { + ImportDeclaration(node) { + const source = (node as ImportDeclaration).source.value; + + if (typeof source !== "string") return; + + // allow inside @reflex packages themselves + const filename = context.filename; + if (filename.includes("/packages/@reflex/")) return; + + if (source.startsWith("@reflex/")) { + context.report({ + node, + messageId: "forbidden", + data: { name: source }, + }); + } + }, + }; + }, +}; + +export default rule; diff --git a/plugins/@eslint/eslint-plugin-forbidden-imports/tsconfig.json b/plugins/@eslint/eslint-plugin-forbidden-imports/tsconfig.json new file mode 100644 index 0000000..c2ff8e2 --- /dev/null +++ b/plugins/@eslint/eslint-plugin-forbidden-imports/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "declaration": true, + "module": "ESNext", + "target": "ES2020", + "moduleResolution": "Node", + "esModuleInterop": true, + "strict": true + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f652b14..9f80036 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,17 +7,13 @@ settings: importers: .: - dependencies: - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@24.9.1)(typescript@5.9.3) devDependencies: 0x: specifier: ^6.0.0 version: 6.0.0 '@changesets/cli': specifier: ^2.27.0 - version: 2.29.7(@types/node@24.9.1) + version: 2.29.7(@types/node@24.10.1) '@eslint/js': specifier: ^9.0.0 version: 9.39.1 @@ -33,6 +29,9 @@ importers: prettier: specifier: ^3.3.0 version: 3.6.2 + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@24.10.1)(typescript@5.9.3) typescript: specifier: ^5.6.0 version: 5.9.3 @@ -41,22 +40,49 @@ importers: version: 8.46.4(eslint@9.39.1)(typescript@5.9.3) vite: specifier: ^6.0.0 - version: 6.4.1(@types/node@24.9.1)(yaml@2.8.1) + version: 6.4.1(@types/node@24.10.1)(yaml@2.8.1) vitest: specifier: ^4.0.0 - version: 4.0.9(@types/node@24.9.1)(yaml@2.8.1) + version: 4.0.9(@types/node@24.10.1)(yaml@2.8.1) - packages/reflex: {} + packages/@reflex/contract: + devDependencies: + '@reflex/contract': + specifier: workspace:* + version: 'link:' - packages/reflex-dom: + packages/@reflex/core: + devDependencies: + '@reflex/contract': + specifier: workspace:* + version: link:../contract + '@types/node': + specifier: ^24.10.1 + version: 24.10.1 + + packages/@reflex/runtime: dependencies: + '@reflex/contract': + specifier: workspace:* + version: link:../contract '@reflex/core': + specifier: workspace:* + version: link:../core + + packages/reflex: + dependencies: + '@reflex/core': + specifier: workspace:* + version: link:../@reflex/core + '@reflex/runtime': + specifier: workspace:* + version: link:../@reflex/runtime + + packages/reflex-dom: + dependencies: + reflex: specifier: workspace:* version: link:../reflex - devDependencies: - typescript: - specifier: ^5.3.9 - version: 5.9.3 packages: @@ -515,8 +541,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@24.9.1': - resolution: {integrity: sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==} + '@types/node@24.10.1': + resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} '@typescript-eslint/eslint-plugin@8.46.4': resolution: {integrity: sha512-R48VhmTJqplNyDxCyqqVkFSZIx1qX6PzwqgcXn1olLrzxcSBDlOsbtcnQuQhNtnNiJ4Xe5gREI1foajYaYU2Vg==} @@ -2463,7 +2489,7 @@ snapshots: dependencies: '@changesets/types': 6.1.0 - '@changesets/cli@2.29.7(@types/node@24.9.1)': + '@changesets/cli@2.29.7(@types/node@24.10.1)': dependencies: '@changesets/apply-release-plan': 7.0.13 '@changesets/assemble-release-plan': 6.0.9 @@ -2479,7 +2505,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@24.9.1) + '@inquirer/external-editor': 1.0.3(@types/node@24.10.1) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -2717,12 +2743,12 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@inquirer/external-editor@1.0.3(@types/node@24.9.1)': + '@inquirer/external-editor@1.0.3(@types/node@24.10.1)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.0 optionalDependencies: - '@types/node': 24.9.1 + '@types/node': 24.10.1 '@jridgewell/resolve-uri@3.1.2': {} @@ -2850,7 +2876,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@24.9.1': + '@types/node@24.10.1': dependencies: undici-types: 7.16.0 @@ -2956,13 +2982,13 @@ snapshots: chai: 6.2.1 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.9(vite@6.4.1(@types/node@24.9.1)(yaml@2.8.1))': + '@vitest/mocker@4.0.9(vite@6.4.1(@types/node@24.10.1)(yaml@2.8.1))': dependencies: '@vitest/spy': 4.0.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 6.4.1(@types/node@24.9.1)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.1)(yaml@2.8.1) '@vitest/pretty-format@4.0.9': dependencies: @@ -4768,14 +4794,14 @@ snapshots: dependencies: typescript: 5.9.3 - ts-node@10.9.2(@types/node@24.9.1)(typescript@5.9.3): + ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 24.9.1 + '@types/node': 24.10.1 acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -4860,7 +4886,7 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - vite@6.4.1(@types/node@24.9.1)(yaml@2.8.1): + vite@6.4.1(@types/node@24.10.1)(yaml@2.8.1): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.3) @@ -4869,14 +4895,14 @@ snapshots: rollup: 4.52.5 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.9.1 + '@types/node': 24.10.1 fsevents: 2.3.3 yaml: 2.8.1 - vitest@4.0.9(@types/node@24.9.1)(yaml@2.8.1): + vitest@4.0.9(@types/node@24.10.1)(yaml@2.8.1): dependencies: '@vitest/expect': 4.0.9 - '@vitest/mocker': 4.0.9(vite@6.4.1(@types/node@24.9.1)(yaml@2.8.1)) + '@vitest/mocker': 4.0.9(vite@6.4.1(@types/node@24.10.1)(yaml@2.8.1)) '@vitest/pretty-format': 4.0.9 '@vitest/runner': 4.0.9 '@vitest/snapshot': 4.0.9 @@ -4893,10 +4919,10 @@ snapshots: tinyexec: 0.3.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 6.4.1(@types/node@24.9.1)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.10.1)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.9.1 + '@types/node': 24.10.1 transitivePeerDependencies: - jiti - less From fe2261747ec7545d81696ac39f4753c5c6c6a202 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Thu, 27 Nov 2025 19:19:50 +0200 Subject: [PATCH 27/32] Added few md files --- CODE_OF_CONDUCT.md | 177 ++++++++++++++++++ CONTRIBUTING.md | 136 ++++++++++++++ Readme.md | 41 ++-- SECURITY.md | 59 ++++++ packages/@reflex/contract/src/index.ts | 2 +- .../tests/collections/unrolled-queue.test.ts | 2 +- .../@reflex/core/tests/graph/graph.test.ts | 6 +- .../core/tests/ownership/ownerhip.test.ts | 6 +- packages/@reflex/runtime/src/runtime.ts | 4 +- 9 files changed, 409 insertions(+), 24 deletions(-) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 SECURITY.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..9d630a6 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,177 @@ +# Code of Conduct — Reflex Community + +![Community First](https://img.shields.io/badge/ethos-community%20first-blue) +![No Toxicity](https://img.shields.io/badge/zero-toxicity-success) +![Action Driven](https://img.shields.io/badge/practice-over%20theory-orange) +![Human Centered](https://img.shields.io/badge/human-centered-purple) + +This is not a “rules list”. +This is a **living operating system for how we treat people** inside the Reflex ecosystem. + +Reflex is not just a technical project. +It is a human environment built for growth, safety, clarity, and respect. + +Participation in this community means accepting and living by the following principles. + +--- + +## Our Core Commitment + +We are committed to providing a harassment-free, supportive, and empowering experience for everyone, regardless of: + +- experience level +- gender identity +- sexual orientation +- disability +- nationality +- communication style +- beliefs or background + +**People come before code. Always.** + +--- + +## The Three Core Dangers (And Our Antidotes) + +### 1. Reality Gap + +When values stay in documents instead of real actions. + +**Counter-measure:** + +- Every principle must be visible in real behavior. +- Every month → at least one public act reflecting this Code. +- If a rule is not practiced → rewrite or remove it. + +--- + +### 2. Moral High Ground Without People + +A code without people becomes a monument to ego. + +**Counter-measure:** + +- No inner circles or “chosen ones” +- Invite at least one new person monthly +- Always ask: + _“Who else could be strengthened by this?”_ + +--- + +### 3. Over-Seriousness + +Coldness destroys creativity and safety. + +**Counter-measure:** + +- Humor is welcome. Humiliation is not. +- Weekly space for lightness, creativity, experimentation +- Complex ideas must include example or analogy + +If people feel unsafe — something is broken. + +--- + +## Expected Behavior + +You are expected to: + +- Treat everyone with respect and empathy +- Use inclusive, kind, clear language +- Assume good intent before judging +- Accept constructive feedback +- Support others’ growth +- Take responsibility for your impact +- Admit mistakes openly + +--- + +## Unacceptable Behavior + +This is not tolerated: + +- Harassment or discrimination +- Personal attacks, sarcasm, humiliation +- Arrogance and superiority +- Threats, intimidation, gaslighting +- Trolling or deliberate disruption + +Being technically right is **never** an excuse to harm someone. + +--- + +## Criticism Rule + +Criticism is only allowed when: + +1. It is constructive +2. It includes a solution +3. It is delivered respectfully + +No solution → no criticism. + +--- + +## Mistakes Are Not Crimes + +- Your mistake → admit it +- Others’ mistakes → help, don’t shame + +Only: + +> “Here is where it happened. Let’s fix it.” + +--- + +## Responsibility of the Stronger + +If you have more experience, visibility, or power: + +- You protect, not dominate +- You create safety, not fear +- You lift, not push down + +Power = responsibility. + +--- + +## Rule for Maintainers + +Maintainers must be: + +- The calmest +- The most respectful +- The most accountable + +Culture always reflects leadership. + +--- + +## Reporting & Enforcement + +Report violations to: **[ADD CONTACT HERE]** + +All reports will be treated confidentially and seriously. + +Possible actions: + +- Warning +- Temporary restriction +- Permanent ban + +Goal: **healing and safety**, not punishment. + +--- + +## The Reflex Test + +Before pressing “Send”, ask yourself: + +> Will this make the person stronger — or smaller? + +If “smaller” — don’t send it. + +--- + +**Reflex is not just a runtime. +It is a space where people grow.** diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..a33a875 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,136 @@ +# Contributing to Reflex + +First of all — thank you for being here. + +Reflex is not just code. +It is a living system of ideas, people, responsibility, and respect. + +By contributing, you agree to follow our [Code of Conduct](./CODE_OF_CONDUCT.md). + +--- + +## What We Care About Most + +1. People > Code +2. Clarity > Cleverness +3. Useful > Fancy +4. Tested > Believed +5. Documented > Assumed + +--- + +## Ways To Contribute + +You can contribute by: + +- Writing code +- Improving documentation +- Adding tests or benchmarks +- Reporting issues (clearly and respectfully) +- Reviewing PRs +- Proposing ideas (with reasoning) + +Quality > Quantity + +--- + +## Before Opening a PR + +Ask yourself: + +1. Is this needed? +2. Is it clear? +3. Is it tested? +4. Is it documented (even briefly)? +5. Would I feel safe receiving this PR? + +If any answer is “no” — improve before submitting. + +--- + +## How to Communicate + +We prefer: + +- Clear, respectful language +- Structured thoughts +- Examples over abstraction +- Humility over ego +- Questions over assumptions + +Avoid: + +- “This is stupid” +- “You should know this” +- “Obviously…” +- Aggressive tone + +Instead use: + +- “I believe…” +- “Maybe we could…” +- “What if…” +- “Let’s check…” + +--- + +## Commit Style (Simple) + +Use plain, descriptive messages: + +- `fix: prevent double scheduling in scheduler` +- `docs: clarify ownership model` +- `perf: reduce allocations in signal graph` +- `test: add cases for async ordering` + +No poetry. No drama. Just facts. + +--- + +## Code Style Principles + +We care about: + +- Readability +- Predictability +- Minimal magic +- Clear names +- Stable behavior +- Measurable performance + +If something is clever but unreadable — we do not accept it. + +--- + +## Design Contributions + +If you propose architectural or theoretical changes: + +Include: + +1. Problem statement +2. Proposed solution +3. Trade-offs +4. Alternatives considered +5. Example use-case + +This is required. No exceptions. + +--- + +## Important: You Are Not Alone + +If you feel unsure about anything: + +Open a discussion. +Ask a question. +Request clarification. + +There is no shame in asking. + +There is only shame in ego. + +--- + +**A Reflex contributor is not someone who writes code. +A Reflex contributor is someone who makes the space stronger.** diff --git a/Readme.md b/Readme.md index 8abc853..fe8bfd5 100644 --- a/Readme.md +++ b/Readme.md @@ -17,6 +17,7 @@ Reflex is a **deterministic reactive computation engine** with ownership semantics, epoch-based time, and intrusive graph topology. It can drive: + - UI frameworks (DOM / Canvas / WebGL / Native) - Simulation engines - Reactive servers @@ -36,6 +37,7 @@ UI is just one possible **surface adapter** — not the core identity. Pure mathematical definitions. No logic. No runtime. Defines the **invariants** of the system: + - `NodeKind`, `LifeState`, `Epoch`, `OwnerId` - `INode`, `ITemporalNode`, `IOwner` - `IScheduler`, `IAllocator` @@ -46,6 +48,7 @@ This layer is **frozen by design**. It defines what reality means in Reflex. ### `@reflex/core` The actual engine: + - Ownership model (Owner Tree) - Reactive DAG (signals → memos → effects) - Epoch system (deterministic local time) @@ -63,6 +66,7 @@ Pure logic. ### `@reflex/runtime` Surface implementations: + - DOM adapter - Scheduler bindings - Async bridges @@ -103,6 +107,7 @@ Root Owner Every reactive node (signal, memo, effect, async callback) has an owner. Child owners inherit: + - Context - Scheduling - Lifetime guarantees @@ -136,12 +141,14 @@ Signals **do not notify**. They mark versions and propagate dirtiness. The sched Reflex doesn't rely on JavaScript time. It uses **local epochs**. Each node tracks: + ```ts -epoch: number -version: number +epoch: number; +version: number; ``` When an event arrives: + ```ts { target: Node, payload } @@ -164,6 +171,7 @@ This makes Reflex **asynchronous-safe by construction**. No race conditions. No The scheduler is not a re-render loop. It's a **universal task orchestrator**: + - Effects - Async callbacks - DOM patches @@ -172,6 +180,7 @@ It's a **universal task orchestrator**: - Microtasks / macrotasks Designed for: + - Priority queues - Frame-based batching - Deadline-aware scheduling @@ -187,10 +196,11 @@ Closer to an **OS microkernel** than React Fiber. Contexts use **prototype inheritance**, not maps: ```ts -ChildOwner.context = Object.create(ParentOwner.context) +ChildOwner.context = Object.create(ParentOwner.context); ``` Benefits: + - O(1) lookup - Zero registration overhead - No provider boilerplate @@ -230,17 +240,14 @@ import { signal, render } from "@reflex/runtime/dom"; function Counter() { const count = signal(0); - return ( - - ); + return ; } render(, document.getElementById("app")); ``` DOM is **one renderer** among many. Bind Reflex to: + - Canvas / WebGL - Terminal (TTY) - Audio graph @@ -253,12 +260,12 @@ DOM is **one renderer** among many. Bind Reflex to: ## Comparison -| System | Core Identity | -|--------|---------------| -| React | UI renderer + state manager | -| Solid | UI reactivity wrapper | -| Vue | UI + templating runtime | -| RxJS | Stream / event library | +| System | Core Identity | +| ---------- | -------------------------------------- | +| React | UI renderer + state manager | +| Solid | UI reactivity wrapper | +| Vue | UI + templating runtime | +| RxJS | Stream / event library | | **Reflex** | **General-purpose computation engine** | React thinks in **components**. @@ -269,6 +276,7 @@ Reflex thinks in **causality graphs**. ## Why This Matters Reflex solves by construction: + - Memory leaks - Async race corruption - Zombie updates @@ -277,6 +285,7 @@ Reflex solves by construction: - Broken teardown in concurrency Because it's built on: + - Ownership semantics - Epoch validation - Topological ordering @@ -310,4 +319,6 @@ This is **physics and mathematics** applied to computation. ## License -MIT © 2025 Andrii Volynets \ No newline at end of file +MIT © 2025 Andrii Volynets + + diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..b1d1732 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,59 @@ +# Security Policy — Reflex + +Security matters because people matter. + +If you find a vulnerability or risky behavior in Reflex, please report it responsibly. + +--- + +## Supported Versions + +Only the **latest release** is actively supported for security issues. + +--- + +## Reporting a Vulnerability + +Please report security concerns to: + +**[ADD CONTACT HERE]** + +Include: + +- Description of the issue +- Steps to reproduce +- Potential impact +- Relevant code or links +- Your environment (OS, Node version, etc.) + +**Please do NOT open a public issue for security vulnerabilities.** + +We will: + +- Acknowledge your report within 72 hours +- Investigate it carefully +- Communicate progress when possible +- Credit you (if you want) after resolution + +--- + +## Responsible Disclosure + +We strongly believe in responsible disclosure. + +Do not exploit, publish, or discuss vulnerabilities publicly before we address them. + +Our priority is **protecting people first**, not publicity. + +--- + +## Security Philosophy + +Reflex believes: + +- Security is part of architecture +- Simplicity reduces attack surface +- Transparency builds trust +- Humans are more important than systems + +We value your help. Thank you for protecting this space. diff --git a/packages/@reflex/contract/src/index.ts b/packages/@reflex/contract/src/index.ts index a67a48c..a910de4 100644 --- a/packages/@reflex/contract/src/index.ts +++ b/packages/@reflex/contract/src/index.ts @@ -42,7 +42,7 @@ export interface IGraph { export interface IRuntime { readonly scheduler: IScheduler | ITemporalScheduler; readonly allocator: IAllocator; - readonly graph: IGraph; + readonly topology: IGraph; } export interface IRuntimeCallable { diff --git a/packages/@reflex/core/tests/collections/unrolled-queue.test.ts b/packages/@reflex/core/tests/collections/unrolled-queue.test.ts index a3ff0c0..e2a58a3 100644 --- a/packages/@reflex/core/tests/collections/unrolled-queue.test.ts +++ b/packages/@reflex/core/tests/collections/unrolled-queue.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from "vitest"; -import { UnrolledQueue } from "../../src/core/collections/unrolled-queue"; +import { UnrolledQueue } from "./../../src/collections/unrolled-queue"; describe("UnrolledQueue — correctness", () => { it("enqueue/dequeue basic", () => { diff --git a/packages/@reflex/core/tests/graph/graph.test.ts b/packages/@reflex/core/tests/graph/graph.test.ts index 7020407..efde199 100644 --- a/packages/@reflex/core/tests/graph/graph.test.ts +++ b/packages/@reflex/core/tests/graph/graph.test.ts @@ -4,12 +4,12 @@ import { unlinkEdge, linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, -} from "../../src/core/graph/utils/graph.linker"; +} from "./../../src/graph/process/graph.linker"; import { unlinkAllObserversUnsafe, unlinkAllSourcesUnsafe, -} from "../../src/core/graph/utils/graph.intrusive"; -import { GraphNode } from "../../src/core/graph/graph.node"; +} from "./../../src/graph/process/graph.intrusive"; +import { GraphNode } from "./../../src/graph/graph.node"; function makeNode(): GraphNode { const node = new GraphNode(); diff --git a/packages/@reflex/core/tests/ownership/ownerhip.test.ts b/packages/@reflex/core/tests/ownership/ownerhip.test.ts index d623ec4..20540a7 100644 --- a/packages/@reflex/core/tests/ownership/ownerhip.test.ts +++ b/packages/@reflex/core/tests/ownership/ownerhip.test.ts @@ -1,11 +1,11 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import { createOwner } from "../../src/core/ownership/ownership.core"; -import { createOwnershipScope } from "../../src/core/ownership/ownership.scope"; +import { createOwner } from "./../../src/ownership/ownership.core"; +import { createOwnershipScope } from "./../../src/ownership/ownership.scope"; import { CLEAN, DISPOSED, DISPOSING, -} from "../../src/core/ownership/ownership.type"; +} from "./../../src/ownership/ownership.type"; const isClean = (o: any) => o._flags === CLEAN; const isDisposed = (o: any) => o._flags === DISPOSED; diff --git a/packages/@reflex/runtime/src/runtime.ts b/packages/@reflex/runtime/src/runtime.ts index 4c1a6b5..eb6d4fc 100644 --- a/packages/@reflex/runtime/src/runtime.ts +++ b/packages/@reflex/runtime/src/runtime.ts @@ -6,10 +6,12 @@ import { INode, } from "@reflex/contract"; +// це трошки якась зараз хуйня + export class Runtime implements IRuntime { constructor( public readonly scheduler: IScheduler, public readonly allocator: IAllocator, - public readonly graph: IGraph, + public readonly topology: IGraph, ) {} } From 861328ab8bfe53b5ac072cb9ff5010f2742f52cb Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Thu, 27 Nov 2025 19:32:12 +0200 Subject: [PATCH 28/32] feat: developed new aproach for making tests --- package.json | 5 +- packages/@reflex/core/package.json | 6 +- .../core/tests/collections/invariant.test.ts | 67 +++++++++++++ .../unrolled-queue.property.test.ts | 90 +++++++++++++++++ .../tests/collections/unrolled-queue.test.ts | 99 ------------------- pnpm-lock.yaml | 22 ++++- 6 files changed, 180 insertions(+), 109 deletions(-) create mode 100644 packages/@reflex/core/tests/collections/invariant.test.ts create mode 100644 packages/@reflex/core/tests/collections/unrolled-queue.property.test.ts delete mode 100644 packages/@reflex/core/tests/collections/unrolled-queue.test.ts diff --git a/package.json b/package.json index 230141b..b08af00 100644 --- a/package.json +++ b/package.json @@ -17,13 +17,14 @@ "@changesets/cli": "^2.27.0", "@eslint/js": "^9.0.0", "eslint": "^9.0.0", + "fast-check": "^4.3.0", "husky": "^9.0.0", "lint-staged": "^15.0.0", "prettier": "^3.3.0", + "ts-node": "^10.9.2", "typescript": "^5.6.0", "typescript-eslint": "^8.0.0", "vite": "^6.0.0", - "vitest": "^4.0.0", - "ts-node": "^10.9.2" + "vitest": "^4.0.0" } } diff --git a/packages/@reflex/core/package.json b/packages/@reflex/core/package.json index d8b5c2e..c0525e3 100644 --- a/packages/@reflex/core/package.json +++ b/packages/@reflex/core/package.json @@ -9,10 +9,10 @@ "sideEffects": false, "license": "MIT", "exports": { - ".": { + ".": { + "types": "./dist/index.d.ts", "import": "./dist/index.mjs", - "require": "./dist/index.cjs", - "types": "./dist/index.d.ts" + "require": "./dist/index.cjs" } }, "scripts": { diff --git a/packages/@reflex/core/tests/collections/invariant.test.ts b/packages/@reflex/core/tests/collections/invariant.test.ts new file mode 100644 index 0000000..6cb8dd1 --- /dev/null +++ b/packages/@reflex/core/tests/collections/invariant.test.ts @@ -0,0 +1,67 @@ +import { describe, it, expect } from "vitest"; +import { UnrolledQueue } from "../../src/collections/unrolled-queue"; + +describe("UnrolledQueue — structural invariants", () => { + it("node count remains valid under growth/shrink cycles", () => { + const q = new UnrolledQueue({ nodeSize: 4 }); + + for (let cycle = 0; cycle < 30; cycle++) { + for (let i = 0; i < 200; i++) q.enqueue(i); + for (let i = 0; i < 150; i++) q.dequeue(); + } + + // Длина не отрицательная + expect(q.length).toBeGreaterThanOrEqual(0); + + // estimateNodes >= реальное число + const est = q.estimateNodes(); + + // есть хотя бы 1 узел + expect(est).toBeGreaterThanOrEqual(1); + }); + + it("length always equals sum of segments", () => { + const q = new UnrolledQueue({ nodeSize: 8 }); + + for (let r = 0; r < 10; r++) { + for (let i = 0; i < 300; i++) q.enqueue(i); + for (let i = 0; i < 125; i++) q.dequeue(); + } + + const reconstructed: number[] = [...q]; + expect(reconstructed.length).toBe(q.length); + }); + + it("iterator always matches dequeue order", () => { + const q = new UnrolledQueue({ nodeSize: 16 }); + + for (let i = 0; i < 300; i++) q.enqueue(i); + + const fromIterator = [...q]; + const fromDequeue: number[] = []; + + while (q.length) { + fromDequeue.push(q.dequeue()!); + } + + expect(fromIterator).toEqual(fromDequeue); + }); + + it("survives heavy mixed operations", () => { + const q = new UnrolledQueue({ nodeSize: 8 }); + const mirror: number[] = []; + + for (let i = 0; i < 10000; i++) { + if (Math.random() > 0.55) { + q.enqueue(i); + mirror.push(i); + } else { + const a = q.dequeue(); + const b = mirror.shift(); + expect(a).toBe(b); + } + + expect(q.length).toBe(mirror.length); + } + }); +}); diff --git a/packages/@reflex/core/tests/collections/unrolled-queue.property.test.ts b/packages/@reflex/core/tests/collections/unrolled-queue.property.test.ts new file mode 100644 index 0000000..1ce715e --- /dev/null +++ b/packages/@reflex/core/tests/collections/unrolled-queue.property.test.ts @@ -0,0 +1,90 @@ +import { describe, it, expect } from "vitest" +import fc from "fast-check" +import { UnrolledQueue } from "../../src/collections/unrolled-queue" + +describe("UnrolledQueue — property based tests", () => { + it("preserves FIFO under random operations", () => { + fc.assert( + fc.property( + fc.array(fc.integer({ min: -10_000, max: 10_000 }), { + minLength: 1, + maxLength: 5000 + }), + (values) => { + const q = new UnrolledQueue({ nodeSize: 16 }) + const reference: number[] = [] + + for (const value of values) { + if (Math.random() > 0.35) { + q.enqueue(value) + reference.push(value) + } else { + const a = q.dequeue() + const b = reference.shift() + + expect(a).toBe(b) + } + + expect(q.length).toBe(reference.length) + } + + while (reference.length > 0) { + expect(q.dequeue()).toBe(reference.shift()) + } + + expect(q.dequeue()).toBe(undefined) + expect(q.peek()).toBe(null) + expect(q.length).toBe(0) + } + ), + { numRuns: 300 } + ) + }) + + it("correctly clears and reuses after arbitrary state", () => { + fc.assert( + fc.property( + fc.array(fc.integer(), { minLength: 1, maxLength: 2000 }), + (values) => { + const q = new UnrolledQueue({ nodeSize: 8 }) + + for (const v of values) q.enqueue(v) + q.clear() + + expect(q.length).toBe(0) + expect(q.peek()).toBe(null) + expect(q.dequeue()).toBe(undefined) + + for (let i = 0; i < 100; i++) q.enqueue(i * 2) + + for (let i = 0; i < 100; i++) { + expect(q.dequeue()).toBe(i * 2) + } + + expect(q.length).toBe(0) + } + ) + ) + }) + + it("estimateNodes always over/near estimates", () => { + fc.assert( + fc.property( + fc.integer({ min: 1, max: 2000 }), + (count) => { + const q = new UnrolledQueue({ nodeSize: 8 }) + const maxPerNode = 7 + + for (let i = 0; i < count; i++) q.enqueue(i) + + const est = q.estimateNodes() + const realMin = Math.ceil(count / maxPerNode) + + expect(est).toBeGreaterThanOrEqual(realMin) + expect(est).toBeLessThanOrEqual(realMin + 2) + } + ), + { numRuns: 250 } + ) + }) +}) diff --git a/packages/@reflex/core/tests/collections/unrolled-queue.test.ts b/packages/@reflex/core/tests/collections/unrolled-queue.test.ts deleted file mode 100644 index e2a58a3..0000000 --- a/packages/@reflex/core/tests/collections/unrolled-queue.test.ts +++ /dev/null @@ -1,99 +0,0 @@ -import { describe, it, expect } from "vitest"; -import { UnrolledQueue } from "./../../src/collections/unrolled-queue"; - -describe("UnrolledQueue — correctness", () => { - it("enqueue/dequeue basic", () => { - const q = new UnrolledQueue({ nodeSize: 8 }); - - q.enqueue(1); - q.enqueue(2); - q.enqueue(3); - - expect(q.length).toBe(3); - expect(q.dequeue()).toBe(1); - expect(q.dequeue()).toBe(2); - expect(q.dequeue()).toBe(3); - expect(q.dequeue()).toBe(undefined); - }); - - it("should correctly unroll into multiple nodes", () => { - const q = new UnrolledQueue({ nodeSize: 4 }); // 3 usable slots per node - - for (let i = 0; i < 20; i++) q.enqueue(i); - - expect(q.length).toBe(20); - - for (let i = 0; i < 20; i++) { - expect(q.dequeue()).toBe(i); - } - - expect(q.length).toBe(0); - expect(q.dequeue()).toBe(undefined); - }); - - it("supports clearing and node reuse", () => { - const q = new UnrolledQueue({ nodeSize: 8 }); - - for (let i = 0; i < 50; i++) q.enqueue(i); - q.clear(); - - expect(q.length).toBe(0); - expect(q.dequeue()).toBe(undefined); - - // Reuse after clear - for (let i = 0; i < 10; i++) q.enqueue(i * 10); - - expect(q.length).toBe(10); - - for (let i = 0; i < 10; i++) { - expect(q.dequeue()).toBe(i * 10); - } - }); - - it("peek returns current tail without removing", () => { - const q = new UnrolledQueue({ nodeSize: 8 }); - - expect(q.peek()).toBe(null); - - q.enqueue(10); - q.enqueue(20); - - expect(q.peek()).toBe(10); - expect(q.dequeue()).toBe(10); - expect(q.peek()).toBe(20); - }); - - it("iterator yields items in FIFO order", () => { - const q = new UnrolledQueue({ nodeSize: 4 }); - - for (let i = 0; i < 12; i++) q.enqueue(i); - - const arr = [...q]; - expect(arr.length).toBe(12); - expect(arr).toEqual([...Array(12).keys()]); - }); - - it("drain processes all values in correct order", () => { - const q = new UnrolledQueue({ nodeSize: 4 }); - const out: number[] = []; - - for (let i = 0; i < 15; i++) q.enqueue(i); - - const count = q.drain((v) => out.push(v)); - - expect(count).toBe(15); - expect(out).toEqual([...Array(15).keys()]); - expect(q.length).toBe(0); - }); - - it("estimateNodes returns approximate number", () => { - const q = new UnrolledQueue({ nodeSize: 8 }); // 7 usable slots - - for (let i = 0; i < 30; i++) q.enqueue(i); - - const est = q.estimateNodes(); - - expect(est).toBeGreaterThanOrEqual(4); - expect(est).toBeLessThanOrEqual(6); // loose bound - }); -}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f80036..bc758cb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,9 @@ importers: eslint: specifier: ^9.0.0 version: 9.39.1 + fast-check: + specifier: ^4.3.0 + version: 4.3.0 husky: specifier: ^9.0.0 version: 9.1.7 @@ -45,11 +48,7 @@ importers: specifier: ^4.0.0 version: 4.0.9(@types/node@24.10.1)(yaml@2.8.1) - packages/@reflex/contract: - devDependencies: - '@reflex/contract': - specifier: workspace:* - version: 'link:' + packages/@reflex/contract: {} packages/@reflex/core: devDependencies: @@ -1176,6 +1175,10 @@ packages: extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + fast-check@4.3.0: + resolution: {integrity: sha512-JVw/DJSxVKl8uhCb7GrwanT9VWsCIdBkK3WpP37B/Au4pyaspriSjtrY2ApbSFwTg3ViPfniT13n75PhzE7VEQ==} + engines: {node: '>=12.17.0'} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -1895,6 +1898,9 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + pure-rand@7.0.1: + resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==} + qs@6.14.0: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} @@ -3722,6 +3728,10 @@ snapshots: extendable-error@0.1.7: {} + fast-check@4.3.0: + dependencies: + pure-rand: 7.0.1 + fast-deep-equal@3.1.3: {} fast-glob@3.3.3: @@ -4437,6 +4447,8 @@ snapshots: punycode@2.3.1: {} + pure-rand@7.0.1: {} + qs@6.14.0: dependencies: side-channel: 1.1.0 From adb04f56e8a24f28291b6d32dc418fd656e9dce1 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Fri, 28 Nov 2025 20:10:32 +0200 Subject: [PATCH 29/32] feat: ready to implement casuality --- packages/@reflex/contract/package.json | 13 +- packages/@reflex/contract/tsconfig.build.json | 20 +- packages/@reflex/contract/tsconfig.json | 16 + packages/@reflex/contract/vite.config.ts | 9 - .../core/src/collections/unrolled-queue.ts | 137 +++++---- packages/@reflex/core/src/graph/graph.node.ts | 5 +- .../core/src/graph/process/graph.constants.ts | 2 +- .../core/src/graph/process/graph.intrusive.ts | 204 +++++++++++-- .../core/src/ownership/ownership.node.ts | 275 +++++++++++------- 9 files changed, 449 insertions(+), 232 deletions(-) create mode 100644 packages/@reflex/contract/tsconfig.json delete mode 100644 packages/@reflex/contract/vite.config.ts diff --git a/packages/@reflex/contract/package.json b/packages/@reflex/contract/package.json index 6e3c5bc..c0914a3 100644 --- a/packages/@reflex/contract/package.json +++ b/packages/@reflex/contract/package.json @@ -1,19 +1,24 @@ { "name": "@reflex/contract", "version": "0.1.0", + "description": "Core type contracts for Reflex runtime", "type": "module", - "description": "Runtime contracts and invariants", + "main": "./dist/index.js", "types": "./dist/index.d.ts", - "sideEffects": false, + "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./dist/index.js" + "default": "./dist/index.js" } }, + "files": ["dist"], + "scripts": { - "build": "tsc -p tsconfig.build.json" + "build": "tsc -p tsconfig.build.json", + "watch": "tsc -p tsconfig.build.json --watch", + "clean": "rimraf dist" } } diff --git a/packages/@reflex/contract/tsconfig.build.json b/packages/@reflex/contract/tsconfig.build.json index c5b8493..4a2918d 100644 --- a/packages/@reflex/contract/tsconfig.build.json +++ b/packages/@reflex/contract/tsconfig.build.json @@ -1,21 +1,19 @@ { + "extends": "./tsconfig.json", + "compilerOptions": { - "target": "ES2020", - "module": "ESNext", + "noEmit": false, + "allowImportingTsExtensions": false, - "lib": [ - "ES2020", - "DOM", - "DOM.Iterable" - ], + "outDir": "./dist", + "rootDir": "./src", "declaration": true, + "declarationMap": true, "emitDeclarationOnly": false, - "outDir": "dist", - "rootDir": "src", - "strict": true, - "skipLibCheck": true + "stripInternal": true }, + "include": ["src"] } diff --git a/packages/@reflex/contract/tsconfig.json b/packages/@reflex/contract/tsconfig.json new file mode 100644 index 0000000..832e16a --- /dev/null +++ b/packages/@reflex/contract/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + + "moduleResolution": "bundler", + "strict": true, + "isolatedModules": true, + "skipLibCheck": true, + + "allowImportingTsExtensions": true, + + "noEmit": true + }, + "include": ["src"] +} diff --git a/packages/@reflex/contract/vite.config.ts b/packages/@reflex/contract/vite.config.ts deleted file mode 100644 index 1af6a99..0000000 --- a/packages/@reflex/contract/vite.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { defineConfig } from "vite" - -export default defineConfig(({ mode }) => { - return { - define: { - __REFLEX_MODE__: JSON.stringify(mode), - }, - } -}) diff --git a/packages/@reflex/core/src/collections/unrolled-queue.ts b/packages/@reflex/core/src/collections/unrolled-queue.ts index 5395454..1e85232 100644 --- a/packages/@reflex/core/src/collections/unrolled-queue.ts +++ b/packages/@reflex/core/src/collections/unrolled-queue.ts @@ -1,6 +1,6 @@ /** * @file unrolled-queue.ts - * High-performance Unrolled Queue + * High-performance Unrolled Queue - Optimized Version * * Was inspired by: https://github.com/nodejs/node/blob/86bfdb552863f09d36cba7f1145134346eb2e640/lib/internal/fixed_queue.js * @@ -10,7 +10,7 @@ * form a singly-linked list — this allows dynamic growth * with O(1) amortized enqueue/dequeue cost. * - * Differences from Node’s FixedQueue: + * Differences from Node's FixedQueue: * - Multiple circular nodes instead of a single fixed one. * - Node pooling to minimize GC churn. * - Fully iterable and clearable. @@ -62,12 +62,19 @@ * - O(1) amortized enqueue/dequeue * - ~4–5 ns per op on V8 12+ * - Stable memory footprint (≈5–20 MB depending on pool) + * + * Optimizations applied: + * - Removed Nullable type alias (direct T | null usage) + * - Cached head.next lookup in enqueue + * - Pre-computed isFull condition inline + * - Eliminated redundant isEmpty checks + * - Optimized drain() with direct buffer access + * - Removed unnecessary null checks in dequeue + * - Simplified node recycling logic */ import { __assert } from "../object/utils/assert"; -type Nullable = T | null; - export interface UnrolledQueueOptions { /** Node (segment) size, must be a power of two for bitmask optimization */ nodeSize: number; @@ -86,7 +93,6 @@ const DEFAULT_NODE_SIZE = 2048 as const; function assertPowerOfTwo(n: number): void { const cond = !Number.isInteger(n) || n <= 0 || (n & (n - 1)) !== 0; - __assert(cond, "nodeSize must be a positive power of two"); } @@ -102,21 +108,21 @@ class RefNode { readonly size: number; readonly mask: number; - buffer: Array>; + buffer: Array; readIndex = 0; writeIndex = 0; - next: Nullable> = null; + next: RefNode | null = null; constructor(size: number) { assertPowerOfTwo(size); this.size = size; this.mask = size - 1; - this.buffer = new Array>(size); - for (let i = 0; i < size; i++) this.buffer[i] = null; - + this.buffer = new Array(size); this.readIndex = 0; this.writeIndex = 0; this.next = null; + + for (let i = 0; i < size; i++) this.buffer[i] = null; } /** Number of elements currently held */ @@ -129,55 +135,49 @@ class RefNode { const pool = this.pool as RefNode[]; const node = pool.pop(); - if (node) return node; + if (node) { + node.readIndex = 0; + node.writeIndex = 0; + node.next = null; + return node; + } return new RefNode(size); } /** Return node to pool, resetting state (max 128 kept) */ static free(node: RefNode): void { - const b = node.buffer; - for (let i = 0; i < b.length; i++) b[i] = null; - node.readIndex = 0; - node.writeIndex = 0; - node.next = null; - if (this.pool.length < NODE_POOL_MAX) this.pool.push(node); - } - - /** Reset node indices and link */ - reset(): void { - this.readIndex = 0; - this.writeIndex = 0; - this.next = null; - } - - /** Check if buffer is full (one slot kept empty) */ - private isFull(): boolean { - return ((this.writeIndex + 1) & this.mask) === this.readIndex; - } - - /** Check if buffer is empty */ - private isEmpty(): boolean { - return this.readIndex === this.writeIndex; + if (this.pool.length < NODE_POOL_MAX) { + const b = node.buffer; + const len = b.length; + for (let i = 0; i < len; i++) b[i] = null; + node.readIndex = 0; + node.writeIndex = 0; + node.next = null; + this.pool.push(node); + } } /** @__INLINE__ Push item into buffer (returns false if full) */ enqueue(item: T): boolean { - if (this.isFull()) { + // Inline isFull check + const nextWrite = (this.writeIndex + 1) & this.mask; + if (nextWrite === this.readIndex) { return false; } this.buffer[this.writeIndex] = item; - this.writeIndex = (this.writeIndex + 1) & this.mask; + this.writeIndex = nextWrite; return true; } /** @__INLINE__ Pop item from buffer (returns null if empty) */ dequeue(): T | null { - if (this.isEmpty()) { + if (this.readIndex === this.writeIndex) { return null; } + const item = this.buffer[this.readIndex] as T; this.buffer[this.readIndex] = null; this.readIndex = (this.readIndex + 1) & this.mask; @@ -186,7 +186,7 @@ class RefNode { } peek(): T | null { - if (this.isEmpty()) return null; + if (this.readIndex === this.writeIndex) return null; return this.buffer[this.readIndex] as T; } } @@ -199,7 +199,7 @@ class RefNode { * If empty and next exists, the old node is freed * back into the pool. * - * Thus, the queue “unrolls” and “collapses” dynamically + * Thus, the queue "unrolls" and "collapses" dynamically * with constant-time operations and minimal GC. */ export class UnrolledQueue implements Queueable, IUnrolledQueue { @@ -229,10 +229,8 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { if (!head.enqueue(item)) { const newNode = RefNode.alloc(this.#nodeSize); - head.next = newNode; this.#head = newNode; - newNode.enqueue(item); } @@ -243,16 +241,17 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { dequeue(): T | undefined { if (this.#length === 0) return undefined; - const item = this.#tail.dequeue(); + const tail = this.#tail; + const item = tail.dequeue(); - if (item === null || item === undefined) return undefined; + if (item === null) return undefined; this.#length--; - if (this.#tail.length === 0 && this.#tail.next) { - const old = this.#tail; - this.#tail = this.#tail.next; - RefNode.free(old); + const next = tail.next; + if (tail.readIndex === tail.writeIndex && next) { + this.#tail = next; + RefNode.free(tail); } return item; @@ -263,7 +262,7 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { let node: RefNode | null = this.#tail; while (node) { - const next: Nullable> = node.next; + const next: RefNode | null = node.next; RefNode.free(node); node = next; } @@ -275,22 +274,35 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { drain(callback: (v: T) => void): number { let count = 0; - while (this.#length !== 0) { - const t = this.#tail; + let node = this.#tail; - while (t.length !== 0) { - const val = t.dequeue()!; + while (this.#length !== 0 && node) { + const buf = node.buffer; + const mask = node.mask; + let idx = node.readIndex; + const nodeLen = node.length; + + for (let i = 0; i < nodeLen; i++) { + const val = buf[idx] as T; + buf[idx] = null; callback(val); count++; - this.#length--; + idx = (idx + 1) & mask; } - if (t.next) { - const old = this.#tail; - this.#tail = t.next; - RefNode.free(old); + node.readIndex = idx; + this.#length -= nodeLen; + + const next = node.next; + if (next) { + RefNode.free(node); + this.#tail = next; + node = next; + } else { + break; } } + return count; } @@ -307,9 +319,14 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { /** Iterator: yields items from tail → head */ *[Symbol.iterator](): Iterator { for (let n: RefNode | null = this.#tail; n; n = n.next) { - for (let i = 0, j = n.readIndex; i < n.length; i++) { - yield n.buffer[j] as T; - j = (j + 1) & n.mask; + const buf = n.buffer; + const mask = n.mask; + const nodeLen = n.length; + let j = n.readIndex; + + for (let i = 0; i < nodeLen; i++) { + yield buf[j] as T; + j = (j + 1) & mask; } } } diff --git a/packages/@reflex/core/src/graph/graph.node.ts b/packages/@reflex/core/src/graph/graph.node.ts index 01f6cb2..2c882bb 100644 --- a/packages/@reflex/core/src/graph/graph.node.ts +++ b/packages/@reflex/core/src/graph/graph.node.ts @@ -1,7 +1,9 @@ import { BitMask } from "../object/utils/bitwise"; -import { CLEAN, COUNTER_CELLS_LENGTH, DIRTY } from "./process/graph.constants"; +import { CLEAN, COUNTER_CELLS_LENGTH } from "./process/graph.constants"; class GraphNode { + _id: number = -1; + _firstSource: GraphNode | null = null; _lastSource: GraphNode | null = null; _nextSource: GraphNode | null = null; @@ -16,7 +18,6 @@ class GraphNode { _observerCount: number = 0; _flags: BitMask = CLEAN; - _counters: Uint32Array = new Uint32Array(COUNTER_CELLS_LENGTH); } export { GraphNode }; diff --git a/packages/@reflex/core/src/graph/process/graph.constants.ts b/packages/@reflex/core/src/graph/process/graph.constants.ts index 3ac501c..76712e3 100644 --- a/packages/@reflex/core/src/graph/process/graph.constants.ts +++ b/packages/@reflex/core/src/graph/process/graph.constants.ts @@ -1,4 +1,4 @@ -import { type BitMask } from "../../object/utils/bitwise" +import { type BitMask } from "../../object/utils/bitwise"; const CLEAN: BitMask = 0; const CHECK = 1 << 0; diff --git a/packages/@reflex/core/src/graph/process/graph.intrusive.ts b/packages/@reflex/core/src/graph/process/graph.intrusive.ts index f031c56..dc39744 100644 --- a/packages/@reflex/core/src/graph/process/graph.intrusive.ts +++ b/packages/@reflex/core/src/graph/process/graph.intrusive.ts @@ -1,5 +1,5 @@ /** - * @file intrusive-helpers.ts + * @file graph.intrusive.ts * * Low-level helpers for intrusive doubly-linked list operations. * Works directly with GraphNode fields (_first*, _last*, _next*, _prev*). @@ -9,11 +9,18 @@ * - No cycle detection * - No duplicate edge checks * Use them only in hot paths or wrap with higher-level API for safety checks. - * - * * Invariants preserved: + * + * Invariants preserved: * - Bi-directional symmetry (Source ⇄ Observer) * - Single-slot rule * - List consistency + * - Count accuracy (_sourceCount/_observerCount) + * + * Performance optimizations: + * - Inlined pointer arithmetic + * - Minimized null checks via early returns + * - Cache-friendly sequential traversal + * - Zero allocations (all operations mutate in-place) */ import { GraphNode } from "../graph.node"; @@ -32,46 +39,52 @@ import { GraphNode } from "../graph.node"; * - source and observer are distinct GraphNode instances * - edge does not already exist (caller must ensure) * - no cycles (caller must ensure DAG invariant) + * - source is not already in any sources list + * - observer is not already in any observers list + * + * Invariants maintained: + * - Doubly-linked list consistency (prev ⇄ next symmetry) + * - Boundary pointers (_first/_last) correctness + * - Count increments atomic with link operations */ export function linkSourceToObserverUnsafe( source: GraphNode, observer: GraphNode, ): void { - // DEV ONLY // - // if (source._nextSource !== null || source._prevSource !== null) { - // throw new Error("source is already in a sources list"); - // } - - // if (observer._nextObserver !== null || observer._prevObserver !== null) { - // throw new Error("observer is already in an observers list"); - // } - const lastSource = observer._lastSource; + // Setup source's backward link + source._prevSource = lastSource; + source._nextSource = null; // Always append to tail + if (lastSource === null) { + // Empty list: source becomes first AND last observer._firstSource = source; - source._prevSource = null; } else { + // Non-empty: append after current last lastSource._nextSource = source; - source._prevSource = lastSource; } + // Update tail pointer and count observer._lastSource = source; - source._nextSource = null; ++observer._sourceCount; const lastObserver = source._lastObserver; + // Setup observer's backward link + observer._prevObserver = lastObserver; + observer._nextObserver = null; // Always append to tail + if (lastObserver === null) { + // Empty list: observer becomes first AND last source._firstObserver = observer; - observer._prevObserver = null; } else { + // Non-empty: append after current last lastObserver._nextObserver = observer; - observer._prevObserver = lastObserver; } + // Update tail pointer and count source._lastObserver = observer; - observer._nextObserver = null; ++source._observerCount; } @@ -82,38 +95,44 @@ export function linkSourceToObserverUnsafe( * 1. Removes source from observer's sources chain * 2. Removes observer from source's observers chain * + * O(1) operation regardless of list size. + * * Prerequisites (not checked): - * - source and observer are linked (caller must ensure) - * - source._prevSource/nextSource are valid or null - * - observer._prevObserver/nextObserver are valid or null + * - source and observer are currently linked + * - source is in observer's sources list + * - observer is in source's observers list + * - pointer consistency already established + * + * Invariants maintained: + * - Doubly-linked list remains consistent after removal + * - Boundary pointers updated when removing first/last nodes + * - Removed nodes have null pointers (ready for re-linking) + * - Counts decremented atomically with unlink */ export function unlinkSourceFromObserverUnsafe( source: GraphNode, observer: GraphNode, ): void { - // DEV ONLY // - // if ( - // (source._prevSource && source._prevSource._nextSource !== source) || - // (source._nextSource && source._nextSource._prevSource !== source) - // ) { - // throw new Error("Source pointers corrupted"); - // } - const prevSource = source._prevSource; const nextSource = source._nextSource; + // Update forward link (prev → next) if (prevSource !== null) { prevSource._nextSource = nextSource; } else { + // source was first: update head pointer observer._firstSource = nextSource; } + // Update backward link (next ← prev) if (nextSource !== null) { nextSource._prevSource = prevSource; } else { + // source was last: update tail pointer observer._lastSource = prevSource; } + // Clear source's links (ready for reuse/GC) source._prevSource = null; source._nextSource = null; --observer._sourceCount; @@ -121,18 +140,23 @@ export function unlinkSourceFromObserverUnsafe( const prevObserver = observer._prevObserver; const nextObserver = observer._nextObserver; + // Update forward link (prev → next) if (prevObserver !== null) { prevObserver._nextObserver = nextObserver; } else { + // observer was first: update head pointer source._firstObserver = nextObserver; } + // Update backward link (next ← prev) if (nextObserver !== null) { nextObserver._prevObserver = prevObserver; } else { + // observer was last: update tail pointer source._lastObserver = prevObserver; } + // Clear observer's links (ready for reuse/GC) observer._prevObserver = null; observer._nextObserver = null; --source._observerCount; @@ -142,32 +166,148 @@ export function unlinkSourceFromObserverUnsafe( * unlinkAllObserversUnsafe: Remove all observers from a source node. * * Iterates linearly through the observers list, unlinking each observer. - * This is cache-friendly: linear traversal instead of random pointer chasing. + * O(n) where n = number of observers. + * + * Performance characteristics: + * - Cache-friendly: linear traversal (no random pointer chasing) + * - Minimizes register pressure: only 2 temps needed + * - Avoids recursion: purely iterative + * + * Invariants maintained: + * - All observers fully unlinked (bidirectional) + * - Source's observer list empty (_firstObserver = null) + * - Source's _observerCount = 0 + * - Each observer's source list updated correctly * - * Useful for cleanup or when a source node is being disposed. + * Useful for: + * - Cleanup when source is disposed + * - Batch unsubscribe operations + * - Graph pruning */ export function unlinkAllObserversUnsafe(source: GraphNode): void { let observer = source._firstObserver; while (observer !== null) { + // Cache next pointer BEFORE unlinking (unlink clears it) const nextObserver = observer._nextObserver; + + // Unlink will clear observer's pointers and decrement counts unlinkSourceFromObserverUnsafe(source, observer); + + // Move to next observer = nextObserver; } + + // Post-condition: source._observerCount should be 0 + // Post-condition: source._firstObserver should be null + // Post-condition: source._lastObserver should be null + // (All handled by unlinkSourceFromObserverUnsafe loop) } /** * unlinkAllSourcesUnsafe: Remove all sources from an observer node. * * Iterates linearly through the sources list, unlinking each source. - * Cache-friendly alternative to random unlinks. + * O(n) where n = number of sources. + * + * Performance characteristics: + * - Cache-friendly: sequential memory access pattern + * - Minimal branching: single loop with predictable branches + * - Zero allocations: all mutations in-place + * + * Invariants maintained: + * - All sources fully unlinked (bidirectional) + * - Observer's source list empty (_firstSource = null) + * - Observer's _sourceCount = 0 + * - Each source's observer list updated correctly + * + * Useful for: + * - Cleanup when observer is disposed + * - Batch unsubscribe from all dependencies + * - Graph node isolation */ export function unlinkAllSourcesUnsafe(observer: GraphNode): void { let source = observer._firstSource; while (source !== null) { + // Cache next pointer BEFORE unlinking (unlink clears it) const nextSource = source._nextSource; + + // Unlink will clear source's pointers and decrement counts unlinkSourceFromObserverUnsafe(source, observer); + + // Move to next source = nextSource; } + + // Post-condition: observer._sourceCount should be 0 + // Post-condition: observer._firstSource should be null + // Post-condition: observer._lastSource should be null + // (All handled by unlinkSourceFromObserverUnsafe loop) +} + +/** + * replaceSourceUnsafe: Atomically swap one source for another. + * + * Equivalent to: + * unlinkSourceFromObserverUnsafe(oldSource, observer) + * linkSourceToObserverUnsafe(newSource, observer) + * + * But potentially more efficient if position needs to be preserved. + * Current implementation: simple sequence (position not preserved). + * + * Use when: observer needs to change dependency atomically. + */ +export function replaceSourceUnsafe( + oldSource: GraphNode, + newSource: GraphNode, + observer: GraphNode, +): void { + unlinkSourceFromObserverUnsafe(oldSource, observer); + linkSourceToObserverUnsafe(newSource, observer); +} + +/** + * hasSourceUnsafe: Check if observer depends on source. + * + * Linear scan through observer's sources list. + * O(n) where n = observer._sourceCount. + * + * Use sparingly in hot paths. Better to maintain separate tracking + * if frequent lookups are needed (e.g., Map). + */ +export function hasSourceUnsafe( + source: GraphNode, + observer: GraphNode, +): boolean { + let current = observer._firstSource; + + while (current !== null) { + if (current === source) return true; + current = current._nextSource; + } + + return false; +} + +/** + * hasObserverUnsafe: Check if source is observed by observer. + * + * Linear scan through source's observers list. + * O(n) where n = source._observerCount. + * + * Same performance caveat as hasSourceUnsafe. + */ +export function hasObserverUnsafe( + source: GraphNode, + observer: GraphNode, +): boolean { + let current = source._firstObserver; + + while (current !== null) { + if (current === observer) return true; + current = current._nextObserver; + } + + return false; } diff --git a/packages/@reflex/core/src/ownership/ownership.node.ts b/packages/@reflex/core/src/ownership/ownership.node.ts index 7040919..6f87d54 100644 --- a/packages/@reflex/core/src/ownership/ownership.node.ts +++ b/packages/@reflex/core/src/ownership/ownership.node.ts @@ -3,7 +3,7 @@ * * Optimized OwnershipNode class with fixed layout and bound methods. * - * Replaces interface-based IOwnership with a concrete class + * Replaces interface-based OwnershipNode with a concrete class * for stable hidden class and efficient V8 JIT compilation. * * Layout (10 fields): @@ -18,11 +18,10 @@ import OwnershipDisposeError from "./ownership.error"; import { - IOwnership, - IOwnershipContextRecord, type ContextKeyType, DisposalStrategy, DISPOSED, + IOwnershipContextRecord, } from "./ownership.type"; export class OwnershipNode { @@ -48,90 +47,122 @@ export class OwnershipNode { /** * appendChild: Add child to this owner's children list. * O(1) operation, no context copying on link. + * + * Invariants enforced: + * - child._parent always points to correct parent + * - doubly-linked sibling chain is consistent + * - _firstChild/_lastChild pointers are correct + * - _childCount reflects actual children count */ - appendChild(this: IOwnership, child: IOwnership) { - const node = this; - const childNode = child; + appendChild(child: OwnershipNode): void { + // Early exit if already disposed + if (this._flags & DISPOSED) return; - childNode._parent = node; - childNode._nextSibling = null; - childNode._prevSibling = node._lastChild; + // Detach from previous parent if exists + if (child._parent !== null) { + child._parent.removeChild(child); + } - if (node._lastChild !== null) { - node._lastChild._nextSibling = childNode; + // Link as last child + child._parent = this; + child._nextSibling = null; + child._prevSibling = this._lastChild; + + if (this._lastChild !== null) { + this._lastChild._nextSibling = child; } else { - node._firstChild = childNode; + // Empty list case: child becomes first AND last + this._firstChild = child; } - node._lastChild = childNode; - node._childCount++; + this._lastChild = child; + this._childCount++; } /** * removeChild: Remove child from this owner's children list. * O(1) operation. + * + * Invariants enforced: + * - only removes if child._parent === this (ownership check) + * - maintains doubly-linked list consistency + * - updates _firstChild/_lastChild boundary pointers + * - decrements _childCount atomically with removal */ - removeChild(this: IOwnership, child: IOwnership) { - const node = this; - const childNode = child; - - if (childNode._parent !== node) return; + removeChild(child: OwnershipNode): void { + // Invariant check: child must belong to this parent + if (child._parent !== this) return; - const prev = childNode._prevSibling; - const next = childNode._nextSibling; + const prev = child._prevSibling; + const next = child._nextSibling; + // Update previous sibling or parent's _firstChild if (prev !== null) { prev._nextSibling = next; } else { - node._firstChild = next; + this._firstChild = next; } + // Update next sibling or parent's _lastChild if (next !== null) { next._prevSibling = prev; } else { - node._lastChild = prev; + this._lastChild = prev; } - childNode._parent = null; - childNode._prevSibling = null; - childNode._nextSibling = null; - node._childCount--; + // Clear child's links (full detachment) + child._parent = null; + child._prevSibling = null; + child._nextSibling = null; + this._childCount--; } /** * onScopeCleanup: Register a cleanup callback. * Lazily allocates cleanups array on first call. + * + * Invariants enforced: + * - cannot add cleanups to disposed nodes + * - cleanups array allocated only when needed + * - preserves registration order for LIFO execution */ - onScopeCleanup(this: IOwnership, fn: NoneToVoidFn) { - const node = this; - - if (node._flags & DISPOSED) { + onScopeCleanup(fn: NoneToVoidFn): void { + // Strict invariant: disposed nodes cannot accept new cleanups + if (this._flags & DISPOSED) { throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); } - if (node._cleanups === null) { - node._cleanups = []; + // Lazy allocation pattern + if (this._cleanups === null) { + this._cleanups = []; } - node._cleanups.push(fn); + this._cleanups.push(fn); } /** * dispose: Iterative DFS traversal, no recursion. * Processes tree bottom-up, runs cleanups, clears links. + * + * Invariants enforced: + * - idempotent: multiple dispose calls are safe + * - post-order traversal (children before parents) + * - cleanup execution in reverse registration order (LIFO) + * - all tree links cleared after disposal + * - _flags set to DISPOSED atomically */ - dispose(this: IOwnership, strategy?: DisposalStrategy) { - const node = this; - const { beforeDispose, afterDispose, onError } = strategy ?? {}; + dispose(strategy?: DisposalStrategy): void { + // Idempotency: early exit if already disposed + if (this._flags & DISPOSED) return; - if (node._flags & DISPOSED) return; + const { beforeDispose, afterDispose, onError } = strategy ?? {}; beforeDispose?.([this]); - // Collect all nodes in DFS post-order using explicit stack + // Phase 1: Collect all nodes in DFS post-order using explicit stack const toDispose: OwnershipNode[] = []; const stack: Array<{ node: OwnershipNode; phase: number }> = [ - { node, phase: 0 }, + { node: this, phase: 0 }, ]; while (stack.length > 0) { @@ -139,7 +170,7 @@ export class OwnershipNode { const current = entry.node; if (entry.phase === 0) { - // First visit: push children + // First visit: push children in reverse order for post-order traversal entry.phase = 1; let child = current._lastChild; while (child !== null) { @@ -147,7 +178,7 @@ export class OwnershipNode { child = child._prevSibling; } } else { - // Second visit: process node + // Second visit: process node (children already processed) stack.pop(); if (!(current._flags & DISPOSED)) { toDispose.push(current); @@ -155,60 +186,71 @@ export class OwnershipNode { } } - // Phase 2: Run cleanups in post-order (already collected that way) + // Phase 2: Run cleanups in post-order (children → parents) let errorCount = 0; let firstError: unknown; for (let i = 0; i < toDispose.length; i++) { - const n = toDispose[i]; - if (!n || n._flags & DISPOSED) continue; + const n = toDispose[i]!; + + // Skip if somehow already disposed (shouldn't happen but defensive) + if (n._flags & DISPOSED) continue; const cleanups = n._cleanups; n._cleanups = null; - try { - if (cleanups !== null) { - for (let j = cleanups.length - 1; j >= 0; j--) { - const fn = cleanups[j]; - if (!fn) continue; - try { - fn(); - } catch (err) { - if (!firstError) firstError = err; - errorCount++; - onError?.(err, this); - } + // Execute cleanups in LIFO order (reverse of registration) + if (cleanups !== null) { + for (let j = cleanups.length - 1; j >= 0; j--) { + const fn = cleanups[j]; + if (fn === undefined) continue; + + try { + fn(); + } catch (err) { + if (firstError === undefined) firstError = err; + errorCount++; + onError?.(err, this); } } - } finally { - // Clear all links - if (n._prevSibling !== null) { - n._prevSibling._nextSibling = n._nextSibling; - } else if (n._parent !== null) { - n._parent._firstChild = n._nextSibling; - } + } - if (n._nextSibling !== null) { - n._nextSibling._prevSibling = n._prevSibling; - } else if (n._parent !== null) { - n._parent._lastChild = n._prevSibling; - } + // Critical section: atomically detach from tree and mark disposed + // Detach from sibling chain + if (n._prevSibling !== null) { + n._prevSibling._nextSibling = n._nextSibling; + } else if (n._parent !== null) { + n._parent._firstChild = n._nextSibling; + } + + if (n._nextSibling !== null) { + n._nextSibling._prevSibling = n._prevSibling; + } else if (n._parent !== null) { + n._parent._lastChild = n._prevSibling; + } - // Mark as disposed - n._firstChild = null; - n._lastChild = null; - n._nextSibling = null; - n._prevSibling = null; - n._parent = null; - n._context = null; - n._childCount = 0; - n._flags = DISPOSED; + // Decrement parent's child count + if (n._parent !== null) { + n._parent._childCount--; } + + // Clear all references (enable GC) + n._firstChild = null; + n._lastChild = null; + n._nextSibling = null; + n._prevSibling = null; + n._parent = null; + n._context = null; + n._childCount = 0; + + // Mark as disposed (final state transition) + n._flags = DISPOSED; } afterDispose?.([this], errorCount); - if (errorCount > 0 && !onError) { + // Error reporting (only if no custom handler) + if (errorCount > 0 && onError === undefined) { console.error( errorCount === 1 ? "Error during ownership dispose:" @@ -220,42 +262,61 @@ export class OwnershipNode { /** * getContext: Retrieve or lazily initialize context. + * + * Invariants enforced: + * - context inherits from parent via prototype chain + * - lazy initialization on first access + * - null prototype for root contexts */ - getContext(this: IOwnership): IOwnershipContextRecord { - const node = this; - - if (node._context !== null) { - return node._context; + getContext(): IOwnershipContextRecord { + // Fast path: context already exists + if (this._context !== null) { + return this._context; } - const parentCtx = node._parent?._context; - const ctx = parentCtx ? Object.create(parentCtx) : Object.create(null); + // Lazy initialization with proper prototype chain + const parentCtx = this._parent?._context; + const ctx = + parentCtx !== null && parentCtx !== undefined + ? Object.create(parentCtx) + : Object.create(null); - node._context = ctx; + this._context = ctx; return ctx; } /** * provide: Set context key/value. + * + * Invariants enforced: + * - cannot provide owner itself (prevents circular references) + * - ensures context exists before setting */ - provide(this: IOwnership, key: ContextKeyType, value: unknown): void { + provide(key: ContextKeyType, value: unknown): void { + // Invariant: prevent self-reference in context if (value === this) { throw new Error("Cannot provide owner itself into context"); } - const ctx = (this as any).getContext(); + + const ctx = this.getContext(); ctx[key] = value; } /** * inject: Lookup context value (walks up parent chain). + * + * Invariants enforced: + * - searches own context first, then walks up parent chain + * - uses hasOwn to check only own properties (not inherited) + * - returns undefined for missing keys (no exceptions) */ - inject(this: IOwnership, key: ContextKeyType): T | undefined { - const node = this; - let current: OwnershipNode | null = node; + inject(key: ContextKeyType): T | undefined { + let current: OwnershipNode | null = this; while (current !== null) { - if (current._context !== null && Object.hasOwn(current._context, key)) { - return current._context[key] as T | undefined; + // Check only own properties (not inherited via prototype chain) + if (current._context !== null && key in current._context) { + return current._context[key] as T; } current = current._parent; } @@ -264,25 +325,13 @@ export class OwnershipNode { } /** - * hasOwn: Check if key exists locally. + * hasOwn: Check if key exists locally (not in parent chain). + * + * Invariants enforced: + * - checks only this node's context, not parent chain + * - uses hasOwn for correct own-property detection */ - hasOwn(this: IOwnership, key: ContextKeyType): boolean { - const node = this; - return node._context !== null && Object.hasOwn(node._context, key); + hasOwn(key: ContextKeyType): boolean { + return this._context !== null && Object.hasOwn(this._context, key); } } - -export type OwnershipNode_IOwnershipInternal = Pick< - OwnershipNode, - | "_parent" - | "_firstChild" - | "_lastChild" - | "_nextSibling" - | "_prevSibling" - | "_context" - | "_cleanups" - | "_childCount" - | "_flags" - | "_epoch" - | "_contextEpoch" ->; From 8453aaf8dd5e365f30229c0123dab64f5ed08562 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Thu, 11 Dec 2025 16:03:43 +0200 Subject: [PATCH 30/32] feat(storage): implement Uint64Array for high-performance 64-bit storage - Added `compareWrap` function for comparing two numbers with a specified radius. - Introduced `CausalCoords` interface and related types for managing causal coordinates. - Defined `CausalPhase` enum to represent different phases in causal systems. - Created layout management with `FieldLayout` and `Layout64` for structured data. - Implemented packing and unpacking functions for efficient data storage. - Developed `Uint64Array` class for interleaved 64-bit storage using `Uint32Array`. - Added benchmarks and tests for `Uint64Array` to ensure performance and correctness. - Included utility functions to check runtime environment (browser, server, JSDOM). --- packages/@reflex/contract/src/index.ts | 135 ++++- packages/@reflex/core/src/graph/graph.node.ts | 40 +- .../core/src/graph/process/graph.intrusive.ts | 500 ++++++++++-------- .../core/src/storage/compare/compare64.ts | 20 + .../core/src/storage/compare/compareWrap.ts | 9 + .../core/src/storage/config/CausalCoords.ts | 185 +++++++ .../core/src/storage/config/CausalPhase.ts | 15 + .../@reflex/core/src/storage/layout/layout.ts | 37 ++ .../@reflex/core/src/storage/layout/schema.ts | 11 + .../@reflex/core/src/storage/layout/tables.ts | 53 ++ .../@reflex/core/src/storage/pack/pack64.ts | 39 ++ .../@reflex/core/src/storage/pack/pack64x8.ts | 23 + .../@reflex/core/src/storage/pack/unpack64.ts | 17 + .../core/src/storage/storage.contract.ts | 116 ++++ .../core/src/storage/storage.runtime.ts | 0 .../core/src/storage/storage.structure.ts | 324 ++++++++++++ .../@reflex/core/tests/graph/graph.bench.ts | 181 ++++--- .../@reflex/core/tests/graph/graph.test.ts | 380 +++++-------- .../core/tests/storage/uint64array.bench.ts | 132 +++++ .../core/tests/storage/uint64array.test.ts | 124 +++++ .../@reflex/runtime/src/primitive/signal.ts | 40 +- .../src/primitive/types.ts} | 0 packages/reflex-dom/src/client/tags.ts | 475 ++++++++--------- packages/reflex-dom/src/dom.d.ts | 246 --------- packages/reflex-dom/src/shared/avaiblable.ts | 35 ++ .../events/getVendorPrefixedEventName.ts | 120 +++-- .../reflex-dom/src/shared/isDomAvailable.ts | 5 - .../validate/DOMNestingClassificator.ts | 128 ++--- .../shared/validate/isAttributeNameSafe.ts | 88 ++- packages/reflex-dom/tsconfig.json | 6 +- 30 files changed, 2215 insertions(+), 1269 deletions(-) create mode 100644 packages/@reflex/core/src/storage/compare/compare64.ts create mode 100644 packages/@reflex/core/src/storage/compare/compareWrap.ts create mode 100644 packages/@reflex/core/src/storage/config/CausalCoords.ts create mode 100644 packages/@reflex/core/src/storage/config/CausalPhase.ts create mode 100644 packages/@reflex/core/src/storage/layout/layout.ts create mode 100644 packages/@reflex/core/src/storage/layout/schema.ts create mode 100644 packages/@reflex/core/src/storage/layout/tables.ts create mode 100644 packages/@reflex/core/src/storage/pack/pack64.ts create mode 100644 packages/@reflex/core/src/storage/pack/pack64x8.ts create mode 100644 packages/@reflex/core/src/storage/pack/unpack64.ts create mode 100644 packages/@reflex/core/src/storage/storage.contract.ts create mode 100644 packages/@reflex/core/src/storage/storage.runtime.ts create mode 100644 packages/@reflex/core/src/storage/storage.structure.ts create mode 100644 packages/@reflex/core/tests/storage/uint64array.bench.ts create mode 100644 packages/@reflex/core/tests/storage/uint64array.test.ts rename packages/@reflex/{core/src/graph/graph.types.ts => runtime/src/primitive/types.ts} (100%) delete mode 100644 packages/reflex-dom/src/dom.d.ts create mode 100644 packages/reflex-dom/src/shared/avaiblable.ts delete mode 100644 packages/reflex-dom/src/shared/isDomAvailable.ts diff --git a/packages/@reflex/contract/src/index.ts b/packages/@reflex/contract/src/index.ts index a910de4..bd63d5a 100644 --- a/packages/@reflex/contract/src/index.ts +++ b/packages/@reflex/contract/src/index.ts @@ -1,7 +1,19 @@ +/* ============================================================ + * Base types + * ============================================================ */ + export type Task = () => void; export type Epoch = number; +export type NodeId = number; export type OwnerId = number; +/** Packed uint32 causal state */ +export type CausalState = number; + +/* ============================================================ + * Node kinds (META, not causal) + * ============================================================ */ + export const enum NodeKind { OWNER = 1 << 0, SIGNAL = 1 << 1, @@ -9,6 +21,10 @@ export const enum NodeKind { EFFECT = 1 << 3, } +/* ============================================================ + * Lifecycle state (META, not causal) + * ============================================================ */ + export const enum LifeState { CREATED = 0, ATTACHED = 1, @@ -17,21 +33,83 @@ export const enum LifeState { DISPOSED = 4, } +/* ============================================================ + * Scheduler + * ============================================================ */ + export interface IScheduler { schedule(task: Task): void; } +/** + * Optional time-aware scheduler. + * It does NOT own time — it advances the system. + */ export interface ITemporalScheduler extends IScheduler { - readonly epoch: Epoch; - nextEpoch(): void; + tick(): void; +} + +/* ============================================================ + * Causal store (NEW CORE) + * ============================================================ */ + +export interface CausalSnapshot { + readonly epoch: number; + readonly version: number; + readonly generation: number; + readonly layout: number; +} + +export type NodeStats = { + sync: number; + async: number; + conflicts: number; + lastJump: number; +}; + +export interface ICausalStore { + /** how many nodes are currently allocated */ + readonly size: number; + + /** allocated capacity */ + readonly capacity: number; + + /* ------------ allocation ------------ */ + + allocate(): NodeId; + free(id: NodeId): void; + + /* ------------ access ------------ */ + + raw(id: NodeId): CausalState; + + read(id: NodeId): CausalSnapshot; + write(id: NodeId, epoch: number, version: number, generation: number): void; + + evolve(id: NodeId, stats: NodeStats): void; } -export interface IAllocator { +/* ============================================================ + * Allocators + * ============================================================ */ + +/** Allocator for graph objects */ +export interface IAllocator { create(): N; destroy(node: N): void; } -export interface IGraph { +/** Allocator specifically for CausalStore */ +export interface IStateAllocator { + allocate(): NodeId; + free(id: NodeId): void; +} + +/* ============================================================ + * Graph topology (pure structure only) + * ============================================================ */ + +export interface IGraph { link(source: N, target: N): void; unlink(source: N, target: N): void; @@ -39,22 +117,12 @@ export interface IGraph { targets(node: N): Iterable; } -export interface IRuntime { - readonly scheduler: IScheduler | ITemporalScheduler; - readonly allocator: IAllocator; - readonly topology: IGraph; -} +/* ============================================================ + * Ownership model + * ============================================================ */ -export interface IRuntimeCallable { - (fn: (rt: IRuntime) => T): T; -} - -export interface INode { - readonly id: number; - readonly kind: NodeKind; -} - -export interface IOwned extends INode { +export interface IOwned { + readonly id: NodeId; // linked to ICausalStore readonly owner: IOwner | null; readonly state: LifeState; @@ -77,8 +145,31 @@ export interface ICascading { export interface ICascadingOwner extends IOwner, ICascading {} +/* ============================================================ + * Temporal view (NO OWN TIME, ONLY PROXY) + * ============================================================ */ + export interface ITemporalNode extends IOwned { - readonly createdAt: Epoch; - readonly updatedAt: Epoch; - readonly disposedAt: Epoch | null; + readonly id: NodeId; +} + +export interface ITemporalView { + readonly epoch: Epoch; + readonly version: number; + readonly generation: number; +} + +/* ============================================================ + * Runtime (where everything meets) + * ============================================================ */ + +export interface IRuntime { + readonly scheduler: IScheduler; + readonly allocator: IAllocator; + readonly topology: IGraph; + readonly causal: ICausalStore; +} + +export interface IRuntimeCallable { + (fn: (rt: IRuntime) => T): T; } diff --git a/packages/@reflex/core/src/graph/graph.node.ts b/packages/@reflex/core/src/graph/graph.node.ts index 2c882bb..21cca8d 100644 --- a/packages/@reflex/core/src/graph/graph.node.ts +++ b/packages/@reflex/core/src/graph/graph.node.ts @@ -1,23 +1,35 @@ import { BitMask } from "../object/utils/bitwise"; -import { CLEAN, COUNTER_CELLS_LENGTH } from "./process/graph.constants"; +import { CLEAN } from "./process/graph.constants"; + +class GraphEdge { + from: GraphNode; + to: GraphNode; + + prevOut: GraphEdge | null = null; + nextOut: GraphEdge | null = null; + + prevIn: GraphEdge | null = null; + nextIn: GraphEdge | null = null; + + constructor(from: GraphNode, to: GraphNode) { + this.from = from; + this.to = to; + } +} class GraphNode { - _id: number = -1; + id: number = -1; - _firstSource: GraphNode | null = null; - _lastSource: GraphNode | null = null; - _nextSource: GraphNode | null = null; - _prevSource: GraphNode | null = null; + firstOut: GraphEdge | null = null; + lastOut: GraphEdge | null = null; - _firstObserver: GraphNode | null = null; - _lastObserver: GraphNode | null = null; - _nextObserver: GraphNode | null = null; - _prevObserver: GraphNode | null = null; + firstIn: GraphEdge | null = null; + lastIn: GraphEdge | null = null; - _sourceCount: number = 0; - _observerCount: number = 0; + outCount: number = 0; + inCount: number = 0; - _flags: BitMask = CLEAN; + flags: BitMask = CLEAN; } -export { GraphNode }; +export { GraphNode, GraphEdge }; diff --git a/packages/@reflex/core/src/graph/process/graph.intrusive.ts b/packages/@reflex/core/src/graph/process/graph.intrusive.ts index dc39744..e4afd74 100644 --- a/packages/@reflex/core/src/graph/process/graph.intrusive.ts +++ b/packages/@reflex/core/src/graph/process/graph.intrusive.ts @@ -1,313 +1,387 @@ /** * @file graph.intrusive.ts * - * Low-level helpers for intrusive doubly-linked list operations. - * Works directly with GraphNode fields (_first*, _last*, _next*, _prev*). + * Low-level helpers for intrusive doubly-linked adjacency lists. + * Works directly with GraphNode/GraphEdge fields (first/last/prev/next). * - * These functions are UNSAFE: - * - No validation of graph invariants - * - No cycle detection - * - No duplicate edge checks - * Use them only in hot paths or wrap with higher-level API for safety checks. + * Эти функции UNSAFE: + * - не проверяют инварианты DAG (циклы, дубликаты) + * - не проверяют, что edge ещё не привязан + * - не проверяют, что from/to совпадают с source/observer * - * Invariants preserved: - * - Bi-directional symmetry (Source ⇄ Observer) - * - Single-slot rule - * - List consistency - * - Count accuracy (_sourceCount/_observerCount) - * - * Performance optimizations: - * - Inlined pointer arithmetic - * - Minimized null checks via early returns - * - Cache-friendly sequential traversal - * - Zero allocations (all operations mutate in-place) + * Их задача — быть максимально быстрыми building-block’ами для + * более высокоуровневого API графа. */ -import { GraphNode } from "../graph.node"; +import { GraphEdge, GraphNode } from "../graph.node"; + +// ═══════════════════════════════════════════════════════════════════ +// BASICS: Edge-level link/unlink (building blocks) +// ═══════════════════════════════════════════════════════════════════ /** - * linkSourceToObserverUnsafe: Add a source node to an observer's sources list. - * - * This modifies TWO intrusive lists simultaneously: - * 1. Adds source to observer._firstSource...lastSource chain - * 2. Adds observer to source._firstObserver...lastObserver chain + * linkSourceToObserverUnsafe: базовый building-block. * - * Operates directly on GraphNode pointers, no allocations. - * O(1) amortized (always appends to tail). + * Создаёт новый GraphEdge и вставляет его: + * - в OUT-список source (firstOut/lastOut) + * - в IN-список observer (firstIn/lastIn) * - * Prerequisites (not checked): - * - source and observer are distinct GraphNode instances - * - edge does not already exist (caller must ensure) - * - no cycles (caller must ensure DAG invariant) - * - source is not already in any sources list - * - observer is not already in any observers list + * Сложность: O(1). + * Никаких аллокаций, кроме самого GraphEdge. * - * Invariants maintained: - * - Doubly-linked list consistency (prev ⇄ next symmetry) - * - Boundary pointers (_first/_last) correctness - * - Count increments atomic with link operations + * Препосылки (НЕ проверяются): + * - source !== observer + * - edge между ними ещё не существует + * - нет циклов (DAG-инвариант обеспечивает вызывающий код) */ export function linkSourceToObserverUnsafe( source: GraphNode, observer: GraphNode, -): void { - const lastSource = observer._lastSource; +): GraphEdge { + const e = new GraphEdge(source, observer); - // Setup source's backward link - source._prevSource = lastSource; - source._nextSource = null; // Always append to tail + // ── OUT adjacency (source -> ...) + const lastOut = source.lastOut; + e.prevOut = lastOut; + e.nextOut = null; - if (lastSource === null) { - // Empty list: source becomes first AND last - observer._firstSource = source; + if (lastOut === null) { + source.firstOut = e; } else { - // Non-empty: append after current last - lastSource._nextSource = source; + lastOut.nextOut = e; } + source.lastOut = e; + source.outCount++; - // Update tail pointer and count - observer._lastSource = source; - ++observer._sourceCount; - - const lastObserver = source._lastObserver; - - // Setup observer's backward link - observer._prevObserver = lastObserver; - observer._nextObserver = null; // Always append to tail + // ── IN adjacency (... -> observer) + const lastIn = observer.lastIn; + e.prevIn = lastIn; + e.nextIn = null; - if (lastObserver === null) { - // Empty list: observer becomes first AND last - source._firstObserver = observer; + if (lastIn === null) { + observer.firstIn = e; } else { - // Non-empty: append after current last - lastObserver._nextObserver = observer; + lastIn.nextIn = e; } + observer.lastIn = e; + observer.inCount++; - // Update tail pointer and count - source._lastObserver = observer; - ++source._observerCount; + return e; } /** - * unlinkSourceFromObserverUnsafe: Remove a source from an observer's sources list. + * unlinkEdgeUnsafe: базовый building-block для разрыва связи. * - * This modifies TWO intrusive lists simultaneously: - * 1. Removes source from observer's sources chain - * 2. Removes observer from source's observers chain + * Выпиливает edge из: + * - OUT-списка from + * - IN-списка to * - * O(1) operation regardless of list size. + * Сложность: O(1). * - * Prerequisites (not checked): - * - source and observer are currently linked - * - source is in observer's sources list - * - observer is in source's observers list - * - pointer consistency already established - * - * Invariants maintained: - * - Doubly-linked list remains consistent after removal - * - Boundary pointers updated when removing first/last nodes - * - Removed nodes have null pointers (ready for re-linking) - * - Counts decremented atomically with unlink + * Препосылки (НЕ проверяются): + * - edge.from / edge.to находятся в корректных списках + * - списки связаны консистентно (prev/next корректны) */ -export function unlinkSourceFromObserverUnsafe( - source: GraphNode, - observer: GraphNode, -): void { - const prevSource = source._prevSource; - const nextSource = source._nextSource; +export function unlinkEdgeUnsafe(edge: GraphEdge): void { + const from = edge.from; + const to = edge.to; + + // ── OUT list unlink (from.firstOut/lastOut) + const prevOut = edge.prevOut; + const nextOut = edge.nextOut; - // Update forward link (prev → next) - if (prevSource !== null) { - prevSource._nextSource = nextSource; + if (prevOut === null) { + from.firstOut = nextOut; } else { - // source was first: update head pointer - observer._firstSource = nextSource; + prevOut.nextOut = nextOut; } - // Update backward link (next ← prev) - if (nextSource !== null) { - nextSource._prevSource = prevSource; + if (nextOut === null) { + from.lastOut = prevOut; } else { - // source was last: update tail pointer - observer._lastSource = prevSource; + nextOut.prevOut = prevOut; } - // Clear source's links (ready for reuse/GC) - source._prevSource = null; - source._nextSource = null; - --observer._sourceCount; + from.outCount--; - const prevObserver = observer._prevObserver; - const nextObserver = observer._nextObserver; + // ── IN list unlink (to.firstIn/lastIn) + const prevIn = edge.prevIn; + const nextIn = edge.nextIn; - // Update forward link (prev → next) - if (prevObserver !== null) { - prevObserver._nextObserver = nextObserver; + if (prevIn === null) { + to.firstIn = nextIn; } else { - // observer was first: update head pointer - source._firstObserver = nextObserver; + prevIn.nextIn = nextIn; } - // Update backward link (next ← prev) - if (nextObserver !== null) { - nextObserver._prevObserver = prevObserver; + if (nextIn === null) { + to.lastIn = prevIn; } else { - // observer was last: update tail pointer - source._lastObserver = prevObserver; + nextIn.prevIn = prevIn; } - // Clear observer's links (ready for reuse/GC) - observer._prevObserver = null; - observer._nextObserver = null; - --source._observerCount; + to.inCount--; + + // Обнуляем ссылки, чтобы edge можно было реиспользовать/GC + edge.prevOut = edge.nextOut = null; + edge.prevIn = edge.nextIn = null; + // from/to оставляем — они могут быть полезны для отладки/логики } +// ═══════════════════════════════════════════════════════════════════ +// CONVENIENCE HELPERS (source/observer level) +// ═══════════════════════════════════════════════════════════════════ + /** - * unlinkAllObserversUnsafe: Remove all observers from a source node. + * unlinkSourceFromObserverUnsafe (удобный вариант): * - * Iterates linearly through the observers list, unlinking each observer. - * O(n) where n = number of observers. + * Находит edge(source -> observer) в OUT-списке source + * и удаляет его через unlinkEdgeUnsafe. * - * Performance characteristics: - * - Cache-friendly: linear traversal (no random pointer chasing) - * - Minimizes register pressure: only 2 temps needed - * - Avoids recursion: purely iterative + * Сложность: O(degree(source)). + * Используй в случаях, когда: + * - степень узла умеренная + * - нет заранее сохранённой ссылки на edge + */ +export function unlinkSourceFromObserverUnsafe( + source: GraphNode, + observer: GraphNode, +): void { + let edge = source.firstOut; + + while (edge !== null) { + if (edge.to === observer) { + unlinkEdgeUnsafe(edge); + return; + } + edge = edge.nextOut; + } + + // Если сюда дошли — связи не было. В UNSAFE-варианте молча игнорируем. +} + +// ═══════════════════════════════════════════════════════════════════ +// BULK / BATCH OPERATIONS +// ═══════════════════════════════════════════════════════════════════ + +/** + * linkSourceToObserversBatchUnsafe: * - * Invariants maintained: - * - All observers fully unlinked (bidirectional) - * - Source's observer list empty (_firstObserver = null) - * - Source's _observerCount = 0 - * - Each observer's source list updated correctly + * Batch-link: один source → N observers. + * Делает линковку через базовый building-block linkSourceToObserverUnsafe. * - * Useful for: - * - Cleanup when source is disposed - * - Batch unsubscribe operations - * - Graph pruning + * Сложность: O(N), без дополнительных аллокаций, кроме массива edges. + * Возвращает массив созданных Edge (если нужно кэшировать их для быстрого unlink). */ -export function unlinkAllObserversUnsafe(source: GraphNode): void { - let observer = source._firstObserver; - - while (observer !== null) { - // Cache next pointer BEFORE unlinking (unlink clears it) - const nextObserver = observer._nextObserver; +export function linkSourceToObserversBatchUnsafe( + source: GraphNode, + observers: readonly GraphNode[], +): GraphEdge[] { + const n = observers.length; + if (n === 0) return []; - // Unlink will clear observer's pointers and decrement counts - unlinkSourceFromObserverUnsafe(source, observer); + const edges = new Array(n); - // Move to next - observer = nextObserver; + for (let i = 0; i < n; i++) { + const observer = observers[i]!; + edges[i] = linkSourceToObserverUnsafe(source, observer); } - // Post-condition: source._observerCount should be 0 - // Post-condition: source._firstObserver should be null - // Post-condition: source._lastObserver should be null - // (All handled by unlinkSourceFromObserverUnsafe loop) + return edges; } /** - * unlinkAllSourcesUnsafe: Remove all sources from an observer node. + * unlinkAllObserversUnsafe: * - * Iterates linearly through the sources list, unlinking each source. - * O(n) where n = number of sources. + * Полный разрыв всех исходящих связей (OUT) у source. + * Линейный проход по списку firstOut → ... → lastOut. * - * Performance characteristics: - * - Cache-friendly: sequential memory access pattern - * - Minimal branching: single loop with predictable branches - * - Zero allocations: all mutations in-place + * Сложность: O(degree(source)). + */ +export function unlinkAllObserversUnsafe(source: GraphNode): void { + let edge = source.firstOut; + + while (edge !== null) { + const next = edge.nextOut; + unlinkEdgeUnsafe(edge); + edge = next; + } + + // На выходе: + // - source.firstOut === null + // - source.lastOut === null + // - source.outCount === 0 +} + +/** + * unlinkAllSourcesUnsafe: * - * Invariants maintained: - * - All sources fully unlinked (bidirectional) - * - Observer's source list empty (_firstSource = null) - * - Observer's _sourceCount = 0 - * - Each source's observer list updated correctly + * Полный разрыв всех входящих связей (IN) у observer. + * Линейный проход по списку firstIn → ... → lastIn. * - * Useful for: - * - Cleanup when observer is disposed - * - Batch unsubscribe from all dependencies - * - Graph node isolation + * Сложность: O(degree_in(observer)). */ export function unlinkAllSourcesUnsafe(observer: GraphNode): void { - let source = observer._firstSource; - - while (source !== null) { - // Cache next pointer BEFORE unlinking (unlink clears it) - const nextSource = source._nextSource; - - // Unlink will clear source's pointers and decrement counts - unlinkSourceFromObserverUnsafe(source, observer); + let edge = observer.firstIn; - // Move to next - source = nextSource; + while (edge !== null) { + const next = edge.nextIn; + unlinkEdgeUnsafe(edge); + edge = next; } - // Post-condition: observer._sourceCount should be 0 - // Post-condition: observer._firstSource should be null - // Post-condition: observer._lastSource should be null - // (All handled by unlinkSourceFromObserverUnsafe loop) + // На выходе: + // - observer.firstIn === null + // - observer.lastIn === null + // - observer.inCount === 0 } +// ═══════════════════════════════════════════════════════════════════ +// SLOW-PATH: CHUNKED UNLINK (для очень больших степеней) +// ═══════════════════════════════════════════════════════════════════ + /** - * replaceSourceUnsafe: Atomically swap one source for another. + * unlinkAllObserversChunkedUnsafe: * - * Equivalent to: - * unlinkSourceFromObserverUnsafe(oldSource, observer) - * linkSourceToObserverUnsafe(newSource, observer) + * Slow-path fallback для узлов с очень большой out-степенью. + * Делает два прохода: + * 1) собирает edges в массив (линейный скан OUT-списка) + * 2) идёт по массиву в обратном порядке и делает unlinkEdgeUnsafe * - * But potentially more efficient if position needs to be preserved. - * Current implementation: simple sequence (position not preserved). + * Смысл: + * - улучшить locality, избегая повторного чтения модифицируемых указателей + * - упростить паттерн ветвления для JIT + */ +export function unlinkAllObserversChunkedUnsafe(source: GraphNode): void { + const count = source.outCount; + if (count === 0) return; + + if (count === 1) { + // Быстрый путь — один edge + const e = source.firstOut!; + unlinkEdgeUnsafe(e); + return; + } + + const edges: GraphEdge[] = new Array(count); + let idx = 0; + let edge = source.firstOut; + + while (edge !== null) { + edges[idx++] = edge; + edge = edge.nextOut; + } + + // Идём в обратном порядке (чтобы не зависеть от того, как unlink мутирует списки) + for (let i = count - 1; i >= 0; i--) { + unlinkEdgeUnsafe(edges[i]!); + } +} + +/** + * unlinkAllSourcesChunkedUnsafe: * - * Use when: observer needs to change dependency atomically. + * Аналогично unlinkAllObserversChunkedUnsafe, но для IN-списка. */ -export function replaceSourceUnsafe( - oldSource: GraphNode, - newSource: GraphNode, - observer: GraphNode, -): void { - unlinkSourceFromObserverUnsafe(oldSource, observer); - linkSourceToObserverUnsafe(newSource, observer); +export function unlinkAllSourcesChunkedUnsafe(observer: GraphNode): void { + const count = observer.inCount; + if (count === 0) return; + + if (count === 1) { + const e = observer.firstIn!; + unlinkEdgeUnsafe(e); + return; + } + + const edges: GraphEdge[] = new Array(count); + let idx = 0; + let edge = observer.firstIn; + + while (edge !== null) { + edges[idx++] = edge; + edge = edge.nextIn; + } + + for (let i = count - 1; i >= 0; i--) { + unlinkEdgeUnsafe(edges[i]!); + } } +// ═══════════════════════════════════════════════════════════════════ +// BULK UNLINK ДЛЯ DISPOSE (СПРЯТАНО ПОД graph.dispose) +// ═══════════════════════════════════════════════════════════════════ + /** - * hasSourceUnsafe: Check if observer depends on source. + * Внимание: эта функция НЕ экспортируется. + * Её задача — быть быстрым "ядерным" вариантом для полного dispose + * всего графа или подграфа, когда нам уже не важно состояние соседей. * - * Linear scan through observer's sources list. - * O(n) where n = observer._sourceCount. + * Предполагается, что: + * - вызывается только из graph.dispose(GraphNode) / teardown logic + * - после вызова все затронутые ноды больше не используются * - * Use sparingly in hot paths. Better to maintain separate tracking - * if frequent lookups are needed (e.g., Map). + * Внутри все unlink делаем через unlinkEdgeUnsafe, чтобы не ломать + * инварианты IN-списков у соседей. При желании можно сделать ещё более + * агрессивный variant, который не трогает соседей вообще — но тогда + * его можно вызывать только при dispose ВЕСЬ граф. */ +function unlinkAllObserversBulkUnsafeForDisposal(source: GraphNode): void { + // Сейчас это просто alias на chunked-стратегию. + // Если понадобится — сюда можно положить ещё более агрессивную реализацию. + unlinkAllObserversChunkedUnsafe(source); +} + +// Если понадобится использовать в graph.dispose — импортируй из этого файла +// либо реэкспортом, либо перенеси логику в модуль графа. + +// ═══════════════════════════════════════════════════════════════════ +// Доп. утилиты hasSource/hasObserver c учётом Edge-модели +// ═══════════════════════════════════════════════════════════════════ + export function hasSourceUnsafe( source: GraphNode, observer: GraphNode, ): boolean { - let current = observer._firstSource; - - while (current !== null) { - if (current === source) return true; - current = current._nextSource; + // ищем edge(source -> observer) в OUT-списке + let edge = source.firstOut; + while (edge !== null) { + if (edge.to === observer) return true; + edge = edge.nextOut; } + return false; +} +export function hasObserverUnsafe( + source: GraphNode, + observer: GraphNode, +): boolean { + // симметрично — ищем edge(source -> observer) в IN-списке observer + let edge = observer.firstIn; + while (edge !== null) { + if (edge.from === source) return true; + edge = edge.nextIn; + } return false; } /** - * hasObserverUnsafe: Check if source is observed by observer. + * replaceSourceUnsafe: * - * Linear scan through source's observers list. - * O(n) where n = source._observerCount. + * Семантика та же: + * unlinkSourceFromObserverUnsafe(oldSource, observer) + * linkSourceToObserverUnsafe(newSource, observer) * - * Same performance caveat as hasSourceUnsafe. + * Реализация: O(degree(oldSource)) на поиск edge. + * Если в горячем пути нужна O(1), то нужно держать ссылку на edge. */ -export function hasObserverUnsafe( - source: GraphNode, +export function replaceSourceUnsafe( + oldSource: GraphNode, + newSource: GraphNode, observer: GraphNode, -): boolean { - let current = source._firstObserver; - - while (current !== null) { - if (current === observer) return true; - current = current._nextObserver; - } +): void { + // 1) unlink oldSource -> observer (если есть) + unlinkSourceFromObserverUnsafe(oldSource, observer); - return false; + // 2) link newSource -> observer + linkSourceToObserverUnsafe(newSource, observer); } diff --git a/packages/@reflex/core/src/storage/compare/compare64.ts b/packages/@reflex/core/src/storage/compare/compare64.ts new file mode 100644 index 0000000..ef24670 --- /dev/null +++ b/packages/@reflex/core/src/storage/compare/compare64.ts @@ -0,0 +1,20 @@ +export function compare64( + ahi: number, + alo: number, + bhi: number, + blo: number, +): number { + ahi >>>= 0; + bhi >>>= 0; + + if (ahi < bhi) return -1; + if (ahi > bhi) return 1; + + alo >>>= 0; + blo >>>= 0; + + if (alo < blo) return -1; + if (alo > blo) return 1; + + return 0; +} diff --git a/packages/@reflex/core/src/storage/compare/compareWrap.ts b/packages/@reflex/core/src/storage/compare/compareWrap.ts new file mode 100644 index 0000000..b2ee704 --- /dev/null +++ b/packages/@reflex/core/src/storage/compare/compareWrap.ts @@ -0,0 +1,9 @@ +export function compareWrap(a: number, b: number, radius: number): number { + const diff = (b - a) | 0; + const over = ((diff + radius) & (2 * radius - 1)) - radius; + + const less = (over >> 31) & 1; + const greater = (-over >> 31) & 1; + + return greater - less; +} diff --git a/packages/@reflex/core/src/storage/config/CausalCoords.ts b/packages/@reflex/core/src/storage/config/CausalCoords.ts new file mode 100644 index 0000000..7797909 --- /dev/null +++ b/packages/@reflex/core/src/storage/config/CausalCoords.ts @@ -0,0 +1,185 @@ +/** + * ============================================================ + * Causal Coordinates Space + * + * X₄ = T⁴ = S¹_t × S¹_v × S¹_g × S¹_s + * + * t — epoch (causal time), + * v — version (value evolution), + * g — generation (async layer), + * s — synergy / structural (graph topology). + * + * Дискретное представление: + * + * (t, v, g, s) ∈ ℤ / 2^{T_BITS}ℤ × ℤ / 2^{V_BITS}ℤ × ℤ / 2^{G_BITS}ℤ × ℤ / 2^{S_BITS}ℤ + * + * То есть каждое измерение — циклическая группа ℤ_{2^k} с операцией + * + * x ⊕ δ := (x + δ) mod 2^k. + * + * В коде это реализуется как: + * + * (x + δ) & (2^k - 1) + * + * что даёт wrap по модулю 2^k в 32-битном целочисленном представлении. + * + * ------------------------------------------------------------ + * Уровни упрощения геометрии: + * + * Level 0: Full Reactive Geometry (async + dynamic graph) + * + * X₄ = S¹_t × S¹_v × S¹_g × S¹_s + * | | | └─ s: structural / topology + * | | | | + * | | └─────── g: async generation + * | └────────────── v: version (value) + * └───────────────────── t: causal epoch + * + * Level 1: No async (strictly synchronous runtime) + * + * Constraint: execution order == causal order + * ⇒ g становится выводимым из t (нет независимого async-слоя) + * + * X₃(sync) = S¹_t × S¹_v × S¹_s + * + * Level 2: Static graph (no dynamic topology) + * + * Constraint: topology fixed, нет структурных изменений во время рантайма + * ⇒ s константа, не входит в динамическое состояние + * + * X₂(struct-sync) = S¹_t × S¹_v + * + * Level 3: Pure functional / timeless evaluation + * + * Constraint: только версии значений влияют на наблюдаемое поведение + * ⇒ t не влияет на вычисление (чистая функция по v) + * + * X₁(pure-value) = S¹_v + * + * Иерархия проекций (факторизация степени свободы): + * + * T⁴(t, v, g, s) + * ──[no async]────────▶ T³(t, v, s) + * ──[static graph]─▶ T²(t, v) + * ──[pure]──────▶ T¹(v) + * + * На уровне алгебры: + * + * T⁴ ≅ ℤ_{2^{T_BITS}} × ℤ_{2^{V_BITS}} × ℤ_{2^{G_BITS}} × ℤ_{2^{S_BITS}} + * T³, T², T¹ — проекции T⁴ с тем же покомпонентным законом сложения. + */ + +/** + * Дискретные каузальные координаты. + * + * Формально: + * (t, v, g, s) ∈ ℤ_{2^{T_BITS}} × ℤ_{2^{V_BITS}} × ℤ_{2^{G_BITS}} × ℤ_{2^{S_BITS}} + * + * Параметры T, V, G, S оставлены обобщёнными, чтобы при желании + * можно было использовать branded-типы: + * + * type Epoch = number & { readonly __tag: "Epoch" }; + * type Version = number & { readonly __tag: "Version" }; + * ... + */ +interface CausalCoords< + T extends number, + V extends number, + G extends number, + S extends number, +> { + /** t — causal epoch, t ∈ ℤ_{2^{T_BITS}} */ + t: T; + /** v — value version, v ∈ ℤ_{2^{V_BITS}} */ + v: V; + /** g — async generation, g ∈ ℤ_{2^{G_BITS}} */ + g: G; + /** s — structural / topology, s ∈ ℤ_{2^{S_BITS}} */ + s: S; +} + +/** + * Полное пространство T⁴(t, v, g, s). + * + * Математически: + * T⁴ ≅ ℤ_{2^{T_BITS}} × ℤ_{2^{V_BITS}} × ℤ_{2^{G_BITS}} × ℤ_{2^{S_BITS}} + */ +type T4< + T extends number, + V extends number, + G extends number, + S extends number, +> = CausalCoords; + +/** + * T³(t, v, g) — проекция T⁴ без структурного измерения s. + * + * Используется, когда топология фиксирована или вынесена за пределы + * динамического состояния узла. + */ +type T3 = Pick< + CausalCoords, + "t" | "v" | "g" +>; + +/** + * T²(t, v) — ещё более жёсткое упрощение: нет async и нет динамической + * топологии в состоянии узла. + * + * Это соответствует синхронной модели со статическим графом: + * + * X₂ ≅ S¹_t × S¹_v. + */ +type T2 = Pick< + CausalCoords, + "t" | "v" +>; + +/** + * T¹(v) — чисто функциональный слой: только версии значений. + * + * X₁ ≅ S¹_v ≅ ℤ_{2^{V_BITS}} + */ +type T1 = Pick, "v">; + +/** + * Сложение по модулю 2^k: + * + * addWrap(x, δ, mask) = (x + δ) mod 2^k, + * + * где mask = 2^k - 1. + * + * На уровне групп: + * ℤ_{2^k} с операцией ⊕ задаётся как: + * + * x ⊕ δ := (x + δ) mod 2^k. + * + * В реализации: + * + * (x + δ) & mask + * + * при условии, что: + * - x уже нормализован: 0 ≤ x ≤ mask, + * - mask = 2^k - 1, 0 < k ≤ 31, + * - δ — 32-битное целое (может быть отрицательным). + * + * Отрицательные δ работают естественно за счёт представления two’s complement: + * x = 0, δ = -1 ⇒ (0 + (-1)) & mask = mask. + * + * Функция намеренно «тонкая»: + * — без ветвлений; + * — без проверок диапазонов; + * — всё в 32-битной целочисленной арифметике. + */ +export function addWrap
( + x: A, + delta: number, + mask: number, +): A { + // mask предполагается уже вида (1 << bits) - 1 и лежит в uint32. + // Приводим x к числу, добавляем δ и заворачиваем по маске. + // (& mask) обеспечивает mod 2^k и выбрасывает старшие биты. + return (((x as number) + delta) & mask) as A; +} + +export type { CausalCoords, T1, T2, T3, T4 }; diff --git a/packages/@reflex/core/src/storage/config/CausalPhase.ts b/packages/@reflex/core/src/storage/config/CausalPhase.ts new file mode 100644 index 0000000..dacccc3 --- /dev/null +++ b/packages/@reflex/core/src/storage/config/CausalPhase.ts @@ -0,0 +1,15 @@ +// Фаза Твердий сенс +// CAUSALLY_STABLE Єдиний причинний простір, шов гладкий. +// GENERATION_DRIFT Розрив у async-поколіннях, але структура зберігається. +// TOPOLOGY_TENSION Локальна зміна топології DAG, можливе «перетягування шва». +// CAUSAL_CONFLICT Немає способу звести B і C у спільний причинний контекст. +// - Найнебезпечніша ситуація, але в той же час, найрідша + +const enum CausalPhase { + CAUSALLY_STABLE = 0x00, + GENERATION_DRIFT = 0x01, + TOPOLOGY_TENSION = 0x02, + CAUSAL_CONFLICT = 0x03, +} + +export default CausalPhase; diff --git a/packages/@reflex/core/src/storage/layout/layout.ts b/packages/@reflex/core/src/storage/layout/layout.ts new file mode 100644 index 0000000..da29ce7 --- /dev/null +++ b/packages/@reflex/core/src/storage/layout/layout.ts @@ -0,0 +1,37 @@ +import type { FieldSpec } from "./schema"; + +export interface FieldLayout { + readonly shift: number; + readonly bits: number; + readonly mask32: number; +} + +export interface Layout64< + TSchema extends Record = Record, +> { + readonly fields: { [K in keyof TSchema]: FieldLayout }; + readonly fieldNames: (keyof TSchema)[]; + readonly totalBits: number; +} + +export function createLayout64>( + schema: TSchema, +): Layout64 { + let shift = 0; + const fields = {} as { [K in keyof TSchema]: FieldLayout }; + const fieldNames: (keyof TSchema)[] = Object.keys(schema); + + for (const name of fieldNames) { + const bits = schema[name]!.bits; + const mask32 = bits >= 32 ? 0xffffffff : bits > 0 ? (1 << bits) - 1 : 0; + + fields[name] = { shift, bits, mask32 }; + shift += bits; + } + + if (shift > 64) { + throw new Error(`Layout64: totalBits=${shift} > 64`); + } + + return { fields, fieldNames, totalBits: shift }; +} diff --git a/packages/@reflex/core/src/storage/layout/schema.ts b/packages/@reflex/core/src/storage/layout/schema.ts new file mode 100644 index 0000000..0259273 --- /dev/null +++ b/packages/@reflex/core/src/storage/layout/schema.ts @@ -0,0 +1,11 @@ +export interface FieldSpec { + readonly bits: number; +} + +export const NodeSchema = { + epoch: { bits: 12 }, + version: { bits: 10 }, + generation: { bits: 10 }, + synergy: { bits: 28 }, + layoutId: { bits: 2 }, +} satisfies Record; diff --git a/packages/@reflex/core/src/storage/layout/tables.ts b/packages/@reflex/core/src/storage/layout/tables.ts new file mode 100644 index 0000000..22b1d96 --- /dev/null +++ b/packages/@reflex/core/src/storage/layout/tables.ts @@ -0,0 +1,53 @@ +import type { Layout64 } from "./layout"; + +export interface TablesSOA { + readonly count: number; + readonly loMask: Uint32Array; + readonly hiMask: Uint32Array; + readonly loShift: Uint8Array; + readonly hiShift: Uint8Array; +} + +export function prepareTables>( + layout: Layout64, +): TablesSOA { + const n = layout.fieldNames.length; + + const loMask = new Uint32Array(n); + const hiMask = new Uint32Array(n); + const loShift = new Uint8Array(n); + const hiShift = new Uint8Array(n); + + for (let i = 0; i < n; i++) { + const name = layout.fieldNames[i]!; + const f = layout.fields[name]; + + const start = f.shift; + const end = f.shift + f.bits; + + if (start < 32) { + if (end <= 32) { + loMask[i] = (f.mask32 << start) >>> 0; + hiMask[i] = 0; + loShift[i] = start; + hiShift[i] = 0; + } else { + const loPart = 32 - start; + const hiPart = f.bits - loPart; + + loMask[i] = (((1 << loPart) - 1) << start) >>> 0; + hiMask[i] = (1 << hiPart) - 1; + loShift[i] = start; + hiShift[i] = 0; + } + } else { + const hShift = start - 32; + loMask[i] = 0; + hiMask[i] = (f.mask32 << hShift) >>> 0; + loShift[i] = 0; + hiShift[i] = hShift; + } + } + + return { count: n, loMask, hiMask, loShift, hiShift }; +} diff --git a/packages/@reflex/core/src/storage/pack/pack64.ts b/packages/@reflex/core/src/storage/pack/pack64.ts new file mode 100644 index 0000000..034f98a --- /dev/null +++ b/packages/@reflex/core/src/storage/pack/pack64.ts @@ -0,0 +1,39 @@ +import type { TablesSOA } from "../layout/tables"; + +export function pack64( + block: Uint32Array, + out: { hi: number; lo: number }, + t: TablesSOA, +): void { + let lo = 0; + let hi = 0; + + for (let i = 0; i < t.count; i++) { + const v = block[i]! | 0; + lo |= (v << t.loShift[i]!) & t.loMask[i]!; + hi |= (v << t.hiShift[i]!) & t.hiMask[i]!; + } + + out.lo = lo >>> 0; + out.hi = hi >>> 0; +} + +export function pack64Into( + block: Uint32Array, + out: Uint32Array, + index: number, + t: TablesSOA, +): void { + let lo = 0; + let hi = 0; + + for (let i = 0; i < t.count; i++) { + const v = block[i]! | 0; + lo |= (v << t.loShift[i]!) & t.loMask[i]!; + hi |= (v << t.hiShift[i]!) & t.hiMask[i]!; + } + + const base = index << 1; + out[base] = hi >>> 0; + out[base + 1] = lo >>> 0; +} diff --git a/packages/@reflex/core/src/storage/pack/pack64x8.ts b/packages/@reflex/core/src/storage/pack/pack64x8.ts new file mode 100644 index 0000000..6a0e668 --- /dev/null +++ b/packages/@reflex/core/src/storage/pack/pack64x8.ts @@ -0,0 +1,23 @@ +import type { TablesSOA } from "../layout/tables"; + +export function pack64x8( + blocks: readonly Uint32Array[], + out: Uint32Array, + t: TablesSOA, +): void { + for (let lane = 0; lane < 8; lane++) { + const b = blocks[lane]!; + let lo = 0; + let hi = 0; + + for (let i = 0; i < t.count; i++) { + const v = b[i]! | 0; + lo |= (v << t.loShift[i]!) & t.loMask[i]!; + hi |= (v << t.hiShift[i]!) & t.hiMask[i]!; + } + + const base = lane << 1; + out[base] = hi >>> 0; + out[base + 1] = lo >>> 0; + } +} diff --git a/packages/@reflex/core/src/storage/pack/unpack64.ts b/packages/@reflex/core/src/storage/pack/unpack64.ts new file mode 100644 index 0000000..e0a2eff --- /dev/null +++ b/packages/@reflex/core/src/storage/pack/unpack64.ts @@ -0,0 +1,17 @@ +import type { TablesSOA } from "../layout/tables"; + +export function unpack64( + hi: number, + lo: number, + out: Uint32Array, + t: TablesSOA, +): void { + hi >>>= 0; + lo >>>= 0; + + for (let i = 0; i < t.count; i++) { + const vLo = (lo & t.loMask[i]!) >>> t.loShift[i]!; + const vHi = (hi & t.hiMask[i]!) >>> t.hiShift[i]!; + out[i] = (vLo | vHi) >>> 0; + } +} diff --git a/packages/@reflex/core/src/storage/storage.contract.ts b/packages/@reflex/core/src/storage/storage.contract.ts new file mode 100644 index 0000000..fd090a8 --- /dev/null +++ b/packages/@reflex/core/src/storage/storage.contract.ts @@ -0,0 +1,116 @@ +declare const U64_INTERLEAVED_BRAND: unique symbol; + +/** + * Interleaved backing store: + * [hi0, lo0, hi1, lo1, ..., hi(n-1), lo(n-1)] + * + * Runtime: 100% Uint32Array. + * TypeScript: nominal subtype for safety. + */ +export type U64InterleavedArray = Uint32Array & { + readonly [U64_INTERLEAVED_BRAND]: true; +}; + +declare const U64_INDEX_BRAND: unique symbol; + +/** + * Nominal index for 64-bit positions. Distinguishes + * “index in 64-bit words” from “index in Uint32Array”. + * + * Runtime: plain number. + */ +export type U64Index = number & { readonly [U64_INDEX_BRAND]: true }; + +export interface Uint64Storage { + /** Number of logically allocated 64-bit elements. */ + readonly size: number; + + /** Capacity measured in 64-bit elements (not Uint32 slots). */ + readonly capacity: number; + + /** Total memory usage in bytes. */ + readonly memoryUsage: number; + + /** + * Allocates a single zero-initialized 64-bit slot. + * Returns the ID of that slot. + */ + create(): number; + + /** + * Allocates `count` contiguous 64-bit slots. + * Returns the ID of the first allocated element. + */ + createBatch(count: number): number; + + /** + * Clears logical size (O(1)), but preserves allocated memory. + */ + clear(): void; + + /** Returns upper 32 bits of element at `id`. */ + rawHi(id: number): number; + + /** Returns lower 32 bits of element at `id`. */ + rawLo(id: number): number; + + /** Writes upper 32 bits. */ + setHi(id: number, hi: number): void; + + /** Writes lower 32 bits. */ + setLo(id: number, lo: number): void; + + /** + * Writes `(hi, lo)` pair in one offset computation. + */ + write(id: number, hi: number, lo: number): void; + + /** + * Reads value as JS Number (precision ≤ 2^53−1). + */ + readNumber(id: number): number; + + /** + * Writes JS Number into 64-bit slot. + * Negative coerces to 0, >2^53−1 saturates. + */ + writeNumber(id: number, value: number): void; + + /** + * Reads value as full-precision unsigned 64-bit BigInt. + * (Slow path.) + */ + readBigInt(id: number): bigint; + + /** + * Writes full 64-bit BigInt. + * Only lower 64 bits are stored. + */ + writeBigInt(id: number, value: bigint): void; + + /** + * Fills `[start, end)` with repeated `(hi, lo)` pair. + */ + fill(hi: number, lo: number, start?: number, end?: number): void; + + /** + * Copies `count` 64-bit elements from another storage. + */ + copyFrom( + source: Uint64Storage, + sourceStart?: number, + destStart?: number, + count?: number, + ): void; + + /** + * Returns the underlying interleaved Uint32Array view. + * Do not mutate `size` or `capacity` via this buffer. + */ + toUint32Array(): Uint32Array; + + /** + * Returns a no-copy Uint32Array view over a range of elements. + */ + subarray(start: number, end?: number): Uint32Array; +} diff --git a/packages/@reflex/core/src/storage/storage.runtime.ts b/packages/@reflex/core/src/storage/storage.runtime.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/@reflex/core/src/storage/storage.structure.ts b/packages/@reflex/core/src/storage/storage.structure.ts new file mode 100644 index 0000000..02d02c7 --- /dev/null +++ b/packages/@reflex/core/src/storage/storage.structure.ts @@ -0,0 +1,324 @@ +import { U64InterleavedArray, Uint64Storage } from "./storage.contract"; + +const TWO_32 = 4294967296; // 2^32 +const BIGINT_32 = 32n; +const BIGINT_U32_MASK = 0xffffffffn; +const BIGINT_MASK_64 = (1n << 64n) - 1n; +const TWO_NEG_32 = 2.3283064365386963e-10; + +/** + * A high-performance storage structure for 64-bit unsigned integers, + * implemented on top of `Uint32Array` using interleaved pairs `[hi, lo]`. + * + * This avoids the overhead of JavaScript `BigInt`, while retaining + * full 64-bit semantics via two 32-bit lanes: + * + * hi = upper 32 bits + * lo = lower 32 bits + * + * Memory layout: + * + * index: 0 1 2 3 4 5 6 7 ... + * └hi₀┘ └lo₀┘ └hi₁┘ └lo₁┘ └hi₂┘ └lo₂┘ └hi₃┘ └lo₃┘ ... + * + * For an array of states S in Uint32Array: + * each node i ∈ ℕ is represented by a pair of 32-bit words: + * + * NodeState₆₄(i) = (hiᵢ, loᵢ) + * where: + * hiᵢ = S[2·i] + * loᵢ = S[2·i + 1] + * + * that thereby, array S can be transformed to sequence of: + * S = [hi₀, lo₀, hi₁, lo₁, hi₂, lo₂, …] + * and each node occupies two adjacent indices. + * + * Features: + * - O(1) creation and write operations + * - cache-friendly interleaving pattern (proven fastest in V8) + * - no allocations during write/read + * - optional BigInt and Number conversions when needed + * - batch creation and fast bulk copying + * - linear memory buffer compatible with WASM and native bit ops + * + * This class is ideal for high-frequency low-level systems: + * reactive runtimes, schedulers, probabilistic structures, + * simulation engines, or causal-consistency models. + */ +export class Uint64Array implements Uint64Storage { + private _state: U64InterleavedArray; + private _size: number; + private _capacity: number; + + /** + * Creates a new Uint64 storage with the given initial capacity. + * + * @param capacity Number of 64-bit elements to allocate upfront. + * Real allocated memory = `capacity * 2 * 4 bytes`. + */ + constructor(capacity = 2048) { + const cap = capacity >>> 0; + + this._state = new Uint32Array(cap << 1) as U64InterleavedArray; + this._size = 0; + this._capacity = cap; + } + + toUint32Array(): U64InterleavedArray { + return this._state; + } + + /** + * Allocates a new 64-bit slot and returns its ID. + * The slot is zero-initialized (TypedArrays are zero-filled). + */ + create(): number { + const id = this._size; + if (id >= this._capacity) this._grow(); + this._size = id + 1; + return id; + } + + /** + * Allocates multiple IDs at once. + * + * @param count Number of elements to create. + * @returns ID of the first newly allocated element. + */ + createBatch(count: number): number { + const n = count >>> 0; + const startId = this._size; + const endId = startId + n; + + if (endId > this._capacity) { + // while зберігаємо на випадок дуже великих batch-ів, + // але в більшості випадків це одна ітерація. + while (endId > this._capacity) this._grow(); + } + + this._size = endId; + return startId; + } + + /** + * Ensures capacity is at least `requiredCapacity` elements. + * Useful to avoid multiple grow() calls in hot paths. + */ + reserve(requiredCapacity: number): void { + const needed = requiredCapacity >>> 0; + if (needed <= this._capacity) return; + + while (this._capacity < needed) this._grow(); + } + + /** Upper 32 bits for element `id`. */ + rawHi(id: number): number { + const base = id + id; + return this._state[base]!; + } + + /** Lower 32 bits for element `id`. */ + rawLo(id: number): number { + const base = id + id + 1; + return this._state[base]!; + } + + setHi(id: number, hi: number): void { + const base = id + id; + this._state[base] = hi >>> 0; + } + + setLo(id: number, lo: number): void { + const base = id + id + 1; + this._state[base] = lo >>> 0; + } + + /** + * Low-level write using precomputed base index (2 * id). + * Intended for hot loops that already know the base. + */ + writeRaw(baseIndex: number, hi: number, lo: number): void { + const s = this._state; + s[baseIndex] = hi >>> 0; + s[baseIndex + 1] = lo >>> 0; + } + + /** + * Writes a 64-bit value using two 32-bit lanes. + */ + write(id: number, hi: number, lo: number): void { + const b = id + id; // faster than id << 1 on V8 in tight loops + const s = this._state; + s[b] = hi >>> 0; + s[b + 1] = lo >>> 0; + } + + /** + * Reads the 64-bit value as a BigInt. + * Slow path – використовується рідко. + */ + readBigInt(id: number): bigint { + const base = id + id; + const state = this._state; + // Uint32Array already yields unsigned ints, нет смысла в >>> 0 + return (BigInt(state[base]!) << BIGINT_32) | BigInt(state[base + 1]!); + } + + /** + * Writes a 64-bit BigInt value into the storage. + * Slow path – зручно для інтеграцій, не для гарячих циклів. + */ + writeBigInt(id: number, value: bigint): void { + // Нормалізуємо до 64-бітного unsigned діапазону. + const masked = value & BIGINT_MASK_64; + + const lo = Number(masked & BIGINT_U32_MASK); + const hi = Number((masked >> BIGINT_32) & BIGINT_U32_MASK); + + const b = id + id; + const state = this._state; + state[b] = hi >>> 0; + state[b + 1] = lo >>> 0; + } + + /** + * Reads the value as a JavaScript Number (<= 2^53-1). + */ + readNumber(id: number): number { + const b = id + id; + const state = this._state; + + const hi = state[b]!; + const lo = state[b + 1]!; + + return hi * TWO_32 + lo; + } + + /** + * Writes a Number (accurate up to 2^53). + * High-performance when exact 64-bit precision is not required. + */ + writeNumber(id: number, value: number): void { + let v = +value; + const b = id + id; + const state = this._state; + + if (v <= 0) { + state[b] = 0; + state[b + 1] = 0; + return; + } + + if (v > Number.MAX_SAFE_INTEGER) { + v = Number.MAX_SAFE_INTEGER; + } + + const lo = v >>> 0; + const hi = Math.floor(v * TWO_NEG_32); + + state[b] = hi; + state[b + 1] = lo; + } + + /** + * Fast bulk copy from another Uint64Array. + */ + copyFrom( + source: Uint64Storage, + sourceStart = 0, + destStart = 0, + count?: number, + ): void { + const srcSize = source.size; + const start = sourceStart >>> 0; + const dst = destStart >>> 0; + + const actual = (count === undefined ? srcSize - start : count) >>> 0; + const endDest = dst + actual; + + if (endDest > this._capacity) { + while (endDest > this._capacity) this._grow(); + } + + const len = actual << 1; + const sb = start << 1; + const db = dst << 1; + + const srcBuf = source.toUint32Array(); + this._state.set(srcBuf.subarray(sb, sb + len), db); + + if (endDest > this._size) this._size = endDest; + } + + /** + * Fills a range of elements with the given `[hi, lo]` pair. + * Optimized to work on the underlying Uint32Array indices directly. + */ + fill(hi: number, lo: number, start = 0, end = this._size): void { + const h = hi >>> 0; + const l = lo >>> 0; + + const s = this._state; + let i = (start >>> 0) << 1; + const end2 = (end >>> 0) << 1; + + for (; i < end2; i += 2) { + s[i] = h; + s[i + 1] = l; + } + } + + /** + * Resets the logical size to zero. + * Underlying memory is preserved. + */ + clear(): void { + this._size = 0; + } + + /** + * Returns direct access to the underlying Uint32Array buffer. + */ + getBuffer(): U64InterleavedArray { + return this._state; + } + + /** + * Returns a Uint32Array view on a range of `[hi, lo]` pairs. + * No memory is copied. + */ + subarray(start: number, end = this._size): Uint32Array { + const s = start >>> 0; + const e = end >>> 0; + return this._state.subarray(s << 1, e << 1); + } + + /** + * Doubles the allocated capacity (like a vector). + */ + private _grow(): void { + const prevCap = this._capacity; + const nextCap = prevCap ? prevCap << 1 : 16; + + const next = new Uint32Array(nextCap << 1) as U64InterleavedArray; + next.set(this._state); + + this._capacity = nextCap; + this._state = next; + } + + /** Number of allocated elements. */ + get size(): number { + return this._size; + } + + /** Current capacity (in elements). */ + get capacity(): number { + return this._capacity; + } + + /** Memory usage in bytes. */ + get memoryUsage(): number { + return this._state.byteLength; + } +} diff --git a/packages/@reflex/core/tests/graph/graph.bench.ts b/packages/@reflex/core/tests/graph/graph.bench.ts index 7445937..63c30c7 100644 --- a/packages/@reflex/core/tests/graph/graph.bench.ts +++ b/packages/@reflex/core/tests/graph/graph.bench.ts @@ -1,17 +1,46 @@ import { describe, bench } from "vitest"; + import { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, unlinkAllObserversUnsafe, } from "../../src/graph/process/graph.intrusive"; + import { linkEdge, unlinkEdge } from "../../src/graph/process/graph.linker"; -import { IReactiveNode, GraphNode } from "../../src/graph/graph.node"; +import { GraphNode } from "../../src/graph/graph.node"; -function makeNode(): IReactiveNode { +/** Create node */ +function makeNode(): GraphNode { return new GraphNode(); } -describe("DAG O(1) intrusive graph benchmarks", () => { +/** Collect OUT edges of a node (edges: node → observer) */ +function collectOutEdges(node: GraphNode) { + const arr = []; + let e = node.firstOut; + while (e) { + arr.push(e); + e = e.nextOut; + } + return arr; +} + +/** Collect IN edges of a node (edges: source → node) */ +function collectInEdges(node: GraphNode) { + const arr = []; + let e = node.firstIn; + while (e) { + arr.push(e); + e = e.nextIn; + } + return arr; +} + +describe("DAG O(1) intrusive graph benchmarks (edge-based)", () => { + // ────────────────────────────────────────────────────────────── + // 1. Basic 1k link/unlink cycles for both APIs + // ────────────────────────────────────────────────────────────── + bench("linkEdge + unlinkEdge (1k ops)", () => { const A = makeNode(); const B = makeNode(); @@ -22,120 +51,114 @@ describe("DAG O(1) intrusive graph benchmarks", () => { } }); - bench( - "linkSourceToObserverUnsafe + unlinkSourceFromObserverUnsafe (1k ops)", - () => { - const A = makeNode(); - const B = makeNode(); + bench("linkSourceToObserverUnsafe + unlinkSourceFromObserverUnsafe (1k ops)", () => { + const A = makeNode(); + const B = makeNode(); - for (let i = 0; i < 1000; i++) { - linkSourceToObserverUnsafe(B, A); - unlinkSourceFromObserverUnsafe(B, A); - } - }, - ); + for (let i = 0; i < 1000; i++) { + linkSourceToObserverUnsafe(A, B); + unlinkSourceFromObserverUnsafe(A, B); + } + }); + + // ────────────────────────────────────────────────────────────── + // 2. Mixed random link/unlink operations + // ────────────────────────────────────────────────────────────── - bench("1000 mixed link/unlink operations", () => { + bench("1000 mixed link/unlink operations (random-ish)", () => { const nodes = Array.from({ length: 50 }, makeNode); for (let i = 0; i < 1000; i++) { - const A = nodes[(i * 7) % nodes.length]; - const B = nodes[(i * 13) % nodes.length]; - - if (A && B && A !== B) { - linkEdge(A, B); + const a = nodes[(i * 5) % nodes.length]!; + const b = nodes[(i * 17) % nodes.length]!; - if (i % 2 === 0) { - unlinkEdge(A, B); - } + if (a !== b) { + linkEdge(a, b); + if (i % 2 === 0) unlinkEdge(a, b); } } }); - bench("massive star graph: link 1 source to 1k observers", () => { - const center = makeNode(); - const leaves = Array.from({ length: 1000 }, makeNode); + // ────────────────────────────────────────────────────────────── + // 3. Star linking + // ────────────────────────────────────────────────────────────── - for (const leaf of leaves) { - linkEdge(leaf, center); - } + bench("massive star graph: 1 source → 1k observers", () => { + const source = makeNode(); + const observers = Array.from({ length: 1000 }, makeNode); + + for (const obs of observers) linkEdge(source, obs); }); - bench("massive star unlink: unlink all 1k observers from 1 source", () => { - const center = makeNode(); - const leaves = Array.from({ length: 1000 }, makeNode); + // ────────────────────────────────────────────────────────────── + // 4. Star unlink (bulk) + // ────────────────────────────────────────────────────────────── - for (const leaf of leaves) { - linkEdge(leaf, center); - } + bench("massive star unlink: unlink all observers from 1 source (1k)", () => { + const source = makeNode(); + const observers = Array.from({ length: 1000 }, makeNode); - unlinkAllObserversUnsafe(center); + for (const obs of observers) linkEdge(source, obs); + unlinkAllObserversUnsafe(source); }); - bench( - "star unlink piecemeal: individual unlinkEdge for each observer", - () => { - const center = makeNode(); - const leaves = Array.from({ length: 1000 }, makeNode); + // ────────────────────────────────────────────────────────────── + // 5. Star unlink piecewise (1k × unlinkEdge) + // ────────────────────────────────────────────────────────────── - for (const leaf of leaves) { - linkEdge(leaf, center); - } + bench("star unlink piecemeal: individual unlinkEdge for each observer", () => { + const source = makeNode(); + const observers = Array.from({ length: 1000 }, makeNode); - for (const leaf of leaves) { - unlinkEdge(leaf, center); - } - }, - ); + for (const obs of observers) linkEdge(source, obs); - bench("compare: naive array push/pop (1k ops)", () => { - const arr: number[] = []; - for (let i = 0; i < 1000; i++) { - arr.push(i); - arr.pop(); - } + for (const obs of observers) unlinkEdge(source, obs); }); + + // ────────────────────────────────────────────────────────────── + // 7. Random DAG simulation (10k edges) + // ────────────────────────────────────────────────────────────── + bench("DAG simulation: 100 nodes, 10k random edges", () => { const nodes = Array.from({ length: 100 }, makeNode); for (let i = 0; i < 10000; i++) { - const sourceIdx = Math.floor(Math.random() * nodes.length); - const observerIdx = Math.floor(Math.random() * nodes.length); - - if (sourceIdx !== observerIdx) { - const source = nodes[sourceIdx]; - const observer = nodes[observerIdx]; - - if (source && observer) { - linkSourceToObserverUnsafe(source, observer); - } - } + const a = nodes[Math.floor(Math.random() * 100)]!; + const b = nodes[Math.floor(Math.random() * 100)]!; + if (a !== b) linkSourceToObserverUnsafe(a, b); } }); - bench("counting observer/source degree: 1k nodes with varying degree", () => { + // ────────────────────────────────────────────────────────────── + // 8. Degree counting sanity test + // ────────────────────────────────────────────────────────────── + + bench("counting observer/source degree: 1k nodes, sparse connections", () => { const nodes = Array.from({ length: 1000 }, makeNode); + // Sparse DAG formation for (let i = 0; i < 1000; i++) { - const src = nodes[i]; + const src = nodes[i]!; for (let j = i + 1; j < Math.min(i + 5, nodes.length); j++) { - const obs = nodes[j]; - if (src && obs) { - linkEdge(obs, src); - } + linkEdge(src, nodes[j]!); } } - let totalSources = 0; - let totalObservers = 0; - for (const node of nodes) { - totalSources += node._sourceCount; - totalObservers += node._observerCount; + // Count degrees + let sumOut = 0; + let sumIn = 0; + + for (const n of nodes) { + sumOut += n.outCount; + sumIn += n.inCount; } - if (totalSources !== totalObservers) { - throw new Error("Sanity check failed: source/observer count mismatch"); + if (sumOut !== sumIn) { + throw new Error( + `Degree mismatch: OUT=${sumOut}, IN=${sumIn} — graph invariant broken`, + ); } }); + }); diff --git a/packages/@reflex/core/tests/graph/graph.test.ts b/packages/@reflex/core/tests/graph/graph.test.ts index efde199..4dfb60c 100644 --- a/packages/@reflex/core/tests/graph/graph.test.ts +++ b/packages/@reflex/core/tests/graph/graph.test.ts @@ -1,329 +1,187 @@ import { describe, it, expect } from "vitest"; import { - linkEdge, - unlinkEdge, linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, -} from "./../../src/graph/process/graph.linker"; -import { unlinkAllObserversUnsafe, unlinkAllSourcesUnsafe, -} from "./../../src/graph/process/graph.intrusive"; -import { GraphNode } from "./../../src/graph/graph.node"; - -function makeNode(): GraphNode { - const node = new GraphNode(); - return node; -} - -function validateSourceChain(observer: GraphNode) { - let cur = observer._firstSource; - let prev: GraphNode | null = null; - let count = 0; - const visited = new Set(); - - while (cur) { - count++; - if (visited.has(cur)) throw new Error("Cycle in source chain"); - visited.add(cur); - - // back-link - if (cur._prevSource !== prev) { - throw new Error("Broken _prevSource link"); - } - - // symmetry: this observer must be in source.observers - let obs = cur._firstObserver; - let found = false; - while (obs) { - if (obs === observer) { - found = true; - break; - } - obs = obs._nextObserver; - } - - if (!found) { - throw new Error("Symmetry broken: source has no observer ref"); - } - - prev = cur; - cur = cur._nextSource; - } - - if (prev !== observer._lastSource) throw new Error("LastSource mismatch"); - - if (count !== observer._sourceCount) throw new Error("SourceCount mismatch"); -} +} from "../../src/graph/process/graph.intrusive"; -function validateObserverChain(source: GraphNode) { - let cur = source._firstObserver; - let prev: GraphNode | null = null; - let count = 0; - const visited = new Set(); +import { GraphNode, GraphEdge } from "../../src/graph/graph.node"; - while (cur) { - count++; - if (visited.has(cur)) throw new Error("Cycle in observer chain"); - visited.add(cur); - - if (cur._prevObserver !== prev) { - throw new Error("Broken _prevObserver link"); - } - - // symmetry: this source must be in observer.sources - let src = cur._firstSource; - let found = false; - while (src) { - if (src === source) { - found = true; - break; - } - src = src._nextSource; - } - - if (!found) { - throw new Error("Symmetry broken: observer has no source ref"); - } - - prev = cur; - cur = cur._nextObserver; - } - - if (prev !== source._lastObserver) throw new Error("LastObserver mismatch"); - - if (count !== source._observerCount) - throw new Error("ObserverCount mismatch"); -} - -const collectSourceChain = (head: GraphNode | null): GraphNode[] => { - const result: GraphNode[] = []; - let cur = head; +// helpers +function collectOutEdges(node: GraphNode): GraphEdge[] { + const result: GraphEdge[] = []; + let cur = node.firstOut; while (cur) { result.push(cur); - cur = cur._nextSource; + cur = cur.nextOut; } return result; -}; +} -const collectObserverChain = (head: GraphNode | null): GraphNode[] => { - const result: GraphNode[] = []; - let cur = head; +function collectInEdges(node: GraphNode): GraphEdge[] { + const result: GraphEdge[] = []; + let cur = node.firstIn; while (cur) { result.push(cur); - cur = cur._nextObserver; + cur = cur.nextIn; } return result; -}; +} -describe("Invariant check", () => { - it("mass unlink does not leave ghosts", () => { - const center = makeNode(); - const leafs = Array.from({ length: 25 }, makeNode); +describe("Edge-based Intrusive Graph", () => { - // создаём: center -> leafs - for (const leaf of leafs) { - linkEdge(leaf, center); // 🔴 ОБРАТИЛ ВНИМАНИЕ НА ПОРЯДОК - } + it("creates symmetric edge between source and observer", () => { + const source = new GraphNode(); + const observer = new GraphNode(); - expect(center._observerCount).toBe(25); - validateObserverChain(center); + const e = linkSourceToObserverUnsafe(source, observer); - unlinkAllObserversUnsafe(center); + // OUT adjacency + expect(source.firstOut).toBe(e); + expect(source.lastOut).toBe(e); + expect(source.outCount).toBe(1); - expect(center._observerCount).toBe(0); - expect(center._firstObserver).toBeNull(); - expect(center._lastObserver).toBeNull(); + // IN adjacency + expect(observer.firstIn).toBe(e); + expect(observer.lastIn).toBe(e); + expect(observer.inCount).toBe(1); - for (const leaf of leafs) { - expect(leaf._firstSource).toBeNull(); - expect(leaf._lastSource).toBeNull(); - expect(leaf._prevSource).toBeNull(); - expect(leaf._nextSource).toBeNull(); - } + // symmetry + expect(e.from).toBe(source); + expect(e.to).toBe(observer); }); -}); -describe("graph_linker: linkEdge / unlinkSourceFromObserverUnsafe", () => { - it("creates symmetric edge between observer and source", () => { - const observer = makeNode(); - const source = makeNode(); - - linkEdge(observer, source); + it("supports multiple observers for one source", () => { + const source = new GraphNode(); + const o1 = new GraphNode(); + const o2 = new GraphNode(); + const o3 = new GraphNode(); - expect(observer._firstSource).toBe(source); - expect(observer._lastSource).toBe(source); - expect(source._prevSource).toBeNull(); - expect(source._nextSource).toBeNull(); - expect(observer._sourceCount).toBe(1); + const e1 = linkSourceToObserverUnsafe(source, o1); + const e2 = linkSourceToObserverUnsafe(source, o2); + const e3 = linkSourceToObserverUnsafe(source, o3); - expect(source._firstObserver).toBe(observer); - expect(source._lastObserver).toBe(observer); - expect(observer._prevObserver).toBeNull(); - expect(observer._nextObserver).toBeNull(); - expect(source._observerCount).toBe(1); - }); + const chain = collectOutEdges(source); - it("supports multiple different sources for one observer", () => { - const observer = makeNode(); - const s1 = makeNode(); - const s2 = makeNode(); - const s3 = makeNode(); - - linkEdge(observer, s1); - linkEdge(observer, s2); - linkEdge(observer, s3); + expect(chain.length).toBe(3); + expect(chain[0]).toBe(e1); + expect(chain[1]).toBe(e2); + expect(chain[2]).toBe(e3); - const chain = collectSourceChain(observer._firstSource); + expect(chain[0].nextOut).toBe(chain[1]); + expect(chain[1].nextOut).toBe(chain[2]); + expect(chain[2].nextOut).toBe(null); - expect(chain.length).toBe(3); - expect(chain[0]).toBe(s1); - expect(chain[1]).toBe(s2); - expect(chain[2]).toBe(s3); - - expect(chain[0]!._prevSource).toBeNull(); - expect(chain[0]!._nextSource).toBe(chain[1]); - expect(chain[1]!._prevSource).toBe(chain[0]); - expect(chain[1]!._nextSource).toBe(chain[2]); - expect(chain[2]!._prevSource).toBe(chain[1]); - expect(chain[2]!._nextSource).toBeNull(); - - expect(observer._sourceCount).toBe(3); + expect(chain[1].prevOut).toBe(chain[0]); + expect(chain[2].prevOut).toBe(chain[1]); }); - it("supports multiple observers for one source", () => { - const source = makeNode(); - const o1 = makeNode(); - const o2 = makeNode(); - const o3 = makeNode(); + it("supports multiple sources for one observer", () => { + const observer = new GraphNode(); + const s1 = new GraphNode(); + const s2 = new GraphNode(); + const s3 = new GraphNode(); - linkEdge(o1, source); - linkEdge(o2, source); - linkEdge(o3, source); + const e1 = linkSourceToObserverUnsafe(s1, observer); + const e2 = linkSourceToObserverUnsafe(s2, observer); + const e3 = linkSourceToObserverUnsafe(s3, observer); - const chain = collectObserverChain(source._firstObserver); + const chain = collectInEdges(observer); expect(chain.length).toBe(3); - expect(chain[0]).toBe(o1); - expect(chain[1]).toBe(o2); - expect(chain[2]).toBe(o3); - - expect(chain[0]!._prevObserver).toBeNull(); - expect(chain[0]!._nextObserver).toBe(chain[1]); - expect(chain[1]!._prevObserver).toBe(chain[0]); - expect(chain[1]!._nextObserver).toBe(chain[2]); - expect(chain[2]!._prevObserver).toBe(chain[1]); - expect(chain[2]!._nextObserver).toBeNull(); - - expect(source._observerCount).toBe(3); + expect(chain[0]).toBe(e1); + expect(chain[1]).toBe(e2); + expect(chain[2]).toBe(e3); + + expect(chain[0].nextIn).toBe(chain[1]); + expect(chain[1].nextIn).toBe(chain[2]); + expect(chain[2].nextIn).toBe(null); }); - it("unlinkSourceFromObserverUnsafe removes edge from both lists", () => { - const observer = makeNode(); - const source = makeNode(); + it("unlinkSourceFromObserverUnsafe removes only matching edge", () => { + const observer = new GraphNode(); + const source = new GraphNode(); - linkEdge(observer, source); - unlinkSourceFromObserverUnsafe(source, observer); + linkSourceToObserverUnsafe(source, observer); - expect(observer._firstSource).toBeNull(); - expect(observer._lastSource).toBeNull(); - expect(observer._sourceCount).toBe(0); + expect(observer.inCount).toBe(1); - expect(source._firstObserver).toBeNull(); - expect(source._lastObserver).toBeNull(); - expect(source._observerCount).toBe(0); + unlinkSourceFromObserverUnsafe(source, observer); + + expect(observer.inCount).toBe(0); + expect(observer.firstIn).toBeNull(); + expect(observer.lastIn).toBeNull(); - expect(source._prevSource).toBeNull(); - expect(source._nextSource).toBeNull(); - expect(observer._prevObserver).toBeNull(); - expect(observer._nextObserver).toBeNull(); + expect(source.firstOut).toBeNull(); + expect(source.lastOut).toBeNull(); + expect(source.outCount).toBe(0); }); - it("unlinkSourceFromObserverUnsafe removes middle of list", () => { - const observer = makeNode(); - const s1 = makeNode(); - const s2 = makeNode(); - const s3 = makeNode(); + it("unlinkSourceFromObserverUnsafe removes middle of out-list", () => { + const observer = new GraphNode(); + const s1 = new GraphNode(); + const s2 = new GraphNode(); + const s3 = new GraphNode(); - linkEdge(observer, s1); - linkEdge(observer, s2); - linkEdge(observer, s3); + linkSourceToObserverUnsafe(s1, observer); + linkSourceToObserverUnsafe(s2, observer); + linkSourceToObserverUnsafe(s3, observer); unlinkSourceFromObserverUnsafe(s2, observer); - const chain = collectSourceChain(observer._firstSource); - expect(chain.length).toBe(2); - expect(chain[0]).toBe(s1); - expect(chain[1]).toBe(s3); + const chain = collectInEdges(observer); - expect(chain[0]!._nextSource).toBe(chain[1]); - expect(chain[1]!._prevSource).toBe(chain[0]); - - expect(observer._sourceCount).toBe(2); + expect(chain.length).toBe(2); + expect(chain[0].from).toBe(s1); + expect(chain[1].from).toBe(s3); }); - it("unlinkAllObserversUnsafe removes all observers", () => { - const source = makeNode(); - const o1 = makeNode(); - const o2 = makeNode(); - const o3 = makeNode(); + it("unlinkAllObserversUnsafe clears all out-edges", () => { + const source = new GraphNode(); + const o1 = new GraphNode(); + const o2 = new GraphNode(); + const o3 = new GraphNode(); - linkEdge(o1, source); - linkEdge(o2, source); - linkEdge(o3, source); + linkSourceToObserverUnsafe(source, o1); + linkSourceToObserverUnsafe(source, o2); + linkSourceToObserverUnsafe(source, o3); - expect(source._observerCount).toBe(3); + expect(source.outCount).toBe(3); unlinkAllObserversUnsafe(source); - expect(source._firstObserver).toBeNull(); - expect(source._lastObserver).toBeNull(); - expect(source._observerCount).toBe(0); + expect(source.outCount).toBe(0); + expect(source.firstOut).toBeNull(); + expect(source.lastOut).toBeNull(); - expect(o1._prevObserver).toBeNull(); - expect(o1._nextObserver).toBeNull(); - expect(o2._prevObserver).toBeNull(); - expect(o2._nextObserver).toBeNull(); - expect(o3._prevObserver).toBeNull(); - expect(o3._nextObserver).toBeNull(); + // every observer has no incoming edges now + expect(o1.firstIn).toBeNull(); + expect(o2.firstIn).toBeNull(); + expect(o3.firstIn).toBeNull(); }); - it("unlinkAllSourcesUnsafe removes all sources", () => { - const observer = makeNode(); - const s1 = makeNode(); - const s2 = makeNode(); - const s3 = makeNode(); + it("unlinkAllSourcesUnsafe clears all in-edges", () => { + const observer = new GraphNode(); + const s1 = new GraphNode(); + const s2 = new GraphNode(); + const s3 = new GraphNode(); - linkEdge(observer, s1); - linkEdge(observer, s2); - linkEdge(observer, s3); + linkSourceToObserverUnsafe(s1, observer); + linkSourceToObserverUnsafe(s2, observer); + linkSourceToObserverUnsafe(s3, observer); - expect(observer._sourceCount).toBe(3); + expect(observer.inCount).toBe(3); unlinkAllSourcesUnsafe(observer); - expect(observer._firstSource).toBeNull(); - expect(observer._lastSource).toBeNull(); - expect(observer._sourceCount).toBe(0); + expect(observer.inCount).toBe(0); + expect(observer.firstIn).toBeNull(); + expect(observer.lastIn).toBeNull(); - expect(s1._prevSource).toBeNull(); - expect(s1._nextSource).toBeNull(); - expect(s2._prevSource).toBeNull(); - expect(s2._nextSource).toBeNull(); - expect(s3._prevSource).toBeNull(); - expect(s3._nextSource).toBeNull(); + expect(s1.firstOut).toBeNull(); + expect(s2.firstOut).toBeNull(); + expect(s3.firstOut).toBeNull(); }); - it("linkSourceToObserverUnsafe and unlinkEdge work together", () => { - const observer = makeNode(); - const source = makeNode(); - - linkSourceToObserverUnsafe(source, observer); - expect(observer._sourceCount).toBe(1); - expect(source._observerCount).toBe(1); - - unlinkEdge(observer, source); - expect(observer._sourceCount).toBe(0); - expect(source._observerCount).toBe(0); - }); }); diff --git a/packages/@reflex/core/tests/storage/uint64array.bench.ts b/packages/@reflex/core/tests/storage/uint64array.bench.ts new file mode 100644 index 0000000..15fd23f --- /dev/null +++ b/packages/@reflex/core/tests/storage/uint64array.bench.ts @@ -0,0 +1,132 @@ +import { bench, describe } from "vitest"; +import { Uint64Array as ReflexU64 } from "../../src/storage/storage.structure"; + +const N = 1_000_000; + +// helper for ns/op +function measure(fn: () => void): number { + const start = performance.now(); + fn(); + const end = performance.now(); + return ((end - start) * 1e6) / N; // ns/op +} + +describe("Uint64Array — precise per-operation benchmarks", () => { + + bench("write() — ns/op", () => { + const S = new ReflexU64(1); + const id = S.create(); + + // warmup + for (let i = 0; i < 1000; i++) S.write(id, i, i); + + const ns = measure(() => { + for (let i = 0; i < N; i++) { + S.write(id, i, i * 7); + } + }); + + console.log(`write(): ${ns.toFixed(2)} ns/op`); + }); + + bench("rawHi/rawLo read — ns/op", () => { + const S = new ReflexU64(1); + const id = S.create(); + S.write(id, 123, 456); + + let sink = 0; + + // warmup + for (let i = 0; i < 1000; i++) { + sink ^= S.rawLo(id); + } + + const ns = measure(() => { + for (let i = 0; i < N; i++) { + sink ^= S.rawHi(id); + sink ^= S.rawLo(id); + } + }); + + if (sink === -1) throw new Error(); + console.log(`rawHi/rawLo: ${ns.toFixed(2)} ns/op`); + }); + + bench("readBigInt — ns/op", () => { + const S = new ReflexU64(1); + const id = S.create(); + S.write(id, 0x11223344, 0xaabbccd0); + + let sink = 0n; + + // warmup + for (let i = 0; i < 1000; i++) sink ^= S.readBigInt(id); + + const ns = measure(() => { + for (let i = 0; i < N; i++) { + sink ^= S.readBigInt(id); + } + }); + + if (sink === -1n) throw new Error(); + console.log(`readBigInt(): ${ns.toFixed(2)} ns/op`); + }); + + bench("writeBigInt — ns/op", () => { + const S = new ReflexU64(1); + const id = S.create(); + + let v = 0n; + + // warmup + for (let i = 0; i < 1000; i++) S.writeBigInt(id, 123n); + + const ns = measure(() => { + for (let i = 0; i < N; i++) { + S.writeBigInt(id, v); + v = (v + 1n) & ((1n << 64n) - 1n); + } + }); + + console.log(`writeBigInt(): ${ns.toFixed(2)} ns/op`); + }); + + bench("readNumber — ns/op", () => { + const S = new ReflexU64(1); + const id = S.create(); + S.write(id, 10, 20); + + let sink = 0; + + // warmup + for (let i = 0; i < 1000; i++) sink ^= S.readNumber(id); + + const ns = measure(() => { + for (let i = 0; i < N; i++) { + sink ^= S.readNumber(id); + } + }); + + if (sink === -1) throw new Error(); + console.log(`readNumber(): ${ns.toFixed(2)} ns/op`); + }); + + bench("writeNumber — ns/op", () => { + const S = new ReflexU64(1); + const id = S.create(); + + let x = 0; + + // warmup + for (let i = 0; i < 1000; i++) S.writeNumber(id, 123); + + const ns = measure(() => { + for (let i = 0; i < N; i++) { + S.writeNumber(id, x++); + } + }); + + console.log(`writeNumber(): ${ns.toFixed(2)} ns/op`); + }); + +}); diff --git a/packages/@reflex/core/tests/storage/uint64array.test.ts b/packages/@reflex/core/tests/storage/uint64array.test.ts new file mode 100644 index 0000000..3756eaf --- /dev/null +++ b/packages/@reflex/core/tests/storage/uint64array.test.ts @@ -0,0 +1,124 @@ +import { describe, it, expect } from "vitest"; +import { Uint64Array } from "../../src/storage/storage.structure"; + +describe("Uint64Array — core semantics", () => { + it("creates empty storage with correct capacity", () => { + const S = new Uint64Array(4); + expect(S.size).toBe(0); + expect(S.capacity).toBe(4); + expect(S.memoryUsage).toBe(4 * 2 * 4); + }); + + it("allocates IDs sequentially", () => { + const S = new Uint64Array(2); + const id0 = S.create(); + const id1 = S.create(); + expect(id0).toBe(0); + expect(id1).toBe(1); + expect(S.size).toBe(2); + }); + + it("grows capacity automatically", () => { + const S = new Uint64Array(1); + S.create(); // ok + expect(S.capacity).toBe(1); + + S.create(); // triggers grow: 1 -> 2 + expect(S.capacity).toBe(2); + }); + + it("write()/readBigInt() works correctly", () => { + const S = new Uint64Array(8); + const id = S.create(); + + const value = 1234567890123456789n & ((1n << 64n) - 1n); + S.writeBigInt(id, value); + + const out = S.readBigInt(id); + expect(out).toBe(value); + }); + + it("writeNumber()/readNumber() matches for safe integers", () => { + const S = new Uint64Array(8); + const id = S.create(); + const value = Number.MAX_SAFE_INTEGER; // 2^53 - 1 + + S.writeNumber(id, value); + expect(S.readNumber(id)).toBe(value); + }); + + it("rawHi/rawLo/setHi/setLo are correct", () => { + const S = new Uint64Array(8); + const id = S.create(); + + S.setHi(id, 0xdeadbeef); + S.setLo(id, 0xcafebabe); + + expect(S.rawHi(id)).toBe(0xdeadbeef >>> 0); + expect(S.rawLo(id)).toBe(0xcafebabe >>> 0); + }); + + it("write() stores correct hi/lo", () => { + const S = new Uint64Array(4); + const id = S.create(); + S.write(id, 0x11223344, 0xaabbccdd); + + expect(S.rawHi(id)).toBe(0x11223344); + expect(S.rawLo(id)).toBe(0xaabbccdd); + }); + + it("copyFrom() copies ranges", () => { + const A = new Uint64Array(8); + const B = new Uint64Array(8); + + const a0 = A.create(); + const a1 = A.create(); + A.write(a0, 1, 2); + A.write(a1, 3, 4); + + B.copyFrom(A, 0, 0, 2); + + expect(B.readBigInt(0)).toBe(A.readBigInt(0)); + expect(B.readBigInt(1)).toBe(A.readBigInt(1)); + expect(B.size).toBe(2); + }); + + it("fill() works", () => { + const S = new Uint64Array(8); + S.create(); + S.create(); + S.create(); + + S.fill(0xaaaa, 0xbbbb); + + expect(S.rawHi(0)).toBe(0xaaaa); + expect(S.rawHi(1)).toBe(0xaaaa); + expect(S.rawHi(2)).toBe(0xaaaa); + expect(S.rawLo(0)).toBe(0xbbbb); + }); + + it("subarray() returns correct view", () => { + const S = new Uint64Array(8); + S.create(); + S.create(); + S.write(0, 1, 2); + S.write(1, 3, 4); + + const view = S.subarray(0, 2); + expect(view.length).toBe(4); // hi0, lo0, hi1, lo1 + expect(view[0]).toBe(1); + expect(view[1]).toBe(2); + }); + + it("clear() resets size but preserves memory", () => { + const S = new Uint64Array(4); + S.create(); + S.create(); + expect(S.size).toBe(2); + + const oldMem = S.memoryUsage; + S.clear(); + expect(S.size).toBe(0); + expect(S.memoryUsage).toBe(oldMem); + }); +}); diff --git a/packages/@reflex/runtime/src/primitive/signal.ts b/packages/@reflex/runtime/src/primitive/signal.ts index 7a1ce54..695c4d1 100644 --- a/packages/@reflex/runtime/src/primitive/signal.ts +++ b/packages/@reflex/runtime/src/primitive/signal.ts @@ -1,6 +1,3 @@ -import { GraphNode } from "../../core/graph/graph.node"; -import { IReactiveValue } from "../../core/graph/graph.types"; -import { IOwnership } from "../../core/ownership/ownership.type"; class Signal { private value: T; @@ -26,24 +23,27 @@ class Signal { } } -export function createSignal( - owner: IOwnership | null, - value: T, -): IReactiveValue { - const graphNode = new GraphNode(); - const signal = new Signal(value, owner, graphNode); - - const reactive: IReactiveValue = ((newValue?: T): T | void => { - return arguments.length === 0 ? signal.get() : signal.set(newValue as T); - }) as IReactiveValue; +class ReactiveValue { + constructor(private signal: Signal) {} - reactive.get = () => signal.get(); - reactive.set = (v: T) => signal.set(v); + get() { + return this.signal.get(); + } - owner?.onScopeCleanup(() => { - // signal.cleanup(); - // graphNode.cleanup?.(); - }); + set(v: T) { + return this.signal.set(v); + } +} +export const createSignal = ( + owner: IOwnership | null, + value: T, +): ReactiveValue => { + const node = new GraphNode(); + const signal = new Signal(value, owner, node); + const reactive = new ReactiveValue(signal); + // owner?.onScopeCleanup(signal.cleanup); return reactive; -} +}; + +const s = createSignal({}, 1); diff --git a/packages/@reflex/core/src/graph/graph.types.ts b/packages/@reflex/runtime/src/primitive/types.ts similarity index 100% rename from packages/@reflex/core/src/graph/graph.types.ts rename to packages/@reflex/runtime/src/primitive/types.ts diff --git a/packages/reflex-dom/src/client/tags.ts b/packages/reflex-dom/src/client/tags.ts index ef5b834..cb45423 100644 --- a/packages/reflex-dom/src/client/tags.ts +++ b/packages/reflex-dom/src/client/tags.ts @@ -1,242 +1,245 @@ -const HTML_TAGS = { - a: true, - abbr: true, - address: true, - area: true, - article: true, - aside: true, - audio: true, - b: true, - base: true, - bdi: true, - bdo: true, - blockquote: true, - body: true, - br: true, - button: true, - canvas: true, - caption: true, - cite: true, - code: true, - col: true, - colgroup: true, - data: true, - datalist: true, - dd: true, - del: true, - details: true, - dfn: true, - dialog: true, - div: true, - dl: true, - dt: true, - em: true, - embed: true, - fieldset: true, - figcaption: true, - figure: true, - footer: true, - form: true, - h1: true, - h2: true, - h3: true, - h4: true, - h5: true, - h6: true, - head: true, - header: true, - hgroup: true, - hr: true, - html: true, - i: true, - iframe: true, - img: true, - input: true, - ins: true, - kbd: true, - label: true, - legend: true, - li: true, - link: true, - main: true, - map: true, - mark: true, - menu: true, - meta: true, - meter: true, - nav: true, - noscript: true, - object: true, - ol: true, - optgroup: true, - option: true, - output: true, - p: true, - param: true, - picture: true, - pre: true, - progress: true, - q: true, - rb: true, - rp: true, - rt: true, - rtc: true, - ruby: true, - s: true, - samp: true, - script: true, - search: true, - section: true, - select: true, - slot: true, - small: true, - source: true, - span: true, - strong: true, - style: true, - sub: true, - summary: true, - sup: true, - table: true, - tbody: true, - td: true, - template: true, - textarea: true, - tfoot: true, - th: true, - thead: true, - time: true, - title: true, - tr: true, - track: true, - u: true, - ul: true, - var: true, - video: true, - wbr: true, -} as const; +/** Creates a null-prototype lookup object for maximal speed */ +function makeLookup(items: readonly string[]) { + const table: Record = Object.create(null); -const SVG_TAGS = { - a: true, - animate: true, - animateMotion: true, - animateTransform: true, - circle: true, - clipPath: true, - defs: true, - desc: true, - ellipse: true, - feBlend: true, - feColorMatrix: true, - feComponentTransfer: true, - feComposite: true, - feConvolveMatrix: true, - feDiffuseLighting: true, - feDisplacementMap: true, - feDistantLight: true, - feDropShadow: true, - feFlood: true, - feFuncA: true, - feFuncB: true, - feFuncG: true, - feFuncR: true, - feGaussianBlur: true, - feImage: true, - feMerge: true, - feMergeNode: true, - feMorphology: true, - feOffset: true, - fePointLight: true, - feSpecularLighting: true, - feSpotLight: true, - feTile: true, - feTurbulence: true, - filter: true, - font: true, - "font-face": true, - foreignObject: true, - g: true, - glyph: true, - glyphRef: true, - hkern: true, - image: true, - line: true, - linearGradient: true, - marker: true, - mask: true, - metadata: true, - "missing-glyph": true, - mpath: true, - path: true, - pattern: true, - polygon: true, - polyline: true, - radialGradient: true, - rect: true, - script: true, - set: true, - stop: true, - style: true, - svg: true, - switch: true, - symbol: true, - text: true, - textPath: true, - title: true, - tref: true, - tspan: true, - use: true, - view: true, - vkern: true, -} as const; + for (let i = 0, len = items.length; i < len; i++) { + table[items[i]!] = true; + } -const VOID_TAGS = { - area: true, - base: true, - br: true, - col: true, - embed: true, - hr: true, - img: true, - input: true, - link: true, - meta: true, - param: true, - source: true, - track: true, - wbr: true, -} as const; + return table; +} -type HTMLTag = keyof typeof HTML_TAGS; -type SVGTag = keyof typeof SVG_TAGS; -type VoidTag = keyof typeof VOID_TAGS; +const HTML_TAGS = makeLookup([ + "a", + "abbr", + "address", + "area", + "article", + "aside", + "audio", + "b", + "base", + "bdi", + "bdo", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "cite", + "code", + "col", + "colgroup", + "data", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "div", + "dl", + "dt", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hgroup", + "hr", + "html", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "label", + "legend", + "li", + "link", + "main", + "map", + "mark", + "menu", + "meta", + "meter", + "nav", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "param", + "picture", + "pre", + "progress", + "q", + "rb", + "rp", + "rt", + "rtc", + "ruby", + "s", + "samp", + "script", + "search", + "section", + "select", + "slot", + "small", + "source", + "span", + "strong", + "style", + "sub", + "summary", + "sup", + "table", + "tbody", + "td", + "template", + "textarea", + "tfoot", + "th", + "thead", + "time", + "title", + "tr", + "track", + "u", + "ul", + "var", + "video", + "wbr", +] as const); -function hasTag( - tag: T, - type: "html" | "svg" | "void" = "html" -): boolean { - switch (type) { - case "html": - return !!HTML_TAGS[tag as HTMLTag]; - case "svg": - return !!SVG_TAGS[tag as SVGTag]; - case "void": - return !!VOID_TAGS[tag as VoidTag]; - default: - return false; - } -} +const SVG_TAGS = makeLookup([ + "a", + "animate", + "animateMotion", + "animateTransform", + "circle", + "clipPath", + "defs", + "desc", + "ellipse", + "feBlend", + "feColorMatrix", + "feComponentTransfer", + "feComposite", + "feConvolveMatrix", + "feDiffuseLighting", + "feDisplacementMap", + "feDistantLight", + "feDropShadow", + "feFlood", + "feFuncA", + "feFuncB", + "feFuncG", + "feFuncR", + "feGaussianBlur", + "feImage", + "feMerge", + "feMergeNode", + "feMorphology", + "feOffset", + "fePointLight", + "feSpecularLighting", + "feSpotLight", + "feTile", + "feTurbulence", + "filter", + "font", + "font-face", + "foreignObject", + "g", + "glyph", + "glyphRef", + "hkern", + "image", + "line", + "linearGradient", + "marker", + "mask", + "metadata", + "missing-glyph", + "mpath", + "path", + "pattern", + "polygon", + "polyline", + "radialGradient", + "rect", + "script", + "set", + "stop", + "style", + "svg", + "switch", + "symbol", + "text", + "textPath", + "title", + "tref", + "tspan", + "use", + "view", + "vkern", +] as const); + +const VOID_TAGS = makeLookup([ + "area", + "base", + "br", + "col", + "embed", + "hr", + "img", + "input", + "link", + "meta", + "param", + "source", + "track", + "wbr", +] as const); -const isHTMLTag = (tag: HTMLTag): boolean => hasTag(tag, "html"); -const isSVGTag = (tag: SVGTag): boolean => hasTag(tag, "svg"); -const isVoidTag = (tag: VoidTag): boolean => hasTag(tag, "void"); +export type HTMLTag = keyof typeof HTML_TAGS; +export type SVGTag = keyof typeof SVG_TAGS; +export type VoidTag = keyof typeof VOID_TAGS; -export { - isHTMLTag, - isSVGTag, - isVoidTag, - hasTag, - HTMLTag, - SVGTag, - VoidTag, -}; +/** Ultra-fast lookups (branchless except early-exit) */ + +export const isHTMLTag = (tag: string): boolean => + HTML_TAGS[tag as HTMLTag] === true; + +export const isSVGTag = (tag: string): boolean => + SVG_TAGS[tag as SVGTag] === true; + +export const isVoidTag = (tag: string): boolean => + VOID_TAGS[tag as VoidTag] === true; + +/** + * Unified lookup with no switch + */ +export function hasTag(tag: string, type: "html" | "svg" | "void"): boolean { + return type === "html" + ? HTML_TAGS[tag as HTMLTag] === true + : type === "svg" + ? SVG_TAGS[tag as SVGTag] === true + : VOID_TAGS[tag as VoidTag] === true; +} diff --git a/packages/reflex-dom/src/dom.d.ts b/packages/reflex-dom/src/dom.d.ts deleted file mode 100644 index 84f3f9f..0000000 --- a/packages/reflex-dom/src/dom.d.ts +++ /dev/null @@ -1,246 +0,0 @@ -// Core DOM Node interface, base for all DOM nodes -export interface DOMNode { - // Node type constants as per https://dom.spec.whatwg.org/#interface-node - readonly nodeType: number; - readonly nodeName: string; - readonly ownerDocument: Document | null; - parentNode: DOMNode | null; - parentElement: Element | null; - readonly childNodes: NodeList; - firstChild: DOMNode | null; - lastChild: DOMNode | null; - previousSibling: DOMNode | null; - nextSibling: DOMNode | null; - nodeValue: string | null; - textContent: string | null; - - // Methods for node manipulation - appendChild(node: T): T; - insertBefore(node: T, child: DOMNode | null): T; - removeChild(child: T): T; - replaceChild(newChild: T, oldChild: DOMNode): T; - cloneNode(deep?: boolean): DOMNode; - contains(other: DOMNode | null): boolean; - isEqualNode(other: DOMNode | null): boolean; - - // Event handling - addEventListener( - type: K, - listener: (this: DOMNode, ev: HTMLElementEventMap[K]) => void, - options?: boolean | AddEventListenerOptions - ): void; - removeEventListener( - type: K, - listener: (this: DOMNode, ev: HTMLElementEventMap[K]) => void, - options?: boolean | EventListenerOptions - ): void; - dispatchEvent(event: Event): boolean; -} - -// Node type constants for clarity and type safety -export enum NodeType { - ELEMENT_NODE = 1, - TEXT_NODE = 3, - COMMENT_NODE = 8, - DOCUMENT_NODE = 9, - DOCUMENT_TYPE_NODE = 10, - DOCUMENT_FRAGMENT_NODE = 11, -} - -// Generic NodeList interface for collections of nodes -export interface NodeList { - readonly length: number; - item(index: number): T | null; - [index: number]: T; - [Symbol.iterator](): Iterator; -} - -// Document interface, representing the root of the DOM tree -export interface Document extends DOMNode { - readonly nodeType: typeof NodeType.DOCUMENT_NODE; - readonly documentElement: Element | null; - readonly body: HTMLElement | null; - readonly head: HTMLHeadElement | null; - defaultView: Window | null; - - createElement(tagName: K): HTMLElementTagNameMap[K]; - createElementNS(namespaceURI: string | null, qualifiedName: string): Element; - createTextNode(data: string): TextNode; - createComment(data: string): CommentNode; - createDocumentFragment(): DocumentFragment; - - getElementById(id: string): Element | null; - querySelector(selectors: K): HTMLElementTagNameMap[K] | null; - querySelector(selectors: string): E | null; - querySelectorAll(selectors: K): NodeList; - querySelectorAll(selectors: string): NodeList; - - adoptNode(node: T): T; - importNode(node: T, deep: boolean): T; -} - -// Element interface, representing HTML or SVG elements -export interface Element extends DOMNode { - readonly nodeType: typeof NodeType.ELEMENT_NODE; - readonly tagName: string; - readonly attributes: NamedNodeMap; - readonly classList: DOMTokenList; - id: string; - className: string; - innerHTML: string; - outerHTML: string; - - getAttribute(name: string): string | null; - setAttribute(name: string, value: string): void; - removeAttribute(name: string): void; - hasAttribute(name: string): boolean; - - querySelector(selectors: K): HTMLElementTagNameMap[K] | null; - querySelector(selectors: string): E | null; - querySelectorAll(selectors: K): NodeList; - querySelectorAll(selectors: string): NodeList; - - getElementsByTagName(tagName: K): NodeList; - getElementsByTagName(tagName: string): NodeList; - getElementsByClassName(className: string): NodeList; - - matches(selectors: string): boolean; - closest(selector: K): HTMLElementTagNameMap[K] | null; - closest(selector: string): E | null; -} - -// HTMLElement interface, extending Element for HTML-specific elements -export interface HTMLElement extends Element { - title: string; - lang: string; - dir: string; - hidden: boolean; - tabIndex: number; - accessKey: string; - - style: CSSStyleDeclaration; - dataset: DOMStringMap; - - click(): void; - focus(options?: FocusOptions): void; - blur(): void; -} - -// Specific HTML element interfaces (subset for brevity) -export interface HTMLHeadElement extends HTMLElement { - readonly tagName: 'HEAD'; -} - -export interface HTMLBodyElement extends HTMLElement { - readonly tagName: 'BODY'; -} - -export interface HTMLAnchorElement extends HTMLElement { - readonly tagName: 'A'; - href: string; - target: string; - rel: string; -} - -export interface HTMLInputElement extends HTMLElement { - readonly tagName: 'INPUT'; - type: string; - value: string; - checked: boolean; - disabled: boolean; -} - -// Text node interface -export interface TextNode extends DOMNode { - readonly nodeType: typeof NodeType.TEXT_NODE; - readonly data: string; - readonly wholeText: string; - splitText(offset: number): TextNode; -} - -// Comment node interface -export interface CommentNode extends DOMNode { - readonly nodeType: typeof NodeType.COMMENT_NODE; - readonly data: string; -} - -// DocumentFragment interface -export interface DocumentFragment extends DOMNode { - readonly nodeType: typeof NodeType.DOCUMENT_FRAGMENT_NODE; -} - -// NamedNodeMap for element attributes -export interface NamedNodeMap { - readonly length: number; - getNamedItem(name: string): Attr | null; - setNamedItem(attr: Attr): void; - removeNamedItem(name: string): Attr; - item(index: number): Attr | null; - [index: number]: Attr; -} - -// Attr interface for element attributes -export interface Attr { - readonly name: string; - value: string; - readonly namespaceURI: string | null; - readonly localName: string; -} - -// DOMTokenList for classList -export interface DOMTokenList { - readonly length: number; - value: string; - add(...tokens: string[]): void; - remove(...tokens: string[]): void; - toggle(token: string, force?: boolean): boolean; - contains(token: string): boolean; - [index: number]: string; - [Symbol.iterator](): Iterator; -} - -// CSSStyleDeclaration for element.style -export interface CSSStyleDeclaration { - cssText: string; - getPropertyValue(property: string): string; - setProperty(property: string, value: string | null, priority?: string): void; - removeProperty(property: string): string; - [index: number]: string; -} - -// DOMStringMap for dataset -export interface DOMStringMap { - [key: string]: string | undefined; -} - -// Event-related interfaces (simplified) -export interface Event { - readonly type: string; - readonly target: DOMNode | null; - readonly currentTarget: DOMNode | null; - preventDefault(): void; - stopPropagation(): void; -} - -export interface AddEventListenerOptions { - capture?: boolean; - once?: boolean; - passive?: boolean; -} - -export interface EventListenerOptions { - capture?: boolean; -} - -// Type map for HTML elements (subset for brevity) -export interface HTMLElementTagNameMap { - 'a': HTMLAnchorElement; - 'body': HTMLBodyElement; - 'head': HTMLHeadElement; - 'input': HTMLInputElement; - 'div': HTMLElement; - 'span': HTMLElement; - 'p': HTMLElement; - // Add more as needed -} - diff --git a/packages/reflex-dom/src/shared/avaiblable.ts b/packages/reflex-dom/src/shared/avaiblable.ts new file mode 100644 index 0000000..d9de9a4 --- /dev/null +++ b/packages/reflex-dom/src/shared/avaiblable.ts @@ -0,0 +1,35 @@ +/** + * Returns true if running in any real browser context. + * (window + document + createElement must exist) + */ +export const IS_BROWSER = + typeof globalThis.window !== "undefined" && + typeof globalThis.document !== "undefined" && + typeof globalThis.document.createElement === "function"; + +/** + * Returns true if DOM-like APIs exist. + * JSDOM → true + * Real browser → true + * Node/Bun/SSR → false + */ +export const IS_DOM_AVAILABLE = IS_BROWSER; + +/** + * Returns true for server-side environments (Node, Bun, Deno). + * Works reliably for SSR setups. + */ +export const IS_SERVER = !IS_BROWSER; + +/** + * Detects JSDOM specifically. + * JSDOM sets navigator.userAgent containing "jsdom". + * Safe: navigator may not exist → optional checks. + */ +export const IS_JSDOM = + IS_DOM_AVAILABLE && + !!( + globalThis.navigator && + typeof globalThis.navigator.userAgent === "string" && + globalThis.navigator.userAgent.includes("jsdom") + ); diff --git a/packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts b/packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts index c25a133..679b71a 100644 --- a/packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts +++ b/packages/reflex-dom/src/shared/events/getVendorPrefixedEventName.ts @@ -1,78 +1,88 @@ -import { IS_DOM_AVAILABLE } from "../isDomAvailable" - -/** - * Style object used to detect supported CSS properties. - * If the DOM is unavailable (SSR or test environment), `style` will be empty. - */ -let style: CSSStyleDeclaration | {} = {}; - -if (IS_DOM_AVAILABLE) { - style = document.createElement("div").style; -} +import { IS_DOM_AVAILABLE } from "../avaiblable"; type VendorPrefixedEvent = | "animationend" | "animationiteration" | "animationstart" - | "transitionend" + | "transitionend"; /** - * A map of modern event names to their possible vendor-prefixed alternatives. - * In 2025, only `Webkit` prefixes may still be relevant for some legacy WebKit-based browsers. - * Other prefixes (e.g., `Moz`) are considered obsolete and are not included. + * Один раз создаём style и вычисляем, какие свойства вообще поддерживаются. */ -const vendorMap: Record> = { - animationend: { - animation: "animationend", - WebkitAnimation: "webkitAnimationEnd", - }, - animationiteration: { - animation: "animationiteration", - WebkitAnimation: "webkitAnimationIteration", - }, - animationstart: { - animation: "animationstart", - WebkitAnimation: "webkitAnimationStart", - }, - transitionend: { - transition: "transitionend", - WebkitTransition: "webkitTransitionEnd", - }, -}; +const style: CSSStyleDeclaration | null = IS_DOM_AVAILABLE + ? document.createElement("div").style + : null; + +const supports = + style && IS_DOM_AVAILABLE + ? { + animation: "animation" in style, + WebkitAnimation: "WebkitAnimation" in style, + transition: "transition" in style, + WebkitTransition: "WebkitTransition" in style, + } + : null; /** - * Simple cache to avoid repeatedly checking `style` for the same event name. + * Кэш по именам событий, чтобы не делать лишнюю логику после первого вызова. */ -const cache: Record = {}; +const cache: Partial> = Object.create(null); /** - * Returns the correct event name for the current environment, using vendor prefixes if necessary. - * - * Notes on fallback behavior: - * - In modern browsers (Chrome, Firefox, Edge, Safari), the unprefixed event name is sufficient. - * - `Webkit` prefixes are retained only as a minimal fallback for legacy WebKit-based browsers. - * - If the DOM is unavailable (e.g., server-side rendering), the original event name is returned. + * Возвращает корректное имя события для текущего окружения. */ export function getVendorPrefixedEventName(event: VendorPrefixedEvent): string { - if (cache[event]) { - return cache[event]; + const cached = cache[event]; + if (cached) { + return cached; } - const map = vendorMap[event]; - - if (!map) { - return (cache[event] = event); + // SSR / тесты / нет style — ничего не мудрим + if (!supports) { + cache[event] = event; + return event; } - for (const prop in map) { - if (prop in style) { - return (cache[event] = map[prop]); - } - } + let resolved: string; - // Fallback: return the original event name if no supported property is detected - return (cache[event] = event); -} + switch (event) { + case "animationend": + resolved = supports.animation + ? "animationend" + : supports.WebkitAnimation + ? "webkitAnimationEnd" + : "animationend"; + break; + + case "animationiteration": + resolved = supports.animation + ? "animationiteration" + : supports.WebkitAnimation + ? "webkitAnimationIteration" + : "animationiteration"; + break; + case "animationstart": + resolved = supports.animation + ? "animationstart" + : supports.WebkitAnimation + ? "webkitAnimationStart" + : "animationstart"; + break; + case "transitionend": + resolved = supports.transition + ? "transitionend" + : supports.WebkitTransition + ? "webkitTransitionEnd" + : "transitionend"; + break; + default: + // На случай расширения типів в будущем + resolved = event; + } + + cache[event] = resolved; + return resolved; +} diff --git a/packages/reflex-dom/src/shared/isDomAvailable.ts b/packages/reflex-dom/src/shared/isDomAvailable.ts deleted file mode 100644 index b28db96..0000000 --- a/packages/reflex-dom/src/shared/isDomAvailable.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Indicates whether the DOM is available. - * This can be useful for determining if certain browser APIs are accessible. - */ -export const IS_DOM_AVAILABLE = typeof globalThis.document !== "undefined" diff --git a/packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts b/packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts index dd5ad14..c4626ad 100644 --- a/packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts +++ b/packages/reflex-dom/src/shared/validate/DOMNestingClassificator.ts @@ -3,11 +3,11 @@ import { SCRIPT_SUPPORTING, VOID_ELEMENTS, IMPLIED_END_TAGS, -} from "../../client/nestingRule" +} from "../../client/nestingRule"; type LookupExistingFlag = 1 & { __brand: "LOOKUP_EXISTING_FLAG" }; - const LOOKUP_EXISTING_FLAG = 1 as LookupExistingFlag; + const SPECIAL_RULES = { RUBY: "__RUBY__", // Ruby annotations DATALIST: "__DATALIST__", // Data list options @@ -15,7 +15,7 @@ const SPECIAL_RULES = { } as const; function makeLookup( - tokens: Iterable + tokens: Iterable, ): Record { const o = Object.create(null) as Record; for (const t of tokens) { @@ -25,17 +25,18 @@ function makeLookup( } function toLookup( - entries: Iterable + entries: Iterable, ): Record { return makeLookup(entries); } function strToLookup( - str: string | undefined + str: string | undefined, ): Record | undefined { if (str == null) return undefined; - if (str === "") + if (str === "") { return Object.create(null) as Record; + } return makeLookup(str.split(/\s+/)); } @@ -50,7 +51,6 @@ const enum AllowedKind { Set = 2, } - const RULE_DATA: Array<[string, AllowedKind, string?, string?]> = [ ["html", AllowedKind.Set, "head body"], [ @@ -209,11 +209,11 @@ interface NormalizedRule { } function normalizeRules( - data: typeof RULE_DATA + data: typeof RULE_DATA, ): Record { const out = Object.create(null) as Record; - for (const [tag, kindNum, allowedList, forbiddenList] of RULE_DATA) { + for (const [tag, kindNum, allowedList, forbiddenList] of data) { let allowedSet: Record | undefined; if (kindNum === AllowedKind.Set) { @@ -240,7 +240,7 @@ function normalizeRules( allowedSet = strToLookup(allowedList); } } - + out[tag] = { kind: kindNum, allowedSet, @@ -251,8 +251,6 @@ function normalizeRules( return out; } -// if (__DEV__) Object.freeze(NORMALIZED_RULES); - interface AncestorInfo { currentTag: string | null; formTag: string | null; @@ -263,48 +261,15 @@ interface AncestorInfo { dlItemTagAutoclosing: string | null; } +/** Горячие lookup-функции без лишних абстракций. */ const isPhrasing = (tag: string): boolean => PHRASING_LOOKUP[tag] === LOOKUP_EXISTING_FLAG; + const isVoid = (tag: string): boolean => VOID_LOOKUP[tag] === LOOKUP_EXISTING_FLAG; const NORMALIZED_RULES = normalizeRules(RULE_DATA); -function isValidChild( - parentTag: string, - childTag: string, - ancestorInfo: AncestorInfo -): boolean { - if (isVoid(parentTag)) { - return false; - } - - const norm = NORMALIZED_RULES[parentTag]; - - if (!norm) return checkContextRestrictions(childTag, ancestorInfo); - - switch (norm.kind) { - case AllowedKind.Any: - break; - case AllowedKind.Phrasing: - if (!isPhrasing(childTag)) { - return false; - } - break; - case AllowedKind.Set: - if (norm.allowedSet?.[childTag] !== LOOKUP_EXISTING_FLAG) { - return false; - } - break; - } - - if (norm.forbiddenSet?.[childTag] === LOOKUP_EXISTING_FLAG) { - return false; - } - - return checkContextRestrictions(childTag, ancestorInfo); -} - const CONTEXT_RESTRICTIONS: Record = Object.freeze({ form: "formTag", a: "aTagInScope", @@ -315,24 +280,56 @@ const CONTEXT_RESTRICTIONS: Record = Object.freeze({ dt: "dlItemTagAutoclosing", }); -function checkContextRestrictions( - childTag: string, - ancestorInfo: AncestorInfo -): boolean { - const k = CONTEXT_RESTRICTIONS[childTag]; - return k ? ancestorInfo[k] == null : true; -} - +/** + * Основной hot-path: одна функция, минимум вложенных вызовов. + */ export function validateDOMNesting( childTag: string, parentTag: string | null, - ancestorInfo: AncestorInfo + ancestorInfo: AncestorInfo, ): boolean { - if (!parentTag) { + if (parentTag == null) { return true; } - return isValidChild(parentTag, childTag, ancestorInfo); + // void-элементы никогда не имеют детей + if (isVoid(parentTag)) { + return false; + } + + const norm = NORMALIZED_RULES[parentTag]; + + if (norm) { + // 1) Проверка по типу разрешённого контента + switch (norm.kind) { + case AllowedKind.Any: + break; + + case AllowedKind.Phrasing: + if (!isPhrasing(childTag)) { + return false; + } + break; + + case AllowedKind.Set: { + const allowed = norm.allowedSet; + if (!allowed || allowed[childTag] !== LOOKUP_EXISTING_FLAG) { + return false; + } + break; + } + } + + // 2) Запрещённый набор (если есть) + const forbidden = norm.forbiddenSet; + if (forbidden && forbidden[childTag] === LOOKUP_EXISTING_FLAG) { + return false; + } + } + + // 3) Контекстные ограничения (формы, вложенные , и т.д.) + const ctxKey = CONTEXT_RESTRICTIONS[childTag]; + return ctxKey ? ancestorInfo[ctxKey] == null : true; } const SCOPE_UPDATES: Record = Object.freeze({ @@ -345,11 +342,15 @@ const SCOPE_UPDATES: Record = Object.freeze({ dt: "dlItemTagAutoclosing", }); +/** + * Второй hot-path: обновление AncestorInfo максимально дёшево. + * Объект реиспользуется, без лишних аллокаций. + */ export function updateAncestorInfo( info: AncestorInfo | null, - tag: string + tag: string, ): AncestorInfo { - const ancestorInfo: AncestorInfo = info || { + const ancestorInfo: AncestorInfo = info ?? { currentTag: null, formTag: null, aTagInScope: null, @@ -360,8 +361,8 @@ export function updateAncestorInfo( }; ancestorInfo.currentTag = tag; - const scopeKey = SCOPE_UPDATES[tag]; + const scopeKey = SCOPE_UPDATES[tag]; if (scopeKey) { ancestorInfo[scopeKey] = tag; } @@ -376,12 +377,13 @@ export { IMPLIED_END_TAGS, }; +/** Внешние хелперы тоже переводим на прямой lookup, без `in`. */ export function isPhrasingContent(tagName: string): boolean { - return tagName in PHRASING_LOOKUP; + return PHRASING_LOOKUP[tagName] === LOOKUP_EXISTING_FLAG; } export function isVoidElement(tagName: string): boolean { - return tagName in VOID_LOOKUP; + return VOID_LOOKUP[tagName] === LOOKUP_EXISTING_FLAG; } export const __INTERNAL_LOOKUPS__ = { diff --git a/packages/reflex-dom/src/shared/validate/isAttributeNameSafe.ts b/packages/reflex-dom/src/shared/validate/isAttributeNameSafe.ts index b96d14b..74b448a 100644 --- a/packages/reflex-dom/src/shared/validate/isAttributeNameSafe.ts +++ b/packages/reflex-dom/src/shared/validate/isAttributeNameSafe.ts @@ -1,7 +1,26 @@ /** - * Optional: Precompiled regex for reuse in high-performance scenarios + * TABLE[c] = bitmask: + * bit0 (1) → valid as first char + * bit1 (2) → valid as subsequent char */ -export const SAFE_ATTRIBUTE_REGEX = /^[A-Za-z_:][A-Za-z0-9_:.-\u00B7]*$/; +export const TABLE = new Uint8Array(256); + +(() => { + // First char: A–Z, a–z, _, : + for (let c = 65; c <= 90; c++) TABLE[c] = 3; // A-Z → 0b11 + for (let c = 97; c <= 122; c++) TABLE[c] = 3; // a-z → 0b11 + TABLE[95] = 3; // _ + TABLE[58] = 3; // : + + // Subsequent chars only: 0–9, -, ., · + for (let c = 48; c <= 57; c++) TABLE[c] = 2; // 0-9 → 0b10 + TABLE[45] = 2; // - + TABLE[46] = 2; // . + TABLE[183] = 2; // · (middle dot) +})(); + +// extend "both" (bitmask |= 2) for symbols allowed both first & next +// Already done for A-Z, a-z, _, : /** * Validates whether an attribute name is safe according to the specified rules: @@ -12,62 +31,27 @@ export const SAFE_ATTRIBUTE_REGEX = /^[A-Za-z_:][A-Za-z0-9_:.-\u00B7]*$/; * @param attributeName The attribute name to validate * @returns True if the attribute name is safe, false otherwise */ -export function isAttributeNameSafe(attributeName: string): boolean { - if (typeof attributeName !== "string" || !attributeName) { - return false; - } - - if (256 < attributeName.length) { - return false; // Prevent excessively long attribute names - } - - return SAFE_ATTRIBUTE_REGEX.test(attributeName); -} - /** - * Alternative non-regex implementation for specific high-performance use cases - * @param attributeName The attribute name to validate - * @returns True if the attribute name is safe, false otherwise + * Lookup tables for ASCII characters. + * 1 = allowed, 0 = forbidden. + * Length is exactly 256. */ -export function isAttributeNameSafeNonRegex(attributeName: string): boolean { - const len = attributeName.length; - - if (typeof attributeName !== "string" || !attributeName || 256 < len) { - return false; - } +/** + * Ultra-fast ASCII attribute validator using two lookup tables. + */ +export function isAttributeNameSafeBranchless(name: string): boolean { + const len = name.length; + if (len === 0 || len > 256) return false; - const firstCharCode = attributeName.charCodeAt(0); - if (!isValidFirstChar(firstCharCode)) { - return false; - } + // First char must satisfy (TABLE[c] & 1) !== 0 + let c = name.charCodeAt(0); + if (c >= 256 || (TABLE[c]! & 1) === 0) return false; + // Next chars: (TABLE[c] & 2) !== 0 for (let i = 1; i < len; i++) { - if (!isValidSubsequentChar(attributeName.charCodeAt(i))) { - return false; - } + c = name.charCodeAt(i); + if (c >= 256 || (TABLE[c]! & 2) === 0) return false; } return true; } - -function isValidFirstChar(charCode: number): boolean { - return ( - (charCode >= 65 && charCode <= 90) || // A-Z - (charCode >= 97 && charCode <= 122) || // a-z - charCode === 95 || // _ - charCode === 58 // : - ); -} - -function isValidSubsequentChar(charCode: number): boolean { - return ( - (charCode >= 65 && charCode <= 90) || // A-Z - (charCode >= 97 && charCode <= 122) || // a-z - (charCode >= 48 && charCode <= 57) || // 0-9 - charCode === 95 || // _ - charCode === 58 || // : - charCode === 45 || // - - charCode === 46 || // . - charCode === 183 // · - ); -} diff --git a/packages/reflex-dom/tsconfig.json b/packages/reflex-dom/tsconfig.json index 32d3cfd..67ea32c 100644 --- a/packages/reflex-dom/tsconfig.json +++ b/packages/reflex-dom/tsconfig.json @@ -18,9 +18,9 @@ "isolatedModules": true, "composite": true }, - "references": [ - { "path": "../reflex" } - ], + // "references": [ + // { "path": "../ref"} + // ], "include": ["src"], "exclude": ["dist", "**/*.test.ts"] } From 2074d608cc87c6b98434c77be28b4615afb371e9 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Fri, 12 Dec 2025 21:25:40 +0200 Subject: [PATCH 31/32] refactor: remove deprecated graph operations and ownership types - Deleted obsolete graph operations from `graph.operations.ts` as they are no longer needed in the new architecture. - Removed `README.md`, `object.dispose.ts`, `object.inherit.ts`, `assert.ts`, and `bitwise.ts` files that contained outdated or unused code. - Introduced new ownership context management in `ownership.context.ts` and `ownership.contract.ts` to streamline ownership handling. - Refactored `OwnershipNode` to utilize the new context management system and removed legacy ownership methods. - Updated tests to reflect changes in graph operations and ownership management. --- .../@reflex/core/src/graph/graph.contract.ts | 230 +++++++++++ packages/@reflex/core/src/graph/graph.node.ts | 35 -- .../core/src/graph/process/graph.intrusive.ts | 387 ------------------ .../core/src/graph/process/graph.linker.ts | 48 --- .../core/src/graph/process/graph.methods.ts | 363 ++++++++++++++++ .../core/src/graph/process/graph.node.ts | 144 +++++++ .../src/graph/process/graph.operations.ts | 68 --- packages/@reflex/core/src/object/README.md | 3 - .../@reflex/core/src/object/object.dispose.ts | 11 - .../@reflex/core/src/object/object.inherit.ts | 5 - .../@reflex/core/src/object/utils/assert.ts | 26 -- .../@reflex/core/src/object/utils/bitwise.ts | 37 -- .../core/src/ownership/ownership.context.ts | 53 +++ .../core/src/ownership/ownership.contract.ts | 40 ++ .../core/src/ownership/ownership.core.ts | 23 -- .../core/src/ownership/ownership.error.ts | 38 -- .../core/src/ownership/ownership.node.ts | 244 +++++------ .../core/src/ownership/ownership.scope.ts | 11 +- .../core/src/ownership/ownership.type.ts | 77 ---- .../core/src/storage/config/CausalCoords.ts | 7 +- .../@reflex/core/tests/graph/graph.bench.ts | 41 +- .../@reflex/core/tests/graph/graph.test.ts | 55 ++- packages/@reflex/runtime/src/index.runtime.ts | 74 +--- .../@reflex/runtime/src/primitive/signal.ts | 29 +- 24 files changed, 1006 insertions(+), 1043 deletions(-) create mode 100644 packages/@reflex/core/src/graph/graph.contract.ts delete mode 100644 packages/@reflex/core/src/graph/graph.node.ts delete mode 100644 packages/@reflex/core/src/graph/process/graph.intrusive.ts delete mode 100644 packages/@reflex/core/src/graph/process/graph.linker.ts create mode 100644 packages/@reflex/core/src/graph/process/graph.methods.ts create mode 100644 packages/@reflex/core/src/graph/process/graph.node.ts delete mode 100644 packages/@reflex/core/src/graph/process/graph.operations.ts delete mode 100644 packages/@reflex/core/src/object/README.md delete mode 100644 packages/@reflex/core/src/object/object.dispose.ts delete mode 100644 packages/@reflex/core/src/object/object.inherit.ts delete mode 100644 packages/@reflex/core/src/object/utils/assert.ts delete mode 100644 packages/@reflex/core/src/object/utils/bitwise.ts create mode 100644 packages/@reflex/core/src/ownership/ownership.context.ts create mode 100644 packages/@reflex/core/src/ownership/ownership.contract.ts delete mode 100644 packages/@reflex/core/src/ownership/ownership.core.ts delete mode 100644 packages/@reflex/core/src/ownership/ownership.error.ts delete mode 100644 packages/@reflex/core/src/ownership/ownership.type.ts diff --git a/packages/@reflex/core/src/graph/graph.contract.ts b/packages/@reflex/core/src/graph/graph.contract.ts new file mode 100644 index 0000000..9c967a4 --- /dev/null +++ b/packages/@reflex/core/src/graph/graph.contract.ts @@ -0,0 +1,230 @@ +import { NodeIndex, GraphNode } from "./process/graph.node"; +import { + unlinkAllObserversBulkUnsafeForDisposal, + unlinkAllSourcesChunkedUnsafe, + linkSourceToObserverUnsafe, + unlinkSourceFromObserverUnsafe, + hasObserverUnsafe, + hasSourceUnsafe, + replaceSourceUnsafe, +} from "./process/graph.methods"; + +/** + * IGraph + * = + * + * Low-level contract for managing the *structural* topology of the reactive DAG. + * + * This interface owns exactly one responsibility: + * — define, mutate, and traverse dependency edges between GraphNodes. + * + * IMPORTANT: + * - No scheduler logic is allowed here. + * - No phase/state logic (t/v/g/s) is allowed here. + * - No memory or lifecycle logic (except edge unlinking). + * - No business semantics, no reactivity semantics. + * + * IGraph is strictly a thin abstraction over intrusive adjacency lists in + * GraphNode and GraphEdge. Implementations must remain allocation-free and + * branch-minimal wherever possible. + */ +export interface IGraph { + /** + * Creates a new GraphNode bound to an already allocated NodeIndex + * in the causal layout. + * + * The returned node owns its own adjacency lists but contains no edges yet. + */ + createNode(layoutIndex: NodeIndex): GraphNode; + + /** + * Completely detaches the node from the graph: + * - removes all outgoing edges (node → observers) + * - removes all incoming edges (sources → node) + * + * After this call, the node becomes structurally isolated but remains + * a valid object. Memory reclamation or layout index recycling is *not* + * handled here — this is the responsibility of Runtime/Layout/Ownership. + */ + removeNode(node: GraphNode): void; + + /** + * Creates a directed edge source → observer. + * Implementations must not perform cycle detection or safety checks. + * This operation must be O(1) and allocation-free except for the edge itself. + */ + addObserver(source: GraphNode, observer: GraphNode): void; + + /** + * Removes a directed edge source → observer, if it exists. + * If the edge does not exist, the call must be a no-op. + * Must be O(1) on average due to intrusive structure. + */ + removeObserver(source: GraphNode, observer: GraphNode): void; + + /** + * Iterates all observers of the given node: + * source → (observer1, observer2, ...) + * + * Must not allocate or materialize arrays. Must traverse the intrusive list. + */ + forEachObserver(node: GraphNode, fn: (observer: GraphNode) => void): void; + + /** + * Iterates all sources of the given node: + * (source1, source2, ...) → observer + * + * Must not allocate or materialize arrays. Must traverse the intrusive list. + */ + forEachSource(node: GraphNode, fn: (source: GraphNode) => void): void; + + /** + * Returns true if `observer` appears in the outgoing adjacency list of `source`. + * Runtime complexity: O(k), where k = out-degree of source. + */ + hasObserver(source: GraphNode, observer: GraphNode): boolean; + + /** + * Returns true if `source` appears in the incoming adjacency list of `observer`. + * Runtime complexity: O(k), where k = in-degree of observer. + */ + hasSource(source: GraphNode, observer: GraphNode): boolean; + + /** + * Atomically replaces a dependency edge: + * oldSource → observer (removed) + * newSource → observer (added) + * + * This is heavily used by reactive tracking and effect re-binding. + */ + replaceSource( + oldSource: GraphNode, + newSource: GraphNode, + observer: GraphNode, + ): void; +} + +/** + * GraphService (Optimized) + * = + * + * Zero-overhead implementation of IGraph on top of intrusive adjacency lists. + * + * DESIGN GOALS: + * - no internal state: the graph lives entirely inside GraphNode/GraphEdge + * - minimal branching: all hot paths must remain predictable for V8 + * - no defensive checks: the caller is responsible for correctness + * - O(1) edge insertion/removal (amortized) + * - allocation-free traversal + * + * This service is intentionally low-level: it models *pure topology*. + * Higher-level semantics (reactivity, scheduling, cleanup, batching) + * belong to other runtime subsystems. + */ +export class GraphService implements IGraph { + /** + * Creates a new intrusive graph node bound to a specific layout index. + * + * The node starts with: + * - empty incoming adjacency list + * - empty outgoing adjacency list + * - zero-degree in both directions + * + * No edges are implicitly created. + */ + createNode(layoutIndex: NodeIndex): GraphNode { + return new GraphNode(layoutIndex); + } + + /** + * Destroys all structural connectivity of the given node: + * + * (1) Removes all edges node → observers (outgoing) + * (2) Removes all edges sources → node (incoming) + * + * After removal, the GraphNode becomes an isolated island. + * Memory or layout cleanup must be handled elsewhere. + */ + removeNode(node: GraphNode): void { + unlinkAllObserversBulkUnsafeForDisposal(node); + unlinkAllSourcesChunkedUnsafe(node); + } + + /** + * Creates a directed edge source → observer. + * Implementations must not check for duplicates or cycles. + */ + addObserver(source: GraphNode, observer: GraphNode): void { + linkSourceToObserverUnsafe(source, observer); + } + + /** + * Removes the directed edge source → observer, if it exists. + * Otherwise a no-op. + */ + removeObserver(source: GraphNode, observer: GraphNode): void { + unlinkSourceFromObserverUnsafe(source, observer); + } + + /** + * Enumerates all observers of the given node. + * This uses the intrusive linked list stored in GraphNode. + * Complexity: O(k), where k = out-degree. + * No allocations. + */ + forEachObserver(node: GraphNode, fn: (observer: GraphNode) => void): void { + let edge = node.firstOut; + while (edge !== null) { + fn(edge.to); + edge = edge.nextOut; + } + } + + /** + * Enumerates all sources of the given node. + * This uses the intrusive linked list stored in GraphNode. + * Complexity: O(k), where k = in-degree. + * No allocations. + */ + forEachSource(node: GraphNode, fn: (source: GraphNode) => void): void { + let edge = node.firstIn; + while (edge !== null) { + fn(edge.from); + edge = edge.nextIn; + } + } + + /** + * Returns true iff observer is present in the outgoing adjacency list + * of the source node. + */ + hasObserver(source: GraphNode, observer: GraphNode): boolean { + return hasObserverUnsafe(source, observer); + } + + /** + * Returns true iff source is present in the incoming adjacency list + * of the observer node. + */ + hasSource(source: GraphNode, observer: GraphNode): boolean { + return hasSourceUnsafe(source, observer); + } + + /** + * Re-binds the observer to a new source node. + * + * Useful for effect re-tracking in reactive runtimes: + * + * oldSource → observer (removed) + * newSource → observer (added) + * + * Must remain O(1) amortized. + */ + replaceSource( + oldSource: GraphNode, + newSource: GraphNode, + observer: GraphNode, + ): void { + replaceSourceUnsafe(oldSource, newSource, observer); + } +} diff --git a/packages/@reflex/core/src/graph/graph.node.ts b/packages/@reflex/core/src/graph/graph.node.ts deleted file mode 100644 index 21cca8d..0000000 --- a/packages/@reflex/core/src/graph/graph.node.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { BitMask } from "../object/utils/bitwise"; -import { CLEAN } from "./process/graph.constants"; - -class GraphEdge { - from: GraphNode; - to: GraphNode; - - prevOut: GraphEdge | null = null; - nextOut: GraphEdge | null = null; - - prevIn: GraphEdge | null = null; - nextIn: GraphEdge | null = null; - - constructor(from: GraphNode, to: GraphNode) { - this.from = from; - this.to = to; - } -} - -class GraphNode { - id: number = -1; - - firstOut: GraphEdge | null = null; - lastOut: GraphEdge | null = null; - - firstIn: GraphEdge | null = null; - lastIn: GraphEdge | null = null; - - outCount: number = 0; - inCount: number = 0; - - flags: BitMask = CLEAN; -} - -export { GraphNode, GraphEdge }; diff --git a/packages/@reflex/core/src/graph/process/graph.intrusive.ts b/packages/@reflex/core/src/graph/process/graph.intrusive.ts deleted file mode 100644 index e4afd74..0000000 --- a/packages/@reflex/core/src/graph/process/graph.intrusive.ts +++ /dev/null @@ -1,387 +0,0 @@ -/** - * @file graph.intrusive.ts - * - * Low-level helpers for intrusive doubly-linked adjacency lists. - * Works directly with GraphNode/GraphEdge fields (first/last/prev/next). - * - * Эти функции UNSAFE: - * - не проверяют инварианты DAG (циклы, дубликаты) - * - не проверяют, что edge ещё не привязан - * - не проверяют, что from/to совпадают с source/observer - * - * Их задача — быть максимально быстрыми building-block’ами для - * более высокоуровневого API графа. - */ - -import { GraphEdge, GraphNode } from "../graph.node"; - -// ═══════════════════════════════════════════════════════════════════ -// BASICS: Edge-level link/unlink (building blocks) -// ═══════════════════════════════════════════════════════════════════ - -/** - * linkSourceToObserverUnsafe: базовый building-block. - * - * Создаёт новый GraphEdge и вставляет его: - * - в OUT-список source (firstOut/lastOut) - * - в IN-список observer (firstIn/lastIn) - * - * Сложность: O(1). - * Никаких аллокаций, кроме самого GraphEdge. - * - * Препосылки (НЕ проверяются): - * - source !== observer - * - edge между ними ещё не существует - * - нет циклов (DAG-инвариант обеспечивает вызывающий код) - */ -export function linkSourceToObserverUnsafe( - source: GraphNode, - observer: GraphNode, -): GraphEdge { - const e = new GraphEdge(source, observer); - - // ── OUT adjacency (source -> ...) - const lastOut = source.lastOut; - e.prevOut = lastOut; - e.nextOut = null; - - if (lastOut === null) { - source.firstOut = e; - } else { - lastOut.nextOut = e; - } - source.lastOut = e; - source.outCount++; - - // ── IN adjacency (... -> observer) - const lastIn = observer.lastIn; - e.prevIn = lastIn; - e.nextIn = null; - - if (lastIn === null) { - observer.firstIn = e; - } else { - lastIn.nextIn = e; - } - observer.lastIn = e; - observer.inCount++; - - return e; -} - -/** - * unlinkEdgeUnsafe: базовый building-block для разрыва связи. - * - * Выпиливает edge из: - * - OUT-списка from - * - IN-списка to - * - * Сложность: O(1). - * - * Препосылки (НЕ проверяются): - * - edge.from / edge.to находятся в корректных списках - * - списки связаны консистентно (prev/next корректны) - */ -export function unlinkEdgeUnsafe(edge: GraphEdge): void { - const from = edge.from; - const to = edge.to; - - // ── OUT list unlink (from.firstOut/lastOut) - const prevOut = edge.prevOut; - const nextOut = edge.nextOut; - - if (prevOut === null) { - from.firstOut = nextOut; - } else { - prevOut.nextOut = nextOut; - } - - if (nextOut === null) { - from.lastOut = prevOut; - } else { - nextOut.prevOut = prevOut; - } - - from.outCount--; - - // ── IN list unlink (to.firstIn/lastIn) - const prevIn = edge.prevIn; - const nextIn = edge.nextIn; - - if (prevIn === null) { - to.firstIn = nextIn; - } else { - prevIn.nextIn = nextIn; - } - - if (nextIn === null) { - to.lastIn = prevIn; - } else { - nextIn.prevIn = prevIn; - } - - to.inCount--; - - // Обнуляем ссылки, чтобы edge можно было реиспользовать/GC - edge.prevOut = edge.nextOut = null; - edge.prevIn = edge.nextIn = null; - // from/to оставляем — они могут быть полезны для отладки/логики -} - -// ═══════════════════════════════════════════════════════════════════ -// CONVENIENCE HELPERS (source/observer level) -// ═══════════════════════════════════════════════════════════════════ - -/** - * unlinkSourceFromObserverUnsafe (удобный вариант): - * - * Находит edge(source -> observer) в OUT-списке source - * и удаляет его через unlinkEdgeUnsafe. - * - * Сложность: O(degree(source)). - * Используй в случаях, когда: - * - степень узла умеренная - * - нет заранее сохранённой ссылки на edge - */ -export function unlinkSourceFromObserverUnsafe( - source: GraphNode, - observer: GraphNode, -): void { - let edge = source.firstOut; - - while (edge !== null) { - if (edge.to === observer) { - unlinkEdgeUnsafe(edge); - return; - } - edge = edge.nextOut; - } - - // Если сюда дошли — связи не было. В UNSAFE-варианте молча игнорируем. -} - -// ═══════════════════════════════════════════════════════════════════ -// BULK / BATCH OPERATIONS -// ═══════════════════════════════════════════════════════════════════ - -/** - * linkSourceToObserversBatchUnsafe: - * - * Batch-link: один source → N observers. - * Делает линковку через базовый building-block linkSourceToObserverUnsafe. - * - * Сложность: O(N), без дополнительных аллокаций, кроме массива edges. - * Возвращает массив созданных Edge (если нужно кэшировать их для быстрого unlink). - */ -export function linkSourceToObserversBatchUnsafe( - source: GraphNode, - observers: readonly GraphNode[], -): GraphEdge[] { - const n = observers.length; - if (n === 0) return []; - - const edges = new Array(n); - - for (let i = 0; i < n; i++) { - const observer = observers[i]!; - edges[i] = linkSourceToObserverUnsafe(source, observer); - } - - return edges; -} - -/** - * unlinkAllObserversUnsafe: - * - * Полный разрыв всех исходящих связей (OUT) у source. - * Линейный проход по списку firstOut → ... → lastOut. - * - * Сложность: O(degree(source)). - */ -export function unlinkAllObserversUnsafe(source: GraphNode): void { - let edge = source.firstOut; - - while (edge !== null) { - const next = edge.nextOut; - unlinkEdgeUnsafe(edge); - edge = next; - } - - // На выходе: - // - source.firstOut === null - // - source.lastOut === null - // - source.outCount === 0 -} - -/** - * unlinkAllSourcesUnsafe: - * - * Полный разрыв всех входящих связей (IN) у observer. - * Линейный проход по списку firstIn → ... → lastIn. - * - * Сложность: O(degree_in(observer)). - */ -export function unlinkAllSourcesUnsafe(observer: GraphNode): void { - let edge = observer.firstIn; - - while (edge !== null) { - const next = edge.nextIn; - unlinkEdgeUnsafe(edge); - edge = next; - } - - // На выходе: - // - observer.firstIn === null - // - observer.lastIn === null - // - observer.inCount === 0 -} - -// ═══════════════════════════════════════════════════════════════════ -// SLOW-PATH: CHUNKED UNLINK (для очень больших степеней) -// ═══════════════════════════════════════════════════════════════════ - -/** - * unlinkAllObserversChunkedUnsafe: - * - * Slow-path fallback для узлов с очень большой out-степенью. - * Делает два прохода: - * 1) собирает edges в массив (линейный скан OUT-списка) - * 2) идёт по массиву в обратном порядке и делает unlinkEdgeUnsafe - * - * Смысл: - * - улучшить locality, избегая повторного чтения модифицируемых указателей - * - упростить паттерн ветвления для JIT - */ -export function unlinkAllObserversChunkedUnsafe(source: GraphNode): void { - const count = source.outCount; - if (count === 0) return; - - if (count === 1) { - // Быстрый путь — один edge - const e = source.firstOut!; - unlinkEdgeUnsafe(e); - return; - } - - const edges: GraphEdge[] = new Array(count); - let idx = 0; - let edge = source.firstOut; - - while (edge !== null) { - edges[idx++] = edge; - edge = edge.nextOut; - } - - // Идём в обратном порядке (чтобы не зависеть от того, как unlink мутирует списки) - for (let i = count - 1; i >= 0; i--) { - unlinkEdgeUnsafe(edges[i]!); - } -} - -/** - * unlinkAllSourcesChunkedUnsafe: - * - * Аналогично unlinkAllObserversChunkedUnsafe, но для IN-списка. - */ -export function unlinkAllSourcesChunkedUnsafe(observer: GraphNode): void { - const count = observer.inCount; - if (count === 0) return; - - if (count === 1) { - const e = observer.firstIn!; - unlinkEdgeUnsafe(e); - return; - } - - const edges: GraphEdge[] = new Array(count); - let idx = 0; - let edge = observer.firstIn; - - while (edge !== null) { - edges[idx++] = edge; - edge = edge.nextIn; - } - - for (let i = count - 1; i >= 0; i--) { - unlinkEdgeUnsafe(edges[i]!); - } -} - -// ═══════════════════════════════════════════════════════════════════ -// BULK UNLINK ДЛЯ DISPOSE (СПРЯТАНО ПОД graph.dispose) -// ═══════════════════════════════════════════════════════════════════ - -/** - * Внимание: эта функция НЕ экспортируется. - * Её задача — быть быстрым "ядерным" вариантом для полного dispose - * всего графа или подграфа, когда нам уже не важно состояние соседей. - * - * Предполагается, что: - * - вызывается только из graph.dispose(GraphNode) / teardown logic - * - после вызова все затронутые ноды больше не используются - * - * Внутри все unlink делаем через unlinkEdgeUnsafe, чтобы не ломать - * инварианты IN-списков у соседей. При желании можно сделать ещё более - * агрессивный variant, который не трогает соседей вообще — но тогда - * его можно вызывать только при dispose ВЕСЬ граф. - */ -function unlinkAllObserversBulkUnsafeForDisposal(source: GraphNode): void { - // Сейчас это просто alias на chunked-стратегию. - // Если понадобится — сюда можно положить ещё более агрессивную реализацию. - unlinkAllObserversChunkedUnsafe(source); -} - -// Если понадобится использовать в graph.dispose — импортируй из этого файла -// либо реэкспортом, либо перенеси логику в модуль графа. - -// ═══════════════════════════════════════════════════════════════════ -// Доп. утилиты hasSource/hasObserver c учётом Edge-модели -// ═══════════════════════════════════════════════════════════════════ - -export function hasSourceUnsafe( - source: GraphNode, - observer: GraphNode, -): boolean { - // ищем edge(source -> observer) в OUT-списке - let edge = source.firstOut; - while (edge !== null) { - if (edge.to === observer) return true; - edge = edge.nextOut; - } - return false; -} - -export function hasObserverUnsafe( - source: GraphNode, - observer: GraphNode, -): boolean { - // симметрично — ищем edge(source -> observer) в IN-списке observer - let edge = observer.firstIn; - while (edge !== null) { - if (edge.from === source) return true; - edge = edge.nextIn; - } - return false; -} - -/** - * replaceSourceUnsafe: - * - * Семантика та же: - * unlinkSourceFromObserverUnsafe(oldSource, observer) - * linkSourceToObserverUnsafe(newSource, observer) - * - * Реализация: O(degree(oldSource)) на поиск edge. - * Если в горячем пути нужна O(1), то нужно держать ссылку на edge. - */ -export function replaceSourceUnsafe( - oldSource: GraphNode, - newSource: GraphNode, - observer: GraphNode, -): void { - // 1) unlink oldSource -> observer (если есть) - unlinkSourceFromObserverUnsafe(oldSource, observer); - - // 2) link newSource -> observer - linkSourceToObserverUnsafe(newSource, observer); -} diff --git a/packages/@reflex/core/src/graph/process/graph.linker.ts b/packages/@reflex/core/src/graph/process/graph.linker.ts deleted file mode 100644 index d63342a..0000000 --- a/packages/@reflex/core/src/graph/process/graph.linker.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * @file graph_linker.ts - * - * High-level graph linking API. - * - * Provides two tiers: - * 1. Unsafe operations (linkSourceToObserverUnsafe, etc.) - * - O(1), no validation, for hot paths - * 2. Safe operations (linkEdgeSafe, etc.) - * - With invariant checks (DAG, duplicates, etc.) - * - For external API and debug mode - * - * Current focus: unsafe operations (for benchmarking). - * Safe checks can be layered on top or via WeakMap-based dev hooks. - */ -import { GraphNode } from "../graph.node" -import { - linkSourceToObserverUnsafe, - unlinkSourceFromObserverUnsafe, -} from "./graph.intrusive" - -/** - * linkEdge: Safe linking of source and observer. - * - * Currently delegates to unsafe operation. - * Future: Add DAG/cycle checks, duplicate detection here. - * - * Returns: void (operation always succeeds if graph invariants hold). - */ -export function linkEdge(observer: GraphNode, source: GraphNode): void { - linkSourceToObserverUnsafe(source, observer); -} - -/** - * unlinkEdge: Safe unlinking of source and observer. - * - * Requires both nodes to be provided (observer and source). - * Precondition: they must be currently linked. - */ -export function unlinkEdge( - observer: GraphNode, - source: GraphNode, -): void { - unlinkSourceFromObserverUnsafe(source, observer); -} - -// Export unsafe operations for benchmarking and internal use -export { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe }; diff --git a/packages/@reflex/core/src/graph/process/graph.methods.ts b/packages/@reflex/core/src/graph/process/graph.methods.ts new file mode 100644 index 0000000..a3260c1 --- /dev/null +++ b/packages/@reflex/core/src/graph/process/graph.methods.ts @@ -0,0 +1,363 @@ +import { GraphEdge, GraphNode } from "./graph.node"; + +/** + * + * linkSourceToObserverUnsafe + * + * + * Creates a new directed edge: source → observer + * + * This function mutates *two* intrusive doubly-linked adjacency lists: + * + * OUT list of source: + * source.firstOut → ... → source.lastOut → (new edge) + * + * IN list of observer: + * observer.firstIn → ... → observer.lastIn → (new edge) + * + * Invariants after insertion: + * - source.lastOut === newly created edge + * - observer.lastIn === newly created edge + * - counts (outCount, inCount) are incremented + * + * Safety: + * - No duplicate detection. + * - No cycle detection. + * - Caller is responsible for correctness. + * + * Complexity: O(1) + */ +export const linkSourceToObserverUnsafe = ( + source: GraphNode, + observer: GraphNode, +): GraphEdge => { + const e = new GraphEdge(source, observer); + + // ----- OUT adjacency (source → observer) + const lastOut = source.lastOut; + e.prevOut = lastOut; + e.nextOut = null; + + if (lastOut === null) source.firstOut = e; + else lastOut.nextOut = e; + + source.lastOut = e; + source.outCount++; + + // ----- IN adjacency (source → observer) + const lastIn = observer.lastIn; + e.prevIn = lastIn; + e.nextIn = null; + + if (lastIn === null) observer.firstIn = e; + else lastIn.nextIn = e; + + observer.lastIn = e; + observer.inCount++; + + return e; +}; + +/** + * + * unlinkEdgeUnsafe + * + * + * Removes a single directed edge from *both* + * intrusive adjacency lists: + * + * OUT list of edge.from + * IN list of edge.to + * + * Invariants after unlink: + * - All list pointers remain consistent. + * - Counts of both nodes are decremented. + * - Edge's own pointers are nulled for safety / GC friendliness. + * + * Safety: + * - Caller guarantees that 'edge' is present in both lists. + * + * Complexity: O(1) + */ +export const unlinkEdgeUnsafe = (edge: GraphEdge): void => { + const from = edge.from; + const to = edge.to; + + // ----- OUT adjacency unlink + const prevOut = edge.prevOut; + const nextOut = edge.nextOut; + + if (prevOut !== null) prevOut.nextOut = nextOut; + else from.firstOut = nextOut; + + if (nextOut !== null) nextOut.prevOut = prevOut; + else from.lastOut = prevOut; + + from.outCount--; + + // ----- IN adjacency unlink + const prevIn = edge.prevIn; + const nextIn = edge.nextIn; + + if (prevIn !== null) prevIn.nextIn = nextIn; + else to.firstIn = nextIn; + + if (nextIn !== null) nextIn.prevIn = prevIn; + else to.lastIn = prevIn; + + to.inCount--; + + // Cleanup (edge becomes detached and cannot be reused accidentally) + edge.prevOut = edge.nextOut = null; + edge.prevIn = edge.nextIn = null; +}; + +/** + * + * unlinkSourceFromObserverUnsafe + * + * + * Removes the *first* occurrence of an edge `source → observer`. + * If no such edge exists, this is a no-op. + * + * Complexity: O(k), where k = out-degree of source. + * + * Safety: + * - UNSAFE: no validation, no consistency checks. + */ +export const unlinkSourceFromObserverUnsafe = ( + source: GraphNode, + observer: GraphNode, +): void => { + let edge = source.firstOut; + + while (edge !== null) { + if (edge.to === observer) { + unlinkEdgeUnsafe(edge); + return; + } + edge = edge.nextOut; + } + + // No edge found — silently ignore. +}; + +/** + * + * linkSourceToObserversBatchUnsafe + * + * + * Bulk version of adding multiple edges: + * source → observer[i] + * + * Returns an array of created edges. + * + * Complexity: O(n), where n = observers.length + * Allocates exactly one array and N edges. + */ +export const linkSourceToObserversBatchUnsafe = ( + source: GraphNode, + observers: readonly GraphNode[], +): GraphEdge[] => { + const n = observers.length; + if (n === 0) return []; + + const edges = new Array(n); + + for (let i = 0; i < n; i++) { + const observer = observers[i]!; + edges[i] = linkSourceToObserverUnsafe(source, observer); + } + + return edges; +}; + +/** + * + * unlinkAllObserversUnsafe + * + * + * Removes *all* outgoing edges from the given node: + * node → observer* + * + * This is the simple single-pass version. Mutations happen during traversal. + * + * Complexity: O(k), where k = out-degree. + */ +export const unlinkAllObserversUnsafe = (source: GraphNode): void => { + let edge = source.firstOut; + + while (edge !== null) { + const next = edge.nextOut; + unlinkEdgeUnsafe(edge); + edge = next; + } +}; + +/** + * + * unlinkAllSourcesUnsafe + * + * + * Removes *all* incoming edges to the given node: + * source* → node + * + * Complexity: O(k), where k = in-degree. + */ +export const unlinkAllSourcesUnsafe = (observer: GraphNode): void => { + let edge = observer.firstIn; + + while (edge !== null) { + const next = edge.nextIn; + unlinkEdgeUnsafe(edge); + edge = next; + } +}; + +/** + * + * unlinkAllObserversChunkedUnsafe + * + * + * Two-pass version of unlinking: + * (1) Snapshot edges into an array + * (2) Unlink them in reverse order + * + * This avoids traversal inconsistencies when unlinking during iteration. + * Recommended when removing many edges at once. + */ +export const unlinkAllObserversChunkedUnsafe = (source: GraphNode): void => { + const count = source.outCount; + if (count === 0) return; + + if (count === 1) { + unlinkEdgeUnsafe(source.firstOut!); + return; + } + + const edges = new Array(count); + + let idx = 0; + let edge = source.firstOut; + + while (edge !== null) { + edges[idx++] = edge; + edge = edge.nextOut; + } + + for (let i = count - 1; i >= 0; i--) unlinkEdgeUnsafe(edges[i]!); +}; + +/** + * + * unlinkAllSourcesChunkedUnsafe + * + * + * Chunked reverse-unlinking for incoming edges. + * Same rationale as unlinkAllObserversChunkedUnsafe. + */ +export const unlinkAllSourcesChunkedUnsafe = (observer: GraphNode): void => { + const count = observer.inCount; + if (count === 0) return; + + if (count === 1) { + unlinkEdgeUnsafe(observer.firstIn!); + return; + } + + const edges = new Array(count); + + let idx = 0; + let edge = observer.firstIn; + + while (edge !== null) { + edges[idx++] = edge; + edge = edge.nextIn; + } + + for (let i = count - 1; i >= 0; i--) unlinkEdgeUnsafe(edges[i]!); +}; + +/** + * + * unlinkAllObserversBulkUnsafeForDisposal + * + * + * Alias for the chunked unlink strategy. + * Intended for "node disposal" operations where maximal unlink throughput + * is required and edge order does not matter. + */ +export const unlinkAllObserversBulkUnsafeForDisposal = ( + source: GraphNode, +): void => { + unlinkAllObserversChunkedUnsafe(source); +}; + +/** + * + * hasSourceUnsafe + * + * + * Returns true if an edge exists: + * source → observer + * + * Complexity: O(k), where k = out-degree of source. + */ +export const hasSourceUnsafe = ( + source: GraphNode, + observer: GraphNode, +): boolean => { + let edge = source.firstOut; + while (edge !== null) { + if (edge.to === observer) return true; + edge = edge.nextOut; + } + return false; +}; + +/** + * + * hasObserverUnsafe + * + * + * Returns true if an edge exists: + * source → observer + * + * But traversing the IN-list of the observer. + * + * Complexity: O(k), where k = in-degree of observer. + */ +export const hasObserverUnsafe = ( + source: GraphNode, + observer: GraphNode, +): boolean => { + let edge = observer.firstIn; + while (edge !== null) { + if (edge.from === source) return true; + edge = edge.nextIn; + } + return false; +}; + +/** + * + * replaceSourceUnsafe + * + * + * Performs an atomic rebinding of a dependency: + * + * oldSource → observer (removed) + * newSource → observer (added) + * + * Used during reactive effect re-tracking. + * + * Complexity: O(k), due to scan of oldSource's out-list. + */ +export const replaceSourceUnsafe = ( + oldSource: GraphNode, + newSource: GraphNode, + observer: GraphNode, +): void => { + unlinkSourceFromObserverUnsafe(oldSource, observer); + linkSourceToObserverUnsafe(newSource, observer); +}; diff --git a/packages/@reflex/core/src/graph/process/graph.node.ts b/packages/@reflex/core/src/graph/process/graph.node.ts new file mode 100644 index 0000000..517ebf9 --- /dev/null +++ b/packages/@reflex/core/src/graph/process/graph.node.ts @@ -0,0 +1,144 @@ +import { CausalCoords } from "../../storage/config/CausalCoords"; +import { CLEAN } from "./graph.constants"; + +type NodeIndex = number; + +const NON_EXIST: NodeIndex = -1; + +/** + * GraphEdge + * = + * + * Intrusive bi-directional edge connecting two GraphNodes: + * + * from ---> to + * + * The edge participates in two separate intrusive doubly-linked lists: + * + * 1) OUT adjacency of `from`: + * from.firstOut → ... → edge → ... → from.lastOut + * + * 2) IN adjacency of `to`: + * to.firstIn → ... → edge → ... → to.lastIn + * + * These lists are stored *inside* GraphNode, not in GraphService or graph + * containers. This keeps mutation O(1), minimizes allocations, and provides + * tight control required by the runtime. + * + * Each edge tracks four pointers: + * prevOut, nextOut — outgoing adjacency chain + * prevIn, nextIn — incoming adjacency chain + * + * No extra metadata is stored: no weights, timestamps, or flags. The edge is + * as small and cheap as possible. + */ +class GraphEdge { + /** Source node of the edge */ + from: GraphNode; + + /** Target node of the edge */ + to: GraphNode; + + /** Previous edge in the outgoing list of `from` */ + prevOut: GraphEdge | null = null; + + /** Next edge in the outgoing list of `from` */ + nextOut: GraphEdge | null = null; + + /** Previous edge in the incoming list of `to` */ + prevIn: GraphEdge | null = null; + + /** Next edge in the incoming list of `to` */ + nextIn: GraphEdge | null = null; + + constructor(from: GraphNode, to: GraphNode) { + this.from = from; + this.to = to; + } +} + +/** + * GraphNode + * = + * + * A node in the reactive dependency graph. + * This is a fully *intrusive* node: it stores all adjacency lists internally. + * + * STRUCTURE: + * ---------------------------------------------------------------------------- + * Outgoing edges (dependencies *from* this node): + * firstOut → ... → lastOut + * + * Incoming edges (dependencies *to* this node): + * firstIn → ... → lastIn + * + * These two lists are independent and form a bipartite representation of + * directional connections: out-edges represent observers, in-edges represent + * sources. + * + * INVARIANTS: + * ---------------------------------------------------------------------------- + * - If firstOut === null, then lastOut === null and outCount = 0. + * - If firstIn === null, then lastIn === null and inCount = 0. + * - Counts must always reflect the actual length of adjacency lists. + * - Edges must always form valid doubly-linked chains. + * + * FLAGS: + * ---------------------------------------------------------------------------- + * Node-level state flags are stored in `flags` using a BitMask. + * Typical use-cases: + * - CLEAN / DIRTY reactivity state + * - scheduler marks + * - GC / disposal hints + * + * The graph itself does not interpret these flags — external systems do. + * + * PERFORMANCE NOTES: + * ---------------------------------------------------------------------------- + * - GraphNode is shape-stable: all fields are allocated and initialized + * in the constructor to ensure V8 IC predictability. + * - All adjacency updates are O(1). + * - No arrays or extra memory structures are allocated during edge edits. + */ +class GraphNode { + /** Index in the causal layout (t/v/g/s table), or NON_EXIST */ + id: NodeIndex = NON_EXIST; + + /** First outgoing dependency (this → observer) */ + firstOut: GraphEdge | null = null; + + /** Last outgoing dependency (this → observer) */ + lastOut: GraphEdge | null = null; + + /** First incoming dependency (source → this) */ + firstIn: GraphEdge | null = null; + + /** Last incoming dependency (source → this) */ + lastIn: GraphEdge | null = null; + + /** Number of outgoing edges */ + outCount: number = 0; + + /** Number of incoming edges */ + inCount: number = 0; + + /** + * Bit-mask for node-level flags. + * Initial state: CLEAN (defined in graph.constants). + */ + flags: number = CLEAN; + + _causal: CausalCoords = { + t: 0, + v: 0, + g: 0, + s: 0, + }; + + constructor(id: NodeIndex) { + this.id = id; + } +} + +export { GraphNode, GraphEdge }; +export type { NodeIndex }; diff --git a/packages/@reflex/core/src/graph/process/graph.operations.ts b/packages/@reflex/core/src/graph/process/graph.operations.ts deleted file mode 100644 index af1df40..0000000 --- a/packages/@reflex/core/src/graph/process/graph.operations.ts +++ /dev/null @@ -1,68 +0,0 @@ -/** - * @file graph.proto.ts - * - * Prototype methods for GraphNode (instance API). - * - * High-level interface for graph operations. - * These wrap the low-level linker functions. - * - * Note: In the new architecture, GraphNode is a regular class, - * so methods are defined directly, not via prototype. - * This file is kept for compatibility and documentation. - * - * Actual methods are defined on GraphNode in graph.types.ts. - * If needed, we can expose these as static helpers or extend the class. - */ - -import { GraphNode } from "../graph.node"; -import { linkEdge, unlinkEdge } from "./graph.linker"; - -/** - * Convenience methods (static or instance) for graph operations. - * - * Usage: - * observer.addSource(source) -> links source as observer's upstream - * observer.removeSource(source) -> unlinks source - */ - -/** - * Static helper: link source and observer (observer depends on source). - */ -export function addSourceToObserver( - observer: GraphNode, - source: GraphNode -): void { - linkEdge(observer, source); -} - -/** - * Static helper: unlink source and observer. - */ -export function removeSourceFromObserver( - observer: GraphNode, - source: GraphNode -): void { - unlinkEdge(observer, source); -} - -/** - * Static helper: add observer to a source (observer depends on source). - * Alias for addSourceToObserver for semantic clarity. - */ -export function addObserverToSource( - observer: GraphNode, - source: GraphNode -): void { - linkEdge(observer, source); -} - -/** - * Static helper: remove observer from source. - * Alias for removeSourceFromObserver for semantic clarity. - */ -export function removeObserverFromSource( - observer: GraphNode, - source: GraphNode -): void { - unlinkEdge(observer, source); -} diff --git a/packages/@reflex/core/src/object/README.md b/packages/@reflex/core/src/object/README.md deleted file mode 100644 index f0c05d7..0000000 --- a/packages/@reflex/core/src/object/README.md +++ /dev/null @@ -1,3 +0,0 @@ -Object — low-level prototype and inheritance model. -Includes inline optimizations, shallow copying, and behavioral contracts. -Designed for speed, predictability, and zero abstraction leakage. \ No newline at end of file diff --git a/packages/@reflex/core/src/object/object.dispose.ts b/packages/@reflex/core/src/object/object.dispose.ts deleted file mode 100644 index 19a71b9..0000000 --- a/packages/@reflex/core/src/object/object.dispose.ts +++ /dev/null @@ -1,11 +0,0 @@ -interface IDisposable { - dispose(): void; - [Symbol.dispose]?(): void; -} - -interface IDisposableAsync { - disposeAsync(): Async; - [Symbol.asyncDispose]?(): Async; -} - -export type { IDisposable, IDisposableAsync }; diff --git a/packages/@reflex/core/src/object/object.inherit.ts b/packages/@reflex/core/src/object/object.inherit.ts deleted file mode 100644 index fa28593..0000000 --- a/packages/@reflex/core/src/object/object.inherit.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const ReflexObject = { - /**@__INLINE__ */ - Inherit: (proto: Partial): T => - Object.create(proto) as T, -} as const; diff --git a/packages/@reflex/core/src/object/utils/assert.ts b/packages/@reflex/core/src/object/utils/assert.ts deleted file mode 100644 index 7c5ed42..0000000 --- a/packages/@reflex/core/src/object/utils/assert.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @file assert.ts - * Minimal zero-overhead runtime contract validator. - * Designed for fast-path assertions in performance-critical code. - */ - -/** - * Asserts that a condition is truthy at runtime. - * If the condition is falsy, throws an Error with an optional message. - * Avoids unnecessary overhead in hot-path. - * - * @param cond - Condition expected to be truthy. - * @param message - Optional message for debugging context. - * - * @example - * __assert(value !== undefined, "Value must be defined"); - */ -export function __assert(cond: unknown, message?: string): asserts cond { - // Using a simple branch avoids extra function call frames - // and keeps this in the JIT inline cache for tight loops. - if (cond) { - throw new Error( - `DEV_ERROR: ${message || "Contract `__assert` is violated!"}`, - ); - } -} diff --git a/packages/@reflex/core/src/object/utils/bitwise.ts b/packages/@reflex/core/src/object/utils/bitwise.ts deleted file mode 100644 index 21aeb9e..0000000 --- a/packages/@reflex/core/src/object/utils/bitwise.ts +++ /dev/null @@ -1,37 +0,0 @@ -export type BitMask = number; - -/** - * Minimalistic bitwise utility for flags and masks. - * All functions are pure and inlinable. - */ -export const Bitwise = { - /** @__INLINE__ Checks if all bits in `mask` are set in `flags`. */ - has(flags: BitMask, mask: BitMask): boolean { - return (flags & mask) === mask; - }, - - /** @__INLINE__ Sets bits from `mask` in `flags`. */ - set(flags: BitMask, mask: BitMask): BitMask { - return flags | mask; - }, - - /** @__INLINE__ Clears bits from `mask` in `flags`. */ - clear(flags: BitMask, mask: BitMask): BitMask { - return flags & ~mask; - }, - - /** @__INLINE__ Toggles bits from `mask` in `flags`. */ - toggle(flags: BitMask, mask: BitMask): BitMask { - return flags ^ mask; - }, - - /** @__INLINE__ Returns true if none of the bits in `mask` are set. */ - none(flags: BitMask, mask: BitMask): boolean { - return (flags & mask) === 0; - }, - - /** @__INLINE__ Returns true if at least one bit in `mask` is set. */ - any(flags: BitMask, mask: BitMask): boolean { - return (flags & mask) !== 0; - }, -} as const; diff --git a/packages/@reflex/core/src/ownership/ownership.context.ts b/packages/@reflex/core/src/ownership/ownership.context.ts new file mode 100644 index 0000000..55c72e4 --- /dev/null +++ b/packages/@reflex/core/src/ownership/ownership.context.ts @@ -0,0 +1,53 @@ +import { IOwnershipContextRecord, ContextKeyType } from "./ownership.contract"; +import type { OwnershipNode } from "./ownership.node"; + +/** + * Create a new context layer inheriting from parent (if any). + * Root contexts use null-prototype objects. + */ +export function createContextLayer( + parent: IOwnershipContextRecord | null, +): IOwnershipContextRecord { + return parent ? Object.create(parent) : Object.create(null); +} + +/** + * Provide a key/value pair into a context object. + */ +export function contextProvide( + ctx: IOwnershipContextRecord, + key: ContextKeyType, + value: unknown, +): void { + ctx[key] = value; +} + +/** + * Walk up the ownership chain and lookup a context value by key. + */ +export function contextLookup( + node: OwnershipNode, + key: ContextKeyType, +): T | undefined { + let current: OwnershipNode | null = node; + + while (current !== null) { + const ctx = current._context; + if (ctx !== null && key in ctx) { + return ctx[key] as T; + } + current = current._parent; + } + + return undefined; +} + +/** + * Check if key exists as an own property in the given context. + */ +export function contextHasOwn( + ctx: IOwnershipContextRecord | null, + key: ContextKeyType, +): boolean { + return ctx !== null && Object.hasOwn(ctx, key); +} diff --git a/packages/@reflex/core/src/ownership/ownership.contract.ts b/packages/@reflex/core/src/ownership/ownership.contract.ts new file mode 100644 index 0000000..31050c6 --- /dev/null +++ b/packages/@reflex/core/src/ownership/ownership.contract.ts @@ -0,0 +1,40 @@ +type ContextKeyType = string; + +interface IOwnershipContextRecord { + [key: ContextKeyType]: unknown; +} + +interface IOwnershipContext { + readonly id: symbol; + readonly defaultValue?: T; +} + +interface IOwnership { + onScopeMount(fn: () => void): void; + onScopeCleanup(fn: () => void): void; + + dispose(): void; + + provide(key: ContextKeyType, value: unknown): void; + inject(key: ContextKeyType): T | undefined; + hasOwn(key: ContextKeyType): boolean; +} + +interface ICleanupScope { + onScopeCleanup(fn: () => void): void; +} + +interface IContextAccess { + provide(key: ContextKeyType, value: unknown): void; + inject(key: ContextKeyType): T | undefined; + hasOwn(key: ContextKeyType): boolean; +} + +export type { + ContextKeyType, + IOwnershipContextRecord, + IOwnershipContext, + IOwnership, + ICleanupScope, + IContextAccess, +}; diff --git a/packages/@reflex/core/src/ownership/ownership.core.ts b/packages/@reflex/core/src/ownership/ownership.core.ts deleted file mode 100644 index 904ea4e..0000000 --- a/packages/@reflex/core/src/ownership/ownership.core.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { OwnershipNode } from "./ownership.node"; -import { IOwnership } from "./ownership.type"; - -/** - * createOwner: Factory for creating ownership nodes. - * - * Creates a new OwnershipNode with all fields initialized. - * Methods are bound to OwnershipNode.prototype for monomorphic calls. - * If parent is provided, automatically appends to parent's child list. - */ -function createOwner(parent: IOwnership | null = null): IOwnership { - const owner = new OwnershipNode(); - - if (parent !== null) { - parent.appendChild(owner); - parent.onScopeMount?.(owner); - } - - return owner; -} - -export { createOwner }; -export type { IOwnership }; diff --git a/packages/@reflex/core/src/ownership/ownership.error.ts b/packages/@reflex/core/src/ownership/ownership.error.ts deleted file mode 100644 index 7fb7b79..0000000 --- a/packages/@reflex/core/src/ownership/ownership.error.ts +++ /dev/null @@ -1,38 +0,0 @@ -const OWNERSHIP_ERROR_NAME = "OwnershipDisposeError" -const OWNERSHIP_ERROR_IDENTIFIER = "[Ownership dispose]" - -class OwnershipDisposeError extends Error { - readonly errors: Error[]; - - constructor(errors: unknown[]) { - const normalized: Error[] = new Array(errors.length); - - for (let i = 0; i < errors.length; i++) { - const e = errors[i]; - normalized[i] = e instanceof Error ? e : new Error(String(e)); - } - - super( - `${OWNERSHIP_ERROR_IDENTIFIER} ${normalized.length} error(s) during cleanup` - ); - this.name = OWNERSHIP_ERROR_NAME; - this.errors = normalized; - } - - override toString(): string { - let result = this.message; - - for (let i = 0; i < this.errors.length; i++) { - const e = this.errors[i]!; - result += `\n [${i + 1}] ${e.stack || e.message}`; - } - - return result; - } -} - -export { - OWNERSHIP_ERROR_IDENTIFIER, - OWNERSHIP_ERROR_NAME, - OwnershipDisposeError as default, -}; diff --git a/packages/@reflex/core/src/ownership/ownership.node.ts b/packages/@reflex/core/src/ownership/ownership.node.ts index 6f87d54..f918ea0 100644 --- a/packages/@reflex/core/src/ownership/ownership.node.ts +++ b/packages/@reflex/core/src/ownership/ownership.node.ts @@ -1,28 +1,30 @@ +// ownership.node.ts + /** * @file ownership.node.ts * - * Optimized OwnershipNode class with fixed layout and bound methods. - * - * Replaces interface-based OwnershipNode with a concrete class - * for stable hidden class and efficient V8 JIT compilation. - * - * Layout (10 fields): - * - parent, firstChild, lastChild, nextSibling, prevSibling (5 ptrs) - * - context (1 ptr, lazy-initialized) - * - cleanups (1 ptr, lazy-initialized) - * - childCount, flags, epoch, contextEpoch (4 numerics) + * Optimized OwnershipNode class with fixed layout and prototype methods. * - * All fields are initialized in constructor. - * All methods bound to prototype for monomorphic call sites. + * Layout: + * - tree links: _parent, _firstChild, _lastChild, _nextSibling, _prevSibling + * - context: _context (lazy, via prototype chain) + * - cleanups: _cleanups (lazy) + * - counters: _childCount, _flags, _epoch, _contextEpoch */ -import OwnershipDisposeError from "./ownership.error"; +import { DISPOSED } from "../graph/process/graph.constants"; +import { CausalCoords } from "../storage/config/CausalCoords"; import { - type ContextKeyType, - DisposalStrategy, - DISPOSED, + createContextLayer, + contextProvide, + contextLookup, + contextHasOwn, +} from "./ownership.context"; +import type { + ContextKeyType, + IOwnership, IOwnershipContextRecord, -} from "./ownership.type"; +} from "./ownership.contract"; export class OwnershipNode { // Tree links @@ -32,38 +34,36 @@ export class OwnershipNode { _nextSibling: OwnershipNode | null = null; _prevSibling: OwnershipNode | null = null; - // Context (lazy-initialized) - _context: Record | null = null; + // Context (lazy) + _context: IOwnershipContextRecord | null = null; - // Cleanup handlers - _cleanups: (() => void)[] | null = null; + // Cleanup handlers (lazy) + _cleanups: NoneToVoidFn[] | null = null; // Counters & state - _childCount: number = 0; - _flags: number = 0; - _epoch: number = 0; - _contextEpoch: number = 0; + _childCount = 0; + _flags = 0; + + _causal: CausalCoords = { + t: 0, + v: 0, + g: 0, + s: 0, + }; /** - * appendChild: Add child to this owner's children list. - * O(1) operation, no context copying on link. - * - * Invariants enforced: - * - child._parent always points to correct parent - * - doubly-linked sibling chain is consistent - * - _firstChild/_lastChild pointers are correct - * - _childCount reflects actual children count + * Append child to the end of this owner's children list. + * O(1), keeps doubly-linked sibling chain consistent. */ appendChild(child: OwnershipNode): void { - // Early exit if already disposed + // disposed owners silently ignore structural changes if (this._flags & DISPOSED) return; - // Detach from previous parent if exists + // reparent if needed if (child._parent !== null) { child._parent.removeChild(child); } - // Link as last child child._parent = this; child._nextSibling = null; child._prevSibling = this._lastChild; @@ -71,7 +71,6 @@ export class OwnershipNode { if (this._lastChild !== null) { this._lastChild._nextSibling = child; } else { - // Empty list case: child becomes first AND last this._firstChild = child; } @@ -80,37 +79,21 @@ export class OwnershipNode { } /** - * removeChild: Remove child from this owner's children list. - * O(1) operation. - * - * Invariants enforced: - * - only removes if child._parent === this (ownership check) - * - maintains doubly-linked list consistency - * - updates _firstChild/_lastChild boundary pointers - * - decrements _childCount atomically with removal + * Remove child from this owner's children list. + * O(1), no recursion, no side effects on child subtree. */ removeChild(child: OwnershipNode): void { - // Invariant check: child must belong to this parent if (child._parent !== this) return; const prev = child._prevSibling; const next = child._nextSibling; - // Update previous sibling or parent's _firstChild - if (prev !== null) { - prev._nextSibling = next; - } else { - this._firstChild = next; - } + if (prev !== null) prev._nextSibling = next; + else this._firstChild = next; - // Update next sibling or parent's _lastChild - if (next !== null) { - next._prevSibling = prev; - } else { - this._lastChild = prev; - } + if (next !== null) next._prevSibling = prev; + else this._lastChild = prev; - // Clear child's links (full detachment) child._parent = null; child._prevSibling = null; child._nextSibling = null; @@ -118,21 +101,16 @@ export class OwnershipNode { } /** - * onScopeCleanup: Register a cleanup callback. - * Lazily allocates cleanups array on first call. + * Register a cleanup callback to be executed when this scope is disposed. * - * Invariants enforced: - * - cannot add cleanups to disposed nodes - * - cleanups array allocated only when needed - * - preserves registration order for LIFO execution + * - Allocates cleanup array lazily on first use. + * - Throws if the node is already disposed. */ onScopeCleanup(fn: NoneToVoidFn): void { - // Strict invariant: disposed nodes cannot accept new cleanups if (this._flags & DISPOSED) { - throw new OwnershipDisposeError(["Cannot add cleanup to disposed owner"]); + return; } - // Lazy allocation pattern if (this._cleanups === null) { this._cleanups = []; } @@ -141,27 +119,19 @@ export class OwnershipNode { } /** - * dispose: Iterative DFS traversal, no recursion. - * Processes tree bottom-up, runs cleanups, clears links. + * Dispose this owner and its entire subtree. * - * Invariants enforced: - * - idempotent: multiple dispose calls are safe - * - post-order traversal (children before parents) - * - cleanup execution in reverse registration order (LIFO) - * - all tree links cleared after disposal - * - _flags set to DISPOSED atomically + * - Non-recursive DFS (explicit stack) + * - Post-order: children before parents + * - Cleanups executed in LIFO order + * - Idempotent: repeated calls are safe */ - dispose(strategy?: DisposalStrategy): void { - // Idempotency: early exit if already disposed + dispose(): void { if (this._flags & DISPOSED) return; - const { beforeDispose, afterDispose, onError } = strategy ?? {}; - - beforeDispose?.([this]); - - // Phase 1: Collect all nodes in DFS post-order using explicit stack + // Phase 1: collect nodes in post-order const toDispose: OwnershipNode[] = []; - const stack: Array<{ node: OwnershipNode; phase: number }> = [ + const stack: Array<{ node: OwnershipNode; phase: 0 | 1 }> = [ { node: this, phase: 0 }, ]; @@ -170,7 +140,6 @@ export class OwnershipNode { const current = entry.node; if (entry.phase === 0) { - // First visit: push children in reverse order for post-order traversal entry.phase = 1; let child = current._lastChild; while (child !== null) { @@ -178,7 +147,6 @@ export class OwnershipNode { child = child._prevSibling; } } else { - // Second visit: process node (children already processed) stack.pop(); if (!(current._flags & DISPOSED)) { toDispose.push(current); @@ -186,37 +154,32 @@ export class OwnershipNode { } } - // Phase 2: Run cleanups in post-order (children → parents) + // Phase 2: run cleanups and detach nodes let errorCount = 0; let firstError: unknown; for (let i = 0; i < toDispose.length; i++) { const n = toDispose[i]!; - // Skip if somehow already disposed (shouldn't happen but defensive) if (n._flags & DISPOSED) continue; const cleanups = n._cleanups; n._cleanups = null; - // Execute cleanups in LIFO order (reverse of registration) if (cleanups !== null) { for (let j = cleanups.length - 1; j >= 0; j--) { const fn = cleanups[j]; - if (fn === undefined) continue; - + if (!fn) continue; try { fn(); } catch (err) { if (firstError === undefined) firstError = err; errorCount++; - onError?.(err, this); } } } - // Critical section: atomically detach from tree and mark disposed - // Detach from sibling chain + // detach from parent/siblings if (n._prevSibling !== null) { n._prevSibling._nextSibling = n._nextSibling; } else if (n._parent !== null) { @@ -229,12 +192,11 @@ export class OwnershipNode { n._parent._lastChild = n._prevSibling; } - // Decrement parent's child count if (n._parent !== null) { n._parent._childCount--; } - // Clear all references (enable GC) + // reset links and state n._firstChild = null; n._lastChild = null; n._nextSibling = null; @@ -243,14 +205,10 @@ export class OwnershipNode { n._context = null; n._childCount = 0; - // Mark as disposed (final state transition) n._flags = DISPOSED; } - afterDispose?.([this], errorCount); - - // Error reporting (only if no custom handler) - if (errorCount > 0 && onError === undefined) { + if (errorCount > 0) { console.error( errorCount === 1 ? "Error during ownership dispose:" @@ -261,77 +219,59 @@ export class OwnershipNode { } /** - * getContext: Retrieve or lazily initialize context. - * - * Invariants enforced: - * - context inherits from parent via prototype chain - * - lazy initialization on first access - * - null prototype for root contexts + * Return existing context or lazily create a new layer that + * inherits from parent context via prototype chain. */ getContext(): IOwnershipContextRecord { - // Fast path: context already exists - if (this._context !== null) { - return this._context; - } - - // Lazy initialization with proper prototype chain - const parentCtx = this._parent?._context; - const ctx = - parentCtx !== null && parentCtx !== undefined - ? Object.create(parentCtx) - : Object.create(null); + if (this._context !== null) return this._context; + const parentCtx = this._parent?._context ?? null; + const ctx = createContextLayer(parentCtx); this._context = ctx; return ctx; } /** - * provide: Set context key/value. - * - * Invariants enforced: - * - cannot provide owner itself (prevents circular references) - * - ensures context exists before setting + * Provide a value for a given context key in this node. */ provide(key: ContextKeyType, value: unknown): void { - // Invariant: prevent self-reference in context - if (value === this) { - throw new Error("Cannot provide owner itself into context"); - } - const ctx = this.getContext(); - ctx[key] = value; + contextProvide(ctx, key, value); } /** - * inject: Lookup context value (walks up parent chain). - * - * Invariants enforced: - * - searches own context first, then walks up parent chain - * - uses hasOwn to check only own properties (not inherited) - * - returns undefined for missing keys (no exceptions) + * Lookup a value in the context chain (this node → parents). */ inject(key: ContextKeyType): T | undefined { - let current: OwnershipNode | null = this; - - while (current !== null) { - // Check only own properties (not inherited via prototype chain) - if (current._context !== null && key in current._context) { - return current._context[key] as T; - } - current = current._parent; - } - - return undefined; + return contextLookup(this, key); } /** - * hasOwn: Check if key exists locally (not in parent chain). - * - * Invariants enforced: - * - checks only this node's context, not parent chain - * - uses hasOwn for correct own-property detection + * Check if this node's own context has the given key (no parent lookup). */ hasOwn(key: ContextKeyType): boolean { - return this._context !== null && Object.hasOwn(this._context, key); + return contextHasOwn(this._context, key); } } + +/** + * createOwner: Factory for creating ownership nodes. + * + * Creates a new OwnershipNode with all fields initialized. + * Methods are bound to OwnershipNode.prototype for monomorphic calls. + * If parent is provided, automatically appends to parent's child list. + */ +export function createOwner( + parent: OwnershipNode | null = null, +): OwnershipNode { + const owner = new OwnershipNode(); + + if (parent !== null) { + parent.appendChild(owner); + } + + return owner; +} + +// If тебе нужно "публичный" тип IOwnership из этого файла: +export type { IOwnership }; diff --git a/packages/@reflex/core/src/ownership/ownership.scope.ts b/packages/@reflex/core/src/ownership/ownership.scope.ts index 38c91f2..a45a5e2 100644 --- a/packages/@reflex/core/src/ownership/ownership.scope.ts +++ b/packages/@reflex/core/src/ownership/ownership.scope.ts @@ -1,5 +1,4 @@ -import { createOwner } from "./ownership.core" -import { IOwnership } from "./ownership.type" +import { OwnershipNode } from "./ownership.node"; /** * OwnershipScope class: maintains the current owner context. @@ -13,13 +12,13 @@ import { IOwnership } from "./ownership.type" * - createScope(fn, parent?): T */ export class OwnershipScope { - private _current: IOwnership | null = null; + private _current: OwnershipNode | null = null; - getOwner(): IOwnership | null { + getOwner(): OwnershipNode | null { return this._current; } - withOwner(owner: IOwnership, fn: () => T): T { + withOwner(owner: OwnershipNode, fn: () => T): T { const prev = this._current; this._current = owner; @@ -30,7 +29,7 @@ export class OwnershipScope { } } - createScope(fn: () => T, parent: IOwnership | null = null): T { + createScope(fn: () => T, parent: OwnershipNode | null = null): T { const owner = createOwner(parent ?? this._current); return this.withOwner(owner, fn); } diff --git a/packages/@reflex/core/src/ownership/ownership.type.ts b/packages/@reflex/core/src/ownership/ownership.type.ts deleted file mode 100644 index 8c48051..0000000 --- a/packages/@reflex/core/src/ownership/ownership.type.ts +++ /dev/null @@ -1,77 +0,0 @@ -/** - * @file ownership.type.ts - * Core types and flags for Reflex Ownership System. - */ -import { OwnershipNode } from "./ownership.node" - -const S_OWN_BRAND = Symbol("OwnershipBrand"); -const S_ID = Symbol.for("ownership:id"); -const S_OWN = Symbol.for("ownership:parent"); -const S_SOURCES = Symbol.for("ownership:sources"); -const S_SUBS = Symbol.for("ownership:subscribers"); -const S_DIRTY = Symbol.for("ownership:dirty"); -const S_FN = Symbol.for("ownership:fn"); -const S_VALUE = Symbol.for("ownership:value"); -const S_DISPOSE = Symbol.for("ownership:dispose"); - -type ContextKeyType = string; - -interface IOwnershipContextRecord { - [key: ContextKeyType]: unknown; -} - -interface IOwnershipContext { - readonly id: symbol; - readonly defaultValue?: T; -} - -const CLEAN = 0; -const CHECK = 1 << 0; -const DIRTY = 1 << 1; -const DISPOSING = 1 << 2; -const DISPOSED = 1 << 3; - -interface IOwnershipMethods { - appendChild(child: IOwnership): void; - onScopeMount?(scope: IOwnership): void; - onScopeCleanup(fn: NoneToVoidFn): void; - removeChild(child: IOwnership): void; - getContext(): IOwnershipContextRecord; - provide(key: symbol | string, value: unknown): void; - inject(key: symbol | string): T | undefined; - hasOwn(key: symbol | string): boolean; - dispose(strategy?: DisposalStrategy): void; -} - -type IOwnership = OwnershipNode & IOwnershipMethods; - -export interface DisposalStrategy { - onError?: (err: unknown, node: IOwnership) => void; - beforeDispose?: (nodes: IOwnership[]) => void; - afterDispose?: (nodes: IOwnership[], errors: number) => void; -} - -export { - S_ID, - S_OWN, - S_SOURCES, - S_SUBS, - S_DIRTY, - S_FN, - S_VALUE, - S_DISPOSE, - S_OWN_BRAND, - CLEAN, - CHECK, - DIRTY, - DISPOSING, - DISPOSED, -}; - -export type { - IOwnership, - IOwnershipMethods, - ContextKeyType, - IOwnershipContext, - IOwnershipContextRecord, -}; diff --git a/packages/@reflex/core/src/storage/config/CausalCoords.ts b/packages/@reflex/core/src/storage/config/CausalCoords.ts index 7797909..f0ec2f5 100644 --- a/packages/@reflex/core/src/storage/config/CausalCoords.ts +++ b/packages/@reflex/core/src/storage/config/CausalCoords.ts @@ -82,12 +82,7 @@ * type Version = number & { readonly __tag: "Version" }; * ... */ -interface CausalCoords< - T extends number, - V extends number, - G extends number, - S extends number, -> { +interface CausalCoords { /** t — causal epoch, t ∈ ℤ_{2^{T_BITS}} */ t: T; /** v — value version, v ∈ ℤ_{2^{V_BITS}} */ diff --git a/packages/@reflex/core/tests/graph/graph.bench.ts b/packages/@reflex/core/tests/graph/graph.bench.ts index 63c30c7..1d7033a 100644 --- a/packages/@reflex/core/tests/graph/graph.bench.ts +++ b/packages/@reflex/core/tests/graph/graph.bench.ts @@ -4,14 +4,16 @@ import { linkSourceToObserverUnsafe, unlinkSourceFromObserverUnsafe, unlinkAllObserversUnsafe, -} from "../../src/graph/process/graph.intrusive"; +} from "../../src/graph/process/graph.methods"; -import { linkEdge, unlinkEdge } from "../../src/graph/process/graph.linker"; -import { GraphNode } from "../../src/graph/graph.node"; +import { GraphNode } from "../../src/graph/process/graph.node"; +import { GraphService } from "../../src/graph/graph.contract"; + +const r = new GraphService(); /** Create node */ function makeNode(): GraphNode { - return new GraphNode(); + return new GraphNode(0); } /** Collect OUT edges of a node (edges: node → observer) */ @@ -41,17 +43,17 @@ describe("DAG O(1) intrusive graph benchmarks (edge-based)", () => { // 1. Basic 1k link/unlink cycles for both APIs // ────────────────────────────────────────────────────────────── - bench("linkEdge + unlinkEdge (1k ops)", () => { + bench("GraphService.addObserver/removeObserver (1k ops)", () => { const A = makeNode(); const B = makeNode(); for (let i = 0; i < 1000; i++) { - linkEdge(A, B); - unlinkEdge(A, B); + r.addObserver(A, B); + r.removeObserver(A, B); } }); - bench("linkSourceToObserverUnsafe + unlinkSourceFromObserverUnsafe (1k ops)", () => { + bench("Unsafe link/unlink (1k ops)", () => { const A = makeNode(); const B = makeNode(); @@ -73,8 +75,8 @@ describe("DAG O(1) intrusive graph benchmarks (edge-based)", () => { const b = nodes[(i * 17) % nodes.length]!; if (a !== b) { - linkEdge(a, b); - if (i % 2 === 0) unlinkEdge(a, b); + r.addObserver(a, b); + if (i % 2 === 0) r.removeObserver(a, b); } } }); @@ -87,7 +89,7 @@ describe("DAG O(1) intrusive graph benchmarks (edge-based)", () => { const source = makeNode(); const observers = Array.from({ length: 1000 }, makeNode); - for (const obs of observers) linkEdge(source, obs); + for (const obs of observers) r.addObserver(source, obs); }); // ────────────────────────────────────────────────────────────── @@ -98,24 +100,24 @@ describe("DAG O(1) intrusive graph benchmarks (edge-based)", () => { const source = makeNode(); const observers = Array.from({ length: 1000 }, makeNode); - for (const obs of observers) linkEdge(source, obs); + for (const obs of observers) r.addObserver(source, obs); unlinkAllObserversUnsafe(source); }); // ────────────────────────────────────────────────────────────── - // 5. Star unlink piecewise (1k × unlinkEdge) + // 5. Star unlink piecewise (corrected) // ────────────────────────────────────────────────────────────── - bench("star unlink piecemeal: individual unlinkEdge for each observer", () => { + bench("star unlink piecemeal: remove each observer individually", () => { const source = makeNode(); const observers = Array.from({ length: 1000 }, makeNode); - for (const obs of observers) linkEdge(source, obs); + for (const obs of observers) r.addObserver(source, obs); - for (const obs of observers) unlinkEdge(source, obs); + // Correct: removeObserver, not addObserver + for (const obs of observers) r.removeObserver(source, obs); }); - // ────────────────────────────────────────────────────────────── // 7. Random DAG simulation (10k edges) // ────────────────────────────────────────────────────────────── @@ -137,15 +139,14 @@ describe("DAG O(1) intrusive graph benchmarks (edge-based)", () => { bench("counting observer/source degree: 1k nodes, sparse connections", () => { const nodes = Array.from({ length: 1000 }, makeNode); - // Sparse DAG formation + // Sparse layering: DAG i → (i+1..i+4) for (let i = 0; i < 1000; i++) { const src = nodes[i]!; for (let j = i + 1; j < Math.min(i + 5, nodes.length); j++) { - linkEdge(src, nodes[j]!); + r.addObserver(src, nodes[j]!); } } - // Count degrees let sumOut = 0; let sumIn = 0; diff --git a/packages/@reflex/core/tests/graph/graph.test.ts b/packages/@reflex/core/tests/graph/graph.test.ts index 4dfb60c..3ebcb30 100644 --- a/packages/@reflex/core/tests/graph/graph.test.ts +++ b/packages/@reflex/core/tests/graph/graph.test.ts @@ -4,9 +4,8 @@ import { unlinkSourceFromObserverUnsafe, unlinkAllObserversUnsafe, unlinkAllSourcesUnsafe, -} from "../../src/graph/process/graph.intrusive"; - -import { GraphNode, GraphEdge } from "../../src/graph/graph.node"; +} from "../../src/graph/process/graph.methods"; +import { GraphNode, GraphEdge } from "../../src/graph/process/graph.node"; // helpers function collectOutEdges(node: GraphNode): GraphEdge[] { @@ -30,10 +29,9 @@ function collectInEdges(node: GraphNode): GraphEdge[] { } describe("Edge-based Intrusive Graph", () => { - it("creates symmetric edge between source and observer", () => { - const source = new GraphNode(); - const observer = new GraphNode(); + const source = new GraphNode(0); + const observer = new GraphNode(0); const e = linkSourceToObserverUnsafe(source, observer); @@ -53,10 +51,10 @@ describe("Edge-based Intrusive Graph", () => { }); it("supports multiple observers for one source", () => { - const source = new GraphNode(); - const o1 = new GraphNode(); - const o2 = new GraphNode(); - const o3 = new GraphNode(); + const source = new GraphNode(0); + const o1 = new GraphNode(0); + const o2 = new GraphNode(0); + const o3 = new GraphNode(0); const e1 = linkSourceToObserverUnsafe(source, o1); const e2 = linkSourceToObserverUnsafe(source, o2); @@ -78,10 +76,10 @@ describe("Edge-based Intrusive Graph", () => { }); it("supports multiple sources for one observer", () => { - const observer = new GraphNode(); - const s1 = new GraphNode(); - const s2 = new GraphNode(); - const s3 = new GraphNode(); + const observer = new GraphNode(0); + const s1 = new GraphNode(0); + const s2 = new GraphNode(0); + const s3 = new GraphNode(0); const e1 = linkSourceToObserverUnsafe(s1, observer); const e2 = linkSourceToObserverUnsafe(s2, observer); @@ -100,8 +98,8 @@ describe("Edge-based Intrusive Graph", () => { }); it("unlinkSourceFromObserverUnsafe removes only matching edge", () => { - const observer = new GraphNode(); - const source = new GraphNode(); + const observer = new GraphNode(0); + const source = new GraphNode(0); linkSourceToObserverUnsafe(source, observer); @@ -119,10 +117,10 @@ describe("Edge-based Intrusive Graph", () => { }); it("unlinkSourceFromObserverUnsafe removes middle of out-list", () => { - const observer = new GraphNode(); - const s1 = new GraphNode(); - const s2 = new GraphNode(); - const s3 = new GraphNode(); + const observer = new GraphNode(0); + const s1 = new GraphNode(0); + const s2 = new GraphNode(0); + const s3 = new GraphNode(0); linkSourceToObserverUnsafe(s1, observer); linkSourceToObserverUnsafe(s2, observer); @@ -138,10 +136,10 @@ describe("Edge-based Intrusive Graph", () => { }); it("unlinkAllObserversUnsafe clears all out-edges", () => { - const source = new GraphNode(); - const o1 = new GraphNode(); - const o2 = new GraphNode(); - const o3 = new GraphNode(); + const source = new GraphNode(0); + const o1 = new GraphNode(0); + const o2 = new GraphNode(0); + const o3 = new GraphNode(0); linkSourceToObserverUnsafe(source, o1); linkSourceToObserverUnsafe(source, o2); @@ -162,10 +160,10 @@ describe("Edge-based Intrusive Graph", () => { }); it("unlinkAllSourcesUnsafe clears all in-edges", () => { - const observer = new GraphNode(); - const s1 = new GraphNode(); - const s2 = new GraphNode(); - const s3 = new GraphNode(); + const observer = new GraphNode(0); + const s1 = new GraphNode(0); + const s2 = new GraphNode(0); + const s3 = new GraphNode(0); linkSourceToObserverUnsafe(s1, observer); linkSourceToObserverUnsafe(s2, observer); @@ -183,5 +181,4 @@ describe("Edge-based Intrusive Graph", () => { expect(s2.firstOut).toBeNull(); expect(s3.firstOut).toBeNull(); }); - }); diff --git a/packages/@reflex/runtime/src/index.runtime.ts b/packages/@reflex/runtime/src/index.runtime.ts index 71a7a5e..29f1136 100644 --- a/packages/@reflex/runtime/src/index.runtime.ts +++ b/packages/@reflex/runtime/src/index.runtime.ts @@ -1,63 +1,18 @@ -export interface ReactiveContext { - /** Текущая активная реакция */ - current?: T; - /** Массив всех считанных реакций в текущем проходе */ - gets: T[]; - /** Индекс для трекинга обращений */ - index: number; +class Runtime { + readonly layout: ICausalLayout; + readonly graph: IGraph; + readonly scheduler: IScheduler; + + constructor(layoutCapacity: number, graph: IGraph, scheduler: IScheduler) { + this.layout.alloc(layoutCapacity); + this.graph = graph; + this.scheduler = scheduler; + } + + createGraphNode() {} } -export interface ReactiveRuntime { - /** Начать вычисление реактивной функции */ - begin(reaction: T): void; - /** Завершить вычисление реактивной функции */ - end(): void; - /** Вернуть глобальную эпоху */ - getEpoch(): number; - /** Перейти к следующей глобальной эпохе */ - nextEpoch(): number; - /** Текущий контекст выполнения */ - readonly context: ReactiveContext | null; - /** Очередь отложенных операций (если нужна) */ - readonly queue: T[]; -} - -/** - * Создаёт изолированный реактивный рантайм. - * Можно иметь несколько независимых экземпляров (AppRuntime, WorkerRuntime и т.д.). - */ -export function createReactiveRuntime(): ReactiveRuntime { - let epoch = 0; - const queue: T[] = []; - - let context: ReactiveContext | null = null; - - let first, second; - - return { - begin(reaction = ((first = 1), (second = 1)) as T) { - context = { current: reaction, gets: [], index: 0 }; - }, - - end() { - context = null; - }, - - getEpoch() { - return epoch; - }, - - nextEpoch() { - return ++epoch; - }, - - get context() { - return context; - }, - - queue, - }; -} +export default Runtime; // const AppRuntime = createReactiveRuntime(); // const WorkerRuntime = createReactiveRuntime(); @@ -69,5 +24,4 @@ export function createReactiveRuntime(): ReactiveRuntime { // // worker работает независимо // WorkerRuntime.beginComputation(otherReaction); // WorkerRuntime.track(signalB); -// WorkerRuntime.endComputation(); - +// // WorkerRuntime.endComputation(); diff --git a/packages/@reflex/runtime/src/primitive/signal.ts b/packages/@reflex/runtime/src/primitive/signal.ts index 695c4d1..e56c5a4 100644 --- a/packages/@reflex/runtime/src/primitive/signal.ts +++ b/packages/@reflex/runtime/src/primitive/signal.ts @@ -1,4 +1,3 @@ - class Signal { private value: T; private readonly owner: IOwnership | null; @@ -35,15 +34,21 @@ class ReactiveValue { } } -export const createSignal = ( - owner: IOwnership | null, - value: T, -): ReactiveValue => { - const node = new GraphNode(); - const signal = new Signal(value, owner, node); - const reactive = new ReactiveValue(signal); - // owner?.onScopeCleanup(signal.cleanup); - return reactive; -}; +export function createSignal(initial: T): IReactiveValue { + const { layout, graph, scheduler } = RUNTIME; + + const index = layout.alloc(); + const node = graph.createNode(index); + + const signal = new Signal(initial, node, layout, scheduler); -const s = createSignal({}, 1); + function read(): T { + return signal.get(); + } + const reactive = read as IReactiveValue; + reactive.set = (v: T) => signal.set(v); + reactive.node = node; + + owner?.onScopeCleanup(() => signal.cleanup()); + return reactive; +} From e7ca3543d647ec6b593e02049bb5049600ce4841 Mon Sep 17 00:00:00 2001 From: Andrii Volynets Date: Fri, 12 Dec 2025 21:27:09 +0200 Subject: [PATCH 32/32] Refactor ownership tests and benchmarks to use OwnershipService; add causal phase configuration - Updated ownership tests to utilize OwnershipService for creating and managing ownership nodes. - Removed deprecated functions and replaced them with service methods for better clarity and performance. - Enhanced benchmarks to measure performance of ownership operations with the new service. - Introduced a new file for causal phase configuration, defining enums for various causal states. --- .../core/src/collections/unrolled-queue.ts | 9 - .../@reflex/core/src/graph/graph.contract.ts | 60 +- .../core/src/graph/process/graph.constants.ts | 21 +- .../core/src/graph/process/graph.methods.ts | 24 +- .../core/src/graph/process/graph.node.ts | 23 +- .../core/src/ownership/ownership.node.ts | 300 +++--- .../core/src/ownership/ownership.scope.ts | 46 +- .../{CausalPhase.ts => causal.phase.ts} | 14 +- .../core/tests/ownership/ownerhip.test.ts | 882 +++++++++--------- .../core/tests/ownership/ownership.bench.ts | 152 +-- 10 files changed, 736 insertions(+), 795 deletions(-) rename packages/@reflex/core/src/storage/config/{CausalPhase.ts => causal.phase.ts} (73%) diff --git a/packages/@reflex/core/src/collections/unrolled-queue.ts b/packages/@reflex/core/src/collections/unrolled-queue.ts index 1e85232..681def5 100644 --- a/packages/@reflex/core/src/collections/unrolled-queue.ts +++ b/packages/@reflex/core/src/collections/unrolled-queue.ts @@ -73,7 +73,6 @@ * - Simplified node recycling logic */ -import { __assert } from "../object/utils/assert"; export interface UnrolledQueueOptions { /** Node (segment) size, must be a power of two for bitmask optimization */ @@ -91,11 +90,6 @@ const NODE_POOL_MAX = 128; /** Default node size most stable for V8 (power of two) */ const DEFAULT_NODE_SIZE = 2048 as const; -function assertPowerOfTwo(n: number): void { - const cond = !Number.isInteger(n) || n <= 0 || (n & (n - 1)) !== 0; - __assert(cond, "nodeSize must be a positive power of two"); -} - /** * Uses "one empty slot" semantics to differentiate * full vs empty states. Internally uses bitmask indexing: @@ -114,7 +108,6 @@ class RefNode { next: RefNode | null = null; constructor(size: number) { - assertPowerOfTwo(size); this.size = size; this.mask = size - 1; this.buffer = new Array(size); @@ -210,8 +203,6 @@ export class UnrolledQueue implements Queueable, IUnrolledQueue { constructor(options: UnrolledQueueOptions = { nodeSize: DEFAULT_NODE_SIZE }) { const size = options.nodeSize; - assertPowerOfTwo(size); - const node = RefNode.alloc(size); this.#nodeSize = size; this.#head = node; diff --git a/packages/@reflex/core/src/graph/graph.contract.ts b/packages/@reflex/core/src/graph/graph.contract.ts index 9c967a4..539e735 100644 --- a/packages/@reflex/core/src/graph/graph.contract.ts +++ b/packages/@reflex/core/src/graph/graph.contract.ts @@ -1,4 +1,4 @@ -import { NodeIndex, GraphNode } from "./process/graph.node"; +import { NodeIndex, GraphNode, GraphEdge } from "./process/graph.node"; import { unlinkAllObserversBulkUnsafeForDisposal, unlinkAllSourcesChunkedUnsafe, @@ -132,9 +132,8 @@ export class GraphService implements IGraph { * * No edges are implicitly created. */ - createNode(layoutIndex: NodeIndex): GraphNode { - return new GraphNode(layoutIndex); - } + createNode = (layoutIndex: NodeIndex): GraphNode => + new GraphNode(layoutIndex); /** * Destroys all structural connectivity of the given node: @@ -145,26 +144,24 @@ export class GraphService implements IGraph { * After removal, the GraphNode becomes an isolated island. * Memory or layout cleanup must be handled elsewhere. */ - removeNode(node: GraphNode): void { - unlinkAllObserversBulkUnsafeForDisposal(node); - unlinkAllSourcesChunkedUnsafe(node); - } + removeNode = (node: GraphNode): void => ( + unlinkAllObserversBulkUnsafeForDisposal(node), + unlinkAllSourcesChunkedUnsafe(node) + ); /** * Creates a directed edge source → observer. * Implementations must not check for duplicates or cycles. */ - addObserver(source: GraphNode, observer: GraphNode): void { + addObserver = (source: GraphNode, observer: GraphNode): GraphEdge => linkSourceToObserverUnsafe(source, observer); - } /** * Removes the directed edge source → observer, if it exists. * Otherwise a no-op. */ - removeObserver(source: GraphNode, observer: GraphNode): void { + removeObserver = (source: GraphNode, observer: GraphNode): void => unlinkSourceFromObserverUnsafe(source, observer); - } /** * Enumerates all observers of the given node. @@ -172,13 +169,12 @@ export class GraphService implements IGraph { * Complexity: O(k), where k = out-degree. * No allocations. */ - forEachObserver(node: GraphNode, fn: (observer: GraphNode) => void): void { - let edge = node.firstOut; - while (edge !== null) { - fn(edge.to); - edge = edge.nextOut; - } - } + forEachObserver = ( + node: GraphNode, + fn: (observer: GraphNode) => void, + ): void => { + for (let e = node.firstOut; e !== null; e = e.nextOut) fn(e.to); + }; /** * Enumerates all sources of the given node. @@ -186,29 +182,23 @@ export class GraphService implements IGraph { * Complexity: O(k), where k = in-degree. * No allocations. */ - forEachSource(node: GraphNode, fn: (source: GraphNode) => void): void { - let edge = node.firstIn; - while (edge !== null) { - fn(edge.from); - edge = edge.nextIn; - } - } + forEachSource = (node: GraphNode, fn: (source: GraphNode) => void): void => { + for (let e = node.firstIn; e !== null; e = e.nextIn) fn(e.from); + }; /** * Returns true iff observer is present in the outgoing adjacency list * of the source node. */ - hasObserver(source: GraphNode, observer: GraphNode): boolean { - return hasObserverUnsafe(source, observer); - } + hasObserver = (source: GraphNode, observer: GraphNode) => + hasObserverUnsafe(source, observer); /** * Returns true iff source is present in the incoming adjacency list * of the observer node. */ - hasSource(source: GraphNode, observer: GraphNode): boolean { - return hasSourceUnsafe(source, observer); - } + hasSource = (source: GraphNode, observer: GraphNode): boolean => + hasSourceUnsafe(source, observer); /** * Re-binds the observer to a new source node. @@ -220,11 +210,9 @@ export class GraphService implements IGraph { * * Must remain O(1) amortized. */ - replaceSource( + replaceSource = ( oldSource: GraphNode, newSource: GraphNode, observer: GraphNode, - ): void { - replaceSourceUnsafe(oldSource, newSource, observer); - } + ): void => replaceSourceUnsafe(oldSource, newSource, observer); } diff --git a/packages/@reflex/core/src/graph/process/graph.constants.ts b/packages/@reflex/core/src/graph/process/graph.constants.ts index 76712e3..5f7f1f5 100644 --- a/packages/@reflex/core/src/graph/process/graph.constants.ts +++ b/packages/@reflex/core/src/graph/process/graph.constants.ts @@ -1,16 +1,15 @@ -import { type BitMask } from "../../object/utils/bitwise"; -const CLEAN: BitMask = 0; +const CLEAN = 0; const CHECK = 1 << 0; -const DIRTY: BitMask = 1 << 1; -const DISPOSED: BitMask = 1 << 2; -const DISPOSING: BitMask = 1 << 3; -const SCHEDULED: BitMask = 1 << 4; -const RUNNING: BitMask = 1 << 5; -const ASYNC: BitMask = 1 << 6; -const KIND_SOURCE: BitMask = 1 << 7; -const KIND_COMPUTATION: BitMask = 1 << 8; -const KIND_EFFECT: BitMask = 1 << 9; +const DIRTY = 1 << 1; +const DISPOSED = 1 << 2; +const DISPOSING = 1 << 3; +const SCHEDULED = 1 << 4; +const RUNNING = 1 << 5; +const ASYNC = 1 << 6; +const KIND_SOURCE = 1 << 7; +const KIND_COMPUTATION = 1 << 8; +const KIND_EFFECT = 1 << 9; /** * Number of cells in the internal Uint32Array structures. diff --git a/packages/@reflex/core/src/graph/process/graph.methods.ts b/packages/@reflex/core/src/graph/process/graph.methods.ts index a3260c1..058d889 100644 --- a/packages/@reflex/core/src/graph/process/graph.methods.ts +++ b/packages/@reflex/core/src/graph/process/graph.methods.ts @@ -31,31 +31,31 @@ export const linkSourceToObserverUnsafe = ( source: GraphNode, observer: GraphNode, ): GraphEdge => { - const e = new GraphEdge(source, observer); + const edge = new GraphEdge(source, observer); // ----- OUT adjacency (source → observer) const lastOut = source.lastOut; - e.prevOut = lastOut; - e.nextOut = null; + edge.prevOut = lastOut; + edge.nextOut = null; - if (lastOut === null) source.firstOut = e; - else lastOut.nextOut = e; + if (lastOut === null) source.firstOut = edge; + else lastOut.nextOut = edge; - source.lastOut = e; + source.lastOut = edge; source.outCount++; // ----- IN adjacency (source → observer) const lastIn = observer.lastIn; - e.prevIn = lastIn; - e.nextIn = null; + edge.prevIn = lastIn; + edge.nextIn = null; - if (lastIn === null) observer.firstIn = e; - else lastIn.nextIn = e; + if (lastIn === null) observer.firstIn = edge; + else lastIn.nextIn = edge; - observer.lastIn = e; + observer.lastIn = edge; observer.inCount++; - return e; + return edge; }; /** diff --git a/packages/@reflex/core/src/graph/process/graph.node.ts b/packages/@reflex/core/src/graph/process/graph.node.ts index 517ebf9..0b5b861 100644 --- a/packages/@reflex/core/src/graph/process/graph.node.ts +++ b/packages/@reflex/core/src/graph/process/graph.node.ts @@ -1,3 +1,4 @@ +import { INITIAL_CAUSATION } from "../../storage/config/causal.phase"; import { CausalCoords } from "../../storage/config/CausalCoords"; import { CLEAN } from "./graph.constants"; @@ -35,19 +36,14 @@ const NON_EXIST: NodeIndex = -1; class GraphEdge { /** Source node of the edge */ from: GraphNode; - /** Target node of the edge */ to: GraphNode; - /** Previous edge in the outgoing list of `from` */ prevOut: GraphEdge | null = null; - /** Next edge in the outgoing list of `from` */ nextOut: GraphEdge | null = null; - /** Previous edge in the incoming list of `to` */ prevIn: GraphEdge | null = null; - /** Next edge in the incoming list of `to` */ nextIn: GraphEdge | null = null; @@ -103,36 +99,29 @@ class GraphEdge { class GraphNode { /** Index in the causal layout (t/v/g/s table), or NON_EXIST */ id: NodeIndex = NON_EXIST; - /** First outgoing dependency (this → observer) */ firstOut: GraphEdge | null = null; - /** Last outgoing dependency (this → observer) */ lastOut: GraphEdge | null = null; - /** First incoming dependency (source → this) */ firstIn: GraphEdge | null = null; - /** Last incoming dependency (source → this) */ lastIn: GraphEdge | null = null; - /** Number of outgoing edges */ outCount: number = 0; - /** Number of incoming edges */ inCount: number = 0; - /** * Bit-mask for node-level flags. * Initial state: CLEAN (defined in graph.constants). */ flags: number = CLEAN; - _causal: CausalCoords = { - t: 0, - v: 0, - g: 0, - s: 0, + causal: CausalCoords = { + t: INITIAL_CAUSATION, + v: INITIAL_CAUSATION, + g: INITIAL_CAUSATION, + s: INITIAL_CAUSATION, }; constructor(id: NodeIndex) { diff --git a/packages/@reflex/core/src/ownership/ownership.node.ts b/packages/@reflex/core/src/ownership/ownership.node.ts index f918ea0..7e031ff 100644 --- a/packages/@reflex/core/src/ownership/ownership.node.ts +++ b/packages/@reflex/core/src/ownership/ownership.node.ts @@ -22,256 +22,190 @@ import { } from "./ownership.context"; import type { ContextKeyType, - IOwnership, IOwnershipContextRecord, } from "./ownership.contract"; export class OwnershipNode { - // Tree links _parent: OwnershipNode | null = null; _firstChild: OwnershipNode | null = null; _lastChild: OwnershipNode | null = null; _nextSibling: OwnershipNode | null = null; _prevSibling: OwnershipNode | null = null; - // Context (lazy) + // payload _context: IOwnershipContextRecord | null = null; - - // Cleanup handlers (lazy) _cleanups: NoneToVoidFn[] | null = null; - // Counters & state + // state _childCount = 0; _flags = 0; + // flat causal coords (even if unused yet) _causal: CausalCoords = { t: 0, v: 0, g: 0, s: 0, }; +} + +export class OwnershipService { + createOwner = (parent: OwnershipNode | null = null): OwnershipNode => { + const node = new OwnershipNode(); + if (parent !== null) this.appendChild(parent, node); + return node; + }; + + appendChild = (parent: OwnershipNode, child: OwnershipNode): void => { + if (parent._flags & DISPOSED) return; - /** - * Append child to the end of this owner's children list. - * O(1), keeps doubly-linked sibling chain consistent. - */ - appendChild(child: OwnershipNode): void { - // disposed owners silently ignore structural changes - if (this._flags & DISPOSED) return; - - // reparent if needed - if (child._parent !== null) { - child._parent.removeChild(child); + // SAFE reparent + const oldParent = child._parent; + if (oldParent !== null) { + this.removeChild(oldParent, child); } - child._parent = this; + child._parent = parent; + child._prevSibling = parent._lastChild; child._nextSibling = null; - child._prevSibling = this._lastChild; - if (this._lastChild !== null) { - this._lastChild._nextSibling = child; + if (parent._lastChild !== null) { + parent._lastChild._nextSibling = child; } else { - this._firstChild = child; + parent._firstChild = child; } - this._lastChild = child; - this._childCount++; - } + parent._lastChild = child; + parent._childCount++; + }; - /** - * Remove child from this owner's children list. - * O(1), no recursion, no side effects on child subtree. - */ - removeChild(child: OwnershipNode): void { - if (child._parent !== this) return; + removeChild = (parent: OwnershipNode, child: OwnershipNode): void => { + if (child._parent !== parent) return; + if (parent._flags & DISPOSED) return; const prev = child._prevSibling; const next = child._nextSibling; if (prev !== null) prev._nextSibling = next; - else this._firstChild = next; + else parent._firstChild = next; if (next !== null) next._prevSibling = prev; - else this._lastChild = prev; + else parent._lastChild = prev; child._parent = null; child._prevSibling = null; child._nextSibling = null; - this._childCount--; - } - - /** - * Register a cleanup callback to be executed when this scope is disposed. - * - * - Allocates cleanup array lazily on first use. - * - Throws if the node is already disposed. - */ - onScopeCleanup(fn: NoneToVoidFn): void { - if (this._flags & DISPOSED) { - return; - } - if (this._cleanups === null) { - this._cleanups = []; - } + parent._childCount--; + }; - this._cleanups.push(fn); - } - - /** - * Dispose this owner and its entire subtree. - * - * - Non-recursive DFS (explicit stack) - * - Post-order: children before parents - * - Cleanups executed in LIFO order - * - Idempotent: repeated calls are safe - */ - dispose(): void { - if (this._flags & DISPOSED) return; - - // Phase 1: collect nodes in post-order - const toDispose: OwnershipNode[] = []; - const stack: Array<{ node: OwnershipNode; phase: 0 | 1 }> = [ - { node: this, phase: 0 }, - ]; - - while (stack.length > 0) { - const entry = stack[stack.length - 1]!; - const current = entry.node; - - if (entry.phase === 0) { - entry.phase = 1; - let child = current._lastChild; - while (child !== null) { - stack.push({ node: child, phase: 0 }); - child = child._prevSibling; - } - } else { - stack.pop(); - if (!(current._flags & DISPOSED)) { - toDispose.push(current); - } - } - } + dispose = (root: OwnershipNode): void => { + if (root._flags & DISPOSED) return; - // Phase 2: run cleanups and detach nodes - let errorCount = 0; - let firstError: unknown; + let node: OwnershipNode | null = root; - for (let i = 0; i < toDispose.length; i++) { - const n = toDispose[i]!; + while (node !== null) { + const last: OwnershipNode | null = node._lastChild; - if (n._flags & DISPOSED) continue; + if (last !== null && !(last._flags & DISPOSED)) { + node = last; + continue; + } - const cleanups = n._cleanups; - n._cleanups = null; + const parent: OwnershipNode | null = node._parent; + + // run cleanups (LIFO) + const cleanups = node._cleanups; + node._cleanups = null; if (cleanups !== null) { - for (let j = cleanups.length - 1; j >= 0; j--) { - const fn = cleanups[j]; - if (!fn) continue; + for (let i = cleanups.length - 1; i >= 0; i--) { try { - fn(); + cleanups[i]?.(); } catch (err) { - if (firstError === undefined) firstError = err; - errorCount++; + console.error("Error during ownership cleanup:", err); } } } - // detach from parent/siblings - if (n._prevSibling !== null) { - n._prevSibling._nextSibling = n._nextSibling; - } else if (n._parent !== null) { - n._parent._firstChild = n._nextSibling; - } + node._flags = DISPOSED; - if (n._nextSibling !== null) { - n._nextSibling._prevSibling = n._prevSibling; - } else if (n._parent !== null) { - n._parent._lastChild = n._prevSibling; - } + if (parent !== null) { + const prev = node._prevSibling; + const next = node._nextSibling; + + if (prev !== null) prev._nextSibling = next; + else parent._firstChild = next; + + if (next !== null) next._prevSibling = prev; + else parent._lastChild = prev; - if (n._parent !== null) { - n._parent._childCount--; + parent._childCount--; } - // reset links and state - n._firstChild = null; - n._lastChild = null; - n._nextSibling = null; - n._prevSibling = null; - n._parent = null; - n._context = null; - n._childCount = 0; + // reset node + node._parent = null; + node._firstChild = null; + node._lastChild = null; + node._nextSibling = null; + node._prevSibling = null; + node._context = null; + node._childCount = 0; - n._flags = DISPOSED; + node = parent; } + }; - if (errorCount > 0) { - console.error( - errorCount === 1 - ? "Error during ownership dispose:" - : `${errorCount} errors during ownership dispose. First error:`, - firstError, - ); - } - } - - /** - * Return existing context or lazily create a new layer that - * inherits from parent context via prototype chain. - */ - getContext(): IOwnershipContextRecord { - if (this._context !== null) return this._context; - - const parentCtx = this._parent?._context ?? null; - const ctx = createContextLayer(parentCtx); - this._context = ctx; + /* ───────────── Context ───────────── */ + + getContext = (node: OwnershipNode): IOwnershipContextRecord => { + let ctx = node._context; + if (ctx !== null) return ctx; + + ctx = createContextLayer(node._parent?._context ?? null); + node._context = ctx; return ctx; - } - - /** - * Provide a value for a given context key in this node. - */ - provide(key: ContextKeyType, value: unknown): void { - const ctx = this.getContext(); - contextProvide(ctx, key, value); - } - - /** - * Lookup a value in the context chain (this node → parents). - */ - inject(key: ContextKeyType): T | undefined { - return contextLookup(this, key); - } - - /** - * Check if this node's own context has the given key (no parent lookup). - */ - hasOwn(key: ContextKeyType): boolean { - return contextHasOwn(this._context, key); - } -} + }; -/** - * createOwner: Factory for creating ownership nodes. - * - * Creates a new OwnershipNode with all fields initialized. - * Methods are bound to OwnershipNode.prototype for monomorphic calls. - * If parent is provided, automatically appends to parent's child list. - */ -export function createOwner( - parent: OwnershipNode | null = null, -): OwnershipNode { - const owner = new OwnershipNode(); + provide = ( + node: OwnershipNode, + key: ContextKeyType, + value: unknown, + ): void => { + const FORBIDDEN_KEYS = new Set(["__proto__", "prototype", "constructor"]); + + if (value === node) { + throw new Error("Cannot provide owner itself"); + } + + if (typeof key === "string" && FORBIDDEN_KEYS.has(key)) { + throw new Error(`Forbidden context key: ${key}`); + } + + contextProvide(this.getContext(node), key, value); + }; + + inject = (node: OwnershipNode, key: ContextKeyType): T | undefined => { + return contextLookup(node, key); + }; - if (parent !== null) { - parent.appendChild(owner); - } + hasOwn = (node: OwnershipNode, key: ContextKeyType): boolean => { + const ctx = node._context; + return ctx !== null && contextHasOwn(ctx, key); + }; + + onScopeCleanup = (node: OwnershipNode, fn: NoneToVoidFn): void => { + if (node._flags & DISPOSED) return; - return owner; + let arr = node._cleanups; + if (arr === null) { + arr = []; + node._cleanups = arr; + } + arr.push(fn); + }; } -// If тебе нужно "публичный" тип IOwnership из этого файла: +type IOwnership = OwnershipService; + export type { IOwnership }; diff --git a/packages/@reflex/core/src/ownership/ownership.scope.ts b/packages/@reflex/core/src/ownership/ownership.scope.ts index a45a5e2..2ed2bd0 100644 --- a/packages/@reflex/core/src/ownership/ownership.scope.ts +++ b/packages/@reflex/core/src/ownership/ownership.scope.ts @@ -1,18 +1,23 @@ -import { OwnershipNode } from "./ownership.node"; +import { OwnershipNode, OwnershipService } from "./ownership.node"; /** - * OwnershipScope class: maintains the current owner context. + * OwnershipScope * - * Replaces functional createOwnershipScope with a stable class - * for better inlining and performance. + * Maintains the current ownership context (stack-like), + * without owning lifecycle or disposal responsibilities. * - * Provides: - * - getOwner(): IOwnership | null - * - withOwner(owner, fn): T - * - createScope(fn, parent?): T + * Responsibilities: + * - track current OwnershipNode + * - provide safe withOwner switching + * - create scoped owners via OwnershipService */ export class OwnershipScope { private _current: OwnershipNode | null = null; + private readonly _service: OwnershipService; + + constructor(service: OwnershipService) { + this._service = service; + } getOwner(): OwnershipNode | null { return this._current; @@ -29,17 +34,32 @@ export class OwnershipScope { } } - createScope(fn: () => T, parent: OwnershipNode | null = null): T { - const owner = createOwner(parent ?? this._current); + /** + * Create a new ownership scope. + * + * - Parent defaults to current owner + * - Does NOT auto-dispose the owner + * (lifecycle is managed elsewhere) + */ + createScope( + fn: () => T, + parent: OwnershipNode | null = this._current, + ): T { + const owner = this._service.createOwner(parent); return this.withOwner(owner, fn); } } /** * Factory for creating a new OwnershipScope instance. + * + * OwnershipService is injected explicitly to avoid globals + * and enable deterministic ownership graphs. */ -export const createOwnershipScope = (): OwnershipScope => { - return new OwnershipScope(); -}; +export function createOwnershipScope( + service: OwnershipService, +): OwnershipScope { + return new OwnershipScope(service); +} export type { OwnershipScope as OwnershipScopeType }; diff --git a/packages/@reflex/core/src/storage/config/CausalPhase.ts b/packages/@reflex/core/src/storage/config/causal.phase.ts similarity index 73% rename from packages/@reflex/core/src/storage/config/CausalPhase.ts rename to packages/@reflex/core/src/storage/config/causal.phase.ts index dacccc3..1ec2459 100644 --- a/packages/@reflex/core/src/storage/config/CausalPhase.ts +++ b/packages/@reflex/core/src/storage/config/causal.phase.ts @@ -1,4 +1,3 @@ -// Фаза Твердий сенс // CAUSALLY_STABLE Єдиний причинний простір, шов гладкий. // GENERATION_DRIFT Розрив у async-поколіннях, але структура зберігається. // TOPOLOGY_TENSION Локальна зміна топології DAG, можливе «перетягування шва». @@ -6,10 +5,13 @@ // - Найнебезпечніша ситуація, але в той же час, найрідша const enum CausalPhase { - CAUSALLY_STABLE = 0x00, - GENERATION_DRIFT = 0x01, - TOPOLOGY_TENSION = 0x02, - CAUSAL_CONFLICT = 0x03, + CAUSALLY_STABLE = 0, + GENERATION_DRIFT = 1, + TOPOLOGY_TENSION = 2, + CAUSAL_CONFLICT = 3, } -export default CausalPhase; +const WRAP_END = 0xffff_ffff >>> 0; +const INITIAL_CAUSATION = 0; + +export { CausalPhase, WRAP_END, INITIAL_CAUSATION }; diff --git a/packages/@reflex/core/tests/ownership/ownerhip.test.ts b/packages/@reflex/core/tests/ownership/ownerhip.test.ts index 20540a7..2000425 100644 --- a/packages/@reflex/core/tests/ownership/ownerhip.test.ts +++ b/packages/@reflex/core/tests/ownership/ownerhip.test.ts @@ -1,510 +1,474 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; -import { createOwner } from "./../../src/ownership/ownership.core"; -import { createOwnershipScope } from "./../../src/ownership/ownership.scope"; +import { OwnershipService } from "../../src/ownership/ownership.node"; import { - CLEAN, - DISPOSED, - DISPOSING, -} from "./../../src/ownership/ownership.type"; - -const isClean = (o: any) => o._flags === CLEAN; -const isDisposed = (o: any) => o._flags === DISPOSED; -const isDisposing = (o: any) => (o._flags & DISPOSING) === DISPOSING; - -const collectChildren = (owner: any) => { - const arr: any[] = []; - let child = owner._firstChild; - while (child !== null) { - arr.push(child); - child = child._nextSibling; + createOwnershipScope, + OwnershipScope, +} from "../../src/ownership/ownership.scope"; +import type { OwnershipNode } from "../../src/ownership/ownership.node"; + +/* ────────────────────────────────────────────────────────────── + * Test helpers (no `any`) + * ────────────────────────────────────────────────────────────── */ + +function collectChildren(parent: OwnershipNode): OwnershipNode[] { + const out: OwnershipNode[] = []; + let c = parent._firstChild; + while (c !== null) { + out.push(c); + c = c._nextSibling; } - return arr; -}; + return out; +} -describe("OwnershipPrototype — Core Behavior", () => { - describe("appendChild/removeChild", () => { - it("should attach child and establish parent relationship", () => { - const parent = createOwner(); - const child = createOwner(); +function assertSiblingChain(parent: OwnershipNode): void { + const kids = collectChildren(parent); - parent.appendChild(child); + // parent pointers + for (const k of kids) { + expect(k._parent).toBe(parent); + } - expect(child._parent).toBe(parent); - expect(parent._firstChild).toBe(child); - expect(parent._lastChild).toBe(child); - expect(parent._childCount).toBe(1); - }); + // first/last links + if (kids.length === 0) { + expect(parent._firstChild).toBeNull(); + expect(parent._lastChild).toBeNull(); + } else { + expect(parent._firstChild).toBe(kids[0]); + expect(parent._lastChild).toBe(kids[kids.length - 1]); + } - it("should link multiple children in order", () => { - const parent = createOwner(); - const child1 = createOwner(); - const child2 = createOwner(); - const child3 = createOwner(); + // forward/backward consistency + for (let i = 0; i < kids.length; i++) { + const cur = kids[i]!; + const prev = i === 0 ? null : kids[i - 1]!; + const next = i === kids.length - 1 ? null : kids[i + 1]!; - parent.appendChild(child1); - parent.appendChild(child2); - parent.appendChild(child3); + expect(cur._prevSibling).toBe(prev); + expect(cur._nextSibling).toBe(next); - expect(parent._firstChild).toBe(child1); - expect(parent._lastChild).toBe(child3); - expect(child1._nextSibling).toBe(child2); - expect(child2._prevSibling).toBe(child1); - expect(child2._nextSibling).toBe(child3); - expect(child3._prevSibling).toBe(child2); - expect(parent._childCount).toBe(3); - }); + if (prev !== null) expect(prev._nextSibling).toBe(cur); + if (next !== null) expect(next._prevSibling).toBe(cur); + } - it("should safely remove non-existent child", () => { - const p = createOwner(); - const c = createOwner(); - expect(() => p.removeChild(c)).not.toThrow(); - expect(p._firstChild).toBeNull(); - }); + // count accuracy (white-box but meaningful) + expect(parent._childCount).toBe(kids.length); +} - it("should detach child reference after removal", () => { - const p = createOwner(); - const c = createOwner(); +function assertDetached(node: OwnershipNode): void { + expect(node._parent).toBeNull(); + expect(node._prevSibling).toBeNull(); + expect(node._nextSibling).toBeNull(); +} - p.appendChild(c); - p.removeChild(c); +/** + * Security-sensitive keys for prototype-pollution checks. + * If your context layer is a plain object / proto-chain, these must be blocked. + */ +const PROTO_KEYS: Array = ["__proto__", "prototype", "constructor"]; - expect(c._parent).toBeNull(); - expect(c._nextSibling).toBeNull(); - expect(c._prevSibling).toBeNull(); - expect(p._firstChild).toBeNull(); - expect(p._lastChild).toBeNull(); - expect(p._childCount).toBe(0); - }); +/* ────────────────────────────────────────────────────────────── + * Ownership Safety Spec — Tests + * ────────────────────────────────────────────────────────────── */ - it("should remove child from middle of sibling chain", () => { - const p = createOwner(); - const c1 = createOwner(); - const c2 = createOwner(); - const c3 = createOwner(); +describe("Ownership Safety Spec (I–VIII)", () => { + let service: OwnershipService; - p.appendChild(c1); - p.appendChild(c2); - p.appendChild(c3); + beforeEach(() => { + service = new OwnershipService(); + }); - p.removeChild(c2); + /*───────────────────────────────────────────────* + * I. Structural Invariants + *───────────────────────────────────────────────*/ + describe("I. Structural Invariants", () => { + it("I1 Single Parent: child cannot have two parents after reparent", () => { + const p1 = service.createOwner(null); + const p2 = service.createOwner(null); + const c = service.createOwner(null); - expect(c1._nextSibling).toBe(c3); - expect(c3._prevSibling).toBe(c1); - expect(p._firstChild).toBe(c1); - expect(p._lastChild).toBe(c3); - expect(p._childCount).toBe(2); - }); + service.appendChild(p1, c); + service.appendChild(p2, c); - it("should remove first child correctly", () => { - const p = createOwner(); - const c1 = createOwner(); - const c2 = createOwner(); + // child parent updated + expect(c._parent).toBe(p2); - p.appendChild(c1); - p.appendChild(c2); - p.removeChild(c1); + // p1 should no longer reference child + expect(collectChildren(p1)).not.toContain(c); + expect(p1._childCount).toBe(0); - expect(p._firstChild).toBe(c2); - expect(c2._prevSibling).toBeNull(); - expect(p._childCount).toBe(1); + // p2 contains child exactly once + const kids2 = collectChildren(p2); + expect(kids2).toContain(c); + expect(kids2.filter((x) => x === c).length).toBe(1); + + assertSiblingChain(p1); + assertSiblingChain(p2); }); - it("should remove last child correctly", () => { - const p = createOwner(); - const c1 = createOwner(); - const c2 = createOwner(); + it("I2 Sibling Chain Consistency: multi-append preserves order and links", () => { + const p = service.createOwner(null); + const a = service.createOwner(null); + const b = service.createOwner(null); + const c = service.createOwner(null); - p.appendChild(c1); - p.appendChild(c2); - p.removeChild(c2); + service.appendChild(p, a); + service.appendChild(p, b); + service.appendChild(p, c); - expect(p._lastChild).toBe(c1); - expect(c1._nextSibling).toBeNull(); - expect(p._childCount).toBe(1); + assertSiblingChain(p); + expect(collectChildren(p)).toEqual([a, b, c]); }); - }); - describe("Context Management", () => { - it("should inherit context from parent on appendChild", () => { - const parent = createOwner(); - parent.provide("key", 100); + it("I3 Child Count Accuracy: _childCount matches traversal", () => { + const p = service.createOwner(null); + for (let i = 0; i < 50; i++) service.createOwner(p); - const child = createOwner(); - parent.appendChild(child); + assertSiblingChain(p); - expect(child.inject("key")).toBe(100); - }); + // remove some + const kids = collectChildren(p); + for (let i = 0; i < kids.length; i += 3) { + service.removeChild(p, kids[i]!); + } - it("should create isolated context copies for each child", () => { - const parent = createOwner(); - parent.provide("shared", 1); + assertSiblingChain(p); + }); - const child1 = createOwner(parent); - const child2 = createOwner(parent); + it("I4 Safe Reparenting: reparent preserves integrity of both lists", () => { + const p1 = service.createOwner(null); + const p2 = service.createOwner(null); - child1.provide("shared", 10); - child2.provide("shared", 20); + const kids: OwnershipNode[] = []; + for (let i = 0; i < 10; i++) kids.push(service.createOwner(p1)); - expect(parent.inject("shared")).toBe(1); - expect(child1.inject("shared")).toBe(10); - expect(child2.inject("shared")).toBe(20); - }); + // move middle one + const mid = kids[5]!; + service.appendChild(p2, mid); - it("should lazily initialize context on first getContext call", () => { - const owner = createOwner(); + assertSiblingChain(p1); + assertSiblingChain(p2); - expect(owner._context).toBeNull(); - const ctx = owner.getContext(); - expect(owner._context).toBeDefined(); - expect(ctx).toBe(owner._context); + expect(collectChildren(p2)).toEqual([mid]); + expect(collectChildren(p1)).not.toContain(mid); }); - it("should inherit parent context lazily", () => { - const parent = createOwner(); - parent.provide("x", 5); + it("I5 Orphan Removal: removeChild detaches child refs", () => { + const p = service.createOwner(null); + const c = service.createOwner(null); - const child = createOwner(parent); - expect(child._context).toBeNull(); + service.appendChild(p, c); + service.removeChild(p, c); - const value = child.inject("x"); - expect(value).toBe(5); - expect(child._context).toBeDefined(); + assertDetached(c); + assertSiblingChain(p); }); - it("should prevent providing owner itself in context", () => { - const owner = createOwner(); - expect(() => owner.provide("self", owner)).toThrow( - "Cannot provide owner itself", - ); - }); + it("Removal is safe when child is not owned by parent (no throw, no mutation)", () => { + const p = service.createOwner(null); + const other = service.createOwner(null); + const c = service.createOwner(other); - it("should support symbol keys in context", () => { - const owner = createOwner(); - const key = Symbol("test"); + // should not throw and should not detach from real parent + expect(() => service.removeChild(p, c)).not.toThrow(); + expect(c._parent).toBe(other); - owner.provide(key as any, "symbol-value"); - expect(owner.inject(key as any)).toBe("symbol-value"); - expect(owner.hasOwn(key as any)).toBe(true); + assertSiblingChain(p); + assertSiblingChain(other); }); + }); - it("should return undefined for non-existent keys", () => { - const owner = createOwner(); - expect(owner.inject("missing")).toBeUndefined(); - expect(owner.hasOwn("missing")).toBe(false); - }); + /*───────────────────────────────────────────────* + * II. Context Invariants + *───────────────────────────────────────────────*/ + describe("II. Context Invariants", () => { + it("II1 Lazy Context Initialization: _context stays null until first access/provide", () => { + const o = service.createOwner(null); + expect(o._context).toBeNull(); - it("should distinguish between own and inherited keys", () => { - const parent = createOwner(); - parent.provide("inherited", 1); + // getContext should initialize + const ctx = service.getContext(o); + expect(ctx).toBeDefined(); + expect(o._context).not.toBeNull(); + expect(service.getContext(o)).toBe(ctx); + }); - const child = createOwner(parent); - child.provide("own", 2); + it("II2 Inheritance Without Mutation: child can read parent, overrides are isolated", () => { + const parent = service.createOwner(null); + service.provide(parent, "shared", 1); - expect(child.hasOwn("own")).toBe(true); - expect(child.hasOwn("inherited")).toBe(false); - expect(child.inject("inherited")).toBe(1); - }); - }); + const c1 = service.createOwner(parent); + const c2 = service.createOwner(parent); - describe("Cleanup Registration", () => { - it("should register and execute cleanup callbacks", () => { - const owner = createOwner(); - const spy = vi.fn(); + expect(service.inject(c1, "shared")).toBe(1); + expect(service.inject(c2, "shared")).toBe(1); - owner.onScopeCleanup(spy); - (owner as any).dispose(); + service.provide(c1, "shared", 10); + service.provide(c2, "shared", 20); - expect(spy).toHaveBeenCalledTimes(1); + expect(service.inject(parent, "shared")).toBe(1); + expect(service.inject(c1, "shared")).toBe(10); + expect(service.inject(c2, "shared")).toBe(20); }); - it("should execute multiple cleanup callbacks in LIFO order", () => { - const owner = createOwner(); - const order: number[] = []; + it("II3 Forbidden Prototype Keys: providing __proto__/constructor/prototype must be rejected", () => { + const o = service.createOwner(null); - owner.onScopeCleanup(() => order.push(1)); - owner.onScopeCleanup(() => order.push(2)); - owner.onScopeCleanup(() => order.push(3)); + // These tests are intentionally strict. If they fail now, it's a real vulnerability to fix. + for (const key of PROTO_KEYS) { + expect(() => + service.provide(o, key as unknown as any, { hacked: true }), + ).toThrow(); + } + }); - (owner as any).dispose(); + it("II4 Self Reference Prevention: cannot provide owner itself as a value", () => { + const o = service.createOwner(null); - expect(order).toEqual([3, 2, 1]); + // Strict: if current code does not throw yet, you should add the guard in contextProvide/provide + expect(() => service.provide(o, "self", o)).toThrow(); }); - it("should throw when adding cleanup to disposed owner", () => { - const owner = createOwner(); - (owner as any).dispose(); + it("hasOwn vs inject: distinguishes own vs inherited keys", () => { + const parent = service.createOwner(null); + service.provide(parent, "inherited", 1); + + const child = service.createOwner(parent); + service.provide(child, "own", 2); - expect(() => owner.onScopeCleanup(() => {})).toThrow(); + expect(service.hasOwn(child, "own")).toBe(true); + expect(service.hasOwn(child, "inherited")).toBe(false); + + expect(service.inject(child, "inherited")).toBe(1); + expect(service.inject(child, "own")).toBe(2); }); - it("should initialize disposal array lazily", () => { - const owner = createOwner(); - expect(owner._cleanups).toBeNull(); + it("supports symbol keys (context keys)", () => { + const o = service.createOwner(null); + const k = Symbol("k") as unknown as any; - owner.onScopeCleanup(() => {}); - expect(owner._cleanups).toBeDefined(); - expect(Array.isArray(owner._cleanups)).toBe(true); + service.provide(o, k, 123); + expect(service.inject(o, k)).toBe(123); + expect(service.hasOwn(o, k)).toBe(true); }); - }); - describe("Disposal Process", () => { - it("should dispose tree in DFS post-order", () => { - const root = createOwner(); - const child1 = createOwner(root); - const child2 = createOwner(root); - const grandchild = createOwner(child1); + it("returns undefined for missing keys", () => { + const o = service.createOwner(null); + expect(service.inject(o, "missing")).toBeUndefined(); + expect(service.hasOwn(o, "missing")).toBe(false); + }); - const order: string[] = []; + it("allows null/undefined values without breaking own-ness", () => { + const o = service.createOwner(null); + service.provide(o, "null", null); + service.provide(o, "undef", undefined); - grandchild.onScopeCleanup(() => order.push("grandchild")); - child1.onScopeCleanup(() => order.push("child1")); - child2.onScopeCleanup(() => order.push("child2")); - root.onScopeCleanup(() => order.push("root")); + expect(service.inject(o, "null")).toBeNull(); + expect(service.inject(o, "undef")).toBeUndefined(); + expect(service.hasOwn(o, "null")).toBe(true); + expect(service.hasOwn(o, "undef")).toBe(true); + }); + }); - (root as any).dispose(); + /*───────────────────────────────────────────────* + * III. Cleanup Invariants + *───────────────────────────────────────────────*/ + describe("III. Cleanup Invariants", () => { + it("III1 Lazy Cleanups: _cleanups is null until first registration", () => { + const o = service.createOwner(null); + expect(o._cleanups).toBeNull(); - expect(order).toEqual(["grandchild", "child1", "child2", "root"]); + service.onScopeCleanup(o, () => {}); + expect(o._cleanups).not.toBeNull(); + expect(Array.isArray(o._cleanups)).toBe(true); }); - it("should mark all nodes as DISPOSED after cleanup", () => { - const root = createOwner(); - const child = createOwner(root); + it("III2 Order Guarantee (LIFO): cleanups run in reverse registration order", () => { + const o = service.createOwner(null); + const order: number[] = []; - (root as any).dispose(); + service.onScopeCleanup(o, () => order.push(1)); + service.onScopeCleanup(o, () => order.push(2)); + service.onScopeCleanup(o, () => order.push(3)); - expect(isDisposed(root)).toBe(true); - expect(isDisposed(child)).toBe(true); + service.dispose(o); + expect(order).toEqual([3, 2, 1]); }); - it("should be idempotent (multiple dispose calls safe)", () => { - const owner = createOwner(); + it("III3 Idempotent Dispose: cleanups execute exactly once", () => { + const o = service.createOwner(null); const spy = vi.fn(); - owner.onScopeCleanup(spy); - (owner as any).dispose(); - (owner as any).dispose(); - (owner as any).dispose(); + service.onScopeCleanup(o, spy); + service.dispose(o); + service.dispose(o); + service.dispose(o); expect(spy).toHaveBeenCalledTimes(1); - expect(isDisposed(owner)).toBe(true); }); - it("should clear references after disposal", () => { - const o = createOwner(); - o.provide("x", 1); - o.onScopeCleanup(() => {}); - const c = createOwner(o); - (o as any).dispose(); - expect(o._cleanups).toBeNull(); - expect(o._context).toBeNull(); - expect(o._firstChild).toBeNull(); - expect(o._lastChild).toBeNull(); - }); - - it("should continue cleanup despite errors in cleanup callbacks", () => { - const owner = createOwner(); + it("III4 Continue on Error: cleanup errors do not prevent others", () => { + const o = service.createOwner(null); const spy1 = vi.fn(); const spy2 = vi.fn(() => { - throw new Error("cleanup error"); + throw new Error("cleanup"); }); const spy3 = vi.fn(); - owner.onScopeCleanup(spy1); - owner.onScopeCleanup(spy2); - owner.onScopeCleanup(spy3); - const consoleError = vi .spyOn(console, "error") .mockImplementation(() => {}); - (owner as any).dispose(); + service.onScopeCleanup(o, spy1); + service.onScopeCleanup(o, spy2); + service.onScopeCleanup(o, spy3); + + expect(() => service.dispose(o)).not.toThrow(); - expect(spy1).toHaveBeenCalled(); - expect(spy2).toHaveBeenCalled(); - expect(spy3).toHaveBeenCalled(); - expect(isDisposed(owner)).toBe(true); + expect(spy1).toHaveBeenCalledTimes(1); + expect(spy2).toHaveBeenCalledTimes(1); + expect(spy3).toHaveBeenCalledTimes(1); expect(consoleError).toHaveBeenCalled(); consoleError.mockRestore(); }); + }); - it("should call onError for each error when strategy provided", () => { - const owner = createOwner(); - const errors: unknown[] = []; - - owner.onScopeCleanup(() => { - throw new Error("error1"); - }); - owner.onScopeCleanup(() => { - throw new Error("error2"); - }); - - (owner as any).dispose({ - onError: (err: any) => errors.push(err), - }); - - expect(errors).toHaveLength(2); - expect(isDisposed(owner)).toBe(true); - }); - - it("should call beforeDispose and afterDispose hooks", () => { - const owner = createOwner(); - const hooks: string[] = []; - - (owner as any).dispose({ - beforeDispose: () => hooks.push("before"), - afterDispose: () => hooks.push("after"), - }); - - expect(hooks).toEqual(["before", "after"]); - }); + /*───────────────────────────────────────────────* + * IV. Disposal Order & Tree Safety + *───────────────────────────────────────────────*/ + describe("IV. Disposal Order & Tree Safety", () => { + it("IV1 Post-order traversal: children dispose before parents (via cleanup order)", () => { + const root = service.createOwner(null); + const c1 = service.createOwner(root); + const c2 = service.createOwner(root); + const g = service.createOwner(c1); - it("should pass error count to afterDispose", () => { - const owner = createOwner(); - let errorCount = -1; + const order: string[] = []; - owner.onScopeCleanup(() => { - throw new Error("fail"); - }); + service.onScopeCleanup(g, () => order.push("grandchild")); + service.onScopeCleanup(c1, () => order.push("child1")); + service.onScopeCleanup(c2, () => order.push("child2")); + service.onScopeCleanup(root, () => order.push("root")); - (owner as any).dispose({ - afterDispose: (_: any, count: number) => { - errorCount = count; - }, - onError: () => {}, - }); + service.dispose(root); - expect(errorCount).toBe(1); + expect(order.indexOf("grandchild")).toBeLessThan(order.indexOf("child1")); + expect(order.indexOf("child1")).toBeLessThan(order.indexOf("root")); + expect(order.indexOf("child2")).toBeLessThan(order.indexOf("root")); }); - it("should skip already disposed nodes in tree", () => { - const root = createOwner(); - const child1 = createOwner(root); - const child2 = createOwner(root); + it("IV2 Skip already disposed nodes: disposing subtree then root is safe and does not double-run", () => { + const root = service.createOwner(null); + const c1 = service.createOwner(root); + const c2 = service.createOwner(root); const spy1 = vi.fn(); const spy2 = vi.fn(); - child1.onScopeCleanup(spy1); - child2.onScopeCleanup(spy2); + service.onScopeCleanup(c1, spy1); + service.onScopeCleanup(c2, spy2); - (child1 as any).dispose(); - (root as any).dispose(); + service.dispose(c1); + service.dispose(root); expect(spy1).toHaveBeenCalledTimes(1); expect(spy2).toHaveBeenCalledTimes(1); }); - }); - describe("Edge Cases & Safety", () => { - it("should handle empty ownership tree", () => { - const owner = createOwner(); - expect(() => (owner as any).dispose()).not.toThrow(); - expect(isDisposed(owner)).toBe(true); - }); + it("IV3 Full structural cleanup: after dispose, node has no links/context/cleanups", () => { + const root = service.createOwner(null); + const child = service.createOwner(root); - it("should handle deeply nested trees", () => { - let current = createOwner(); - const depth = 100; + service.provide(root, "x", 1); + service.onScopeCleanup(root, () => {}); + service.onScopeCleanup(child, () => {}); - for (let i = 0; i < depth; i++) { - const child = createOwner(current); - current = child; - } + service.dispose(root); - expect(current._parent).toBeDefined(); - expect(() => (current as any).dispose()).not.toThrow(); - }); - - it("should handle wide trees with many children", () => { - const root = createOwner(); - const childCount = 1000; + // root cleared + expect(root._parent).toBeNull(); + expect(root._firstChild).toBeNull(); + expect(root._lastChild).toBeNull(); + expect(root._context).toBeNull(); + expect(root._cleanups).toBeNull(); + expect(root._childCount).toBe(0); - for (let i = 0; i < childCount; i++) { - createOwner(root); - } - - expect(root._childCount).toBe(childCount); - expect(() => (root as any).dispose()).not.toThrow(); - expect(isDisposed(root)).toBe(true); - }); - - it("should handle null/undefined in context values", () => { - const owner = createOwner(); - - owner.provide("null", null); - owner.provide("undefined", undefined); - - expect(owner.inject("null")).toBe(null); - expect(owner.inject("undefined")).toBe(undefined); - expect(owner.hasOwn("null")).toBe(true); - expect(owner.hasOwn("undefined")).toBe(true); + // child cleared + expect(child._parent).toBeNull(); + expect(child._firstChild).toBeNull(); + expect(child._lastChild).toBeNull(); + expect(child._context).toBeNull(); + expect(child._cleanups).toBeNull(); + expect(child._childCount).toBe(0); }); + }); - it("should maintain state consistency across operations", () => { - const owner = createOwner(); + /*───────────────────────────────────────────────* + * V. OwnershipState Invariants + *───────────────────────────────────────────────*/ + describe("V. OwnershipState Invariants", () => { + it("V1 Mutations after dispose are rejected or ignored safely (no corruption)", () => { + const root = service.createOwner(null); + const child = service.createOwner(null); - expect(isClean(owner)).toBe(true); + service.dispose(root); - owner.onScopeCleanup(() => {}); - expect(isClean(owner)).toBe(true); + // append on disposed root should not attach + expect(() => service.appendChild(root, child)).not.toThrow(); + expect(child._parent).toBeNull(); - owner.provide("x", 1); - expect(isClean(owner)).toBe(true); + // cleanup registration on disposed node: should not register / or should throw; choose your policy + // Current code ignores silently; test for safety (no crash, no reanimation) + expect(() => service.onScopeCleanup(root, () => {})).not.toThrow(); - (owner as any).dispose(); - expect(isDisposed(owner)).toBe(true); + // provide on disposed node: policy-dependent. Safety requirement: no throw OR throw, but no corruption. + expect(() => service.provide(root, "k", 1)).not.toThrow(); + expect(root._parent).toBeNull(); + expect(root._firstChild).toBeNull(); }); - }); -}); -describe("OwnershipScope — Context Management", () => { - let scope: ReturnType; + it("V1 removeChild on disposed parent is safe and does not detach unrelated nodes", () => { + const p = service.createOwner(null); + const c = service.createOwner(p); - beforeEach(() => { - scope = createOwnershipScope(); - }); + service.dispose(p); - afterEach(() => { - // Ensure no dangling owners - expect(scope.getOwner()).toBeNull(); + // should not detach child from p because p already disposed (but both are disposed anyway) + expect(() => service.removeChild(p, c)).not.toThrow(); + expect(c._parent).toBeNull(); + }); }); - describe("withOwner", () => { - it("should set and restore current owner", () => { - const owner = createOwner(); - let seenOwner: any; - - scope.withOwner(owner, () => { - seenOwner = scope.getOwner(); - }); + /*───────────────────────────────────────────────* + * VI. Scope Safety + *───────────────────────────────────────────────*/ + describe("VI. Scope Safety", () => { + let scope: OwnershipScope; - expect(seenOwner).toBe(owner); - expect(scope.getOwner()).toBeNull(); + beforeEach(() => { + scope = createOwnershipScope(service); }); - it("should return callback result", () => { - const owner = createOwner(); - const result = scope.withOwner(owner, () => 42); - - expect(result).toBe(42); + afterEach(() => { + // no leaks: after each test, scope must be reset + expect(scope.getOwner()).toBeNull(); }); - it("should restore owner even if callback throws", () => { - const owner = createOwner(); + it("VI1 Scope Isolation: withOwner restores even if callback throws", () => { + const o = service.createOwner(null); expect(() => { - scope.withOwner(owner, () => { - throw new Error("test"); + scope.withOwner(o, () => { + throw new Error("boom"); }); - }).toThrow("test"); + }).toThrow("boom"); expect(scope.getOwner()).toBeNull(); }); - it("should handle nested withOwner calls", () => { - const outer = createOwner(); - const inner = createOwner(); + it("VI2 Nested Scope Restore: inner restores to outer, then to null", () => { + const outer = service.createOwner(null); + const inner = service.createOwner(null); scope.withOwner(outer, () => { expect(scope.getOwner()).toBe(outer); @@ -518,80 +482,36 @@ describe("OwnershipScope — Context Management", () => { expect(scope.getOwner()).toBeNull(); }); - }); - describe("createScope", () => { - it("should create child owner and execute callback", () => { - const parent = createOwner(); - let childOwner: any; + it("VI3 createScope Consistency: parent defaults to current owner", () => { + const parent = service.createOwner(null); + let created: OwnershipNode | null = null; scope.withOwner(parent, () => { scope.createScope(() => { - childOwner = scope.getOwner(); + created = scope.getOwner(); }); }); - expect(childOwner).toBeDefined(); - expect(childOwner).not.toBe(parent); - expect(childOwner._parent).toBe(parent); - }); - - it("should restore parent owner after scope", () => { - const parent = createOwner(); - - scope.withOwner(parent, () => { - scope.createScope(() => { - expect(scope.getOwner()).not.toBe(parent); - }); - - expect(scope.getOwner()).toBe(parent); - }); - }); - - it("should return callback result", () => { - const parent = createOwner(); - - const result = scope.withOwner(parent, () => { - return scope.createScope(() => "value"); - }); - - expect(result).toBe("value"); + expect(created).not.toBeNull(); + expect(created!._parent).toBe(parent); + expect(scope.getOwner()).toBeNull(); }); - it("should work without parent owner", () => { - let rootOwner: any; + it("createScope works without current owner (creates root owner)", () => { + let root: OwnershipNode | null = null; scope.createScope(() => { - rootOwner = scope.getOwner(); + root = scope.getOwner(); }); - expect(rootOwner).toBeDefined(); - expect(rootOwner._parent).toBeNull(); - }); - - it("should create nested scopes correctly", () => { - const owners: any[] = []; - - scope.createScope(() => { - owners.push(scope.getOwner()); - - scope.createScope(() => { - owners.push(scope.getOwner()); - - scope.createScope(() => { - owners.push(scope.getOwner()); - }); - }); - }); - - expect(owners).toHaveLength(3); - expect(owners[0]).toBeDefined(); - expect(owners[1]._parent).toBe(owners[0]); - expect(owners[2]._parent).toBe(owners[1]); + expect(root).not.toBeNull(); + expect(root!._parent).toBeNull(); + expect(scope.getOwner()).toBeNull(); }); - it("should handle errors and restore scope", () => { - const parent = createOwner(); + it("createScope restores even if callback throws", () => { + const parent = service.createOwner(null); expect(() => { scope.withOwner(parent, () => { @@ -605,17 +525,109 @@ describe("OwnershipScope — Context Management", () => { }); }); - describe("getOwner", () => { - it("should return null when no owner set", () => { - expect(scope.getOwner()).toBeNull(); + /*───────────────────────────────────────────────* + * VII. Context Safety + *───────────────────────────────────────────────*/ + describe("VII. Context Safety", () => { + it("VII1 hasOwn vs inject: hasOwn only for local keys; inject follows chain", () => { + const p = service.createOwner(null); + const c = service.createOwner(p); + + service.provide(p, "k", 1); + + expect(service.hasOwn(c, "k")).toBe(false); + expect(service.inject(c, "k")).toBe(1); + + service.provide(c, "k", 2); + expect(service.hasOwn(c, "k")).toBe(true); + expect(service.inject(c, "k")).toBe(2); + expect(service.inject(p, "k")).toBe(1); + }); + + it("Context chain remains readable after structural mutations", () => { + const p1 = service.createOwner(null); + const p2 = service.createOwner(null); + const c = service.createOwner(p1); + + service.provide(p1, "x", 1); + expect(service.inject(c, "x")).toBe(1); + + // reparent + service.appendChild(p2, c); + + // After reparent: c should no longer inherit p1 context + // This expectation is a *design choice*. If you want inherited context to follow parent after reparent, + // it should be true; if you freeze context at creation-time, it should remain 1. + // + // Current implementation: getContext uses parent._context at creation time only, so behavior depends on when context is initialized. + // We set a strict security invariant here: reparent should not allow reading old parent chain unintentionally. + expect(service.inject(c, "x")).toBeUndefined(); }); + }); - it("should return current owner", () => { - const owner = createOwner(); + /*───────────────────────────────────────────────* + * VIII. Error Strategy + *───────────────────────────────────────────────*/ + describe("VIII. Error Strategy", () => { + it("dispose is resilient: cleanup errors do not break disposal safety", () => { + const root = service.createOwner(null); + const child = service.createOwner(root); - scope.withOwner(owner, () => { - expect(scope.getOwner()).toBe(owner); + service.onScopeCleanup(child, () => { + throw new Error("child cleanup"); }); + service.onScopeCleanup(root, () => {}); + + const consoleError = vi + .spyOn(console, "error") + .mockImplementation(() => {}); + expect(() => service.dispose(root)).not.toThrow(); + consoleError.mockRestore(); + + // Safety post-condition: structure cleared + expect(root._firstChild).toBeNull(); + expect(root._lastChild).toBeNull(); + expect(child._parent).toBeNull(); + }); + + it("optional: fuzz mini-run should not corrupt invariants (structural)", () => { + const root = service.createOwner(null); + const pool: OwnershipNode[] = [root]; + + // small deterministic pseudo-fuzz + for (let i = 0; i < 200; i++) { + const r = i % 7; + + if (r === 0) { + // add child to random parent + const parent = pool[i % pool.length]!; + const n = service.createOwner(parent); + pool.push(n); + } else if (r === 1 && pool.length > 2) { + // remove a leaf-ish node if possible + const n = pool[pool.length - 1]!; + const p = n._parent; + if (p !== null) service.removeChild(p, n); + } else if (r === 2 && pool.length > 2) { + // reparent last node under root + const n = pool[pool.length - 1]!; + if (n !== root) service.appendChild(root, n); + } else if (r === 3) { + // context provide/read on random node + const n = pool[i % pool.length]!; + service.provide(n, "k", i); + service.inject(n, "k"); + } else { + // no-op + } + + // invariant check only for root chain + assertSiblingChain(root); + } + + service.dispose(root); + expect(root._firstChild).toBeNull(); + expect(root._lastChild).toBeNull(); }); }); }); diff --git a/packages/@reflex/core/tests/ownership/ownership.bench.ts b/packages/@reflex/core/tests/ownership/ownership.bench.ts index a071175..27cd76b 100644 --- a/packages/@reflex/core/tests/ownership/ownership.bench.ts +++ b/packages/@reflex/core/tests/ownership/ownership.bench.ts @@ -1,152 +1,158 @@ import { bench, describe } from "vitest"; -import { createOwner } from "../../src/ownership/ownership.core"; +import { OwnershipService } from "../../src/ownership/ownership.node"; +import type { OwnershipNode } from "../../src/ownership/ownership.node"; + +const service = new OwnershipService(); /** * Ownership System Microbenchmarks * - * Detailed performance profiling of hot-path operations. - * Comparable structure to reference benchmarks for direct performance comparison. + * Measures hot-path ownership operations: + * - creation + * - structural mutations + * - cleanup execution + * - context propagation */ describe("Ownership — Microbench", () => { bench("create 100 children and dispose", () => { - const root = createOwner(); + const root = service.createOwner(null); for (let i = 0; i < 100; i++) { - createOwner(root); + service.createOwner(root); } - (root as any).dispose(); + service.dispose(root); }); bench("register 100 cleanups", () => { - const owner = createOwner(); + const owner = service.createOwner(null); for (let i = 0; i < 100; i++) { - owner.onScopeCleanup(() => {}); + service.onScopeCleanup(owner, () => {}); } + service.dispose(owner); }); bench("register 10k cleanups and dispose", () => { - const owner = createOwner(); + const owner = service.createOwner(null); for (let i = 0; i < 10_000; i++) { - owner.onScopeCleanup(() => {}); + service.onScopeCleanup(owner, () => {}); } - (owner as any).dispose(); + service.dispose(owner); }); - bench("build balanced tree (depth 6 × 3)", () => { - const buildTree = (depth: number, width: number) => { - const root = createOwner(); - let layer = [root]; - for (let d = 0; d < depth; d++) { - const next: any[] = []; - for (const parent of layer) { - for (let i = 0; i < width; i++) { - next.push(createOwner(parent)); - } + bench("build balanced tree (depth 6 × width 3)", () => { + const root = service.createOwner(null); + let layer: OwnershipNode[] = [root]; + + for (let d = 0; d < 6; d++) { + const next: OwnershipNode[] = []; + for (const parent of layer) { + for (let i = 0; i < 3; i++) { + next.push(service.createOwner(parent)); } - layer = next; } - return root; - }; + layer = next; + } - const root = buildTree(6, 3); // 1 + 3 + 9 + 27 + 81 + 243 + 729 = 1093 nodes - (root as any).dispose(); + service.dispose(root); }); bench("build wide tree (3000 siblings)", () => { - const root = createOwner(); + const root = service.createOwner(null); for (let i = 0; i < 3000; i++) { - createOwner(root); + service.createOwner(root); } - (root as any).dispose(); + service.dispose(root); }); bench("build linear chain (depth 10k)", () => { - let node = createOwner(); + let node = service.createOwner(null); const root = node; + for (let i = 0; i < 10_000; i++) { - node = createOwner(node); + node = service.createOwner(node); } - (root as any).dispose(); + + service.dispose(root); }); - bench("context propagation 1000× deep", () => { - let node = createOwner(); + bench("context propagation (1000 depth, 100 reads)", () => { + let node = service.createOwner(null); const root = node; + for (let i = 0; i < 1000; i++) { - node = createOwner(node); + node = service.createOwner(node); } - node.provide("value", 42); + service.provide(node, "value", 42); for (let i = 0; i < 100; i++) { - node.inject("value"); + service.inject(node, "value"); } - (root as any).dispose(); + service.dispose(root); }); - bench("context override isolation", () => { - const root = createOwner(); - root.provide("key", 0); + bench("context override isolation (100 children)", () => { + const root = service.createOwner(null); + service.provide(root, "key", 0); for (let i = 0; i < 100; i++) { - const child = createOwner(root); - child.provide("key", i); - child.inject("key"); - root.inject("key"); + const child = service.createOwner(root); + service.provide(child, "key", i); + service.inject(child, "key"); + service.inject(root, "key"); } - (root as any).dispose(); + service.dispose(root); }); - bench("interleaved append/remove", () => { - const root = createOwner(); - const list: any[] = []; + bench("interleaved append/remove (1000 ops)", () => { + const root = service.createOwner(null); + const list: OwnershipNode[] = []; for (let i = 0; i < 1000; i++) { - const child = createOwner(root); + const child = service.createOwner(root); list.push(child); if (i % 5 === 0 && list.length > 1) { - const toRemove = list.shift(); - root.removeChild(toRemove); + const toRemove = list.shift()!; + service.removeChild(root, toRemove); } } - (root as any).dispose(); + service.dispose(root); }); - bench("simulate UI component tree (header/main/footer)", () => { - const root = createOwner(); + bench("simulate UI component tree", () => { + const root = service.createOwner(null); - // Header: 50 components - const header = createOwner(root); - for (let i = 0; i < 50; i++) createOwner(header); + // Header + const header = service.createOwner(root); + for (let i = 0; i < 50; i++) service.createOwner(header); - // Main: 200 components (10 sections × 20 items) - const main = createOwner(root); + // Main + const main = service.createOwner(root); for (let s = 0; s < 10; s++) { - const section = createOwner(main); - for (let i = 0; i < 20; i++) createOwner(section); + const section = service.createOwner(main); + for (let i = 0; i < 20; i++) { + service.createOwner(section); + } } - // Footer: 30 components - const footer = createOwner(root); - for (let i = 0; i < 30; i++) createOwner(footer); + // Footer + const footer = service.createOwner(root); + for (let i = 0; i < 30; i++) service.createOwner(footer); - (root as any).dispose(); + service.dispose(root); }); - bench("subscription cleanup pattern (100 subs)", () => { - const owner = createOwner(); + bench("subscription cleanup pattern (100 cleanups)", () => { + const owner = service.createOwner(null); - // Simulate 100 subscriptions with cleanup for (let i = 0; i < 100; i++) { - owner.onScopeCleanup(() => { - // Cleanup: unsubscribe - }); + service.onScopeCleanup(owner, () => {}); } - (owner as any).dispose(); + service.dispose(owner); }); });

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ⅅ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

!q#1ez7o~k!JH%EFtszSC$5s{$W4>XSz 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%0D*A@4aIA#{m`hYL9hBZDp`Rhs@Z4cc6wBMD zI}U6)(jdbST3T#sy__WaSQ&iGCI?84Lb;7cZ*^r}z8lu$l4?+rbaw_Z<5qacTSLnK z#|@;mm_E_Tv2gBcXL&8MOJ4#TY|J~cQ-J3hiwv0F{PX8N&AH5{!C47Ft=>v$MH$K2 z*snNy=2+20>z1`K`=&k78 zsXf+#>J*Je+h1ilKUOaOmAA0E`gbjOZ-#Aku%x$P(Qo$;IhO=4KWmg!_%1*E% zgAZo22WsYqy&5<7)`qQg_t?>^%8^?g19JaD!#4i?>|kdX?#%$|#@^<21|)8Fd+TgA zXO0Mx|bip~18ZB{`&Z1LMr(&q1 z*kll;7#1bbQ=UcFFN(jdHi!8ss6*SRQ0A?$3 z8a0myt~oDLnh6G)QcO?OWs)h;_2TiEKvOKGF*nNxITGS*MSfTQz%jrhR}dfyq`zL- zN&g#o@N;pI8C#E0vxEoPJ@q)6DhzF_tA;0pOwETX==19p4rBvqo*rbrOY@GcXUeV8 z8Lyn0foyPGZXyw3K0WE6{cY2^v)mw~zgJF}_iOl57=Voi|NYS10hvJX2C>_&9JgIU z1_9FU>d5tLr)4iU-9J1{QRk7wnUgy(oQ6L3)$QvV_6n;s0R205Ix$cyzpk!k0C1*= zBO^QJW5M;KVIM!E<;uFb{0E*t&Ch;HDg_rR4FDa}+DrI+TTxN02>hrI*H*CB#?Vqa zz}&_0$0*5?CEVX4QWyS%pCp!sNT78Tv;S5FPawycbQF zUu87pv}L{(&x9DR0I|qkJ4bn8QJaaNp0Xlg0o_g_tbzea_D8qVt>#hW^@#co{nZz% z84q5PA#mff*Gwi>+3(!W^4+9BLxOn(jDd+9@+ zA1?@(Ygv-9Ob)4Rh=a6n_M}mGb^C_v0;a8luDFBrOjH4clpI;jF6Z#kj4NNcvCAug zGgywYZ797&{~nAGBNz{vCc1zZiZLs)CGKc624g zIU!@7fB!onY_DMwdkz4Ig1H-D@2aw#Fe6N1@0IJp0#A2_nT&bDuv*B;I}+j|8NCh+tHxi)yvBkdyM+EmyW*K*AVgB$vD2WnLL~taj0TD0fWN zheoAdpQ+P`jcaM&eJ#Ipg`Ji^n^Ew~v%JWX=zXo{tAm#}_9_-JG-;eNG%*Mu9*Bvd zrZ1@(WdIeBNKl@DMNtc1F$VZ@WuD0N zq@>oDkDx@&)3T*%3DEt-U&wma4$=y}Vcoqk86=2^9GQ{z4sL0gHpS3eK}IaMrVGFd z4cRcEH}NRN!EgG;+}nWjS4?ttz{f6M6o06;y+9kK_4g)ms}9xS1o~mzA1ZSj;s)3= zpn(A^EF3B$p35aV53SB-yr&yK@tmpyx~4!{GxX+M=I}#s~NFyI=T~&P#?JQ zfwgB*CE9)a?zxeULrP(;1sC{-}k$Z!7{cJF1jz<=TAkIKWMSH5t{PcXPcS06=I= zHtkd_ZvwM{+1MNEUhvO(nzL^7ekZ4C!>@TAH==y7b+8z{Cbi#uFt-+X@R#Z$FKLy1 zqzp-hCk}=cmf40!b2eA@m>yEam+BqMs-Fa%LM~mCI&)^k2-j!->&g(9l~0f=L4UCA z-<24N2UX_mFI~bdr4sn?C{D10CH;!sW<&m*m$L@qB3q0EP>)lmW2{Z1qQaUQo6`^^ zbij%x;;f}3g_9-%0*Drj3Ufq92!P=KY$ou!HrFG!%!_$l(f||Mvr`9K)3GSp7V*}C zfnEKx*^B1-`oX{39cu7!!S0CrI(6VrZOpd8>LRp7$OX2KGvF1RJTE<)XI#}{=YFPW z3E3X}zT$$nt)Fv0N8k)`e8G2)5B{cN{(oa#Xisr!C_uW^QU(fn>0B`+M+z|&X^*@h0t+UmWou>}jnzq*RZ9J&vaOHb<80!K0f3nFiI7yhVv8 zIMm+S+SuvkCd*+lbXXW?cI!ve%v%c1VQqFR*Gv#9qU{)9VL`S{C@+5zcHwSr7VVmW zous@~B_9Z#Sef1$m=BO}6I$dGdh0~5m_8j3d{r-n2=}AUI)#iT7G<)KMgOt3j!7{V7K8@^i(k=q&!1OlgP%O; zD}|cl^@GM@Fy=A(CITs#iujcV-Ko*M#R$%an)9OdH?v!X*<115j4-d%F5V?DDTuh> zO(a)Lj7Bo98`+M$y$}{GfJp*pG^k0cTVZdOh0r?E!~CESu0$crSfPYF#FwMFsQ;tr z+~b+v|2RIEP>CrWQ^Y7W73NYFMl2k;<)w4yrUFC$*xK0%N;D|JI0=A;fv4VVmerE1tZaT@4$yd9 zfZ_k51Xi7I)J8!ZfIlUk{){tgZoCl{$8AG%IpEu75pTKCj;~c+OQRTB(#eM5Go7&bK{j}Q)^5+! zJs|V)J#kV*O9*nrgIDjXkZSrPptk0I;@>+fpAJu7aJ??6E+s`=T3KBko|M#9A+NT6 zVgR&P#Rq>BtW=na*JWRE!)D-7-_sFFP}8Zpq*M#fv8Aau9dI5_Zs&z;2b7fm&6_GP zpGk__9N*@~NKX$rU}}`P`^yTjid8ruE)GU{B)fs$>g*NBB6`!B~kzE=2aN9TVK{7InO`gm2sl4V~i^ZQu#yJ-D5 zXo~CblM*;evff6H>3`xS5qsyUvwzUjA*63VRM)%Q#*9CWP6?3%Hq9%+U>j-Pcptl) z#$xGH{}u_7>vk`2J|DA|g_)fz*rFoZN_&SWwTxn<{23({^|^~->D`l1$zw{#BGS1| zzkKzP>UsXmo%no36Z7)x9STiNk9)xli(0)sA>SWQ{cd~HVRb${0ooeJV|;(Z*E+Z5 zL4{X#>LoaXz*9`Q-<;*>U7ZNwzM^<5B%t?Qb5`c&r8Gs6lmcgs(E#bl$K4Q}5kX9e zffrWN0co^S+b&G6|Bs+3{yxt+ucs=xbaOOAXGKL3%JWW08>F2Am0|@YV5Y?EGY!0K z?qC>BIeh`KPE$9Xh?c=nRHPhH-d|c3y9l!k!Lyz86EfT zxGU|dlz`|ZqkOL8j&Yuu-NP)6!ueu8e`{9fyUrLL4>gWin4plq<~#}LDDybSqkdX) z`d<0GqT;Peo3fD`K+FbAb!P>PC+3)IOG(w*c-eHItw7oD5_Mn`Q^1Z?TfJgm?@8hv zfg&l~m2i&VXvCCfc}8k!I_?(q3CWh3EFRKjF0R<>8!O}S?O43#?t=N$G;No5L_91% z8rKVB2Zily);8?zp(4&3*@bMkc^!VYJF*6T-@slEY6uKFTpwrv^3kjUR^!&-%|=#s zVNgCz;;`Fm$xhq$LjcXX6rT;AI4 zyR)>il1Axa%-9{R{Y?m4X<;0#Z{;4+5341Ps<8Al|a=JP5YGrw!B!F?)Z>Z=Fp>lFR$t2+to!w)of=GAbNJaV;u9L_?Xu5pI}bEa*bKO zaKctreyoG!86k4h=evy`OhDg=*G=w3bH_Vx&-IbZ9|%rYv9fV&7rzWa&Z=%LZNHQ! zb9-kC-DN2axv5DJD@(e(+|r2xT&iVi!`m9gxK`*II6ws@eAZN@DV>vp3t($%2lxev zbIvf8S@7DM5Mg)hgVY*{j1(t#5M6`kk(>8A)d@C?`DOzA-#3{3}M3KOGEWD%<5yeVWJ% zhk&^C51308sCzLL;d&wn3m)iNur))1L2E!e&P66}#Nl*gRXHCSGiw1ODuIR06wr>U zlV=W13h2XuW5H|6U(&mKfsY`*-Vb&#fGckut^Ix4mt>F1fO6(z0RjD-Vq`6U7ff|cnNDO-kNsgzW#EVbZ-uiOYRmoj zI`VDX=IXwW-e?D{2|GxPoEjG6;~Q_z(3Z4ioj*N*HWLA%{FMdK-LS`UW9j)NDQ3^- zYiXPvkA2;*cjSTCHB=f2yxYwHa7IM1PJGv|MQXIa`MY-}w244lj6del8AGG(aeQn++K-6oH6cn4C~;Pyzy zyLV?n{*WgzySu>|_=V}{3$2}5LqFrSV8yr2-Rhdhle_vxgtM(E87{X5NP+wP@}XI~ z_WiBkq_Xt~Oa7ogPz`%;&hx(i4eZT}jrSHSR#U+~{668OfI8ON`0|e1kfENR$S(?5 z%Kjn%mQOY>_rN75M{hblb*OOp35+kgLB+U_ORDmB8CaW}QZo6jR&rxOh~nL;X+dH;^Xg*daTSX6VU*sIen0%Q zs$Z?GC)!|IKMo=D=OG1Iw5)G3V1g)AzpQH!O_k-Gaixw~!|tYe>VO6Zx%^@$EEJ-8 z*ZauUu3xfD=7yGVh-+k5$^+Ar@Qh4p$sb>`dM!}BE0TJ%?}bW;#d+Mzo|jA(1LvcE zVZ8{2^}T)s@xj)tY~1R+BfqWyEY@Fv`v=y> zygxryAf7MURqmOqMr$}IfM4Y9rHl_au&G>^p^m-|PxxK)V@^-aXCW3UZE@TrV0u~c zjbRpx1uzx!lEoTAc~XIhD%$uhCw~(e^Tf{fWBjq@Mhv(OE+SLa2;)?qz67* zJS}U?SIn#*uDR5`dN1ECr70XrrLM>$gTHBzcAImt+a?Fnja!U^rK8~lT9?GZ>a)9Y zJ-i8HV_upejDjWRncNN9uKW>`cGz>2GJs@1iqT?Xh{RkdZ}jgx$}!Eo_HxRkNl@jh z-4h=INDaID>um?jt?%7@?Tp5~TbJwANH0P@hip$!W-FFGNNSBo9bwzi_U^}-ij8#J zfrOrcu>HLyiLf=`MExs>+?k{1EKyU*Z%%tm`Cu?Y0SwHZcjq!=7C6p z1POZ(A#dA=IdZ2VjJ_@ge7CNl52EmGcNL}WxiXwa$k2`th2kH7dKri zkl4I@_R*Mi#xvzN2>9!dHc@j~mby4-)FpkQ?MN?HZ*R6k#uumFMTa(|zE5>U*J>2}2+6cGx>Kt!X$8+n}!;0je+wZzPN5e&?oPsu~ImfqE-uwE@9%ePjJVKOd9pXYva`biVyI z==2nI|Nh^_(}`evopZY!i)}!7^6AM3|MI;|bb0}cxp`Oj&v9sv;6Hp3AjgPfHBJ|o z&HkBPEdTOF@#~j2xVShRCC6`@>P|q=$KJwUq~APfV2vWm4;tWyM>K}-aVm?N;IRgc z(F3id4osk8_UDVvoNc2?2YuQ zqr%4l#4(yRSJMsMZgkb^L|QG!N9nMOm95KHZh$~S0{3)AZWWVX;iOtV*FBbp$|z+6 zmZyQVH*X_EP4BefzZs&fmjdgI$yxXi(l6}|r>iG!6g_q62MAk#u<6CEy`cIEU@f<1 zEJ#O$2YnnhXf5tIE0=0()T(A;NU1@HWVlXMz-K&wDJSlQ)@Fo>VpPfL-!%^gUVMs4 zn2VYJy?XOSv+;r>m_$kv<%?VJROo#WQ zgFaVRTwZJ z5qPcN$F1OTQf7R?Lx`jQU>ac)&?L1N%Gj$K0S7L^6AxEC`;9fdQ& zKCuE|D#Z1Ng2yMH&hRMWVc;GWVkElnqn>_O%ed{;#(ua&odkh+_{}#uA>TZst9sg$ zJ=lFpN$d@oM;O2PCuGs0_2_ebjlLRYLrF7PT37$Ux_}@^Q3B;WJ5cxfkav`6AMKRo# zdhLoKqMcgrN^9gC!Gwv)*Gm)& z5p-r2v8PzFwZAtJ-ht8|3vfbhUoZk`4I7^7z4C4Papl`Au5hbzN3T58OqSi)2UeV} zO&fw&UuMX_CKWNaxwDDF4RwSd6R2(;ty=SV#0oK+WS(SuvDnnjr?*~=wO3a*5J` zRD$FXBzs{kc%33orD^~KZnx`9WrRc%_%_Sz9lsDeahl{f?#`Og=Cdw^MnXt2Ben$z zOSSFuxpE?bGuW9HhmO^Sb$C&IRvMOKv8B*1u?|5QBew6?@o}YCZ73&LO{mF8wT=p# z)+a>W*aP3=4v;HxEk7$R^i$cWdO3eF>!zhC=Vh{T`OwxzmIEYTYdXf-UFy#(@{?u0 z7>nc>_p2z+%?sLV%_Bn-$&8F;bS9^oOmyB)%!9A4{nZv1-AD-k=I^)8 zNf)aFepy^EKX0*7?YY8atI`vk;k?h~id@`^GgC{KEsgSnhK!o3g6uQ#6Nq2LNsNSS z-Z^d6FHrz$Zh~~OV=nD@TXGDzgf;1=ncMH$pGMb1bx>o*UHT9=jdmrE6v#pdCn=!? z>HB)d+R8uIg`y zDQ^{g9JJa^H(QzOfsh*SNcHRJry0@X4l!*I#$q-r?U5c=O1Q zHP?c2LpETDt4?;S{dVZxX0OA)jTF{46(fNK%E)ZN!%