@@ -7,6 +7,12 @@
77 "": {
88 "name": "urbit-astrolabe",
99 "version": "0.0.0",
10+ "dependencies": {
11+ "@tlon/phonemes-js": "^1.0.0",
12+ "@tlon/sigil-js": "^1.4.5",
13+ "@urbit/api": "^2.1.0",
14+ "@urbit/http-api": "^2.1.0"
15+ },
1016 "devDependencies": {
1117 "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30",
1218 "@tsconfig/svelte": "^2.0.1",
@@ -18,6 +24,7 @@
1824 "svelte": "^3.44.0",
1925 "svelte-check": "^2.2.7",
2026 "svelte-preprocess": "^4.9.8",
27+ "svelte-spa-router": "^3.2.0",
2128 "tailwindcss": "^3.0.12",
2229 "tslib": "^2.3.1",
2330 "typescript": "^4.4.4",
@@ -121,6 +128,22 @@
121128 "node": ">=4"
122129 }
123130 },
131+ "node_modules/@babel/runtime": {
132+ "version": "7.16.7",
133+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz",
134+ "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==",
135+ "dependencies": {
136+ "regenerator-runtime": "^0.13.4"
137+ },
138+ "engines": {
139+ "node": ">=6.9.0"
140+ }
141+ },
142+ "node_modules/@microsoft/fetch-event-source": {
143+ "version": "2.0.1",
144+ "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz",
145+ "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA=="
146+ },
124147 "node_modules/@nodelib/fs.scandir": {
125148 "version": "2.1.5",
126149 "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -196,6 +219,24 @@
196219 }
197220 }
198221 },
222+ "node_modules/@tlon/phonemes-js": {
223+ "version": "1.0.0",
224+ "resolved": "https://registry.npmjs.org/@tlon/phonemes-js/-/phonemes-js-1.0.0.tgz",
225+ "integrity": "sha512-o8zLHidOYkn5So6BSKduueoJBKBK97Q9Puwo/9Orae1DDhEGE8HqYvbGNaT6VuIMiuK8WoB/FAx5hHUrnQ5GxQ=="
226+ },
227+ "node_modules/@tlon/sigil-js": {
228+ "version": "1.4.5",
229+ "resolved": "https://registry.npmjs.org/@tlon/sigil-js/-/sigil-js-1.4.5.tgz",
230+ "integrity": "sha512-+Fn0EizPetjePaK+z8njjzE74wxzqIRLVM8W53Dlri6XU87wJ4vk82baVGgZQFAQs96rYM/f4WV7kCzuSxSMAw==",
231+ "dependencies": {
232+ "invariant": "^2.2.4",
233+ "svgson": "^4.0.0",
234+ "transformation-matrix": "2.1.1"
235+ },
236+ "peerDependencies": {
237+ "react": "^16 || ^17"
238+ }
239+ },
199240 "node_modules/@tsconfig/svelte": {
200241 "version": "2.0.1",
201242 "resolved": "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-2.0.1.tgz",
@@ -229,6 +270,29 @@
229270 "@types/node": "*"
230271 }
231272 },
273+ "node_modules/@urbit/api": {
274+ "version": "2.1.0",
275+ "resolved": "https://registry.npmjs.org/@urbit/api/-/api-2.1.0.tgz",
276+ "integrity": "sha512-2njwpvZ2s23gp5C4v9uDynU1wxrN33+vloqpvlErUhMR/4R6mXE4cMvsZzj/fCGOa0J3LRV/If7XmgG+kY69Tg==",
277+ "dependencies": {
278+ "@babel/runtime": "^7.16.0",
279+ "big-integer": "^1.6.48",
280+ "core-js": "^3.19.1",
281+ "immer": "^9.0.1",
282+ "urbit-ob": "^5.0.1"
283+ }
284+ },
285+ "node_modules/@urbit/http-api": {
286+ "version": "2.1.0",
287+ "resolved": "https://registry.npmjs.org/@urbit/http-api/-/http-api-2.1.0.tgz",
288+ "integrity": "sha512-eXYar3ofw1HlhHy2NSkJPCo//oZzfnrGXIJAKQ/gWSzd8x3o7eiiIQjoFbuWojaACy8T9fXsGzpxEqoXZlWDhw==",
289+ "dependencies": {
290+ "@babel/runtime": "^7.12.5",
291+ "@microsoft/fetch-event-source": "^2.0.0",
292+ "browser-or-node": "^1.3.0",
293+ "core-js": "^3.19.1"
294+ }
295+ },
232296 "node_modules/@urbit/vite-plugin-urbit": {
233297 "version": "0.8.0",
234298 "resolved": "https://registry.npmjs.org/@urbit/vite-plugin-urbit/-/vite-plugin-urbit-0.8.0.tgz",
@@ -359,6 +423,14 @@
359423 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
360424 "dev": true
361425 },
426+ "node_modules/big-integer": {
427+ "version": "1.6.51",
428+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
429+ "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
430+ "engines": {
431+ "node": ">=0.6"
432+ }
433+ },
362434 "node_modules/binary-extensions": {
363435 "version": "2.2.0",
364436 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -368,6 +440,11 @@
368440 "node": ">=8"
369441 }
370442 },
443+ "node_modules/bn.js": {
444+ "version": "4.12.0",
445+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
446+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
447+ },
371448 "node_modules/brace-expansion": {
372449 "version": "1.1.11",
373450 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -390,6 +467,11 @@
390467 "node": ">=8"
391468 }
392469 },
470+ "node_modules/browser-or-node": {
471+ "version": "1.3.0",
472+ "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.3.0.tgz",
473+ "integrity": "sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg=="
474+ },
393475 "node_modules/browserslist": {
394476 "version": "4.19.1",
395477 "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
@@ -568,6 +650,16 @@
568650 "node": ">=0.8"
569651 }
570652 },
653+ "node_modules/core-js": {
654+ "version": "3.20.2",
655+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.2.tgz",
656+ "integrity": "sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw==",
657+ "hasInstallScript": true,
658+ "funding": {
659+ "type": "opencollective",
660+ "url": "https://opencollective.com/core-js"
661+ }
662+ },
571663 "node_modules/cosmiconfig": {
572664 "version": "7.0.1",
573665 "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
@@ -658,6 +750,18 @@
658750 }
659751 }
660752 },
753+ "node_modules/deep-rename-keys": {
754+ "version": "0.2.1",
755+ "resolved": "https://registry.npmjs.org/deep-rename-keys/-/deep-rename-keys-0.2.1.tgz",
756+ "integrity": "sha1-7eeFN9emaivmFRfir5Vtf1ij8dg=",
757+ "dependencies": {
758+ "kind-of": "^3.0.2",
759+ "rename-keys": "^1.1.2"
760+ },
761+ "engines": {
762+ "node": ">=0.10.0"
763+ }
764+ },
661765 "node_modules/defined": {
662766 "version": "1.0.0",
663767 "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
@@ -1024,6 +1128,11 @@
10241128 "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
10251129 "dev": true
10261130 },
1131+ "node_modules/eventemitter3": {
1132+ "version": "2.0.3",
1133+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
1134+ "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo="
1135+ },
10271136 "node_modules/fast-glob": {
10281137 "version": "3.2.9",
10291138 "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.9.tgz",
@@ -1135,6 +1244,14 @@
11351244 "url": "https://github.com/sponsors/sindresorhus"
11361245 }
11371246 },
1247+ "node_modules/get-value": {
1248+ "version": "2.0.6",
1249+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
1250+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
1251+ "engines": {
1252+ "node": ">=0.10.0"
1253+ }
1254+ },
11381255 "node_modules/glob": {
11391256 "version": "7.2.0",
11401257 "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -1214,6 +1331,38 @@
12141331 "node": ">=8"
12151332 }
12161333 },
1334+ "node_modules/has-value": {
1335+ "version": "0.3.1",
1336+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
1337+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
1338+ "dependencies": {
1339+ "get-value": "^2.0.3",
1340+ "has-values": "^0.1.4",
1341+ "isobject": "^2.0.0"
1342+ },
1343+ "engines": {
1344+ "node": ">=0.10.0"
1345+ }
1346+ },
1347+ "node_modules/has-value/node_modules/isobject": {
1348+ "version": "2.1.0",
1349+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1350+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1351+ "dependencies": {
1352+ "isarray": "1.0.0"
1353+ },
1354+ "engines": {
1355+ "node": ">=0.10.0"
1356+ }
1357+ },
1358+ "node_modules/has-values": {
1359+ "version": "0.1.4",
1360+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
1361+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
1362+ "engines": {
1363+ "node": ">=0.10.0"
1364+ }
1365+ },
12171366 "node_modules/ignore": {
12181367 "version": "5.2.0",
12191368 "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@@ -1223,6 +1372,15 @@
12231372 "node": ">= 4"
12241373 }
12251374 },
1375+ "node_modules/immer": {
1376+ "version": "9.0.7",
1377+ "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.7.tgz",
1378+ "integrity": "sha512-KGllzpbamZDvOIxnmJ0jI840g7Oikx58lBPWV0hUh7dtAyZpFqqrBZdKka5GlTwMTZ1Tjc/bKKW4VSFAt6BqMA==",
1379+ "funding": {
1380+ "type": "opencollective",
1381+ "url": "https://opencollective.com/immer"
1382+ }
1383+ },
12261384 "node_modules/import-fresh": {
12271385 "version": "3.3.0",
12281386 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -1255,6 +1413,14 @@
12551413 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
12561414 "dev": true
12571415 },
1416+ "node_modules/invariant": {
1417+ "version": "2.2.4",
1418+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
1419+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
1420+ "dependencies": {
1421+ "loose-envify": "^1.0.0"
1422+ }
1423+ },
12581424 "node_modules/is-arrayish": {
12591425 "version": "0.2.1",
12601426 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -1273,6 +1439,11 @@
12731439 "node": ">=8"
12741440 }
12751441 },
1442+ "node_modules/is-buffer": {
1443+ "version": "1.1.6",
1444+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1445+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
1446+ },
12761447 "node_modules/is-core-module": {
12771448 "version": "2.8.1",
12781449 "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
@@ -1324,17 +1495,40 @@
13241495 "node": ">=0.12.0"
13251496 }
13261497 },
1498+ "node_modules/is-plain-object": {
1499+ "version": "2.0.4",
1500+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1501+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1502+ "dependencies": {
1503+ "isobject": "^3.0.1"
1504+ },
1505+ "engines": {
1506+ "node": ">=0.10.0"
1507+ }
1508+ },
1509+ "node_modules/isarray": {
1510+ "version": "1.0.0",
1511+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1512+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1513+ },
13271514 "node_modules/isexe": {
13281515 "version": "2.0.0",
13291516 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
13301517 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
13311518 "dev": true
13321519 },
1520+ "node_modules/isobject": {
1521+ "version": "3.0.1",
1522+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1523+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1524+ "engines": {
1525+ "node": ">=0.10.0"
1526+ }
1527+ },
13331528 "node_modules/js-tokens": {
13341529 "version": "4.0.0",
13351530 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1336− "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1337− "dev": true
1531+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
13381532 },
13391533 "node_modules/json-parse-even-better-errors": {
13401534 "version": "2.3.1",
@@ -1354,6 +1548,17 @@
13541548 "graceful-fs": "^4.1.6"
13551549 }
13561550 },
1551+ "node_modules/kind-of": {
1552+ "version": "3.2.2",
1553+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1554+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1555+ "dependencies": {
1556+ "is-buffer": "^1.1.5"
1557+ },
1558+ "engines": {
1559+ "node": ">=0.10.0"
1560+ }
1561+ },
13571562 "node_modules/kleur": {
13581563 "version": "4.1.4",
13591564 "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
@@ -1384,6 +1589,27 @@
13841589 "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
13851590 "dev": true
13861591 },
1592+ "node_modules/lodash.chunk": {
1593+ "version": "4.2.0",
1594+ "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz",
1595+ "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw="
1596+ },
1597+ "node_modules/lodash.isequal": {
1598+ "version": "4.5.0",
1599+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
1600+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
1601+ },
1602+ "node_modules/loose-envify": {
1603+ "version": "1.4.0",
1604+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1605+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1606+ "dependencies": {
1607+ "js-tokens": "^3.0.0 || ^4.0.0"
1608+ },
1609+ "bin": {
1610+ "loose-envify": "cli.js"
1611+ }
1612+ },
13871613 "node_modules/magic-string": {
13881614 "version": "0.25.7",
13891615 "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
@@ -1505,6 +1731,15 @@
15051731 "node": ">=0.10.0"
15061732 }
15071733 },
1734+ "node_modules/object-assign": {
1735+ "version": "4.1.1",
1736+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1737+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
1738+ "peer": true,
1739+ "engines": {
1740+ "node": ">=0.10.0"
1741+ }
1742+ },
15081743 "node_modules/object-hash": {
15091744 "version": "2.2.0",
15101745 "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
@@ -1514,6 +1749,18 @@
15141749 "node": ">= 6"
15151750 }
15161751 },
1752+ "node_modules/omit-deep": {
1753+ "version": "0.3.0",
1754+ "resolved": "https://registry.npmjs.org/omit-deep/-/omit-deep-0.3.0.tgz",
1755+ "integrity": "sha1-IcivNJm8rdKWUaIyy8rLxSRF6+w=",
1756+ "dependencies": {
1757+ "is-plain-object": "^2.0.1",
1758+ "unset-value": "^0.1.1"
1759+ },
1760+ "engines": {
1761+ "node": ">=0.10.0"
1762+ }
1763+ },
15171764 "node_modules/once": {
15181765 "version": "1.4.0",
15191766 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -1830,6 +2077,19 @@
18302077 "url": "https://github.com/sponsors/sindresorhus"
18312078 }
18322079 },
2080+ "node_modules/react": {
2081+ "version": "17.0.2",
2082+ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
2083+ "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
2084+ "peer": true,
2085+ "dependencies": {
2086+ "loose-envify": "^1.1.0",
2087+ "object-assign": "^4.1.1"
2088+ },
2089+ "engines": {
2090+ "node": ">=0.10.0"
2091+ }
2092+ },
18332093 "node_modules/read-cache": {
18342094 "version": "1.0.0",
18352095 "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -1851,6 +2111,28 @@
18512111 "node": ">=8.10.0"
18522112 }
18532113 },
2114+ "node_modules/regenerator-runtime": {
2115+ "version": "0.13.9",
2116+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
2117+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
2118+ },
2119+ "node_modules/regexparam": {
2120+ "version": "2.0.0",
2121+ "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-2.0.0.tgz",
2122+ "integrity": "sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow==",
2123+ "dev": true,
2124+ "engines": {
2125+ "node": ">=8"
2126+ }
2127+ },
2128+ "node_modules/rename-keys": {
2129+ "version": "1.2.0",
2130+ "resolved": "https://registry.npmjs.org/rename-keys/-/rename-keys-1.2.0.tgz",
2131+ "integrity": "sha512-U7XpAktpbSgHTRSNRrjKSrjYkZKuhUukfoBlXWXUExCAqhzh1TU3BDRAfJmarcl5voKS+pbKU9MvyLWKZ4UEEg==",
2132+ "engines": {
2133+ "node": ">= 0.8.0"
2134+ }
2135+ },
18542136 "node_modules/require-directory": {
18552137 "version": "2.1.1",
18562138 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -2241,6 +2523,28 @@
22412523 }
22422524 }
22432525 },
2526+ "node_modules/svelte-spa-router": {
2527+ "version": "3.2.0",
2528+ "resolved": "https://registry.npmjs.org/svelte-spa-router/-/svelte-spa-router-3.2.0.tgz",
2529+ "integrity": "sha512-igemo5Vs82TGBBw+DjWt6qKameXYzNs6aDXcTxou5XbEvOjiRcAM6MLkdVRCatn6u8r42dE99bt/br7T4qe/AQ==",
2530+ "dev": true,
2531+ "dependencies": {
2532+ "regexparam": "2.0.0"
2533+ },
2534+ "funding": {
2535+ "url": "https://github.com/sponsors/ItalyPaleAle"
2536+ }
2537+ },
2538+ "node_modules/svgson": {
2539+ "version": "4.1.0",
2540+ "resolved": "https://registry.npmjs.org/svgson/-/svgson-4.1.0.tgz",
2541+ "integrity": "sha512-DodISxHtdLKUghDYA+PGK4Qq350+CbBAkdvGLkBFSmWd9WKSg4dijgjB1IiRPTmsUCd+a7KYe+ILHtklYgQyzQ==",
2542+ "dependencies": {
2543+ "deep-rename-keys": "^0.2.1",
2544+ "omit-deep": "0.3.0",
2545+ "xml-reader": "2.4.3"
2546+ }
2547+ },
22442548 "node_modules/tailwindcss": {
22452549 "version": "3.0.12",
22462550 "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.12.tgz",
@@ -2310,6 +2614,11 @@
23102614 "node": ">=8.0"
23112615 }
23122616 },
2617+ "node_modules/transformation-matrix": {
2618+ "version": "2.1.1",
2619+ "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-2.1.1.tgz",
2620+ "integrity": "sha512-74MoNHhwLVuzwaPDcAecFjSkOA9vwWqyOdkeB0Be8Jc/IWSS5SNZKapFllqzkTliqZptkvqX5CZnVeDvfhN8cw=="
2621+ },
23132622 "node_modules/tree-kill": {
23142623 "version": "1.2.2",
23152624 "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
@@ -2347,6 +2656,28 @@
23472656 "node": ">= 10.0.0"
23482657 }
23492658 },
2659+ "node_modules/unset-value": {
2660+ "version": "0.1.2",
2661+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-0.1.2.tgz",
2662+ "integrity": "sha1-UGgQuGfyfCpabpsEgzYx9t5Y0xA=",
2663+ "dependencies": {
2664+ "has-value": "^0.3.1",
2665+ "isobject": "^3.0.0"
2666+ },
2667+ "engines": {
2668+ "node": ">=0.10.0"
2669+ }
2670+ },
2671+ "node_modules/urbit-ob": {
2672+ "version": "5.0.1",
2673+ "resolved": "https://registry.npmjs.org/urbit-ob/-/urbit-ob-5.0.1.tgz",
2674+ "integrity": "sha512-qGNAwu87XNkW3g8ah4fUwmh2EKXtsdhEbyEiE5qX4Op17rhLH3HSkvu8g9z+MhqX51Uz9sf8ktvqJj/IRwETIQ==",
2675+ "dependencies": {
2676+ "bn.js": "^4.11.8",
2677+ "lodash.chunk": "^4.2.0",
2678+ "lodash.isequal": "^4.5.0"
2679+ }
2680+ },
23502681 "node_modules/util-deprecate": {
23512682 "version": "1.0.2",
23522683 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -2455,6 +2786,23 @@
24552786 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
24562787 "dev": true
24572788 },
2789+ "node_modules/xml-lexer": {
2790+ "version": "0.2.2",
2791+ "resolved": "https://registry.npmjs.org/xml-lexer/-/xml-lexer-0.2.2.tgz",
2792+ "integrity": "sha1-UYGTpKozTVj8fSSLVJB5uJkH4EY=",
2793+ "dependencies": {
2794+ "eventemitter3": "^2.0.0"
2795+ }
2796+ },
2797+ "node_modules/xml-reader": {
2798+ "version": "2.4.3",
2799+ "resolved": "https://registry.npmjs.org/xml-reader/-/xml-reader-2.4.3.tgz",
2800+ "integrity": "sha1-n4EMr3xCWlqvuEixxFEDyecddTA=",
2801+ "dependencies": {
2802+ "eventemitter3": "^2.0.0",
2803+ "xml-lexer": "^0.2.2"
2804+ }
2805+ },
24582806 "node_modules/xtend": {
24592807 "version": "4.0.2",
24602808 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
@@ -2589,6 +2937,19 @@
25892937 }
25902938 }
25912939 },
2940+ "@babel/runtime": {
2941+ "version": "7.16.7",
2942+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz",
2943+ "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==",
2944+ "requires": {
2945+ "regenerator-runtime": "^0.13.4"
2946+ }
2947+ },
2948+ "@microsoft/fetch-event-source": {
2949+ "version": "2.0.1",
2950+ "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz",
2951+ "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA=="
2952+ },
25922953 "@nodelib/fs.scandir": {
25932954 "version": "2.1.5",
25942955 "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -2639,6 +3000,21 @@
26393000 "svelte-hmr": "^0.14.9"
26403001 }
26413002 },
3003+ "@tlon/phonemes-js": {
3004+ "version": "1.0.0",
3005+ "resolved": "https://registry.npmjs.org/@tlon/phonemes-js/-/phonemes-js-1.0.0.tgz",
3006+ "integrity": "sha512-o8zLHidOYkn5So6BSKduueoJBKBK97Q9Puwo/9Orae1DDhEGE8HqYvbGNaT6VuIMiuK8WoB/FAx5hHUrnQ5GxQ=="
3007+ },
3008+ "@tlon/sigil-js": {
3009+ "version": "1.4.5",
3010+ "resolved": "https://registry.npmjs.org/@tlon/sigil-js/-/sigil-js-1.4.5.tgz",
3011+ "integrity": "sha512-+Fn0EizPetjePaK+z8njjzE74wxzqIRLVM8W53Dlri6XU87wJ4vk82baVGgZQFAQs96rYM/f4WV7kCzuSxSMAw==",
3012+ "requires": {
3013+ "invariant": "^2.2.4",
3014+ "svgson": "^4.0.0",
3015+ "transformation-matrix": "2.1.1"
3016+ }
3017+ },
26423018 "@tsconfig/svelte": {
26433019 "version": "2.0.1",
26443020 "resolved": "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-2.0.1.tgz",
@@ -2672,6 +3048,29 @@
26723048 "@types/node": "*"
26733049 }
26743050 },
3051+ "@urbit/api": {
3052+ "version": "2.1.0",
3053+ "resolved": "https://registry.npmjs.org/@urbit/api/-/api-2.1.0.tgz",
3054+ "integrity": "sha512-2njwpvZ2s23gp5C4v9uDynU1wxrN33+vloqpvlErUhMR/4R6mXE4cMvsZzj/fCGOa0J3LRV/If7XmgG+kY69Tg==",
3055+ "requires": {
3056+ "@babel/runtime": "^7.16.0",
3057+ "big-integer": "^1.6.48",
3058+ "core-js": "^3.19.1",
3059+ "immer": "^9.0.1",
3060+ "urbit-ob": "^5.0.1"
3061+ }
3062+ },
3063+ "@urbit/http-api": {
3064+ "version": "2.1.0",
3065+ "resolved": "https://registry.npmjs.org/@urbit/http-api/-/http-api-2.1.0.tgz",
3066+ "integrity": "sha512-eXYar3ofw1HlhHy2NSkJPCo//oZzfnrGXIJAKQ/gWSzd8x3o7eiiIQjoFbuWojaACy8T9fXsGzpxEqoXZlWDhw==",
3067+ "requires": {
3068+ "@babel/runtime": "^7.12.5",
3069+ "@microsoft/fetch-event-source": "^2.0.0",
3070+ "browser-or-node": "^1.3.0",
3071+ "core-js": "^3.19.1"
3072+ }
3073+ },
26753074 "@urbit/vite-plugin-urbit": {
26763075 "version": "0.8.0",
26773076 "resolved": "https://registry.npmjs.org/@urbit/vite-plugin-urbit/-/vite-plugin-urbit-0.8.0.tgz",
@@ -2762,12 +3161,22 @@
27623161 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
27633162 "dev": true
27643163 },
3164+ "big-integer": {
3165+ "version": "1.6.51",
3166+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
3167+ "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg=="
3168+ },
27653169 "binary-extensions": {
27663170 "version": "2.2.0",
27673171 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
27683172 "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
27693173 "dev": true
27703174 },
3175+ "bn.js": {
3176+ "version": "4.12.0",
3177+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
3178+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
3179+ },
27713180 "brace-expansion": {
27723181 "version": "1.1.11",
27733182 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -2787,6 +3196,11 @@
27873196 "fill-range": "^7.0.1"
27883197 }
27893198 },
3199+ "browser-or-node": {
3200+ "version": "1.3.0",
3201+ "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.3.0.tgz",
3202+ "integrity": "sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg=="
3203+ },
27903204 "browserslist": {
27913205 "version": "4.19.1",
27923206 "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
@@ -2915,6 +3329,11 @@
29153329 "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
29163330 "dev": true
29173331 },
3332+ "core-js": {
3333+ "version": "3.20.2",
3334+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.2.tgz",
3335+ "integrity": "sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw=="
3336+ },
29183337 "cosmiconfig": {
29193338 "version": "7.0.1",
29203339 "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
@@ -2969,6 +3388,15 @@
29693388 "ms": "2.1.2"
29703389 }
29713390 },
3391+ "deep-rename-keys": {
3392+ "version": "0.2.1",
3393+ "resolved": "https://registry.npmjs.org/deep-rename-keys/-/deep-rename-keys-0.2.1.tgz",
3394+ "integrity": "sha1-7eeFN9emaivmFRfir5Vtf1ij8dg=",
3395+ "requires": {
3396+ "kind-of": "^3.0.2",
3397+ "rename-keys": "^1.1.2"
3398+ }
3399+ },
29723400 "defined": {
29733401 "version": "1.0.0",
29743402 "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
@@ -3208,6 +3636,11 @@
32083636 "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
32093637 "dev": true
32103638 },
3639+ "eventemitter3": {
3640+ "version": "2.0.3",
3641+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
3642+ "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo="
3643+ },
32113644 "fast-glob": {
32123645 "version": "3.2.9",
32133646 "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.9.tgz",
@@ -3287,6 +3720,11 @@
32873720 "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
32883721 "dev": true
32893722 },
3723+ "get-value": {
3724+ "version": "2.0.6",
3725+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
3726+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
3727+ },
32903728 "glob": {
32913729 "version": "7.2.0",
32923730 "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -3345,12 +3783,42 @@
33453783 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
33463784 "dev": true
33473785 },
3786+ "has-value": {
3787+ "version": "0.3.1",
3788+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
3789+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
3790+ "requires": {
3791+ "get-value": "^2.0.3",
3792+ "has-values": "^0.1.4",
3793+ "isobject": "^2.0.0"
3794+ },
3795+ "dependencies": {
3796+ "isobject": {
3797+ "version": "2.1.0",
3798+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
3799+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
3800+ "requires": {
3801+ "isarray": "1.0.0"
3802+ }
3803+ }
3804+ }
3805+ },
3806+ "has-values": {
3807+ "version": "0.1.4",
3808+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
3809+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
3810+ },
33483811 "ignore": {
33493812 "version": "5.2.0",
33503813 "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
33513814 "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
33523815 "dev": true
33533816 },
3817+ "immer": {
3818+ "version": "9.0.7",
3819+ "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.7.tgz",
3820+ "integrity": "sha512-KGllzpbamZDvOIxnmJ0jI840g7Oikx58lBPWV0hUh7dtAyZpFqqrBZdKka5GlTwMTZ1Tjc/bKKW4VSFAt6BqMA=="
3821+ },
33543822 "import-fresh": {
33553823 "version": "3.3.0",
33563824 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -3377,6 +3845,14 @@
33773845 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
33783846 "dev": true
33793847 },
3848+ "invariant": {
3849+ "version": "2.2.4",
3850+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
3851+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
3852+ "requires": {
3853+ "loose-envify": "^1.0.0"
3854+ }
3855+ },
33803856 "is-arrayish": {
33813857 "version": "0.2.1",
33823858 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -3392,6 +3868,11 @@
33923868 "binary-extensions": "^2.0.0"
33933869 }
33943870 },
3871+ "is-buffer": {
3872+ "version": "1.1.6",
3873+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
3874+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
3875+ },
33953876 "is-core-module": {
33963877 "version": "2.8.1",
33973878 "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
@@ -3428,17 +3909,34 @@
34283909 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
34293910 "dev": true
34303911 },
3912+ "is-plain-object": {
3913+ "version": "2.0.4",
3914+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
3915+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
3916+ "requires": {
3917+ "isobject": "^3.0.1"
3918+ }
3919+ },
3920+ "isarray": {
3921+ "version": "1.0.0",
3922+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3923+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
3924+ },
34313925 "isexe": {
34323926 "version": "2.0.0",
34333927 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
34343928 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
34353929 "dev": true
34363930 },
3931+ "isobject": {
3932+ "version": "3.0.1",
3933+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
3934+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
3935+ },
34373936 "js-tokens": {
34383937 "version": "4.0.0",
34393938 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
3440− "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
3441− "dev": true
3939+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
34423940 },
34433941 "json-parse-even-better-errors": {
34443942 "version": "2.3.1",
@@ -3456,6 +3954,14 @@
34563954 "universalify": "^2.0.0"
34573955 }
34583956 },
3957+ "kind-of": {
3958+ "version": "3.2.2",
3959+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3960+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3961+ "requires": {
3962+ "is-buffer": "^1.1.5"
3963+ }
3964+ },
34593965 "kleur": {
34603966 "version": "4.1.4",
34613967 "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
@@ -3480,6 +3986,24 @@
34803986 "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
34813987 "dev": true
34823988 },
3989+ "lodash.chunk": {
3990+ "version": "4.2.0",
3991+ "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz",
3992+ "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw="
3993+ },
3994+ "lodash.isequal": {
3995+ "version": "4.5.0",
3996+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
3997+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
3998+ },
3999+ "loose-envify": {
4000+ "version": "1.4.0",
4001+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
4002+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
4003+ "requires": {
4004+ "js-tokens": "^3.0.0 || ^4.0.0"
4005+ }
4006+ },
34834007 "magic-string": {
34844008 "version": "0.25.7",
34854009 "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
@@ -3571,12 +4095,27 @@
35714095 "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
35724096 "dev": true
35734097 },
4098+ "object-assign": {
4099+ "version": "4.1.1",
4100+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
4101+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
4102+ "peer": true
4103+ },
35744104 "object-hash": {
35754105 "version": "2.2.0",
35764106 "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
35774107 "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
35784108 "dev": true
35794109 },
4110+ "omit-deep": {
4111+ "version": "0.3.0",
4112+ "resolved": "https://registry.npmjs.org/omit-deep/-/omit-deep-0.3.0.tgz",
4113+ "integrity": "sha1-IcivNJm8rdKWUaIyy8rLxSRF6+w=",
4114+ "requires": {
4115+ "is-plain-object": "^2.0.1",
4116+ "unset-value": "^0.1.1"
4117+ }
4118+ },
35804119 "once": {
35814120 "version": "1.4.0",
35824121 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -3775,6 +4314,16 @@
37754314 "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
37764315 "dev": true
37774316 },
4317+ "react": {
4318+ "version": "17.0.2",
4319+ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
4320+ "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
4321+ "peer": true,
4322+ "requires": {
4323+ "loose-envify": "^1.1.0",
4324+ "object-assign": "^4.1.1"
4325+ }
4326+ },
37784327 "read-cache": {
37794328 "version": "1.0.0",
37804329 "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -3793,6 +4342,22 @@
37934342 "picomatch": "^2.2.1"
37944343 }
37954344 },
4345+ "regenerator-runtime": {
4346+ "version": "0.13.9",
4347+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
4348+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
4349+ },
4350+ "regexparam": {
4351+ "version": "2.0.0",
4352+ "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-2.0.0.tgz",
4353+ "integrity": "sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow==",
4354+ "dev": true
4355+ },
4356+ "rename-keys": {
4357+ "version": "1.2.0",
4358+ "resolved": "https://registry.npmjs.org/rename-keys/-/rename-keys-1.2.0.tgz",
4359+ "integrity": "sha512-U7XpAktpbSgHTRSNRrjKSrjYkZKuhUukfoBlXWXUExCAqhzh1TU3BDRAfJmarcl5voKS+pbKU9MvyLWKZ4UEEg=="
4360+ },
37964361 "require-directory": {
37974362 "version": "2.1.1",
37984363 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -4038,6 +4603,25 @@
40384603 "strip-indent": "^3.0.0"
40394604 }
40404605 },
4606+ "svelte-spa-router": {
4607+ "version": "3.2.0",
4608+ "resolved": "https://registry.npmjs.org/svelte-spa-router/-/svelte-spa-router-3.2.0.tgz",
4609+ "integrity": "sha512-igemo5Vs82TGBBw+DjWt6qKameXYzNs6aDXcTxou5XbEvOjiRcAM6MLkdVRCatn6u8r42dE99bt/br7T4qe/AQ==",
4610+ "dev": true,
4611+ "requires": {
4612+ "regexparam": "2.0.0"
4613+ }
4614+ },
4615+ "svgson": {
4616+ "version": "4.1.0",
4617+ "resolved": "https://registry.npmjs.org/svgson/-/svgson-4.1.0.tgz",
4618+ "integrity": "sha512-DodISxHtdLKUghDYA+PGK4Qq350+CbBAkdvGLkBFSmWd9WKSg4dijgjB1IiRPTmsUCd+a7KYe+ILHtklYgQyzQ==",
4619+ "requires": {
4620+ "deep-rename-keys": "^0.2.1",
4621+ "omit-deep": "0.3.0",
4622+ "xml-reader": "2.4.3"
4623+ }
4624+ },
40414625 "tailwindcss": {
40424626 "version": "3.0.12",
40434627 "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.12.tgz",
@@ -4092,6 +4676,11 @@
40924676 "is-number": "^7.0.0"
40934677 }
40944678 },
4679+ "transformation-matrix": {
4680+ "version": "2.1.1",
4681+ "resolved": "https://registry.npmjs.org/transformation-matrix/-/transformation-matrix-2.1.1.tgz",
4682+ "integrity": "sha512-74MoNHhwLVuzwaPDcAecFjSkOA9vwWqyOdkeB0Be8Jc/IWSS5SNZKapFllqzkTliqZptkvqX5CZnVeDvfhN8cw=="
4683+ },
40954684 "tree-kill": {
40964685 "version": "1.2.2",
40974686 "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
@@ -4116,6 +4705,25 @@
41164705 "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
41174706 "dev": true
41184707 },
4708+ "unset-value": {
4709+ "version": "0.1.2",
4710+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-0.1.2.tgz",
4711+ "integrity": "sha1-UGgQuGfyfCpabpsEgzYx9t5Y0xA=",
4712+ "requires": {
4713+ "has-value": "^0.3.1",
4714+ "isobject": "^3.0.0"
4715+ }
4716+ },
4717+ "urbit-ob": {
4718+ "version": "5.0.1",
4719+ "resolved": "https://registry.npmjs.org/urbit-ob/-/urbit-ob-5.0.1.tgz",
4720+ "integrity": "sha512-qGNAwu87XNkW3g8ah4fUwmh2EKXtsdhEbyEiE5qX4Op17rhLH3HSkvu8g9z+MhqX51Uz9sf8ktvqJj/IRwETIQ==",
4721+ "requires": {
4722+ "bn.js": "^4.11.8",
4723+ "lodash.chunk": "^4.2.0",
4724+ "lodash.isequal": "^4.5.0"
4725+ }
4726+ },
41194727 "util-deprecate": {
41204728 "version": "1.0.2",
41214729 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -4177,6 +4785,23 @@
41774785 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
41784786 "dev": true
41794787 },
4788+ "xml-lexer": {
4789+ "version": "0.2.2",
4790+ "resolved": "https://registry.npmjs.org/xml-lexer/-/xml-lexer-0.2.2.tgz",
4791+ "integrity": "sha1-UYGTpKozTVj8fSSLVJB5uJkH4EY=",
4792+ "requires": {
4793+ "eventemitter3": "^2.0.0"
4794+ }
4795+ },
4796+ "xml-reader": {
4797+ "version": "2.4.3",
4798+ "resolved": "https://registry.npmjs.org/xml-reader/-/xml-reader-2.4.3.tgz",
4799+ "integrity": "sha1-n4EMr3xCWlqvuEixxFEDyecddTA=",
4800+ "requires": {
4801+ "eventemitter3": "^2.0.0",
4802+ "xml-lexer": "^0.2.2"
4803+ }
4804+ },
41804805 "xtend": {
41814806 "version": "4.0.2",
41824807 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",