diff --git a/examples/grid-collision/README.md b/examples/grid-collision/README.md new file mode 100644 index 00000000..6b2d3766 --- /dev/null +++ b/examples/grid-collision/README.md @@ -0,0 +1,18 @@ +# Topology Protocol Collision Example + +This is an example that uses Topology Protocol to implement a 2D grid space where users appear to be circles and can move around the integer grid one grid at a time. We additionally implement collision logic into this example so that no 2 circles can be on one grid at a time. + +## Specifics + +The Grid CRO has a mapping from user id (node id concacenated with a randomly assigned color string) to the user's position on the grid. The CRO leverages the underlying hash graph for conflict-free consistency. The mergeCallback function receives the linearised operations returned from the underlying hash graph, and recomputes the user-position mapping from those operations. + +The `resolveConflict` function is additionally used to implement compensation techniques in order to ensure no 2 node can be on the same circle at a time. + +## How to run locally + +After cloning the repository, run the following commands: + +```bash +cd ts-topology/examples/grid-collision +pnpm dev +``` diff --git a/examples/grid-collision/index.html b/examples/grid-collision/index.html new file mode 100644 index 00000000..c43df353 --- /dev/null +++ b/examples/grid-collision/index.html @@ -0,0 +1,42 @@ + + + + + + Topology - Grid + + +
+

A 2D grid made with CRO

+

Your Peer ID:

+

Peers on dRAM:

+

Discovery Peers:

+ + + | + + +

+ Connected to Grid CRO ID: + + +

+

Peers in CRO:

