~leah/basingstoke

9fe445d1a287c2cb029798724f7ad1cf23ed8068 — leah 2 months ago 2195dc2 main
she handle my errors
M package-lock.json => package-lock.json +387 -408
@@ 13,7 13,7 @@
				"@fontsource-variable/inter": "^5.0.5",
				"@imagemagick/magick-wasm": "^0.0.28",
				"argon2": "^0.40.1",
				"better-sqlite3": "^9.3.0",
				"better-sqlite3": "^11.0.0",
				"dayjs": "^1.11.9",
				"dotenv": "^16.3.1",
				"emoji-mart": "^5.5.2",


@@ 56,9 56,9 @@
			}
		},
		"node_modules/@emoji-mart/data": {
			"version": "1.1.2",
			"resolved": "https://registry.npmjs.org/@emoji-mart/data/-/data-1.1.2.tgz",
			"integrity": "sha512-1HP8BxD2azjqWJvxIaWAMyTySeZY0Osr83ukYjltPVkNXeJvTz7yDrPLBtnrD5uqJ3tg4CcLuuBW09wahqL/fg=="
			"version": "1.2.1",
			"resolved": "https://registry.npmjs.org/@emoji-mart/data/-/data-1.2.1.tgz",
			"integrity": "sha512-no2pQMWiBy6gpBEiqGeU77/bFejDqUTRY7KX+0+iur13op3bqUsXdnwoZs6Xb1zbv0gAj5VvS1PWoUUckSr5Dw=="
		},
		"node_modules/@esbuild/aix-ppc64": {
			"version": "0.20.2",


@@ 429,14 429,14 @@
			}
		},
		"node_modules/@fontsource-variable/anybody": {
			"version": "5.0.20",
			"resolved": "https://registry.npmjs.org/@fontsource-variable/anybody/-/anybody-5.0.20.tgz",
			"integrity": "sha512-FdrOFObsHUhXqsR9t4wdXj3EpfGzOKt+7a7JKsIMpYc62qP4MclPZv720GpDqa8sIwOQo+vk7dA3mSK9e3wtHg=="
			"version": "5.0.21",
			"resolved": "https://registry.npmjs.org/@fontsource-variable/anybody/-/anybody-5.0.21.tgz",
			"integrity": "sha512-mO45dEMNez9nj1G91B9tn531q0MtQU0dnS9MLP0IfTAJH7QYkdicg5Cw22TBatK0VDMgg/TBRszgCvc4gciA5Q=="
		},
		"node_modules/@fontsource-variable/inter": {
			"version": "5.0.17",
			"resolved": "https://registry.npmjs.org/@fontsource-variable/inter/-/inter-5.0.17.tgz",
			"integrity": "sha512-sa80nNnqF8kzhBvqusWiL9vlPMVpdmOwMmDBup46Jggsr1VBqo+YuzwB36Ls+X6uHJtb8Yv3ALBHL/zGmT862A=="
			"version": "5.0.18",
			"resolved": "https://registry.npmjs.org/@fontsource-variable/inter/-/inter-5.0.18.tgz",
			"integrity": "sha512-rJzSrtJ3b7djiGFvRuTe6stDfbYJGhdQSfn2SI2WfXviee7Er0yKAHE5u7FU7OWVQQQ1x3+cxdmx9NdiAkcrcA=="
		},
		"node_modules/@imagemagick/magick-wasm": {
			"version": "0.0.28",


@@ 504,59 504,59 @@
			}
		},
		"node_modules/@motionone/animation": {
			"version": "10.17.0",
			"resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.17.0.tgz",
			"integrity": "sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==",
			"version": "10.18.0",
			"resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.18.0.tgz",
			"integrity": "sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==",
			"dependencies": {
				"@motionone/easing": "^10.17.0",
				"@motionone/types": "^10.17.0",
				"@motionone/utils": "^10.17.0",
				"@motionone/easing": "^10.18.0",
				"@motionone/types": "^10.17.1",
				"@motionone/utils": "^10.18.0",
				"tslib": "^2.3.1"
			}
		},
		"node_modules/@motionone/dom": {
			"version": "10.17.0",
			"resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.17.0.tgz",
			"integrity": "sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==",
			"dependencies": {
				"@motionone/animation": "^10.17.0",
				"@motionone/generators": "^10.17.0",
				"@motionone/types": "^10.17.0",
				"@motionone/utils": "^10.17.0",
			"version": "10.18.0",
			"resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.18.0.tgz",
			"integrity": "sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A==",
			"dependencies": {
				"@motionone/animation": "^10.18.0",
				"@motionone/generators": "^10.18.0",
				"@motionone/types": "^10.17.1",
				"@motionone/utils": "^10.18.0",
				"hey-listen": "^1.0.8",
				"tslib": "^2.3.1"
			}
		},
		"node_modules/@motionone/easing": {
			"version": "10.17.0",
			"resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.17.0.tgz",
			"integrity": "sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==",
			"version": "10.18.0",
			"resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.18.0.tgz",
			"integrity": "sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==",
			"dependencies": {
				"@motionone/utils": "^10.17.0",
				"@motionone/utils": "^10.18.0",
				"tslib": "^2.3.1"
			}
		},
		"node_modules/@motionone/generators": {
			"version": "10.17.0",
			"resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.17.0.tgz",
			"integrity": "sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==",
			"version": "10.18.0",
			"resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.18.0.tgz",
			"integrity": "sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==",
			"dependencies": {
				"@motionone/types": "^10.17.0",
				"@motionone/utils": "^10.17.0",
				"@motionone/types": "^10.17.1",
				"@motionone/utils": "^10.18.0",
				"tslib": "^2.3.1"
			}
		},
		"node_modules/@motionone/types": {
			"version": "10.17.0",
			"resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.0.tgz",
			"integrity": "sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA=="
			"version": "10.17.1",
			"resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.1.tgz",
			"integrity": "sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A=="
		},
		"node_modules/@motionone/utils": {
			"version": "10.17.0",
			"resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.17.0.tgz",
			"integrity": "sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==",
			"version": "10.18.0",
			"resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.18.0.tgz",
			"integrity": "sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==",
			"dependencies": {
				"@motionone/types": "^10.17.0",
				"@motionone/types": "^10.17.1",
				"hey-listen": "^1.0.8",
				"tslib": "^2.3.1"
			}


@@ 605,12 605,12 @@
			}
		},
		"node_modules/@playwright/test": {
			"version": "1.43.1",
			"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz",
			"integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==",
			"version": "1.44.1",
			"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.1.tgz",
			"integrity": "sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==",
			"dev": true,
			"dependencies": {
				"playwright": "1.43.1"
				"playwright": "1.44.1"
			},
			"bin": {
				"playwright": "cli.js"


@@ 626,9 626,9 @@
			"dev": true
		},
		"node_modules/@rollup/plugin-commonjs": {
			"version": "25.0.7",
			"resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz",
			"integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==",
			"version": "25.0.8",
			"resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.8.tgz",
			"integrity": "sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==",
			"dev": true,
			"dependencies": {
				"@rollup/pluginutils": "^5.0.1",


@@ 718,9 718,9 @@
			}
		},
		"node_modules/@rollup/rollup-android-arm-eabi": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.15.0.tgz",
			"integrity": "sha512-O63bJ7p909pRRQfOJ0k/Jp8gNFMud+ZzLLG5EBWquylHxmRT2k18M2ifg8WyjCgFVdpA7+rI0YZ8EkAtg6dSUw==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
			"integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
			"cpu": [
				"arm"
			],


@@ 731,9 731,9 @@
			]
		},
		"node_modules/@rollup/rollup-android-arm64": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.15.0.tgz",
			"integrity": "sha512-5UywPdmC9jiVOShjQx4uuIcnTQOf85iA4jgg8bkFoH5NYWFfAfrJpv5eeokmTdSmYwUTT5IrcrBCJNkowhrZDA==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz",
			"integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
			"cpu": [
				"arm64"
			],


