diff --git a/astro.config.mjs b/astro.config.mjs
index 8321e85..8a66160 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -2,9 +2,11 @@ import { defineConfig } from 'astro/config';
import { i18n, filterSitemapByDefaultLocale } from "astro-i18n-aut/integration";
import sitemap from "@astrojs/sitemap";
import mdx from '@astrojs/mdx';
+import tailwind from '@astrojs/tailwind';
import glsl from 'vite-plugin-glsl';
import svelte from "@astrojs/svelte";
+import UnoCSS from 'unocss/astro'
const defaultLocale = "de";
const locales = {
@@ -16,6 +18,7 @@ const locales = {
export default defineConfig({
site: "https://max-richter.dev",
trailingSlash: "never",
+ prefetch: true,
build: {
format: "file",
},
@@ -27,6 +30,9 @@ export default defineConfig({
integrations: [
mdx(),
svelte(),
+ UnoCSS({
+ injectReset: true
+ }),
i18n({
exclude: ["pages/**/*.json.ts", "pages/api/**/*",],
locales,
diff --git a/package.json b/package.json
index bc8a5f8..7ba132f 100644
--- a/package.json
+++ b/package.json
@@ -22,11 +22,19 @@
"typescript": "^5.4.2"
},
"devDependencies": {
+ "@afordin/unocss-preset-token": "0.1.0-beta.0",
"@astrojs/sitemap": "^3.1.1",
+ "@iconify-json/tabler": "^1.1.109",
+ "@types/markdown-it": "^13.0.7",
+ "@unocss/preset-icons": "^0.58.8",
+ "@unocss/reset": "^0.58.8",
"astro-font": "^0.0.78",
+ "markdown-it": "^14.1.0",
"ogl": "^1.0.6",
"prettier": "^3.2.5",
"prettier-plugin-astro": "^0.13.0",
+ "sharp": "^0.33.3",
+ "unocss": "^0.58.8",
"vite-plugin-glsl": "^1.3.0"
}
}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6579d3f..969616a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -37,12 +37,30 @@ dependencies:
version: 5.4.2
devDependencies:
+ '@afordin/unocss-preset-token':
+ specifier: 0.1.0-beta.0
+ version: 0.1.0-beta.0(@unocss/core@0.58.8)
'@astrojs/sitemap':
specifier: ^3.1.1
version: 3.1.1
+ '@iconify-json/tabler':
+ specifier: ^1.1.109
+ version: 1.1.109
+ '@types/markdown-it':
+ specifier: ^13.0.7
+ version: 13.0.7
+ '@unocss/preset-icons':
+ specifier: ^0.58.8
+ version: 0.58.8
+ '@unocss/reset':
+ specifier: ^0.58.8
+ version: 0.58.8
astro-font:
specifier: ^0.0.78
version: 0.0.78
+ markdown-it:
+ specifier: ^14.1.0
+ version: 14.1.0
ogl:
specifier: ^1.0.6
version: 1.0.6
@@ -52,12 +70,26 @@ devDependencies:
prettier-plugin-astro:
specifier: ^0.13.0
version: 0.13.0
+ sharp:
+ specifier: ^0.33.3
+ version: 0.33.3
+ unocss:
+ specifier: ^0.58.8
+ version: 0.58.8(postcss@8.4.35)(vite@5.1.6)
vite-plugin-glsl:
specifier: ^1.3.0
version: 1.3.0(vite@5.1.6)
packages:
+ /@afordin/unocss-preset-token@0.1.0-beta.0(@unocss/core@0.58.8):
+ resolution: {integrity: sha512-O9bE14e6ebSjWCpWRfQbZTgYPVQ/AFPQtJfcdidwQfCidoJajLPsgbkcbZuNOaWRT676aQ8oNFaVOT+9LqaX2Q==}
+ peerDependencies:
+ '@unocss/core': '>= 0.52.0'
+ dependencies:
+ '@unocss/core': 0.58.8
+ dev: true
+
/@alloc/quick-lru@5.2.0:
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
engines: {node: '>=10'}
@@ -69,7 +101,17 @@ packages:
dependencies:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
- dev: false
+
+ /@antfu/install-pkg@0.1.1:
+ resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==}
+ dependencies:
+ execa: 5.1.1
+ find-up: 5.0.0
+ dev: true
+
+ /@antfu/utils@0.7.7:
+ resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==}
+ dev: true
/@astrojs/check@0.5.9(prettier-plugin-astro@0.13.0)(prettier@3.2.5)(typescript@5.4.2):
resolution: {integrity: sha512-+QsQMtYq4oso+gmilJC9HLmdi0glZ+04V/VyyTTPry7n21jqjX9SfgDpLGxMk5cwPC/vwZMkn6ORGPnkZS/L5w==}
@@ -281,12 +323,18 @@ packages:
dependencies:
'@babel/highlight': 7.23.4
chalk: 2.4.2
- dev: false
+
+ /@babel/code-frame@7.24.2:
+ resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.24.2
+ picocolors: 1.0.0
+ dev: true
/@babel/compat-data@7.23.5:
resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/core@7.24.0:
resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==}
@@ -311,6 +359,29 @@ packages:
- supports-color
dev: false
+ /@babel/core@7.24.3:
+ resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.1
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
+ '@babel/helpers': 7.24.1
+ '@babel/parser': 7.24.1
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/generator@7.23.6:
resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
engines: {node: '>=6.9.0'}
@@ -321,12 +392,21 @@ packages:
jsesc: 2.5.2
dev: false
+ /@babel/generator@7.24.1:
+ resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+ dev: true
+
/@babel/helper-annotate-as-pure@7.22.5:
resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
/@babel/helper-compilation-targets@7.23.6:
resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
@@ -337,12 +417,28 @@ packages:
browserslist: 4.23.0
lru-cache: 5.1.1
semver: 6.3.1
- dev: false
+
+ /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ dev: true
/@babel/helper-environment-visitor@7.22.20:
resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-function-name@7.23.0:
resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
@@ -350,21 +446,25 @@ packages:
dependencies:
'@babel/template': 7.24.0
'@babel/types': 7.24.0
- dev: false
/@babel/helper-hoist-variables@7.22.5:
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
+
+ /@babel/helper-member-expression-to-functions@7.23.0:
+ resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: true
/@babel/helper-module-imports@7.22.15:
resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
/@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0):
resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
@@ -380,39 +480,73 @@ packages:
'@babel/helper-validator-identifier': 7.22.20
dev: false
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3):
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: true
+
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: true
+
/@babel/helper-plugin-utils@7.24.0:
resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==}
engines: {node: '>=6.9.0'}
- dev: false
+
+ /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ dev: true
/@babel/helper-simple-access@7.22.5:
resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: true
/@babel/helper-split-export-declaration@7.22.6:
resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
/@babel/helper-string-parser@7.23.4:
resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-validator-identifier@7.22.20:
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-validator-option@7.23.5:
resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helpers@7.24.0:
resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==}
@@ -425,6 +559,17 @@ packages:
- supports-color
dev: false
+ /@babel/helpers@7.24.1:
+ resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/highlight@7.23.4:
resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
engines: {node: '>=6.9.0'}
@@ -432,7 +577,16 @@ packages:
'@babel/helper-validator-identifier': 7.22.20
chalk: 2.4.2
js-tokens: 4.0.0
- dev: false
+
+ /@babel/highlight@7.24.2:
+ resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.0
+ dev: true
/@babel/parser@7.24.0:
resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==}
@@ -440,7 +594,14 @@ packages:
hasBin: true
dependencies:
'@babel/types': 7.24.0
- dev: false
+
+ /@babel/parser@7.24.1:
+ resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: true
/@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0):
resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
@@ -452,6 +613,38 @@ packages:
'@babel/helper-plugin-utils': 7.24.0
dev: false
+ /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: true
+
+ /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: true
+
+ /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-simple-access': 7.22.5
+ dev: true
+
/@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0):
resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==}
engines: {node: '>=6.9.0'}
@@ -466,6 +659,33 @@ packages:
'@babel/types': 7.24.0
dev: false
+ /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3)
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3)
+ dev: true
+
+ /@babel/preset-typescript@7.24.1(@babel/core@7.24.3):
+ resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3)
+ '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3)
+ dev: true
+
/@babel/runtime@7.24.1:
resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==}
engines: {node: '>=6.9.0'}
@@ -480,7 +700,6 @@ packages:
'@babel/code-frame': 7.23.5
'@babel/parser': 7.24.0
'@babel/types': 7.24.0
- dev: false
/@babel/traverse@7.24.0:
resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==}
@@ -500,6 +719,24 @@ packages:
- supports-color
dev: false
+ /@babel/traverse@7.24.1:
+ resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.1
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.24.1
+ '@babel/types': 7.24.0
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/types@7.24.0:
resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
engines: {node: '>=6.9.0'}
@@ -507,7 +744,6 @@ packages:
'@babel/helper-string-parser': 7.23.4
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
- dev: false
/@emmetio/abbreviation@2.3.3:
resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==}
@@ -525,6 +761,14 @@ packages:
resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==}
dev: false
+ /@emnapi/runtime@1.1.0:
+ resolution: {integrity: sha512-gCGlE0fJGWalfy+wbFApjhKn6uoSVvopru77IPyxNKkjkaiSx2HxDS7eOYSmo9dcMIhmmIvoxiC3N9TM1c3EaA==}
+ requiresBuild: true
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+ optional: true
+
/@esbuild/aix-ppc64@0.19.12:
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
engines: {node: '>=12'}
@@ -709,6 +953,218 @@ packages:
requiresBuild: true
optional: true
+ /@iconify-json/tabler@1.1.109:
+ resolution: {integrity: sha512-74RaBQZQ0761iFTrgmuSH1fovfx0fBKn+txRbRNbRzfh8XWtlAHqKUc3CzvzATMLnVsSRJDxjG3qY4oWH/+opw==}
+ dependencies:
+ '@iconify/types': 2.0.0
+ dev: true
+
+ /@iconify/types@2.0.0:
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+ dev: true
+
+ /@iconify/utils@2.1.22:
+ resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==}
+ dependencies:
+ '@antfu/install-pkg': 0.1.1
+ '@antfu/utils': 0.7.7
+ '@iconify/types': 2.0.0
+ debug: 4.3.4
+ kolorist: 1.8.0
+ local-pkg: 0.5.0
+ mlly: 1.6.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@img/sharp-darwin-arm64@0.33.3:
+ resolution: {integrity: sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==}
+ engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.0.2
+ dev: true
+ optional: true
+
+ /@img/sharp-darwin-x64@0.33.3:
+ resolution: {integrity: sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==}
+ engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.0.2
+ dev: true
+ optional: true
+
+ /@img/sharp-libvips-darwin-arm64@1.0.2:
+ resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==}
+ engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@img/sharp-libvips-darwin-x64@1.0.2:
+ resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==}
+ engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@img/sharp-libvips-linux-arm64@1.0.2:
+ resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==}
+ engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@img/sharp-libvips-linux-arm@1.0.2:
+ resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==}
+ engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@img/sharp-libvips-linux-s390x@1.0.2:
+ resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==}
+ engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@img/sharp-libvips-linux-x64@1.0.2:
+ resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==}
+ engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@img/sharp-libvips-linuxmusl-arm64@1.0.2:
+ resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==}
+ engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@img/sharp-libvips-linuxmusl-x64@1.0.2:
+ resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==}
+ engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@img/sharp-linux-arm64@0.33.3:
+ resolution: {integrity: sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==}
+ engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.0.2
+ dev: true
+ optional: true
+
+ /@img/sharp-linux-arm@0.33.3:
+ resolution: {integrity: sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==}
+ engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.0.2
+ dev: true
+ optional: true
+
+ /@img/sharp-linux-s390x@0.33.3:
+ resolution: {integrity: sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==}
+ engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.0.2
+ dev: true
+ optional: true
+
+ /@img/sharp-linux-x64@0.33.3:
+ resolution: {integrity: sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==}
+ engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.0.2
+ dev: true
+ optional: true
+
+ /@img/sharp-linuxmusl-arm64@0.33.3:
+ resolution: {integrity: sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==}
+ engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.2
+ dev: true
+ optional: true
+
+ /@img/sharp-linuxmusl-x64@0.33.3:
+ resolution: {integrity: sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==}
+ engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.2
+ dev: true
+ optional: true
+
+ /@img/sharp-wasm32@0.33.3:
+ resolution: {integrity: sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [wasm32]
+ requiresBuild: true
+ dependencies:
+ '@emnapi/runtime': 1.1.0
+ dev: true
+ optional: true
+
+ /@img/sharp-win32-ia32@0.33.3:
+ resolution: {integrity: sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@img/sharp-win32-x64@0.33.3:
+ resolution: {integrity: sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
/@isaacs/cliui@8.0.2:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -1103,28 +1559,23 @@ packages:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.25
- dev: false
/@jridgewell/resolve-uri@3.1.2:
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
- dev: false
/@jridgewell/set-array@1.2.1:
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
- dev: false
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- dev: false
/@jridgewell/trace-mapping@0.3.25:
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.4.15
- dev: false
/@mdx-js/mdx@3.0.1:
resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==}
@@ -1162,12 +1613,10 @@ packages:
dependencies:
'@nodelib/fs.stat': 2.0.5
run-parallel: 1.2.0
- dev: false
/@nodelib/fs.stat@2.0.5:
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
engines: {node: '>= 8'}
- dev: false
/@nodelib/fs.walk@1.2.8:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
@@ -1175,7 +1624,6 @@ packages:
dependencies:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
- dev: false
/@pkgjs/parseargs@0.11.0:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
@@ -1184,6 +1632,10 @@ packages:
dev: false
optional: true
+ /@polka/url@1.0.0-next.25:
+ resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
+ dev: true
+
/@rollup/pluginutils@5.1.0:
resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
engines: {node: '>=14.0.0'}
@@ -1389,12 +1841,27 @@ packages:
'@types/unist': 3.0.2
dev: false
+ /@types/linkify-it@3.0.5:
+ resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==}
+ dev: true
+
+ /@types/markdown-it@13.0.7:
+ resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==}
+ dependencies:
+ '@types/linkify-it': 3.0.5
+ '@types/mdurl': 1.0.5
+ dev: true
+
/@types/mdast@4.0.3:
resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
dependencies:
'@types/unist': 3.0.2
dev: false
+ /@types/mdurl@1.0.5:
+ resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
+ dev: true
+
/@types/mdx@2.0.12:
resolution: {integrity: sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==}
dev: false
@@ -1435,6 +1902,220 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: false
+ /@unocss/astro@0.58.8(vite@5.1.6):
+ resolution: {integrity: sha512-pAjsKuVg41dXNPWpFKx/SDxz198Miu/hqAL4lMkE2ITY+nFgqt9SH1lGS9P+VzElrHZ+Uqwmmtw8SjaT2EfCMA==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+ dependencies:
+ '@unocss/core': 0.58.8
+ '@unocss/reset': 0.58.8
+ '@unocss/vite': 0.58.8(vite@5.1.6)
+ vite: 5.1.6
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /@unocss/cli@0.58.8:
+ resolution: {integrity: sha512-TxFyrMPBuPPkyvW1oJ+f9Q0IOX7hXcuZqmFzsv7n153HXHU6fZCNxFzqbOWUR2K1eS4ScBREjIOWZYekXx7s2g==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@rollup/pluginutils': 5.1.0
+ '@unocss/config': 0.58.8
+ '@unocss/core': 0.58.8
+ '@unocss/preset-uno': 0.58.8
+ cac: 6.7.14
+ chokidar: 3.6.0
+ colorette: 2.0.20
+ consola: 3.2.3
+ fast-glob: 3.3.2
+ magic-string: 0.30.8
+ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /@unocss/config@0.58.8:
+ resolution: {integrity: sha512-x0/FCP1vuU7z2Y1e4m5fazLEr9DyXQZ9aM8Rt72V8ElD9CmEwxGmxt6MVB+LkuXglH3srr9Btnhuir4P6jI92g==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@unocss/core': 0.58.8
+ unconfig: 0.3.11
+ dev: true
+
+ /@unocss/core@0.58.8:
+ resolution: {integrity: sha512-R3KuNTzF6G+bb2Qqg4LNLTWHh4TGU8iQJ4KOlpWHrPKAhDSCZ3XY9lSXoepCPwv+JcGEwA97Msa3zZ5p+QDoFg==}
+ dev: true
+
+ /@unocss/extractor-arbitrary-variants@0.58.8:
+ resolution: {integrity: sha512-zQ7W3wTWWbJvG9T+1b9HqJGtEzcrc3d/TG7JJqdon6vBc64xA2AMf9DNRVlNdzkrU2Kl31TRd6bLST6iMncovw==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ dev: true
+
+ /@unocss/inspector@0.58.8:
+ resolution: {integrity: sha512-nLmIIwOXnoTpsUFuvlKj8t8xxBi3gMw0+osW9xrYxt5whkV05IUfMwSTFQ3yDhKpmEW8fmUEMqrmu0sdLtRRZA==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ '@unocss/rule-utils': 0.58.8
+ gzip-size: 6.0.0
+ sirv: 2.0.4
+ dev: true
+
+ /@unocss/postcss@0.58.8(postcss@8.4.35):
+ resolution: {integrity: sha512-nI8Cbvc7/IFMGVeFXAHEom5X76gb0dSylBGvlVtWakq27nBwlxG4c3+58dVWg7Nyqvn1mC/sOMGpqjfk8FdJcQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ postcss: ^8.4.21
+ dependencies:
+ '@unocss/config': 0.58.8
+ '@unocss/core': 0.58.8
+ '@unocss/rule-utils': 0.58.8
+ css-tree: 2.3.1
+ fast-glob: 3.3.2
+ magic-string: 0.30.8
+ postcss: 8.4.35
+ dev: true
+
+ /@unocss/preset-attributify@0.58.8:
+ resolution: {integrity: sha512-QEKPDfoYxU2WqqTmd1JX72PDE5UuAHh3q9GgQEP7I6DRFeQ7H2xM62t3FLms5tdNRAALJnhl/jz5+Rajxp9ZQA==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ dev: true
+
+ /@unocss/preset-icons@0.58.8:
+ resolution: {integrity: sha512-T6xf7pE9+CiTzJgPlHUbxg27agTw/QmUp0FUt+LJr8Nvs4jwe2GDKvAiXrMfCw+s6yOqVFgxPcLpKQWoS5QhEA==}
+ dependencies:
+ '@iconify/utils': 2.1.22
+ '@unocss/core': 0.58.8
+ ofetch: 1.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@unocss/preset-mini@0.58.8:
+ resolution: {integrity: sha512-dCn9ny8Fpiya8qwc2dRkh8YCH5xwf+iD3MxP9YgfweO1o816onBJVqb03xEJT/MOxYkpuRFVJGU+cVSpehamiw==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ '@unocss/extractor-arbitrary-variants': 0.58.8
+ '@unocss/rule-utils': 0.58.8
+ dev: true
+
+ /@unocss/preset-tagify@0.58.8:
+ resolution: {integrity: sha512-Xmz1H4bMPpRlm/93RNRRBDzyjRdO5pkEKePQo+J3WXY+FfCrhE/BHopa7plNejoPd/k/4CtdFLuQCVRteHiZ+A==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ dev: true
+
+ /@unocss/preset-typography@0.58.8:
+ resolution: {integrity: sha512-NX0OC3MTj3CFNkQfcHIksJbPVD1rxAbTTTK3l1x6mul7XOAolWjLXy1aVyGeOFLpCSX4Wv9YrYsa9l2fpnZKgg==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ '@unocss/preset-mini': 0.58.8
+ dev: true
+
+ /@unocss/preset-uno@0.58.8:
+ resolution: {integrity: sha512-zqIZLAX6g04B/9rVuGyVNd7/Jdng2rKfw9i9UFG6x0xYN1y+WuyV7+FN66bIJMj7EB17CusHWVMllHRKToOrmw==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ '@unocss/preset-mini': 0.58.8
+ '@unocss/preset-wind': 0.58.8
+ '@unocss/rule-utils': 0.58.8
+ dev: true
+
+ /@unocss/preset-web-fonts@0.58.8:
+ resolution: {integrity: sha512-ENDdJlJF4JWu4NSuG83S8gtUhAH5ua/mFItOaTtRffAPHPHuhOqm8krVYunBgkpRMTXYJhnpO4auUsOAMkV1Fw==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ ofetch: 1.3.4
+ dev: true
+
+ /@unocss/preset-wind@0.58.8:
+ resolution: {integrity: sha512-7ktb0wJgZg9q2xlNXfgx2pRjg22WJ+B3ENIk9+DB88pty2f6dYo24l8ZyJXQbHglgCilY64NP0fNHkBlUF9olg==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ '@unocss/preset-mini': 0.58.8
+ '@unocss/rule-utils': 0.58.8
+ dev: true
+
+ /@unocss/reset@0.58.8:
+ resolution: {integrity: sha512-6Cz92Ryer7QpFhxnOwyauwVJfDGhCNYvLHGqW8ScIicFEPK9AUXYys/zBRCIYO2489/kckZ5EG8a3NImS5h+9w==}
+ dev: true
+
+ /@unocss/rule-utils@0.58.8:
+ resolution: {integrity: sha512-F7TKtTkiV9ICf8JMYO1+Eq/5zrrV7Fw966rQfHfIKrN6Vwo3tw84b5R0bLJghAFtb9UuD7q9eCfy6WBQK0d7Tw==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@unocss/core': 0.58.8
+ magic-string: 0.30.8
+ dev: true
+
+ /@unocss/scope@0.58.8:
+ resolution: {integrity: sha512-FpXGSWQU+XfguSPrFm9NfZYKmDikxu4KB+fvVzgHkN3e+UQ7QSHFHREbdc+E8x0HPMNkoNnYVaCr0qgIBUEKFA==}
+ dev: true
+
+ /@unocss/transformer-attributify-jsx-babel@0.58.8:
+ resolution: {integrity: sha512-4+Ctwo57RiLcxoZtoRvS2XE6NHiVTolA8RW6dI5EQU6Z5n2XYPpkkUdSHcmXuFWuJ5ZD19FzUnCsxtBoPbr2Fw==}
+ dependencies:
+ '@babel/core': 7.24.3
+ '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3)
+ '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3)
+ '@unocss/core': 0.58.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@unocss/transformer-attributify-jsx@0.58.8:
+ resolution: {integrity: sha512-MFpbIJB9vsfKHHMJ04gObQ5EM1qySNPev3gysmvduBSQyHy6CRmUugTCWVStaZeepzYMASgOkFfx64xIyKAHpw==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ dev: true
+
+ /@unocss/transformer-compile-class@0.58.8:
+ resolution: {integrity: sha512-bMC+sXeD8VjjcqRtDIflh823zpmVOWeEQecRPPvYr0EU6u41N4L4m4SPIqyichmV6nbVKfJOhw1s8kWdBfNI2g==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ dev: true
+
+ /@unocss/transformer-directives@0.58.8:
+ resolution: {integrity: sha512-KdNzgmL5gdls1MTRvB7DKJRbLai1t8JeKCN+0H1lygzKMAhp8zItRei/F0MaSdbWdviNnGcAXqbCkbmGR72vaA==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ '@unocss/rule-utils': 0.58.8
+ css-tree: 2.3.1
+ dev: true
+
+ /@unocss/transformer-variant-group@0.58.8:
+ resolution: {integrity: sha512-Fa9lCHsR6scg9BuAvyltdRpSVJJxP5OCU8OJmkOhGlJnkcrV8X/9ynPvVuV82awoImn5CBoo4fyQ+f9vCdWycw==}
+ dependencies:
+ '@unocss/core': 0.58.8
+ dev: true
+
+ /@unocss/vite@0.58.8(vite@5.1.6):
+ resolution: {integrity: sha512-Eh0cG1I/BivvhUPdFxPi/z7Q+LMDnjHgL/dIE6/tmJK9rerdGeOBCAXxEetZfvBrOhWVnsOW/ydesyAhkzRg3w==}
+ peerDependencies:
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@rollup/pluginutils': 5.1.0
+ '@unocss/config': 0.58.8
+ '@unocss/core': 0.58.8
+ '@unocss/inspector': 0.58.8
+ '@unocss/scope': 0.58.8
+ '@unocss/transformer-directives': 0.58.8
+ chokidar: 3.6.0
+ fast-glob: 3.3.2
+ magic-string: 0.30.8
+ vite: 5.1.6
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
/@volar/kit@2.1.2(typescript@5.4.2):
resolution: {integrity: sha512-u20R1lCWCgFYBCHC+FR/e9J+P61vUNQpyWt4keAY+zpVHEHsSXVA2xWMJV1l1Iq5Dd0jBUSqrb1zsEya455AzA==}
peerDependencies:
@@ -1529,7 +2210,6 @@ packages:
resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
engines: {node: '>=0.4.0'}
hasBin: true
- dev: false
/ansi-align@3.0.1:
resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
@@ -1552,7 +2232,6 @@ packages:
engines: {node: '>=4'}
dependencies:
color-convert: 1.9.3
- dev: false
/ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
@@ -1580,7 +2259,6 @@ packages:
dependencies:
normalize-path: 3.0.0
picomatch: 2.3.1
- dev: false
/arg@5.0.2:
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
@@ -1593,7 +2271,6 @@ packages:
/argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: false
/aria-query@5.3.0:
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
@@ -1806,7 +2483,6 @@ packages:
/binary-extensions@2.3.0:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
- dev: false
/bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@@ -1855,7 +2531,6 @@ packages:
engines: {node: '>=8'}
dependencies:
fill-range: 7.0.1
- dev: false
/browserslist@4.23.0:
resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
@@ -1866,7 +2541,6 @@ packages:
electron-to-chromium: 1.4.708
node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.23.0)
- dev: false
/buffer-equal@0.0.1:
resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==}
@@ -1888,6 +2562,11 @@ packages:
ieee754: 1.2.1
dev: false
+ /cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+ dev: true
+
/camelcase-css@2.0.1:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
@@ -1900,7 +2579,6 @@ packages:
/caniuse-lite@1.0.30001598:
resolution: {integrity: sha512-j8mQRDziG94uoBfeFuqsJUNECW37DXpnvhcMJMdlH2u3MRkq1sAI0LJcXP1i/Py0KbSIC4UDj8YHPrTn5YsL+Q==}
- dev: false
/ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -1913,7 +2591,6 @@ packages:
ansi-styles: 3.2.1
escape-string-regexp: 1.0.5
supports-color: 5.5.0
- dev: false
/chalk@5.3.0:
resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
@@ -1949,7 +2626,6 @@ packages:
readdirp: 3.6.0
optionalDependencies:
fsevents: 2.3.3
- dev: false
/chownr@1.1.4:
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
@@ -2016,23 +2692,19 @@ packages:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
dependencies:
color-name: 1.1.3
- dev: false
/color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
dependencies:
color-name: 1.1.4
- dev: false
/color-name@1.1.3:
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
- dev: false
/color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
requiresBuild: true
- dev: false
/color-string@1.9.1:
resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
@@ -2040,8 +2712,6 @@ packages:
dependencies:
color-name: 1.1.4
simple-swizzle: 0.2.2
- dev: false
- optional: true
/color@4.2.3:
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
@@ -2050,8 +2720,10 @@ packages:
dependencies:
color-convert: 2.0.1
color-string: 1.9.1
- dev: false
- optional: true
+
+ /colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+ dev: true
/comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
@@ -2070,9 +2742,13 @@ packages:
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
dev: false
+ /consola@3.2.3:
+ resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+ dev: true
+
/convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- dev: false
/cookie@0.6.0:
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
@@ -2086,7 +2762,6 @@ packages:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
- dev: false
/css-tree@2.3.1:
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
@@ -2094,7 +2769,6 @@ packages:
dependencies:
mdn-data: 2.0.30
source-map-js: 1.0.2
- dev: false
/cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
@@ -2112,7 +2786,6 @@ packages:
optional: true
dependencies:
ms: 2.1.2
- dev: false
/decode-named-character-reference@1.0.2:
resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
@@ -2154,11 +2827,19 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
+ /defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ dev: true
+
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
dev: false
+ /destr@2.0.3:
+ resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
+ dev: true
+
/detect-libc@1.0.3:
resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
engines: {node: '>=0.10'}
@@ -2174,6 +2855,11 @@ packages:
dev: false
optional: true
+ /detect-libc@2.0.3:
+ resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
+ engines: {node: '>=8'}
+ dev: true
+
/deterministic-object-hash@2.0.2:
resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==}
engines: {node: '>=18'}
@@ -2213,13 +2899,16 @@ packages:
engines: {node: '>=4'}
dev: false
+ /duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ dev: true
+
/eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: false
/electron-to-chromium@1.4.708:
resolution: {integrity: sha512-iWgEEvREL4GTXXHKohhh33+6Y8XkPI5eHihDmm8zUk5Zo7HICEW+wI/j5kJ2tbuNUCXJ/sNXa03ajW635DiJXA==}
- dev: false
/emmet@2.4.7:
resolution: {integrity: sha512-O5O5QNqtdlnQM2bmKHtJgyChcrFMgQuulI+WdiOw2NArzprUqqxUW6bgYtKvzKgrsYpuLWalOkdhNP+1jluhCA==}
@@ -2251,7 +2940,6 @@ packages:
/entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
- dev: false
/es-module-lexer@1.4.1:
resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
@@ -2290,12 +2978,10 @@ packages:
/escalade@3.1.2:
resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
engines: {node: '>=6'}
- dev: false
/escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
- dev: false
/escape-string-regexp@5.0.0:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
@@ -2356,6 +3042,21 @@ packages:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
dev: false
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
/execa@8.0.1:
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
engines: {node: '>=16.17'}
@@ -2408,13 +3109,11 @@ packages:
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.5
- dev: false
/fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
dependencies:
reusify: 1.0.4
- dev: false
/file-type@17.1.1:
resolution: {integrity: sha512-heRUMZHby2Qj6wZAA3YHeMlRmZNQTcb6VxctkGmM+mcM6ROQKvHpr7SS6EgdfEhH+s25LDshBjvPx/Ecm+bOVQ==}
@@ -2435,7 +3134,6 @@ packages:
engines: {node: '>=8'}
dependencies:
to-regex-range: 5.0.1
- dev: false
/find-cache-dir@3.3.2:
resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
@@ -2460,7 +3158,6 @@ packages:
dependencies:
locate-path: 6.0.0
path-exists: 4.0.0
- dev: false
/find-up@6.3.0:
resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
@@ -2523,7 +3220,6 @@ packages:
/gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
- dev: false
/get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
@@ -2535,6 +3231,11 @@ packages:
engines: {node: '>=18'}
dev: false
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: true
+
/get-stream@8.0.1:
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
engines: {node: '>=16'}
@@ -2562,7 +3263,6 @@ packages:
engines: {node: '>= 6'}
dependencies:
is-glob: 4.0.3
- dev: false
/glob-parent@6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
@@ -2593,7 +3293,6 @@ packages:
/globals@11.12.0:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
- dev: false
/graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
@@ -2609,10 +3308,16 @@ packages:
strip-bom-string: 1.0.0
dev: false
+ /gzip-size@6.0.0:
+ resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ duplexer: 0.1.2
+ dev: true
+
/has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
- dev: false
/hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
@@ -2786,6 +3491,11 @@ packages:
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
dev: false
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: true
+
/human-signals@5.0.0:
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
engines: {node: '>=16.17.0'}
@@ -2846,15 +3556,12 @@ packages:
/is-arrayish@0.3.2:
resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
requiresBuild: true
- dev: false
- optional: true
/is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
dependencies:
binary-extensions: 2.3.0
- dev: false
/is-buffer@2.0.5:
resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
@@ -2885,7 +3592,6 @@ packages:
/is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
- dev: false
/is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
@@ -2901,7 +3607,6 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
is-extglob: 2.1.1
- dev: false
/is-hexadecimal@2.0.1:
resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
@@ -2923,7 +3628,6 @@ packages:
/is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
- dev: false
/is-plain-obj@4.1.0:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
@@ -2936,6 +3640,11 @@ packages:
'@types/estree': 1.0.5
dev: false
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: true
+
/is-stream@3.0.0:
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -2955,7 +3664,6 @@ packages:
/isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: false
/jackspeak@2.3.6:
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
@@ -2979,7 +3687,6 @@ packages:
/jiti@1.21.0:
resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
hasBin: true
- dev: false
/jpeg-js@0.4.4:
resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
@@ -2987,7 +3694,6 @@ packages:
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- dev: false
/js-yaml@3.14.1:
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
@@ -3008,18 +3714,20 @@ packages:
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
engines: {node: '>=4'}
hasBin: true
- dev: false
/json5@2.2.3:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
- dev: false
/jsonc-parser@2.3.1:
resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==}
dev: false
+ /jsonc-parser@3.2.1:
+ resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
+ dev: true
+
/jsonfile@6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
dependencies:
@@ -3043,6 +3751,10 @@ packages:
engines: {node: '>=6'}
dev: false
+ /kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+ dev: true
+
/lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
@@ -3057,6 +3769,12 @@ packages:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: false
+ /linkify-it@5.0.0:
+ resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
+ dependencies:
+ uc.micro: 2.1.0
+ dev: true
+
/load-bmfont@1.4.1:
resolution: {integrity: sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==}
dependencies:
@@ -3080,6 +3798,14 @@ packages:
strip-bom: 3.0.0
dev: false
+ /local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
+ dependencies:
+ mlly: 1.6.1
+ pkg-types: 1.0.3
+ dev: true
+
/locate-character@3.0.0:
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
dev: false
@@ -3096,7 +3822,6 @@ packages:
engines: {node: '>=10'}
dependencies:
p-locate: 5.0.0
- dev: false
/locate-path@7.2.0:
resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
@@ -3132,21 +3857,18 @@ packages:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
dependencies:
yallist: 3.1.1
- dev: false
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
dependencies:
yallist: 4.0.0
- dev: false
/magic-string@0.30.8:
resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
- dev: false
/make-dir@3.1.0:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
@@ -3160,6 +3882,18 @@ packages:
engines: {node: '>=16'}
dev: false
+ /markdown-it@14.1.0:
+ resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ entities: 4.5.0
+ linkify-it: 5.0.0
+ mdurl: 2.0.0
+ punycode.js: 2.3.1
+ uc.micro: 2.1.0
+ dev: true
+
/markdown-table@3.0.3:
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
dev: false
@@ -3369,16 +4103,17 @@ packages:
/mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
- dev: false
+
+ /mdurl@2.0.0:
+ resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
+ dev: true
/merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- dev: false
/merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- dev: false
/micromark-core-commonmark@2.0.0:
resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==}
@@ -3720,7 +4455,6 @@ packages:
dependencies:
braces: 3.0.2
picomatch: 2.3.1
- dev: false
/mime@1.6.0:
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
@@ -3737,7 +4471,6 @@ packages:
/mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
- dev: false
/mimic-fn@4.0.0:
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
@@ -3787,9 +4520,22 @@ packages:
minimist: 1.2.8
dev: false
+ /mlly@1.6.1:
+ resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
+ dependencies:
+ acorn: 8.11.3
+ pathe: 1.1.2
+ pkg-types: 1.0.3
+ ufo: 1.5.3
+ dev: true
+
+ /mrmime@2.0.0:
+ resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
+ engines: {node: '>=10'}
+ dev: true
+
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: false
/muggle-string@0.4.1:
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
@@ -3848,20 +4594,29 @@ packages:
dev: false
optional: true
+ /node-fetch-native@1.6.4:
+ resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
+ dev: true
+
/node-releases@2.0.14:
resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
- dev: false
/normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
- dev: false
/normalize-range@0.1.2:
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
engines: {node: '>=0.10.0'}
dev: false
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
/npm-run-path@5.3.0:
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -3879,6 +4634,14 @@ packages:
engines: {node: '>= 6'}
dev: false
+ /ofetch@1.3.4:
+ resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==}
+ dependencies:
+ destr: 2.0.3
+ node-fetch-native: 1.6.4
+ ufo: 1.5.3
+ dev: true
+
/ogl@1.0.6:
resolution: {integrity: sha512-ephp/AP2qR2JV/BLoFEoeMSs6JofFZIx3nB6iLKfom88Q3GFjFLXwFjW0ZQObHJaWHhmNGPcMi1n1nxUm+30TA==}
dev: true
@@ -3900,7 +4663,6 @@ packages:
engines: {node: '>=6'}
dependencies:
mimic-fn: 2.1.0
- dev: false
/onetime@6.0.0:
resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
@@ -3936,7 +4698,6 @@ packages:
engines: {node: '>=10'}
dependencies:
yocto-queue: 0.1.0
- dev: false
/p-limit@4.0.0:
resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
@@ -3964,7 +4725,6 @@ packages:
engines: {node: '>=10'}
dependencies:
p-limit: 3.1.0
- dev: false
/p-locate@6.0.0:
resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
@@ -4055,7 +4815,6 @@ packages:
/path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
- dev: false
/path-exists@5.0.0:
resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
@@ -4065,7 +4824,6 @@ packages:
/path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
- dev: false
/path-key@4.0.0:
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
@@ -4088,11 +4846,19 @@ packages:
resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
dev: false
+ /pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ dev: true
+
/peek-readable@5.0.0:
resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==}
engines: {node: '>=14.16'}
dev: false
+ /perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+ dev: true
+
/periscopic@3.1.0:
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
dependencies:
@@ -4142,6 +4908,14 @@ packages:
find-up: 4.1.0
dev: false
+ /pkg-types@1.0.3:
+ resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
+ dependencies:
+ jsonc-parser: 3.2.1
+ mlly: 1.6.1
+ pathe: 1.1.2
+ dev: true
+
/pngjs@3.4.0:
resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
engines: {node: '>=4.0.0'}
@@ -4297,9 +5071,13 @@ packages:
dev: false
optional: true
+ /punycode.js@2.3.1:
+ resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
+ engines: {node: '>=6'}
+ dev: true
+
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: false
/queue-tick@1.0.1:
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
@@ -4346,7 +5124,6 @@ packages:
engines: {node: '>=8.10.0'}
dependencies:
picomatch: 2.3.1
- dev: false
/regenerator-runtime@0.13.11:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
@@ -4513,7 +5290,6 @@ packages:
/reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: false
/rollup@4.13.0:
resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==}
@@ -4541,7 +5317,6 @@ packages:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
queue-microtask: 1.2.3
- dev: false
/s.color@0.0.15:
resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==}
@@ -4569,7 +5344,6 @@ packages:
/semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- dev: false
/semver@7.6.0:
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
@@ -4577,7 +5351,6 @@ packages:
hasBin: true
dependencies:
lru-cache: 6.0.0
- dev: false
/sharp@0.29.3:
resolution: {integrity: sha512-fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA==}
@@ -4611,17 +5384,45 @@ packages:
dev: false
optional: true
+ /sharp@0.33.3:
+ resolution: {integrity: sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==}
+ engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ requiresBuild: true
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.0.3
+ semver: 7.6.0
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.33.3
+ '@img/sharp-darwin-x64': 0.33.3
+ '@img/sharp-libvips-darwin-arm64': 1.0.2
+ '@img/sharp-libvips-darwin-x64': 1.0.2
+ '@img/sharp-libvips-linux-arm': 1.0.2
+ '@img/sharp-libvips-linux-arm64': 1.0.2
+ '@img/sharp-libvips-linux-s390x': 1.0.2
+ '@img/sharp-libvips-linux-x64': 1.0.2
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.2
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.2
+ '@img/sharp-linux-arm': 0.33.3
+ '@img/sharp-linux-arm64': 0.33.3
+ '@img/sharp-linux-s390x': 0.33.3
+ '@img/sharp-linux-x64': 0.33.3
+ '@img/sharp-linuxmusl-arm64': 0.33.3
+ '@img/sharp-linuxmusl-x64': 0.33.3
+ '@img/sharp-wasm32': 0.33.3
+ '@img/sharp-win32-ia32': 0.33.3
+ '@img/sharp-win32-x64': 0.33.3
+ dev: true
+
/shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
dependencies:
shebang-regex: 3.0.0
- dev: false
/shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- dev: false
/shiki@1.2.0:
resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==}
@@ -4631,7 +5432,6 @@ packages:
/signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
- dev: false
/signal-exit@4.1.0:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
@@ -4659,8 +5459,15 @@ packages:
requiresBuild: true
dependencies:
is-arrayish: 0.3.2
- dev: false
- optional: true
+
+ /sirv@2.0.4:
+ resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@polka/url': 1.0.0-next.25
+ mrmime: 2.0.0
+ totalist: 3.0.1
+ dev: true
/sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
@@ -4790,6 +5597,11 @@ packages:
engines: {node: '>=4'}
dev: false
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: true
+
/strip-final-newline@3.0.0:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
@@ -4846,7 +5658,6 @@ packages:
engines: {node: '>=4'}
dependencies:
has-flag: 3.0.0
- dev: false
/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
@@ -4995,14 +5806,12 @@ packages:
/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
- dev: false
/to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
dependencies:
is-number: 7.0.0
- dev: false
/token-types@5.0.1:
resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==}
@@ -5012,6 +5821,11 @@ packages:
ieee754: 1.2.1
dev: false
+ /totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+ dev: true
+
/trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
dev: false
@@ -5039,7 +5853,6 @@ packages:
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
- dev: false
/tunnel-agent@0.6.0:
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
@@ -5070,6 +5883,23 @@ packages:
hasBin: true
dev: false
+ /uc.micro@2.1.0:
+ resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
+ dev: true
+
+ /ufo@1.5.3:
+ resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
+ dev: true
+
+ /unconfig@0.3.11:
+ resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==}
+ dependencies:
+ '@antfu/utils': 0.7.7
+ defu: 6.1.4
+ jiti: 1.21.0
+ mlly: 1.6.1
+ dev: true
+
/unherit@3.0.1:
resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==}
dev: false
@@ -5196,6 +6026,45 @@ packages:
engines: {node: '>= 10.0.0'}
dev: false
+ /unocss@0.58.8(postcss@8.4.35)(vite@5.1.6):
+ resolution: {integrity: sha512-oMWCEgwvxJcF1BZxxkbTyTd83xtArsza3DModUrJrPndnpOVVz9fZ5g6wcrDbVpv6+cvRrgMCeKMlWKt9WIIsA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@unocss/webpack': 0.58.8
+ vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
+ peerDependenciesMeta:
+ '@unocss/webpack':
+ optional: true
+ vite:
+ optional: true
+ dependencies:
+ '@unocss/astro': 0.58.8(vite@5.1.6)
+ '@unocss/cli': 0.58.8
+ '@unocss/core': 0.58.8
+ '@unocss/extractor-arbitrary-variants': 0.58.8
+ '@unocss/postcss': 0.58.8(postcss@8.4.35)
+ '@unocss/preset-attributify': 0.58.8
+ '@unocss/preset-icons': 0.58.8
+ '@unocss/preset-mini': 0.58.8
+ '@unocss/preset-tagify': 0.58.8
+ '@unocss/preset-typography': 0.58.8
+ '@unocss/preset-uno': 0.58.8
+ '@unocss/preset-web-fonts': 0.58.8
+ '@unocss/preset-wind': 0.58.8
+ '@unocss/reset': 0.58.8
+ '@unocss/transformer-attributify-jsx': 0.58.8
+ '@unocss/transformer-attributify-jsx-babel': 0.58.8
+ '@unocss/transformer-compile-class': 0.58.8
+ '@unocss/transformer-directives': 0.58.8
+ '@unocss/transformer-variant-group': 0.58.8
+ '@unocss/vite': 0.58.8(vite@5.1.6)
+ vite: 5.1.6
+ transitivePeerDependencies:
+ - postcss
+ - rollup
+ - supports-color
+ dev: true
+
/update-browserslist-db@1.0.13(browserslist@4.23.0):
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
@@ -5205,7 +6074,6 @@ packages:
browserslist: 4.23.0
escalade: 3.1.2
picocolors: 1.0.0
- dev: false
/utif@2.0.1:
resolution: {integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==}
@@ -5484,7 +6352,6 @@ packages:
hasBin: true
dependencies:
isexe: 2.0.0
- dev: false
/widest-line@4.0.1:
resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
@@ -5555,11 +6422,9 @@ packages:
/yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- dev: false
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- dev: false
/yaml@2.4.1:
resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
@@ -5588,7 +6453,6 @@ packages:
/yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- dev: false
/yocto-queue@1.0.0:
resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
diff --git a/public/app.css b/public/app.css
index 38ce484..c6be46b 100644
--- a/public/app.css
+++ b/public/app.css
@@ -1,55 +1,23 @@
-/* @font-face { */
-/* font-display: swap; */
-/* font-family: 'Nunito Sans'; */
-/* font-style: normal; */
-/* font-weight: 300; */
-/* src: url('/fonts/nunito-sans-v15-latin-300.woff2') format('woff2'), */
-/* url('/fonts/nunito-sans-v15-latin-300.ttf') format('truetype'); */
-/* } */
-/**/
-/* @font-face { */
-/* font-display: swap; */
-/* font-family: 'Roboto'; */
-/* font-style: normal; */
-/* font-weight: 300; */
-/* src: url('/fonts/roboto-v30-latin-300.woff2') format('woff2'), */
-/* url('/fonts/roboto-v30-latin-300.ttf') format('truetype'); */
-/* } */
-
-h1 {
- font-weight: 300;
- font-size: 2rem;
- margin: 0;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
p {
- margin: 0px;
- padding: 0px;
-}
-
-p {
- font-family: 'Nunito Sans', sans-serif;
font-size: 16px;
}
+h1,
+h2 {
+ font-family: 'Roboto', sans-serif;
+}
+
:root {
- --neutral1000: #000000;
- --neutral800: #16161E;
- --neutral500: #252530;
- --neutral400: #2C2C3A;
- --neutral300: #414152;
- --neutral100: #AAAABB;
- --neutral000: #F1F1F4;
+ --neutral-1000: #000000;
+ --neutral-800: #16161E;
+ --neutral-500: #252530;
+ --neutral-400: #2C2C3A;
+ --neutral-300: #414152;
+ --neutral-100: #AAAABB;
+ --neutral-000: #F1F1F4;
}
body {
-
--background-dark: var(--neutral800);
--background: var(--neutral000);
--background-light: var(--neutral400);
@@ -57,14 +25,29 @@ body {
--text: var(--neutral1000);
--layer100: var(--neutral000);
+ --border-radius-md: 20px;
+
+ --spacing-sm: 10px;
+ --spacing-md: 20px;
+
background-color: var(--layer100);
transition: background-color 0.1s;
color: var(--text);
- font-family: 'Roboto', sans-serif;
+ font-family: 'Nunito Sans', sans-serif;
+}
+
+.noise::before {
+ content: "";
+ position: absolute;
+ height: 100%;
+ width: 100%;
+ background: url(/noise.png);
+ background-size: 200px;
+ pointer-events: none;
+ /* opacity: 0.3; */
}
.theme-dark {
-
--background-dark: var(--neutral800);
--background: var(--neutral500);
--background-light: var(--neutral400);
diff --git a/src/content/blog/colonial/images/Butterflies_1.gif b/public/blog/colonial/Butterflies_1.gif
similarity index 100%
rename from src/content/blog/colonial/images/Butterflies_1.gif
rename to public/blog/colonial/Butterflies_1.gif
diff --git a/public/blog/colonial/Butterflies_1.webm b/public/blog/colonial/Butterflies_1.webm
new file mode 100644
index 0000000..a1c7ff5
Binary files /dev/null and b/public/blog/colonial/Butterflies_1.webm differ
diff --git a/src/content/blog/colonial/images/Mask_01.gif b/public/blog/colonial/Mask_01.gif
similarity index 100%
rename from src/content/blog/colonial/images/Mask_01.gif
rename to public/blog/colonial/Mask_01.gif
diff --git a/public/blog/colonial/Mask_01.webm b/public/blog/colonial/Mask_01.webm
new file mode 100644
index 0000000..86a3cf7
Binary files /dev/null and b/public/blog/colonial/Mask_01.webm differ
diff --git a/src/content/blog/colonial/images/Mask_02.gif b/public/blog/colonial/Mask_02.gif
similarity index 100%
rename from src/content/blog/colonial/images/Mask_02.gif
rename to public/blog/colonial/Mask_02.gif
diff --git a/public/blog/colonial/Mask_02.webm b/public/blog/colonial/Mask_02.webm
new file mode 100644
index 0000000..5146422
Binary files /dev/null and b/public/blog/colonial/Mask_02.webm differ
diff --git a/src/content/blog/colonial/images/Pebbles.gif b/public/blog/colonial/Pebbles.gif
similarity index 100%
rename from src/content/blog/colonial/images/Pebbles.gif
rename to public/blog/colonial/Pebbles.gif
diff --git a/public/blog/colonial/Pebbles.webm b/public/blog/colonial/Pebbles.webm
new file mode 100644
index 0000000..03278ed
Binary files /dev/null and b/public/blog/colonial/Pebbles.webm differ
diff --git a/public/noise.png b/public/noise.png
new file mode 100755
index 0000000..2250578
--- /dev/null
+++ b/public/noise.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d04378e5759ddd686350a700dd06bda4944e0df33233a6ce3cc3cf9154f8b3a7
+size 68526
diff --git a/public/projects/plantarium/plantarium.png b/public/projects/plantarium/plantarium.png
new file mode 100644
index 0000000..23cb46c
--- /dev/null
+++ b/public/projects/plantarium/plantarium.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:528d7f3851000a71a57fd9162e19b9944ce63fb10c375f0f5534287f18d102db
+size 1526717
diff --git a/public/projects/plantarium/plantarium.png:Zone.Identifier b/public/projects/plantarium/plantarium.png:Zone.Identifier
new file mode 100644
index 0000000..053d112
--- /dev/null
+++ b/public/projects/plantarium/plantarium.png:Zone.Identifier
@@ -0,0 +1,3 @@
+[ZoneTransfer]
+ZoneId=3
+HostUrl=about:internet
diff --git a/public/projects/plantarium/screenshot-plantarium.png b/public/projects/plantarium/screenshot-plantarium.png
new file mode 100644
index 0000000..002f534
--- /dev/null
+++ b/public/projects/plantarium/screenshot-plantarium.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2aa0e59c992821a37517129689fd7d154b116c05a71ea91031ba532b5f0508fc
+size 104203
diff --git a/src/components/Card.astro b/src/components/Card.astro
deleted file mode 100644
index bd6d597..0000000
--- a/src/components/Card.astro
+++ /dev/null
@@ -1,61 +0,0 @@
----
-interface Props {
- title: string;
- body: string;
- href: string;
-}
-
-const { href, title, body } = Astro.props;
----
-
-
-
-
- {title}
- →
-
-
- {body}
-
-
-
-
diff --git a/src/components/GoogleyEye.svelte b/src/components/GoogleyEye.svelte
index 2b09e9d..b6d4708 100644
--- a/src/components/GoogleyEye.svelte
+++ b/src/components/GoogleyEye.svelte
@@ -169,8 +169,7 @@
box-shadow:
-5px -5px 10px #ffffff70 inset,
-1px -1px 4px #ffffff96 inset,
- 2px 2px 2px black inset,
- -2px -2px 5px #00000078;
+ 2px 2px 2px black inset;
transform: translate(-50%, -50%) rotate(calc(var(--rotation) * -1 + 180deg));
top: 50%;
left: 50%;
diff --git a/src/components/HeroCard.svelte b/src/components/HeroCard.svelte
new file mode 100644
index 0000000..3167fc8
--- /dev/null
+++ b/src/components/HeroCard.svelte
@@ -0,0 +1,46 @@
+
+
+
+
+
diff --git a/src/components/Image.astro b/src/components/Image.astro
index 5ec1cff..d707652 100644
--- a/src/components/Image.astro
+++ b/src/components/Image.astro
@@ -4,12 +4,11 @@ import { Image as AstroImage } from "astro:assets";
interface Props {
src: ImageMetadata;
alt: string;
+ caption?: string;
maxWidth?: number;
}
-const { src, alt, maxWidth } = Astro.props;
-
-const image = typeof src === "string" ? await import(src) : src;
+const { src: image, alt, maxWidth } = Astro.props;
const sizes = [
{
diff --git a/src/components/LanguagePicker.astro b/src/components/LanguagePicker.astro
index 2643613..e9c40dc 100644
--- a/src/components/LanguagePicker.astro
+++ b/src/components/LanguagePicker.astro
@@ -1,5 +1,5 @@
---
-import { locales, defaultLocale, getLocale } from "astro-i18n-aut";
+import { locales, defaultLocale } from "astro-i18n-aut";
import { useTranslations } from "../i18n/utils";
function translatePath(lang: string) {
@@ -16,15 +16,16 @@ function translatePath(lang: string) {
return `/${[lang, ...split].join("/")}`;
}
-const locale = getLocale(Astro.url);
-const t = useTranslations(locale);
+const t = useTranslations(Astro);
---
{
Object.entries(locales).map(([lang, label]) => (
-
- {t(label as "de")}
+
+ {t(label as "de")}
+
))
}
diff --git a/src/components/Max.astro b/src/components/Max.astro
index 6b71813..11e46a7 100644
--- a/src/components/Max.astro
+++ b/src/components/Max.astro
@@ -2,17 +2,16 @@
import MaxImg from "./Max.png";
import Image from "./Image.astro";
import GoogleyEye from "./GoogleyEye.svelte";
+import { Card } from "./card";
import { useTranslations } from "@i18n/utils";
-import { getLocale } from "astro-i18n-aut";
-
-const locale = getLocale(Astro.url);
-
-const t = useTranslations(locale);
+const t = useTranslations(Astro);
---
-
+
@@ -23,11 +22,11 @@ const t = useTranslations(locale);
-
-
{t("home.title")}
+
+
{t("home.title")}
{t("home.subtitle")}
-
+
diff --git a/src/components/Nav.astro b/src/components/Nav.astro
index 89e9e11..15cff39 100644
--- a/src/components/Nav.astro
+++ b/src/components/Nav.astro
@@ -1,15 +1,14 @@
---
-import { getLocale } from "astro-i18n-aut";
import { useTranslations, useTranslatedPath } from "../i18n/utils";
import Logo from "./Logo.astro";
-function isActive(path) {
+function isActive(path: string) {
return Astro.url.pathname === path ? "active" : "";
}
-const lang = getLocale(Astro.url);
-const t = useTranslations(lang);
-const translatePath = useTranslatedPath(lang);
+const t = useTranslations(Astro);
+const translatePath = useTranslatedPath(Astro);
+
const paths = [
{
link: translatePath("/"),
@@ -34,85 +33,37 @@ const paths = [
];
---
-
-
-
+
+
+
diff --git a/src/components/button/Button.svelte b/src/components/button/Button.svelte
new file mode 100644
index 0000000..724523d
--- /dev/null
+++ b/src/components/button/Button.svelte
@@ -0,0 +1,18 @@
+
+
+
+
+
diff --git a/src/components/button/Icon.svelte b/src/components/button/Icon.svelte
new file mode 100644
index 0000000..bfd5eb7
--- /dev/null
+++ b/src/components/button/Icon.svelte
@@ -0,0 +1,5 @@
+
+
+
diff --git a/src/components/button/index.ts b/src/components/button/index.ts
new file mode 100644
index 0000000..f4cf862
--- /dev/null
+++ b/src/components/button/index.ts
@@ -0,0 +1,12 @@
+import _Button from './Button.svelte';
+import Icon from './Icon.svelte';
+
+const Button = {
+ ..._Button,
+ Icon,
+} as typeof _Button & {
+ Icon: typeof Icon;
+};
+
+
+export { Button }
diff --git a/src/components/card/Content.svelte b/src/components/card/Content.svelte
new file mode 100644
index 0000000..b1c4d0a
--- /dev/null
+++ b/src/components/card/Content.svelte
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/src/components/card/Description.svelte b/src/components/card/Description.svelte
new file mode 100644
index 0000000..0824064
--- /dev/null
+++ b/src/components/card/Description.svelte
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/src/components/card/Image.svelte b/src/components/card/Image.svelte
new file mode 100644
index 0000000..e67e1b4
--- /dev/null
+++ b/src/components/card/Image.svelte
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/src/components/card/ReadMoreButton.svelte b/src/components/card/ReadMoreButton.svelte
new file mode 100644
index 0000000..1736377
--- /dev/null
+++ b/src/components/card/ReadMoreButton.svelte
@@ -0,0 +1,11 @@
+
+
+
+ read more
+
diff --git a/src/components/card/Title.svelte b/src/components/card/Title.svelte
new file mode 100644
index 0000000..152aab6
--- /dev/null
+++ b/src/components/card/Title.svelte
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/src/components/card/Wrapper.svelte b/src/components/card/Wrapper.svelte
new file mode 100644
index 0000000..315c98e
--- /dev/null
+++ b/src/components/card/Wrapper.svelte
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/src/components/card/index.ts b/src/components/card/index.ts
new file mode 100644
index 0000000..839b0ef
--- /dev/null
+++ b/src/components/card/index.ts
@@ -0,0 +1,23 @@
+import Wrapper from './Wrapper.svelte';
+import Image from './Image.svelte';
+import Content from './Content.svelte';
+import Title from './Title.svelte';
+import Description from './Description.svelte';
+import ReadMoreButton from './ReadMoreButton.svelte';
+
+const Card = {
+ ...Wrapper,
+ Image,
+ Content,
+ Title,
+ Description,
+ ReadMoreButton
+} as typeof Wrapper & {
+ Image: typeof Image;
+ Content: typeof Content;
+ Title: typeof Title;
+ Description: typeof Description;
+ ReadMoreButton: typeof ReadMoreButton;
+}
+
+export { Card };
diff --git a/src/content/blog/colonial/images/Mask_01-ezgif.com-gif-to-webm-converter.webm:Zone.Identifier b/src/content/blog/colonial/images/Mask_01-ezgif.com-gif-to-webm-converter.webm:Zone.Identifier
new file mode 100644
index 0000000..414b9a8
--- /dev/null
+++ b/src/content/blog/colonial/images/Mask_01-ezgif.com-gif-to-webm-converter.webm:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://ezgif.com/gif-to-webm/ezgif-1-af9e72fcc6.gif
+HostUrl=https://ezgif.com/save/ezgif-1-78ce3365b7.webm
diff --git a/src/content/blog/colonial/images/Mask_02-ezgif.com-gif-to-webm-converter.webm:Zone.Identifier b/src/content/blog/colonial/images/Mask_02-ezgif.com-gif-to-webm-converter.webm:Zone.Identifier
new file mode 100644
index 0000000..e0754ff
--- /dev/null
+++ b/src/content/blog/colonial/images/Mask_02-ezgif.com-gif-to-webm-converter.webm:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://ezgif.com/gif-to-webm/ezgif-1-74cf771d87.gif
+HostUrl=https://ezgif.com/save/ezgif-1-93f790072e.webm
diff --git a/src/content/blog/colonial/images/Pebbles-ezgif.com-gif-to-webm-converter.webm:Zone.Identifier b/src/content/blog/colonial/images/Pebbles-ezgif.com-gif-to-webm-converter.webm:Zone.Identifier
new file mode 100644
index 0000000..3e3088d
--- /dev/null
+++ b/src/content/blog/colonial/images/Pebbles-ezgif.com-gif-to-webm-converter.webm:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://ezgif.com/gif-to-webm/ezgif-1-70f1c50104.gif
+HostUrl=https://ezgif.com/save/ezgif-1-28f4d917d4.webm
diff --git a/src/content/blog/colonial/index.en.mdx b/src/content/blog/colonial/index.en.mdx
index b9371cf..9352063 100644
--- a/src/content/blog/colonial/index.en.mdx
+++ b/src/content/blog/colonial/index.en.mdx
@@ -7,10 +7,6 @@ import Image from "@components/Image.astro";
import YouTube from "@components/YouTube.astro";
import T_MacroVariation from "./images/T_MacroVariation.png";
-import Mask_01 from "./images/Mask_01.gif";
-import Mask_02 from "./images/Mask_02.gif";
-import Pebbles from "./images/Pebbles.gif";
-import Butterflies from "./images/Butterflies_1.gif";
@@ -24,22 +20,21 @@ Gladly i still had a Landscape Material which i created a while ago, so i didnt
I learned this technique from the materials that Unreal provides with the startup content, and it really adds to the realism of materials, i also used it in the roof material. With UnrealEngine it's also possible to create material instances to manipulate attributes of the material at runtime, i also included an option to preview the mmask live, green represents the near tiling and the pebbles, red represents the distant texture.
-
+
The material also utilizes Unreal engines Foliage Type feature to distribute foliage like Grass, Rocks, Forest Plants and Flowthaton their according ground. The material also blends the material according to their heightmaps which produces a very natural gradient. Notice how the grass, expand to the cracks of the rock material first.
-
-
+
The heightmap can be used to displace the physical vertices of the Landscape mesh together with adaptive tesselation that will make the material look fucking amazing, but this feature takes a huge hit on the performance and is for live gameplay, atleast on my pc, not feasable.
-
+
Another material that im really proud of is the ocean material, there is no physical displacement happening, just a lot of normal map magic. Another difficulty that i faced was the animation of the butterflies, as i am more used to the particle systems in Blender, 3DSMax and C4D Unreals so called Cascade System was not very intuituve for me.
After some time i found a solution which looks, atleast to me, natural. Now the Butterflies spawn in a small radius around a sphere which moves to a random position every two seconds, the sphere also poses as a force to the Butterflies, so they fly towards it.
-
+
diff --git a/src/content/blog/random-renders-02/index.mdx b/src/content/blog/random-renders-02/index.mdx
index ba088fa..1a18253 100644
--- a/src/content/blog/random-renders-02/index.mdx
+++ b/src/content/blog/random-renders-02/index.mdx
@@ -4,6 +4,7 @@ date: 2023-05-11
headerImg: "images/render_05.png"
comments: true
---
+
import Image from "@components/Image.astro"
import Palma from "./images/palma.png"
import Render05 from "./images/render_05.png"
diff --git a/src/content/blog/server-setup/index.mdx b/src/content/blog/server-setup/index.mdx
index 17fa510..e01488a 100644
--- a/src/content/blog/server-setup/index.mdx
+++ b/src/content/blog/server-setup/index.mdx
@@ -44,7 +44,7 @@ In meinem vorherigen Setup habe ich eine Mischung aus externen Diensten verwende
## My new Setup
-
+
Eine Frage, die man sich jetzt stellen könnte wäre: „Warum benutzt du Cloud und lokale Server?“ Beide haben einige Nachteile und einige Vorteile. Cloud-Server bieten schnelle Netzwerkgeschwindigkeiten und statische öffentliche IPs, aber die Speicherung großer Datenmengen ist recht teuer. Der Festplattenspeicher ist bei lokalen Servern vergleichsweise günstig. Ich habe etwa 60 € für meine 1-TB-Festplatte bezahlt, die speziell für NAS-Situationen entwickelt wurde, bei denen die Laufwerke rund um die Uhr laufen. Außerdem gefällt mir die Idee sehr gut, physischen Zugriff auf meine eigenen Daten zu haben und diese nicht einem Dritten anvertrauen zu müssen. Ein weiterer Vorteil des physischen Zugriffs auf meinen eigenen Server besteht darin, dass ich an Hardwareaspekten wie Netzwerk, Laufwerken und Kühlung herumbasteln und physische Messungen wie Raumtemperatur und Luftfeuchtigkeit vornehmen kann.
diff --git a/src/content/blog/zentralwerk_2051/fishes/webgl-fishes.ts b/src/content/blog/zentralwerk_2051/fishes/webgl-fishes.ts
index 3ceb844..4b67e7d 100644
--- a/src/content/blog/zentralwerk_2051/fishes/webgl-fishes.ts
+++ b/src/content/blog/zentralwerk_2051/fishes/webgl-fishes.ts
@@ -90,7 +90,7 @@ export default (canvas: HTMLCanvasElement, { amount = 100, color = new Color(0xf
mesh.setParent(scene);
return {
- update: (t, timeOffset) => {
+ update: (t: number, timeOffset: number) => {
program.uniforms.uTime.value = t * 0.001 + timeOffset;
fishMesh.program.uniforms.uTime.value = t * 0.001;
renderer.render({ scene, camera });
diff --git a/src/content/blog/zentralwerk_2051/index.mdx b/src/content/blog/zentralwerk_2051/index.mdx
index 6476a8a..4e5f70c 100644
--- a/src/content/blog/zentralwerk_2051/index.mdx
+++ b/src/content/blog/zentralwerk_2051/index.mdx
@@ -1,6 +1,7 @@
---
title: "Zentralwerk_2051"
date: 2021-01-07
+_layout: "transparent"
links: [["PDF", "/Zentralwerk_2051.pdf"]]
license: "CC-BY-SA:4.0"
comments: true
diff --git a/src/content/config.ts b/src/content/config.ts
index 1cdd6b4..b2907a2 100644
--- a/src/content/config.ts
+++ b/src/content/config.ts
@@ -4,10 +4,15 @@ const blogCollection = defineCollection({
schema: z.object({
title: z.string(),
date: z.date(),
- headerImg: z.string().optional()
+ headerImg: z.string().optional(),
+ draft: z.boolean().optional(),
+ featured: z.boolean().optional(),
+ _layout: z.enum(['normal', 'transparent']).optional(),
})
});
export const collections = {
- 'blog': blogCollection
+ 'blog': blogCollection,
+ "projects": blogCollection,
+ "photos": blogCollection,
};
diff --git a/src/content/photos/bigge-changes/images/11_1.jpg b/src/content/photos/bigge-changes/images/11_1.jpg
new file mode 100644
index 0000000..8cd7b6f
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/11_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7bc5745242b0524257f65ce5f4e299ee0e964c7bfb850fc726d4e767be777485
+size 2664591
diff --git a/src/content/photos/bigge-changes/images/14_1.jpg b/src/content/photos/bigge-changes/images/14_1.jpg
new file mode 100644
index 0000000..a77cfc3
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/14_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bfa312146a7dc2053366e2daa3de2f10ade230fe25c84f47fc9895ece96d25c4
+size 2230933
diff --git a/src/content/photos/bigge-changes/images/20_1.jpg b/src/content/photos/bigge-changes/images/20_1.jpg
new file mode 100644
index 0000000..53a0285
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/20_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:359a766fb5142f17f3bb1cd2f519c3e8d2935c881516b0af9ad67534f88c00c4
+size 2374041
diff --git a/src/content/photos/bigge-changes/images/27_1.jpg b/src/content/photos/bigge-changes/images/27_1.jpg
new file mode 100644
index 0000000..eaa497a
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/27_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9a63a31bb5a22b1a99f480e6146adcf39d753430aae83737d1dc183ecff568ac
+size 2426831
diff --git a/src/content/photos/bigge-changes/images/35_1.jpg b/src/content/photos/bigge-changes/images/35_1.jpg
new file mode 100644
index 0000000..2ab560e
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/35_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b738af637e50948ca5f9e676b7c3b47f13614c9b0382935aa3c8d11dd4ae487c
+size 3383862
diff --git a/src/content/photos/bigge-changes/images/39_1.jpg b/src/content/photos/bigge-changes/images/39_1.jpg
new file mode 100644
index 0000000..446a2f2
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/39_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:31eb4fd302735206ac3fccb71bdd0ef34f45f0c8b7f58ad326bbb9623effac51
+size 2126519
diff --git a/src/content/photos/bigge-changes/images/6_1.jpg b/src/content/photos/bigge-changes/images/6_1.jpg
new file mode 100644
index 0000000..563437a
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/6_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:222188acd6f1430825f8f64c0e4c3f850c9ee33eb1d764b720000648766b3a4a
+size 2780467
diff --git a/src/content/photos/bigge-changes/images/7_1.jpg b/src/content/photos/bigge-changes/images/7_1.jpg
new file mode 100644
index 0000000..6e61b85
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/7_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:71f6da5f798734f95c69900b6b1b948aa18136730fb433593850639c60e32919
+size 2582956
diff --git a/src/content/photos/bigge-changes/images/MAX_0511_1.jpg b/src/content/photos/bigge-changes/images/MAX_0511_1.jpg
new file mode 100644
index 0000000..ddaf395
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/MAX_0511_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2964981400b74763471d1555f6eb0b86826c6c9215449e6d5e8809e408562db2
+size 3396231
diff --git a/src/content/photos/bigge-changes/images/MAX_0513_1.jpg b/src/content/photos/bigge-changes/images/MAX_0513_1.jpg
new file mode 100644
index 0000000..13b83a0
--- /dev/null
+++ b/src/content/photos/bigge-changes/images/MAX_0513_1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bc62fb5d87238b5ab32d6831f6c0c150c8288351c83f6a7be5cbef6e07350b37
+size 4966245
diff --git a/src/content/photos/bigge-changes/index.mdx b/src/content/photos/bigge-changes/index.mdx
new file mode 100644
index 0000000..e263a45
--- /dev/null
+++ b/src/content/photos/bigge-changes/index.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3de9da5d2c700a83deb91624f1e5958c66a8c55cb8ef1813c5be6eef2146b2f7
+size 1539
diff --git a/src/content/photos/bilder-caen-ogrove/images/Barqueiro_01.jpg b/src/content/photos/bilder-caen-ogrove/images/Barqueiro_01.jpg
new file mode 100644
index 0000000..68f8ae0
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/Barqueiro_01.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c27cabe764810d50ec21ff87c2e8efb902fddc30ce1020174f505be4ccfd5e7f
+size 1233885
diff --git a/src/content/photos/bilder-caen-ogrove/images/HameuxDeLaMer_03.jpg b/src/content/photos/bilder-caen-ogrove/images/HameuxDeLaMer_03.jpg
new file mode 100644
index 0000000..c623e4a
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/HameuxDeLaMer_03.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:34f77a2c18e4a6701751ddf5c3f1e47e318941633df5137b7f804c25c3d20f19
+size 2067448
diff --git a/src/content/photos/bilder-caen-ogrove/images/HameuxDeLaMer_04.jpg b/src/content/photos/bilder-caen-ogrove/images/HameuxDeLaMer_04.jpg
new file mode 100644
index 0000000..bd820c5
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/HameuxDeLaMer_04.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ac39eed0dcaad06afdb2d8015dfb7028eb2da070dffc8f0dd23fa0479c71d6b9
+size 1012718
diff --git a/src/content/photos/bilder-caen-ogrove/images/Lannion_01.jpg b/src/content/photos/bilder-caen-ogrove/images/Lannion_01.jpg
new file mode 100644
index 0000000..97d7d3d
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/Lannion_01.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a50a82d65b879ac4b0e5ff0ec6e85066a9d97dafffa0906acb88d44689e9bf53
+size 1714467
diff --git a/src/content/photos/bilder-caen-ogrove/images/PointeDuPenhir_01.jpg b/src/content/photos/bilder-caen-ogrove/images/PointeDuPenhir_01.jpg
new file mode 100644
index 0000000..36f4a41
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/PointeDuPenhir_01.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8c4f493149beea7ba93cb8b174aa8f006f4514f082851bf6f23760f973a6c04e
+size 1630830
diff --git a/src/content/photos/bilder-caen-ogrove/images/RandomHotel.jpg b/src/content/photos/bilder-caen-ogrove/images/RandomHotel.jpg
new file mode 100644
index 0000000..4af5c3b
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/RandomHotel.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a21bea6056ef75294c9b61e0f85ce08d42119efabfc8fe7e166ae0bc84e3caef
+size 980048
diff --git a/src/content/photos/bilder-caen-ogrove/images/SoulacSurMer_01.jpg b/src/content/photos/bilder-caen-ogrove/images/SoulacSurMer_01.jpg
new file mode 100644
index 0000000..3883c2a
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/SoulacSurMer_01.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ba3f8898191929e82c9dfad4a933b10c122469b3cf975657a4136d2c62cc9521
+size 682180
diff --git a/src/content/photos/bilder-caen-ogrove/images/Thumb.jpg b/src/content/photos/bilder-caen-ogrove/images/Thumb.jpg
new file mode 100644
index 0000000..5426234
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/Thumb.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4638dfd900e57284912613b5ca44fdee6a875b2ba2c8f79fb0d7729dc95fd4f8
+size 108686
diff --git a/src/content/photos/bilder-caen-ogrove/images/Untitled_Chairs1.jpg b/src/content/photos/bilder-caen-ogrove/images/Untitled_Chairs1.jpg
new file mode 100644
index 0000000..3d70daa
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/Untitled_Chairs1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:861bc839cf7fd53b9d70b0a4f29897386a6a2bcec1450ea5c7ae69e1f2656c96
+size 1593387
diff --git a/src/content/photos/bilder-caen-ogrove/images/Untitled_Panorama10.jpg b/src/content/photos/bilder-caen-ogrove/images/Untitled_Panorama10.jpg
new file mode 100644
index 0000000..0c8555a
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/Untitled_Panorama10.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:947f4e1e75bcd3829d5cb110d4ffb2e7b92d802477531947b0470b3ff6ec1a55
+size 3631128
diff --git a/src/content/photos/bilder-caen-ogrove/images/Zumaia_01.jpg b/src/content/photos/bilder-caen-ogrove/images/Zumaia_01.jpg
new file mode 100644
index 0000000..2e3a547
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/Zumaia_01.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c0090480950ef2cd8cb76de634c2b46df1096512b2075f5c49c475c9db613c89
+size 3090149
diff --git a/src/content/photos/bilder-caen-ogrove/images/pointedupenhir_02.jpg b/src/content/photos/bilder-caen-ogrove/images/pointedupenhir_02.jpg
new file mode 100644
index 0000000..e605b72
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/pointedupenhir_02.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f175e9657c76bebd6902c5dd2ff12d5b3fbbb29fefa7119c910a74e9b6bb0281
+size 1482746
diff --git a/src/content/photos/bilder-caen-ogrove/images/untitled_panorama1.jpg b/src/content/photos/bilder-caen-ogrove/images/untitled_panorama1.jpg
new file mode 100644
index 0000000..d5defdf
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/untitled_panorama1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:68a7b4896fb953d5ca7849edad69b9840c2dda2db1d37bfe83d437c8bbede49c
+size 2595780
diff --git a/src/content/photos/bilder-caen-ogrove/images/untitled_panorama2.jpg b/src/content/photos/bilder-caen-ogrove/images/untitled_panorama2.jpg
new file mode 100644
index 0000000..b6fd386
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/untitled_panorama2.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:751371b936e2df36854d2b676e6d99be23621c86cf2a77e60216eaccfdaf37d4
+size 1716938
diff --git a/src/content/photos/bilder-caen-ogrove/images/untitled_panorama5.jpg b/src/content/photos/bilder-caen-ogrove/images/untitled_panorama5.jpg
new file mode 100644
index 0000000..a268269
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/images/untitled_panorama5.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2e80e62ed7586243be7a92428ceb3e85096b62b04769662c030b04b6ea8935fd
+size 1446053
diff --git a/src/content/photos/bilder-caen-ogrove/index.mdx b/src/content/photos/bilder-caen-ogrove/index.mdx
new file mode 100644
index 0000000..f94c302
--- /dev/null
+++ b/src/content/photos/bilder-caen-ogrove/index.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8035ddbac41c667cc09049ab33ed36532ba9e0fa437ab980a84e77495939146a
+size 3807
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Audresselles_03.jpg b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Audresselles_03.jpg
new file mode 100644
index 0000000..ebca7bd
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Audresselles_03.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ee12f2604fa06ba0694f2fd29e0a7e07f3384b8336f3100a608da7aa89140e7c
+size 1907333
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Blog_1-1.jpg b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Blog_1-1.jpg
new file mode 100644
index 0000000..9fd37ac
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Blog_1-1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ca3c0f65999b51f1dd31603ee3156c4943e591f67966be15354a1c5b185bca67
+size 71244
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Blogs.jpg b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Blogs.jpg
new file mode 100644
index 0000000..8b7b632
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Blogs.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9b712e737bf89ba841023ff6dacb4c21a7bd9b6086845d08a361a39a6fe767e7
+size 97111
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Gris-Nez_02.jpg b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Gris-Nez_02.jpg
new file mode 100644
index 0000000..9d78b9e
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Gris-Nez_02.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:716a1592c768a6c33e931ca48912c06f94f0e1804ebd6e743bc5731c5a1d3d52
+size 673870
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Gris-Nez_Klippen_01.jpg b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Gris-Nez_Klippen_01.jpg
new file mode 100644
index 0000000..090ca4c
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Gris-Nez_Klippen_01.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cb249655356c95b6129db8ce760305b197e7a93dea613baea17110ccb69d559d
+size 1499553
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Gris-Nez_Klippen_02.jpg b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Gris-Nez_Klippen_02.jpg
new file mode 100644
index 0000000..5159153
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Gris-Nez_Klippen_02.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a37656d58fdf121d879cae595b69f091b612770cba260770ffbd54a85c6de061
+size 1339965
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Wimereux.jpg b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Wimereux.jpg
new file mode 100644
index 0000000..90de7fc
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/Wimereux.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:625cd5f84dcaae40e4372ada1c2e0e3ad4c221c435b6c2c1cc60c4cd877f5411
+size 749268
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/audresselles_01.jpg b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/audresselles_01.jpg
new file mode 100644
index 0000000..9fd6dca
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/audresselles_01.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4bed7383ec76f268c7bd2fb75dd3351832cc49fa0ff9e163f2439e287a31f215
+size 1544095
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/gris-nez_01.jpg b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/gris-nez_01.jpg
new file mode 100644
index 0000000..4c6d346
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/images/gris-nez_01.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:22fb12f52ae706ba007b524b63d1b84790fe83f83bae90c29b50de4ede59dd5a
+size 1397662
diff --git a/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/index.mdx b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/index.mdx
new file mode 100644
index 0000000..9120d7a
--- /dev/null
+++ b/src/content/photos/bilder-duenkirchen-bolougne-sur-mer/index.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c6c45ce68c77807dbefdb7a74f23cb6999595da96622017d6672dd7c448212df
+size 2297
diff --git a/src/content/photos/cologne-spring/images/Unbenanntes_Panorama1.jpg b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama1.jpg
new file mode 100644
index 0000000..60c4845
--- /dev/null
+++ b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:009af72c2802fbe55133da48b75ed67420dfb76e57b146c690e24c9eed8bd969
+size 990031
diff --git a/src/content/photos/cologne-spring/images/Unbenanntes_Panorama2.jpg b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama2.jpg
new file mode 100644
index 0000000..198b1ef
--- /dev/null
+++ b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama2.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:19fa262772bd78106afa88e86667d3a666ddbb03cd27720034233e51bd953b4d
+size 916967
diff --git a/src/content/photos/cologne-spring/images/Unbenanntes_Panorama3.jpg b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama3.jpg
new file mode 100644
index 0000000..3b2092e
--- /dev/null
+++ b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama3.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:995d7574a620412427aaa0b78c10905cf0143aaba4b8d8aaf8ae12743378cca6
+size 1169277
diff --git a/src/content/photos/cologne-spring/images/Unbenanntes_Panorama4.jpg b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama4.jpg
new file mode 100644
index 0000000..f0bfae0
--- /dev/null
+++ b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama4.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ec8c9621f6e8378570068bf958dbe34c873f9c1420acd220e2e2ab41091c575c
+size 980516
diff --git a/src/content/photos/cologne-spring/images/Unbenanntes_Panorama6.jpg b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama6.jpg
new file mode 100644
index 0000000..5ede14c
--- /dev/null
+++ b/src/content/photos/cologne-spring/images/Unbenanntes_Panorama6.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f66ae5de84494c6cbfb52fe74bb88fc87656e8052521fba2d624c9fb45427795
+size 1166204
diff --git a/src/content/photos/cologne-spring/index.mdx b/src/content/photos/cologne-spring/index.mdx
new file mode 100644
index 0000000..50b4002
--- /dev/null
+++ b/src/content/photos/cologne-spring/index.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d44bd409512092964fe4eceb18b8b5e353d5fe91cc23f6b50802a7915c1e9488
+size 786
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8126.jpg b/src/content/photos/erasmus-valencia/images/MAX_8126.jpg
new file mode 100755
index 0000000..d0ef79a
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8126.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ae63115d949105b2dbda3f01e6746c865735c4193bb7b9f160484c619dfc7a1c
+size 4923231
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8133.jpg b/src/content/photos/erasmus-valencia/images/MAX_8133.jpg
new file mode 100755
index 0000000..66f8320
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8133.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e1b1c6d561f1f66a849ca9fb8175b9038512dea47c3322c2db1493f0cae084c4
+size 6697570
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8154.jpg b/src/content/photos/erasmus-valencia/images/MAX_8154.jpg
new file mode 100755
index 0000000..9e84f5e
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8154.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0d14ceed2da17011bd025a258749f29b7e73a4f3e5bc8ae4639115a7da96c214
+size 11300625
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8194.jpg b/src/content/photos/erasmus-valencia/images/MAX_8194.jpg
new file mode 100755
index 0000000..1278625
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8194.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:df3e5f56958f4dcead28dc469aa48c7fb0ab1745eca7f6d9ac4ca07d562360ce
+size 8605642
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8197_NEF_shotwell.jpg b/src/content/photos/erasmus-valencia/images/MAX_8197_NEF_shotwell.jpg
new file mode 100644
index 0000000..bfb860d
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8197_NEF_shotwell.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ff3ffdbbcad05ec68841bcff6a6f872a97f74a998774c5c71ee3d92807db28d8
+size 2066029
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8212_NEF_shotwell.jpg b/src/content/photos/erasmus-valencia/images/MAX_8212_NEF_shotwell.jpg
new file mode 100644
index 0000000..c08b607
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8212_NEF_shotwell.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4416b6225219cd96adf7d41a5ab56d356bd3dc3f8e462ae1cbf853cf790c38b5
+size 2122253
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8218 - MAX_8230.jpg b/src/content/photos/erasmus-valencia/images/MAX_8218 - MAX_8230.jpg
new file mode 100644
index 0000000..580e517
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8218 - MAX_8230.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:33fc7a96f4bdfcc20bd31a8c1dd2f5611392acfb109229db9c0876dd62b80b04
+size 8326567
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8249.jpg b/src/content/photos/erasmus-valencia/images/MAX_8249.jpg
new file mode 100644
index 0000000..17041aa
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8249.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:36f3ffd11bfd31e551511beced7ed3ec70d2f7512de65c59b4282f66542badf4
+size 3698693
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8276.jpg b/src/content/photos/erasmus-valencia/images/MAX_8276.jpg
new file mode 100644
index 0000000..2223f64
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8276.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:46e37e7d3e752f9d6c39037f47d05772bda3b59b1808dd8571e4861cd2c89444
+size 4580735
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8310_NEF_shotwell.jpg b/src/content/photos/erasmus-valencia/images/MAX_8310_NEF_shotwell.jpg
new file mode 100644
index 0000000..5658d2c
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8310_NEF_shotwell.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3cad53285d296a18c0cc5fafb081dcf0b86ab8f405705622a8a8310bf9ed6736
+size 3353643
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8342.jpg b/src/content/photos/erasmus-valencia/images/MAX_8342.jpg
new file mode 100644
index 0000000..eb141f4
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8342.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:847d59c905305dfd9dcd8e52b4de98465c77500fae5bbcab038db6badb8b0ace
+size 5849909
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8360.jpg b/src/content/photos/erasmus-valencia/images/MAX_8360.jpg
new file mode 100644
index 0000000..8f3fb33
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8360.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8162b85690a28bb83114d4540eddaf3d40f8f5789106704ec0c8f7bc0340ae4f
+size 4156911
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8361.jpg b/src/content/photos/erasmus-valencia/images/MAX_8361.jpg
new file mode 100644
index 0000000..f7d9fe6
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8361.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:72b0f8f74c940b3f47fa8fd02f1c1122a4d6be7ec9b420ba6d0c9e284f4d7cf1
+size 2991450
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8366.jpg b/src/content/photos/erasmus-valencia/images/MAX_8366.jpg
new file mode 100644
index 0000000..e9dcdcb
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8366.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2fd1b3ac3d7ee20f01e200c8cf29ee8b04dfca936bee6af4467cff0c507b36ea
+size 2736442
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8386.jpg b/src/content/photos/erasmus-valencia/images/MAX_8386.jpg
new file mode 100644
index 0000000..eb102c5
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8386.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5021936e963670fc11f020fc479bdd9204f5ebff3d39890624281ce83e698cb0
+size 1954520
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8396.jpg b/src/content/photos/erasmus-valencia/images/MAX_8396.jpg
new file mode 100644
index 0000000..004fa3f
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8396.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7f8c5a24eb8448fd0369708ca5d58df3fdcab9337285cc1b07dd76b4f39de3eb
+size 5885915
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8404_NEF_shotwell.jpg b/src/content/photos/erasmus-valencia/images/MAX_8404_NEF_shotwell.jpg
new file mode 100644
index 0000000..205b532
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8404_NEF_shotwell.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:765614902e21d7a8b6df365ba61f3f1f6510478bd435e4f3926368185bd4ca40
+size 4138564
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8416_NEF_shotwell.jpg b/src/content/photos/erasmus-valencia/images/MAX_8416_NEF_shotwell.jpg
new file mode 100644
index 0000000..e1d60f6
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8416_NEF_shotwell.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:62a681d3f7f11d8e7e36b6a6e72de26e26e4de901d58fab50b3fd4a78cb8b004
+size 2702702
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8426.jpg b/src/content/photos/erasmus-valencia/images/MAX_8426.jpg
new file mode 100644
index 0000000..31e3769
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8426.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f41c9733828ef473b27a56625f0019473d6b362379397177cdf00d83ce35b276
+size 8853453
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8527.jpg b/src/content/photos/erasmus-valencia/images/MAX_8527.jpg
new file mode 100644
index 0000000..717e642
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8527.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4797c5a66368030f435dc5f57e8fa44596d4b6b2afdaa0dd246fbb3c7e7adb1c
+size 4488347
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8547_NEF_shotwell.jpg b/src/content/photos/erasmus-valencia/images/MAX_8547_NEF_shotwell.jpg
new file mode 100644
index 0000000..f8b7b5f
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8547_NEF_shotwell.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:10d4700ce15ae4ee38bb201a7e0883564232a8c568b6fd4155e0221af8b2d8b9
+size 4138926
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8551_NEF_shotwell.jpg b/src/content/photos/erasmus-valencia/images/MAX_8551_NEF_shotwell.jpg
new file mode 100644
index 0000000..ef67655
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8551_NEF_shotwell.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f7c4909b4f21de1ebf14e940f125f61e72c7417356683dc2b78926354a9b8407
+size 3996362
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8561.jpg b/src/content/photos/erasmus-valencia/images/MAX_8561.jpg
new file mode 100644
index 0000000..901f498
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8561.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:769dc7ab3a71e78b8dc16d78f3b4ef7db12075638b099b6c0fb3429c2095dec9
+size 11665078
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8570.jpg b/src/content/photos/erasmus-valencia/images/MAX_8570.jpg
new file mode 100644
index 0000000..d1febe2
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8570.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6c76d1149ce2f031186926dc20c07e3d7e64be4c7918c308ec3a18b3435ef729
+size 8127337
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8582.jpg b/src/content/photos/erasmus-valencia/images/MAX_8582.jpg
new file mode 100644
index 0000000..52061ec
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8582.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:62f53a3f565aae5fc8ca1fe1acc7d7d36d79f4ec909aceff4eca256122f1dd3c
+size 5712004
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8781.jpg b/src/content/photos/erasmus-valencia/images/MAX_8781.jpg
new file mode 100644
index 0000000..d6252df
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8781.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6946bed9364d44763fdb0a1256350e9680482d72223d8a6300c72ce41ad06af7
+size 9177832
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8791.jpg b/src/content/photos/erasmus-valencia/images/MAX_8791.jpg
new file mode 100644
index 0000000..2eac92e
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8791.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:886a7d1668bc9493a31902b9992859ff662b7ef39be9a57b933ce40e1b4ae837
+size 8762609
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8794.jpg b/src/content/photos/erasmus-valencia/images/MAX_8794.jpg
new file mode 100644
index 0000000..a017247
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8794.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:17d1cacda42c9477609bfe5f80e6f65d6e75b2bf4ff3eeeabbf9fba7f3c7cb20
+size 9055741
diff --git a/src/content/photos/erasmus-valencia/images/MAX_8887.jpg b/src/content/photos/erasmus-valencia/images/MAX_8887.jpg
new file mode 100644
index 0000000..2f9dad2
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/MAX_8887.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b642bc005d2569e9ce045f04b416293221207d28a6d44d6e3b6c2b9373358da
+size 13386806
diff --git a/src/content/photos/erasmus-valencia/images/Panorama_01.jpg b/src/content/photos/erasmus-valencia/images/Panorama_01.jpg
new file mode 100644
index 0000000..2885db2
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/Panorama_01.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4289c992016162d7de507e7304fd4ed19a6f947dead53995ecf4e34fe95bad2c
+size 6828457
diff --git a/src/content/photos/erasmus-valencia/images/Panorama_02.jpg b/src/content/photos/erasmus-valencia/images/Panorama_02.jpg
new file mode 100644
index 0000000..504e4fb
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/images/Panorama_02.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:869e35ac422c21ee1ea12cfa9ee19e55720767f51389ac941d0a6f36382cacf3
+size 2420294
diff --git a/src/content/photos/erasmus-valencia/index.en.mdx b/src/content/photos/erasmus-valencia/index.en.mdx
new file mode 100644
index 0000000..a226bd2
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/index.en.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5d1fbb68dd9806fc0834a3968b5430e80e56be2e4d74805f00f5d986a86c9f53
+size 3156
diff --git a/src/content/photos/erasmus-valencia/index.mdx b/src/content/photos/erasmus-valencia/index.mdx
new file mode 100644
index 0000000..fdf929b
--- /dev/null
+++ b/src/content/photos/erasmus-valencia/index.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3a19f4fff65895d5df8f0e93c3e6f2b908abebf44ec46261cb3f56247abd3b1d
+size 3373
diff --git a/src/content/photos/point-de-lisle/images/PointDeLIsle.jpg b/src/content/photos/point-de-lisle/images/PointDeLIsle.jpg
new file mode 100644
index 0000000..f1298a6
--- /dev/null
+++ b/src/content/photos/point-de-lisle/images/PointDeLIsle.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:167dda6e70643a20dfe8efdea2de69d595d6ee9bb4623333aac98cbf0bc5973f
+size 2446137
diff --git a/src/content/photos/point-de-lisle/index.en.mdx b/src/content/photos/point-de-lisle/index.en.mdx
new file mode 100644
index 0000000..5c923d1
--- /dev/null
+++ b/src/content/photos/point-de-lisle/index.en.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dd253a70ffab454517571aea3a50ec3d188297757c51f7f8b8985f8b796f5ae1
+size 890
diff --git a/src/content/photos/point-de-lisle/index.mdx b/src/content/photos/point-de-lisle/index.mdx
new file mode 100644
index 0000000..5ff8f0f
--- /dev/null
+++ b/src/content/photos/point-de-lisle/index.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:97b199aa299327150d4b9730c3c5f35a32751f0c6dbf6235dd9d04871eeac643
+size 909
diff --git a/src/content/photos/portugal-2021/images/MAX_6400.jpg b/src/content/photos/portugal-2021/images/MAX_6400.jpg
new file mode 100644
index 0000000..520eb42
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6400.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:83d2794f9dc0d069ccd6b36d6638beaed3e6ba60d1b7143a10f7c6923a699c53
+size 2211311
diff --git a/src/content/photos/portugal-2021/images/MAX_6406.jpg b/src/content/photos/portugal-2021/images/MAX_6406.jpg
new file mode 100644
index 0000000..73b0468
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6406.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:21bd3c0b9405eb4e6b25661449e39b73e64dbd6d044cec3aef53101d41a50e02
+size 1508840
diff --git a/src/content/photos/portugal-2021/images/MAX_6529.jpg b/src/content/photos/portugal-2021/images/MAX_6529.jpg
new file mode 100644
index 0000000..8e61b0a
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6529.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:33dd5da84bb67bff4c0f86f71df25edde5676269d8520d441c8d430beeeb81f4
+size 6571174
diff --git a/src/content/photos/portugal-2021/images/MAX_6530.jpg b/src/content/photos/portugal-2021/images/MAX_6530.jpg
new file mode 100644
index 0000000..ab1acb7
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6530.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:62db03e46ead4daf186a295102ab940220e999b82e28cd2cee9ff456ea267ea3
+size 3581783
diff --git a/src/content/photos/portugal-2021/images/MAX_6536.jpg b/src/content/photos/portugal-2021/images/MAX_6536.jpg
new file mode 100644
index 0000000..68ed179
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6536.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:32ea442ba1bd81d44c653a3a72f5c33b0c98148fdd57833cbe4231fa7365419d
+size 2179897
diff --git a/src/content/photos/portugal-2021/images/MAX_6538.jpg b/src/content/photos/portugal-2021/images/MAX_6538.jpg
new file mode 100644
index 0000000..7d328e5
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6538.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cd627140dc0d050d098d7194771d0ee3087d81f92a5341373c475839aae032c2
+size 1945935
diff --git a/src/content/photos/portugal-2021/images/MAX_6550.jpg b/src/content/photos/portugal-2021/images/MAX_6550.jpg
new file mode 100644
index 0000000..d612835
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6550.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7b3c87dd73b5c585ced11e3016d1c26c2c73af1675a0a46854324a34d1e7d910
+size 2173470
diff --git a/src/content/photos/portugal-2021/images/MAX_6552.jpg b/src/content/photos/portugal-2021/images/MAX_6552.jpg
new file mode 100644
index 0000000..069fd24
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6552.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c2b84f0272446cf5d36b6715e1caba3eaf6c93437184c3a078da0b4c3170d58c
+size 2317104
diff --git a/src/content/photos/portugal-2021/images/MAX_6553.jpg b/src/content/photos/portugal-2021/images/MAX_6553.jpg
new file mode 100644
index 0000000..986038f
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6553.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:200deb9da4972708680228dda80deca24c61a7370a1663c170f64c220671e068
+size 1783985
diff --git a/src/content/photos/portugal-2021/images/MAX_6554.jpg b/src/content/photos/portugal-2021/images/MAX_6554.jpg
new file mode 100644
index 0000000..b52f6df
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6554.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cc379e58d9725c936d10d37c07304a80b7415f11bd3274a241747081bf25d3a9
+size 2368905
diff --git a/src/content/photos/portugal-2021/images/MAX_6556.jpg b/src/content/photos/portugal-2021/images/MAX_6556.jpg
new file mode 100644
index 0000000..8f6750c
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6556.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fd9e69078f91e4daca2a05a16a745235a1a7ddf28f1b86d49e9cfe70712b8075
+size 2064431
diff --git a/src/content/photos/portugal-2021/images/MAX_6571.jpg b/src/content/photos/portugal-2021/images/MAX_6571.jpg
new file mode 100644
index 0000000..b480952
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/MAX_6571.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4bacf034e1be5b700d96ceef763d72806bb62f3201f346d2b9c10e095f561759
+size 3609962
diff --git a/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-1.jpg b/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-1.jpg
new file mode 100644
index 0000000..8782d65
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-1.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:282b5e59f2216a5bd8b34f4809cc2ba06c8650829b856c202feacdbf3584775b
+size 5937305
diff --git a/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-2.jpg b/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-2.jpg
new file mode 100644
index 0000000..e0412f3
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-2.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1d148241d3f4b2c5e2460c114cfcdeb8db0b1fa52f44d160633869a527bf8b8b
+size 1888591
diff --git a/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-3.jpg b/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-3.jpg
new file mode 100644
index 0000000..a2a63dd
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-3.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e72d2c9d47b0a3de65b012777239ab21839b4991fed0472b1ca87369a88f2564
+size 1526860
diff --git a/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-6.jpg b/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-6.jpg
new file mode 100644
index 0000000..cdf7940
--- /dev/null
+++ b/src/content/photos/portugal-2021/images/Unbenanntes_Panorama-6.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e6e824a7742b3118cebaf35e17e429d96b693de8b53576a033c78081612b23a3
+size 1626642
diff --git a/src/content/photos/portugal-2021/index.mdx b/src/content/photos/portugal-2021/index.mdx
new file mode 100644
index 0000000..b02e7ae
--- /dev/null
+++ b/src/content/photos/portugal-2021/index.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:85027bd748f68d38c2a46b96e702887d5069d7745fcfebce0fafbe5e6ff67f08
+size 1374
diff --git a/src/content/photos/sestri-levante/images/MAX_7053.jpg b/src/content/photos/sestri-levante/images/MAX_7053.jpg
new file mode 100644
index 0000000..818d10b
--- /dev/null
+++ b/src/content/photos/sestri-levante/images/MAX_7053.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8079febbe62da17a5e8f414c4a151a6941a1c150436d01b154ae1e394180e133
+size 12479562
diff --git a/src/content/photos/sestri-levante/images/MAX_7054.jpg b/src/content/photos/sestri-levante/images/MAX_7054.jpg
new file mode 100644
index 0000000..dc80221
--- /dev/null
+++ b/src/content/photos/sestri-levante/images/MAX_7054.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fe22b3071284dbb35082ffa50a1d1b817a7bd6f6265c6a3654a63d8d93249da4
+size 3584699
diff --git a/src/content/photos/sestri-levante/images/MAX_7055-Panorama.jpg b/src/content/photos/sestri-levante/images/MAX_7055-Panorama.jpg
new file mode 100644
index 0000000..ebfb25b
--- /dev/null
+++ b/src/content/photos/sestri-levante/images/MAX_7055-Panorama.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:450a7116cfb0b5830248bbd8abc175a8043627f42d5b323a759474d63b754f8d
+size 6790150
diff --git a/src/content/photos/sestri-levante/images/MAX_7076-Panorama.jpg b/src/content/photos/sestri-levante/images/MAX_7076-Panorama.jpg
new file mode 100644
index 0000000..77cc50d
--- /dev/null
+++ b/src/content/photos/sestri-levante/images/MAX_7076-Panorama.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d0e4d5d59d3e38bdf524e5da7665dcec74632c63b0d2327941f615db02dcafe6
+size 5170254
diff --git a/src/content/photos/sestri-levante/index.mdx b/src/content/photos/sestri-levante/index.mdx
new file mode 100644
index 0000000..a986c8e
--- /dev/null
+++ b/src/content/photos/sestri-levante/index.mdx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e1f1fc05fb83cd1ef9f0b272dddae7be03c2b4c5d96ae0c44153dd44c75f771c
+size 933
diff --git a/src/content/projects/_gamez/index.md b/src/content/projects/_gamez/index.md
new file mode 100644
index 0000000..e69de29
diff --git a/src/content/projects/argenti/index.md b/src/content/projects/argenti/index.md
new file mode 100644
index 0000000..f9643a0
--- /dev/null
+++ b/src/content/projects/argenti/index.md
@@ -0,0 +1,10 @@
+---
+title: "Argenti"
+date: 2023-08-21
+draft: true
+links:
+ [
+ ["live", "https://invoice.app.max-richter.dev"],
+ ["git", "https://git.max-richter.dev/max/invoice"],
+ ]
+---
diff --git a/src/content/projects/invoice/bg.jpg b/src/content/projects/invoice/bg.jpg
new file mode 100755
index 0000000..078a7f0
--- /dev/null
+++ b/src/content/projects/invoice/bg.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4868b4c47bc1b43c83e5a78e2b6c39e3476c9997623e4ec26e797885b5020574
+size 49039
diff --git a/src/content/projects/invoice/bg.svg b/src/content/projects/invoice/bg.svg
new file mode 100755
index 0000000..8d88777
--- /dev/null
+++ b/src/content/projects/invoice/bg.svg
@@ -0,0 +1,17 @@
+
diff --git a/src/content/projects/invoice/index.md b/src/content/projects/invoice/index.md
new file mode 100644
index 0000000..2bd0ca1
--- /dev/null
+++ b/src/content/projects/invoice/index.md
@@ -0,0 +1,41 @@
+---
+title: "Invoice"
+date: 2023-08-21
+headerImg: "bg.jpg"
+draft: true
+links:
+ [
+ ["live", "https://invoice.app.max-richter.dev"],
+ ["git", "https://git.max-richter.dev/max/invoice"],
+ ]
+---
+In meiner Freizeit übernehme ich gerne kleinere Aufträge und erledige Botengänge, Aufbauten und Abholungen für andere.
+
+Ein unvermeidlicher Bestandteil dieser Tätigkeiten ist das Erstellen von Rechnungen im PDF-Format. Anfangs habe ich mich dem manuellen Prozess hingegeben und die ersten Rechnungen in Figma erstellt. Doch wie es unter Programmierer*innen oft heißt:
+
+> Wieso sollte ich etwas manuell in 5 Minuten erledigen, was ich in 24 Stunden automatisieren kann?
+
+Aus dieser Überlegung heraus entstand mein neuestes Hobbyprojekt – **"Invoice."**
+
+## Entwicklung
+
+In der Entwicklung habe ich stets das Prinzip 'K.I.S.S.' im Hinterkopf behalten: Keep it simple, stupid. Für dieses Projekt bedeutete das die Auswahl von "langweiligen", aber mir bestens vertrauten Technologien:
+
+[-> SvelteKit](https://kit.svelte.dev)
+Für eine effiziente und reaktive Benutzeroberfläche.
+
+[-> UNOcss](https://unocss.dev/)
+Die schnellere Tailwind Alternative.
+
+[-> TypesafeI18n]()
+Um mehrsprachige Unterstützung ohne komplizierte Logik zu integrieren.
+
+[-> Prisma](https://prisma.io)
+Als Datenbankzugriffslayer für eine reibungslose Datenverwaltung.
+
+[-> SQLite](https://www.sqlite.org/index.html)
+Als zuverlässiges Backend, das sich ideal für kleinere Projekte eignet.
+
+Diese bewährten Technologien bildeten das robuste Fundament, auf dem "Invoice" aufgebaut wurde.
+
+
diff --git a/src/content/projects/karl/images/Indicatrices_of_Distortion.png b/src/content/projects/karl/images/Indicatrices_of_Distortion.png
new file mode 100644
index 0000000..1923cfc
--- /dev/null
+++ b/src/content/projects/karl/images/Indicatrices_of_Distortion.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:42f8241e5ee0240620c504522b8e2ae7b257c3663bba4a1a366454a311831f76
+size 412810
diff --git a/src/content/projects/karl/images/Indicatrices_of_Distortion.svg b/src/content/projects/karl/images/Indicatrices_of_Distortion.svg
new file mode 100644
index 0000000..e1100d2
--- /dev/null
+++ b/src/content/projects/karl/images/Indicatrices_of_Distortion.svg
@@ -0,0 +1,322 @@
+
\ No newline at end of file
diff --git a/src/content/projects/karl/images/crosswalk.jpg b/src/content/projects/karl/images/crosswalk.jpg
new file mode 100644
index 0000000..7c207d2
--- /dev/null
+++ b/src/content/projects/karl/images/crosswalk.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eff26d36fd2986b5f89318ae33eafc5b7fcf7080c68c8bd5949b9f324490f6e9
+size 227717
diff --git a/src/content/projects/karl/images/crosswalk_mask.png b/src/content/projects/karl/images/crosswalk_mask.png
new file mode 100644
index 0000000..4ee0c3c
--- /dev/null
+++ b/src/content/projects/karl/images/crosswalk_mask.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ef6abec5482713edc79f40cc532908700e3df1bdf5e7cbf90d7f2574458e4201
+size 54373
diff --git a/src/content/projects/karl/images/formel.png b/src/content/projects/karl/images/formel.png
new file mode 100644
index 0000000..439e46f
--- /dev/null
+++ b/src/content/projects/karl/images/formel.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3fc52ec59cf2621c020ad5bac6855a82c21c18eda6fc669c4c5b1101744197f4
+size 4518
diff --git a/src/content/projects/karl/index.md b/src/content/projects/karl/index.md
new file mode 100644
index 0000000..d3ca9e6
--- /dev/null
+++ b/src/content/projects/karl/index.md
@@ -0,0 +1,135 @@
+---
+title: "K.A.R.L"
+date: 2021-04-01
+headerImg: "images/Indicatrices_of_Distortion.png"
+license: "CC-BY-SA:4.0"
+comments: true
+links:
+ [
+ ["live", "https://max-richter.dev/karl"],
+ ["git", "https://git.max-richter.dev/max/karl"],
+ ]
+---
+
+*[Header by Justin Kunimune - Own work, CC BY-SA 4.0](https://commons.wikimedia.org/w/index.php?curid=66467577*)*
+
+
+{{}}
+
+```
+K.A.R.L ist eine WebApp die einem dabei hilft 360Grad Panoramas in Sektionen einzuteilen, (Himmel, Boden, Bäume usw...) und dann den Anteil der einzelnen Sektionen am Gesamtbild festzustellen.
+```
+
+## Einleitung
+
+Das Projekt ist aus der Zusammenarbeit mit zwei Freunden entstanden. Der eine steckt gerade mitten in der Konzeptionsphase seiner Bachelorarbeit (Geographie), die sich mit der Auswirkung von Vegetation auf das Stadtklima beschäftigt. Dazu hat er an verschiedenen Orten in Köln Albedo Messungen vorgenommen, also quasi "wieviel Licht kommt vom Himmel, und wieviel davon wird vom Boden reflektiert". Um diese Messungen in den richtigen Kontext zu setzen hat er von jedem Messort 360 Panoramas angelegt, diese sehen ungefähr so aus:
+
+{{}}
+
+Dazu brauchte er jetzt Angaben wieviel Prozent der Sicht zum Beispiel Vegetation, Himmel und Boden sind. Um das zu messen hat er in Gimp per Hand eine Segmentationsmap erstellt, eine Segmentationsmap sieht etwas so aus:
+
+{{}}
+
+## Problemstellung
+
+Wenn wir jetzt einfach naiv hingehen und die Pixel der einzelnen Farben zählen und daraus eine prozentuale Verteilung machen kriegen wir das klassische Problem mit der Verzerrung das die Menschheit schon seit Jahrhunderten mit Karten hat. Undzwar lassen sich Kugeln nur sehr ungern zwei dimensional darstellen, dabei kommt es immer zu Verzerrungen, wie folgendes Bild visualisiert.
+
+{{}}
+
+Zum Glück passiert diese Verzerrung nur in der Breite, wir brauchen also eine Formel die uns für die Höhe eines Pixels eine Gewichtung gibt um diese Verzerrung auszugleichen. Nach vielen Versuchen sind wir bei dieser Formel gelandet:
+
+```javascript
+/*
+height: height of the image in pixels
+calibrationFactor: 1.333, somehow this works, dont ask why, we dont either
+y: y position of the pixel
+*/
+const pixelValue = Math.cos(
+ (((360 / height ** 2) * y ** 2 + (-360 / height) * y + 90) / 360) *
+ (2 + calibrationFaktor) *
+ Math.PI
+ )
+```
+
+Diese Formel ist eigentlich dafür gedacht für einen bestimmten Breitengrad den Abstand zwischen zwei Längengraden zu berechnen, aber für unsere Zwecke funktioniert sie auch sehr gut.
+
+Hier noch einiger der ersten Versuch in Desmos (fantastisches Tool btw):
+
+{{