>();
22 | serde_wasm_bindgen::to_value(&object_list).unwrap()
23 | }
24 |
25 | #[wasm_bindgen::prelude::wasm_bindgen(js_name = getStepCount)]
26 | pub fn get_step_count(&self) -> usize {
27 | self.simulator.step_count
28 | }
29 |
30 | #[wasm_bindgen::prelude::wasm_bindgen(js_name = getEpochCount)]
31 | pub fn get_epoch_count(&self) -> usize {
32 | self.simulator.epoch_count
33 | }
34 |
35 | pub fn step(&mut self) {
36 | self.simulator.step()
37 | }
38 | }
39 |
40 | #[derive(serde::Deserialize, serde::Serialize)]
41 | pub struct Object {
42 | pub id: usize,
43 | pub x: f32,
44 | pub y: f32,
45 | pub energy: usize,
46 | }
47 |
48 | impl From<&osmos_sim::object::Object> for Object {
49 | fn from(sim_object: &osmos_sim::object::Object) -> Self {
50 | Self {
51 | id: sim_object.id,
52 | x: sim_object.cell.position.x,
53 | y: sim_object.cell.position.y,
54 | energy: sim_object.cell.energy,
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/osmos-wasm/wasm_pack_build.bat:
--------------------------------------------------------------------------------
1 | wasm-pack build --release --out-dir ../osmos-web/osmos-wasm
2 |
--------------------------------------------------------------------------------
/osmos-wasm/wasm_pack_build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | wasm-pack build --release --out-dir ../osmos-web/osmos-wasm
3 |
--------------------------------------------------------------------------------
/osmos-web/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/osmos-web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Osmos: 🦀️ WASM NN GA
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/osmos-web/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "osmos-web",
3 | "version": "0.0.0",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "osmos-web",
9 | "version": "0.0.0",
10 | "dependencies": {
11 | "solid-js": "^1.9.5"
12 | },
13 | "devDependencies": {
14 | "typescript": "^5.7.2",
15 | "vite": "^5.4.14",
16 | "vite-plugin-solid": "^2.11.0",
17 | "vite-plugin-top-level-await": "^1.4.4",
18 | "vite-plugin-wasm": "^3.3.0"
19 | }
20 | },
21 | "node_modules/@ampproject/remapping": {
22 | "version": "2.3.0",
23 | "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz",
24 | "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
25 | "dev": true,
26 | "license": "Apache-2.0",
27 | "dependencies": {
28 | "@jridgewell/gen-mapping": "^0.3.5",
29 | "@jridgewell/trace-mapping": "^0.3.24"
30 | },
31 | "engines": {
32 | "node": ">=6.0.0"
33 | }
34 | },
35 | "node_modules/@babel/code-frame": {
36 | "version": "7.26.2",
37 | "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz",
38 | "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
39 | "dev": true,
40 | "license": "MIT",
41 | "dependencies": {
42 | "@babel/helper-validator-identifier": "^7.25.9",
43 | "js-tokens": "^4.0.0",
44 | "picocolors": "^1.0.0"
45 | },
46 | "engines": {
47 | "node": ">=6.9.0"
48 | }
49 | },
50 | "node_modules/@babel/compat-data": {
51 | "version": "7.26.3",
52 | "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.3.tgz",
53 | "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==",
54 | "dev": true,
55 | "license": "MIT",
56 | "engines": {
57 | "node": ">=6.9.0"
58 | }
59 | },
60 | "node_modules/@babel/core": {
61 | "version": "7.26.0",
62 | "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.0.tgz",
63 | "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
64 | "dev": true,
65 | "license": "MIT",
66 | "dependencies": {
67 | "@ampproject/remapping": "^2.2.0",
68 | "@babel/code-frame": "^7.26.0",
69 | "@babel/generator": "^7.26.0",
70 | "@babel/helper-compilation-targets": "^7.25.9",
71 | "@babel/helper-module-transforms": "^7.26.0",
72 | "@babel/helpers": "^7.26.0",
73 | "@babel/parser": "^7.26.0",
74 | "@babel/template": "^7.25.9",
75 | "@babel/traverse": "^7.25.9",
76 | "@babel/types": "^7.26.0",
77 | "convert-source-map": "^2.0.0",
78 | "debug": "^4.1.0",
79 | "gensync": "^1.0.0-beta.2",
80 | "json5": "^2.2.3",
81 | "semver": "^6.3.1"
82 | },
83 | "engines": {
84 | "node": ">=6.9.0"
85 | },
86 | "funding": {
87 | "type": "opencollective",
88 | "url": "https://opencollective.com/babel"
89 | }
90 | },
91 | "node_modules/@babel/generator": {
92 | "version": "7.26.3",
93 | "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.3.tgz",
94 | "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==",
95 | "dev": true,
96 | "license": "MIT",
97 | "dependencies": {
98 | "@babel/parser": "^7.26.3",
99 | "@babel/types": "^7.26.3",
100 | "@jridgewell/gen-mapping": "^0.3.5",
101 | "@jridgewell/trace-mapping": "^0.3.25",
102 | "jsesc": "^3.0.2"
103 | },
104 | "engines": {
105 | "node": ">=6.9.0"
106 | }
107 | },
108 | "node_modules/@babel/helper-compilation-targets": {
109 | "version": "7.25.9",
110 | "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
111 | "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
112 | "dev": true,
113 | "license": "MIT",
114 | "dependencies": {
115 | "@babel/compat-data": "^7.25.9",
116 | "@babel/helper-validator-option": "^7.25.9",
117 | "browserslist": "^4.24.0",
118 | "lru-cache": "^5.1.1",
119 | "semver": "^6.3.1"
120 | },
121 | "engines": {
122 | "node": ">=6.9.0"
123 | }
124 | },
125 | "node_modules/@babel/helper-module-imports": {
126 | "version": "7.25.9",
127 | "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
128 | "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
129 | "dev": true,
130 | "license": "MIT",
131 | "dependencies": {
132 | "@babel/traverse": "^7.25.9",
133 | "@babel/types": "^7.25.9"
134 | },
135 | "engines": {
136 | "node": ">=6.9.0"
137 | }
138 | },
139 | "node_modules/@babel/helper-module-transforms": {
140 | "version": "7.26.0",
141 | "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
142 | "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
143 | "dev": true,
144 | "license": "MIT",
145 | "dependencies": {
146 | "@babel/helper-module-imports": "^7.25.9",
147 | "@babel/helper-validator-identifier": "^7.25.9",
148 | "@babel/traverse": "^7.25.9"
149 | },
150 | "engines": {
151 | "node": ">=6.9.0"
152 | },
153 | "peerDependencies": {
154 | "@babel/core": "^7.0.0"
155 | }
156 | },
157 | "node_modules/@babel/helper-plugin-utils": {
158 | "version": "7.25.9",
159 | "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz",
160 | "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==",
161 | "dev": true,
162 | "license": "MIT",
163 | "engines": {
164 | "node": ">=6.9.0"
165 | }
166 | },
167 | "node_modules/@babel/helper-string-parser": {
168 | "version": "7.25.9",
169 | "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
170 | "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
171 | "dev": true,
172 | "license": "MIT",
173 | "engines": {
174 | "node": ">=6.9.0"
175 | }
176 | },
177 | "node_modules/@babel/helper-validator-identifier": {
178 | "version": "7.25.9",
179 | "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
180 | "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
181 | "dev": true,
182 | "license": "MIT",
183 | "engines": {
184 | "node": ">=6.9.0"
185 | }
186 | },
187 | "node_modules/@babel/helper-validator-option": {
188 | "version": "7.25.9",
189 | "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
190 | "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
191 | "dev": true,
192 | "license": "MIT",
193 | "engines": {
194 | "node": ">=6.9.0"
195 | }
196 | },
197 | "node_modules/@babel/helpers": {
198 | "version": "7.26.0",
199 | "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.0.tgz",
200 | "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
201 | "dev": true,
202 | "license": "MIT",
203 | "dependencies": {
204 | "@babel/template": "^7.25.9",
205 | "@babel/types": "^7.26.0"
206 | },
207 | "engines": {
208 | "node": ">=6.9.0"
209 | }
210 | },
211 | "node_modules/@babel/parser": {
212 | "version": "7.26.3",
213 | "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.3.tgz",
214 | "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==",
215 | "dev": true,
216 | "license": "MIT",
217 | "dependencies": {
218 | "@babel/types": "^7.26.3"
219 | },
220 | "bin": {
221 | "parser": "bin/babel-parser.js"
222 | },
223 | "engines": {
224 | "node": ">=6.0.0"
225 | }
226 | },
227 | "node_modules/@babel/plugin-syntax-jsx": {
228 | "version": "7.25.9",
229 | "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz",
230 | "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==",
231 | "dev": true,
232 | "license": "MIT",
233 | "dependencies": {
234 | "@babel/helper-plugin-utils": "^7.25.9"
235 | },
236 | "engines": {
237 | "node": ">=6.9.0"
238 | },
239 | "peerDependencies": {
240 | "@babel/core": "^7.0.0-0"
241 | }
242 | },
243 | "node_modules/@babel/template": {
244 | "version": "7.25.9",
245 | "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.25.9.tgz",
246 | "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
247 | "dev": true,
248 | "license": "MIT",
249 | "dependencies": {
250 | "@babel/code-frame": "^7.25.9",
251 | "@babel/parser": "^7.25.9",
252 | "@babel/types": "^7.25.9"
253 | },
254 | "engines": {
255 | "node": ">=6.9.0"
256 | }
257 | },
258 | "node_modules/@babel/traverse": {
259 | "version": "7.26.4",
260 | "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.26.4.tgz",
261 | "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
262 | "dev": true,
263 | "license": "MIT",
264 | "dependencies": {
265 | "@babel/code-frame": "^7.26.2",
266 | "@babel/generator": "^7.26.3",
267 | "@babel/parser": "^7.26.3",
268 | "@babel/template": "^7.25.9",
269 | "@babel/types": "^7.26.3",
270 | "debug": "^4.3.1",
271 | "globals": "^11.1.0"
272 | },
273 | "engines": {
274 | "node": ">=6.9.0"
275 | }
276 | },
277 | "node_modules/@babel/types": {
278 | "version": "7.26.3",
279 | "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.3.tgz",
280 | "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
281 | "dev": true,
282 | "license": "MIT",
283 | "dependencies": {
284 | "@babel/helper-string-parser": "^7.25.9",
285 | "@babel/helper-validator-identifier": "^7.25.9"
286 | },
287 | "engines": {
288 | "node": ">=6.9.0"
289 | }
290 | },
291 | "node_modules/@esbuild/aix-ppc64": {
292 | "version": "0.21.5",
293 | "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
294 | "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
295 | "cpu": [
296 | "ppc64"
297 | ],
298 | "dev": true,
299 | "license": "MIT",
300 | "optional": true,
301 | "os": [
302 | "aix"
303 | ],
304 | "engines": {
305 | "node": ">=12"
306 | }
307 | },
308 | "node_modules/@esbuild/android-arm": {
309 | "version": "0.21.5",
310 | "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
311 | "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
312 | "cpu": [
313 | "arm"
314 | ],
315 | "dev": true,
316 | "license": "MIT",
317 | "optional": true,
318 | "os": [
319 | "android"
320 | ],
321 | "engines": {
322 | "node": ">=12"
323 | }
324 | },
325 | "node_modules/@esbuild/android-arm64": {
326 | "version": "0.21.5",
327 | "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
328 | "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
329 | "cpu": [
330 | "arm64"
331 | ],
332 | "dev": true,
333 | "license": "MIT",
334 | "optional": true,
335 | "os": [
336 | "android"
337 | ],
338 | "engines": {
339 | "node": ">=12"
340 | }
341 | },
342 | "node_modules/@esbuild/android-x64": {
343 | "version": "0.21.5",
344 | "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
345 | "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
346 | "cpu": [
347 | "x64"
348 | ],
349 | "dev": true,
350 | "license": "MIT",
351 | "optional": true,
352 | "os": [
353 | "android"
354 | ],
355 | "engines": {
356 | "node": ">=12"
357 | }
358 | },
359 | "node_modules/@esbuild/darwin-arm64": {
360 | "version": "0.21.5",
361 | "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
362 | "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
363 | "cpu": [
364 | "arm64"
365 | ],
366 | "dev": true,
367 | "license": "MIT",
368 | "optional": true,
369 | "os": [
370 | "darwin"
371 | ],
372 | "engines": {
373 | "node": ">=12"
374 | }
375 | },
376 | "node_modules/@esbuild/darwin-x64": {
377 | "version": "0.21.5",
378 | "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
379 | "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
380 | "cpu": [
381 | "x64"
382 | ],
383 | "dev": true,
384 | "license": "MIT",
385 | "optional": true,
386 | "os": [
387 | "darwin"
388 | ],
389 | "engines": {
390 | "node": ">=12"
391 | }
392 | },
393 | "node_modules/@esbuild/freebsd-arm64": {
394 | "version": "0.21.5",
395 | "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
396 | "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
397 | "cpu": [
398 | "arm64"
399 | ],
400 | "dev": true,
401 | "license": "MIT",
402 | "optional": true,
403 | "os": [
404 | "freebsd"
405 | ],
406 | "engines": {
407 | "node": ">=12"
408 | }
409 | },
410 | "node_modules/@esbuild/freebsd-x64": {
411 | "version": "0.21.5",
412 | "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
413 | "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
414 | "cpu": [
415 | "x64"
416 | ],
417 | "dev": true,
418 | "license": "MIT",
419 | "optional": true,
420 | "os": [
421 | "freebsd"
422 | ],
423 | "engines": {
424 | "node": ">=12"
425 | }
426 | },
427 | "node_modules/@esbuild/linux-arm": {
428 | "version": "0.21.5",
429 | "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
430 | "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
431 | "cpu": [
432 | "arm"
433 | ],
434 | "dev": true,
435 | "license": "MIT",
436 | "optional": true,
437 | "os": [
438 | "linux"
439 | ],
440 | "engines": {
441 | "node": ">=12"
442 | }
443 | },
444 | "node_modules/@esbuild/linux-arm64": {
445 | "version": "0.21.5",
446 | "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
447 | "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
448 | "cpu": [
449 | "arm64"
450 | ],
451 | "dev": true,
452 | "license": "MIT",
453 | "optional": true,
454 | "os": [
455 | "linux"
456 | ],
457 | "engines": {
458 | "node": ">=12"
459 | }
460 | },
461 | "node_modules/@esbuild/linux-ia32": {
462 | "version": "0.21.5",
463 | "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
464 | "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
465 | "cpu": [
466 | "ia32"
467 | ],
468 | "dev": true,
469 | "license": "MIT",
470 | "optional": true,
471 | "os": [
472 | "linux"
473 | ],
474 | "engines": {
475 | "node": ">=12"
476 | }
477 | },
478 | "node_modules/@esbuild/linux-loong64": {
479 | "version": "0.21.5",
480 | "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
481 | "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
482 | "cpu": [
483 | "loong64"
484 | ],
485 | "dev": true,
486 | "license": "MIT",
487 | "optional": true,
488 | "os": [
489 | "linux"
490 | ],
491 | "engines": {
492 | "node": ">=12"
493 | }
494 | },
495 | "node_modules/@esbuild/linux-mips64el": {
496 | "version": "0.21.5",
497 | "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
498 | "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
499 | "cpu": [
500 | "mips64el"
501 | ],
502 | "dev": true,
503 | "license": "MIT",
504 | "optional": true,
505 | "os": [
506 | "linux"
507 | ],
508 | "engines": {
509 | "node": ">=12"
510 | }
511 | },
512 | "node_modules/@esbuild/linux-ppc64": {
513 | "version": "0.21.5",
514 | "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
515 | "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
516 | "cpu": [
517 | "ppc64"
518 | ],
519 | "dev": true,
520 | "license": "MIT",
521 | "optional": true,
522 | "os": [
523 | "linux"
524 | ],
525 | "engines": {
526 | "node": ">=12"
527 | }
528 | },
529 | "node_modules/@esbuild/linux-riscv64": {
530 | "version": "0.21.5",
531 | "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
532 | "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
533 | "cpu": [
534 | "riscv64"
535 | ],
536 | "dev": true,
537 | "license": "MIT",
538 | "optional": true,
539 | "os": [
540 | "linux"
541 | ],
542 | "engines": {
543 | "node": ">=12"
544 | }
545 | },
546 | "node_modules/@esbuild/linux-s390x": {
547 | "version": "0.21.5",
548 | "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
549 | "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
550 | "cpu": [
551 | "s390x"
552 | ],
553 | "dev": true,
554 | "license": "MIT",
555 | "optional": true,
556 | "os": [
557 | "linux"
558 | ],
559 | "engines": {
560 | "node": ">=12"
561 | }
562 | },
563 | "node_modules/@esbuild/linux-x64": {
564 | "version": "0.21.5",
565 | "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
566 | "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
567 | "cpu": [
568 | "x64"
569 | ],
570 | "dev": true,
571 | "license": "MIT",
572 | "optional": true,
573 | "os": [
574 | "linux"
575 | ],
576 | "engines": {
577 | "node": ">=12"
578 | }
579 | },
580 | "node_modules/@esbuild/netbsd-x64": {
581 | "version": "0.21.5",
582 | "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
583 | "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
584 | "cpu": [
585 | "x64"
586 | ],
587 | "dev": true,
588 | "license": "MIT",
589 | "optional": true,
590 | "os": [
591 | "netbsd"
592 | ],
593 | "engines": {
594 | "node": ">=12"
595 | }
596 | },
597 | "node_modules/@esbuild/openbsd-x64": {
598 | "version": "0.21.5",
599 | "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
600 | "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
601 | "cpu": [
602 | "x64"
603 | ],
604 | "dev": true,
605 | "license": "MIT",
606 | "optional": true,
607 | "os": [
608 | "openbsd"
609 | ],
610 | "engines": {
611 | "node": ">=12"
612 | }
613 | },
614 | "node_modules/@esbuild/sunos-x64": {
615 | "version": "0.21.5",
616 | "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
617 | "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
618 | "cpu": [
619 | "x64"
620 | ],
621 | "dev": true,
622 | "license": "MIT",
623 | "optional": true,
624 | "os": [
625 | "sunos"
626 | ],
627 | "engines": {
628 | "node": ">=12"
629 | }
630 | },
631 | "node_modules/@esbuild/win32-arm64": {
632 | "version": "0.21.5",
633 | "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
634 | "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
635 | "cpu": [
636 | "arm64"
637 | ],
638 | "dev": true,
639 | "license": "MIT",
640 | "optional": true,
641 | "os": [
642 | "win32"
643 | ],
644 | "engines": {
645 | "node": ">=12"
646 | }
647 | },
648 | "node_modules/@esbuild/win32-ia32": {
649 | "version": "0.21.5",
650 | "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
651 | "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
652 | "cpu": [
653 | "ia32"
654 | ],
655 | "dev": true,
656 | "license": "MIT",
657 | "optional": true,
658 | "os": [
659 | "win32"
660 | ],
661 | "engines": {
662 | "node": ">=12"
663 | }
664 | },
665 | "node_modules/@esbuild/win32-x64": {
666 | "version": "0.21.5",
667 | "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
668 | "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
669 | "cpu": [
670 | "x64"
671 | ],
672 | "dev": true,
673 | "license": "MIT",
674 | "optional": true,
675 | "os": [
676 | "win32"
677 | ],
678 | "engines": {
679 | "node": ">=12"
680 | }
681 | },
682 | "node_modules/@jridgewell/gen-mapping": {
683 | "version": "0.3.8",
684 | "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
685 | "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
686 | "dev": true,
687 | "license": "MIT",
688 | "dependencies": {
689 | "@jridgewell/set-array": "^1.2.1",
690 | "@jridgewell/sourcemap-codec": "^1.4.10",
691 | "@jridgewell/trace-mapping": "^0.3.24"
692 | },
693 | "engines": {
694 | "node": ">=6.0.0"
695 | }
696 | },
697 | "node_modules/@jridgewell/resolve-uri": {
698 | "version": "3.1.2",
699 | "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
700 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
701 | "dev": true,
702 | "license": "MIT",
703 | "engines": {
704 | "node": ">=6.0.0"
705 | }
706 | },
707 | "node_modules/@jridgewell/set-array": {
708 | "version": "1.2.1",
709 | "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz",
710 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
711 | "dev": true,
712 | "license": "MIT",
713 | "engines": {
714 | "node": ">=6.0.0"
715 | }
716 | },
717 | "node_modules/@jridgewell/sourcemap-codec": {
718 | "version": "1.5.0",
719 | "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
720 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
721 | "dev": true,
722 | "license": "MIT"
723 | },
724 | "node_modules/@jridgewell/trace-mapping": {
725 | "version": "0.3.25",
726 | "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
727 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
728 | "dev": true,
729 | "license": "MIT",
730 | "dependencies": {
731 | "@jridgewell/resolve-uri": "^3.1.0",
732 | "@jridgewell/sourcemap-codec": "^1.4.14"
733 | }
734 | },
735 | "node_modules/@rollup/plugin-virtual": {
736 | "version": "3.0.2",
737 | "resolved": "https://registry.npmmirror.com/@rollup/plugin-virtual/-/plugin-virtual-3.0.2.tgz",
738 | "integrity": "sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==",
739 | "dev": true,
740 | "license": "MIT",
741 | "engines": {
742 | "node": ">=14.0.0"
743 | },
744 | "peerDependencies": {
745 | "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
746 | },
747 | "peerDependenciesMeta": {
748 | "rollup": {
749 | "optional": true
750 | }
751 | }
752 | },
753 | "node_modules/@rollup/rollup-android-arm-eabi": {
754 | "version": "4.28.1",
755 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz",
756 | "integrity": "sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==",
757 | "cpu": [
758 | "arm"
759 | ],
760 | "dev": true,
761 | "license": "MIT",
762 | "optional": true,
763 | "os": [
764 | "android"
765 | ]
766 | },
767 | "node_modules/@rollup/rollup-android-arm64": {
768 | "version": "4.28.1",
769 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz",
770 | "integrity": "sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==",
771 | "cpu": [
772 | "arm64"
773 | ],
774 | "dev": true,
775 | "license": "MIT",
776 | "optional": true,
777 | "os": [
778 | "android"
779 | ]
780 | },
781 | "node_modules/@rollup/rollup-darwin-arm64": {
782 | "version": "4.28.1",
783 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz",
784 | "integrity": "sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==",
785 | "cpu": [
786 | "arm64"
787 | ],
788 | "dev": true,
789 | "license": "MIT",
790 | "optional": true,
791 | "os": [
792 | "darwin"
793 | ]
794 | },
795 | "node_modules/@rollup/rollup-darwin-x64": {
796 | "version": "4.28.1",
797 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz",
798 | "integrity": "sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==",
799 | "cpu": [
800 | "x64"
801 | ],
802 | "dev": true,
803 | "license": "MIT",
804 | "optional": true,
805 | "os": [
806 | "darwin"
807 | ]
808 | },
809 | "node_modules/@rollup/rollup-freebsd-arm64": {
810 | "version": "4.28.1",
811 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz",
812 | "integrity": "sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==",
813 | "cpu": [
814 | "arm64"
815 | ],
816 | "dev": true,
817 | "license": "MIT",
818 | "optional": true,
819 | "os": [
820 | "freebsd"
821 | ]
822 | },
823 | "node_modules/@rollup/rollup-freebsd-x64": {
824 | "version": "4.28.1",
825 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz",
826 | "integrity": "sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==",
827 | "cpu": [
828 | "x64"
829 | ],
830 | "dev": true,
831 | "license": "MIT",
832 | "optional": true,
833 | "os": [
834 | "freebsd"
835 | ]
836 | },
837 | "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
838 | "version": "4.28.1",
839 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz",
840 | "integrity": "sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==",
841 | "cpu": [
842 | "arm"
843 | ],
844 | "dev": true,
845 | "license": "MIT",
846 | "optional": true,
847 | "os": [
848 | "linux"
849 | ]
850 | },
851 | "node_modules/@rollup/rollup-linux-arm-musleabihf": {
852 | "version": "4.28.1",
853 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz",
854 | "integrity": "sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==",
855 | "cpu": [
856 | "arm"
857 | ],
858 | "dev": true,
859 | "license": "MIT",
860 | "optional": true,
861 | "os": [
862 | "linux"
863 | ]
864 | },
865 | "node_modules/@rollup/rollup-linux-arm64-gnu": {
866 | "version": "4.28.1",
867 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz",
868 | "integrity": "sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==",
869 | "cpu": [
870 | "arm64"
871 | ],
872 | "dev": true,
873 | "license": "MIT",
874 | "optional": true,
875 | "os": [
876 | "linux"
877 | ]
878 | },
879 | "node_modules/@rollup/rollup-linux-arm64-musl": {
880 | "version": "4.28.1",
881 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz",
882 | "integrity": "sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==",
883 | "cpu": [
884 | "arm64"
885 | ],
886 | "dev": true,
887 | "license": "MIT",
888 | "optional": true,
889 | "os": [
890 | "linux"
891 | ]
892 | },
893 | "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
894 | "version": "4.28.1",
895 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz",
896 | "integrity": "sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==",
897 | "cpu": [
898 | "loong64"
899 | ],
900 | "dev": true,
901 | "license": "MIT",
902 | "optional": true,
903 | "os": [
904 | "linux"
905 | ]
906 | },
907 | "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
908 | "version": "4.28.1",
909 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz",
910 | "integrity": "sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==",
911 | "cpu": [
912 | "ppc64"
913 | ],
914 | "dev": true,
915 | "license": "MIT",
916 | "optional": true,
917 | "os": [
918 | "linux"
919 | ]
920 | },
921 | "node_modules/@rollup/rollup-linux-riscv64-gnu": {
922 | "version": "4.28.1",
923 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz",
924 | "integrity": "sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==",
925 | "cpu": [
926 | "riscv64"
927 | ],
928 | "dev": true,
929 | "license": "MIT",
930 | "optional": true,
931 | "os": [
932 | "linux"
933 | ]
934 | },
935 | "node_modules/@rollup/rollup-linux-s390x-gnu": {
936 | "version": "4.28.1",
937 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz",
938 | "integrity": "sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==",
939 | "cpu": [
940 | "s390x"
941 | ],
942 | "dev": true,
943 | "license": "MIT",
944 | "optional": true,
945 | "os": [
946 | "linux"
947 | ]
948 | },
949 | "node_modules/@rollup/rollup-linux-x64-gnu": {
950 | "version": "4.28.1",
951 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz",
952 | "integrity": "sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==",
953 | "cpu": [
954 | "x64"
955 | ],
956 | "dev": true,
957 | "license": "MIT",
958 | "optional": true,
959 | "os": [
960 | "linux"
961 | ]
962 | },
963 | "node_modules/@rollup/rollup-linux-x64-musl": {
964 | "version": "4.28.1",
965 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz",
966 | "integrity": "sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==",
967 | "cpu": [
968 | "x64"
969 | ],
970 | "dev": true,
971 | "license": "MIT",
972 | "optional": true,
973 | "os": [
974 | "linux"
975 | ]
976 | },
977 | "node_modules/@rollup/rollup-win32-arm64-msvc": {
978 | "version": "4.28.1",
979 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz",
980 | "integrity": "sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==",
981 | "cpu": [
982 | "arm64"
983 | ],
984 | "dev": true,
985 | "license": "MIT",
986 | "optional": true,
987 | "os": [
988 | "win32"
989 | ]
990 | },
991 | "node_modules/@rollup/rollup-win32-ia32-msvc": {
992 | "version": "4.28.1",
993 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz",
994 | "integrity": "sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==",
995 | "cpu": [
996 | "ia32"
997 | ],
998 | "dev": true,
999 | "license": "MIT",
1000 | "optional": true,
1001 | "os": [
1002 | "win32"
1003 | ]
1004 | },
1005 | "node_modules/@rollup/rollup-win32-x64-msvc": {
1006 | "version": "4.28.1",
1007 | "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz",
1008 | "integrity": "sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==",
1009 | "cpu": [
1010 | "x64"
1011 | ],
1012 | "dev": true,
1013 | "license": "MIT",
1014 | "optional": true,
1015 | "os": [
1016 | "win32"
1017 | ]
1018 | },
1019 | "node_modules/@swc/core": {
1020 | "version": "1.10.1",
1021 | "resolved": "https://registry.npmmirror.com/@swc/core/-/core-1.10.1.tgz",
1022 | "integrity": "sha512-rQ4dS6GAdmtzKiCRt3LFVxl37FaY1cgL9kSUTnhQ2xc3fmHOd7jdJK/V4pSZMG1ruGTd0bsi34O2R0Olg9Zo/w==",
1023 | "dev": true,
1024 | "hasInstallScript": true,
1025 | "license": "Apache-2.0",
1026 | "dependencies": {
1027 | "@swc/counter": "^0.1.3",
1028 | "@swc/types": "^0.1.17"
1029 | },
1030 | "engines": {
1031 | "node": ">=10"
1032 | },
1033 | "funding": {
1034 | "type": "opencollective",
1035 | "url": "https://opencollective.com/swc"
1036 | },
1037 | "optionalDependencies": {
1038 | "@swc/core-darwin-arm64": "1.10.1",
1039 | "@swc/core-darwin-x64": "1.10.1",
1040 | "@swc/core-linux-arm-gnueabihf": "1.10.1",
1041 | "@swc/core-linux-arm64-gnu": "1.10.1",
1042 | "@swc/core-linux-arm64-musl": "1.10.1",
1043 | "@swc/core-linux-x64-gnu": "1.10.1",
1044 | "@swc/core-linux-x64-musl": "1.10.1",
1045 | "@swc/core-win32-arm64-msvc": "1.10.1",
1046 | "@swc/core-win32-ia32-msvc": "1.10.1",
1047 | "@swc/core-win32-x64-msvc": "1.10.1"
1048 | },
1049 | "peerDependencies": {
1050 | "@swc/helpers": "*"
1051 | },
1052 | "peerDependenciesMeta": {
1053 | "@swc/helpers": {
1054 | "optional": true
1055 | }
1056 | }
1057 | },
1058 | "node_modules/@swc/core-darwin-arm64": {
1059 | "version": "1.10.1",
1060 | "resolved": "https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.1.tgz",
1061 | "integrity": "sha512-NyELPp8EsVZtxH/mEqvzSyWpfPJ1lugpTQcSlMduZLj1EASLO4sC8wt8hmL1aizRlsbjCX+r0PyL+l0xQ64/6Q==",
1062 | "cpu": [
1063 | "arm64"
1064 | ],
1065 | "dev": true,
1066 | "license": "Apache-2.0 AND MIT",
1067 | "optional": true,
1068 | "os": [
1069 | "darwin"
1070 | ],
1071 | "engines": {
1072 | "node": ">=10"
1073 | }
1074 | },
1075 | "node_modules/@swc/core-darwin-x64": {
1076 | "version": "1.10.1",
1077 | "resolved": "https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.10.1.tgz",
1078 | "integrity": "sha512-L4BNt1fdQ5ZZhAk5qoDfUnXRabDOXKnXBxMDJ+PWLSxOGBbWE6aJTnu4zbGjJvtot0KM46m2LPAPY8ttknqaZA==",
1079 | "cpu": [
1080 | "x64"
1081 | ],
1082 | "dev": true,
1083 | "license": "Apache-2.0 AND MIT",
1084 | "optional": true,
1085 | "os": [
1086 | "darwin"
1087 | ],
1088 | "engines": {
1089 | "node": ">=10"
1090 | }
1091 | },
1092 | "node_modules/@swc/core-linux-arm-gnueabihf": {
1093 | "version": "1.10.1",
1094 | "resolved": "https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.1.tgz",
1095 | "integrity": "sha512-Y1u9OqCHgvVp2tYQAJ7hcU9qO5brDMIrA5R31rwWQIAKDkJKtv3IlTHF0hrbWk1wPR0ZdngkQSJZple7G+Grvw==",
1096 | "cpu": [
1097 | "arm"
1098 | ],
1099 | "dev": true,
1100 | "license": "Apache-2.0",
1101 | "optional": true,
1102 | "os": [
1103 | "linux"
1104 | ],
1105 | "engines": {
1106 | "node": ">=10"
1107 | }
1108 | },
1109 | "node_modules/@swc/core-linux-arm64-gnu": {
1110 | "version": "1.10.1",
1111 | "resolved": "https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.1.tgz",
1112 | "integrity": "sha512-tNQHO/UKdtnqjc7o04iRXng1wTUXPgVd8Y6LI4qIbHVoVPwksZydISjMcilKNLKIwOoUQAkxyJ16SlOAeADzhQ==",
1113 | "cpu": [
1114 | "arm64"
1115 | ],
1116 | "dev": true,
1117 | "license": "Apache-2.0 AND MIT",
1118 | "optional": true,
1119 | "os": [
1120 | "linux"
1121 | ],
1122 | "engines": {
1123 | "node": ">=10"
1124 | }
1125 | },
1126 | "node_modules/@swc/core-linux-arm64-musl": {
1127 | "version": "1.10.1",
1128 | "resolved": "https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.1.tgz",
1129 | "integrity": "sha512-x0L2Pd9weQ6n8dI1z1Isq00VHFvpBClwQJvrt3NHzmR+1wCT/gcYl1tp9P5xHh3ldM8Cn4UjWCw+7PaUgg8FcQ==",
1130 | "cpu": [
1131 | "arm64"
1132 | ],
1133 | "dev": true,
1134 | "license": "Apache-2.0 AND MIT",
1135 | "optional": true,
1136 | "os": [
1137 | "linux"
1138 | ],
1139 | "engines": {
1140 | "node": ">=10"
1141 | }
1142 | },
1143 | "node_modules/@swc/core-linux-x64-gnu": {
1144 | "version": "1.10.1",
1145 | "resolved": "https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.1.tgz",
1146 | "integrity": "sha512-yyYEwQcObV3AUsC79rSzN9z6kiWxKAVJ6Ntwq2N9YoZqSPYph+4/Am5fM1xEQYf/kb99csj0FgOelomJSobxQA==",
1147 | "cpu": [
1148 | "x64"
1149 | ],
1150 | "dev": true,
1151 | "license": "Apache-2.0 AND MIT",
1152 | "optional": true,
1153 | "os": [
1154 | "linux"
1155 | ],
1156 | "engines": {
1157 | "node": ">=10"
1158 | }
1159 | },
1160 | "node_modules/@swc/core-linux-x64-musl": {
1161 | "version": "1.10.1",
1162 | "resolved": "https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.1.tgz",
1163 | "integrity": "sha512-tcaS43Ydd7Fk7sW5ROpaf2Kq1zR+sI5K0RM+0qYLYYurvsJruj3GhBCaiN3gkzd8m/8wkqNqtVklWaQYSDsyqA==",
1164 | "cpu": [
1165 | "x64"
1166 | ],
1167 | "dev": true,
1168 | "license": "Apache-2.0 AND MIT",
1169 | "optional": true,
1170 | "os": [
1171 | "linux"
1172 | ],
1173 | "engines": {
1174 | "node": ">=10"
1175 | }
1176 | },
1177 | "node_modules/@swc/core-win32-arm64-msvc": {
1178 | "version": "1.10.1",
1179 | "resolved": "https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.1.tgz",
1180 | "integrity": "sha512-D3Qo1voA7AkbOzQ2UGuKNHfYGKL6eejN8VWOoQYtGHHQi1p5KK/Q7V1ku55oxXBsj79Ny5FRMqiRJpVGad7bjQ==",
1181 | "cpu": [
1182 | "arm64"
1183 | ],
1184 | "dev": true,
1185 | "license": "Apache-2.0 AND MIT",
1186 | "optional": true,
1187 | "os": [
1188 | "win32"
1189 | ],
1190 | "engines": {
1191 | "node": ">=10"
1192 | }
1193 | },
1194 | "node_modules/@swc/core-win32-ia32-msvc": {
1195 | "version": "1.10.1",
1196 | "resolved": "https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.1.tgz",
1197 | "integrity": "sha512-WalYdFoU3454Og+sDKHM1MrjvxUGwA2oralknXkXL8S0I/8RkWZOB++p3pLaGbTvOO++T+6znFbQdR8KRaa7DA==",
1198 | "cpu": [
1199 | "ia32"
1200 | ],
1201 | "dev": true,
1202 | "license": "Apache-2.0 AND MIT",
1203 | "optional": true,
1204 | "os": [
1205 | "win32"
1206 | ],
1207 | "engines": {
1208 | "node": ">=10"
1209 | }
1210 | },
1211 | "node_modules/@swc/core-win32-x64-msvc": {
1212 | "version": "1.10.1",
1213 | "resolved": "https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.1.tgz",
1214 | "integrity": "sha512-JWobfQDbTnoqaIwPKQ3DVSywihVXlQMbDuwik/dDWlj33A8oEHcjPOGs4OqcA3RHv24i+lfCQpM3Mn4FAMfacA==",
1215 | "cpu": [
1216 | "x64"
1217 | ],
1218 | "dev": true,
1219 | "license": "Apache-2.0 AND MIT",
1220 | "optional": true,
1221 | "os": [
1222 | "win32"
1223 | ],
1224 | "engines": {
1225 | "node": ">=10"
1226 | }
1227 | },
1228 | "node_modules/@swc/counter": {
1229 | "version": "0.1.3",
1230 | "resolved": "https://registry.npmmirror.com/@swc/counter/-/counter-0.1.3.tgz",
1231 | "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
1232 | "dev": true,
1233 | "license": "Apache-2.0"
1234 | },
1235 | "node_modules/@swc/types": {
1236 | "version": "0.1.17",
1237 | "resolved": "https://registry.npmmirror.com/@swc/types/-/types-0.1.17.tgz",
1238 | "integrity": "sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==",
1239 | "dev": true,
1240 | "license": "Apache-2.0",
1241 | "dependencies": {
1242 | "@swc/counter": "^0.1.3"
1243 | }
1244 | },
1245 | "node_modules/@types/babel__core": {
1246 | "version": "7.20.5",
1247 | "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz",
1248 | "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
1249 | "dev": true,
1250 | "license": "MIT",
1251 | "dependencies": {
1252 | "@babel/parser": "^7.20.7",
1253 | "@babel/types": "^7.20.7",
1254 | "@types/babel__generator": "*",
1255 | "@types/babel__template": "*",
1256 | "@types/babel__traverse": "*"
1257 | }
1258 | },
1259 | "node_modules/@types/babel__generator": {
1260 | "version": "7.6.8",
1261 | "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz",
1262 | "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
1263 | "dev": true,
1264 | "license": "MIT",
1265 | "dependencies": {
1266 | "@babel/types": "^7.0.0"
1267 | }
1268 | },
1269 | "node_modules/@types/babel__template": {
1270 | "version": "7.4.4",
1271 | "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz",
1272 | "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
1273 | "dev": true,
1274 | "license": "MIT",
1275 | "dependencies": {
1276 | "@babel/parser": "^7.1.0",
1277 | "@babel/types": "^7.0.0"
1278 | }
1279 | },
1280 | "node_modules/@types/babel__traverse": {
1281 | "version": "7.20.6",
1282 | "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz",
1283 | "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==",
1284 | "dev": true,
1285 | "license": "MIT",
1286 | "dependencies": {
1287 | "@babel/types": "^7.20.7"
1288 | }
1289 | },
1290 | "node_modules/@types/estree": {
1291 | "version": "1.0.6",
1292 | "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz",
1293 | "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
1294 | "dev": true,
1295 | "license": "MIT"
1296 | },
1297 | "node_modules/babel-plugin-jsx-dom-expressions": {
1298 | "version": "0.39.3",
1299 | "resolved": "https://registry.npmmirror.com/babel-plugin-jsx-dom-expressions/-/babel-plugin-jsx-dom-expressions-0.39.3.tgz",
1300 | "integrity": "sha512-6RzmSu21zYPlV2gNwzjGG9FgODtt9hIWnx7L//OIioIEuRcnpDZoY8Tr+I81Cy1SrH4qoDyKpwHHo6uAMAeyPA==",
1301 | "dev": true,
1302 | "license": "MIT",
1303 | "dependencies": {
1304 | "@babel/helper-module-imports": "7.18.6",
1305 | "@babel/plugin-syntax-jsx": "^7.18.6",
1306 | "@babel/types": "^7.20.7",
1307 | "html-entities": "2.3.3",
1308 | "parse5": "^7.1.2",
1309 | "validate-html-nesting": "^1.2.1"
1310 | },
1311 | "peerDependencies": {
1312 | "@babel/core": "^7.20.12"
1313 | }
1314 | },
1315 | "node_modules/babel-plugin-jsx-dom-expressions/node_modules/@babel/helper-module-imports": {
1316 | "version": "7.18.6",
1317 | "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
1318 | "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
1319 | "dev": true,
1320 | "license": "MIT",
1321 | "dependencies": {
1322 | "@babel/types": "^7.18.6"
1323 | },
1324 | "engines": {
1325 | "node": ">=6.9.0"
1326 | }
1327 | },
1328 | "node_modules/babel-preset-solid": {
1329 | "version": "1.9.3",
1330 | "resolved": "https://registry.npmmirror.com/babel-preset-solid/-/babel-preset-solid-1.9.3.tgz",
1331 | "integrity": "sha512-jvlx5wDp8s+bEF9sGFw/84SInXOA51ttkUEroQziKMbxplXThVKt83qB6bDTa1HuLNatdU9FHpFOiQWs1tLQIg==",
1332 | "dev": true,
1333 | "license": "MIT",
1334 | "dependencies": {
1335 | "babel-plugin-jsx-dom-expressions": "^0.39.3"
1336 | },
1337 | "peerDependencies": {
1338 | "@babel/core": "^7.0.0"
1339 | }
1340 | },
1341 | "node_modules/browserslist": {
1342 | "version": "4.24.3",
1343 | "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.3.tgz",
1344 | "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==",
1345 | "dev": true,
1346 | "funding": [
1347 | {
1348 | "type": "opencollective",
1349 | "url": "https://opencollective.com/browserslist"
1350 | },
1351 | {
1352 | "type": "tidelift",
1353 | "url": "https://tidelift.com/funding/github/npm/browserslist"
1354 | },
1355 | {
1356 | "type": "github",
1357 | "url": "https://github.com/sponsors/ai"
1358 | }
1359 | ],
1360 | "license": "MIT",
1361 | "dependencies": {
1362 | "caniuse-lite": "^1.0.30001688",
1363 | "electron-to-chromium": "^1.5.73",
1364 | "node-releases": "^2.0.19",
1365 | "update-browserslist-db": "^1.1.1"
1366 | },
1367 | "bin": {
1368 | "browserslist": "cli.js"
1369 | },
1370 | "engines": {
1371 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1372 | }
1373 | },
1374 | "node_modules/caniuse-lite": {
1375 | "version": "1.0.30001689",
1376 | "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001689.tgz",
1377 | "integrity": "sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g==",
1378 | "dev": true,
1379 | "funding": [
1380 | {
1381 | "type": "opencollective",
1382 | "url": "https://opencollective.com/browserslist"
1383 | },
1384 | {
1385 | "type": "tidelift",
1386 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1387 | },
1388 | {
1389 | "type": "github",
1390 | "url": "https://github.com/sponsors/ai"
1391 | }
1392 | ],
1393 | "license": "CC-BY-4.0"
1394 | },
1395 | "node_modules/convert-source-map": {
1396 | "version": "2.0.0",
1397 | "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz",
1398 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
1399 | "dev": true,
1400 | "license": "MIT"
1401 | },
1402 | "node_modules/csstype": {
1403 | "version": "3.1.3",
1404 | "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
1405 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
1406 | "license": "MIT"
1407 | },
1408 | "node_modules/debug": {
1409 | "version": "4.4.0",
1410 | "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz",
1411 | "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
1412 | "dev": true,
1413 | "license": "MIT",
1414 | "dependencies": {
1415 | "ms": "^2.1.3"
1416 | },
1417 | "engines": {
1418 | "node": ">=6.0"
1419 | },
1420 | "peerDependenciesMeta": {
1421 | "supports-color": {
1422 | "optional": true
1423 | }
1424 | }
1425 | },
1426 | "node_modules/electron-to-chromium": {
1427 | "version": "1.5.74",
1428 | "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.74.tgz",
1429 | "integrity": "sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==",
1430 | "dev": true,
1431 | "license": "ISC"
1432 | },
1433 | "node_modules/entities": {
1434 | "version": "4.5.0",
1435 | "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz",
1436 | "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
1437 | "dev": true,
1438 | "license": "BSD-2-Clause",
1439 | "engines": {
1440 | "node": ">=0.12"
1441 | },
1442 | "funding": {
1443 | "url": "https://github.com/fb55/entities?sponsor=1"
1444 | }
1445 | },
1446 | "node_modules/esbuild": {
1447 | "version": "0.21.5",
1448 | "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz",
1449 | "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
1450 | "dev": true,
1451 | "hasInstallScript": true,
1452 | "license": "MIT",
1453 | "bin": {
1454 | "esbuild": "bin/esbuild"
1455 | },
1456 | "engines": {
1457 | "node": ">=12"
1458 | },
1459 | "optionalDependencies": {
1460 | "@esbuild/aix-ppc64": "0.21.5",
1461 | "@esbuild/android-arm": "0.21.5",
1462 | "@esbuild/android-arm64": "0.21.5",
1463 | "@esbuild/android-x64": "0.21.5",
1464 | "@esbuild/darwin-arm64": "0.21.5",
1465 | "@esbuild/darwin-x64": "0.21.5",
1466 | "@esbuild/freebsd-arm64": "0.21.5",
1467 | "@esbuild/freebsd-x64": "0.21.5",
1468 | "@esbuild/linux-arm": "0.21.5",
1469 | "@esbuild/linux-arm64": "0.21.5",
1470 | "@esbuild/linux-ia32": "0.21.5",
1471 | "@esbuild/linux-loong64": "0.21.5",
1472 | "@esbuild/linux-mips64el": "0.21.5",
1473 | "@esbuild/linux-ppc64": "0.21.5",
1474 | "@esbuild/linux-riscv64": "0.21.5",
1475 | "@esbuild/linux-s390x": "0.21.5",
1476 | "@esbuild/linux-x64": "0.21.5",
1477 | "@esbuild/netbsd-x64": "0.21.5",
1478 | "@esbuild/openbsd-x64": "0.21.5",
1479 | "@esbuild/sunos-x64": "0.21.5",
1480 | "@esbuild/win32-arm64": "0.21.5",
1481 | "@esbuild/win32-ia32": "0.21.5",
1482 | "@esbuild/win32-x64": "0.21.5"
1483 | }
1484 | },
1485 | "node_modules/escalade": {
1486 | "version": "3.2.0",
1487 | "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz",
1488 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1489 | "dev": true,
1490 | "license": "MIT",
1491 | "engines": {
1492 | "node": ">=6"
1493 | }
1494 | },
1495 | "node_modules/fsevents": {
1496 | "version": "2.3.3",
1497 | "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
1498 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1499 | "dev": true,
1500 | "hasInstallScript": true,
1501 | "license": "MIT",
1502 | "optional": true,
1503 | "os": [
1504 | "darwin"
1505 | ],
1506 | "engines": {
1507 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1508 | }
1509 | },
1510 | "node_modules/gensync": {
1511 | "version": "1.0.0-beta.2",
1512 | "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
1513 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1514 | "dev": true,
1515 | "license": "MIT",
1516 | "engines": {
1517 | "node": ">=6.9.0"
1518 | }
1519 | },
1520 | "node_modules/globals": {
1521 | "version": "11.12.0",
1522 | "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz",
1523 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1524 | "dev": true,
1525 | "license": "MIT",
1526 | "engines": {
1527 | "node": ">=4"
1528 | }
1529 | },
1530 | "node_modules/html-entities": {
1531 | "version": "2.3.3",
1532 | "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.3.3.tgz",
1533 | "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==",
1534 | "dev": true,
1535 | "license": "MIT"
1536 | },
1537 | "node_modules/is-what": {
1538 | "version": "4.1.16",
1539 | "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz",
1540 | "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==",
1541 | "dev": true,
1542 | "license": "MIT",
1543 | "engines": {
1544 | "node": ">=12.13"
1545 | },
1546 | "funding": {
1547 | "url": "https://github.com/sponsors/mesqueeb"
1548 | }
1549 | },
1550 | "node_modules/js-tokens": {
1551 | "version": "4.0.0",
1552 | "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
1553 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1554 | "dev": true,
1555 | "license": "MIT"
1556 | },
1557 | "node_modules/jsesc": {
1558 | "version": "3.1.0",
1559 | "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz",
1560 | "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
1561 | "dev": true,
1562 | "license": "MIT",
1563 | "bin": {
1564 | "jsesc": "bin/jsesc"
1565 | },
1566 | "engines": {
1567 | "node": ">=6"
1568 | }
1569 | },
1570 | "node_modules/json5": {
1571 | "version": "2.2.3",
1572 | "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
1573 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
1574 | "dev": true,
1575 | "license": "MIT",
1576 | "bin": {
1577 | "json5": "lib/cli.js"
1578 | },
1579 | "engines": {
1580 | "node": ">=6"
1581 | }
1582 | },
1583 | "node_modules/lru-cache": {
1584 | "version": "5.1.1",
1585 | "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
1586 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1587 | "dev": true,
1588 | "license": "ISC",
1589 | "dependencies": {
1590 | "yallist": "^3.0.2"
1591 | }
1592 | },
1593 | "node_modules/merge-anything": {
1594 | "version": "5.1.7",
1595 | "resolved": "https://registry.npmmirror.com/merge-anything/-/merge-anything-5.1.7.tgz",
1596 | "integrity": "sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==",
1597 | "dev": true,
1598 | "license": "MIT",
1599 | "dependencies": {
1600 | "is-what": "^4.1.8"
1601 | },
1602 | "engines": {
1603 | "node": ">=12.13"
1604 | },
1605 | "funding": {
1606 | "url": "https://github.com/sponsors/mesqueeb"
1607 | }
1608 | },
1609 | "node_modules/ms": {
1610 | "version": "2.1.3",
1611 | "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
1612 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1613 | "dev": true,
1614 | "license": "MIT"
1615 | },
1616 | "node_modules/nanoid": {
1617 | "version": "3.3.8",
1618 | "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.8.tgz",
1619 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
1620 | "dev": true,
1621 | "funding": [
1622 | {
1623 | "type": "github",
1624 | "url": "https://github.com/sponsors/ai"
1625 | }
1626 | ],
1627 | "license": "MIT",
1628 | "bin": {
1629 | "nanoid": "bin/nanoid.cjs"
1630 | },
1631 | "engines": {
1632 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1633 | }
1634 | },
1635 | "node_modules/node-releases": {
1636 | "version": "2.0.19",
1637 | "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz",
1638 | "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
1639 | "dev": true,
1640 | "license": "MIT"
1641 | },
1642 | "node_modules/parse5": {
1643 | "version": "7.2.1",
1644 | "resolved": "https://registry.npmmirror.com/parse5/-/parse5-7.2.1.tgz",
1645 | "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==",
1646 | "dev": true,
1647 | "license": "MIT",
1648 | "dependencies": {
1649 | "entities": "^4.5.0"
1650 | },
1651 | "funding": {
1652 | "url": "https://github.com/inikulin/parse5?sponsor=1"
1653 | }
1654 | },
1655 | "node_modules/picocolors": {
1656 | "version": "1.1.1",
1657 | "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
1658 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1659 | "dev": true,
1660 | "license": "ISC"
1661 | },
1662 | "node_modules/postcss": {
1663 | "version": "8.4.49",
1664 | "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.49.tgz",
1665 | "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
1666 | "dev": true,
1667 | "funding": [
1668 | {
1669 | "type": "opencollective",
1670 | "url": "https://opencollective.com/postcss/"
1671 | },
1672 | {
1673 | "type": "tidelift",
1674 | "url": "https://tidelift.com/funding/github/npm/postcss"
1675 | },
1676 | {
1677 | "type": "github",
1678 | "url": "https://github.com/sponsors/ai"
1679 | }
1680 | ],
1681 | "license": "MIT",
1682 | "dependencies": {
1683 | "nanoid": "^3.3.7",
1684 | "picocolors": "^1.1.1",
1685 | "source-map-js": "^1.2.1"
1686 | },
1687 | "engines": {
1688 | "node": "^10 || ^12 || >=14"
1689 | }
1690 | },
1691 | "node_modules/rollup": {
1692 | "version": "4.28.1",
1693 | "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.28.1.tgz",
1694 | "integrity": "sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==",
1695 | "dev": true,
1696 | "license": "MIT",
1697 | "dependencies": {
1698 | "@types/estree": "1.0.6"
1699 | },
1700 | "bin": {
1701 | "rollup": "dist/bin/rollup"
1702 | },
1703 | "engines": {
1704 | "node": ">=18.0.0",
1705 | "npm": ">=8.0.0"
1706 | },
1707 | "optionalDependencies": {
1708 | "@rollup/rollup-android-arm-eabi": "4.28.1",
1709 | "@rollup/rollup-android-arm64": "4.28.1",
1710 | "@rollup/rollup-darwin-arm64": "4.28.1",
1711 | "@rollup/rollup-darwin-x64": "4.28.1",
1712 | "@rollup/rollup-freebsd-arm64": "4.28.1",
1713 | "@rollup/rollup-freebsd-x64": "4.28.1",
1714 | "@rollup/rollup-linux-arm-gnueabihf": "4.28.1",
1715 | "@rollup/rollup-linux-arm-musleabihf": "4.28.1",
1716 | "@rollup/rollup-linux-arm64-gnu": "4.28.1",
1717 | "@rollup/rollup-linux-arm64-musl": "4.28.1",
1718 | "@rollup/rollup-linux-loongarch64-gnu": "4.28.1",
1719 | "@rollup/rollup-linux-powerpc64le-gnu": "4.28.1",
1720 | "@rollup/rollup-linux-riscv64-gnu": "4.28.1",
1721 | "@rollup/rollup-linux-s390x-gnu": "4.28.1",
1722 | "@rollup/rollup-linux-x64-gnu": "4.28.1",
1723 | "@rollup/rollup-linux-x64-musl": "4.28.1",
1724 | "@rollup/rollup-win32-arm64-msvc": "4.28.1",
1725 | "@rollup/rollup-win32-ia32-msvc": "4.28.1",
1726 | "@rollup/rollup-win32-x64-msvc": "4.28.1",
1727 | "fsevents": "~2.3.2"
1728 | }
1729 | },
1730 | "node_modules/semver": {
1731 | "version": "6.3.1",
1732 | "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
1733 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
1734 | "dev": true,
1735 | "license": "ISC",
1736 | "bin": {
1737 | "semver": "bin/semver.js"
1738 | }
1739 | },
1740 | "node_modules/seroval": {
1741 | "version": "1.1.1",
1742 | "resolved": "https://registry.npmmirror.com/seroval/-/seroval-1.1.1.tgz",
1743 | "integrity": "sha512-rqEO6FZk8mv7Hyv4UCj3FD3b6Waqft605TLfsCe/BiaylRpyyMC0b+uA5TJKawX3KzMrdi3wsLbCaLplrQmBvQ==",
1744 | "license": "MIT",
1745 | "engines": {
1746 | "node": ">=10"
1747 | }
1748 | },
1749 | "node_modules/seroval-plugins": {
1750 | "version": "1.1.1",
1751 | "resolved": "https://registry.npmmirror.com/seroval-plugins/-/seroval-plugins-1.1.1.tgz",
1752 | "integrity": "sha512-qNSy1+nUj7hsCOon7AO4wdAIo9P0jrzAMp18XhiOzA6/uO5TKtP7ScozVJ8T293oRIvi5wyCHSM4TrJo/c/GJA==",
1753 | "license": "MIT",
1754 | "engines": {
1755 | "node": ">=10"
1756 | },
1757 | "peerDependencies": {
1758 | "seroval": "^1.0"
1759 | }
1760 | },
1761 | "node_modules/solid-js": {
1762 | "version": "1.9.5",
1763 | "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.5.tgz",
1764 | "integrity": "sha512-ogI3DaFcyn6UhYhrgcyRAMbu/buBJitYQASZz5WzfQVPP10RD2AbCoRZ517psnezrasyCbWzIxZ6kVqet768xw==",
1765 | "license": "MIT",
1766 | "dependencies": {
1767 | "csstype": "^3.1.0",
1768 | "seroval": "^1.1.0",
1769 | "seroval-plugins": "^1.1.0"
1770 | }
1771 | },
1772 | "node_modules/solid-refresh": {
1773 | "version": "0.6.3",
1774 | "resolved": "https://registry.npmmirror.com/solid-refresh/-/solid-refresh-0.6.3.tgz",
1775 | "integrity": "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==",
1776 | "dev": true,
1777 | "license": "MIT",
1778 | "dependencies": {
1779 | "@babel/generator": "^7.23.6",
1780 | "@babel/helper-module-imports": "^7.22.15",
1781 | "@babel/types": "^7.23.6"
1782 | },
1783 | "peerDependencies": {
1784 | "solid-js": "^1.3"
1785 | }
1786 | },
1787 | "node_modules/source-map-js": {
1788 | "version": "1.2.1",
1789 | "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz",
1790 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
1791 | "dev": true,
1792 | "license": "BSD-3-Clause",
1793 | "engines": {
1794 | "node": ">=0.10.0"
1795 | }
1796 | },
1797 | "node_modules/typescript": {
1798 | "version": "5.7.2",
1799 | "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.7.2.tgz",
1800 | "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
1801 | "dev": true,
1802 | "license": "Apache-2.0",
1803 | "bin": {
1804 | "tsc": "bin/tsc",
1805 | "tsserver": "bin/tsserver"
1806 | },
1807 | "engines": {
1808 | "node": ">=14.17"
1809 | }
1810 | },
1811 | "node_modules/update-browserslist-db": {
1812 | "version": "1.1.1",
1813 | "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
1814 | "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
1815 | "dev": true,
1816 | "funding": [
1817 | {
1818 | "type": "opencollective",
1819 | "url": "https://opencollective.com/browserslist"
1820 | },
1821 | {
1822 | "type": "tidelift",
1823 | "url": "https://tidelift.com/funding/github/npm/browserslist"
1824 | },
1825 | {
1826 | "type": "github",
1827 | "url": "https://github.com/sponsors/ai"
1828 | }
1829 | ],
1830 | "license": "MIT",
1831 | "dependencies": {
1832 | "escalade": "^3.2.0",
1833 | "picocolors": "^1.1.0"
1834 | },
1835 | "bin": {
1836 | "update-browserslist-db": "cli.js"
1837 | },
1838 | "peerDependencies": {
1839 | "browserslist": ">= 4.21.0"
1840 | }
1841 | },
1842 | "node_modules/uuid": {
1843 | "version": "10.0.0",
1844 | "resolved": "https://registry.npmmirror.com/uuid/-/uuid-10.0.0.tgz",
1845 | "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
1846 | "dev": true,
1847 | "funding": [
1848 | "https://github.com/sponsors/broofa",
1849 | "https://github.com/sponsors/ctavan"
1850 | ],
1851 | "license": "MIT",
1852 | "bin": {
1853 | "uuid": "dist/bin/uuid"
1854 | }
1855 | },
1856 | "node_modules/validate-html-nesting": {
1857 | "version": "1.2.2",
1858 | "resolved": "https://registry.npmmirror.com/validate-html-nesting/-/validate-html-nesting-1.2.2.tgz",
1859 | "integrity": "sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==",
1860 | "dev": true,
1861 | "license": "ISC"
1862 | },
1863 | "node_modules/vite": {
1864 | "version": "5.4.14",
1865 | "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz",
1866 | "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==",
1867 | "dev": true,
1868 | "license": "MIT",
1869 | "dependencies": {
1870 | "esbuild": "^0.21.3",
1871 | "postcss": "^8.4.43",
1872 | "rollup": "^4.20.0"
1873 | },
1874 | "bin": {
1875 | "vite": "bin/vite.js"
1876 | },
1877 | "engines": {
1878 | "node": "^18.0.0 || >=20.0.0"
1879 | },
1880 | "funding": {
1881 | "url": "https://github.com/vitejs/vite?sponsor=1"
1882 | },
1883 | "optionalDependencies": {
1884 | "fsevents": "~2.3.3"
1885 | },
1886 | "peerDependencies": {
1887 | "@types/node": "^18.0.0 || >=20.0.0",
1888 | "less": "*",
1889 | "lightningcss": "^1.21.0",
1890 | "sass": "*",
1891 | "sass-embedded": "*",
1892 | "stylus": "*",
1893 | "sugarss": "*",
1894 | "terser": "^5.4.0"
1895 | },
1896 | "peerDependenciesMeta": {
1897 | "@types/node": {
1898 | "optional": true
1899 | },
1900 | "less": {
1901 | "optional": true
1902 | },
1903 | "lightningcss": {
1904 | "optional": true
1905 | },
1906 | "sass": {
1907 | "optional": true
1908 | },
1909 | "sass-embedded": {
1910 | "optional": true
1911 | },
1912 | "stylus": {
1913 | "optional": true
1914 | },
1915 | "sugarss": {
1916 | "optional": true
1917 | },
1918 | "terser": {
1919 | "optional": true
1920 | }
1921 | }
1922 | },
1923 | "node_modules/vite-plugin-solid": {
1924 | "version": "2.11.0",
1925 | "resolved": "https://registry.npmmirror.com/vite-plugin-solid/-/vite-plugin-solid-2.11.0.tgz",
1926 | "integrity": "sha512-G+NiwDj4EAeUE0wt3Ur9f+Lt9oMUuLd0FIxYuqwJSqRacKQRteCwUFzNy8zMEt88xWokngQhiFjfJMhjc1fDXw==",
1927 | "dev": true,
1928 | "license": "MIT",
1929 | "dependencies": {
1930 | "@babel/core": "^7.23.3",
1931 | "@types/babel__core": "^7.20.4",
1932 | "babel-preset-solid": "^1.8.4",
1933 | "merge-anything": "^5.1.7",
1934 | "solid-refresh": "^0.6.3",
1935 | "vitefu": "^1.0.4"
1936 | },
1937 | "peerDependencies": {
1938 | "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*",
1939 | "solid-js": "^1.7.2",
1940 | "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
1941 | },
1942 | "peerDependenciesMeta": {
1943 | "@testing-library/jest-dom": {
1944 | "optional": true
1945 | }
1946 | }
1947 | },
1948 | "node_modules/vite-plugin-top-level-await": {
1949 | "version": "1.4.4",
1950 | "resolved": "https://registry.npmmirror.com/vite-plugin-top-level-await/-/vite-plugin-top-level-await-1.4.4.tgz",
1951 | "integrity": "sha512-QyxQbvcMkgt+kDb12m2P8Ed35Sp6nXP+l8ptGrnHV9zgYDUpraO0CPdlqLSeBqvY2DToR52nutDG7mIHuysdiw==",
1952 | "dev": true,
1953 | "license": "MIT",
1954 | "dependencies": {
1955 | "@rollup/plugin-virtual": "^3.0.2",
1956 | "@swc/core": "^1.7.0",
1957 | "uuid": "^10.0.0"
1958 | },
1959 | "peerDependencies": {
1960 | "vite": ">=2.8"
1961 | }
1962 | },
1963 | "node_modules/vite-plugin-wasm": {
1964 | "version": "3.3.0",
1965 | "resolved": "https://registry.npmmirror.com/vite-plugin-wasm/-/vite-plugin-wasm-3.3.0.tgz",
1966 | "integrity": "sha512-tVhz6w+W9MVsOCHzxo6SSMSswCeIw4HTrXEi6qL3IRzATl83jl09JVO1djBqPSwfjgnpVHNLYcaMbaDX5WB/pg==",
1967 | "dev": true,
1968 | "license": "MIT",
1969 | "peerDependencies": {
1970 | "vite": "^2 || ^3 || ^4 || ^5"
1971 | }
1972 | },
1973 | "node_modules/vitefu": {
1974 | "version": "1.0.4",
1975 | "resolved": "https://registry.npmmirror.com/vitefu/-/vitefu-1.0.4.tgz",
1976 | "integrity": "sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==",
1977 | "dev": true,
1978 | "license": "MIT",
1979 | "workspaces": [
1980 | "tests/deps/*",
1981 | "tests/projects/*"
1982 | ],
1983 | "peerDependencies": {
1984 | "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
1985 | },
1986 | "peerDependenciesMeta": {
1987 | "vite": {
1988 | "optional": true
1989 | }
1990 | }
1991 | },
1992 | "node_modules/yallist": {
1993 | "version": "3.1.1",
1994 | "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
1995 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
1996 | "dev": true,
1997 | "license": "ISC"
1998 | }
1999 | }
2000 | }
2001 |
--------------------------------------------------------------------------------
/osmos-web/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "osmos-web",
3 | "version": "0.0.0",
4 | "scripts": {
5 | "start": "vite --host 0.0.0.0",
6 | "dev": "vite --host 0.0.0.0",
7 | "build": "vite build",
8 | "serve": "vite preview"
9 | },
10 | "devDependencies": {
11 | "typescript": "^5.7.2",
12 | "vite": "^5.4.14",
13 | "vite-plugin-solid": "^2.11.0",
14 | "vite-plugin-top-level-await": "^1.4.4",
15 | "vite-plugin-wasm": "^3.3.0"
16 | },
17 | "dependencies": {
18 | "solid-js": "^1.9.5"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/osmos-web/public/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/osmos-web/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { createSignal, onCleanup, onMount } from "solid-js";
2 | import * as osmos from "../osmos-wasm";
3 |
4 | const colorList = [
5 | "#FFF1DC",
6 | "#E8D5C4",
7 | "#EEEEEE",
8 | "#F7C8E0",
9 | "#DFFFD8",
10 | "#B4E4FF",
11 | "#95BDFF",
12 | "#F47C7C",
13 | "#7DB9B6",
14 | "#F0A04B",
15 | ];
16 |
17 | const size = 900;
18 | const simulator = new osmos.Simulator();
19 |
20 | const App = () => {
21 | const [speedInput, setSpeedInput] = createSignal(1);
22 | const [speed, setSpeed] = createSignal(1);
23 | const [epoch, setEpoch] = createSignal(1);
24 | const [step, setStep] = createSignal(1);
25 | const [population, setPopulation] = createSignal(1);
26 |
27 | let canvas: HTMLCanvasElement;
28 |
29 | onMount(() => {
30 | const ctx = canvas!.getContext("2d");
31 |
32 | const render = () => {
33 | ctx!.clearRect(0, 0, size, size);
34 |
35 | setEpoch(simulator.getEpochCount());
36 | setStep(simulator.getStepCount());
37 |
38 | const objectList = simulator.getObjectList();
39 | setPopulation(objectList.length);
40 |
41 | for (let object of objectList) {
42 | ctx!.beginPath();
43 | ctx!.fillStyle = colorList[object.id % colorList.length];
44 | ctx!.arc(
45 | object.x * size,
46 | (1 - object.y) * size,
47 | object.energy,
48 | 0,
49 | 2 * Math.PI
50 | );
51 | ctx!.fill();
52 | }
53 |
54 | for (let i = 0; i < speed(); i++) {
55 | simulator.step();
56 | }
57 |
58 | frame = requestAnimationFrame(render);
59 | };
60 |
61 | let frame = requestAnimationFrame(render);
62 |
63 | onCleanup(() => cancelAnimationFrame(frame));
64 | });
65 |
66 | return (
67 | <>
68 |
69 |
96 |
97 |
98 |
99 |
105 |
106 | >
107 | );
108 | };
109 |
110 | export default App;
111 |
--------------------------------------------------------------------------------
/osmos-web/src/index.css:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: sans-serif;
3 | color-scheme: dark;
4 | background-color: #242424;
5 | }
6 |
7 | body {
8 | margin: 0;
9 | width: 100%;
10 | height: 100%;
11 | }
12 |
13 | #app {
14 | margin: 0 auto;
15 | text-align: center;
16 | }
17 |
18 | #info,
19 | #footer {
20 | margin: 10px;
21 | font-size: 1.2rem;
22 | color: #17c3b2;
23 | }
24 |
25 | a {
26 | color: #17c3b2;
27 | }
28 |
29 | canvas {
30 | border: #17c3b2 solid;
31 | margin: 5px;
32 | }
33 |
34 | input {
35 | padding: 0.8em 1.8em;
36 | border: 2px solid #17c3b2;
37 | position: relative;
38 | overflow: hidden;
39 | background-color: transparent;
40 | text-transform: uppercase;
41 | font-size: 16px;
42 | color: #17c3b2;
43 | }
44 |
45 | button {
46 | padding: 0.8em 1.8em;
47 | border: 2px solid #17c3b2;
48 | position: relative;
49 | overflow: hidden;
50 | background-color: transparent;
51 | text-align: center;
52 | text-transform: uppercase;
53 | font-size: 16px;
54 | transition: 0.3s;
55 | z-index: 1;
56 | color: #17c3b2;
57 | }
58 |
59 | button::before {
60 | content: "";
61 | width: 0;
62 | height: 300%;
63 | position: absolute;
64 | top: 50%;
65 | left: 50%;
66 | transform: translate(-50%, -50%) rotate(45deg);
67 | background: #17c3b2;
68 | transition: 0.5s ease;
69 | display: block;
70 | z-index: -1;
71 | }
72 |
73 | button:hover::before {
74 | width: 105%;
75 | }
76 |
77 | button:hover {
78 | color: #242424;
79 | }
80 |
--------------------------------------------------------------------------------
/osmos-web/src/index.tsx:
--------------------------------------------------------------------------------
1 | /* @refresh reload */
2 | import { render } from "solid-js/web";
3 |
4 | import "./index.css";
5 | import App from "./App";
6 |
7 | const root = document.getElementById("root");
8 |
9 | if (import.meta.env.DEV && !(root instanceof HTMLElement)) {
10 | throw new Error(
11 | "Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got mispelled?"
12 | );
13 | }
14 |
15 | render(() => , root!);
16 |
--------------------------------------------------------------------------------
/osmos-web/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "strict": true,
4 | "target": "ESNext",
5 | "module": "ESNext",
6 | "moduleResolution": "node",
7 | "allowSyntheticDefaultImports": true,
8 | "esModuleInterop": true,
9 | "jsx": "preserve",
10 | "jsxImportSource": "solid-js",
11 | "types": ["vite/client"],
12 | "noEmit": true,
13 | "isolatedModules": true
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/osmos-web/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import solidPlugin from "vite-plugin-solid";
3 | import wasm from "vite-plugin-wasm";
4 | import topLevelAwait from "vite-plugin-top-level-await";
5 |
6 | export default defineConfig({
7 | plugins: [solidPlugin(), wasm(), topLevelAwait()],
8 | server: {
9 | port: 8000,
10 | },
11 | build: {
12 | target: "esnext",
13 | },
14 | });
15 |
--------------------------------------------------------------------------------