@@ 744,9 744,9 @@
			]
		},
		"node_modules/@rollup/rollup-darwin-arm64": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.15.0.tgz",
			"integrity": "sha512-hNkt75uFfWpRxHItCBmbS0ba70WnibJh6yz60WShSWITLlVRbkvAu1E/c7RlliPY4ajhqJd0UPZz//gNalTd4g==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz",
			"integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
			"cpu": [
				"arm64"
			],


@@ 757,9 757,9 @@
			]
		},
		"node_modules/@rollup/rollup-darwin-x64": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.15.0.tgz",
			"integrity": "sha512-HnC5bTP7qdfO9nUw/mBhNcjOEZfbS8NwV+nFegiMhYOn1ATAGZF4kfAxR9BuZevBrebWCxMmxm8NCU1CUoz+wQ==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz",
			"integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
			"cpu": [
				"x64"
			],


@@ 770,9 770,9 @@
			]
		},
		"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.15.0.tgz",
			"integrity": "sha512-QGOIQIJZeIIqMsc4BUGe8TnV4dkXhSW2EhaQ1G4LqMUNpkyeLztvlDlOoNHn7SR7a4dBANdcEbPkkEzz3rzjzA==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz",
			"integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
			"cpu": [
				"arm"
			],


@@ 783,9 783,9 @@
			]
		},
		"node_modules/@rollup/rollup-linux-arm-musleabihf": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.15.0.tgz",
			"integrity": "sha512-PS/Cp8CinYgoysQ8i4UXYH/TZl06fXszvY/RDkyBYgUB1+tKyOMS925/4FZhfrhkl3XQEKjMc3BKtsxpB9Tz9Q==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz",
			"integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
			"cpu": [
				"arm"
			],


@@ 796,9 796,9 @@
			]
		},
		"node_modules/@rollup/rollup-linux-arm64-gnu": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.15.0.tgz",
			"integrity": "sha512-XzOsnD6lGDP+k+vGgTYAryVGu8N89qpjMN5BVFUj75dGVFP3FzIVAufJAraxirpDwEQZA7Gjs0Vo5p4UmnnjsA==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz",
			"integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
			"cpu": [
				"arm64"
			],


@@ 809,9 809,9 @@
			]
		},
		"node_modules/@rollup/rollup-linux-arm64-musl": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.15.0.tgz",
			"integrity": "sha512-+ScJA4Epbx/ZQGjDnbvTAcb8ZD06b+TlIka2UkujbKf1I/A+yrvEcJwG3/27zMmvcWMQyeCJhbL9TlSjzL0B7Q==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz",
			"integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
			"cpu": [
				"arm64"
			],


@@ 822,9 822,9 @@
			]
		},
		"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.15.0.tgz",
			"integrity": "sha512-1cUSvYgnyTakM4FDyf/GxUCDcqmj/hUh1NOizEOJU7+D5xEfFGCxgcNOs3hYBeRMUCcGmGkt01EhD3ILgKpGHQ==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz",
			"integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
			"cpu": [
				"ppc64"
			],


@@ 835,9 835,9 @@
			]
		},
		"node_modules/@rollup/rollup-linux-riscv64-gnu": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.15.0.tgz",
			"integrity": "sha512-3A1FbHDbBUvpJXFAZwVsiROIcstVHP9AX/cwnyIhAp+xyQ1cBCxywKtuzmw0Av1MDNNg/y/9dDHtNypfRa8bdw==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz",
			"integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
			"cpu": [
				"riscv64"
			],


@@ 848,9 848,9 @@
			]
		},
		"node_modules/@rollup/rollup-linux-s390x-gnu": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.15.0.tgz",
			"integrity": "sha512-hYPbhg9ow6/mXIkojc8LOeiip2sCTuw1taWyoOXTOWk9vawIXz8x7B4KkgWUAtvAElssxhSyEXr2EZycH/FGzQ==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz",
			"integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
			"cpu": [
				"s390x"
			],


@@ 861,9 861,9 @@
			]
		},
		"node_modules/@rollup/rollup-linux-x64-gnu": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.15.0.tgz",
			"integrity": "sha512-511qln5mPSUKwv7HI28S1jCD1FK+2WbX5THM9A9annr3c1kzmfnf8Oe3ZakubEjob3IV6OPnNNcesfy+adIrmw==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz",
			"integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
			"cpu": [
				"x64"
			],


@@ 874,9 874,9 @@
			]
		},
		"node_modules/@rollup/rollup-linux-x64-musl": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.15.0.tgz",
			"integrity": "sha512-4qKKGTDIv2bQZ+afhPWqPL+94+dLtk4lw1iwbcylKlLNqQ/Yyjof2CFYBxf6npiDzPV+zf4EWRiHb26/4Vsm9w==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz",
			"integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
			"cpu": [
				"x64"
			],


@@ 887,9 887,9 @@
			]
		},
		"node_modules/@rollup/rollup-win32-arm64-msvc": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.15.0.tgz",
			"integrity": "sha512-nEtaFBHp1OnbOf+tz66DtID579sNRHGgMC23to8HUyVuOCpCMD0CvRNqiDGLErLNnwApWIUtUl1VvuovCWUxwg==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz",
			"integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
			"cpu": [
				"arm64"
			],


@@ 900,9 900,9 @@
			]
		},
		"node_modules/@rollup/rollup-win32-ia32-msvc": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.15.0.tgz",
			"integrity": "sha512-5O49NykwSgX6iT2HgZ6cAoGHt6T/FqNMB5OqFOGxU/y1GyFSHquox1sK2OqApQc0ANxiHFQEMNDLNVCL7AUDnQ==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz",
			"integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
			"cpu": [
				"ia32"
			],


@@ 913,9 913,9 @@
			]
		},
		"node_modules/@rollup/rollup-win32-x64-msvc": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.15.0.tgz",
			"integrity": "sha512-YA0hTwCunmKNeTOFWdJuKhdXse9jBqgo34FDo+9aS0spfCkp+wj0o1bCcOOTu+0P48O95GTfkLTAaVonwNuIdQ==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz",
			"integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
			"cpu": [
				"x64"
			],