+
+ +
+ +
+ + + + diff --git a/examples/grid-collision/package.json b/examples/grid-collision/package.json new file mode 100644 index 00000000..f43f7972 --- /dev/null +++ b/examples/grid-collision/package.json @@ -0,0 +1,35 @@ +{ + "name": "topology-example-grid-collision", + "version": "0.2.1-0", + "description": "Topology Protocol Grid Example", + "main": "src/index.ts", + "repository": "https://github.com/topology-foundation/ts-topology.git", + "license": "MIT", + "scripts": { + "build": "vite build", + "clean": "rm -rf dist/ node_modules/", + "dev": "vite serve", + "start": "ts-node ./src/index.ts" + }, + "dependencies": { + "@ts-drp/network": "0.6.0", + "@ts-drp/node": "0.6.0", + "@ts-drp/object": "0.6.0", + "assemblyscript": "^0.27.29", + "crypto-browserify": "^3.12.0", + "memfs": "^4.11.1", + "process": "^0.11.10", + "react-spring": "^9.7.4", + "stream-browserify": "^3.0.0", + "ts-node": "^10.9.2", + "uint8arrays": "^5.1.0", + "vm-browserify": "^1.1.2" + }, + "devDependencies": { + "@types/node": "^22.5.4", + "ts-loader": "^9.5.1", + "typescript": "^5.5.4", + "vite": "^5.4.9", + "vite-plugin-node-polyfills": "^0.22.0" + } +} diff --git a/examples/grid-collision/src/index.ts b/examples/grid-collision/src/index.ts new file mode 100644 index 00000000..d8c84e69 --- /dev/null +++ b/examples/grid-collision/src/index.ts @@ -0,0 +1,269 @@ +import { TopologyNode } from "@topology-foundation/node"; +import type { TopologyObject } from "@topology-foundation/object"; +import { Grid } from "./objects/grid"; +import { hslToRgb, rgbToHex, rgbToHsl } from "./util/color"; + +const node = new TopologyNode(); +let topologyObject: TopologyObject; +let gridCRO: Grid; +let peers: string[] = []; +let discoveryPeers: string[] = []; +let objectPeers: string[] = []; + +const formatNodeId = (id: string): string => { + return `${id.slice(0, 4)}...${id.slice(-4)}`; +}; + +const colorMap: Map = new Map(); + +const hashCode = (str: string): number => { + let hash = 0; + for (let i = 0; i < str.length; i++) { + hash = (hash << 5) - hash + str.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + return hash; +}; + +const getColorForNodeId = (id: string): string => { + if (!colorMap.has(id)) { + const hash = hashCode(id); + let r = (hash & 0xff0000) >> 16; + let g = (hash & 0x00ff00) >> 8; + let b = hash & 0x0000ff; + + // Convert to HSL and adjust lightness to be below 50% + let [h, s, l] = rgbToHsl(r, g, b); + l = l * 0.5; // Set lightness to below 50% + + // Convert back to RGB + [r, g, b] = hslToRgb(h, s, l); + const color = rgbToHex(r, g, b); // Convert RGB to hex + colorMap.set(id, color); + } + return colorMap.get(id) || "#000000"; +}; + +const render = () => { + if (topologyObject) { + const gridIdElement = document.getElementById("gridId"); + gridIdElement.innerText = topologyObject.id; + const copyGridIdButton = document.getElementById("copyGridId"); + if (copyGridIdButton) { + copyGridIdButton.style.display = "inline"; // Show the button + } + } else { + const copyGridIdButton = document.getElementById("copyGridId"); + if (copyGridIdButton) { + copyGridIdButton.style.display = "none"; // Hide the button + } + } + + const element_peerId = document.getElementById("peerId"); + element_peerId.innerHTML = `${formatNodeId(node.networkNode.peerId)}`; + + const element_peers = document.getElementById("peers"); + element_peers.innerHTML = `[${peers.map((peer) => `${formatNodeId(peer)}`).join(", ")}]`; + + const element_discoveryPeers = ( + document.getElementById("discoveryPeers") + ); + element_discoveryPeers.innerHTML = `[${discoveryPeers.map((peer) => `${formatNodeId(peer)}`).join(", ")}]`; + + const element_objectPeers = ( + document.getElementById("objectPeers") + ); + element_objectPeers.innerHTML = `[${objectPeers.map((peer) => `${formatNodeId(peer)}`).join(", ")}]`; + + if (!gridCRO) return; + const users = gridCRO.getUsers(); + const element_grid = document.getElementById("grid"); + element_grid.innerHTML = ""; + + const gridWidth = element_grid.clientWidth; + const gridHeight = element_grid.clientHeight; + const centerX = Math.floor(gridWidth / 2); + const centerY = Math.floor(gridHeight / 2); + + // Draw grid lines + const numLinesX = Math.floor(gridWidth / 50); + const numLinesY = Math.floor(gridHeight / 50); + + for (let i = -numLinesX; i <= numLinesX; i++) { + const line = document.createElement("div"); + line.style.position = "absolute"; + line.style.left = `${centerX + i * 50}px`; + line.style.top = "0"; + line.style.width = "1px"; + line.style.height = "100%"; + line.style.backgroundColor = "lightgray"; + element_grid.appendChild(line); + } + + for (let i = -numLinesY; i <= numLinesY; i++) { + const line = document.createElement("div"); + line.style.position = "absolute"; + line.style.left = "0"; + line.style.top = `${centerY + i * 50}px`; + line.style.width = "100%"; + line.style.height = "1px"; + line.style.backgroundColor = "lightgray"; + element_grid.appendChild(line); + } + + for (const userColorString of users) { + const [id, color] = userColorString.split(":"); + const position = gridCRO.getUserPosition(userColorString); + + if (position) { + const div = document.createElement("div"); + div.style.position = "absolute"; + div.style.left = `${centerX + position.x * 50 + 5}px`; // Center the circle + div.style.top = `${centerY - position.y * 50 + 5}px`; // Center the circle + if (id === node.networkNode.peerId) { + div.style.width = `${34}px`; + div.style.height = `${34}px`; + } else { + div.style.width = `${34 + 6}px`; + div.style.height = `${34 + 6}px`; + } + div.style.backgroundColor = color; + div.style.borderRadius = "50%"; + div.style.transition = "background-color 1s ease-in-out"; + div.style.animation = `glow-${id} 0.5s infinite alternate`; + + // Add black border for the current user's circle + if (id === node.networkNode.peerId) { + div.style.border = "3px solid black"; + } + + // Create dynamic keyframes for the glow effect + const style = document.createElement("style"); + style.innerHTML = ` + @keyframes glow-${id} { + 0% { + background-color: ${hexToRgba(color, 0.5)}; + } + 100% { + background-color: ${hexToRgba(color, 1)}; + } + }`; + document.head.appendChild(style); + + element_grid.appendChild(div); + } + } +}; + +// Helper function to convert hex color to rgba +function hexToRgba(hex: string, alpha: number) { + const bigint = Number.parseInt(hex.slice(1), 16); + const r = (bigint >> 16) & 255; + const g = (bigint >> 8) & 255; + const b = bigint & 255; + return `rgba(${r}, ${g}, ${b}, ${alpha})`; +} + +async function addUser() { + if (!gridCRO) { + console.error("Grid CRO not initialized"); + alert("Please create or join a grid first"); + return; + } + + gridCRO.addUser( + node.networkNode.peerId, + getColorForNodeId(node.networkNode.peerId), + ); + render(); +} + +async function moveUser(direction: string) { + if (!gridCRO) { + console.error("Grid CRO not initialized"); + alert("Please create or join a grid first"); + return; + } + + gridCRO.moveUser(node.networkNode.peerId, direction); + render(); +} + +async function createConnectHandlers() { + node.addCustomGroupMessageHandler(topologyObject.id, (e) => { + if (topologyObject) + objectPeers = node.networkNode.getGroupPeers(topologyObject.id); + render(); + }); + + node.objectStore.subscribe(topologyObject.id, (_, obj) => { + render(); + }); +} + +async function main() { + await node.start(); + render(); + + node.addCustomGroupMessageHandler("", (e) => { + peers = node.networkNode.getAllPeers(); + discoveryPeers = node.networkNode.getGroupPeers("topology::discovery"); + render(); + }); + + const button_create = ( + document.getElementById("createGrid") + ); + button_create.addEventListener("click", async () => { + topologyObject = await node.createObject(new Grid()); + gridCRO = topologyObject.cro as Grid; + createConnectHandlers(); + await addUser(); + render(); + }); + + const button_connect = document.getElementById("joinGrid"); + button_connect.addEventListener("click", async () => { + const croId = (document.getElementById("gridInput")) + .value; + try { + topologyObject = await node.createObject( + new Grid(), + croId, + undefined, + true, + ); + gridCRO = topologyObject.cro as Grid; + createConnectHandlers(); + await addUser(); + render(); + console.log("Succeeded in connecting with CRO", croId); + } catch (e) { + console.error("Error while connecting with CRO", croId, e); + } + }); + + document.addEventListener("keydown", (event) => { + if (event.key === "w") moveUser("U"); + if (event.key === "a") moveUser("L"); + if (event.key === "s") moveUser("D"); + if (event.key === "d") moveUser("R"); + }); + + const copyButton = document.getElementById("copyGridId"); + copyButton.addEventListener("click", () => { + const gridIdText = (document.getElementById("gridId")) + .innerText; + navigator.clipboard + .writeText(gridIdText) + .then(() => { + // alert("Grid CRO ID copied to clipboard!"); + console.log("Grid CRO ID copied to clipboard"); + }) + .catch((err) => { + console.error("Failed to copy: ", err); + }); + }); +} + +main(); diff --git a/examples/grid-collision/src/objects/grid.ts b/examples/grid-collision/src/objects/grid.ts new file mode 100644 index 00000000..aa9fba56 --- /dev/null +++ b/examples/grid-collision/src/objects/grid.ts @@ -0,0 +1,165 @@ +import { + ActionType, + type CRO, + type Operation, + type ResolveConflictsType, + SemanticsType, + type Vertex, +} from "@topology-foundation/object"; + +export class Grid implements CRO { + operations: string[] = ["addUser", "moveUser"]; + semanticsType: SemanticsType = SemanticsType.pair; + positions: Map; + + constructor() { + this.positions = new Map(); + } + + addUser(userId: string, color: string): void { + this._addUser(userId, color); + } + + private _addUser(userId: string, color: string): void { + const userColorString = `${userId}:${color}`; + this.positions.set(userColorString, { x: 0, y: 0 }); + } + + moveUser(userId: string, direction: string): void { + this._moveUser(userId, direction); + } + + private _computeNewPosition( + pos: { x: number; y: number }, + direction: string, + ): { x: number; y: number } { + let deltaY = 0; + let deltaX = 0; + switch (direction) { + case "U": + deltaY += 1; + break; + case "D": + deltaY -= 1; + break; + case "L": + deltaX -= 1; + break; + case "R": + deltaX += 1; + break; + } + + return { x: pos.x + deltaX, y: pos.y + deltaY }; + } + + private _moveUser(userId: string, direction: string): void { + const userColorString = [...this.positions.keys()].find((u) => + u.startsWith(`${userId}:`), + ); + if (userColorString) { + const position = this.positions.get(userColorString); + if (position) { + const newPos = this._computeNewPosition(position, direction); + this.positions.set(userColorString, newPos); + } + } + } + + getUsers(): string[] { + return [...this.positions.keys()]; + } + + getUserPosition( + userColorString: string, + ): { x: number; y: number } | undefined { + const position = this.positions.get(userColorString); + if (position) { + return position; + } + return undefined; + } + + resolveConflicts(vertices: Vertex[]): ResolveConflictsType { + // Here we implement compensation for the location. + // As we operate based on pairwise comparison, there's always only 2 elements. + // First the vertices must be available, and also not of the same node. + if (vertices.length === 2 && vertices[0].nodeId !== vertices[1].nodeId) { + const leftVertex = vertices[0]; + const rightVertex = vertices[1]; + const leftVertexPosition = leftVertex.operation + ? this.getUserPosition(":".concat(leftVertex.operation.value)) + : undefined; + const rightVertexPosition = rightVertex.operation + ? this.getUserPosition(":".concat(rightVertex.operation.value)) + : undefined; + console.log(vertices); + // Let's first handle adding a new user + if ( + leftVertex.operation?.type === "addUser" && + rightVertex.operation?.type === "addUser" + ) { + // This basically tells the cro to accept only the ones that comes first. + if (leftVertexPosition) { + return { action: ActionType.DropRight }; + } + return { action: ActionType.DropLeft }; + } + + // Now handle moving the user + if ( + leftVertex.operation?.type === "moveUser" && + rightVertex.operation?.type === "moveUser" && + leftVertexPosition && + rightVertexPosition + ) { + const leftVertexNextPosition = this._computeNewPosition( + leftVertexPosition, + leftVertex.operation.value[1], + ); + const rightVertexNextPosition = this._computeNewPosition( + rightVertexPosition, + rightVertex.operation.value[1], + ); + + // If they are going to colide, do nothing so they don't move and thus do not colide. + if ( + leftVertexNextPosition.x === rightVertexNextPosition.x && + leftVertexNextPosition.y === rightVertexNextPosition.y + ) { + return { action: ActionType.Drop }; + } + } + } + + // If none of the operations match our criteria, they are concurrent + // safe, and thus we don't need to do anything. + return { action: ActionType.Nop }; + } + + mergeCallback(operations: Operation[]): void { + // reset this.positions + this.positions = new Map(); + + // apply operations to this.positions + for (const op of operations) { + if (!op.value) continue; + switch (op.type) { + case "addUser": { + const [userId, color] = op.value; + this._addUser(userId, color); + break; + } + case "moveUser": { + const [userId, direction] = op.value; + this._moveUser(userId, direction); + break; + } + } + } + } +} + +export function createGrid(): Grid { + return new Grid(); +} diff --git a/examples/grid-collision/src/util/color.ts b/examples/grid-collision/src/util/color.ts new file mode 100644 index 00000000..a5243339 --- /dev/null +++ b/examples/grid-collision/src/util/color.ts @@ -0,0 +1,70 @@ +export const rgbToHsl = ( + rInt: number, + gInt: number, + bInt: number, +): [number, number, number] => { + const r = rInt / 255; + const g = gInt / 255; + const b = bInt / 255; + const max = Math.max(r, g, b); + const min = Math.min(r, g, b); + let h = 0; + let s: number; + const l = (max + min) / 2; // Initialize h with a default value + + if (max === min) { + h = s = 0; // achromatic + } else { + const chromaticity = max - min; + s = l > 0.5 ? chromaticity / (2 - max - min) : chromaticity / (max + min); + switch (max) { + case r: + h = (g - b) / chromaticity + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / chromaticity + 2; + break; + case b: + h = (r - g) / chromaticity + 4; + break; + } + h /= 6; + } + return [h * 360, s, l]; +}; + +export const hslToRgb = ( + h: number, + s: number, + l: number, +): [number, number, number] => { + let r: number; + let g: number; + let b: number; + + if (s === 0) { + r = g = b = l; // achromatic + } else { + const hue2rgb = (p: number, q: number, t_: number) => { + let t = t_; + if (t < 0) t += 1; + if (t > 1) t -= 1; + if (t < 1 / 6) return p + (q - p) * 6 * t; + if (t < 1 / 2) return q; + if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6; + return p; + }; + + const q = l < 0.5 ? l * (1 + s) : l + s - l * s; + const p = 2 * l - q; + r = hue2rgb(p, q, h / 360 + 1 / 3); + g = hue2rgb(p, q, h / 360); + b = hue2rgb(p, q, h / 360 - 1 / 3); + } + + return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)]; +}; + +export const rgbToHex = (r: number, g: number, b: number): string => { + return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`; +}; diff --git a/examples/grid-collision/tsconfig.json b/examples/grid-collision/tsconfig.json new file mode 100644 index 00000000..23d99aec --- /dev/null +++ b/examples/grid-collision/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "rootDir": ".", + "strict": true, + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "allowJs": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true + } +} diff --git a/examples/grid-collision/vite.config.mts b/examples/grid-collision/vite.config.mts new file mode 100644 index 00000000..e3518486 --- /dev/null +++ b/examples/grid-collision/vite.config.mts @@ -0,0 +1,20 @@ +import path from "node:path"; +import { defineConfig } from "vite"; +import { nodePolyfills } from "vite-plugin-node-polyfills"; + +export default defineConfig({ + build: { + target: "esnext", + }, + plugins: [nodePolyfills()], + optimizeDeps: { + esbuildOptions: { + target: "esnext", + }, + }, + resolve: { + alias: { + "@topology-foundation": path.resolve(__dirname, "../../packages"), + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 310d3ff3..2810d862 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,10 +16,10 @@ importers: version: 4.2.0(release-it@17.10.0(typescript@5.7.2)) '@types/node': specifier: ^22.5.4 - version: 22.10.2 + version: 22.10.1 '@vitest/coverage-v8': specifier: 2.1.8 - version: 2.1.8(vitest@2.1.8(@types/node@22.10.2)(terser@5.37.0)) + version: 2.1.8(vitest@2.1.8(@types/node@22.10.1)(terser@5.37.0)) assemblyscript: specifier: ^0.27.29 version: 0.27.31 @@ -28,10 +28,10 @@ importers: version: 17.10.0(typescript@5.7.2) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) + version: 10.9.2(@types/node@22.10.1)(typescript@5.7.2) ts-proto: specifier: ^2.2.4 - version: 2.6.0 + version: 2.5.0 tsx: specifier: 4.19.1 version: 4.19.1 @@ -43,107 +43,162 @@ importers: version: 5.7.2 vite: specifier: ^6.0.2 - version: 6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) + version: 6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) vite-tsconfig-paths: specifier: ^5.0.1 - version: 5.1.4(typescript@5.7.2)(vite@6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) + version: 5.1.4(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) vitest: specifier: ^2.1.1 - version: 2.1.8(@types/node@22.10.2)(terser@5.37.0) + version: 2.1.8(@types/node@22.10.1)(terser@5.37.0) examples/canvas: dependencies: '@ts-drp/node': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../../packages/node '@ts-drp/object': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../../packages/object devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.10.2 + version: 22.10.1 typescript: specifier: ^5.5.4 version: 5.7.2 vite: specifier: ^6.0.2 - version: 6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) + version: 6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) + version: 0.22.0(rollup@4.28.1)(vite@6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) examples/chat: dependencies: '@ts-drp/node': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../../packages/node '@ts-drp/object': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../../packages/object devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.10.2 + version: 22.10.1 typescript: specifier: ^5.5.4 version: 5.7.2 vite: specifier: ^6.0.2 - version: 6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) + version: 6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) + version: 0.22.0(rollup@4.28.1)(vite@6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) examples/grid: dependencies: '@ts-drp/node': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../../packages/node '@ts-drp/object': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../../packages/object devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.10.2 + version: 22.10.1 typescript: specifier: ^5.5.4 version: 5.7.2 vite: specifier: ^6.0.2 - version: 6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) + version: 6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) + version: 0.22.0(rollup@4.28.1)(vite@6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) + + examples/grid-collision: + dependencies: + '@ts-drp/network': + specifier: 0.6.0 + version: link:../../packages/network + '@ts-drp/node': + specifier: 0.6.0 + version: link:../../packages/node + '@ts-drp/object': + specifier: 0.6.0 + version: link:../../packages/object + assemblyscript: + specifier: ^0.27.29 + version: 0.27.31 + crypto-browserify: + specifier: ^3.12.0 + version: 3.12.1 + memfs: + specifier: ^4.11.1 + version: 4.15.0 + process: + specifier: ^0.11.10 + version: 0.11.10 + react-spring: + specifier: ^9.7.4 + version: 9.7.5(@react-three/fiber@8.17.10(@types/react@19.0.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1)(three@0.171.0))(konva@9.3.16)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(@types/react@19.0.1)(konva@9.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.171.0)(zdog@1.1.3) + stream-browserify: + specifier: ^3.0.0 + version: 3.0.0 + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@22.10.1)(typescript@5.7.2) + uint8arrays: + specifier: ^5.1.0 + version: 5.1.0 + vm-browserify: + specifier: ^1.1.2 + version: 1.1.2 + devDependencies: + '@types/node': + specifier: ^22.5.4 + version: 22.10.1 + ts-loader: + specifier: ^9.5.1 + version: 9.5.1(typescript@5.7.2)(webpack@5.97.1) + typescript: + specifier: ^5.5.4 + version: 5.7.2 + vite: + specifier: ^5.4.9 + version: 5.4.11(@types/node@22.10.1)(terser@5.37.0) + vite-plugin-node-polyfills: + specifier: ^0.22.0 + version: 0.22.0(rollup@4.28.1)(vite@5.4.11(@types/node@22.10.1)(terser@5.37.0)) examples/local-bootstrap: dependencies: '@ts-drp/node': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../../packages/node devDependencies: '@types/node': specifier: ^22.5.4 - version: 22.10.2 + version: 22.10.1 typescript: specifier: ^5.5.4 version: 5.7.2 vite: specifier: ^6.0.2 - version: 6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) + version: 6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) + version: 0.22.0(rollup@4.28.1)(vite@6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)) packages/blueprints: dependencies: '@thi.ng/random': specifier: ^4.1.0 - version: 4.1.5 + version: 4.1.4 devDependencies: '@ts-drp/object': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../object packages/logger: @@ -159,7 +214,7 @@ importers: dependencies: '@bufbuild/protobuf': specifier: ^2.0.0 - version: 2.2.3 + version: 2.2.2 '@chainsafe/libp2p-gossipsub': specifier: ^14.1.0 version: 14.1.0 @@ -171,25 +226,25 @@ importers: version: 7.0.1 '@libp2p/autonat': specifier: ^2.0.6 - version: 2.0.15 + version: 2.0.12 '@libp2p/bootstrap': specifier: ^11.0.6 - version: 11.0.16 + version: 11.0.13 '@libp2p/circuit-relay-v2': specifier: ^3.1.6 version: 3.1.6 '@libp2p/crypto': specifier: ^5.0.5 - version: 5.0.8 + version: 5.0.7 '@libp2p/dcutr': specifier: ^2.0.6 - version: 2.0.14 + version: 2.0.12 '@libp2p/devtools-metrics': specifier: ^1.1.5 - version: 1.1.12 + version: 1.1.10 '@libp2p/identify': specifier: ^3.0.6 - version: 3.0.14 + version: 3.0.12 '@libp2p/ping': specifier: 2.0.11 version: 2.0.11 @@ -198,18 +253,18 @@ importers: version: 11.0.1 '@libp2p/webrtc': specifier: ^5.0.9 - version: 5.0.22(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1)) + version: 5.0.19(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1)) '@libp2p/websockets': specifier: ^9.1.1 version: 9.1.1 '@libp2p/webtransport': specifier: ^5.0.9 - version: 5.0.21 + version: 5.0.18 '@multiformats/multiaddr': specifier: ^12.3.1 version: 12.3.4 '@ts-drp/logger': - specifier: ^0.5.3 + specifier: ^0.6.0 version: link:../logger it-length-prefixed: specifier: ^9.1.0 @@ -222,14 +277,14 @@ importers: version: 3.0.1 libp2p: specifier: ^2.1.6 - version: 2.4.2 + version: 2.3.1 uint8arrays: specifier: ^5.1.0 version: 5.1.0 devDependencies: '@libp2p/interface': specifier: ^2.1.3 - version: 2.3.0 + version: 2.2.1 packages/node: dependencies: @@ -244,30 +299,30 @@ importers: version: 14.1.0 '@grpc/grpc-js': specifier: ^1.12.2 - version: 1.12.5 + version: 1.12.4 '@grpc/proto-loader': specifier: ^0.7.13 version: 0.7.13 '@grpc/reflection': specifier: ^1.0.4 - version: 1.0.4(@grpc/grpc-js@1.12.5) + version: 1.0.4(@grpc/grpc-js@1.12.4) '@libp2p/crypto': specifier: ^5.0.5 version: 5.0.8 '@libp2p/interface': specifier: ^2.1.3 - version: 2.3.0 + version: 2.2.1 '@ts-drp/blueprints': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../blueprints '@ts-drp/logger': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../logger '@ts-drp/network': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../network '@ts-drp/object': - specifier: 0.5.3 + specifier: 0.6.0 version: link:../object commander: specifier: ^13.0.0 @@ -281,10 +336,10 @@ importers: devDependencies: '@bufbuild/protobuf': specifier: ^2.0.0 - version: 2.2.3 + version: 2.2.2 '@types/node': specifier: ^22.5.4 - version: 22.10.2 + version: 22.10.1 tsx: specifier: 4.19.1 version: 4.19.1 @@ -293,7 +348,7 @@ importers: version: 5.7.2 vitest: specifier: ^2.1.1 - version: 2.1.8(@types/node@22.10.2)(terser@5.37.0) + version: 2.1.8(@types/node@22.10.1)(terser@5.37.0) packages/object: dependencies: @@ -301,7 +356,7 @@ importers: specifier: ^8.1.0 version: 8.1.0 '@ts-drp/logger': - specifier: ^0.5.3 + specifier: ^0.6.0 version: link:../logger es-toolkit: specifier: 1.30.1 @@ -318,7 +373,7 @@ importers: devDependencies: '@bufbuild/protobuf': specifier: ^2.0.0 - version: 2.2.3 + version: 2.2.2 benchmark: specifier: ^2.1.4 version: 2.1.4 @@ -1062,8 +1117,8 @@ packages: cpu: [x64] os: [win32] - '@bufbuild/protobuf@2.2.3': - resolution: {integrity: sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg==} + '@bufbuild/protobuf@2.2.2': + resolution: {integrity: sha512-UNtPCbrwrenpmrXuRwn9jYpPoweNXj8X5sMvYgsqYyaH8jQ6LfUJSk3dJLnBK+6sfYPrF4iAIo5sd5HQ+tg75A==} '@chainsafe/as-chacha20poly1305@0.1.0': resolution: {integrity: sha512-BpNcL8/lji/GM3+vZ/bgRWqJ1q5kwvTFmGPk7pxm/QQZDbaMI98waOHjEymTjq2JmdD/INdNBFOVSyJofXg7ew==} @@ -1532,8 +1587,8 @@ packages: cpu: [x64] os: [win32] - '@grpc/grpc-js@1.12.5': - resolution: {integrity: sha512-d3iiHxdpg5+ZcJ6jnDSOT8Z0O0VMVGy34jAnYLUX8yd36b1qn8f1TwOA/Lc7TsOh03IkPJ38eGI5qD2EjNkoEA==} + '@grpc/grpc-js@1.12.4': + resolution: {integrity: sha512-NBhrxEWnFh0FxeA0d//YP95lRFsSx2TNLEUQg4/W+5f/BMxcCjgOOIT24iD+ZB/tZw057j44DaIxja7w4XMrhg==} engines: {node: '>=12.10.0'} '@grpc/proto-loader@0.7.13': @@ -1549,8 +1604,8 @@ packages: '@iarna/toml@2.2.5': resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} - '@inquirer/figures@1.0.9': - resolution: {integrity: sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==} + '@inquirer/figures@1.0.8': + resolution: {integrity: sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==} engines: {node: '>=18'} '@isaacs/cliui@8.0.2': @@ -1593,8 +1648,8 @@ packages: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} '@jridgewell/resolve-uri@3.1.2': @@ -1620,53 +1675,92 @@ packages: '@js-sdsl/ordered-map@4.4.2': resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + '@jsonjoy.com/base64@1.1.2': + resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pack@1.1.1': + resolution: {integrity: sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/util@1.5.0': + resolution: {integrity: sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - '@libp2p/autonat@2.0.15': - resolution: {integrity: sha512-R9PHA/0zy//gZ/W0xjyUl7PN+7JP6qtXqoeZnafb7pVOkJy/4RiBeYY4g/QKnZ0lEIpKLDowHT1pujkjbWw/Cg==} + '@libp2p/autonat@2.0.12': + resolution: {integrity: sha512-EgJb6RwJmBwB7/Ddg3B3xFspc+OrNC6oonWh3osrP85J0cY7wOVmDSuLqk8tcxli9OuTYNSef/7dY9NVYEA+9g==} - '@libp2p/bootstrap@11.0.16': - resolution: {integrity: sha512-GmIkQuZwWFOnEBuUM0eRma/PjS0iCgc7Yl8X54QxqbmjB04DMqz2sGgmP+2gmiB38CIj1WGz4DTiTaECiyut2Q==} + '@libp2p/bootstrap@11.0.13': + resolution: {integrity: sha512-zfZdqR4pVvsSWRBYNYjJD6hCzsgRRNLy8NAcLOf+H4+xDQg2pdGY7RhbeLetqnEaifHFV1INdIuCkdOI8cSMsQ==} '@libp2p/circuit-relay-v2@3.1.6': resolution: {integrity: sha512-47ocamyjMlGM9HgVo2BZI/yUuSM03GugTu03KjS1Wx/mLDq3WSpUVk1qMS4v1ZpOwXTnKlk5e3sp/t9K5PHCjw==} + '@libp2p/crypto@5.0.7': + resolution: {integrity: sha512-hv0rv/BPBsmSV5GBtaLZpOEv1LsA+Ub0BEDnEvSdB0ZbZ3Fcdlt5HTaJ2jYz4lx2T7KWTFQa9i1elmlGxwuJNg==} + '@libp2p/crypto@5.0.8': resolution: {integrity: sha512-3ZxuzqMvyLXhRnjT3sjvzCCW4zkO9UKgv75KfqExP3k1Yk/Zbb+oM2z7OgnDycvLGxnRZgGwizrgnWpZvXlDEA==} - '@libp2p/dcutr@2.0.14': - resolution: {integrity: sha512-claAqe1n2SBoy53v30tvw3BI3+Jbn5UivmR0R69tclBa2sU15sh8WfKMfRv+h3eo8823syUruNZUvUslc2p4DA==} + '@libp2p/dcutr@2.0.12': + resolution: {integrity: sha512-BtUtNQW+AmZDr3waEuQn4TzEleMljxXlojnUBAseysnJH5nHPjLyQfkfqKEIFdswghlZOJLX0YhiR+otzKXCCQ==} - '@libp2p/devtools-metrics@1.1.12': - resolution: {integrity: sha512-zHe9xgTWg8G8OVOVYG/ndLhugmRBw7TlwD5x4/evAVbRscoqwC3q3f746vYwCP1bXmoewWWp7/ekcp8sAT27Qw==} + '@libp2p/devtools-metrics@1.1.10': + resolution: {integrity: sha512-PDUuPOKyKxjpQXzoKdPFHavqqxfiAOAI2P4EZbWeE/lD+Zs/H9NcgcgMVQq7gVxMdQh42z6rs9XhKV9pX6fzWw==} - '@libp2p/identify@3.0.14': - resolution: {integrity: sha512-H80tdH8csD3W+wHoaltJEnjTAmZBJ22bYqFOPk5YKCF0k19Ox2MwRTkyCXuVDIdQfrYs94JE3HvLvUoN9X/JBQ==} + '@libp2p/identify@3.0.12': + resolution: {integrity: sha512-Z1MjdaGMsLPEEpEvlCJOsOgZ2q4FOPqO7W9ep6Kemnc0suuB6wk+8XLDvnZKHS80OdZopGQwm7z8Az06cxrLAA==} + + '@libp2p/interface-internal@2.1.1': + resolution: {integrity: sha512-7rw7p5wZry9ZPfdhYi4zXRjsgrJ8y/X5M7iWIzUBSJdJP2Zd0ZVStlgyqYm1YAbb8V0mwo5BI/kxd2o9R/9TJQ==} '@libp2p/interface-internal@2.2.1': resolution: {integrity: sha512-GGxQnTgQ891bpOcHQAG9Dy/KXo1OoKnCaV2e02yWNhW8TkqlFJnwdny6tX8O6BN8Od56yuEIS89ZoNn2SK4F5g==} + '@libp2p/interface@2.2.1': + resolution: {integrity: sha512-5dvsnf9+S5DoXCk5H3HNpe8lKzuXTi0k2On8Cdqr6YrkmrhCimow63AxtaUOVkH7GVBTTi8Q1jSx3aleX7KcEA==} + '@libp2p/interface@2.3.0': resolution: {integrity: sha512-lodc8jxw32fkY2m2bsS6yzzozua6EDr5rJvahJaJVC36jZWFW5sBmOW8jBoKfoZyRwgD6uoOXP39miWQhEaUcg==} + '@libp2p/logger@5.1.4': + resolution: {integrity: sha512-pVQ2odi6rcOR412wM0dg7eZ1+wPHPo5D7W8vIn3YyB2FLodQD7CZXXfg7Z9Yaqlc4BVbkNXDWL/jlUss9wL2Ow==} + '@libp2p/logger@5.1.5': resolution: {integrity: sha512-Qe8B/Mja0myaArPvuI5iKVi3o2Z55Rir+RDkkEU/m9TkKDkHVFmGKnPlWDzHehi18GALjLxOsTE9TJASxjDTCA==} - '@libp2p/multistream-select@6.0.10': - resolution: {integrity: sha512-u2sxsPk18cmJl1GLbfKgV+HXcFP2e873411PPwfQgMqTuNYXvJZheJWxV/nz7LjB3XelHxgYPpDVkMvK/kjMyw==} + '@libp2p/multistream-select@6.0.9': + resolution: {integrity: sha512-yU+K4/jtXwt1WXMXSJTuhGnn6F97v/P0IOdMALMQlgmvSeGICDBNllX/i0r9y/DDwI/Hh61phB15aUgc/6pX8Q==} + + '@libp2p/peer-collections@6.0.12': + resolution: {integrity: sha512-JQvnCZ5rUiFkznQTOblNF+xE0ddmETn1f3FyYP9vHALOPrgdQkoZeY1b1W3Gz7gA8CXZ//cluHE+ZBiavDbNIg==} '@libp2p/peer-collections@6.0.13': resolution: {integrity: sha512-BjpXs3kWegnNay2CApntOkL9tPyzTxC2lKUt0Mj9qntmOp1BF/zWY982U1X4ScjCE/M9Nh9x/w4Z/GKCT+K5lQ==} + '@libp2p/peer-id@5.0.8': + resolution: {integrity: sha512-vil9cch+qtqchSlrgG0Zw82uCW8XsyeOJc6DaIiS2hI01cMOIChT4CKjTn0iV5k2yw/niycQPjLrYQzy7tBIYg==} + '@libp2p/peer-id@5.0.9': resolution: {integrity: sha512-TgWOPbU7AcUdSiHomL2wcg9eJqjoMCvCmU5eq/3fyBygTaG4BiQA/tYKuTEfeB5YPMdG1cJLmxgpk/a+ZRkY1g==} + '@libp2p/peer-record@8.0.12': + resolution: {integrity: sha512-N8OyAAgQwBCUB7AtSlI0AQun45SeBS5UWMnhO9JLAzzNUOZiMk+IfBwEu8dpJ0E311QK2vGY1suoxTsauqMSjg==} + '@libp2p/peer-record@8.0.13': resolution: {integrity: sha512-4+jd3UvlF3sUoHpjPToy9AdW3ReF/ipvA9yBdl5axDKWxjJVOfyG8DvLRGJsTvm12gLdvb7vDgmEtpUPwWqjGQ==} - '@libp2p/peer-store@11.0.13': - resolution: {integrity: sha512-KieXSY8ysyC7ROJ7GI7dtQkowRFDuG2jk5HQedSXNUe74JurG0uI/HddFF8yij+HgY/kZiBwWUQbKrTC4Cewbw==} + '@libp2p/peer-store@11.0.12': + resolution: {integrity: sha512-wCPvrmdm+fua28xY6THVskawNDhKxo9O9suif9MAy6Nb9Drr+WiOGucHasOrs/ELvkuU3nc/zxvyWjk8MlTEfw==} '@libp2p/ping@2.0.11': resolution: {integrity: sha512-nQFNJh+gzNnJsfmzBSz5/t7vebckWa5raI9ucPMX2UF5DE68ZA6ohGKHG23Gxt7XsC7jkVYRAhnkuKVM0psGCQ==} @@ -1674,23 +1768,26 @@ packages: '@libp2p/pubsub-peer-discovery@11.0.1': resolution: {integrity: sha512-bT7UO7tQ4mZCPFE0eS8Fx19B8MGzxjbTNR6SwcLGcOqOqUTvc2CLByMvcy3iMXuKjmds6G+VUf5ZMhvjGLTznA==} - '@libp2p/pubsub@10.0.14': - resolution: {integrity: sha512-fzHHpI6Smrvvlje1ySRfohjlxeifpoowNRcnJy6/ZFoziHvtufuPQdJ65jL/oobd6sTnbbShAlkkx/KVXBr5lw==} + '@libp2p/pubsub@10.0.12': + resolution: {integrity: sha512-Zhvq/GIV1VS9COwvEaG3olwF4EnSbt/Ftgq9A7veqG9vH+BdhKYtMxwTpC1jub0PbYGSIVSjKHiTDNZ5YAh7Tg==} - '@libp2p/simple-metrics@1.2.8': - resolution: {integrity: sha512-Ajc8wySEkZVQA1uga6KVcuEBu4PInyacgZZEAavoDKJwoOA7nfSsmj4mJSE9vxqn6BwLQNrRKJT9DnsI944h7A==} + '@libp2p/simple-metrics@1.2.7': + resolution: {integrity: sha512-6ZRP9J8AQagxwoB7P0Mt/Mi101bgGYSORoLgzfq8RY8fE/FJJ6l8NigBo/fQVVMhMNXO6UjKADGJHtxGDFNBkA==} + + '@libp2p/utils@6.2.1': + resolution: {integrity: sha512-uORuQLB75MgbrDA6i0rCw/fqNFgCs1dO3c21Z5WNdRCA4Lcvhgi6wnUf45DwgNCqtljDAnBR0FYI+UbEp5yAuA==} '@libp2p/utils@6.3.0': resolution: {integrity: sha512-1zF9xwxtAjg7N54deR3l45d0awLsuO8cacfp9J4vE+4RjrtKSa40IxhunLOp52ctm9H17wixlXUhoP85Ki8F3w==} - '@libp2p/webrtc@5.0.22': - resolution: {integrity: sha512-WVJC4mhFYdZ1wKTZxAwTMXyLqkfcLRM86J8wKgRNTAfvZqet1HQuJ5U/Hp4CngNnuLGHqOKVdn6obDcy6nMWww==} + '@libp2p/webrtc@5.0.19': + resolution: {integrity: sha512-WicT2mraZf4ZKqt73MYvfAUvOQehZDPT673GThA3yK02eR6B/c9MenMuUbNb3qGsE4b5yhMjioYjZPahWpxcBw==} '@libp2p/websockets@9.1.1': resolution: {integrity: sha512-zOmKvpXvxTw+mLVSBbcOmKxxMub4ii+xy+aM/aG2yRrjwAuT5IlmgXsNQ3Xf8GB8PASjJFQ0YzLf4esI9735IQ==} - '@libp2p/webtransport@5.0.21': - resolution: {integrity: sha512-8b+uZ7dHcT3otu3tqAqhpF2RaPRKwJ041bpIU2GGTqyPha76M9p2PaS8SrPxifC+L7qj+ZjXOE0IVZPGh1k+Lg==} + '@libp2p/webtransport@5.0.18': + resolution: {integrity: sha512-JDWJB7Nh8MR35sNhHpKg6/OcW6nJu4Tu8Lsb1dXHvMBhYC8Y/Ndu+DsEZ/zFZqOWnfzZmNr7kvYNK/mPiHFZGw==} '@multiformats/dns@1.0.6': resolution: {integrity: sha512-nt/5UqjMPtyvkG9BQYdJ4GfLK3nMqGpFZOzf4hAmIa0sJh2LlS9YKXZ4FgwBDsaHvzZqR/rUFIywIc7pkHNNuw==} @@ -1832,28 +1929,28 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@react-native/assets-registry@0.76.5': - resolution: {integrity: sha512-MN5dasWo37MirVcKWuysRkRr4BjNc81SXwUtJYstwbn8oEkfnwR9DaqdDTo/hHOnTdhafffLIa2xOOHcjDIGEw==} + '@react-native/assets-registry@0.76.4': + resolution: {integrity: sha512-S2qgMmB08JIeKz/0bSoE0X4NNTCIVjquINZzGnYTBWllq5COGmB8MVFcAYF52GkbTlMjVVFSsnVjcLwV4aNXEw==} engines: {node: '>=18'} - '@react-native/babel-plugin-codegen@0.76.5': - resolution: {integrity: sha512-xe7HSQGop4bnOLMaXt0aU+rIatMNEQbz242SDl8V9vx5oOTI0VbZV9yLy6yBc6poUlYbcboF20YVjoRsxX4yww==} + '@react-native/babel-plugin-codegen@0.76.4': + resolution: {integrity: sha512-JMK8Ad6YOWrR74mLlA5w7ycOzZ5zlb6pU6v38J7F4DVTToeWAFAi+Hqy0p5FtvJlfKyxVuPB3kFeQ0YL2JA/0A==} engines: {node: '>=18'} - '@react-native/babel-preset@0.76.5': - resolution: {integrity: sha512-1Nu5Um4EogOdppBLI4pfupkteTjWfmI0hqW8ezWTg7Bezw0FtBj8yS8UYVd3wTnDFT9A5mA2VNoNUqomJnvj2A==} + '@react-native/babel-preset@0.76.4': + resolution: {integrity: sha512-D++oMqmBXeibWI8BMeH1goMhR8dHGkQwu9tJoR7zxNapFZuPrjkCzWXQ4fiJrk1plaQnp9W05x+CpSabsiJqSg==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' - '@react-native/codegen@0.76.5': - resolution: {integrity: sha512-FoZ9VRQ5MpgtDAnVo1rT9nNRfjnWpE40o1GeJSDlpUMttd36bVXvsDm8W/NhX8BKTWXSX+CPQJsRcvN1UPYGKg==} + '@react-native/codegen@0.76.4': + resolution: {integrity: sha512-ZiV1D0pF1QS54MzVHCacNT5foSk6HxgqH07vswFLqH2GTQaytHd8TZF9XBOzDxOjmLuiR8KEO1ZY1F3bN1sW4A==} engines: {node: '>=18'} peerDependencies: '@babel/preset-env': ^7.1.6 - '@react-native/community-cli-plugin@0.76.5': - resolution: {integrity: sha512-3MKMnlU0cZOWlMhz5UG6WqACJiWUrE3XwBEumzbMmZw3Iw3h+fIsn+7kLLE5EhzqLt0hg5Y4cgYFi4kOaNgq+g==} + '@react-native/community-cli-plugin@0.76.4': + resolution: {integrity: sha512-IcXic/21To3oS2/PnrvOm8WpR2PvmclBsZUlB1o/wVdd/+LIaq7AS0qTh32AR1sluV07Q6TD7t68abD7Ahl4tA==} engines: {node: '>=18'} peerDependencies: '@react-native-community/cli-server-api': '*' @@ -1861,33 +1958,33 @@ packages: '@react-native-community/cli-server-api': optional: true - '@react-native/debugger-frontend@0.76.5': - resolution: {integrity: sha512-5gtsLfBaSoa9WP8ToDb/8NnDBLZjv4sybQQj7rDKytKOdsXm3Pr2y4D7x7GQQtP1ZQRqzU0X0OZrhRz9xNnOqA==} + '@react-native/debugger-frontend@0.76.4': + resolution: {integrity: sha512-NrikafRPP6xoAcPiTKTIL8wJtza2r2+BAvtthqba+PvGAwRJxzmW2C75uvyP3IfVHxUiBAm6BalBLu8ADPhQ0g==} engines: {node: '>=18'} - '@react-native/dev-middleware@0.76.5': - resolution: {integrity: sha512-f8eimsxpkvMgJia7POKoUu9uqjGF6KgkxX4zqr/a6eoR1qdEAWUd6PonSAqtag3PAqvEaJpB99gLH2ZJI1nDGg==} + '@react-native/dev-middleware@0.76.4': + resolution: {integrity: sha512-cbTAfsS2wyEEp1F+ch8T9nIJqymb/3lxA0yQqrhbv/RG7UQqvaikY3R+VtIo1jWXXcDceF4RuayjVO/uIGdwrA==} engines: {node: '>=18'} - '@react-native/gradle-plugin@0.76.5': - resolution: {integrity: sha512-7KSyD0g0KhbngITduC8OABn0MAlJfwjIdze7nA4Oe1q3R7qmAv+wQzW+UEXvPah8m1WqFjYTkQwz/4mK3XrQGw==} + '@react-native/gradle-plugin@0.76.4': + resolution: {integrity: sha512-xTL7T3u8f3/C3vaK06UY+mF7XKMSoGBx8GUKVM9MZ5lbvKTTTktn3/GlHzJBr/9c9WKtVLEnk/EjKLcm6JZrwQ==} engines: {node: '>=18'} - '@react-native/js-polyfills@0.76.5': - resolution: {integrity: sha512-ggM8tcKTcaqyKQcXMIvcB0vVfqr9ZRhWVxWIdiFO1mPvJyS6n+a+lLGkgQAyO8pfH0R1qw6K9D0nqbbDo865WQ==} + '@react-native/js-polyfills@0.76.4': + resolution: {integrity: sha512-yBNx3a6S3e9+H7sBb9rQr0FhwKZdptofENguv1HiqgyGs3Tu+TMbd1xsl0vuxhB/B9ICa8xb+lnrpLtNRgtcSQ==} engines: {node: '>=18'} - '@react-native/metro-babel-transformer@0.76.5': - resolution: {integrity: sha512-Cm9G5Sg5BDty3/MKa3vbCAJtT3YHhlEaPlQALLykju7qBS+pHZV9bE9hocfyyvc5N/osTIGWxG5YOfqTeMu1oQ==} + '@react-native/metro-babel-transformer@0.76.4': + resolution: {integrity: sha512-+YyYLKhtOso1GwrIis6L/LS5we4gnXI6S57Uya5s0Oz/MJVvJZiGSppJgBa4MJci90WU9OE0oHDe1EnFH+e0iQ==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' - '@react-native/normalize-colors@0.76.5': - resolution: {integrity: sha512-6QRLEok1r55gLqj+94mEWUENuU5A6wsr2OoXpyq/CgQ7THWowbHtru/kRGRr6o3AQXrVnZheR60JNgFcpNYIug==} + '@react-native/normalize-colors@0.76.4': + resolution: {integrity: sha512-qqkYV6iNUjlmyH5cvDIboNckUaOIGTHbMANkrMRL+MPffB/AFFyHnlKWJh0nILFqyUr3DIzqRAP8z6v0DUbGjA==} - '@react-native/virtualized-lists@0.76.5': - resolution: {integrity: sha512-M/fW1fTwxrHbcx0OiVOIxzG6rKC0j9cR9Csf80o77y1Xry0yrNPpAlf8D1ev3LvHsiAUiRNFlauoPtodrs2J1A==} + '@react-native/virtualized-lists@0.76.4': + resolution: {integrity: sha512-QLL86rgKhgK7shh3sLB3KoTMdAHIrqcrjMzSJIXeEr42PZkScMITGdDqq/cpx2zpp635pYJt/6d3Ithk00NrGA==} engines: {node: '>=18'} peerDependencies: '@types/react': ^18.2.6 @@ -1897,6 +1994,86 @@ packages: '@types/react': optional: true + '@react-spring/animated@9.7.5': + resolution: {integrity: sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@react-spring/core@9.7.5': + resolution: {integrity: sha512-rmEqcxRcu7dWh7MnCcMXLvrf6/SDlSokLaLTxiPlAYi11nN3B5oiCUAblO72o+9z/87j2uzxa2Inm8UbLjXA+w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@react-spring/konva@9.7.5': + resolution: {integrity: sha512-BelrmyY6w0FGoNSEfSJltjQDUoW0Prxf+FzGjyLuLs+V9M9OM/aHnYqOlvQEfQsZx6C/ZiDOn5BZl8iH8SDf+Q==} + peerDependencies: + konva: '>=2.6' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-konva: ^16.8.0 || ^16.8.7-0 || ^16.9.0-0 || ^16.10.1-0 || ^16.12.0-0 || ^16.13.0-0 || ^17.0.0-0 || ^17.0.1-0 || ^17.0.2-0 || ^18.0.0-0 + + '@react-spring/native@9.7.5': + resolution: {integrity: sha512-C1S500BNP1I05MftElyLv2nIqaWQ0MAByOAK/p4vuXcUK3XcjFaAJ385gVLgV2rgKfvkqRoz97PSwbh+ZCETEg==} + peerDependencies: + react: 16.8.0 || >=17.0.0 || >=18.0.0 + react-native: '>=0.58' + + '@react-spring/rafz@9.7.5': + resolution: {integrity: sha512-5ZenDQMC48wjUzPAm1EtwQ5Ot3bLIAwwqP2w2owG5KoNdNHpEJV263nGhCeKKmuA3vG2zLLOdu3or6kuDjA6Aw==} + + '@react-spring/shared@9.7.5': + resolution: {integrity: sha512-wdtoJrhUeeyD/PP/zo+np2s1Z820Ohr/BbuVYv+3dVLW7WctoiN7std8rISoYoHpUXtbkpesSKuPIw/6U1w1Pw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@react-spring/three@9.7.5': + resolution: {integrity: sha512-RxIsCoQfUqOS3POmhVHa1wdWS0wyHAUway73uRLp3GAL5U2iYVNdnzQsep6M2NZ994BlW8TcKuMtQHUqOsy6WA==} + peerDependencies: + '@react-three/fiber': '>=6.0' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + three: '>=0.126' + + '@react-spring/types@9.7.5': + resolution: {integrity: sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g==} + + '@react-spring/web@9.7.5': + resolution: {integrity: sha512-lmvqGwpe+CSttsWNZVr+Dg62adtKhauGwLyGE/RRyZ8AAMLgb9x3NDMA5RMElXo+IMyTkPp7nxTB8ZQlmhb6JQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@react-spring/zdog@9.7.5': + resolution: {integrity: sha512-VV7vmb52wGHgDA1ry6hv+QgxTs78fqjKEQnj+M8hiBg+dwOsTtqqM24ADtc4cMAhPW+eZhVps8ZNKtjt8ouHFA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-zdog: '>=1.0' + zdog: '>=1.0' + + '@react-three/fiber@8.17.10': + resolution: {integrity: sha512-S6bqa4DqUooEkInYv/W+Jklv2zjSYCXAhm6qKpAQyOXhTEt5gBXnA7W6aoJ0bjmp9pAeaSj/AZUoz1HCSof/uA==} + peerDependencies: + expo: '>=43.0' + expo-asset: '>=8.4' + expo-file-system: '>=11.0' + expo-gl: '>=11.0' + react: '>=18.0' + react-dom: '>=18.0' + react-native: '>=0.64' + three: '>=0.133' + peerDependenciesMeta: + expo: + optional: true + expo-asset: + optional: true + expo-file-system: + optional: true + expo-gl: + optional: true + react-dom: + optional: true + react-native: + optional: true + '@release-it-plugins/workspaces@4.2.0': resolution: {integrity: sha512-hzQMdYWFnLBS/7dfasIWyeD2LUKeL7LT8ldxZgpzon90lW1cEU4Kpad78KmpZl1L188YHAbwVnboE+6i14jlEQ==} engines: {node: '>= 16'} @@ -1912,8 +2089,8 @@ packages: rollup: optional: true - '@rollup/pluginutils@5.1.4': - resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + '@rollup/pluginutils@5.1.3': + resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -1921,98 +2098,98 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.29.1': - resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} + '@rollup/rollup-android-arm-eabi@4.28.1': + resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.29.1': - resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} + '@rollup/rollup-android-arm64@4.28.1': + resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.29.1': - resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} + '@rollup/rollup-darwin-arm64@4.28.1': + resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.29.1': - resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} + '@rollup/rollup-darwin-x64@4.28.1': + resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.29.1': - resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} + '@rollup/rollup-freebsd-arm64@4.28.1': + resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.29.1': - resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} + '@rollup/rollup-freebsd-x64@4.28.1': + resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': + resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.29.1': - resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} + '@rollup/rollup-linux-arm-musleabihf@4.28.1': + resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.29.1': - resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} + '@rollup/rollup-linux-arm64-gnu@4.28.1': + resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.29.1': - resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} + '@rollup/rollup-linux-arm64-musl@4.28.1': + resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': - resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': + resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': + resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.29.1': - resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} + '@rollup/rollup-linux-riscv64-gnu@4.28.1': + resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.29.1': - resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} + '@rollup/rollup-linux-s390x-gnu@4.28.1': + resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.29.1': - resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} + '@rollup/rollup-linux-x64-gnu@4.28.1': + resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.29.1': - resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} + '@rollup/rollup-linux-x64-musl@4.28.1': + resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.29.1': - resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} + '@rollup/rollup-win32-arm64-msvc@4.28.1': + resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.29.1': - resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} + '@rollup/rollup-win32-ia32-msvc@4.28.1': + resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.29.1': - resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} + '@rollup/rollup-win32-x64-msvc@4.28.1': + resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} cpu: [x64] os: [win32] @@ -2022,20 +2199,20 @@ packages: '@scure/bip39@1.5.0': resolution: {integrity: sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==} - '@shikijs/core@1.24.4': - resolution: {integrity: sha512-jjLsld+xEEGYlxAXDyGwWsKJ1sw5Pc1pnp4ai2ORpjx2UX08YYTC0NNqQYO1PaghYaR+PvgMOGuvzw2he9sk0Q==} + '@shikijs/core@1.24.0': + resolution: {integrity: sha512-6pvdH0KoahMzr6689yh0QJ3rCgF4j1XsXRHNEeEN6M4xJTfQ6QPWrmHzIddotg+xPJUPEPzYzYCKzpYyhTI6Gw==} - '@shikijs/engine-javascript@1.24.4': - resolution: {integrity: sha512-TClaQOLvo9WEMJv6GoUsykQ6QdynuKszuORFWCke8qvi6PeLm7FcD9+7y45UenysxEWYpDL5KJaVXTngTE+2BA==} + '@shikijs/engine-javascript@1.24.0': + resolution: {integrity: sha512-ZA6sCeSsF3Mnlxxr+4wGEJ9Tto4RHmfIS7ox8KIAbH0MTVUkw3roHPHZN+LlJMOHJJOVupe6tvuAzRpN8qK1vA==} - '@shikijs/engine-oniguruma@1.24.4': - resolution: {integrity: sha512-Do2ry6flp2HWdvpj2XOwwa0ljZBRy15HKZITzPcNIBOGSeprnA8gOooA/bLsSPuy8aJBa+Q/r34dMmC3KNL/zw==} + '@shikijs/engine-oniguruma@1.24.0': + resolution: {integrity: sha512-Eua0qNOL73Y82lGA4GF5P+G2+VXX9XnuUxkiUuwcxQPH4wom+tE39kZpBFXfUuwNYxHSkrSxpB1p4kyRW0moSg==} - '@shikijs/types@1.24.4': - resolution: {integrity: sha512-0r0XU7Eaow0PuDxuWC1bVqmWCgm3XqizIaT7SM42K03vc69LGooT0U8ccSR44xP/hGlNx4FKhtYpV+BU6aaKAA==} + '@shikijs/types@1.24.0': + resolution: {integrity: sha512-aptbEuq1Pk88DMlCe+FzXNnBZ17LCiLIGWAeCWhoFDzia5Q5Krx3DgnULLiouSdd6+LUM39XwXGppqYE0Ghtug==} - '@shikijs/vscode-textmate@9.3.1': - resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} + '@shikijs/vscode-textmate@9.3.0': + resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -2054,16 +2231,16 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - '@thi.ng/api@8.11.14': - resolution: {integrity: sha512-g2uyP4ul/ABa58lrFpMViocr2Tigs1+L4T2S1o4oievpzZIz+/NWQE6Hz7bQyQSt7/NJ6kvh3fhjgEt7pRKfLA==} + '@thi.ng/api@8.11.13': + resolution: {integrity: sha512-/BI1M8dIazn/6TJbV4v9lQ6KhswObw2xpcZ5FlAa2sZgiOdvSvYxeLr5NzUGWbs8O/bWRSQNU7dv2e12Yrpjfw==} engines: {node: '>=18'} - '@thi.ng/errors@2.5.20': - resolution: {integrity: sha512-sZnYdMsHQxyHKZYRIg6QwdSgBaNyh8rmD8+6lGlLGxgXhBis4DhjNTNsDSXksFsE9GnSOYpmU4mpf/aemdJStg==} + '@thi.ng/errors@2.5.19': + resolution: {integrity: sha512-3+agBHA+jPM90BLj+wmptHZGGl6yMT+MYEbeTFWMDZuDBVhtzreQsLjYCRa3elZt8LMqTWcCTURmgLO7bJRQMQ==} engines: {node: '>=18'} - '@thi.ng/random@4.1.5': - resolution: {integrity: sha512-2Et4LpGLFXM6iFnpVrlfsnmvgu9uWiJw3mdthXB0LrEoqYSQ/CYuiV8m1HPiWbyacHqHam6HS3I4sPJsmx5jrg==} + '@thi.ng/random@4.1.4': + resolution: {integrity: sha512-a4FwyIGAJEgJHMfi4+ymdrhUtdFRwHyUa0Tam93Tx3iz3Ngsceo+tvyxuG3j56xOo6TUJSQdP+x+LuvoVmQqxA==} engines: {node: '>=18'} '@tootallnate/quickjs-emscripten@0.23.0': @@ -2093,9 +2270,18 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/debounce@1.2.4': + resolution: {integrity: sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==} + '@types/dns-packet@5.6.5': resolution: {integrity: sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q==} + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -2114,6 +2300,9 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -2126,8 +2315,19 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@22.10.2': - resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + '@types/node@22.10.1': + resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==} + + '@types/react-reconciler@0.26.7': + resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==} + + '@types/react-reconciler@0.28.9': + resolution: {integrity: sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==} + peerDependencies: + '@types/react': '*' + + '@types/react@19.0.1': + resolution: {integrity: sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==} '@types/retry@0.12.2': resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} @@ -2138,6 +2338,9 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/webxr@0.5.20': + resolution: {integrity: sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==} + '@types/ws@8.5.13': resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} @@ -2188,6 +2391,57 @@ packages: '@vitest/utils@2.1.8': resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -2209,6 +2463,30 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + anser@1.4.10: resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} @@ -2428,8 +2706,8 @@ packages: browserify-zlib@0.2.0: resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} - browserslist@4.24.3: - resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2459,18 +2737,14 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - call-bind-apply-helpers@1.0.1: - resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + call-bind-apply-helpers@1.0.0: + resolution: {integrity: sha512-CCKAP2tkPau7D3GE8+V8R6sQubA9R5foIzGp+85EXCVSCivuxBNAWqcpn72PKYiIcqoViv/kcUDpaEIMBVi1lQ==} engines: {node: '>= 0.4'} call-bind@1.0.8: resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} engines: {node: '>= 0.4'} - call-bound@1.0.3: - resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} - engines: {node: '>= 0.4'} - caller-callsite@2.0.0: resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} engines: {node: '>=4'} @@ -2499,8 +2773,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001690: - resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + caniuse-lite@1.0.30001687: + resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==} case-anything@2.1.13: resolution: {integrity: sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==} @@ -2546,6 +2820,10 @@ packages: engines: {node: '>=12.13.0'} hasBin: true + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + chromium-edge-launcher@0.2.0: resolution: {integrity: sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==} @@ -2682,6 +2960,9 @@ packages: resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} engines: {node: '>= 0.10'} + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + data-uri-to-buffer@6.0.2: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} @@ -2689,6 +2970,9 @@ packages: datastore-core@10.0.2: resolution: {integrity: sha512-B3WXxI54VxJkpXxnYibiF17si3bLXE1XOjrJB7wM5co9fx2KOEkiePDGiCCEtnapFHTnmAnYCPdA7WZTIpdn/A==} + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -2832,8 +3116,8 @@ packages: dprint-node@1.0.8: resolution: {integrity: sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==} - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + dunder-proto@1.0.0: + resolution: {integrity: sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==} engines: {node: '>= 0.4'} eastasianwidth@0.2.0: @@ -2842,8 +3126,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.75: - resolution: {integrity: sha512-Lf3++DumRE/QmweGjU+ZcKqQ+3bKkU/qjaKYhIJKEOhgIO9Xs6IiAQFkfFoj+RhgDk4LUeNsLo6plExHqSyu6Q==} + electron-to-chromium@1.5.71: + resolution: {integrity: sha512-dB68l59BI75W1BUGVTAEJy45CEVuEGy9qPVVQ8pnHyHMn36PLPPoE1mjLH+lo9rKulO3HC2OhbACI/8tCqJBcA==} elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -2871,6 +3155,10 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + ensure-posix-path@1.1.1: resolution: {integrity: sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==} @@ -2899,10 +3187,6 @@ packages: es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - es-toolkit@1.30.1: resolution: {integrity: sha512-ZXflqanzH8BpHkDhFa10bBf6ONDCe84EPUm7SSICGzuuROSluT2ynTPtwn9PcRelMtorCRozSknI/U0MNYp0Uw==} @@ -2945,11 +3229,23 @@ packages: engines: {node: '>=6.0'} hasBin: true + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -3026,6 +3322,9 @@ packages: fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + fast-uri@3.0.3: + resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -3059,8 +3358,8 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - flow-parser@0.257.1: - resolution: {integrity: sha512-7+KYDpAXyBPD/wODhbPYO6IGUx+WwtJcLLG/r3DvbNyxaDyuYaTBKbSqeCldWQzuFcj+MsOVx2bpkEwVPB9JRw==} + flow-parser@0.256.0: + resolution: {integrity: sha512-HFb/GgB7hq+TYosLJuMLdLp8aGlyAVfrJaTvcM0w2rz2T33PjkVbRU419ncK/69cjowUksewuspkBheq9ZX9Hw==} engines: {node: '>=0.4.0'} for-each@0.3.3: @@ -3100,8 +3399,8 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} - get-intrinsic@1.2.6: - resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + get-intrinsic@1.2.5: + resolution: {integrity: sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg==} engines: {node: '>= 0.4'} get-iterator@2.0.1: @@ -3139,6 +3438,9 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true @@ -3201,8 +3503,8 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-to-html@9.0.4: - resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} + hast-util-to-html@9.0.3: + resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} @@ -3257,6 +3559,10 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + hyperdyperid@1.2.0: + resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} + engines: {node: '>=10.18'} + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -3268,8 +3574,8 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - image-size@1.2.0: - resolution: {integrity: sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==} + image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} engines: {node: '>=16.x'} hasBin: true @@ -3320,8 +3626,8 @@ packages: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} - is-arguments@1.2.0: - resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} is-arrayish@0.2.1: @@ -3331,8 +3637,8 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} is-directory@0.3.1: @@ -3432,8 +3738,8 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} is-unicode-supported@0.1.0: @@ -3506,6 +3812,9 @@ packages: it-filter@3.1.1: resolution: {integrity: sha512-TOXmVuaSkxlLp2hXKoMTra0WMZMKVFxE3vSsbIA+PbADNCBAHhjJ/lM31vBOUTddHMO34Ku++vU8T9PLlBxQtg==} + it-first@3.0.6: + resolution: {integrity: sha512-ExIewyK9kXKNAplg2GMeWfgjUcfC1FnUXz/RPfAvIXby+w7U4b3//5Lic0NV03gXT8O/isj5Nmp6KiY0d45pIQ==} + it-foreach@2.1.1: resolution: {integrity: sha512-ID4Gxnavk/LVQLQESAQ9hR6dR63Ih6X+8VdxEktX8rpz2dCGAbZpey/eljTNbMfV2UKXHiu6UsneoNBZuac97g==} @@ -3565,6 +3874,11 @@ packages: resolution: {integrity: sha512-uWjMtpy5HqhSd/LlrlP3fhYrr7rUfJFFMABv0F5d6n13Q+0glhZthwUKpEAVhDrXY95Tb1RB5lLqqef+QbVNaw==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} + its-fine@1.2.5: + resolution: {integrity: sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==} + peerDependencies: + react: '>=18.0' + jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} @@ -3600,6 +3914,10 @@ packages: resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + jest-worker@29.7.0: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3635,17 +3953,18 @@ packages: engines: {node: '>=6'} hasBin: true - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 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==} + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -3655,8 +3974,11 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - ky@1.7.4: - resolution: {integrity: sha512-zYEr/gh7uLW2l4su11bmQ2M9xLgQLjyvx58UyNM/6nuqyWFHPX5ktMjvpev3F8QWdjSsHUpnWew4PBCswBNuMQ==} + konva@9.3.16: + resolution: {integrity: sha512-qa47cefGDDHzkToGRGDsy24f/Njrz7EHP56jQ8mlDcjAPO7vkfTDeoBDIfmF7PZtpfzDdooafQmEUJMDU2F7FQ==} + + ky@1.7.2: + resolution: {integrity: sha512-OzIvbHKKDpi60TnF9t7UUVAF1B4mcqc02z5PIvrm08Wyb+yOcz63GRvEuVxNT18a9E1SrNouhB4W2NNLeD7Ykg==} engines: {node: '>=18'} latest-version@9.0.0: @@ -3667,8 +3989,8 @@ packages: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - libp2p@2.4.2: - resolution: {integrity: sha512-8y+moEpzzkDjRbK7e+0k8zgtCnL4RkttFnjxrnzoVLQdk6ki3xf0SQkH3aD6FHyz8fdHlG48Av6BEOsT+F9TKg==} + libp2p@2.3.1: + resolution: {integrity: sha512-b8SydqWzScHXiS5A+c29w2JGbkYBajW+AGFmWmtaF5r53ZpMTetnPmlczkT7D2Zd9+k4yKC7plGBWBNku/KNXQ==} lighthouse-logger@1.4.2: resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} @@ -3679,6 +4001,10 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -3760,8 +4086,8 @@ packages: resolution: {integrity: sha512-tPJQ1HeyiU2vRruNGhZ+VleWuMQRro8iFtJxYgnS4NQe+EukKF6aGiIT+7flZhISAt2iaXBCfFGvAyif7/f8nQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magic-string@0.30.14: + resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -3791,10 +4117,6 @@ packages: resolution: {integrity: sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==} engines: {node: 6.* || 8.* || >= 10.*} - 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==} @@ -3804,6 +4126,10 @@ packages: mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + memfs@4.15.0: + resolution: {integrity: sha512-q9MmZXd2rRWHS6GU3WEm3HyiXZyyoA1DqdOhEq0lxPBmKb5S7IAOwX0RgUCwJfqjelDCySa5h8ujOy24LqsWcw==} + engines: {node: '>= 4.0.0'} + memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} @@ -4050,8 +4376,8 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} node-stdlib-browser@1.3.0: resolution: {integrity: sha512-g/koYzOr9Fb1Jc+tHUHlFd5gODjGn48tHexUK8q6iqOVriEgSnd3/1T7myBYc+0KBVze/7F7n65ec9rW6OD7xw==} @@ -4088,8 +4414,8 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} observable-webworkers@2.0.1: @@ -4119,8 +4445,8 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} - oniguruma-to-es@0.8.1: - resolution: {integrity: sha512-dekySTEvCxCj0IgKcA2uUCO/e4ArsqpucDPcX26w9ajx+DvMWLc5eZeJaRQkd7oC/+rwif5gnT900tA34uN9Zw==} + oniguruma-to-es@0.7.0: + resolution: {integrity: sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==} open@10.1.0: resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} @@ -4386,6 +4712,10 @@ packages: 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'} + pupa@3.1.0: resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} engines: {node: '>=12.20'} @@ -4434,16 +4764,28 @@ packages: react-devtools-core@5.3.2: resolution: {integrity: sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-konva@18.2.10: + resolution: {integrity: sha512-ohcX1BJINL43m4ynjZ24MxFI1syjBdrXhqVxYVDw2rKgr3yuS0x/6m1Y2Z4sl4T/gKhfreBx8KHisd0XC6OT1g==} + peerDependencies: + konva: ^8.0.1 || ^7.2.5 || ^9.0.0 + react: '>=18.0.0' + react-dom: '>=18.0.0' + react-native-webrtc@124.0.4: resolution: {integrity: sha512-ZbhSz1f+kc1v5VE0B84+v6ujIWTHa2fIuocrYzGUIFab7E5izmct7PNHb9dzzs0xhBGqh4c2rUa49jbL+P/e2w==} peerDependencies: react-native: '>=0.60.0' - react-native@0.76.5: - resolution: {integrity: sha512-op2p2kB+lqMF1D7AdX4+wvaR0OPFbvWYs+VBE7bwsb99Cn9xISrLRLAgFflZedQsa5HvnOGrULhtnmItbIKVVw==} + react-native@0.76.4: + resolution: {integrity: sha512-c4K5dLmIAeeoGIxRM/Z2h9LjZVGDs8jwamksmFRSZFDt/j/A1wByVG/AnOpa6V39X40MQYSKEO0grKC7W5HpMQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -4453,10 +4795,31 @@ packages: '@types/react': optional: true + react-reconciler@0.27.0: + resolution: {integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^18.0.0 + + react-reconciler@0.29.2: + resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^18.3.1 + react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} + react-spring@9.7.5: + resolution: {integrity: sha512-oG6DkDZIASHzPiGYw5KwrCvoFZqsaO3t2R7KE37U6S/+8qWSph/UjRQalPpZxlbgheqV9LT62H6H9IyoopHdug==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + react-zdog@1.2.2: + resolution: {integrity: sha512-Ix7ALha91aOEwiHuxumCeYbARS5XNpc/w0v145oGkM6poF/CvhKJwzLhM5sEZbtrghMA+psAhOJkCTzJoseicA==} + react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} @@ -4495,8 +4858,8 @@ packages: regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - regex-recursion@5.0.0: - resolution: {integrity: sha512-UwyOqeobrCCqTXPcsSqH4gDhOjD5cI/b8kjngWgSZbxYh5yVjAwTjO5+hAuPRNiuR70+5RlWSs+U9PVcVcW9Lw==} + regex-recursion@4.3.0: + resolution: {integrity: sha512-5LcLnizwjcQ2ALfOj95MjcatxyqF5RPySx9yT+PaXu3Gox2vyAtLDjHB8NTJLtMGkvyau6nI3CfpwFCjPUIs/A==} regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} @@ -4532,6 +4895,13 @@ packages: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + resolve-from@3.0.0: resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} engines: {node: '>=4'} @@ -4551,9 +4921,8 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true restore-cursor@3.1.0: @@ -4588,8 +4957,8 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - rollup@4.29.1: - resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} + rollup@4.28.1: + resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4616,9 +4985,23 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + scheduler@0.21.0: + resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.24.0-canary-efb381bbf-20230505: resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.3.0: + resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==} + engines: {node: '>= 10.13.0'} + selfsigned@2.4.1: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} @@ -4644,6 +5027,9 @@ packages: resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} engines: {node: '>=0.10.0'} + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serve-static@1.16.2: resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} @@ -4683,23 +5069,11 @@ packages: engines: {node: '>=4'} hasBin: true - shiki@1.24.4: - resolution: {integrity: sha512-aVGSFAOAr1v26Hh/+GBIsRVDWJ583XYV7CuNURKRWh9gpGv4OdbisZGq96B9arMYTZhTQkmRF5BrShOSTvNqhw==} - - 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'} + shiki@1.24.0: + resolution: {integrity: sha512-qIneep7QRwxRd5oiHb8jaRzH15V/S8F3saCXOdjwRLgozZJr5x2yeBhQtqkO3FSzQDwYEFAYuifg4oHjpDghrg==} - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} siginfo@2.0.0: @@ -4753,6 +5127,10 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -4857,6 +5235,15 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + suspend-react@0.1.3: + resolution: {integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==} + peerDependencies: + react: '>=17.0' + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + tar-fs@2.1.1: resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} @@ -4871,6 +5258,22 @@ packages: resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} engines: {node: '>=6.0.0'} + terser-webpack-plugin@5.3.11: + resolution: {integrity: sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + terser@5.37.0: resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} engines: {node: '>=10'} @@ -4884,6 +5287,15 @@ packages: resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} engines: {node: '>=18'} + thingies@1.21.0: + resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 + + three@0.171.0: + resolution: {integrity: sha512-Y/lAXPaKZPcEdkKjh0JOAHVv8OOnv/NDJqm0wjfCzyQmfKxV7zvkwsnBgPBKTzJHToSOhRGQAGbPJObT59B/PQ==} + throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} @@ -4930,9 +5342,22 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tree-dump@1.0.2: + resolution: {integrity: sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + ts-loader@9.5.1: + resolution: {integrity: sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -4953,8 +5378,8 @@ packages: ts-proto-descriptors@2.0.0: resolution: {integrity: sha512-wHcTH3xIv11jxgkX5OyCSFfw27agpInAd6yh89hKG6zqIXnjW9SYqSER2CVQxdPj4czeOhGagNvZBEbJPy7qkw==} - ts-proto@2.6.0: - resolution: {integrity: sha512-vMpXqanLw2Y0Mp3NcjV5kM7JSTiKHksJyy7/LCuZmUt7iZ3NBz6Up6b9uQn8cC1RzzMyAk+fBIT7qzoLGgl5kw==} + ts-proto@2.5.0: + resolution: {integrity: sha512-QI+rFgj4Th3njPZ8a3HM56kH7S2ZU/ph8MeH8JC3ouhhVe5hVXEG0nAyeHXaOE+gi/8YwCGDORIyNAzdb7Pr4g==} hasBin: true tsconfck@3.1.4: @@ -4997,8 +5422,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.30.2: - resolution: {integrity: sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==} + type-fest@4.30.0: + resolution: {integrity: sha512-G6zXWS1dLj6eagy6sVhOMQiLtJdxQBHIA9Z6HFUNLOlr6MFOgzV8wvmidtPONfPtEUv0uZsy77XJNzTAfwPDaA==} engines: {node: '>=16'} typedoc@0.26.11: @@ -5080,6 +5505,9 @@ packages: resolution: {integrity: sha512-+dwUY4L35XFYEzE+OAL3sarJdUioVovq+8f7lcIJ7wnmnYQV5UD1Y/lcwaMSyaQ6Bj3JMj1XSTjZbNLHn/19yA==} engines: {node: '>=18'} + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} @@ -5162,8 +5590,8 @@ packages: terser: optional: true - vite@6.0.5: - resolution: {integrity: sha512-akD5IAH/ID5imgue2DYhzsEwCi0/4VKY31uhMLEYJwPP4TiUp8pL5PIK+Wo7H8qT8JY9i+pVfPydcFPYD1EL7g==} + vite@6.0.3: + resolution: {integrity: sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -5240,6 +5668,10 @@ packages: walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} + engines: {node: '>=10.13.0'} + wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} @@ -5249,6 +5681,20 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack@5.97.1: + resolution: {integrity: sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + whatwg-fetch@3.6.20: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} @@ -5262,8 +5708,8 @@ packages: resolution: {integrity: sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} - which-typed-array@1.1.18: - resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} + which-typed-array@1.1.16: + resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==} engines: {node: '>= 0.4'} which@2.0.2: @@ -5388,6 +5834,18 @@ packages: resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} engines: {node: '>=18'} + zdog@1.1.3: + resolution: {integrity: sha512-raRj6r0gPzopFm5XWBJZr/NuV4EEnT4iE+U3dp5FV5pCb588Gmm3zLIp/j9yqqcMiHH8VNQlerLTgOqL7krh6w==} + + zustand@3.7.2: + resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} + engines: {node: '>=12.7.0'} + peerDependencies: + react: '>=16.8' + peerDependenciesMeta: + react: + optional: true + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -5395,7 +5853,7 @@ snapshots: '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 '@babel/code-frame@7.26.2': @@ -5430,9 +5888,9 @@ snapshots: dependencies: '@babel/parser': 7.26.3 '@babel/types': 7.26.3 - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 + jsesc: 3.0.2 '@babel/helper-annotate-as-pure@7.25.9': dependencies: @@ -5442,7 +5900,7 @@ snapshots: dependencies: '@babel/compat-data': 7.26.3 '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.3 + browserslist: 4.24.2 lru-cache: 5.1.1 semver: 6.3.1 @@ -5473,7 +5931,7 @@ snapshots: '@babel/helper-plugin-utils': 7.25.9 debug: 4.4.0 lodash.debounce: 4.0.8 - resolve: 1.22.10 + resolve: 1.22.8 transitivePeerDependencies: - supports-color @@ -6279,7 +6737,7 @@ snapshots: '@biomejs/cli-win32-x64@1.9.4': optional: true - '@bufbuild/protobuf@2.2.3': {} + '@bufbuild/protobuf@2.2.2': {} '@chainsafe/as-chacha20poly1305@0.1.0': {} @@ -6304,11 +6762,11 @@ snapshots: '@chainsafe/libp2p-gossipsub@14.1.0': dependencies: - '@libp2p/crypto': 5.0.8 - '@libp2p/interface': 2.3.0 - '@libp2p/interface-internal': 2.2.1 - '@libp2p/peer-id': 5.0.9 - '@libp2p/pubsub': 10.0.14 + '@libp2p/crypto': 5.0.7 + '@libp2p/interface': 2.2.1 + '@libp2p/interface-internal': 2.1.1 + '@libp2p/peer-id': 5.0.8 + '@libp2p/pubsub': 10.0.12 '@multiformats/multiaddr': 12.3.4 denque: 2.1.0 it-length-prefixed: 9.1.0 @@ -6323,9 +6781,9 @@ snapshots: dependencies: '@chainsafe/as-chacha20poly1305': 0.1.0 '@chainsafe/as-sha256': 0.4.2 - '@libp2p/crypto': 5.0.8 - '@libp2p/interface': 2.3.0 - '@libp2p/peer-id': 5.0.9 + '@libp2p/crypto': 5.0.7 + '@libp2p/interface': 2.2.1 + '@libp2p/peer-id': 5.0.8 '@noble/ciphers': 0.6.0 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 @@ -6341,8 +6799,8 @@ snapshots: '@chainsafe/libp2p-yamux@7.0.1': dependencies: - '@libp2p/interface': 2.3.0 - '@libp2p/utils': 6.3.0 + '@libp2p/interface': 2.2.1 + '@libp2p/utils': 6.2.1 get-iterator: 2.0.1 it-foreach: 2.1.1 it-pushable: 3.2.3 @@ -6570,7 +7028,7 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@grpc/grpc-js@1.12.5': + '@grpc/grpc-js@1.12.4': dependencies: '@grpc/proto-loader': 0.7.13 '@js-sdsl/ordered-map': 4.4.2 @@ -6582,15 +7040,15 @@ snapshots: protobufjs: 7.4.0 yargs: 17.7.2 - '@grpc/reflection@1.0.4(@grpc/grpc-js@1.12.5)': + '@grpc/reflection@1.0.4(@grpc/grpc-js@1.12.4)': dependencies: - '@grpc/grpc-js': 1.12.5 + '@grpc/grpc-js': 1.12.4 '@grpc/proto-loader': 0.7.13 protobufjs: 7.4.0 '@iarna/toml@2.2.5': {} - '@inquirer/figures@1.0.9': {} + '@inquirer/figures@1.0.8': {} '@isaacs/cliui@8.0.2': dependencies: @@ -6621,14 +7079,14 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.10.2 + '@types/node': 22.10.1 jest-mock: 29.7.0 '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.10.2 + '@types/node': 22.10.1 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -6662,11 +7120,11 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.10.2 + '@types/node': 22.10.1 '@types/yargs': 17.0.33 chalk: 4.1.2 - '@jridgewell/gen-mapping@0.3.8': + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.5.0 @@ -6678,7 +7136,7 @@ snapshots: '@jridgewell/source-map@0.3.6': dependencies: - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/sourcemap-codec@1.5.0': {} @@ -6695,27 +7153,45 @@ snapshots: '@js-sdsl/ordered-map@4.4.2': {} + '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/json-pack@1.1.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 1.21.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/util@1.5.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + '@leichtgewicht/ip-codec@2.0.5': {} - '@libp2p/autonat@2.0.15': + '@libp2p/autonat@2.0.12': dependencies: - '@libp2p/interface': 2.3.0 - '@libp2p/interface-internal': 2.2.1 - '@libp2p/peer-collections': 6.0.13 - '@libp2p/peer-id': 5.0.9 - '@libp2p/utils': 6.3.0 + '@libp2p/interface': 2.2.1 + '@libp2p/interface-internal': 2.1.1 + '@libp2p/peer-id': 5.0.8 + '@libp2p/utils': 6.2.1 '@multiformats/multiaddr': 12.3.4 - any-signal: 4.1.1 - it-protobuf-stream: 1.1.5 + it-first: 3.0.6 + it-length-prefixed: 9.1.0 + it-map: 3.1.1 + it-parallel: 3.0.8 + it-pipe: 3.0.1 multiformats: 13.3.1 protons-runtime: 5.5.0 uint8arraylist: 2.4.8 - '@libp2p/bootstrap@11.0.16': + '@libp2p/bootstrap@11.0.13': dependencies: - '@libp2p/interface': 2.3.0 - '@libp2p/interface-internal': 2.2.1 - '@libp2p/peer-id': 5.0.9 + '@libp2p/interface': 2.2.1 + '@libp2p/interface-internal': 2.1.1 + '@libp2p/peer-id': 5.0.8 '@multiformats/mafmt': 12.1.6 '@multiformats/multiaddr': 12.3.4 @@ -6741,6 +7217,17 @@ snapshots: uint8arraylist: 2.4.8 uint8arrays: 5.1.0 + '@libp2p/crypto@5.0.7': + dependencies: + '@libp2p/interface': 2.2.1 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + asn1js: 3.0.5 + multiformats: 13.3.1 + protons-runtime: 5.5.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + '@libp2p/crypto@5.0.8': dependencies: '@libp2p/interface': 2.3.0 @@ -6752,11 +7239,11 @@ snapshots: uint8arraylist: 2.4.8 uint8arrays: 5.1.0 - '@libp2p/dcutr@2.0.14': + '@libp2p/dcutr@2.0.12': dependencies: - '@libp2p/interface': 2.3.0 - '@libp2p/interface-internal': 2.2.1 - '@libp2p/utils': 6.3.0 + '@libp2p/interface': 2.2.1 + '@libp2p/interface-internal': 2.1.1 + '@libp2p/utils': 6.2.1 '@multiformats/multiaddr': 12.3.4 '@multiformats/multiaddr-matcher': 1.6.0 delay: 6.0.0 @@ -6764,13 +7251,13 @@ snapshots: protons-runtime: 5.5.0 uint8arraylist: 2.4.8 - '@libp2p/devtools-metrics@1.1.12': + '@libp2p/devtools-metrics@1.1.10': dependencies: - '@libp2p/interface': 2.3.0 - '@libp2p/interface-internal': 2.2.1 - '@libp2p/logger': 5.1.5 - '@libp2p/peer-id': 5.0.9 - '@libp2p/simple-metrics': 1.2.8 + '@libp2p/interface': 2.2.1 + '@libp2p/interface-internal': 2.1.1 + '@libp2p/logger': 5.1.4 + '@libp2p/peer-id': 5.0.8 + '@libp2p/simple-metrics': 1.2.7 '@multiformats/multiaddr': 12.3.4 cborg: 4.2.7 it-pipe: 3.0.1 @@ -6779,7 +7266,7 @@ snapshots: multiformats: 13.3.1 progress-events: 1.0.1 - '@libp2p/identify@3.0.14': + '@libp2p/identify@3.0.12': dependencies: '@libp2p/crypto': 5.0.8 '@libp2p/interface': 2.3.0 @@ -6797,6 +7284,14 @@ snapshots: uint8arrays: 5.1.0 wherearewe: 2.0.1 + '@libp2p/interface-internal@2.1.1': + dependencies: + '@libp2p/interface': 2.2.1 + '@libp2p/peer-collections': 6.0.12 + '@multiformats/multiaddr': 12.3.4 + progress-events: 1.0.1 + uint8arraylist: 2.4.8 + '@libp2p/interface-internal@2.2.1': dependencies: '@libp2p/interface': 2.3.0 @@ -6805,6 +7300,15 @@ snapshots: progress-events: 1.0.1 uint8arraylist: 2.4.8 + '@libp2p/interface@2.2.1': + dependencies: + '@multiformats/multiaddr': 12.3.4 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + multiformats: 13.3.1 + progress-events: 1.0.1 + uint8arraylist: 2.4.8 + '@libp2p/interface@2.3.0': dependencies: '@multiformats/multiaddr': 12.3.4 @@ -6814,6 +7318,14 @@ snapshots: progress-events: 1.0.1 uint8arraylist: 2.4.8 + '@libp2p/logger@5.1.4': + dependencies: + '@libp2p/interface': 2.2.1 + '@multiformats/multiaddr': 12.3.4 + interface-datastore: 8.3.1 + multiformats: 13.3.1 + weald: 1.0.4 + '@libp2p/logger@5.1.5': dependencies: '@libp2p/interface': 2.3.0 @@ -6822,9 +7334,9 @@ snapshots: multiformats: 13.3.1 weald: 1.0.4 - '@libp2p/multistream-select@6.0.10': + '@libp2p/multistream-select@6.0.9': dependencies: - '@libp2p/interface': 2.3.0 + '@libp2p/interface': 2.2.1 it-length-prefixed: 9.1.0 it-length-prefixed-stream: 1.2.0 it-stream-types: 2.0.2 @@ -6834,6 +7346,13 @@ snapshots: uint8arraylist: 2.4.8 uint8arrays: 5.1.0 + '@libp2p/peer-collections@6.0.12': + dependencies: + '@libp2p/interface': 2.2.1 + '@libp2p/peer-id': 5.0.8 + '@libp2p/utils': 6.2.1 + multiformats: 13.3.1 + '@libp2p/peer-collections@6.0.13': dependencies: '@libp2p/interface': 2.3.0 @@ -6841,6 +7360,13 @@ snapshots: '@libp2p/utils': 6.3.0 multiformats: 13.3.1 + '@libp2p/peer-id@5.0.8': + dependencies: + '@libp2p/crypto': 5.0.7 + '@libp2p/interface': 2.2.1 + multiformats: 13.3.1 + uint8arrays: 5.1.0 + '@libp2p/peer-id@5.0.9': dependencies: '@libp2p/crypto': 5.0.8 @@ -6848,6 +7374,19 @@ snapshots: multiformats: 13.3.1 uint8arrays: 5.1.0 + '@libp2p/peer-record@8.0.12': + dependencies: + '@libp2p/crypto': 5.0.7 + '@libp2p/interface': 2.2.1 + '@libp2p/peer-id': 5.0.8 + '@libp2p/utils': 6.2.1 + '@multiformats/multiaddr': 12.3.4 + multiformats: 13.3.1 + protons-runtime: 5.5.0 + uint8-varint: 2.0.4 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + '@libp2p/peer-record@8.0.13': dependencies: '@libp2p/crypto': 5.0.8 @@ -6861,12 +7400,12 @@ snapshots: uint8arraylist: 2.4.8 uint8arrays: 5.1.0 - '@libp2p/peer-store@11.0.13': + '@libp2p/peer-store@11.0.12': dependencies: - '@libp2p/crypto': 5.0.8 - '@libp2p/interface': 2.3.0 - '@libp2p/peer-id': 5.0.9 - '@libp2p/peer-record': 8.0.13 + '@libp2p/crypto': 5.0.7 + '@libp2p/interface': 2.2.1 + '@libp2p/peer-id': 5.0.8 + '@libp2p/peer-record': 8.0.12 '@multiformats/multiaddr': 12.3.4 interface-datastore: 8.3.1 it-all: 3.0.6 @@ -6887,23 +7426,23 @@ snapshots: '@libp2p/pubsub-peer-discovery@11.0.1': dependencies: - '@libp2p/crypto': 5.0.8 - '@libp2p/interface': 2.3.0 - '@libp2p/interface-internal': 2.2.1 - '@libp2p/peer-id': 5.0.9 + '@libp2p/crypto': 5.0.7 + '@libp2p/interface': 2.2.1 + '@libp2p/interface-internal': 2.1.1 + '@libp2p/peer-id': 5.0.8 '@multiformats/multiaddr': 12.3.4 protons-runtime: 5.5.0 uint8arraylist: 2.4.8 uint8arrays: 5.1.0 - '@libp2p/pubsub@10.0.14': + '@libp2p/pubsub@10.0.12': dependencies: - '@libp2p/crypto': 5.0.8 - '@libp2p/interface': 2.3.0 - '@libp2p/interface-internal': 2.2.1 - '@libp2p/peer-collections': 6.0.13 - '@libp2p/peer-id': 5.0.9 - '@libp2p/utils': 6.3.0 + '@libp2p/crypto': 5.0.7 + '@libp2p/interface': 2.2.1 + '@libp2p/interface-internal': 2.1.1 + '@libp2p/peer-collections': 6.0.12 + '@libp2p/peer-id': 5.0.8 + '@libp2p/utils': 6.2.1 it-length-prefixed: 9.1.0 it-pipe: 3.0.1 it-pushable: 3.2.3 @@ -6912,14 +7451,39 @@ snapshots: uint8arraylist: 2.4.8 uint8arrays: 5.1.0 - '@libp2p/simple-metrics@1.2.8': + '@libp2p/simple-metrics@1.2.7': dependencies: - '@libp2p/interface': 2.3.0 - '@libp2p/logger': 5.1.5 + '@libp2p/interface': 2.2.1 + '@libp2p/logger': 5.1.4 it-foreach: 2.1.1 it-stream-types: 2.0.2 tdigest: 0.1.2 + '@libp2p/utils@6.2.1': + dependencies: + '@chainsafe/is-ip': 2.0.2 + '@libp2p/crypto': 5.0.7 + '@libp2p/interface': 2.2.1 + '@libp2p/logger': 5.1.4 + '@multiformats/multiaddr': 12.3.4 + '@sindresorhus/fnv1a': 3.1.0 + '@types/murmurhash3js-revisited': 3.0.3 + any-signal: 4.1.1 + delay: 6.0.0 + get-iterator: 2.0.1 + is-loopback-addr: 2.0.2 + it-foreach: 2.1.1 + it-pipe: 3.0.1 + it-pushable: 3.2.3 + it-stream-types: 2.0.2 + murmurhash3js-revisited: 3.0.0 + netmask: 2.0.2 + p-defer: 4.0.1 + race-event: 1.3.0 + race-signal: 1.1.0 + uint8arraylist: 2.4.8 + uint8arrays: 5.1.0 + '@libp2p/utils@6.3.0': dependencies: '@chainsafe/is-ip': 2.0.2 @@ -6946,13 +7510,13 @@ snapshots: uint8arraylist: 2.4.8 uint8arrays: 5.1.0 - '@libp2p/webrtc@5.0.22(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1))': + '@libp2p/webrtc@5.0.19(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1))': dependencies: '@chainsafe/libp2p-noise': 16.0.0 - '@libp2p/interface': 2.3.0 - '@libp2p/interface-internal': 2.2.1 - '@libp2p/peer-id': 5.0.9 - '@libp2p/utils': 6.3.0 + '@libp2p/interface': 2.2.1 + '@libp2p/interface-internal': 2.1.1 + '@libp2p/peer-id': 5.0.8 + '@libp2p/utils': 6.2.1 '@multiformats/multiaddr': 12.3.4 '@multiformats/multiaddr-matcher': 1.6.0 detect-browser: 5.3.0 @@ -6968,7 +7532,7 @@ snapshots: progress-events: 1.0.1 protons-runtime: 5.5.0 race-signal: 1.1.0 - react-native-webrtc: 124.0.4(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1)) + react-native-webrtc: 124.0.4(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1)) uint8-varint: 2.0.4 uint8arraylist: 2.4.8 uint8arrays: 5.1.0 @@ -6994,12 +7558,12 @@ snapshots: - bufferutil - utf-8-validate - '@libp2p/webtransport@5.0.21': + '@libp2p/webtransport@5.0.18': dependencies: '@chainsafe/libp2p-noise': 16.0.0 - '@libp2p/interface': 2.3.0 - '@libp2p/peer-id': 5.0.9 - '@libp2p/utils': 6.3.0 + '@libp2p/interface': 2.2.1 + '@libp2p/peer-id': 5.0.8 + '@libp2p/utils': 6.2.1 '@multiformats/multiaddr': 12.3.4 '@multiformats/multiaddr-matcher': 1.6.0 it-stream-types: 2.0.2 @@ -7165,16 +7729,16 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@react-native/assets-registry@0.76.5': {} + '@react-native/assets-registry@0.76.4': {} - '@react-native/babel-plugin-codegen@0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/babel-plugin-codegen@0.76.4(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: - '@react-native/codegen': 0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/codegen': 0.76.4(@babel/preset-env@7.26.0(@babel/core@7.26.0)) transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/babel-preset@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/babel-preset@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-proposal-export-default-from': 7.25.9(@babel/core@7.26.0) @@ -7217,7 +7781,7 @@ snapshots: '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) '@babel/template': 7.25.9 - '@react-native/babel-plugin-codegen': 0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/babel-plugin-codegen': 0.76.4(@babel/preset-env@7.26.0(@babel/core@7.26.0)) babel-plugin-syntax-hermes-parser: 0.25.1 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.0) react-refresh: 0.14.2 @@ -7225,7 +7789,7 @@ snapshots: - '@babel/preset-env' - supports-color - '@react-native/codegen@0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/codegen@0.76.4(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: '@babel/parser': 7.26.3 '@babel/preset-env': 7.26.0(@babel/core@7.26.0) @@ -7239,10 +7803,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@react-native/community-cli-plugin@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/community-cli-plugin@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: - '@react-native/dev-middleware': 0.76.5 - '@react-native/metro-babel-transformer': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/dev-middleware': 0.76.4 + '@react-native/metro-babel-transformer': 0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) chalk: 4.1.2 execa: 5.1.1 invariant: 2.2.4 @@ -7260,12 +7824,12 @@ snapshots: - supports-color - utf-8-validate - '@react-native/debugger-frontend@0.76.5': {} + '@react-native/debugger-frontend@0.76.4': {} - '@react-native/dev-middleware@0.76.5': + '@react-native/dev-middleware@0.76.4': dependencies: '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.76.5 + '@react-native/debugger-frontend': 0.76.4 chrome-launcher: 0.15.2 chromium-edge-launcher: 0.2.0 connect: 3.7.0 @@ -7280,28 +7844,131 @@ snapshots: - supports-color - utf-8-validate - '@react-native/gradle-plugin@0.76.5': {} + '@react-native/gradle-plugin@0.76.4': {} - '@react-native/js-polyfills@0.76.5': {} + '@react-native/js-polyfills@0.76.4': {} - '@react-native/metro-babel-transformer@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + '@react-native/metro-babel-transformer@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: '@babel/core': 7.26.0 - '@react-native/babel-preset': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/babel-preset': 0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) hermes-parser: 0.23.1 nullthrows: 1.1.1 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/normalize-colors@0.76.5': {} + '@react-native/normalize-colors@0.76.4': {} + + '@react-native/virtualized-lists@0.76.4(@types/react@19.0.1)(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1)': + dependencies: + invariant: 2.2.4 + nullthrows: 1.1.1 + react: 18.3.1 + react-native: 0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1) + optionalDependencies: + '@types/react': 19.0.1 - '@react-native/virtualized-lists@0.76.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1))(react@18.3.1)': + '@react-native/virtualized-lists@0.76.4(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1))(react@18.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 18.3.1 - react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1) + react-native: 0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1) + + '@react-spring/animated@9.7.5(react@18.3.1)': + dependencies: + '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/types': 9.7.5 + react: 18.3.1 + + '@react-spring/core@9.7.5(react@18.3.1)': + dependencies: + '@react-spring/animated': 9.7.5(react@18.3.1) + '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/types': 9.7.5 + react: 18.3.1 + + '@react-spring/konva@9.7.5(konva@9.3.16)(react-konva@18.2.10(@types/react@19.0.1)(konva@9.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-spring/animated': 9.7.5(react@18.3.1) + '@react-spring/core': 9.7.5(react@18.3.1) + '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/types': 9.7.5 + konva: 9.3.16 + react: 18.3.1 + react-konva: 18.2.10(@types/react@19.0.1)(konva@9.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@react-spring/native@9.7.5(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-spring/animated': 9.7.5(react@18.3.1) + '@react-spring/core': 9.7.5(react@18.3.1) + '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/types': 9.7.5 + react: 18.3.1 + react-native: 0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1) + + '@react-spring/rafz@9.7.5': {} + + '@react-spring/shared@9.7.5(react@18.3.1)': + dependencies: + '@react-spring/rafz': 9.7.5 + '@react-spring/types': 9.7.5 + react: 18.3.1 + + '@react-spring/three@9.7.5(@react-three/fiber@8.17.10(@types/react@19.0.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1)(three@0.171.0))(react@18.3.1)(three@0.171.0)': + dependencies: + '@react-spring/animated': 9.7.5(react@18.3.1) + '@react-spring/core': 9.7.5(react@18.3.1) + '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/types': 9.7.5 + '@react-three/fiber': 8.17.10(@types/react@19.0.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1)(three@0.171.0) + react: 18.3.1 + three: 0.171.0 + + '@react-spring/types@9.7.5': {} + + '@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-spring/animated': 9.7.5(react@18.3.1) + '@react-spring/core': 9.7.5(react@18.3.1) + '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/types': 9.7.5 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-spring/zdog@9.7.5(react-dom@18.3.1(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(zdog@1.1.3)': + dependencies: + '@react-spring/animated': 9.7.5(react@18.3.1) + '@react-spring/core': 9.7.5(react@18.3.1) + '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/types': 9.7.5 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-zdog: 1.2.2 + zdog: 1.1.3 + + '@react-three/fiber@8.17.10(@types/react@19.0.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1)(three@0.171.0)': + dependencies: + '@babel/runtime': 7.26.0 + '@types/debounce': 1.2.4 + '@types/react-reconciler': 0.26.7 + '@types/webxr': 0.5.20 + base64-js: 1.5.1 + buffer: 6.0.3 + debounce: 1.2.1 + its-fine: 1.2.5(@types/react@19.0.1)(react@18.3.1) + react: 18.3.1 + react-reconciler: 0.27.0(react@18.3.1) + scheduler: 0.21.0 + suspend-react: 0.1.3(react@18.3.1) + three: 0.171.0 + zustand: 3.7.2(react@18.3.1) + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) + react-native: 0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' '@release-it-plugins/workspaces@4.2.0(release-it@17.10.0(typescript@5.7.2))': dependencies: @@ -7314,77 +7981,77 @@ snapshots: walk-sync: 2.2.0 yaml: 2.6.1 - '@rollup/plugin-inject@5.0.5(rollup@4.29.1)': + '@rollup/plugin-inject@5.0.5(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.29.1) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) estree-walker: 2.0.2 - magic-string: 0.30.17 + magic-string: 0.30.14 optionalDependencies: - rollup: 4.29.1 + rollup: 4.28.1 - '@rollup/pluginutils@5.1.4(rollup@4.29.1)': + '@rollup/pluginutils@5.1.3(rollup@4.28.1)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.29.1 + rollup: 4.28.1 - '@rollup/rollup-android-arm-eabi@4.29.1': + '@rollup/rollup-android-arm-eabi@4.28.1': optional: true - '@rollup/rollup-android-arm64@4.29.1': + '@rollup/rollup-android-arm64@4.28.1': optional: true - '@rollup/rollup-darwin-arm64@4.29.1': + '@rollup/rollup-darwin-arm64@4.28.1': optional: true - '@rollup/rollup-darwin-x64@4.29.1': + '@rollup/rollup-darwin-x64@4.28.1': optional: true - '@rollup/rollup-freebsd-arm64@4.29.1': + '@rollup/rollup-freebsd-arm64@4.28.1': optional: true - '@rollup/rollup-freebsd-x64@4.29.1': + '@rollup/rollup-freebsd-x64@4.28.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.29.1': + '@rollup/rollup-linux-arm-musleabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.29.1': + '@rollup/rollup-linux-arm64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.29.1': + '@rollup/rollup-linux-arm64-musl@4.28.1': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.29.1': + '@rollup/rollup-linux-riscv64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.29.1': + '@rollup/rollup-linux-s390x-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.29.1': + '@rollup/rollup-linux-x64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-musl@4.29.1': + '@rollup/rollup-linux-x64-musl@4.28.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.29.1': + '@rollup/rollup-win32-arm64-msvc@4.28.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.29.1': + '@rollup/rollup-win32-ia32-msvc@4.28.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.29.1': + '@rollup/rollup-win32-x64-msvc@4.28.1': optional: true '@scure/base@1.2.1': {} @@ -7394,32 +8061,32 @@ snapshots: '@noble/hashes': 1.6.1 '@scure/base': 1.2.1 - '@shikijs/core@1.24.4': + '@shikijs/core@1.24.0': dependencies: - '@shikijs/engine-javascript': 1.24.4 - '@shikijs/engine-oniguruma': 1.24.4 - '@shikijs/types': 1.24.4 - '@shikijs/vscode-textmate': 9.3.1 + '@shikijs/engine-javascript': 1.24.0 + '@shikijs/engine-oniguruma': 1.24.0 + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 - hast-util-to-html: 9.0.4 + hast-util-to-html: 9.0.3 - '@shikijs/engine-javascript@1.24.4': + '@shikijs/engine-javascript@1.24.0': dependencies: - '@shikijs/types': 1.24.4 - '@shikijs/vscode-textmate': 9.3.1 - oniguruma-to-es: 0.8.1 + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 + oniguruma-to-es: 0.7.0 - '@shikijs/engine-oniguruma@1.24.4': + '@shikijs/engine-oniguruma@1.24.0': dependencies: - '@shikijs/types': 1.24.4 - '@shikijs/vscode-textmate': 9.3.1 + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 - '@shikijs/types@1.24.4': + '@shikijs/types@1.24.0': dependencies: - '@shikijs/vscode-textmate': 9.3.1 + '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 - '@shikijs/vscode-textmate@9.3.1': {} + '@shikijs/vscode-textmate@9.3.0': {} '@sinclair/typebox@0.27.8': {} @@ -7435,14 +8102,14 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@thi.ng/api@8.11.14': {} + '@thi.ng/api@8.11.13': {} - '@thi.ng/errors@2.5.20': {} + '@thi.ng/errors@2.5.19': {} - '@thi.ng/random@4.1.5': + '@thi.ng/random@4.1.4': dependencies: - '@thi.ng/api': 8.11.14 - '@thi.ng/errors': 2.5.20 + '@thi.ng/api': 8.11.13 + '@thi.ng/errors': 2.5.19 '@tootallnate/quickjs-emscripten@0.23.0': {} @@ -7475,15 +8142,27 @@ snapshots: dependencies: '@babel/types': 7.26.3 + '@types/debounce@1.2.4': {} + '@types/dns-packet@5.6.5': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 '@types/estree@1.0.6': {} '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 '@types/hast@3.0.4': dependencies: @@ -7499,6 +8178,8 @@ snapshots: dependencies: '@types/istanbul-lib-report': 3.0.3 + '@types/json-schema@7.0.15': {} + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -7509,21 +8190,35 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 - '@types/node@22.10.2': + '@types/node@22.10.1': dependencies: undici-types: 6.20.0 + '@types/react-reconciler@0.26.7': + dependencies: + '@types/react': 19.0.1 + + '@types/react-reconciler@0.28.9(@types/react@19.0.1)': + dependencies: + '@types/react': 19.0.1 + + '@types/react@19.0.1': + dependencies: + csstype: 3.1.3 + '@types/retry@0.12.2': {} '@types/stack-utils@2.0.3': {} '@types/unist@3.0.3': {} + '@types/webxr@0.5.20': {} + '@types/ws@8.5.13': dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 '@types/yargs-parser@21.0.3': {} @@ -7533,7 +8228,7 @@ snapshots: '@ungap/structured-clone@1.2.1': {} - '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@22.10.2)(terser@5.37.0))': + '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@22.10.1)(terser@5.37.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -7542,12 +8237,12 @@ snapshots: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.1.7 - magic-string: 0.30.17 + magic-string: 0.30.14 magicast: 0.3.5 std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.8(@types/node@22.10.2)(terser@5.37.0) + vitest: 2.1.8(@types/node@22.10.1)(terser@5.37.0) transitivePeerDependencies: - supports-color @@ -7558,13 +8253,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2)(terser@5.37.0))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.1)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 - magic-string: 0.30.17 + magic-string: 0.30.14 optionalDependencies: - vite: 5.4.11(@types/node@22.10.2)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.1)(terser@5.37.0) '@vitest/pretty-format@2.1.8': dependencies: @@ -7578,7 +8273,7 @@ snapshots: '@vitest/snapshot@2.1.8': dependencies: '@vitest/pretty-format': 2.1.8 - magic-string: 0.30.17 + magic-string: 0.30.14 pathe: 1.1.2 '@vitest/spy@2.1.8': @@ -7591,6 +8286,86 @@ snapshots: loupe: 3.1.2 tinyrainbow: 1.2.0 + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -7608,6 +8383,33 @@ snapshots: agent-base@7.1.3: {} + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + + 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 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + anser@1.4.10: {} ansi-align@3.0.1: @@ -7669,7 +8471,7 @@ snapshots: call-bind: 1.0.8 is-nan: 1.3.2 object-is: 1.1.6 - object.assign: 4.1.7 + object.assign: 4.1.5 util: 0.12.5 assertion-error@2.0.1: {} @@ -7830,7 +8632,7 @@ snapshots: chalk: 5.3.0 cli-boxes: 3.0.0 string-width: 7.2.0 - type-fest: 4.30.2 + type-fest: 4.30.0 widest-line: 5.0.0 wrap-ansi: 9.0.0 @@ -7851,7 +8653,7 @@ snapshots: browser-resolve@2.0.0: dependencies: - resolve: 1.22.10 + resolve: 1.22.8 browserify-aes@1.2.0: dependencies: @@ -7898,12 +8700,12 @@ snapshots: dependencies: pako: 1.0.11 - browserslist@4.24.3: + browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001690 - electron-to-chromium: 1.5.75 - node-releases: 2.0.19 - update-browserslist-db: 1.1.1(browserslist@4.24.3) + caniuse-lite: 1.0.30001687 + electron-to-chromium: 1.5.71 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) bser@2.1.1: dependencies: @@ -7931,23 +8733,18 @@ snapshots: cac@6.7.14: {} - call-bind-apply-helpers@1.0.1: + call-bind-apply-helpers@1.0.0: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 call-bind@1.0.8: dependencies: - call-bind-apply-helpers: 1.0.1 + call-bind-apply-helpers: 1.0.0 es-define-property: 1.0.1 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.5 set-function-length: 1.2.2 - call-bound@1.0.3: - dependencies: - call-bind-apply-helpers: 1.0.1 - get-intrinsic: 1.2.6 - caller-callsite@2.0.0: dependencies: callsites: 2.0.0 @@ -7966,7 +8763,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001690: {} + caniuse-lite@1.0.30001687: {} case-anything@2.1.13: {} @@ -8001,16 +8798,18 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 transitivePeerDependencies: - supports-color + chrome-trace-event@1.0.4: {} + chromium-edge-launcher@0.2.0: dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -8105,7 +8904,7 @@ snapshots: core-js-compat@3.39.0: dependencies: - browserslist: 4.24.3 + browserslist: 4.24.2 core-util-is@1.0.3: {} @@ -8170,11 +8969,13 @@ snapshots: randombytes: 2.1.0 randomfill: 1.0.4 + csstype@3.1.3: {} + data-uri-to-buffer@6.0.2: {} datastore-core@10.0.2: dependencies: - '@libp2p/logger': 5.1.5 + '@libp2p/logger': 5.1.4 interface-datastore: 8.3.1 interface-store: 6.0.2 it-drain: 3.0.7 @@ -8186,6 +8987,8 @@ snapshots: it-sort: 3.0.6 it-take: 3.0.6 + debounce@1.2.1: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -8286,7 +9089,7 @@ snapshots: dot-prop@9.0.0: dependencies: - type-fest: 4.30.2 + type-fest: 4.30.0 dotenv@16.4.7: {} @@ -8294,9 +9097,9 @@ snapshots: dependencies: detect-libc: 1.0.3 - dunder-proto@1.0.1: + dunder-proto@1.0.0: dependencies: - call-bind-apply-helpers: 1.0.1 + call-bind-apply-helpers: 1.0.0 es-errors: 1.3.0 gopd: 1.2.0 @@ -8304,7 +9107,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.75: {} + electron-to-chromium@1.5.71: {} elliptic@6.6.1: dependencies: @@ -8332,6 +9135,11 @@ snapshots: dependencies: once: 1.4.0 + enhanced-resolve@5.17.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + ensure-posix-path@1.1.1: {} entities@4.5.0: {} @@ -8352,10 +9160,6 @@ snapshots: es-module-lexer@1.5.4: {} - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - es-toolkit@1.30.1: {} esbuild@0.21.5: @@ -8456,8 +9260,19 @@ snapshots: optionalDependencies: source-map: 0.6.1 + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + esprima@4.0.1: {} + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + estraverse@5.3.0: {} estree-walker@2.0.2: {} @@ -8535,6 +9350,8 @@ snapshots: fast-json-stable-stringify@2.1.0: {} + fast-uri@3.0.3: {} + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -8581,7 +9398,7 @@ snapshots: flow-enums-runtime@0.0.6: {} - flow-parser@0.257.1: {} + flow-parser@0.256.0: {} for-each@0.3.3: dependencies: @@ -8609,18 +9426,16 @@ snapshots: get-east-asian-width@1.3.0: {} - get-intrinsic@1.2.6: + get-intrinsic@1.2.5: dependencies: - call-bind-apply-helpers: 1.0.1 - dunder-proto: 1.0.1 + call-bind-apply-helpers: 1.0.0 + dunder-proto: 1.0.0 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.0.0 function-bind: 1.1.2 gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 - math-intrinsics: 1.1.0 get-iterator@2.0.1: {} @@ -8657,6 +9472,8 @@ snapshots: dependencies: is-glob: 4.0.3 + glob-to-regexp@0.4.1: {} + glob@10.4.5: dependencies: foreground-child: 3.3.0 @@ -8726,7 +9543,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hast-util-to-html@9.0.4: + hast-util-to-html@9.0.3: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 @@ -8800,6 +9617,8 @@ snapshots: human-signals@5.0.0: {} + hyperdyperid@1.2.0: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -8808,7 +9627,7 @@ snapshots: ignore@5.3.2: {} - image-size@1.2.0: + image-size@1.1.1: dependencies: queue: 6.0.2 @@ -8837,7 +9656,7 @@ snapshots: inquirer@9.3.2: dependencies: - '@inquirer/figures': 1.0.9 + '@inquirer/figures': 1.0.8 ansi-escapes: 4.3.2 cli-width: 4.1.0 external-editor: 3.1.0 @@ -8868,16 +9687,16 @@ snapshots: jsbn: 1.1.0 sprintf-js: 1.1.3 - is-arguments@1.2.0: + is-arguments@1.1.1: dependencies: - call-bound: 1.0.3 + call-bind: 1.0.8 has-tostringtag: 1.0.2 is-arrayish@0.2.1: {} is-callable@1.2.7: {} - is-core-module@2.16.1: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -8945,9 +9764,9 @@ snapshots: is-stream@3.0.0: {} - is-typed-array@1.1.15: + is-typed-array@1.1.13: dependencies: - which-typed-array: 1.1.18 + which-typed-array: 1.1.16 is-unicode-supported@0.1.0: {} @@ -9024,6 +9843,8 @@ snapshots: dependencies: it-peekable: 3.0.5 + it-first@3.0.6: {} + it-foreach@2.1.1: dependencies: it-peekable: 3.0.5 @@ -9120,6 +9941,13 @@ snapshots: - bufferutil - utf-8-validate + its-fine@1.2.5(@types/react@19.0.1)(react@18.3.1): + dependencies: + '@types/react-reconciler': 0.28.9(@types/react@19.0.1) + react: 18.3.1 + transitivePeerDependencies: + - '@types/react' + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 @@ -9131,7 +9959,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.10.2 + '@types/node': 22.10.1 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -9141,7 +9969,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.10.2 + '@types/node': 22.10.1 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -9168,7 +9996,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.10.2 + '@types/node': 22.10.1 jest-util: 29.7.0 jest-regex-util@29.6.3: {} @@ -9176,7 +10004,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.10.2 + '@types/node': 22.10.1 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -9191,9 +10019,15 @@ snapshots: leven: 3.1.0 pretty-format: 29.7.0 + jest-worker@27.5.1: + dependencies: + '@types/node': 22.10.1 + merge-stream: 2.0.0 + supports-color: 8.1.1 + jest-worker@29.7.0: dependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9229,7 +10063,7 @@ snapshots: '@babel/register': 7.25.9(@babel/core@7.26.0) babel-core: 7.0.0-bridge.0(@babel/core@7.26.0) chalk: 4.1.2 - flow-parser: 0.257.1 + flow-parser: 0.256.0 graceful-fs: 4.2.11 micromatch: 4.0.8 neo-async: 2.6.2 @@ -9242,17 +10076,21 @@ snapshots: jsesc@3.0.2: {} - jsesc@3.1.0: {} - json-parse-better-errors@1.0.2: {} json-parse-even-better-errors@2.3.1: {} + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + json5@2.2.3: {} kind-of@6.0.3: {} - ky@1.7.4: {} + konva@9.3.16: {} + + ky@1.7.2: {} latest-version@9.0.0: dependencies: @@ -9260,19 +10098,17 @@ snapshots: leven@3.1.0: {} - libp2p@2.4.2: - dependencies: - '@chainsafe/is-ip': 2.0.2 - '@chainsafe/netmask': 2.0.0 - '@libp2p/crypto': 5.0.8 - '@libp2p/interface': 2.3.0 - '@libp2p/interface-internal': 2.2.1 - '@libp2p/logger': 5.1.5 - '@libp2p/multistream-select': 6.0.10 - '@libp2p/peer-collections': 6.0.13 - '@libp2p/peer-id': 5.0.9 - '@libp2p/peer-store': 11.0.13 - '@libp2p/utils': 6.3.0 + libp2p@2.3.1: + dependencies: + '@libp2p/crypto': 5.0.7 + '@libp2p/interface': 2.2.1 + '@libp2p/interface-internal': 2.1.1 + '@libp2p/logger': 5.1.4 + '@libp2p/multistream-select': 6.0.9 + '@libp2p/peer-collections': 6.0.12 + '@libp2p/peer-id': 5.0.8 + '@libp2p/peer-store': 11.0.12 + '@libp2p/utils': 6.2.1 '@multiformats/dns': 1.0.6 '@multiformats/multiaddr': 12.3.4 '@multiformats/multiaddr-matcher': 1.6.0 @@ -9304,6 +10140,8 @@ snapshots: dependencies: uc.micro: 2.1.0 + loader-runner@4.3.0: {} + locate-path@3.0.0: dependencies: p-locate: 3.0.0 @@ -9369,7 +10207,7 @@ snapshots: macos-release@3.3.0: {} - magic-string@0.30.17: + magic-string@0.30.14: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -9410,8 +10248,6 @@ snapshots: '@types/minimatch': 3.0.5 minimatch: 3.1.2 - math-intrinsics@1.1.0: {} - md5.js@1.3.5: dependencies: hash-base: 3.0.5 @@ -9432,6 +10268,13 @@ snapshots: mdurl@2.0.0: {} + memfs@4.15.0: + dependencies: + '@jsonjoy.com/json-pack': 1.1.1(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + tree-dump: 1.0.2(tslib@2.8.1) + tslib: 2.8.1 + memoize-one@5.2.1: {} merge-options@3.0.4: @@ -9591,7 +10434,7 @@ snapshots: flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 hermes-parser: 0.24.0 - image-size: 1.2.0 + image-size: 1.1.1 invariant: 2.2.4 jest-worker: 29.7.0 jsc-safe-url: 0.2.4 @@ -9749,7 +10592,7 @@ snapshots: node-int64@0.4.0: {} - node-releases@2.0.19: {} + node-releases@2.0.18: {} node-stdlib-browser@1.3.0: dependencies: @@ -9806,12 +10649,10 @@ snapshots: object-keys@1.1.1: {} - object.assign@4.1.7: + object.assign@4.1.5: dependencies: call-bind: 1.0.8 - call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.0.0 has-symbols: 1.1.0 object-keys: 1.1.1 @@ -9841,11 +10682,11 @@ snapshots: dependencies: mimic-function: 5.0.1 - oniguruma-to-es@0.8.1: + oniguruma-to-es@0.7.0: dependencies: emoji-regex-xs: 1.0.0 regex: 5.0.2 - regex-recursion: 5.0.0 + regex-recursion: 4.3.0 open@10.1.0: dependencies: @@ -9955,7 +10796,7 @@ snapshots: package-json@10.0.1: dependencies: - ky: 1.7.4 + ky: 1.7.2 registry-auth-token: 5.0.3 registry-url: 6.0.1 semver: 7.6.3 @@ -10111,7 +10952,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.10.2 + '@types/node': 22.10.1 long: 5.2.3 protocols@2.0.1: {} @@ -10155,6 +10996,8 @@ snapshots: punycode@1.4.1: {} + punycode@2.3.1: {} + pupa@3.1.0: dependencies: escape-goat: 4.0.0 @@ -10167,7 +11010,7 @@ snapshots: qs@6.13.1: dependencies: - side-channel: 1.1.0 + side-channel: 1.0.6 querystring-es3@0.2.1: {} @@ -10207,27 +11050,45 @@ snapshots: - bufferutil - utf-8-validate + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + react-is@18.3.1: {} - react-native-webrtc@124.0.4(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1)): + react-konva@18.2.10(@types/react@19.0.1)(konva@9.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@types/react-reconciler': 0.28.9(@types/react@19.0.1) + its-fine: 1.2.5(@types/react@19.0.1)(react@18.3.1) + konva: 9.3.16 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-reconciler: 0.29.2(react@18.3.1) + scheduler: 0.23.2 + transitivePeerDependencies: + - '@types/react' + + react-native-webrtc@124.0.4(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1)): dependencies: base64-js: 1.5.1 debug: 4.3.4 event-target-shim: 6.0.2 - react-native: 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1) + react-native: 0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1) transitivePeerDependencies: - supports-color - react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1): + react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1): dependencies: '@jest/create-cache-key-function': 29.7.0 - '@react-native/assets-registry': 0.76.5 - '@react-native/codegen': 0.76.5(@babel/preset-env@7.26.0(@babel/core@7.26.0)) - '@react-native/community-cli-plugin': 0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) - '@react-native/gradle-plugin': 0.76.5 - '@react-native/js-polyfills': 0.76.5 - '@react-native/normalize-colors': 0.76.5 - '@react-native/virtualized-lists': 0.76.5(react-native@0.76.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1))(react@18.3.1) + '@react-native/assets-registry': 0.76.4 + '@react-native/codegen': 0.76.4(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/community-cli-plugin': 0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/gradle-plugin': 0.76.4 + '@react-native/js-polyfills': 0.76.4 + '@react-native/normalize-colors': 0.76.4 + '@react-native/virtualized-lists': 0.76.4(@types/react@19.0.1)(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -10259,6 +11120,8 @@ snapshots: whatwg-fetch: 3.6.20 ws: 6.2.3 yargs: 17.7.2 + optionalDependencies: + '@types/react': 19.0.1 transitivePeerDependencies: - '@babel/core' - '@babel/preset-env' @@ -10268,8 +11131,95 @@ snapshots: - supports-color - utf-8-validate + react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1): + dependencies: + '@jest/create-cache-key-function': 29.7.0 + '@react-native/assets-registry': 0.76.4 + '@react-native/codegen': 0.76.4(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/community-cli-plugin': 0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/gradle-plugin': 0.76.4 + '@react-native/js-polyfills': 0.76.4 + '@react-native/normalize-colors': 0.76.4 + '@react-native/virtualized-lists': 0.76.4(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.3.1))(react@18.3.1) + abort-controller: 3.0.0 + anser: 1.4.10 + ansi-regex: 5.0.1 + babel-jest: 29.7.0(@babel/core@7.26.0) + babel-plugin-syntax-hermes-parser: 0.23.1 + base64-js: 1.5.1 + chalk: 4.1.2 + commander: 12.1.0 + event-target-shim: 5.0.1 + flow-enums-runtime: 0.0.6 + glob: 7.2.3 + invariant: 2.2.4 + jest-environment-node: 29.7.0 + jsc-android: 250231.0.0 + memoize-one: 5.2.1 + metro-runtime: 0.81.0 + metro-source-map: 0.81.0 + mkdirp: 0.5.6 + nullthrows: 1.1.1 + pretty-format: 29.7.0 + promise: 8.3.0 + react: 18.3.1 + react-devtools-core: 5.3.2 + react-refresh: 0.14.2 + regenerator-runtime: 0.13.11 + scheduler: 0.24.0-canary-efb381bbf-20230505 + semver: 7.6.3 + stacktrace-parser: 0.1.10 + whatwg-fetch: 3.6.20 + ws: 6.2.3 + yargs: 17.7.2 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - '@react-native-community/cli-server-api' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + react-reconciler@0.27.0(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.21.0 + + react-reconciler@0.29.2(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + react-refresh@0.14.2: {} + react-spring@9.7.5(@react-three/fiber@8.17.10(@types/react@19.0.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1)(three@0.171.0))(konva@9.3.16)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(@types/react@19.0.1)(konva@9.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.171.0)(zdog@1.1.3): + dependencies: + '@react-spring/core': 9.7.5(react@18.3.1) + '@react-spring/konva': 9.7.5(konva@9.3.16)(react-konva@18.2.10(@types/react@19.0.1)(konva@9.3.16)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@react-spring/native': 9.7.5(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1) + '@react-spring/three': 9.7.5(@react-three/fiber@8.17.10(@types/react@19.0.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.76.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(@types/react@19.0.1)(react@18.3.1))(react@18.3.1)(three@0.171.0))(react@18.3.1)(three@0.171.0) + '@react-spring/web': 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spring/zdog': 9.7.5(react-dom@18.3.1(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(zdog@1.1.3) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@react-three/fiber' + - konva + - react-konva + - react-native + - react-zdog + - three + - zdog + + react-zdog@1.2.2: + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + resize-observer-polyfill: 1.5.1 + react@18.3.1: dependencies: loose-envify: 1.4.0 @@ -10301,7 +11251,7 @@ snapshots: rechoir@0.6.2: dependencies: - resolve: 1.22.10 + resolve: 1.22.8 regenerate-unicode-properties@10.2.0: dependencies: @@ -10317,7 +11267,7 @@ snapshots: dependencies: '@babel/runtime': 7.26.0 - regex-recursion@5.0.0: + regex-recursion@4.3.0: dependencies: regex-utilities: 2.3.0 @@ -10382,6 +11332,10 @@ snapshots: require-directory@2.1.1: {} + require-from-string@2.0.2: {} + + resize-observer-polyfill@1.5.1: {} + resolve-from@3.0.0: {} resolve-from@4.0.0: {} @@ -10391,13 +11345,13 @@ snapshots: resolve-package-path@3.1.0: dependencies: path-root: 0.1.1 - resolve: 1.22.10 + resolve: 1.22.8 resolve-pkg-maps@1.0.0: {} - resolve@1.22.10: + resolve@1.22.8: dependencies: - is-core-module: 2.16.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -10430,29 +11384,29 @@ snapshots: hash-base: 3.0.5 inherits: 2.0.4 - rollup@4.29.1: + rollup@4.28.1: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.29.1 - '@rollup/rollup-android-arm64': 4.29.1 - '@rollup/rollup-darwin-arm64': 4.29.1 - '@rollup/rollup-darwin-x64': 4.29.1 - '@rollup/rollup-freebsd-arm64': 4.29.1 - '@rollup/rollup-freebsd-x64': 4.29.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 - '@rollup/rollup-linux-arm-musleabihf': 4.29.1 - '@rollup/rollup-linux-arm64-gnu': 4.29.1 - '@rollup/rollup-linux-arm64-musl': 4.29.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 - '@rollup/rollup-linux-riscv64-gnu': 4.29.1 - '@rollup/rollup-linux-s390x-gnu': 4.29.1 - '@rollup/rollup-linux-x64-gnu': 4.29.1 - '@rollup/rollup-linux-x64-musl': 4.29.1 - '@rollup/rollup-win32-arm64-msvc': 4.29.1 - '@rollup/rollup-win32-ia32-msvc': 4.29.1 - '@rollup/rollup-win32-x64-msvc': 4.29.1 + '@rollup/rollup-android-arm-eabi': 4.28.1 + '@rollup/rollup-android-arm64': 4.28.1 + '@rollup/rollup-darwin-arm64': 4.28.1 + '@rollup/rollup-darwin-x64': 4.28.1 + '@rollup/rollup-freebsd-arm64': 4.28.1 + '@rollup/rollup-freebsd-x64': 4.28.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 + '@rollup/rollup-linux-arm-musleabihf': 4.28.1 + '@rollup/rollup-linux-arm64-gnu': 4.28.1 + '@rollup/rollup-linux-arm64-musl': 4.28.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 + '@rollup/rollup-linux-riscv64-gnu': 4.28.1 + '@rollup/rollup-linux-s390x-gnu': 4.28.1 + '@rollup/rollup-linux-x64-gnu': 4.28.1 + '@rollup/rollup-linux-x64-musl': 4.28.1 + '@rollup/rollup-win32-arm64-msvc': 4.28.1 + '@rollup/rollup-win32-ia32-msvc': 4.28.1 + '@rollup/rollup-win32-x64-msvc': 4.28.1 fsevents: 2.3.3 run-applescript@7.0.0: {} @@ -10473,10 +11427,31 @@ snapshots: safer-buffer@2.1.2: {} + scheduler@0.21.0: + dependencies: + loose-envify: 1.4.0 + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + scheduler@0.24.0-canary-efb381bbf-20230505: dependencies: loose-envify: 1.4.0 + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@4.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + selfsigned@2.4.1: dependencies: '@types/node-forge': 1.3.11 @@ -10508,6 +11483,10 @@ snapshots: serialize-error@2.1.0: {} + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + serve-static@1.16.2: dependencies: encodeurl: 2.0.0 @@ -10522,7 +11501,7 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.6 + get-intrinsic: 1.2.5 gopd: 1.2.0 has-property-descriptors: 1.0.2 @@ -10553,42 +11532,21 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 - shiki@1.24.4: + shiki@1.24.0: dependencies: - '@shikijs/core': 1.24.4 - '@shikijs/engine-javascript': 1.24.4 - '@shikijs/engine-oniguruma': 1.24.4 - '@shikijs/types': 1.24.4 - '@shikijs/vscode-textmate': 9.3.1 + '@shikijs/core': 1.24.0 + '@shikijs/engine-javascript': 1.24.0 + '@shikijs/engine-oniguruma': 1.24.0 + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 - side-channel-list@1.0.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.3 - - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.6 - object-inspect: 1.13.3 - - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.6 - object-inspect: 1.13.3 - side-channel-map: 1.0.1 - - side-channel@1.1.0: + side-channel@1.0.6: dependencies: + call-bind: 1.0.8 es-errors: 1.3.0 + get-intrinsic: 1.2.5 object-inspect: 1.13.3 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 siginfo@2.0.0: {} @@ -10634,6 +11592,8 @@ snapshots: source-map@0.6.1: {} + source-map@0.7.4: {} + space-separated-tokens@2.0.2: {} sprintf-js@1.0.3: {} @@ -10731,6 +11691,12 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + suspend-react@0.1.3(react@18.3.1): + dependencies: + react: 18.3.1 + + tapable@2.2.1: {} + tar-fs@2.1.1: dependencies: chownr: 1.1.4 @@ -10754,6 +11720,15 @@ snapshots: dependencies: rimraf: 2.6.3 + terser-webpack-plugin@5.3.11(webpack@5.97.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 4.3.0 + serialize-javascript: 6.0.2 + terser: 5.37.0 + webpack: 5.97.1 + terser@5.37.0: dependencies: '@jridgewell/source-map': 0.3.6 @@ -10773,6 +11748,12 @@ snapshots: glob: 10.4.5 minimatch: 9.0.5 + thingies@1.21.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + + three@0.171.0: {} + throat@5.0.0: {} through2@2.0.5: @@ -10808,16 +11789,30 @@ snapshots: tr46@0.0.3: {} + tree-dump@1.0.2(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + trim-lines@3.0.1: {} - ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2): + ts-loader@9.5.1(typescript@5.7.2)(webpack@5.97.1): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.17.1 + micromatch: 4.0.8 + semver: 7.6.3 + source-map: 0.7.4 + typescript: 5.7.2 + webpack: 5.97.1 + + ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.2 + '@types/node': 22.10.1 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -10834,11 +11829,11 @@ snapshots: ts-proto-descriptors@2.0.0: dependencies: - '@bufbuild/protobuf': 2.2.3 + '@bufbuild/protobuf': 2.2.2 - ts-proto@2.6.0: + ts-proto@2.5.0: dependencies: - '@bufbuild/protobuf': 2.2.3 + '@bufbuild/protobuf': 2.2.2 case-anything: 2.1.13 ts-poet: 6.9.0 ts-proto-descriptors: 2.0.0 @@ -10870,14 +11865,14 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.30.2: {} + type-fest@4.30.0: {} typedoc@0.26.11(typescript@5.7.2): dependencies: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.24.4 + shiki: 1.24.0 typescript: 5.7.2 yaml: 2.6.1 @@ -10940,9 +11935,9 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.1.1(browserslist@4.24.3): + update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: - browserslist: 4.24.3 + browserslist: 4.24.2 escalade: 3.2.0 picocolors: 1.1.1 @@ -10959,6 +11954,10 @@ snapshots: semver: 7.6.3 xdg-basedir: 5.1.0 + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + url-join@4.0.1: {} url-join@5.0.0: {} @@ -10973,10 +11972,10 @@ snapshots: util@0.12.5: dependencies: inherits: 2.0.4 - is-arguments: 1.2.0 + is-arguments: 1.1.1 is-generator-function: 1.0.10 - is-typed-array: 1.1.15 - which-typed-array: 1.1.18 + is-typed-array: 1.1.13 + which-typed-array: 1.1.16 utils-merge@1.0.1: {} @@ -10997,13 +11996,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.8(@types/node@22.10.2)(terser@5.37.0): + vite-node@2.1.8(@types/node@22.10.1)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.2)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.1)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -11015,51 +12014,59 @@ snapshots: - supports-color - terser - vite-plugin-node-polyfills@0.22.0(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)): + vite-plugin-node-polyfills@0.22.0(rollup@4.28.1)(vite@5.4.11(@types/node@22.10.1)(terser@5.37.0)): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.29.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.28.1) node-stdlib-browser: 1.3.0 - vite: 6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) + vite: 5.4.11(@types/node@22.10.1)(terser@5.37.0) transitivePeerDependencies: - rollup - vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)): + vite-plugin-node-polyfills@0.22.0(rollup@4.28.1)(vite@6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)): + dependencies: + '@rollup/plugin-inject': 5.0.5(rollup@4.28.1) + node-stdlib-browser: 1.3.0 + vite: 6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) + transitivePeerDependencies: + - rollup + + vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1)): dependencies: debug: 4.4.0 globrex: 0.1.2 tsconfck: 3.1.4(typescript@5.7.2) optionalDependencies: - vite: 6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) + vite: 6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1) transitivePeerDependencies: - supports-color - typescript - vite@5.4.11(@types/node@22.10.2)(terser@5.37.0): + vite@5.4.11(@types/node@22.10.1)(terser@5.37.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 - rollup: 4.29.1 + rollup: 4.28.1 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 fsevents: 2.3.3 terser: 5.37.0 - vite@6.0.5(@types/node@22.10.2)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1): + vite@6.0.3(@types/node@22.10.1)(terser@5.37.0)(tsx@4.19.1)(yaml@2.6.1): dependencies: esbuild: 0.24.0 postcss: 8.4.49 - rollup: 4.29.1 + rollup: 4.28.1 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 fsevents: 2.3.3 terser: 5.37.0 tsx: 4.19.1 yaml: 2.6.1 - vitest@2.1.8(@types/node@22.10.2)(terser@5.37.0): + vitest@2.1.8(@types/node@22.10.1)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.1)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -11068,18 +12075,18 @@ snapshots: chai: 5.1.2 debug: 4.4.0 expect-type: 1.1.0 - magic-string: 0.30.17 + magic-string: 0.30.14 pathe: 1.1.2 std-env: 3.8.0 tinybench: 2.9.0 tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.2)(terser@5.37.0) - vite-node: 2.1.8(@types/node@22.10.2)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.1)(terser@5.37.0) + vite-node: 2.1.8(@types/node@22.10.1)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.1 transitivePeerDependencies: - less - lightningcss @@ -11106,6 +12113,11 @@ snapshots: dependencies: makeerror: 1.0.12 + watchpack@2.4.2: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + wcwidth@1.0.1: dependencies: defaults: 1.0.4 @@ -11117,6 +12129,38 @@ snapshots: webidl-conversions@3.0.1: {} + webpack-sources@3.2.3: {} + + webpack@5.97.1: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.14.0 + browserslist: 4.24.2 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.11(webpack@5.97.1) + watchpack: 2.4.2 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + whatwg-fetch@3.6.20: {} whatwg-url@5.0.0: @@ -11130,11 +12174,10 @@ snapshots: dependencies: is-electron: 2.2.2 - which-typed-array@1.1.18: + which-typed-array@1.1.16: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 - call-bound: 1.0.3 for-each: 0.3.3 gopd: 1.2.0 has-tostringtag: 1.0.2 @@ -11231,4 +12274,10 @@ snapshots: yoctocolors-cjs@2.1.2: {} + zdog@1.1.3: {} + + zustand@3.7.2(react@18.3.1): + optionalDependencies: + react: 18.3.1 + zwitch@2.0.4: {}