@@ 932,12 932,12 @@
			"dev": true
		},
		"node_modules/@sveltejs/adapter-auto": {
			"version": "3.2.0",
			"resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.2.0.tgz",
			"integrity": "sha512-She5nKT47kwHE18v9NMe6pbJcvULr82u0V3yZ0ej3n1laWKGgkgdEABE9/ak5iDPs93LqsBkuIo51kkwCLBjJA==",
			"version": "3.2.1",
			"resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.2.1.tgz",
			"integrity": "sha512-/3xx8ZFCD5UBc/7AbyXkFF3HNCzWAp2xncH8HA4doGjoGQEN7PmwiRx4Y9nOzi4mqDqYYUic0gaIAE2khWWU4Q==",
			"dev": true,
			"dependencies": {
				"import-meta-resolve": "^4.0.0"
				"import-meta-resolve": "^4.1.0"
			},
			"peerDependencies": {
				"@sveltejs/kit": "^2.0.0"


@@ 959,9 959,9 @@
			}
		},
		"node_modules/@sveltejs/kit": {
			"version": "2.5.7",
			"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.7.tgz",
			"integrity": "sha512-6uedTzrb7nQrw6HALxnPrPaXdIN2jJJTzTIl96Z3P5NiG+OAfpdPbrWrvkJ3GN4CfWqrmU4dJqwMMRMTD/C7ow==",
			"version": "2.5.10",
			"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.10.tgz",
			"integrity": "sha512-OqoyTmFG2cYmCFAdBfW+Qxbg8m23H4dv6KqwEt7ofr/ROcfcIl3Z/VT56L22H9f0uNZyr+9Bs1eh2gedOCK9kA==",
			"dev": true,
			"hasInstallScript": true,
			"dependencies": {


@@ 969,7 969,7 @@
				"cookie": "^0.6.0",
				"devalue": "^5.0.0",
				"esm-env": "^1.0.0",
				"import-meta-resolve": "^4.0.0",
				"import-meta-resolve": "^4.1.0",
				"kleur": "^4.1.5",
				"magic-string": "^0.30.5",
				"mrmime": "^2.0.0",


@@ 991,17 991,17 @@
			}
		},
		"node_modules/@sveltejs/vite-plugin-svelte": {
			"version": "3.1.0",
			"resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.0.tgz",
			"integrity": "sha512-sY6ncCvg+O3njnzbZexcVtUqOBE3iYmQPJ9y+yXSkOwG576QI/xJrBnQSRXFLGwJNBa0T78JEKg5cIR0WOAuUw==",
			"version": "3.1.1",
			"resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.1.tgz",
			"integrity": "sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==",
			"dev": true,
			"peer": true,
			"dependencies": {
				"@sveltejs/vite-plugin-svelte-inspector": "^2.0.0",
				"@sveltejs/vite-plugin-svelte-inspector": "^2.1.0",
				"debug": "^4.3.4",
				"deepmerge": "^4.3.1",
				"kleur": "^4.1.5",
				"magic-string": "^0.30.9",
				"magic-string": "^0.30.10",
				"svelte-hmr": "^0.16.0",
				"vitefu": "^0.2.5"
			},


@@ 1032,9 1032,9 @@
			}
		},
		"node_modules/@types/better-sqlite3": {
			"version": "7.6.9",
			"resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.9.tgz",
			"integrity": "sha512-FvktcujPDj9XKMJQWFcl2vVl7OdRIqsSRX9b0acWwTmwLK9CF2eqo/FRcmMLNpugKoX/avA6pb7TorDLmpgTnQ==",
			"version": "7.6.10",
			"resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.10.tgz",
			"integrity": "sha512-TZBjD+yOsyrUJGmcUj6OS3JADk3+UZcNv3NOBqGkM09bZdi28fNZw8ODqbMOLfKCu7RYCO62/ldq1iHbzxqoPw==",
			"dev": true,
			"dependencies": {
				"@types/node": "*"


@@ 1053,9 1053,9 @@
			"dev": true
		},
		"node_modules/@types/jsdom": {
			"version": "21.1.6",
			"resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.6.tgz",
			"integrity": "sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==",
			"version": "21.1.7",
			"resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz",
			"integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==",
			"dev": true,
			"dependencies": {
				"@types/node": "*",


@@ 1064,9 1064,9 @@
			}
		},
		"node_modules/@types/node": {
			"version": "20.12.7",
			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz",
			"integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==",
			"version": "20.14.2",
			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz",
			"integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==",
			"dev": true,
			"dependencies": {
				"undici-types": "~5.26.4"


@@ 1100,13 1100,13 @@
			"dev": true
		},
		"node_modules/@vitest/expect": {
			"version": "1.5.0",
			"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.5.0.tgz",
			"integrity": "sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==",
			"version": "1.6.0",
			"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz",
			"integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==",
			"dev": true,
			"dependencies": {
				"@vitest/spy": "1.5.0",
				"@vitest/utils": "1.5.0",
				"@vitest/spy": "1.6.0",
				"@vitest/utils": "1.6.0",
				"chai": "^4.3.10"
			},
			"funding": {


@@ 1114,12 1114,12 @@
			}
		},
		"node_modules/@vitest/runner": {
			"version": "1.5.0",
			"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.5.0.tgz",
			"integrity": "sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==",
			"version": "1.6.0",
			"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz",
			"integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==",
			"dev": true,
			"dependencies": {
				"@vitest/utils": "1.5.0",
				"@vitest/utils": "1.6.0",
				"p-limit": "^5.0.0",
				"pathe": "^1.1.1"
			},


@@ 1128,9 1128,9 @@
			}
		},
		"node_modules/@vitest/snapshot": {
			"version": "1.5.0",
			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.5.0.tgz",
			"integrity": "sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==",
			"version": "1.6.0",
			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz",
			"integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==",
			"dev": true,
			"dependencies": {
				"magic-string": "^0.30.5",


@@ 1142,9 1142,9 @@
			}
		},
		"node_modules/@vitest/spy": {
			"version": "1.5.0",
			"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.5.0.tgz",
			"integrity": "sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==",
			"version": "1.6.0",
			"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz",
			"integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==",
			"dev": true,
			"dependencies": {
				"tinyspy": "^2.2.0"


@@ 1154,9 1154,9 @@
			}
		},
		"node_modules/@vitest/utils": {
			"version": "1.5.0",
			"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.5.0.tgz",
			"integrity": "sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==",
			"version": "1.6.0",
			"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz",
			"integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==",
			"dev": true,
			"dependencies": {
				"diff-sequences": "^29.6.3",


@@ 1198,6 1198,17 @@
				"node": ">=0.4.0"
			}
		},
		"node_modules/agent-base": {
			"version": "7.1.1",
			"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
			"integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
			"dependencies": {
				"debug": "^4.3.4"
			},
			"engines": {
				"node": ">= 14"
			}
		},
		"node_modules/ansi-styles": {
			"version": "5.2.0",
			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",


@@ 1224,13 1235,13 @@
			}
		},
		"node_modules/argon2": {
			"version": "0.40.1",
			"resolved": "https://registry.npmjs.org/argon2/-/argon2-0.40.1.tgz",
			"integrity": "sha512-DjtHDwd7pm12qeWyfihHoM8Bn5vGcgH6sKwgPqwNYroRmxlrzadHEvMyuvQxN/V8YSyRRKD5x6ito09q1e9OyA==",
			"version": "0.40.3",
			"resolved": "https://registry.npmjs.org/argon2/-/argon2-0.40.3.tgz",
			"integrity": "sha512-FrSmz4VeM91jwFvvjsQv9GYp6o/kARWoYKjbjDB2U5io1H3e5X67PYGclFDeQff6UXIhUd4aHR3mxCdBbMMuQw==",
			"hasInstallScript": true,
			"dependencies": {
				"@phc/format": "^1.0.0",
				"node-addon-api": "^7.1.0",
				"node-addon-api": "^8.0.0",
				"node-gyp-build": "^4.8.0"
			},
			"engines": {


@@ 1295,9 1306,9 @@
			]
		},
		"node_modules/better-sqlite3": {
			"version": "9.5.0",
			"resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.5.0.tgz",
			"integrity": "sha512-01qVcM4gPNwE+PX7ARNiHINwzVuD6nx0gdldaAAcu+MrzyIAukQ31ZDKEpzRO/CNA9sHpxoTZ8rdjoyAin4dyg==",
			"version": "11.0.0",
			"resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-11.0.0.tgz",
			"integrity": "sha512-1NnNhmT3EZTsKtofJlMox1jkMxdedILury74PwUbQBjWgo4tL4kf7uTAjU55mgQwjdzqakSTjkf+E1imrFwjnA==",
			"hasInstallScript": true,
			"dependencies": {
				"bindings": "^1.5.0",


@@ 1344,12 1355,12 @@
			}
		},
		"node_modules/braces": {
			"version": "3.0.2",
			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
			"version": "3.0.3",
			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
			"dev": true,
			"dependencies": {
				"fill-range": "^7.0.1"
				"fill-range": "^7.1.1"
			},
			"engines": {
				"node": ">=8"


@@ 1379,12 1390,12 @@
			}
		},
		"node_modules/buffer-crc32": {
			"version": "0.2.13",
			"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
			"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
			"version": "1.0.0",
			"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
			"integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
			"dev": true,
			"engines": {
				"node": "*"
				"node": ">=8.0.0"
			}
		},
		"node_modules/builtin-modules": {


@@ 1471,6 1482,11 @@
				"fsevents": "~2.3.2"
			}
		},
		"node_modules/chownr": {
			"version": "1.1.4",
			"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
			"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
		},
		"node_modules/code-red": {
			"version": "1.0.4",
			"resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",


@@ 1569,6 1585,11 @@
				"node": ">=18"
			}
		},
		"node_modules/cssstyle/node_modules/rrweb-cssom": {
			"version": "0.6.0",
			"resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
			"integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw=="
		},
		"node_modules/data-urls": {
			"version": "5.0.0",
			"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",


@@ 1582,14 1603,14 @@
			}
		},
		"node_modules/dayjs": {
			"version": "1.11.10",
			"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
			"integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
			"version": "1.11.11",
			"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz",
			"integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg=="
		},
		"node_modules/debug": {
			"version": "4.3.4",
			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
			"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
			"version": "4.3.5",
			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
			"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
			"dependencies": {
				"ms": "2.1.2"
			},


@@ 1622,9 1643,9 @@
			}
		},
		"node_modules/deep-eql": {
			"version": "4.1.3",
			"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
			"integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==",
			"version": "4.1.4",
			"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz",
			"integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==",
			"dev": true,
			"dependencies": {
				"type-detect": "^4.0.0"


@@ 1761,9 1782,9 @@
			}
		},
		"node_modules/emoji-mart": {
			"version": "5.5.2",
			"resolved": "https://registry.npmjs.org/emoji-mart/-/emoji-mart-5.5.2.tgz",
			"integrity": "sha512-Sqc/nso4cjxhOwWJsp9xkVm8OF5c+mJLZJFoFfzRuKO+yWiN7K8c96xmtughYb0d/fZ8UC6cLIQ/p4BR6Pv3/A=="
			"version": "5.6.0",
			"resolved": "https://registry.npmjs.org/emoji-mart/-/emoji-mart-5.6.0.tgz",
			"integrity": "sha512-eJp3QRe79pjwa+duv+n7+5YsNhRcMl812EcFVwrnRvYKoNPoQb5qxU8DG6Bgwji0akHdp6D4Ln6tYLG58MFSow=="
		},
		"node_modules/end-of-stream": {
			"version": "1.4.4",


@@ 1874,18 1895,6 @@
				"url": "https://github.com/sindresorhus/execa?sponsor=1"
			}
		},
		"node_modules/execa/node_modules/signal-exit": {
			"version": "4.1.0",
			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
			"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
			"dev": true,
			"engines": {
				"node": ">=14"
			},
			"funding": {
				"url": "https://github.com/sponsors/isaacs"
			}
		},
		"node_modules/expand-template": {
			"version": "2.0.3",
			"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",


@@ 1925,9 1934,9 @@
			"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
		},
		"node_modules/fill-range": {
			"version": "7.0.1",
			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
			"version": "7.1.1",
			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
			"dev": true,
			"dependencies": {
				"to-regex-range": "^5.0.1"


@@ 2013,6 2022,7 @@
			"version": "8.1.0",
			"resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
			"integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
			"deprecated": "Glob versions prior to v9 are no longer supported",
			"dev": true,
			"dependencies": {
				"fs.realpath": "^1.0.0",


@@ 2116,12 2126,13 @@
				"node": ">= 14"
			}
		},
		"node_modules/http-proxy-agent/node_modules/agent-base": {
			"version": "7.1.1",
			"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
			"integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
		"node_modules/https-proxy-agent": {
			"version": "7.0.4",
			"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
			"integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
			"dependencies": {
				"debug": "^4.3.4"
				"agent-base": "^7.0.2",
				"debug": "4"
			},
			"engines": {
				"node": ">= 14"


@@ 2183,9 2194,9 @@
			}
		},
		"node_modules/import-meta-resolve": {
			"version": "4.0.0",
			"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz",
			"integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==",
			"version": "4.1.0",
			"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
			"integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
			"dev": true,
			"funding": {
				"type": "github",


@@ 2196,6 2207,7 @@
			"version": "1.0.6",
			"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
			"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
			"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
			"dev": true,
			"dependencies": {
				"once": "^1.3.0",


@@ 2334,30 2346,30 @@
			"dev": true
		},
		"node_modules/jsdom": {
			"version": "24.0.0",
			"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.0.0.tgz",
			"integrity": "sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==",
			"version": "24.1.0",
			"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz",
			"integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==",
			"dependencies": {
				"cssstyle": "^4.0.1",
				"data-urls": "^5.0.0",
				"decimal.js": "^10.4.3",
				"form-data": "^4.0.0",
				"html-encoding-sniffer": "^4.0.0",
				"http-proxy-agent": "^7.0.0",
				"https-proxy-agent": "^7.0.2",
				"http-proxy-agent": "^7.0.2",
				"https-proxy-agent": "^7.0.4",
				"is-potential-custom-element-name": "^1.0.1",
				"nwsapi": "^2.2.7",
				"nwsapi": "^2.2.10",
				"parse5": "^7.1.2",
				"rrweb-cssom": "^0.6.0",
				"rrweb-cssom": "^0.7.0",
				"saxes": "^6.0.0",
				"symbol-tree": "^3.2.4",
				"tough-cookie": "^4.1.3",
				"tough-cookie": "^4.1.4",
				"w3c-xmlserializer": "^5.0.0",
				"webidl-conversions": "^7.0.0",
				"whatwg-encoding": "^3.1.1",
				"whatwg-mimetype": "^4.0.0",
				"whatwg-url": "^14.0.0",
				"ws": "^8.16.0",
				"ws": "^8.17.0",
				"xml-name-validator": "^5.0.0"
			},
			"engines": {


@@ 2372,29 2384,6 @@
				}
			}
		},
		"node_modules/jsdom/node_modules/agent-base": {
			"version": "7.1.1",
			"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
			"integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
			"dependencies": {
				"debug": "^4.3.4"
			},
			"engines": {
				"node": ">= 14"
			}
		},
		"node_modules/jsdom/node_modules/https-proxy-agent": {
			"version": "7.0.4",
			"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
			"integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
			"dependencies": {
				"agent-base": "^7.0.2",
				"debug": "4"
			},
			"engines": {
				"node": ">= 14"
			}
		},
		"node_modules/kleur": {
			"version": "4.1.5",
			"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",


@@ 2435,17 2424,6 @@
				"get-func-name": "^2.0.1"
			}
		},
		"node_modules/lru-cache": {
			"version": "6.0.0",
			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
			"dependencies": {
				"yallist": "^4.0.0"
			},
			"engines": {
				"node": ">=10"
			}
		},
		"node_modules/magic-string": {
			"version": "0.30.10",
			"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",


@@ 2488,12 2466,12 @@
			}
		},
		"node_modules/micromatch": {
			"version": "4.0.5",
			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
			"version": "4.0.7",
			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
			"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
			"dev": true,
			"dependencies": {
				"braces": "^3.0.2",
				"braces": "^3.0.3",
				"picomatch": "^2.3.1"
			},
			"engines": {


@@ 2589,15 2567,15 @@
			"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
		},
		"node_modules/mlly": {
			"version": "1.6.1",
			"resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz",
			"integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==",
			"version": "1.7.1",
			"resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz",
			"integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==",
			"dev": true,
			"dependencies": {
				"acorn": "^8.11.3",
				"pathe": "^1.1.2",
				"pkg-types": "^1.0.3",
				"ufo": "^1.3.2"
				"pkg-types": "^1.1.1",
				"ufo": "^1.5.3"
			}
		},
		"node_modules/modern-normalize": {


@@ 2612,14 2590,14 @@
			}
		},
		"node_modules/motion": {
			"version": "10.17.0",
			"resolved": "https://registry.npmjs.org/motion/-/motion-10.17.0.tgz",
			"integrity": "sha512-yBHYkrnJRiomuo88YQzG/v+nzFXKNlKw/Hh7uy8AV7nrYHnE07O6PEECShGbFmZvLrAOGc9qKzEDYmspDYjNWw==",
			"version": "10.18.0",
			"resolved": "https://registry.npmjs.org/motion/-/motion-10.18.0.tgz",
			"integrity": "sha512-MVAZZmwM/cp77BrNe1TxTMldxRPjwBNHheU5aPToqT4rJdZxLiADk58H+a0al5jKLxkB0OdgNq6DiVn11cjvIQ==",
			"dependencies": {
				"@motionone/animation": "^10.17.0",
				"@motionone/dom": "^10.17.0",
				"@motionone/types": "^10.17.0",
				"@motionone/utils": "^10.17.0"
				"@motionone/animation": "^10.18.0",
				"@motionone/dom": "^10.18.0",
				"@motionone/types": "^10.17.1",
				"@motionone/utils": "^10.18.0"
			}
		},
		"node_modules/mri": {


@@ 2668,9 2646,9 @@
			"integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
		},
		"node_modules/node-abi": {
			"version": "3.60.0",
			"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.60.0.tgz",
			"integrity": "sha512-zcGgwoXbzw9NczqbGzAWL/ToDYAxv1V8gL1D67ClbdkIfeeDBbY0GelZtC25ayLvVjr2q2cloHeQV1R0QAWqRQ==",
			"version": "3.64.0",
			"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.64.0.tgz",
			"integrity": "sha512-lxowHVCx3o1zfKJthjWh6WI8Eyi4gdTaK9bUc3oTjYv9j8sp5gSiufkOvoYZ1LgmZKngWUkS5a8G1RSuLWtPgg==",
			"dependencies": {
				"semver": "^7.3.5"
			},


@@ 2679,17 2657,17 @@
			}
		},
		"node_modules/node-addon-api": {
			"version": "7.1.0",
			"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz",
			"integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==",
			"version": "8.0.0",
			"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.0.0.tgz",
			"integrity": "sha512-ipO7rsHEBqa9STO5C5T10fj732ml+5kLN1cAG8/jdHd56ldQeGj3Q7+scUS+VHK/qy1zLEwC4wMK5+yM0btPvw==",
			"engines": {
				"node": "^16 || ^18 || >= 20"
				"node": "^18 || ^20 || >= 21"
			}
		},
		"node_modules/node-gyp-build": {
			"version": "4.8.0",
			"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz",
			"integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==",
			"version": "4.8.1",
			"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz",
			"integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==",
			"bin": {
				"node-gyp-build": "bin.js",
				"node-gyp-build-optional": "optional.js",


@@ 2733,9 2711,9 @@
			}
		},
		"node_modules/nwsapi": {
			"version": "2.2.7",
			"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz",
			"integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ=="
			"version": "2.2.10",
			"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz",
			"integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ=="
		},
		"node_modules/once": {
			"version": "1.4.0",


@@ 2872,9 2850,9 @@
			}
		},
		"node_modules/picocolors": {
			"version": "1.0.0",
			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
			"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
			"version": "1.0.1",
			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
			"integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
		},
		"node_modules/picomatch": {
			"version": "2.3.1",


@@ 2889,23 2867,23 @@
			}
		},
		"node_modules/pkg-types": {
			"version": "1.1.0",
			"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.0.tgz",
			"integrity": "sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==",
			"version": "1.1.1",
			"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz",
			"integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==",
			"dev": true,
			"dependencies": {
				"confbox": "^0.1.7",
				"mlly": "^1.6.1",
				"mlly": "^1.7.0",
				"pathe": "^1.1.2"
			}
		},
		"node_modules/playwright": {
			"version": "1.43.1",
			"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz",
			"integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==",
			"version": "1.44.1",
			"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz",
			"integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==",
			"dev": true,
			"dependencies": {
				"playwright-core": "1.43.1"
				"playwright-core": "1.44.1"
			},
			"bin": {
				"playwright": "cli.js"


@@ 2918,9 2896,9 @@
			}
		},
		"node_modules/playwright-core": {
			"version": "1.43.1",
			"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz",
			"integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==",
			"version": "1.44.1",
			"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz",
			"integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==",
			"dev": true,
			"bin": {
				"playwright-core": "cli.js"


@@ 3057,9 3035,9 @@
			}
		},
		"node_modules/react-is": {
			"version": "18.2.0",
			"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
			"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
			"version": "18.3.1",
			"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
			"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
			"dev": true
		},
		"node_modules/readable-stream": {


@@ 3128,10 3106,66 @@
				"node": ">=0.10.0"
			}
		},
		"node_modules/rimraf": {
			"version": "2.7.1",
			"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
			"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
			"deprecated": "Rimraf versions prior to v4 are no longer supported",
			"dev": true,
			"dependencies": {
				"glob": "^7.1.3"
			},
			"bin": {
				"rimraf": "bin.js"
			}
		},
		"node_modules/rimraf/node_modules/brace-expansion": {
			"version": "1.1.11",
			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
			"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
			"dev": true,
			"dependencies": {
				"balanced-match": "^1.0.0",
				"concat-map": "0.0.1"
			}
		},
		"node_modules/rimraf/node_modules/glob": {
			"version": "7.2.3",
			"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
			"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
			"deprecated": "Glob versions prior to v9 are no longer supported",
			"dev": true,
			"dependencies": {
				"fs.realpath": "^1.0.0",
				"inflight": "^1.0.4",
				"inherits": "2",
				"minimatch": "^3.1.1",
				"once": "^1.3.0",
				"path-is-absolute": "^1.0.0"
			},
			"engines": {
				"node": "*"
			},
			"funding": {
				"url": "https://github.com/sponsors/isaacs"
			}
		},
		"node_modules/rimraf/node_modules/minimatch": {
			"version": "3.1.2",
			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
			"dev": true,
			"dependencies": {
				"brace-expansion": "^1.1.7"
			},
			"engines": {
				"node": "*"
			}
		},
		"node_modules/rollup": {
			"version": "4.15.0",
			"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.15.0.tgz",
			"integrity": "sha512-i0ir57IMF5o7YvNYyUNeIGG+IZaaucnGZAOsSctO2tPLXlCEaZzyBa+QhpHNSgtpyLMoDev2DyN6a7J1dQA8Tw==",
			"version": "4.18.0",
			"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz",
			"integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==",
			"dev": true,
			"dependencies": {
				"@types/estree": "1.0.5"


@@ 3144,29 3178,29 @@
				"npm": ">=8.0.0"
			},
			"optionalDependencies": {
				"@rollup/rollup-android-arm-eabi": "4.15.0",
				"@rollup/rollup-android-arm64": "4.15.0",
				"@rollup/rollup-darwin-arm64": "4.15.0",
				"@rollup/rollup-darwin-x64": "4.15.0",
				"@rollup/rollup-linux-arm-gnueabihf": "4.15.0",
				"@rollup/rollup-linux-arm-musleabihf": "4.15.0",
				"@rollup/rollup-linux-arm64-gnu": "4.15.0",
				"@rollup/rollup-linux-arm64-musl": "4.15.0",
				"@rollup/rollup-linux-powerpc64le-gnu": "4.15.0",
				"@rollup/rollup-linux-riscv64-gnu": "4.15.0",
				"@rollup/rollup-linux-s390x-gnu": "4.15.0",
				"@rollup/rollup-linux-x64-gnu": "4.15.0",
				"@rollup/rollup-linux-x64-musl": "4.15.0",
				"@rollup/rollup-win32-arm64-msvc": "4.15.0",
				"@rollup/rollup-win32-ia32-msvc": "4.15.0",
				"@rollup/rollup-win32-x64-msvc": "4.15.0",
				"@rollup/rollup-android-arm-eabi": "4.18.0",
				"@rollup/rollup-android-arm64": "4.18.0",
				"@rollup/rollup-darwin-arm64": "4.18.0",
				"@rollup/rollup-darwin-x64": "4.18.0",
				"@rollup/rollup-linux-arm-gnueabihf": "4.18.0",
				"@rollup/rollup-linux-arm-musleabihf": "4.18.0",
				"@rollup/rollup-linux-arm64-gnu": "4.18.0",
				"@rollup/rollup-linux-arm64-musl": "4.18.0",
				"@rollup/rollup-linux-powerpc64le-gnu": "4.18.0",
				"@rollup/rollup-linux-riscv64-gnu": "4.18.0",
				"@rollup/rollup-linux-s390x-gnu": "4.18.0",
				"@rollup/rollup-linux-x64-gnu": "4.18.0",
				"@rollup/rollup-linux-x64-musl": "4.18.0",
				"@rollup/rollup-win32-arm64-msvc": "4.18.0",
				"@rollup/rollup-win32-ia32-msvc": "4.18.0",
				"@rollup/rollup-win32-x64-msvc": "4.18.0",
				"fsevents": "~2.3.2"
			}
		},
		"node_modules/rrweb-cssom": {
			"version": "0.6.0",
			"resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
			"integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw=="
			"version": "0.7.1",
			"resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
			"integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg=="
		},
		"node_modules/run-parallel": {
			"version": "1.2.0",


@@ 3239,60 3273,6 @@
				"rimraf": "^2.5.2"
			}
		},
		"node_modules/sander/node_modules/brace-expansion": {
			"version": "1.1.11",
			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
			"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
			"dev": true,
			"dependencies": {
				"balanced-match": "^1.0.0",
				"concat-map": "0.0.1"
			}
		},
		"node_modules/sander/node_modules/glob": {
			"version": "7.2.3",
			"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
			"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
			"dev": true,
			"dependencies": {
				"fs.realpath": "^1.0.0",
				"inflight": "^1.0.4",
				"inherits": "2",
				"minimatch": "^3.1.1",
				"once": "^1.3.0",
				"path-is-absolute": "^1.0.0"
			},
			"engines": {
				"node": "*"
			},
			"funding": {
				"url": "https://github.com/sponsors/isaacs"
			}
		},
		"node_modules/sander/node_modules/minimatch": {
			"version": "3.1.2",
			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
			"dev": true,
			"dependencies": {
				"brace-expansion": "^1.1.7"
			},
			"engines": {
				"node": "*"
			}
		},
		"node_modules/sander/node_modules/rimraf": {
			"version": "2.7.1",
			"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
			"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
			"dev": true,
			"dependencies": {
				"glob": "^7.1.3"
			},
			"bin": {
				"rimraf": "bin.js"
			}
		},
		"node_modules/sanitize-html": {
			"version": "2.13.0",
			"resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.13.0.tgz",


@@ 3318,12 3298,9 @@
			}
		},
		"node_modules/semver": {
			"version": "7.6.0",
			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
			"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
			"dependencies": {
				"lru-cache": "^6.0.0"
			},
			"version": "7.6.2",
			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
			"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
			"bin": {
				"semver": "bin/semver.js"
			},


@@ 3364,6 3341,18 @@
			"integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
			"dev": true
		},
		"node_modules/signal-exit": {
			"version": "4.1.0",
			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
			"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
			"dev": true,
			"engines": {
				"node": ">=14"
			},
			"funding": {
				"url": "https://github.com/sponsors/isaacs"
			}
		},
		"node_modules/simple-concat": {
			"version": "1.0.1",
			"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",


@@ 3422,13 3411,13 @@
			}
		},
		"node_modules/sorcery": {
			"version": "0.11.0",
			"resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz",
			"integrity": "sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==",
			"version": "0.11.1",
			"resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.1.tgz",
			"integrity": "sha512-o7npfeJE6wi6J9l0/5LKshFzZ2rMatRiCDwYeDQaOzqdzRJwALhX7mk/A/ecg6wjMu7wdZbmXfD2S/vpOg0bdQ==",
			"dev": true,
			"dependencies": {
				"@jridgewell/sourcemap-codec": "^1.4.14",
				"buffer-crc32": "^0.2.5",
				"buffer-crc32": "^1.0.0",
				"minimist": "^1.2.0",
				"sander": "^0.5.0"
			},


@@ 3521,9 3510,9 @@
			}
		},
		"node_modules/svelte": {
			"version": "4.2.15",
			"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.15.tgz",
			"integrity": "sha512-j9KJSccHgLeRERPlhMKrCXpk2TqL2m5Z+k+OBTQhZOhIdCCd3WfqV+ylPWeipEwq17P/ekiSFWwrVQv93i3bsg==",
			"version": "4.2.18",
			"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.18.tgz",
			"integrity": "sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==",
			"dev": true,
			"dependencies": {
				"@ampproject/remapping": "^2.2.1",


@@ 3546,9 3535,9 @@
			}
		},
		"node_modules/svelte-check": {
			"version": "3.6.9",
			"resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.9.tgz",
			"integrity": "sha512-hDQrk3L0osX07djQyMiXocKysTLfusqi8AriNcCiQxhQR49/LonYolcUGMtZ0fbUR8HTR198Prrgf52WWU9wEg==",
			"version": "3.8.0",
			"resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.8.0.tgz",
			"integrity": "sha512-7Nxn+3X97oIvMzYJ7t27w00qUf1Y52irE2RU2dQAd5PyvfGp4E7NLhFKVhb6PV2fx7dCRMpNKDIuazmGthjpSQ==",
			"dev": true,
			"dependencies": {
				"@jridgewell/trace-mapping": "^0.3.17",


@@ 3676,11 3665,6 @@
				"tar-stream": "^2.1.4"
			}
		},
		"node_modules/tar-fs/node_modules/chownr": {
			"version": "1.1.4",
			"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
			"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
		},
		"node_modules/tar-stream": {
			"version": "2.2.0",
			"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",


@@ 3707,9 3691,9 @@
			}
		},
		"node_modules/tinybench": {
			"version": "2.7.0",
			"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.7.0.tgz",
			"integrity": "sha512-Qgayeb106x2o4hNzNjsZEfFziw8IbKqtbXBjVh7VIZfBxfD5M4gWtpyx5+YTae2gJ6Y6Dz/KLepiv16RFeQWNA==",
			"version": "2.8.0",
			"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz",
			"integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==",
			"dev": true
		},
		"node_modules/tinypool": {


@@ 3757,9 3741,9 @@
			}
		},
		"node_modules/tough-cookie": {
			"version": "4.1.3",
			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
			"integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
			"version": "4.1.4",
			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
			"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
			"dependencies": {
				"psl": "^1.1.33",
				"punycode": "^2.1.1",


@@ 3782,9 3766,9 @@
			}
		},
		"node_modules/tslib": {
			"version": "2.6.2",
			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
			"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
			"version": "2.6.3",
			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
			"integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
		},
		"node_modules/tunnel-agent": {
			"version": "0.6.0",


@@ 3854,9 3838,9 @@
			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
		},
		"node_modules/vite": {
			"version": "5.2.10",
			"resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz",
			"integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==",
			"version": "5.2.13",
			"resolved": "https://registry.npmjs.org/vite/-/vite-5.2.13.tgz",
			"integrity": "sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==",
			"dev": true,
			"dependencies": {
				"esbuild": "^0.20.1",


@@ 3909,9 3893,9 @@
			}
		},
		"node_modules/vite-node": {
			"version": "1.5.0",
			"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.0.tgz",
			"integrity": "sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==",
			"version": "1.6.0",
			"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz",
			"integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==",
			"dev": true,
			"dependencies": {
				"cac": "^6.7.14",


@@ 3960,16 3944,16 @@
			}
		},
		"node_modules/vitest": {
			"version": "1.5.0",
			"resolved": "https://registry.npmjs.org/vitest/-/vitest-1.5.0.tgz",
			"integrity": "sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==",
			"version": "1.6.0",
			"resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz",
			"integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==",
			"dev": true,
			"dependencies": {
				"@vitest/expect": "1.5.0",
				"@vitest/runner": "1.5.0",
				"@vitest/snapshot": "1.5.0",
				"@vitest/spy": "1.5.0",
				"@vitest/utils": "1.5.0",
				"@vitest/expect": "1.6.0",
				"@vitest/runner": "1.6.0",
				"@vitest/snapshot": "1.6.0",
				"@vitest/spy": "1.6.0",
				"@vitest/utils": "1.6.0",
				"acorn-walk": "^8.3.2",
				"chai": "^4.3.10",
				"debug": "^4.3.4",


@@ 3983,7 3967,7 @@
				"tinybench": "^2.5.1",
				"tinypool": "^0.8.3",
				"vite": "^5.0.0",
				"vite-node": "1.5.0",
				"vite-node": "1.6.0",
				"why-is-node-running": "^2.2.2"
			},
			"bin": {


@@ 3998,8 3982,8 @@
			"peerDependencies": {
				"@edge-runtime/vm": "*",
				"@types/node": "^18.0.0 || >=20.0.0",
				"@vitest/browser": "1.5.0",
				"@vitest/ui": "1.5.0",
				"@vitest/browser": "1.6.0",
				"@vitest/ui": "1.6.0",
				"happy-dom": "*",
				"jsdom": "*"
			},


@@ 4111,9 4095,9 @@
			"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
		},
		"node_modules/ws": {
			"version": "8.16.0",
			"resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
			"integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
			"version": "8.17.0",
			"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz",
			"integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==",
			"engines": {
				"node": ">=10.0.0"
			},


@@ 4143,11 4127,6 @@
			"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
			"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
		},
		"node_modules/yallist": {
			"version": "4.0.0",
			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
		},
		"node_modules/yocto-queue": {
			"version": "1.0.0",
			"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",


@@ 4161,9 4140,9 @@
			}
		},
		"node_modules/zod": {
			"version": "3.22.5",
			"resolved": "https://registry.npmjs.org/zod/-/zod-3.22.5.tgz",
			"integrity": "sha512-HqnGsCdVZ2xc0qWPLdO25WnseXThh0kEYKIdV5F/hTHO75hNZFp8thxSeHhiPrHZKrFTo1SOgkAj9po5bexZlw==",
			"version": "3.23.8",
			"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
			"integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
			"funding": {
				"url": "https://github.com/sponsors/colinhacks"
			}

M package.json => package.json +1 -1
@@ 35,7 35,7 @@
		"@fontsource-variable/inter": "^5.0.5",
		"@imagemagick/magick-wasm": "^0.0.28",
		"argon2": "^0.40.1",
		"better-sqlite3": "^9.3.0",
		"better-sqlite3": "^11.0.0",
		"dayjs": "^1.11.9",
		"dotenv": "^16.3.1",
		"emoji-mart": "^5.5.2",

M src/hooks.server.ts => src/hooks.server.ts +7 -3
@@ 12,9 12,13 @@ export const handle: Handle = async ({ event, resolve }) => {
		await grab_details(token, locals, cookies, event);
	}

	const response = await resolve(event);

	return response;
	try {
		const response = await resolve(event);
		return response;
	} catch (e) {
		console.error(e);
		return new Response("SOMETHING HAS GONE TERRIBLY WRONG");
	}
};

async function grab_details(

M src/lib/Composer/MoreMenu.svelte => src/lib/Composer/MoreMenu.svelte +1 -1
@@ 15,6 15,6 @@
        ...
    </Action>
    <MenuProse>
        <h1>More Stuff</h1>
        <h1>More, More, More</h1>
    </MenuProse>
</SensibleMenu>

M src/lib/Forms/FormInput.svelte => src/lib/Forms/FormInput.svelte +9 -0
@@ 34,6 34,15 @@
        textarea:focus-visible {
            outline-width: 4px;
        }

        & input:disabled, textarea:disabled {
            background-color: var(--background-tone);
            cursor: not-allowed;
        }

        & textarea {
            resize: vertical;
        }
    }

    span {

M src/lib/Media/index.ts => src/lib/Media/index.ts +1 -1
@@ 22,7 22,7 @@ const retrieve_stmt = blob_db.prepare(`
    SELECT content_type, bytes FROM blob WHERE id = @id;
`);

function retrieve(id: string): [string, Buffer] | null | undefined {
function retrieve(id: string): [content_type: string, bytes: Buffer] | null | undefined {
    console.time("retrieve")
    const file = retrieve_stmt.get({ id }) as {
        content_type: string,

R src/lib/Tabs/Tab.svelte => src/lib/Tabs/TabBar.svelte +24 -6
@@ 21,6 21,7 @@
		color: inherit;

		margin-top: 0;
		margin-right: 1rem;

		font-family: var(--font-display);
		text-decoration: none;


@@ 29,7 30,9 @@
		font-weight: 400;

		user-select: none;
		transition: font-stretch, font-weight var(--expo-out) 0.4s;
		transition:
			font-stretch,
			font-weight var(--expo-out) 0.4s;
	}

	a.selected {


@@ 45,13 48,28 @@
	}

	a.small {
		font-size: 1.8rem;
		display: flex;
		align-items: center;
		justify-content: center;

		font-size: 1.25rem;
		height: 2rem;
		padding: 0 0.5rem;
		margin-right: .25rem;
		font-stretch: 75%;
		transition-duration: 0.15s;
		transition-timing-function: var(--cubic-out);
		
		transition: none;
		font-stretch: 100%;
		border-bottom: 2px solid transparent;

		&:hover {
			background-color: var(--background-tone);
			border-color: var(--foreground-tone);
		}

		&.selected {
			font-stretch: 90%;
			font-stretch: 100%;
			font-weight: 600;
			border-color: var(--foreground);
		}
	}
</style>

M src/lib/Tabs/Tabs.svelte => src/lib/Tabs/Tabs.svelte +0 -1
@@ 6,7 6,6 @@
<style>
	nav {
		display: flex;
		gap: 1rem;
		transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	}
	

M src/lib/server/Model/userpage.ts => src/lib/server/Model/userpage.ts +16 -0
@@ 57,10 57,26 @@ const insert_keypair = db.prepare(`
	VALUES (@id, @kind, @publicKey, @privateKey);
`);

// only matches a string of ascii characters, digits, underscores and dots
const regex_evil = /^[a-z|\d|\.|\_]+(?!\s)$/;

function validate_username(username: string) {
	return regex_evil.test(username);;
}

export async function create_page(props: {
	under: number;
	username: string;
}) {
	let valid_username = validate_username(props.username);

	if (!valid_username) {
		throw new Error
			("Invalid username. (no spaces or special characters please sorry). "
			+ `(the regex is ${regex_evil} if you're curious).`
		)
	}

	const keys = await make_keys();

	db.transaction(() => {

M src/routes/(guarded)/(timelines)/+layout.svelte => src/routes/(guarded)/(timelines)/+layout.svelte +1 -1
@@ 1,6 1,6 @@
<script lang="ts">
	import { page } from '$app/stores';
	import Tab from '$lib/Tabs/Tab.svelte';
	import Tab from '$lib/Tabs/TabBar.svelte';
	import Tabs from '$lib/Tabs/Tabs.svelte';

	export let tabs: [string, string][] = [

M src/routes/admin/instance/+page.svelte => src/routes/admin/instance/+page.svelte +3 -3
@@ 42,7 42,7 @@
	</FormInput>

	<FormInput label="name" flavour_text="what your instance is called">
		<input type="text" value={name} />
		<input type="text" value={name ?? ""} />
	</FormInput>

	<FormInput


@@ 50,7 50,7 @@
		label="subtitle"
		flavour_text="a short tagline or what have you"
	>
		<input type="text" name="short_desc" value={short_desc} />
		<input type="text" name="short_desc" value={short_desc ?? ""} />
	</FormInput>

	<FormInput


@@ 61,7 61,7 @@
		markdown works fine here
		"
	>
		<textarea rows="4" name="long_desc" value={long_desc} />
		<textarea rows="4" name="long_desc" value={long_desc ?? ""} />
	</FormInput>

	<div style="grid-column: 1 / span 2;">

M src/routes/meta/pagepicker/new/+page.server.ts => src/routes/meta/pagepicker/new/+page.server.ts +12 -4
@@ 13,10 13,18 @@ export const actions: Actions = {
        if (!username) return fail(400, { no_username: true });
        if (!locals.session) redirect(303, "/login");

        create_page({
            under: locals.session.user_id,
            username
        });
        try {
            await create_page({
                under: locals.session.user_id,
                username
            });
        } catch (e) {
            if (e instanceof Error) {
                return fail(400, { error: e.message })
            }

            throw e;
        }

        set_active_page(event, username);
        redirect(303, "/");

M src/routes/meta/setup/username/+page.server.ts => src/routes/meta/setup/username/+page.server.ts +11 -4
@@ 34,10 34,17 @@ export const actions: Actions = {
        if (!username) return fail(400, { no_username: true });
        if (!locals.session) redirect(303, "/login");

        create_page({
            under: locals.session.user_id,
            username
        });
        try {
            await create_page({
                under: locals.session.user_id,
                username
            });
        } catch (e) {
            if (e instanceof Error) {
                return fail(400, { error: e.message });
            }
            return fail(400, { error: "SOMETHING HAS GONE TERRIBLY WRONG" });
        }

        set_active_page(event, username);


M src/routes/meta/setup/username/+page.svelte => src/routes/meta/setup/username/+page.svelte +9 -1
@@ 1,5 1,7 @@
<script>
	import Header from '$lib/Navigation/Header.svelte';
	import WarningBox from '$lib/Bonus/WarningBox.svelte';
import Header from '$lib/Navigation/Header.svelte';
	export let form;
</script>

<!-- 


@@ 12,6 14,12 @@

<p>todo explanatory text</p>

{#if form?.error}
<WarningBox title="try that again">
	{form?.error}
</WarningBox>
{/if}

<form method="post" class="bz-form">
	<label>
		<span>Username</span>

M src/routes/post/[id]/+layout.svelte => src/routes/post/[id]/+layout.svelte +6 -6
@@ 1,8 1,8 @@
<script lang="ts">
	import { page } from "$app/stores";
	import Post from "$lib/Posts/Post.svelte";
	import Tabs from "$lib/Tabs/Tabs.svelte";
	import Tab from "$lib/Tabs/Tab.svelte";
	import TabBar from "$lib/Tabs/Tabs.svelte";
	import Tab from "$lib/Tabs/TabBar.svelte";
	import ReaderView from "./ReaderView.svelte";

	export let data;


@@ 23,13 23,13 @@
{/key}

<div>
	<Tabs>
	<TabBar>
		<Tab
			size="small"
			path="/post/{id}"
			selected={$page.url.pathname.endsWith(`/${id}`)}
		>
			replies
			Replies
		</Tab>
		<Tab
			size="small"


@@ 37,9 37,9 @@
			selected={$page.url.pathname.endsWith("/reposts")}
		>
			{data.repost_count}
			{data.repost_count == 1 ? "repost" : "reposts"}
			{data.repost_count == 1 ? "Repost" : "Reposts"}
		</Tab>
	</Tabs>
	</TabBar>
</div>

<slot />