From 959ccf51a9387bb59487486c2a1064436421087d Mon Sep 17 00:00:00 2001 From: CodeDoctorDE Date: Tue, 15 Oct 2024 10:50:36 +0200 Subject: [PATCH] Add setonix, improve project settings --- package.json | 4 +- pnpm-lock.yaml | 74 ++++++++++----------- public/logos/setonix.png | Bin 0 -> 57520 bytes public/logos/setonix.svg | 92 +++++++++++++++++++++++++++ src/blog.ts | 6 +- src/content/config.ts | 3 +- src/content/projects/butterfly.json | 12 ++-- src/content/projects/dev-doctor.json | 11 ++-- src/content/projects/flow.json | 2 +- src/content/projects/launcher.json | 11 ++-- src/content/projects/setonix.json | 6 ++ src/pages/[project]/[...page].astro | 35 ++++++---- src/pages/index.astro | 14 +++- 13 files changed, 196 insertions(+), 74 deletions(-) create mode 100644 public/logos/setonix.png create mode 100644 public/logos/setonix.svg create mode 100644 src/content/projects/setonix.json diff --git a/package.json b/package.json index e4e7c300..53421510 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,11 @@ "dependencies": { "@astrojs/mdx": "^3.1.8", "@astrojs/rss": "^4.0.8", - "@astrojs/sitemap": "^3.2.0", + "@astrojs/sitemap": "^3.2.1", "@linwooddev/style": "^0.3.9", "@phosphor-icons/web": "^2.1.1", "@swup/astro": "^1.4.1", - "astro": "^4.16.2", + "astro": "^4.16.4", "sharp": "^0.33.5", "typescript": "^5.6.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9933d686..049f7090 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,13 +10,13 @@ importers: dependencies: '@astrojs/mdx': specifier: ^3.1.8 - version: 3.1.8(astro@4.16.2(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3)) + version: 3.1.8(astro@4.16.4(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3)) '@astrojs/rss': specifier: ^4.0.8 version: 4.0.8 '@astrojs/sitemap': - specifier: ^3.2.0 - version: 3.2.0 + specifier: ^3.2.1 + version: 3.2.1 '@linwooddev/style': specifier: ^0.3.9 version: 0.3.9 @@ -27,8 +27,8 @@ importers: specifier: ^1.4.1 version: 1.4.1(@types/babel__core@7.20.5) astro: - specifier: ^4.16.2 - version: 4.16.2(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3) + specifier: ^4.16.4 + version: 4.16.4(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3) sharp: specifier: ^0.33.5 version: 0.33.5 @@ -38,7 +38,7 @@ importers: devDependencies: '@vite-pwa/astro': specifier: ^0.4.3 - version: 0.4.3(astro@4.16.2(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3))(vite-plugin-pwa@0.20.5(vite@5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0)) + version: 0.4.3(astro@4.16.4(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3))(vite-plugin-pwa@0.20.5(vite@5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0)) sass: specifier: ^1.79.5 version: 1.79.5 @@ -77,8 +77,8 @@ packages: '@astrojs/rss@4.0.8': resolution: {integrity: sha512-63UYWS2xj00+N79JPiLeHiBBB3nHfjFlJ81T9a+UaYQ7aUZyvU0E9JdZeuONwHKKcSsvP+goPjWmoVifPToRGA==} - '@astrojs/sitemap@3.2.0': - resolution: {integrity: sha512-SkrOCL3Z6HxdiXreZ1+aPBWgnBMJ31EgPdcscgQeLqI2Gqk/4EKLuw9q0SqKU9MmHpcPXXtcd0odfCk4barPoA==} + '@astrojs/sitemap@3.2.1': + resolution: {integrity: sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==} '@astrojs/telemetry@3.1.0': resolution: {integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==} @@ -1433,8 +1433,8 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true - astro@4.16.2: - resolution: {integrity: sha512-Dfkpyt6sA+nv6LnOJr+7bt+gQF5Qh02yqVgyes4c4SvcPScteq1bLX22/z/XW+VU0vlciJOMiM8GWtcDiF6gUQ==} + astro@4.16.4: + resolution: {integrity: sha512-W/ETxHRkt9iEAj1RVSqV3bjSGaGXEFJHqeNpPhvJIj720hC3V/ZBDAd6FpMW291eiZPtxhGh+c/VDtkD6avPXQ==} engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} hasBin: true @@ -1832,8 +1832,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.36: - resolution: {integrity: sha512-HYTX8tKge/VNp6FGO+f/uVDmUkq+cEfcxYhKf15Akc4M5yxt5YmorwlAitKWjWhWQnKcDRBAQKXkhqqXMqcrjw==} + electron-to-chromium@1.5.38: + resolution: {integrity: sha512-VbeVexmZ1IFh+5EfrYz1I0HTzHVIlJa112UEWhciPyeOcKJGeTv6N8WnG4wsQB81DGCaVEGhpSb6o6a8WYFXXg==} emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -2169,8 +2169,8 @@ packages: hast-util-to-html@9.0.3: resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} - hast-util-to-jsx-runtime@2.3.1: - resolution: {integrity: sha512-Rbemi1rzrkysSin0FDHZfsxYPoqLGHFfxFm28aOBHPibT7aqjy7kUgY636se9xbuCWUsFpWAYlmtGHQakiqtEA==} + hast-util-to-jsx-runtime@2.3.2: + resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==} hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} @@ -3774,8 +3774,8 @@ packages: '@vite-pwa/assets-generator': optional: true - vite@5.4.8: - resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==} + vite@5.4.9: + resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3805,10 +3805,10 @@ packages: terser: optional: true - vitefu@1.0.2: - resolution: {integrity: sha512-0/iAvbXyM3RiPPJ4lyD4w6Mjgtf4ejTK6TPvTNG3H32PLwuT0N/ZjJLiXug7ETE/LWtTeHw9WRv7uX/tIKYyKg==} + vitefu@1.0.3: + resolution: {integrity: sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==} peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0-beta.0 peerDependenciesMeta: vite: optional: true @@ -3990,12 +3990,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@3.1.8(astro@4.16.2(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3))': + '@astrojs/mdx@3.1.8(astro@4.16.4(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3))': dependencies: '@astrojs/markdown-remark': 5.3.0 '@mdx-js/mdx': 3.0.1 acorn: 8.12.1 - astro: 4.16.2(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3) + astro: 4.16.4(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3) es-module-lexer: 1.5.4 estree-util-visit: 2.0.0 gray-matter: 4.0.3 @@ -4019,7 +4019,7 @@ snapshots: fast-xml-parser: 4.5.0 kleur: 4.1.5 - '@astrojs/sitemap@3.2.0': + '@astrojs/sitemap@3.2.1': dependencies: sitemap: 8.0.0 stream-replace-string: 2.0.0 @@ -4957,7 +4957,7 @@ snapshots: estree-util-to-js: 2.0.0 estree-walker: 3.0.3 hast-util-to-estree: 3.1.0 - hast-util-to-jsx-runtime: 2.3.1 + hast-util-to-jsx-runtime: 2.3.2 markdown-extensions: 2.0.0 periscopic: 3.1.0 remark-mdx: 3.0.1 @@ -5427,10 +5427,10 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vite-pwa/astro@0.4.3(astro@4.16.2(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3))(vite-plugin-pwa@0.20.5(vite@5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0))': + '@vite-pwa/astro@0.4.3(astro@4.16.4(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3))(vite-plugin-pwa@0.20.5(vite@5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0))': dependencies: - astro: 4.16.2(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3) - vite-plugin-pwa: 0.20.5(vite@5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0) + astro: 4.16.4(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3) + vite-plugin-pwa: 0.20.5(vite@5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0) acorn-jsx@5.3.2(acorn@8.12.1): dependencies: @@ -5497,7 +5497,7 @@ snapshots: astring@1.9.0: {} - astro@4.16.2(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3): + astro@4.16.4(@types/node@22.7.5)(rollup@2.79.2)(sass@1.79.5)(terser@5.34.1)(typescript@5.6.3): dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/internal-helpers': 0.4.1 @@ -5553,8 +5553,8 @@ snapshots: tsconfck: 3.1.4(typescript@5.6.3) unist-util-visit: 5.0.0 vfile: 6.0.3 - vite: 5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1) - vitefu: 1.0.2(vite@5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1)) + vite: 5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1) + vitefu: 1.0.3(vite@5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1)) which-pm: 3.0.0 xxhash-wasm: 1.0.2 yargs-parser: 21.1.1 @@ -5674,7 +5674,7 @@ snapshots: browserslist@4.24.0: dependencies: caniuse-lite: 1.0.30001668 - electron-to-chromium: 1.5.36 + electron-to-chromium: 1.5.38 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.0) @@ -5989,7 +5989,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.36: {} + electron-to-chromium@1.5.38: {} emoji-regex@10.4.0: {} @@ -6434,7 +6434,7 @@ snapshots: stringify-entities: 4.0.4 zwitch: 2.0.4 - hast-util-to-jsx-runtime@2.3.1: + hast-util-to-jsx-runtime@2.3.2: dependencies: '@types/estree': 1.0.6 '@types/hast': 3.0.4 @@ -8444,18 +8444,18 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-plugin-pwa@0.20.5(vite@5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0): + vite-plugin-pwa@0.20.5(vite@5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0): dependencies: debug: 4.3.7 pretty-bytes: 6.1.1 tinyglobby: 0.2.9 - vite: 5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1) + vite: 5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1) workbox-build: 7.1.1(@types/babel__core@7.20.5) workbox-window: 7.1.0 transitivePeerDependencies: - supports-color - vite@5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1): + vite@5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1): dependencies: esbuild: 0.21.5 postcss: 8.4.47 @@ -8466,9 +8466,9 @@ snapshots: sass: 1.79.5 terser: 5.34.1 - vitefu@1.0.2(vite@5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1)): + vitefu@1.0.3(vite@5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1)): optionalDependencies: - vite: 5.4.8(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1) + vite: 5.4.9(@types/node@22.7.5)(sass@1.79.5)(terser@5.34.1) web-namespaces@2.0.1: {} diff --git a/public/logos/setonix.png b/public/logos/setonix.png new file mode 100644 index 0000000000000000000000000000000000000000..f11fcdab4b0bdaf6c80b7d9f5e87560abba176d7 GIT binary patch literal 57520 zcmeFY=T}qR7cIO~Xi^P|h$4BEDj-#90#Q-vAVr!;EEGYC0!q(8REml;0YM=kMVf&0 zng9YSAPCZhfJ(1QXd%hD`Hk`3f8qUfGe*YAmz?ag_S|c&IoC|Ix#?xzeIok+0K5kJ zdKLg6Ss#&rlbv;;2K=D0E?hqPcD?{`3;yqo0BLW80l)$Sy>nIpW6Mn(N!L34CFyaT zNb#u8P|M?tRd$sABYl*BMmLqmK1K&S8w$g_- z)y{zrMJqi5L%(V2e`KtAcTK*M=pxCTbl}5CXmm0uB@ev^OM(U?5QeQ@cn&y!Z&ic4(jKovA<-9=$`A{V%Ocl8zbZK0xT+ z0KJDY6aYw5ksj>yzgO03CQ9CTGRF-d10Li2y_o!tWy$-;iiVs*B6QTeNGs@ye1*uOE#h=>j9VQX_s}w>rE@P^UrjhR2DaBJaj_@K8Ef6 znCFaRkNLAkXw#*H242yE***?f$J=L;S z8vg4XUv+fYs~QCUc&5tQu1KnKZ^|JpGCRO6vE?16tqd?OJ-L>-?^$!or|(HBaR4Ox zt&b1e6YlvGo^_%&ecqPtW)E8eeLv61T;VTq0eKxgy7w&&4mcJxyNaX8wP&4LCO=lf zNwvG3nWf^332)xAIs zX`&^kAG(|>;CR1Hg&hb64)D*f{@ioXn?JyBT6ldof;Wus#UsH-2Ni!!Q{2Sxg)l62;icxE(fgV5p>k0A6!p#(p z1t^ox>eSWuVlrU~VcV4)ZVKlA4*k5gqLRCnXmC9LcUackvy60G3sD(1ECN8~IgGYq z2W@CF&5-eVPAunZ#6MqR<_om+zSTC=Ohm}L&KoZW11zqm9k7zky=+P;zi&c5`ntv= zbYOS)B;VHxi7)1IU!F<}fDUMt{|-DAUJf%uJy?P zm)|kDEz`Ox$pGzrf{Y@&xe*HT+5D@nG2n*gr3RPp$~AEFuUnkvwzjr{R{^Z{)6;8imEpqh{x@Z1WgWT*X-56EvjII;&f#ST`<4nJApkC^ z)2%Uadh?Y(TSy+mA4a9BlZ-fx|98`>*v;!^&d{hPBI*vZ6@!~{KmwdNm--=Y#YC~j z(Ihm_X0q62^VU}PONW~NSsg^_U4+_O&!1QP zJ^{>%otmHjGE3$B6k^zFWU{^w45T9jRK!X$21otKpgWmk?a%5>1>|udp)K0u6a>v^ zX+T}|a(R5kD|H_i%m`b>2N{EZzJ~yQOq8}|UDN+uoc6ALwEFghZ{e$7zVf0wKI^wk zwr>+JW+M6#irgBJzv5kx2_4BTSMFhf@#QhyE&P19#^t@Gab4|z3!%AU9X%Y}+|S96 z%{Yy3@k@XNG$#rhjg#JYm*{V(cupX-x&~e!DissSqFcLYI~=REF1qTN&`dBWv7o<5 zuAO*4Eb>T4=<0|=rYkD#tkQdHLlRCYik~2u@;K{&HV(`8M(NSiVGfjH69&q;_w2bg z-P**n+TM4kr6Fg?iQYEbJeuT*Z)N6IJ$}Ty^n7g0FyZa>B2a zeuX<{$j`#@0J?Kx>qx=nGkAnJqK|{5LGPOR_w#&~&mGHMn4_g|Xv&j?x%gzm&r@h+IL7d?-e~YYZ6Eg;iqVDjG+4LiSixvp4tkcoZJi!o1?|D5L=iwvB z6>pd!&kB_oWS%euvx^qEUz#YF(*kTyvt2=|4wdj6(I-!cABT^I?rfkg^G`Oq98{Q| z>TDHhK-b$HM#Nqy7bnZ2KIw(Wk0SIrp#n#wzKHFfJ3H25yCz#Vs4t4<9fKxL|F`BP z&jRMHzt3O!daD^A70o0Nl9#R&_s;-{n?rdnDwq3k5`Ac38B61z$xh{er zaB6IPeC{;2_2}JjE^d#)kBEQGQU~6MyWn^K&1`6JrFI??Oh=0c`eMC<@Btef+`u?; zoG`*vQ~CUSW-6uI?wF)3J&_~!So0SQV(7TPVIR}h_V?Snkz5Z)C6I{&Y>Jtuj#paA zkRPyrW|LIh_f-j;yK{gCD9$W04dey}<&_J)uh!7MEald3nekt*Kb78n3R)j}*(S#A zk+7*Qn95_${cq65DfDn>_HGPY>NrkN(I^EezV#$bS|30%fqOQshu*HZFH(l!_T|Vy zX38f%LeNfO=!{d^XJE-~|H}RS?yVaprZRYJW{BBsjEtd zmySOJ6mvb`tl!q}#^Ae~WqM1@lZe`o(T~pDrke)|em9etS@C8XrRE*2t!d_4B|^@B zzTR_fQMxX*eSjeM;sW;{^J2=o79scF>tq263wdZvi1W)?AH_Y2Tzx_vF z*<25-`@v)-v&H}=?T}}YC);1XsEVl-YPezLv(ee=&elmDQ&0E3(w#Mucq$QXel|uN zv2p$!u^%-uGW_|ta18-}auGD5vC7MxTXbLcw+*|#9Zhj!&F!5J9+FgD689d76NO@8 zeRgi$IDH3WK09;7Z?NM(F7?JH4=0h}WKM1z7j%kE;8sBs;*vBf;O0D8SQ;S+Dua-H zK0my(m%|2C<-35-iW3Ivl0ZzQ!`V-`51qPRhHvSYpLvq|EPI#ZS496n@;+{yl7TJMcLW!W=&{hux4VHMdcZ9sc;MzJM2z3d zEQ}0n3)9=_tRk#!_1dYGNF;%4VY@Rnd{<+{NWu!Ry(!)1+aUek9xEcECODHC^j1n| zvH!#O7Bu1ZH>z854ZmV!lg%;Y6ig!UDd<<>ND#+4pqDJb5v0Lgp8Omn&SR3f`J;%4 zCh`*s7~?~_clIo)gjiZW&zobd)XlFa8tP4-Kj{pRv;CtDSYb9}Ew*XXL&?KemUu0%q)y5faASToq|2S9S8*1ujqy zZXn}otI2Gd2+joXlFj_Bxr!>c0A~S$=zkH?x_HZp4?+EMBFY_N6WbRI% zI2n7aquSpwg`%h_L|iU-wCPD9h{+RdZRIHcayU0($7X8{@M* z>BC{SU8fztJLs0uLFPxol8rmzC@Z6uG!-7>p33lM&@Y>ijz^Q9Y3mRk{+ByEY#n>+I!mX6%vliy+qDcs>OME9jggvOso zf=UsTKq2gkX293?GBxQ{pf3uxwQDdRWUj1adfZEjFC|8*I6A((>lW^09m2y4 z?`PkiXBFN8i+$@Okm2vtI5CD}p>Fw|cEJM<{cV{yyZ7BZy8G|mX(^D*rXLcF_l=*v zKYP~yd$}m0^{Js6PFPK_5``>z!>OkSWo(vygsV;v{E=9y?qN7;#|#5e&*cQYsbg%k z+3DMCe|LPs&vSWv@Ay#j)_P}v6YG&nIo`j&@AT)sKt0>BamN7N_5+3>l`T%0eE$X_ zfhb|Fg<^mA$OMUX!TE7nT%FJ2?3-k^03h$UPyZJauHH0LzV#*P33D#e?S}bY%?g1o z(7!@@EB3ARXPxh}qOsXh6aLN8Pm7EjTIMF-nbtr42i&_D^B3ZvYJUQprTX+|f3=&Z zh^65Hha4WFEieF$%D~ZHnyb$ldTbJI)yVw>s(38J%Z{Ah;;%eP|2RA`_LVUSYOfjA6&7{4pn5>{Z6oeQ;VK|5e$GKbfpw z_d}XfUqgo1ILJ#{O~dlzZ#xo|9Zx=H>*E3{aW+M0>`{T+7*NiUjK<#EK(wOC9w;8R zaL|W|Bo*4V&jQ;`j~q0X3eOmV_X`9^nDn$jJ^Rn{N~R$6YN38>@2b;=xw?QJg`Rr= zd>0cMQoV&Zd9Gm%BAg4@dm8K7Z+l<99TOwN+Fowe{x^D8jllOq`{PFl>%mbFvhmRwf>;2Kh3q-!B|x<9K>=W2fsWJb07cQZXAndhDHV3x)(uO|Ve}e-`TzdZUy~Yu zKY^q}a<)F&x{XwUQq9_`rB1!+q6OWFnd|K z=icuQDo%|D$h&~At-u^fmH;06a$HeSV$cvmUkaKBwbTOM@Zv)_H_pds;FgQQ6|d^5 z{2d3LT#y$`H@Ai1$9wRFJ*WE<`_Pai!W@ZXHM$O@Sg}cKI;N46U^_}gmlX!8cNW;Z^xi;JnBme_v|3Upwp2tMV#IrTcQ5(95J8Ww^@Rm(_$ZXS};O~3y@7n`M`fbb4IM$eV z>)+~pVRb&I>oEo;^xAXzfCE1EqRpNEuqpB-C$LWL=l`3Mh{r%)iOH#4?7*!Djr(r9 zwWV+jD04~+BaND^aGVcvp_lprMO0tOI4sRIg~ka( zr@KL4MDu^46GFSc^fj;t5h)bNQ9qC8xjQm1HBEA-@eDp=^Aa4qT z7?U7XMefuUH~c+Rj_u`0lJWV$cj241Q=h!wu|vrx5qf*D;2iROKKM4sI!iK$$09%o zTz@OcImD)D4BlVA%mewcP8U%a;$67V@HgYghaeGz05|tiiJIevm57+}VQiClfCT6V z=2}?!SovRUxJUxWLxeCp)R6cXVfzD%h_jQb=EhZkEOuNE8-S8;BhGG;%0T6h6{iN^ zzJChojQpbniW?nUR6sWxCj`r-k;f=YdI3osz#n1Gg>TD?y||5CXAzEjYUGD8 zMhZ*L?0Cn|Kp;`y8QcUyr>?oJKr&mLC|nJp`OOF#rw1MARp$~A0}Ei?9^tH7mc|86 zV2Lw=&|w2S^3#!P&!I*PPMuR<7+4Il_8l|X*LIl)mv-lf7;9Bm4Uy#0J(FdG54Y~m zBb4t0IzNmN^P77^KM2#ChZad28*8QT-_Ecq=Ik)(8oWo^ec%|uT;?XMYt2&VH)-A! z#uOjgTW*=6WWQHa2?t{k|0HgdD5LtXgG(sl7~n;b@8*=FOn;{gvk~>6`h$G~fb+x{ z{v;kL1l$7IvC(FzZaaj>eykGsh5pP%wlD-yh`2MjQwYBpeq4f#e-j$22hv4mA9W}h zE&}kCKKhGH+JAxv6b=x!>U7U5Lr)l5mu})>cnyY*H$Lrpn#UWr2wPqK)AeNJg@YD8 z7g3vF2edHi`e1em1Brv^G*11}ppc+nV<4W@YxwU-y?6{|2fR`S3O&G<7d%AT?w>k6 zeC^g-PzP5>cxrIp{ZX!5hRBQD5fa)iK4M$9yqET$&r`LWXYFDk)HZ!|Ss6j$=ETDR z>)--G=yhxA5v;#(JZGFR^e75w@Hw^}pUDl`JG7s;15)ikKYQxV8S; zm5`ur1`5GFjMs++ zeMEK#puY)FHGIr(+<-ISpa({KX8N-DR!^uHQ5#-)(cla>t{5`mf`q}Uemx7>rbw## zl^GFVrBJSvjli)w%VP)po$Y|c{qH=`9Q*qoh!y`kkh^f-t7{J(zJ=C0 z((zyApe1##vg5edD8<86-HE$Vt8b*un-1OuLR)LQC0Wh=Hls3rB_C1O+Xq1Dts_&b zszO%|L4QFUABer&!GX&|xbG*5gZq0nTx5wCUa&Abn#B_FYTm^M75l)*Rh%_DYfXZu zdCir8UQ<;O1{eQCQ+Bl35(C=6&+7Z5+opczyY0hHN4Fg;c?j?@ z+CCfqqy}m~>by{Ta15wK58uD5#Dfb`THrJUHbzL?Jwqi>%^UYSEd@kznhOK}rQxxH z!}CaB{}E06I9$e!Pc{TpeS8s0Kn+)zd*x~m3y1D(#`jL^hIkft$gj8A9q&A~I4W^S zVUWFci#!y&Z7l6f6C=FW8D*Vn?!AZ9XE*hvk+<1#> z2A{a0)4;=Y>jC_?79AUYf0g0FnQRMWWdH4_bF!8sp@6AJ8X!-IXUeVzxb>9 z-GNRC=Z8EIw_n6}Bg<+Cr};+S!7^UaK=Fzwcmo37K{FP5rSa*y!T|5?1~7!l&E+^Y zB8Q$ZsQy;z%<3DK_3>|kxSd0+D5tn1c+*}wIo7-rdykiRM)B2>Zt&uljnd%eT^EKF z;h)sf%d`LVLwnLrZ&Jr|#WL)uXBdYWqKqT7nmO+5`yOYJ2P2OS=?B-zY_DlKsrFv2 zHvFB&>8H@_r{w{>ep&pgT42+=c1a!;*DTKkl_T=FV@ANhw3!hPggMP_`wGmyAC

zQL{8dep18|o$VlO#M^>-*e-@yuXl%~HKvvtfh>VImDQO-L0mT!Q-9DL16@8-tgfEy z`{`DVc6q^X=OOU(liaVWUkLKeTS|z37?1@ERwHJGTzvNqagfD* zU`r*R2jqlB2UbXlRi6kak`R@g=KO3Qd2rc0;o^umaan%?B^s3|^|hRf{JzRd+Bw zsq_~;$HKybhY5ynILMnnuUO3<2GwkFTHr(ce>gvlh2>?{O@a=+G>!`jDR?b)3zArs zkyM?9UtS@Tf5;%vH3Y50ai>8RAO5=fLB%h0kSysX9k+ls*JM#6Rc<^x((x{Xlw6dV zV%;Z`X)}@JrL(Xd_`StaD75(dWM0_756iA|fHwglj<)%^S^rKJcYIoyO3juC~# zPX!Hj;Me%JUNsjwfW*6vwY4CD%iJ}HoUTMp04!Q%3!ZWHEe;l$Aj<+bW{;wXr_SBr z!VSQ+yQmTccB{pq*XNM z)SpAJZ+2=H2HXcpG(z|iEL#cUT)<;d;1_r$5xAzeS^r-zz={C2c|B^6vWz|B&I=Y{ zTvrOxMOqj7={6-^hR#DnLRVZWZ%eX-&w&ehpCB6R||TSH>aqQo9Xc1$ZU>K`Mi5%_dE5vKS?@EmR_R_2M;oSP{eQM&06p3 zbjD0?p3}gKJ8$9-gX>7_3PG9OmIso)RA7*o$540=d+V? zjli=L_4%NmFs0=J^x+0OwviFc1zmH$i6j%ZyuaoYZi}&)##kglPvE_jvLf;_^7&Va{B2s(i{9EBMNT^{qa!)m(@9Vy8Z_cq^lNtiyS6 zL+8Uogcqmy4P0cyN`yh~+C#X^TN%rq$RBu+~g*v1mygXxEB%gHV$W27RRyB*(U-CMNxQPCYI_ss6 zYI*q0NzVFP!HbnlOVO$XQ6|;Z3I3Vy8%YY2u=mY=lrKknL#=C*AS!+Mx5=G&PPS2I zb`(+Ua)^G~6eOiuGgdd5ue6J{zs~8xyLmrJ%7fep-2YS5WpM=yU*>gB9K87mi!!7ue z-}10}#gA-!U7#BocdxT*n^Hz^=JvnvY>??$mPJlvjz83`R5_&Hwz=NMZx#TweWu7! zh$Ot*4?}FWAxTPJfSNQUIQ8kN|Gi6AH-05IY>t0AJ>Iq!=4L}(_fBRUG1C9DQn6iH z!cVF057nJKM@g+ZvNGm)ZA^BP-~u#XO@2PgJP=_UclQzy)T4JU=Q;zcnt`Lvum?XO z@X0^1)cbO{1aA%=!SK;mpx^U+UPXpY++7)~efJj!j{gRYEI+4=3#JV_)(cLR^Lq9^ zmxMB6+5708U)lTotOrQ2x2uy|!1@4fR*j@F-J)`1`!wz6iBM1Y#ZSb*T7&&xl0w&g zy(+{!#;pU5ttQ+e)hKci8Cw0*leub9L$Y{g zm6{=#zacIJ9Wxd}J}{CZb8BhBZSS?|zTqnBJFo8_oh4r2m|J6}@IM#MnS`0!W`-bl zGn_vJ`xSg%TBFnV2E_CJV4$!}kywB2&*S+m?5ZV;6z{)&U)~%|{z$mPcu>!g77Cv+ zGoMa48cwoD}s?9u?BY`z-ioR#nkIQzpAz<)KP>nYp!HqgH?ap2iw|;2S5(CI-ZLf(PsX{Q zAwJ--!?q;*?@UJbJ54Um#f04Et37{6Py6dJ-p) z$t!0kf70v$szk=Ub(H00&XFiYpD2O~^|hTV&634lasS2h*#O)D$z`0Ezk+(vvOQ0= zl7OyV+nlFXHv)ESOeS=>-&ngKTZzHPelNWN)y+2b-_jq@T$VhLvt{(v6FyOj8mC(9E_{A_Y z`T-xOCvux)^FWUgZY&QDImrZhUI_nm5uJL%0HnKgTQ81weG*DNb_O#czRZUG03`tN zQDf-CiH3b*>X`*$VY=mnjbYV7R_2nsd2YjrIpfqlPSqSmST!eKk^`Y)rw!as+6laB z%M#g#lFfbJ@Wylhr4-tAJ+Jn((x zk4eO@UPA55m&3$K;7I6e>X9okvmvg=mpz> zo=4IXXZSIj=hiC#;QRTYfiiNe>~p`@NCw(Uipe>^|5;8dbz6q{l$-}*%=ZH4MzM= z=I;G-@|_QmSf%*xOV?X?$TJr3@G8NO?s`3!St`lwF>jXn-(Z=r*Qzt8BNK785UCU7X>>*tny}u5}#EQiE^q z8)Ry9m>1jSv6Lw<_?Zd(4m}kum67^x5H3UuG%(&B0LDFNB4Wka6{V7}M?=$1*GGAG9yXe0$=YNuyn8_R|4NAHrtS43RB1Wf1 z{P>MW=SvB+y-a=5%a0nI(s5&JCKGv$%1~kXQ|;LY-Ewq92P03+<4z(ada%GY%Y7^O z=pTkGmsnFjlktv1b33K+gX^x!vXk8nByMjz$pHMEJpBba`7mlWtI#l@>hnhCk)YhL zSxRO{0(I&87O8_CIda($_`$mJb(L;3r^kd=q%=GBfI$QTk9l5TFIAERk1oEwt zC03&LamSUNz}C!}CpZ6^O8zh>5=`fKq`PTvUA0!2-QF`zkvjJj>Appa<|pX}MPx&p zW-!%kbGv!FDNzVVVO?LBoc+_PaEPc`1_V>uvp`qHY zW4_iEk;I1m=@jqG;9SO$hTSe^uJ#X}J+%(x?Y)}$W~m!$G{5ZYmBE4f+zzrQw89n{ z!EV9R0__Lxfh0a~2k~POe#{F+mHg@Ik}w=OdwCvKoxQ^lWQW1P1rDr{caS4;$~dr^ zr-wLf&Vj8!NON)WhD#%`>{FjIennn#f8l<6=l3veqq6qrn~!+Q4>0|8+jn3X{)}aU zX?HTV7k#Bu6C!#8gIgkHgtmx-{Gb{0xQHw_Z;K0WfYrgbBECG-1i3QsTYXaPYW@8R z8PyrF>dsMgwc2=_)WGIO>CCo5iOUFyu$w}-lbLIaG1_}*E>SkBv&BzvWEYO{+x~HU zQmpO^6kM;P$Aue#NjKZ~m7<{TueU*50Bm&BD2bNIM~Dek;=ui6hTmxepDz$y@Z(p> zk0X)gC#J6bMPlQ5UB_6n+}jt3x&2(^)Aa`z+Ten-FBUnzr`C|(@r2I6c<=9%u`*L{ zerpL4~bqeq34NYXTl+zJOdg2kB0VZignibd}Ys-?^e{d7ZeJfQu{Sf$N{t^K}U zV)1BDm)@qEx;fe#_MjCtpGp6cnF*dY(c$wP#`Z>cW(=tQsE$0Yh zZxp_@?YVV!pRA2?z0ljw{MLpVT~n#;oBEb0HUCp~7gL_$P`G=pk#Ir99EWBJ2>GB>BqO8X5@oF@+! z*`%X!FWH3@fYAK4(83z3Zgz``@T)>^xZcdRi0L?`b~MSSuRqg);0gC$4yz7(L-Ml!PY|cper_#zPDr_(-D;)9@@ri& z3)%=OpXTphjxZ&ZvWu*n{}yrKhASF={&ZAa-vOQZ%&@&4kO(V#y2ON2n%zl~ zZT>~I8HCV{8V(5+U8w-LIcfDtmX^&hiNQ;NzcRlE2Q+T4QRqFCk={d+$d3f4y^NCU z$l&wMQj=Y+LmKR6DX7+~lvEXb*jipN-6#nNpvaRa^3ddx&n^N2oq4;;2y>wdP@y_d zAc%Z}Ci|Iz93jc$hqaE`^7a#p)9gK#&w{@Q>`Bw7NY9n)4;=5}4c$^LHr(KZ;f*yt zLfEtTqjbBKB$S)TS*I~a<3xycyc@UQ);W-L=rXm8O()o&VVOz$k;;CBW=mCCxHT{r zmy4=J`_n|6#@@0qQmioef*(3Ie8N`RLl-6m#H}&!lOEj(cUDKmz8hRyhZM*>o3cYI zrM*?{Usm8h8QFxL@z6d;-TDf1cz!Po`*10x$>`bEaKM_=Xxl%HHu2=!;xJ@{)o~a-QDZZh#vQ!C0 z(f_Il8?nZyq-FItTx9-%+@u>7Egi_KlQEp;jo?EFOE(RjqZ-<*67okUy!5M@7RD9| znzJ8nNR6p-v-)kr7JcM=ykF?_0AXt4`k$$kHdu?Y8*Asp{Fkz1roH*&A}aw1JJI@6 zmOFDLGL4W0=x0q_6knz*Gy|>T&gD=k@)bD)XZ4%PS;i&+Oxp`)(lrs zGfg4nL)i1os#}ebn@s;@YlBy3>DqTMvvUVyd~5E;ah|OxS<-Pi9POzp3Jyf53*Di? z7X9)ILb&?AxLP|eIDCrV04T0_!J7M1vm6jrM~F#?oTjJAUMO)PmTWyg9dgfgxNA3K zGHQ;1CGPXCxzNAlB;$+U|JUieMLumk|H7slZA+HYRK@He(S6s}hg%YdYMM9Y8<^|- za2d0Svez_sP<3FfrupI8^$h|gWW!|Rp0spV0=^KX9%@3Z5*=-KS~|s*(~3Nx!6hxM z4S8}|1%bcuHG;$JUp0jA0e}kI4l{k5;B%O%I_t52)}t2F^><$lGDJ5v`n`1M12$tv z@<|@gMrB`MY?^vc`N4Sx4HKjnTOUHaM%ySm+%*Je{()in=`;I9v|vDe!v$|L{Dhpes&~~*|Hc*zqqT*%?ANK!nd%tG2sE{^KW0j zW*HQScOA44d20$Y=&7$+ll=s-*l#QfFaCh_&j zA*6pejeLLg;XFfkm~V_Mfsp5UQ#rq$x7p(zR>9ouB{VZvACelF)iq5eVZUFfrCqo# zwnKG2;I=^NBQZMEnr|>OL!K+{@AErZvfaF6%XmUv3W+}qy`%f5qwzJTP(JcirSqG1 z!8%I^DR({yQEm9&9rSsF3IFJN%^9Pp^O;?~%JJ*k#H8?MZ=|kNS*5~t)zT+4Lg6tg zAEAlh|L6H4B{+}QTov4O>rm$REr>Ebj?)P9TW(MN*%$2=ZqQFzX(?`X9dsTsNdE zsBg5mC4L%ybO^U_>3n!J-$>gXjE_366^SnBYBJSdlegZNe=&T$l(|^Ce0*;pKAEmX zBYeCW4e@1@sDh<~nUw2_PQ%v9nE? zyW&aUeb;ZQ=kSnIU>EPE&01r5*zAY&CD+yKj=I5XW3Tf8=S?Ao z6HS;}Zb}JzdnE8|^ddY>?lG-bVt>NSr|{PJJk^G;?q)X2Q*~FuPt2~bDRV7PuQ+bb z)%Xt*{%V&7)(}S9J`R6#g}-KYdDK31{xbRMHhGmo_0YJ>2YYRterf>8IIpZ$=hmgX zE`R4boGEDjRg78x{NTOvAHkZ8hfX(Xlo-IO=k}n0slWs6yzaA@FsZQG6O)7y16NUT zXnv>!F1ms9RYxc~vYZ^G=YqhJo!G`Qyo$EV+QbF~i`=s+By8m4r`dY1=c^0NP?hrf zS=IH(J~lJWyZl~D#c=D(%)inEt~Z*X138xo?`9t1e_&7Zv@h4g3h7DU2Znv58TQ6V ztN~PSPzUVGjD-0Gadl{)m@dSBPwY!nGb$AKM{0|Hb6u_fa&*LX&55$^BUW@V^Mnzf zS0U+s=jNpg%2#S&pMX~%U>n(>;~A@wu7AbEn4J%wZM~acp&SZ?`;P^lnox+WZeX$G z>$ie!)-0QD^LLTH2dgLZ%ro|$t$o>A^BtEdUp>QBZ3Omt!T)> ze!ZfEkE5=fbhMj|eJ5cRmSe=({@*Kbt>YNj&_nAh8S}xP>Od>=Q0gQXbOx1xhK?OD zKtE<9qH$H=TMC-xe@XyntLlDF`c7t_RGL$L&{&l8YRO6Ce5Q~maX;;fm+9=fS;Pc?yStWUBKjpw6N`*PbJ=A_g06mA~+_A^vP3O#f0 z2Dl$Vpc%Eicdy=C+3d2>3=e(n&HPAsxq7m;jo_Nx*ncc5)MyD;?;S?py}ZmE{8H5X zeJQkf+kJUO@jp&GL<518y|q@&w|7mOG_i7{giSyQOW8k#30%2b;E3?}j=|Blca~$n zMf$U90T|(#SB|-I9Q~*3nH2hVp6{h8WRy5aoji~G7PYB|+nAEJkvBud-8O}kdHalK zgYG;W9=&4s{_3MMWWz7jro1QF8dsjJ$<`lH=FZpKNs$0-7v5Unl_TM5K0e~xP1hQ~ zA+w(kJs2AVy3E=XYkbCWi7SaJ;&21UTX2t9E>Y}mUTQ%3RGKK~#aC7M zB>x8+3PDIUQb=y1P5vfvoHTzmR(d67nQ~#aZ>4z6Y@2W8zcCVlc9;P77nxq&oD`QL zUD~sO8-$B4azUe{Z7=0szR<8yQUd5p5Wh;5%X^-i0Hv%{99g<8vzsd$x?^J)Uit*q zGSH>ma{+ge*a2W2k|s4_)S^hVLvZ68vhbW}4* ze##jAneic(7D)*m)1pgoT9_xc(wT7gMfDlSlWz2NHfz{_v|$SZD@C^ z__Nmtfp6D*xb7-RJ00{~$$U@9V&ra`eY$^tC-EO;*@@K>Y9zJ6qtq?$EyWdzpTc)0 zqfSicZPD5i8m}6xW{kZ3y_5F!5Jj;!YLYa2*pQU`yxowWaLO|37|RIN`CvvH@#&~r z*$p+^q+R)$^IWow-LS`+h}#%!aQwA%&R|Qr{5K@?z~B(Hc$Z}u8$v=XdB}l_Tm%~h z8>{a(UxX|FY$*(--zH~WgcjQN+DCW|2Xd!JtSI#SRA0K_$!o%3d_$pCw@!O>>h(nJ z!c;D(?iB~3oB3*%0xQL0O~JPq?{pbDYsm`X@koi1(y+~U2f>BCPSq6=Mz;OiW*G+)0LvYR zu`Of_T+a%v=v^Ltz_Q>lLl=kmDhPy`e9HLx)XNozpg}@@B7)Uz(&?FLj9{N$-dW#1 z-}9L%I=UsO7&ZY(Bfap;l`j$8_HQ-foH~>>!B}UL@}DBN#P{yqBPWl$IR8gHg^OCA! z$PTi?YepZ4Bh-dmafW_C<>(6q)E%%mr#fSm9bd~;H2)x(+kPENJH7Z{x{ zS4s%~1W5~Q#&%SuP4mBl6|K4{SXwl^+qId=Y;k9ds`}`>4(o2BYh*N^ZYaMZu=zh@ zbhYa_>O~<)H2%o+w?}60>^%m_)+R5Fld<-HO~TJ>O~tDsa>_FI)iA!FO61I;Z0s(9 zR`DT;(hJ4+AMyn-f5!A}n#~hvj0Q&f!o~Rxd9Gqpu$31ru~H#5$YeCVgzG0>R_fjg zzRJ8N#rBb)yYnH7#&jG`cl{Mj9VMb6o!)_`r@ImWYp*{l{v{gVwLC9BQv?Z|QKp^t z*Vd+EA+qr2MZ^zg&v*D_*u3~u@Q{L2O4)va0r)BhE*eq<{e02}AmxnfokO@C00#a} znOO~KSq9ybxG;2vY>(FG7jhofgP#dvwI3&ev!sf>mg#xVie)*-e}!aW_3cg=Tq%xF z;7BIfYlH@+R_FX*FTmrax%72}HtyuX+xMq(u-maOWV?fc&8n~0R^&5J zT+S#a>}czn!zE6;?X>(bn2-(`c!g7Gb-iI7^wClVo$vwv`4Wb9YxW*Y;9*!W{p!d| znP{l*eFEAX=>tW~|Hns+d?jFB3GVAR7W3S8gPuEsBr&qN&rakAsLJ;_M}`*%q4=!N z2R-c3>(<;&%d&-NqU+UVnOV6amEVQOpTXCbGWWxtYd2dQr7AAjv4r6$%vU+YyyD(A zSH;8e?#bY@j=d!33yjOLt0jc_&Ph9X~C6m+}Hn!?C_PdghIT`3!?=&6= zSC4Q0$>VEB`lX`nGo*@~M_Zibicr$hkvPhvJ!V9Xt1r4a{k4E3sQP?#e-q#Gd`Ofk zI1oIKY(?Tq1#yp|=yXnXmQ3Cr5M%)8EXW_HRXBswXg5jSqZOx7SS~BvZAQ~%zh#_F#)a5aQZ~hdrKmRe;zWeaq-K|G8@=bl>(Xp zX%U*d83*Xc#`|25^S2t0O$ZccY|&0EES*>&1>X*JV0`z}PHy%V;-GY@RThX7dnWrb zekp^{FiW%3L67;IxbY6i24x|9{!z>mx5MNLjt>X4*LG8(!uYhHdNKNUJ**sWK;nYc zaLh2%<|OlfxDAn8USCrox#%9l{gN`Hi-vX<9s3-R zZTj3+ z2pZYVIV|9YSFLJ%mn?Sfq_Wnx2^-+XS1I|TI~}%Sk!zLRQDekRs#()iJ)o9xwz#=2 zEoeakr*37y!~B~Mo@<0IZDOxzf4O|cKY99Z+GCzXQP5vp`g8ck6Q@k7^dk9lIXtXw zFsYgybVlWkBeGcGGG#^jbVW~8ASgNeQ10vi%|F|!)){|ev-d08d-mZ`@5%^g>4(IC zCAqhp5QCXR-LG}GRk<5uH>L*Hsf-)R+TZ?X)lH`AStZAe{3$sIIcj8#43hr(6+l3}cg*sMD8|kfn3F@-b z>ZEfITCAuH+xrpNH5DdZmRdsiamaX- z`LT~Z*5Sjs&S~AQVh>lQN2RTIxK?aeH9c&hA-wQ&P{@u?2cr{&MQUzFS_~{zf^823 zy6nIJVZaKD;3G!MXSrVF`_A+=d+PqNCrHg8#xx`NG3MGTS$zKQ9wRjFUmS3{|0^%> zdIs_s@2+i@+OO{1MhFOdm9<~CCK#x%8e;IgJhqtZWgWEC43V6 zHREbKH~5aZy&5G&<@HQ7?{$O;qebCD7@q{V@Opix0B2+CQ2ug!g5dl8pVclm?C?SQ zI~lzm#YBx9i@Q;3L^vy${)c2Ifw#N-#_Hf-Sab{|cP$%C8-m7qRA_HQllUHIq;MRhUlIc{ zM`q+I8{jsC94YiH&~#k~|8!i{fzcM%jFL3Ntp22~*oXbDwI$~gid7V$n<FahjcMSfcKs7<;Z@8H;Tl=efl7&3rK2?E{#!9W zf0{!~^#l$d0D7x{;SFf}A$|#0nOa<&t?xr|e5uJfc@*Po>%MyD4s74OT$C$@fLquD zt9cFUwl9snr=UG-X)@svDns5Nz8(^T`nHh*l?9H`y61~%ki51$f2t-Tt#W?1+@6_r ze)dk+;~HzOcy{obs*(=hBn748Qh7k=yq&`dPZiO^E_&$c#?q5e$W5o@Lmly%#nD|hbA?4dg}-kSm7UBq;5!o z74+-YN50cGnDVCz2qeCYTW1Ku;IAS=3ll^x;G$ZXa3S2M$=~=j&H>>%hA%tNu6V(< zZ0~Wj^Mw=FM>BM_^LtU3R$z_jF`h?_pXiHn*y&R~$I_^c3UTV>t=+7};isujt;vU$ znM))ehxee{Iu?U&77_WmD>A+fY&Deln=H3uh`G2@Rc+hwy?CK0Uk8hKbvKpveT|3t za-BdzbiVEB>jIV}>9vv!YJ9xad)ou27j5T?J1tXpSkMwqYxHNE1A^0{p!BP{k~-T zp0%DUfbm`#;q>vYI5vzarc(DIeE;leok&jqqDOE;2H-@h1uEP06(Ev%KE>I8#gaP< z*M}9UA;?jj4p4-^{!7~r!8*6BPO=2fFiLJf!gjN@2(dR1EdC)%41zqTpSjH+WfpQH z;A4Y_bpbX9h}2tScfG^hvRt3di`R_sb2B*~W*dgDm6fMRbDEyj21T#e7mQ%6;kLS1 zjXlOqS#U2ovpAKma1z3G5)!1d0r{2idf-cs=VC|HcyPG9Q=)> z--KxO@TPv8q@WOvTi@3TBle|<-F9{h+<+)<7D(@#Fz!&3C_Lemj=9Tb@BTn^tKz zzNX#eQ>rSlzv}*syxQ5!i3Cby3W3|Xk5i*gy*E>?7SubC4>-0^zpPntf(ArF} zS90(BPhyp5P>I9OW9t8qd@6^oX>hlny7fINJnNq5ZS7Ouh2~6ash3}(5!S{z7wERE zg4{{W;04qo(Z(pbO5Mi`<6Q70^Jel_T{!j~!XyXppGcZOFxz<fi~P+Ik54v_RL_9QG=|itCs^Tp%N|r~aiQM#+?s`ppzJbFOYsso`kIx`YZPETQ+at1!(Q{uGebD&G z!iI8z9C!Ip=D=PV^dCF+>|CDw{|1G%(~%1FHY@)&Ln8^7n7B94BRFVL>#y{ z;{M}-qc4y?g`vB0VHN2mGhQ8Xe1e+v(2KW%b09d_so((}ao*%y4ln_c25Rqa6WD*f z@P8ZHN0&!aGc0!_bm_j7*r%6#zD>gGlG$KGIpES6OF_o_@XYhMlI!Mpuz zdml$q#OWXHK3;BRmb1v6{JndvsRO>L$&x422mBm4+`z+g;bYTzFX9fi1XL?WDY$ohLEGS3J-^7F(y#4$G zeKy5W9i}meSmd5>vkM3~6k-6qXD{}oU>+#qiArW2=4&3Qp}xVbXF)j!{yHq51=J*J zp5SSOxk%pS91gAYPpLw#F99#4TAHO@u2UWJjs~VJd{#IGtm4`UI$%uSV_1y{l-#W|=O5;1$EDvEzImh{i(jkd^I{j?UQheXTsQI` zbgoz##56qI=C6C$c$&0kcbtLFdYck{qo(Sd$67>M7-pz+m)JAW%3^(BuXKG?TJq3} z+QvKSZ;BFTyca`?>ZDzKluhM|8+71;k0E1Ea^DqDD&F~C?D1#x)?^U&!`(nnEgRax z0*v$thjvW&pe*dDhjJoTfQxvip)2nx7T_rEi2}z;>QDu{@RMD|VofM>I!neK9Es)!NPJMVZ0Q&GR zQgHjV)UC;8vNB;taEj4_-- zu!QQe5gkr@15+xEwOFkHf(dez~P)boCwCjWPnt2O}j08+t0NU=4@d6v=- z+W*#aZWMrlJulOSq$W^TC*^ye1@m-WSMyY z_PD-X9X8V)K6`rTZbgm$a{g1vq3VxXWxnspqff(Bij9sIhLDpdBeS2|xcI!W7(7+P zC4CF({^47+G&}zk=Wx`BSr6ugN3Q!nOToTlC-JyIb`8NF^)LYvusrq(9scRNi0OBL z2a7+{v9&%_2ZZDrAJ-u> zA4{%hCoFB+)FrVggFh;geXP<2WA6y2}x;BH?&Q-x)w!DuyEOo9n-_C#xphA~_zW+GFfl!g~ewwX!I%3nXA zWK&hL8GA3AFvH*QV*joMa~1b0h27D;_UUWTp#bP-Iz3A4pVplEk^6m6t?;V`ok=+y zhf-VSBZe^w9QYXRD$p8Sadr2v{=_%wveG25$euby>^xyQ4&_=Nj)+$AO?a!4I6@^^ z4{b)5;QOQ6T#QYjUQv8PUMUD4dDtTK(wnf)sTH-i!>kqwHX;t3xM>@1xV^t(NAS)%*vU~D(FiZenv(x1b#R3f?>p z{ief~NznPsdx{#5eDD_o&vAW+T4?R~rY|!hOLyHh2{sFNw*Au2A(#K_WR}~KK6sn; zs0$p9^~K4)d9SrPZ*xUY#*#V2kZG@qH*I@gx21}<^W)v;(@hZw@fHYSO%$y#B4u8E zr`c#`{4OA0Mh_T$riQkgmf|eVcy;8`s{LKQdC%gRQ@>*hSQJICiUv9YF#Gvl!@nmV zKzVbgPjc4bnBkYeuUu2su@L0~pibr(uO+1{^>v<`hq;KtiZuwzyP7)yy)Yfv_)Wd) zb8RYz8P5(*4}LF)Y3c&UOz~ur@PAfOskTciS1{tu40y7jAvV37l?j-$kD7I|Da!G)4Yk@xA zt-=3u2=ea(CIiaj0KG)Vx_6c9YdcGXC5*$GvBl}g8j5KEufxe@ZE+l@fkT|dWUUuB zSin7wi~*F*24urn{q}U@{dmpxU+`2hj5NH5H@LKVS3y!lZg*Q zcr$BXCgvHpU!DDBEfk3)(4PY?w0QakGT$xF8J{0A_x28q(w^H`q+qIQ zi%O%rD2T^H4>f4>q6TR1(P(d;xj^2^R{byJUktMY`#7j!o-MPMfTgHd864OnOJ!ho zV58&PAm!@1c4%G6?Z?N5L2)2y0!*?GNCn3jgk@9z)%qRo3GfM+ZP(lEd_gm|>{e#G z#4`p8jJ99qwR8N%BqZ+c864WX0CU5i7y@x3CGd&~nCP}5Sm0wqiE-$O|eEI8hCDA2|!qS2( zwfrRWh++DnbusKg?bgGbjOLD-L+99wOL)ndtS^JC8ZXr9Oyl8F7@eQMn2Zn+D04hRM1*Eht8ci({y39 zHlY`6Go;;9GuVTDUCXs~|oDmKp#L$cSNLsv2Q}JrM(OR1U_l&i$2CE=_Nr?X5D!rT$!w*_{%N#a6Mfse9yLm$isGmwf7s z8&Xk(9E*;U>sAH}oor_?*V8K6j@muI11WgkdSgU|6n7$_8k6Ihk09}=C57UUH|geZ zX61JhwJeD-8G?&4X@9GO0J8QbQV=tL_bL)kwOO0O5dS({?VldJK_eWAPrwK8;Fn{5 z7P{PoE;8g@!mgxB^Wn#?Uwlyba<1X+0cXX>y5-x#N;j(P7E6!y5yWdEROQNAr;m2M z?`R>t(w_rd4p(dns{hS=$Ac>~Cx^&$^GN3Q!A2F$({ss*z_872HiQm;2$@LD%BDeW z9J47~n-by<=`Pfhf$`f|wU%!vJSJ#N)bc$z!I5|tx2zYrKJP>IfNw(US&7!BY9p7n z+)h|r6XO=CI6SMyGvAZUF^B4t`VWmeLWU2lsyhk2Kyn0{&Dkwh1(J?HS)oxEeu!Fh z3Vq4-^F) zX<%}Lg*x=AICh%YVk<)b=6|J@*4^8l3gjul1;Kk`#LK}=DkiOr`C-=+%Bodio&d2} zxSG~yeKR%r)y`dO{hduav521KBgenLu2+R?K9tlrnxfRu!6UmHe2CjWp?j8}!Id26 zTf5N@-VooqJZ$>{o~nFVofyAU7l48^|I$lAqTd+se3+XejBX0NYA#HSpe*e0_z>|! zG##7_)O3co2=b8d0iha$-`L#sxKA<1FHslnlzcBv!u`fYnqHO*5r8r@9O~#^#jGWt z`HJIrIGvNg7&HZ42n%Y|b$H%%vtwl-bKdo3@|OF?#OjNF!%g#!ul}V5iA#@$x4t$~ z{;avH4jCHcbR;zYStulQgLD%nyqDrE4;Q9W6HcIGwTBJ=#|r!~yl!WuJw_;#bJ8Q< z=!BY6Kd;%d{b(RhxQ~fv@TVKQOsTCF?7giRlWy9ui2X5EmTkFxDqn`J>|C!?$x(}kA5m$-Y`i-mYwvIy$>bG?XyyecafVJw3DnGiAl8>!S@kw_fm-;E0MrM7 z*;|}~nYjH@l=cfuq2gRuNCyzsfcz@!wq|-`piK@a<xQG@=<-q6~nr~hOL_b23Q zrUE6}ySI)v%xx@wyWsOzX!~%YRlEL9|M@K=jqToh1Ha%LVKxVo=BmmqGnn=KUN&yi^g=k1MJvS<6=YmG0h-SQoqh=`Gj z{r<3%+*!Ds=O~!4>6`VI!k_}FeHkQbH#WK@q5jFjip6M9b!cy~6j9s~;+G8;_fNdO z3hdV9jslVbF(wH%qOT*1aHQkBdYHTaOLrEF;>EGz4iId43TkU3G)!oJcN_;-=umhI zN||{z`t351Wbu_-q^F(0M#y!VJi8TX5SI`9CrSmjBI!F7m+cOSs`axlx7`N>wd~*5x#YpeGII=w& zc}6V{EhBE~W>_nVN8?{nRr11N@5|wV-O@5*QgafD0)(GqRVB~onf4dZ6o1F81{_*F zW!UM&pewNycA@E>o?Cig9ZsBD50v=pe`rN`vT$KYd&6GJ+WLod$~-4IcZxE0sO<+z zsY7!;6vS`v0j6A6x;z`Hh*)+YZziuV5&=H>72|}Zaf9Ws+Id*&1Td$@zc;t(S91RU zT7X0QQN))D?niRfXz;CIRm$Fice{r`>iymN65o1(>aGd5qrQR}y#|`2j(zj>`rA^0 zU0F+p+MELsYpVAOCZoX9<<$pFo64Rw*Lnuuv-(``HB-XyOUj4mQ{?)qabZVueFURP zO1esTB$Ju)8e!6dhkm-OJ=A!h7~@DS?D^Gp!Qlh@#!D zH`;ecl6BQf51)_r8kL&U5Q`2sq^LUyXZCx84sVM)n9>(syc81_OOhN(eex(j5oI#s z)1YMPS#~)bXSBJpSvP>GfX(jah@9NJhO-lA2Gcy^JLtgDk7vw40<6|ATv$X#b?nT} z=h?(oW0w_SM!KJ-@E~8l%&b^ominhCy;6g`GxT>={ll~Fu6r8Ep!+g?@=++BYHAg^ z7N5+J*=%6bqMk2M^?>;5*wIp?RBLeK1Y*6-yOXm(Gb9XgZ_GWV+Nl9MvsUUriiZ2d z?8guN+Fk5$si;Z5=&YP7U*`>WxSQs}TdJV_wX)0}MNEtA4`mUv&mOTM8`jxxl3tq3 z&Yj9v_+Iq5(|%{;hd}1v4VU-1KDPe~Do|o}aB!G6VSfMj!p@uE!{8mFPTamy3<66t zL}TG^ua6}Tw|L748k)-p+uN0!sKfhcGTT_QpfA77TKcW3+84;J&@zHHHaYycqOT@ht~1w(dD;6&OFu zps9pk&giv90`;iXKRm>n9njpf$-2c_+sGw%cJK4#<$?TDg>>$hgO8bSa(*}G()9mC zteocOSN8)i+^9*ec6Plz)P7>6_hr0X_~D%XSP+%kr9!s} z?0en338RmiAEsh)fobs{KmO~cTM?J+SPoK^pGYlSHIXhzdFJ|S^NIY(N(K9fQ`2Oj z$JD=5dJS1e5@MQ}+t-4gNO)U!8sNUg7EQ%zxM zy7c@`kV(awHTz3i*u4OMhoRf&G?gdcs#ICs*-kq?TI;uXx9(vp=8(Ba$>`+GMGX7&YERdordc_&oeSFNO22b11oLk>X>R-66{VzhR&FOx=#>G)-ZzHi-&(U?)-ExZ~*N!@)ZW^rtp<7Vg*!vq& z_sWQre<(TOlwW@CLVP#iHgNEvQRan7EW#eNZ?>)}VNMA9pePkF=oY#2JutelVs8Z6 zw+L#$t>dJpWoZKn2*$tpYGqAeE*d#ua6ImOB7>xj!|e=kM&ke-dx*URaX_~BA4$I-tqGz23GP4s4rWNoIB6YHu?M? zE^oKDa10o+kj_D0PWVNg-Lp>-MH9>#zB}w=3T%m5Zvy2)&o)k9{XFP9@f**4ls&af zmR~VAA)?J=aX+BIP)=6C-(r?)^1=4+kPL(C5+6_4U3A@F`HyVTER>QbrWSg>zH)om zw)}>SIyjAUJoWqrM)-B)^Y$A+OPfjzCER;tp9JXnj(l^J@k=Ij8X7Q!xpb;T<8@ulNRM1K=MEX1s!e!y*TVt~Y(qnGWC> zqBBH>&a7EEnh#q>S_Q)l#|0_|tYPLj~03{~ncn2>vYFUP~|S z9nU{Z>CrN96F6y6c>sMC446xzEl`yVF_W6QD<-q{=Tub0Wc>{FAkpY={#0)X+5V`- z_Yth2A;ic5i*C^P6?uf^aAYu}vDhtnfbJ87i%vb}K34CeL`gdcN{i4v3rsP>+lVsw z5cIMRiS~!gwfxj1sTeKpGh7?s9koh$!h{B}kMhcGDx=R^x_kFTaSk;!O-w%saJYZk zt>7pUj+C1{Btf$TgUy%ttG*uQ)^tllkGtaq+rWP3k`Ou4&g zU}fA>dr;h>UAsZ#G(qO#^#Q8-`f&Ln>>-X<Z2P(?{x+g4c9x?=uW`*MAl`XjIMYxfXgeD|z9GrBqlQxpIADm$Ivzzg=-|>+3&~ z@7vq6rC+HF75@|UVYw{}4`51z1)yE3X|OAON4N@4%cmQc~2Cs+Ajz%x;S1} zDuq+}#U8$HcvIuBTb_UDjp;9ACXB40c8ZOy1(rh|^OManYINN6%!p0-RK@D&2Mn=i zWYL<(Blt!q3M6Y@yrO|>XcuuL^v?W;1p1Cd@Kf|5@>pSa#EgujmGFT0d+lHPx1ht} zi`N2*#rk^pEVL3kp-z!ODz;&0>o0p6J_ToT7N13>hYze7O20%BaxZ2H(PRFUNjcry z(OdB+{#2vqbLr4Jahrkf`4xF$z`eWarji}IZOXk)w`|1YVY3axg;&osXbAKBy{T)babk$0x=JvOi` zQfJy*$*mg5JIOUyHNRj*TuaOH&xISkfhD#Q8NDac7*C0IH zjJWEy9(x85$j+J!&5J%`BL(cOaN$pbS20UJac~ulRvuZJ;%34jN&Uhp{V}E_$Sv_T z-;%hZxs=S|HG4@npV>H`#5Z_PT)-yBvYF6MV{%>$TQ+T*ZH`PPyP+PbbSgrpZ+_%? zlU}GENmPguuz4y&yKaev;wRVOwLU6=`L8tcwbv5`Xbc%pX{nHU3REwkT{;$PSG-L% z3ajOOgfx(N)H{~>{Fi=|FE*(h*s{ zZrGgHL5oAU8rI7b>uSuu0G}Y;VBCxLUp&EtgIjgLKRr; zL*<#cLBMmG0qTC0zJH!Pvx5w@2E4?O{O@7*sD*F&ZHC2& z@o@LcM;7la9y|?a_|YPqJ}&6eV6p8X6nVjDyA)ggAv^rVD~Y&%8=MyDia0O3!AoDt zpC9L1TD0jHNjoW4bw@2iBT(Ca`&hq{2+*@u7I65oyJW#t8h=@mPDjSEU-`RK9J;=3U;H-02acRYo7WGz?6 zyM37UIxQ;R+MWIHX;eEy!*M!87PrM1X)fdNjYT-N7yCcrCXONTJz!>p=L@?>`jESa z1+r(A0WSwMdo~<;@ICKn;m41S=^%MWiy%gR#c|kcla}h5|EA^OEw9TAY4>evMsnSD z?qWZ`XU^GqE0l0fEC0b;y5IboOPfN?zoMgQKE9>Q?2~?9r!)slEFZ+3UYyEh_QK2S zh2=@8%PCaT4UdCX>JLLHShu0|>vJjZsAckROvtP?v^3u>Z+r6`6(h;*`F2I9)RA9( zT#BE^rz^dr2n?MPt9@0mWwo9i`k~HyKb{%OH!+PoLszZfb#}O|=WNvlygo)vaGA?J z8z+kPgt3%?+++;Uikh+lq|a*z?iUwS`iJlf4%!qlB+5e?lDD0WG?m{lMU_^Bbnr=w z>cQIA`oyRtu$kMOO&RX$$nB6O*GIKV!qW2;!~ws%@~m(xF#E*8jMBkUtnq#pu1;J1 z$hK;DhEXiCPl(iv;Ggm>dELjTgk(dFhQgThnM|ieMXa3fpSk|WI{*23k(K>h=^wjj z!te{ZjLhLr%aYUyVtEHLl%5&uptOI|gix2c27y^c{6%x}+#NP@b{Crh9X0mai|3Xk z(GA*k8La3g7T7R0hJRLqejX4<5TSa+8Y>*(m&!jnyx$k1RanEO`#^=Qu(0L4J~uZn zb%Q*_Y-#y&^}&dg9%FK!^c&6mY!hPH%FBWW@I8H|^JhN`9VS~`>>4rcr2A^ea?mLe z|2J1Y2B{Z?ShjR&RPW6j?aa(g;CiV~K8mF(EWRCdCHTYjRGA5TJN5}a{>6{b$ssG# zn27Jjma+NEfrmTh6$(}t0~ga$$|_E+Kd-3as@g51Dn_alkIs&$qg^|M+`%6EYq?0Y z9FtbqN~jIM;?g8VA-q8f@LJ1NspSoK=Kwo^HNLy+5vubc4I;){Po9BIemcB4O!qR1bK6&e>(3j7NUqbfY1~pQev1dgK&~zsf_m&l~y9O0hB@ z>vMv?I?j=@}Nf#CBsXNQAKZ2WNo`KIT!eVDU7HL$*!b|%&P z!O0%_keewOul<;^sK5nS6jV$Gnx*!28Z!F6D0iZ+-m?&zRcWd5GVgHu_(^fhq_4|2 z;r>CKUADc%u!R`t<~wTRq|A}FT#uae4z!N!cQBi%1xq0@f%+{@_zMt4W4%|6kl!cJ zbANB5gAhsASBl57?jSJ&KpaZs0UUQXQD&IU>D7mI=kCEcgtg&4zAwKCETH}KDa8)z&hl$r7TbP zSk1(mhWIv`E<<#-IdJ;6;aFFcG*6$-J7o)@Z{OMj+e7Ax9G?gbFuypH;uqr76gV|= z*tFN~yF0#@A;faRArpi=fgR~eHK26pj6bwxBAh|b?FRhXL5~5MW}sxNrNSF7+cTDh zIcA`~6~HY+Lt;>2;FVOBWJtb0Abcz#nvq=JPgU$?Sue-&_^P{ny5-NcN9!A1_xbL| z>Xyyah+A63zphm(pQ=@Cnp6EjJF^tJC*i{Qr}R(8aaJBa{%`EGG}<4<*CJoA4nAn$ z)@kgG$XngKl`=0*z`}>$@-`rTdkoA-jKk-WV^4foBC`k8?m+< zi|#WWVsJV$sWPXOYI7Wlr7~%h$^x7D(jUAay#Em5WCrdjc`n=Af-saQjP?(hZGTek zDt^$yL__0F|J@b(n}d0Et~~V81u?$rH>peCi_d4^jgQf2PZQ}+K^~NI`Fz3rDX;&)pXA? zFI^u{&DTFd3?BTT^7cTQR_5QLP$nBqCMq~KlTX1%+cs-;8yABr6z>zf3QgW(3%6HV ziNEhTxS_3e#Ig^Db{1HYqjt0q#5!xOFF@w+(eGoF^9D0`>^LD$^9LiTLpg{_9hTu_ z@XK&SwJMuQ+*sDwD$sXhi}=k{%zsD@M&&3pq(n-=>h&44ACBZb zqt~hma=pCw?}i?H1G91S`M=%@%YeI?x$n{@M#!N#m!t|ZilXhvk^7d-|5dCGk{k3Q z=Gd&^jw|T=5>K6B*xwtsAy2|h1F{{aSa0?_GcY5V#$BkjI_+l2R3EHlFBPTw6m?@wWVFnb!}TIY=U3k zSC*^^m^iwX#Qg=RY6+Iqyr(U(97PR@|;Q9-EG(#w!CmIyAwF zYDZk-)~RWAhe6+cS(v?SahP}=AsPW)P@m}GoCNr%hQjaH)4kg}s!Y6V&Y{51qw?ya zzBoQUO&ybmu1iA-!;XK@I3iO5p$VKAK6v4tGqACW^)yDR= z4C%J?UEEC3u)N6ZK=2#hqFV9hP zbm}wRq}AaYxWw`8gXjtJ5sCvS5@Uy#5^>5sKZJ&83+pn(Lbkv0@wwUkJ>1^HpKYvg zQr*3;m~|?j>GGHD9Kpw8AM@YZ4e2i#&^@I_`_rT|N?!P%inBIg_-q>t`jqwX?2{DN zxb0Kkj?Te6fxuhW$@V3J{n>@u&)8~Q^B4S zQ*s&Lh5t_nO_MJ)scvyw_vbU39Q3(JWyzrZV14_MR15VDbyrLBkDmP0BY_tU3#lOm zUHDa4p2k;|b^f!*HkR_W?98*rzOuv3wi@fHI9S<8kz4YQ1oqp&1$e;;_ znvxbyTDP1m0=p0*vrc%=nVl~O=TlC_5OaW=GKdP#e`=U7tYE#eN?x(q0sXNcg~}$9 zEuEf*c!sXgS0LvldJo|`SI7<~n6Gq8q(BcW@lUC)@G?>-v9+i@f?e=F)c99l5b;hR z`38|oGT zarlCTwFXg&=5hFvt?~_U)y$b5e)$5_+q@=BK*C`5snA4lN)|OlDzKgjb*zV|*k3Xb z@NlG>U&cAfZdqYJ6g39!?=V3>4#ihpahou z5AB7-+0Mga_G5&G z<^)LZ-JX)zA%8l7@t||K+Ae`DuhxVUF+)UzlHKB z#K~IlH>ZM>o7n=Xg9G!c1T?F#|ru~1}K#jv8T=YUkRT2pj$9`(| z7(fyz?sbojVua42Y=>_`XMklC#$g$;Ldod-B3T_hj?56Lfg`{L2XfJ*Yw~U%zX8Tc zM))s)v55dKpfULcSZVuwjsrXuiIY6BMa-Lc>^CBUg7b)z{1xYFcdz0ELALoL}2o`}OFN12F&2UXh-4?7;Tuh{qnHG(f! zpbCb28+n9fy$6b@6r}CW@B&uy%yBa(+xlzWFk9z4DYEc6@(v8ZtIJn(Lb#OKlgj3MA$IJH!o-rtD|!hne=;vJ_-1(EKf@-Ypg zf=htJMY>oyTxMHm@j&1hF7AAv)?3CtR>*lKnZ5WfUvikM%x18upTWSkUJ(C}k4oA+aG5?XVGY(}5&mt1HfQMO zgmlVlBz4$yj-ZB87#&69*e{YnQgQy&+EJ5Br17Va#`*J4m2Q$#D^= zb%(hM4v#(S;lSet+3`9!oFK^q2i`sPu(Z&JDrdyO|6b@5?|~Et5W!m?=H3taMWY4* zF(3jSi^1Y#q*qAj#ZU3`BEsl+!a(r%MI0ofTHq5*MsOP$_iR+< z6OeKp+$49`D?K(=2&ON-R|coYiqR$33Jar~mJQlD02XHeWaPhpUzy>(TfT~*idkH> zb(p33@8;!6(RQpbsPEZE-hU10?H)MTOo`Ff6$G@HsVE*WL6;X5St=r&1f4i(@VdvC zJk$M3ehWE|a|3knJ3J_C2eihQ&x3*vtpJL}@nl!t*U7RTLVqslvx zPJ;({C{H7Z96S@UMbrhAXXQ0`LvD5_m$$HkZVNqYP{D{lb68U%Eden(rx;|RWMUbcn znAsFkfC2-`l4|ekcl*bHgBcRpfYWjOucKSl`Dp6v=7CKZ{$Qy-%-7p-Tb0pmQ()CFbmEd!fMkIMCwso>m82GLn$I4n`Qj z2{>-;?jkI{|7IbORBg3AE>5rlqzN;x^EUKTASr??hIl=@@XbC|!epI`gXNQ%rsxF? zun^>W2KV7gP<~L(Zu!lQEri|LH&Yr>d#(ibgBztw|82Mxo!@2iOwZnJ2!V$+)ES8RbAOM zEE+R2W8B7P-+_1fad;PjKEB-DZx+0CgzA(qoT*s%rDTZmA{J1u0T#`1JMP6Q85MsQ z@HcGw9XWjCsTT$e&>}8cj%CI(`}^-;DmB;?6(Z4Xf0pg>1eNx1^&EAt!O<17zB6!> zH_QmbK6Wr{3DfD`*{#uCApeavN~=UVT(DpubfZhV9@JF&rPO2gX+btBL%Y4P$N6AA znh@sRoW3BeQy>NSph9IVVYk_sdhU)9TK7S8CMZakl?eV7s-9V{pj&Hq&gfh7g{lw0 zPAVgCEJ(%nI0M%EBNN6g{8^8(bNRPnoDkh~>#}cU#;bEC5^3%7?Hj!pL&Y!rIRiiJ z^%olbx{$*B=s%_Ctbc&@aPaCCr${LP9?ALh-qXM)Q7H4@U~hYKO_ERe2at=ke+1d9 zL3&c)w5jNDt$G$awqKIQE{Xo+sCxb|+>3$E8tUeIfC#-~0lt6jowYrDHXPXsiDHk; zu9KxgzdlxIMpz$e{Wip}U()uzZPH@>#JZq5QsNWm28(ByUx#5P$@VU|Xe32`j@&v; zW3O03mDlypGzqc2jLou{o02ikXYu=mzU?1?1gUaHmZ8%CfVWHUo!Fz7${kUW1Lf1mFJ8 zLYLFgCOiEt*z7mYnm;Y!F;sCjww>$=-rkitS%9TtU4V`m21R2tWL9yjG9MW)>!#b*XRPg0(^8A;J4k*4=sV>1Rln<4410*rLKaJt;U zrB!ejHSG}>YMC!`f>>CL%YOBwJm#-G$&rBRfhg%BD9S}3$e*L|m;@h14$^6-x0Ijc zqUIsB{5Mjd@$5e{G8Kz;^rK*2xCG3`s8T9}=|R_PZ)<1uP4MKV+2suK@JjZ+UpN-^ z_}4Y5yKIqC4u1vgyqFr~&9AXTW8`AQhjzwJPso(mme@|lU9dqqN42p@&uAG~A{FOf zrwtyDJ9nIN<)%J|P|IfsMqHBw;C@o%y}`>K6{S!$SfOiA)uFvw90Qzn$15*g6Q`5g^rgIEAsUAb> zn9gYbOR_q|C@sV5m_+;?C^Oc2g@#BEQGa03P6w{%jWgmCvUCdM;i{xHM0Wz|$+;s4 z9C)~hIpB5=21Ux601eH7`PsOf{8kqroyqR)mi}YeajT2tYWRJ=g*~TT*y=;X{2Y7^ zO?piS0!7_Ht8}SkLYce(6d(=zaM+kc91PL0PlYH%)Uvx5>&LS*SIMUlhcUVpCltX4 zze03toE(1s=fzoMrXTd>^LVgv4G;RShTlxD#Y|$F9vF~Bp40Yd;l`(v6>>M03YwF^ z;MU>D*e+oSd zKVR09x8HmVhGuwbKV4HjA4JLj_IXd1{+CuJCO>3Pymshg0D6bzu!XM8k2wJ>nj`?} zQtFSJbrt2oNzf@im1B?`9@cS|1b#S;ROm4;oC5(d_^<(o#e2? z!XNAh0+>%}o6djHP8pmzw8e(6T4Hd|zvav^+cP%>;8Ki&J{3iNUIq{++AL}?mL2B^ zaM)t~Mv%Q!d+Q<`BtUWjKg~{hHGr60T@)J#m?~ z8#2Z9B}xK+wjPH)9=ZmoW9Tfk5cJWw^#KkLw!Y|*3ia$@taxP7#wuMV5uN*81_ht= z(CrYxmDSH@i^jgGqG%;1^nw;YumXEfxk8`Uf3SN`C%Zbk{yzGoNMhgtl**q6U;;(} zfXu1TAR!F^@}g%pH@c-+TfUq_$rFhNx{18)L#~$%%Q3en_Rrn#LIQ1Ag9$-1P5vLE zwZV{=^5=~;f$17v%1*rGwWDj6z57yawZPC7=&gn$Dw3_fPuoXtvIe6y84FX~BcKj{ z>=!U`;ArE+SOJph4oWi!L(wxkO5+mRCTx5|ssWS2&seGFptacB4VO+J&U)?5!1Qt; zp2+k=<-}DQend!%g-%$)DsajJg_2$TFbURilLy1hhi0`|hcUco#fG${LCgh_LwJf7 z3SI}UEiBu;=b`vM;XlP$R{1Vs1grX|9N`MT?I-bYbZ9x+`I`IY^Ok#+HV^}aFYG)H zbaH2|JRm`y5>#=5&}Df>cnVwH6-q*H=M67##dJ`zh4qKT0Y#p%kKm5ZM7*puT@@Vu zHKXvB?`6t@1XA`Mg#%~950#rA@&%ptILkZxDoWD{KDB1&> z005R&utv5ThcD`=+exr4iYucfPc5`t1~g?Tn~yU7+DY30l=4ul!R2FNTY1kPhD)PA zJC(rIu?{`m9rrMwEH_UdoTLq-0#lZ#j306i^BB2R2et9SE!a9eQ0<46r0gV_;A)iL z-B7stynXZ)4mPC-VYojDP{lbUZ6v5~k>>)`U69db>Q=HZS2hp89daJ+U;M?3;pD=k z-dUQfa9}nKn6J|C8gyiF!ga8NVy*>>YQ+SGbQG~kR-h>Q&Z|4Fz$J0Vmy-L=&8qM} z^KD6Tl)io<2oT7Y<-C6%U1wU z3Sg-6p=~m+C6Qq^MqmF%JD1^I*C->-$4GQGT9FX~HQ8>_sBmx)xjHxi;q3VmQ*azp zx{9PPlie_FqYA9VcDfI?i~s3!Tny@vVfwP=!7mPC?A|r!N8+>@xA#0lvTD#3-&bqS z;qIFT^)L=PbA=uE$!oO9-wL6*qf<*?*;Xiop6QxJb(e_&wkn=3=xSY9?%x4E3+ zXi9=J;BQBka+aKJ+L3yNQ-{Pr8Y!dB#9J_O^U~+7N?<049?B;Yapma!kJm9!JN1&KOeZ|@>*UX ziEz>4v^F17%(TE?W(jV-(?NPO`ox=)Gbg}*Hb{yA^>|ytYc)4MjAIxAXswrt(e}dD zKfdkmS!LMlaZXe_5n23tD9OlnP6FCk7-R+>L;u^Y;h3xWX zg$5M$K6gRKNv;<0DG@nPtyVV>4YE@qdygP@NYxd>X%SH8sV~C~LL2gzR=a1J19)4fj|2PP8=OR6u`nbp62)N^*>L-wl!&8`}fp2c(oWWi>K;dfpWR2)sTi9Lt!(76Qg|zctiVMI-#E5 z2I@@|@;*as2$sSz4sy~IroZ1!5BRhV7xkkHFqn!+7g40;ivcw(s+-ncc6R!O5Osr~ zIv#36)>Nq-Yiio8NHGXvm?--vADEsIv1QprK2C#rq@prs0_J|*^?{u*@DWBVZrmRn zl^_*kRv*Ff=INc9@M%OOcsDQB3NYNEedt@p^ava&yn|BHj5%`nNTVMA5G$7>dp{g< zZol@88P(3Gai8Th4&sgQ$~4SxGf7s+Dk*@Cs>fqm?ey)?CQC6fOdkUu2uS?(6j03I zU7$xaO77p`cPW~lO&D~6A5aYRP#*GB1eaisrF5uG0Nlm>6#MZ=G$|Fh)JIELf%K8D zGJdctDG7s;la>wB|DCt!KiEwZXyuiL80hx@QqLF}t@CC`H7?SkmehqSM-dy;xc@-j zV<|-s=V<>s@(=hOphkdU+XZ4WaG$6S_xQYqPE~nrZ{a&(fNiP7Chr1>886v`B@VGTx-zPPfRJc z`+2;T$gH%$B;$Y$9>%F3ZMaY6)C785ZGw=e9tdbXBT>GKf_?hS^S4aXK8n4^%cY!V z=S>+S_gezlJF!lDjLo(mm@@T9@Qb_5Fc`BB44rls4c|~aV)MKa(t7|HiRUsLANC5D zxfDSTEz-}Q7rflclDYJbmZx++cvZ4DRE}^>eb(9$Pq9I=4g?@>PuT^5;2t-1oDZ{G z6Byt@9c>%IUYQz=E4y1l>#KMGj$;`BT`mn!MxcGB!fhB!KpOFcFPlu?AyNG*JXV7w zS!)YP3*2z`vxeUD3W0w!iyloH&VSzpkYt46doN1;jkgQxe_Gw#{5HX+%47fl{0U#K_oQ%o;{wYL;RQf9NDd zgki-27I&ude^8ajU_cKJ4L7-fd!(fMkO67ve|RyS9|A8A6OTt zjdsf08UB41({}B{hlk@;izjW6i(7+taq~7g9jK<#sYhAzGpKJ>>BJeM`{krJ2k%)k z2L8hC8HR3_X!xbugmwG&ZP_i(eqA!>4D?x}OSNUOzvCSvbNIDe9AAx{)ekKW=+Oe_ z-#(z`(jHDn#w^w$4SU5ckS#XA%S-~^hak)SeegskUp?R5*=g5sC9bta`jls3c zbZ*eQjK(f1v*a!1zqRv8jHv4jETWUSR9&V)>aQM8viKXF$pPw z7%k{dFhhx}LMjIK*n=`KE%8C~GBmb*17^gOQ6WL`b%KDdfwiSee_L5unXBEVVaK#o zQS_L@K&xjw@HQwDtq`{#KD#h_M4C|*^A_)S<}ou-hiASeE=Ln&JHjm& za|(Er=kttxz0aIE^I<5JS7+-GbSGOrN%723?-b^7eIU6d0N&89s-e#dSi0?Rei zZnEITFio442uS&;d-k!N?1dC_DE}98@ZMk8@)qTXorCyZ77`X-9s=GDC_)5tXgB&aa=P z9}byLA$zge)5!1YWaNQBF3y-6P|?wKG@myuoB%EIM8!2S0(5dEL7)yJho%=q{1<3^ zRe2v@sLXJosA18m7@-$Asm?aVXKz9}4KI@;z$#k;VTfQm%EjXQTDc?b&TG6U>>N&lnidM(RjBjo?Y;~i$m z3MGJ-x?5Bu(J$E!HM=n0O4)ygj_)8^fs_1{TCA5YL%4HWQUiD|L8Y1YMAgm>?%SBP z&Y|UHg4bO0e8sp6oRp*27gr8Pf<1fkrCXfqXld;3ak?QhXP9Z2jC@vqvU$mkY|!7E z&c|iJ)rn*y1v9i?7hZK1Av`RE$N{6IX@c>I*T~mpaw+H#zE5x``!`15lN7L#kq-nQ zZJt8DI#|L-7&L3e+ZX+6rpI`3D3zj?ttr99P&{ zUum{G`Vb7LVs+KY99k}DL75*P7QK(HDBocTj*lh2qp|cNei$I@TD724cn=oHe7Q>y zr3j1Kd!N>Y7tv|==%&qu#v`t#NX4v_n&|GaW!B2jc{><Eyx$s z54s~0NXCX=FLIEXGESZ~69XFU?XiZC4nib7DWNb)sooeEgyls zi@&W&5$EUqjZ%4xKNQ1k-lS$!AN4dsb^4`y%naCOFA< z@Ir2bG)uUJL=yKoe+`JTzMg@@wWRz(4*H(JJxI6KsMmGBh84C}VygP;bE&&E>0jw< zxBmF)tmqLrHj|(8UDa|0M-@m`pNq_r;-+T3R#HNd&2PT0g;PvBg;C_R>tYrL9AXum z`LtMg54o8oC-*Ox{qQz&Gk+beb;0-zmdH6n?-xXKrN|oJt+PZkzw)ol@ zbklw}W)C)gQk4f~lvmIONoVTesUTB-)0#DX7s?F59%Oegwua+Fasy@g&K@AM{Vrc( zr1XZt<|0D^?$|RiFX0x2`O%Ho3Ee0EaK?M`KVRrt)-vgI$SJ?q)*Z1Nokx4e8Xh4- z!0%kzx^8Bro8_vsB@(wpBR;1cMlAl3g^=p;K?#;2kc7kQfJ-I92gYSVw%RFS08{2E z6lPogO;yTwY*O(&C52|4rn z*Wmx<0%WIijAMWqOK-&N%HSvC%K^WuTj+s_inTH#nuyN~*@10%D-YRumwnMypacnl zwg#<{!Kg~4eM1E>R_WndIHf?g3(_fUrVAD!Z(RyFK}kdbRAlBh@EiQPDD^IxGoc*x zY;Q|~3jSSaU!mNf4edL9uph)%(P}kk4X$YG*mzB+y?L4B{@1ZcP`@{^fWHzQD zZCeFk=wIhnOUUZuKc}{2?uND**|UEM>RYEWKkCEF1@{mP8aw$z##Xx{>2;>!_6)xh=Wb()rwB`Ytfs zEh-oprSf_|Bs5`Ky3}}vnhJnn=7HKWXM~D@> zvkED#r%8iTi6t}>_J^-D0Xp|f+O~;A00*CbhER(@V?^Pz7V$+81LnsU_$z3(yO73?{ zv`Rjy($truL~rKN_`e_Uueuw=>Djf++5QUp(X+sZr&tR^#JQVlU;)|&^+(J111Vo4)GFB`50mV=$A02q;kNJ@fQyF@3`6o_ywQRCDh(u zAK|eG4m)HFJ8;@(`i)>t9i?J1auWWtrfw$Z55aL>9xs^q^w5(LVcS_2f3q|Zzk@8q zr*m~}l_w{Br7L-hj-FMnfh! zxpxJ{BYEs^mH1mU)g_tJ2pY&bjmT}HcwmBkaZ2VMLi*q|{TaIbp=E(>81SXo9TT%GW10)b*lhyTEt|pcu2CFXgD6v_&gaG@9}DL?8uO5zfd2 zLHG6-qHs{^@Gnf9Dn*rJn*WuWy)h#sOYDa82Dqe53569?B$dp0(+(cj@PGM-Q&OHd z^w){Egsmm31-i+5Z`MDj{ z=eHtuI|2@frNWtuxF{pyHamc)%gKJKFm0&@4P;>4Zu5%*Q~6m-aP%{5aqFu z(u8itcA^$khZjxoGS!6i6e)O44`noek$_Pp+7q)WLz)rjS4B>)>rR9ZjSaEJli7t$ zAs?QtDkjtQkd|`+$5(kcz_SgRC~m3sC6XRZYU9^3D{2~5ojQGe^i>x6w)EKH_gS~L zGa4nUc61`eW+vRlVW?I>O~fT|L5y0$$Mr>(5@Qlc5g{GIH8#5`a2OF@Fy#1zxb|N* zk(r5vH3j{bE*NR{v~t>vkcPt0YC-f8AJ-Znz3rptmNIEv06mO$y5gG3O!zqS;;6kW zVv@Qp(hxy@vSe38ug+yZU3z$<&6J(D!jFAz#fifDQummMlj#Ps*xf`lQzq#gHyT;M z_YnP_Jrg4Cz(^dV;vf%uq6@?sbSlXe62kRdMqf5C#O^)=MzAE&|9wDo3_XB(@od{~ z*~vL`w)6!5i*VTq^;fK8BQjB(r?&=0Y<|gfu|ApsQg6dyQ5OFBW^@f%kmc4wE?#DT zU?rA{HiBwbFk-@^{I-Te<0X7zrwHCj@gHzIKCht4QKJgq!7A@;5GL5XWsf;`E8V`Er~k=U<9}n!SAFF=Y}4?%F|YuZRSn+7oYV z#nlcJzXb6_U#dQXciUo2gu|=yBlSC)IIrla{~=T?^b%zYTJrMRjCw)^R|`#Uc6;CA!&8XDN^M`_ z*dUInats+?_J~U%5Z)>G!X(lMAri_#6w6YKDO$1=8?@tEmT+1#R}6QAnJ}O*lGFZr zQ5b$S-|^E@(MZ4^p?$J~84b|G^4$@^*Ry@LdzWLg&6NSrec$Moc$m&!CMxn>4me+o zH2DYmHTA1s1kY--2gpw*Hhh8KH8rPmTGlo)GtGe}!x{MR(u9<~3as zz~8aF`apM&s1W9ZD#iO#uW&8La~;MxIb5X8{L?y)wxci%x7XedCU^EqhQIs=@6#Yy zLmGPHk7b3I6_$58$CI+paPns88+_eC5*;d6$zKt8x3qakx)v42kBuDFumll`unmumK=o~YlJ3}SZqv)N z&=&RzM~#H!p@?RM`QGZ8)-#{=7Lbt_jM;Hi!gMbPlOFP&>>Y~r?rf;i8KUlwyL|Lf z_J{2)FqFzwHruvbWxm;(_^Pjp;~N)YXw7MgKGeNcAfJ=<=K8bmbaOU}XqkgDQ~gsI zrpdr;v?tAS^B6#hK(Q4Sm3!ruVozYy}Wx{6-==EoUGAe;Xa(%dLxbKvF;T};&E}aJ`0Nh;%S!C)-TOtH5 zt2Z7{TMNd6yPRLwb(2wV`_*is6RK210I7!T!tyE=IEv)W$vi_I*t5?(m8E$#(NfO8 zY!}uh5X=k8m9R<#aFj|;#q8su3SlIO+1wEeue@-PySTga;miO}>R&8L*?t`iQ~-I7 z-Gr;tL#uB8F(N-s?@^>aYv57(1nG;GJ>Dj=`&jk{=R_2Aqz--}Vd-<%YTlkw3ZTCEUngTo1fD zuql~2m>C_YM}BhFB=|<}-r7#YS%<2;pu&5#{BA-0@o*`2_hQMHwQth=vi;LYi+(q) zg~s3UzNovpYHT#f6#ur>=Un68PjP|uS&cW;X58d&kbh!4Ywzr%8LvilkzKpIyW`{6 zgVG+FvmdY0Rwml{|4FCjlFiu`#?y*iteg2AgOK%RR5&8HesPMu6V>G#&X(*8%j(<7 zt4w^`R`iXI;NwS@qf4(80pZHO6rO(&0H@A#MN~I&5nN9txj-;~(ss;neEBhb$cpLcQZH6qxp~Y;v@l`(&RCL4EyL^c8IblKLpqZe`8WVco3zYf zb}u&^=kU*Lbf)uCY)(+B(KHtSOo_k*-BC$({HflHYJ~xe!`G^Yd$;_^ftOs!v&AbX z(%8q?gu#;rhLkoV$={fEfJ!h(4y10T$j{ zUZ;@cs26#N!lK2P%;FP7b@O4tsjX;O=?#KkWp$<&u3Y;KS>kFmDHS^f^vz=f}2eYkSk$F)2m+fSp9Ql zK^!q*1!-QDn%b!mX(|VvT~R+B&|9IaFDe>R#GPQGR;0Z$&1tZtqQ>}BRPXOHX8~z8 zEnR=~{BNM{Xz=@WM)BJj=SP~En%P+k3NMg?M@4->mRoO@J|1A}svizlJwh9MA{94O znY-cD=lm`FLR?|#)`6HjTCd>+V#HDUlRlYJR<8$5c`@;fq7BP!gl^xyp}3G(>S7GD z?9-F0-`zw>!<+e(Hu2}gp8J@;g`|(#8Z~(lNBNSv&e_a8Jvvl<3VD-?mAf~t3PBg| zZChtQ5=2s@NLMZjKZc~qq*#Jj>Cz9!al+Mqu!>r;QGnm_?A}&{SpgJq7FUT`Sb0a8~{#I z#TYxmb#0m}4|W0o+^4K@tqiTI)DYO+^4TJmYX5FYg@^_=R1=5DNdnUr+JH zq?_-;f4_eLi>umLpU<*#1YD8j_k7{)N_p|Z-ydOqXC+fky|SK?m|Isf^&I}tGyf~$ zNZjUkC#xO9AFg_D>o3my`p)I>+hO0&Ede6)U5)!@+WiM+j)b;;S0UxkPFDtZtgeOV z6u1?vU2Xc8eGRgnWhlc(cHa-F$Ax+8diGnN=P2&DLeMtXP}tQIBHzbS}nSm;>|{Q%KnB zUn2!%C^?*-Zj_3>0aW{^+lgMG15I#L&o0qR#+|t8vgEtpgLdUF4BiM^56wJ0*?rcR zl1IAw{L41?V?w4!o~qcoG8&2ZJHD>O@Ao?-`Nlxbxua~>zJ2Ez4o8=;mSDFNpYs<^ zTFgW|&7Z%=&+D1+rs}(EK+DAsO?}I3L#sb6vqS>{rB`-Wd) z3oT`gsW!ncOH*9Q(hoObPQ4jtce-2Cd54NQuV+Gzr>PYI$8`dC%tJ-75y|}a<5)|5 zitmLX+&*zg51n}y`lzG4 zMBBhYcifR;mmwEIg-!Le&Q<>&wMU%RBMtNf{e(elF}t!r0Z+NT*7x5A*_>L@Lwjt5 z(W<(q_HoL(D>mud2-Q~h4QuB=8QkclJCsb#a7Y&qJc*q-e$MXA_h{14ni#ALxJhmeSP=TptSY}k95E@ zs+NZPNk_O$fB+vwP3yZOCDw-`KL3r+kBYkD3uAy9SGG&xBBofQ{MF-} zo0Fa|Z1DS}wOB0V)Y5wG$(w~*R99&kLYbo>NDP}>XrQ+ALy1WxsfkPN(Hr8 z-m|2Mu-h%&)pF<1R&op4OQGvtRFTjPA3OSvem&dqF5i$@X|= z+1#|k;$WtF>x$LP+?a}U=vl9spvb|`aL&x;tBj{dN4?fcim0v??5fO=C%=qVnWj6A zmycB9m`t7S-WTgU_F+%E<{z$n|Fl47x!EP08KhquzSzE?IOgYaql8YY>DrPQlj&vS z{~nnA!3;64A{rpgR-17Vw;pafKWDL@zHz>%%r>T`n6VC+(oP{czms3W)HdI}N_7$v z-j)&D2q3Q+hk^P1)vw@VT-ScqjrhoNKD#g!0em8p4`jTEioZOh6wF;yK5`R8sAu&f zr~hMMY3!$B>KRcH^#@Oul~$AWGeCJd6uc#+K-nAy??A&K`>28EwW}Qdr-UH6Fp0 zbL%|XJM#pHm*#F+@5$7dJAdv%Q9)<=sQ$o}V_U-~R;xHlJltDvRa9lwuebCo%FqLR zr^$_#vTI2}Xg|OOiP)Oo=Pzwq+@eQ4ZCphQ=hz1Qif=aX#Ld_Qa>-V+`IyYNaFYK7 z>O~aS8o#4Ga*%%6ne)4y#0VR7tJ63sL0W)DII&N&yTsj%;r`r(+rMM}{RglWNmiW0 z^V#N#3^Zn}0va*W#I_<-iuV4lFbZ`abFAk+^GJN_b9$S0_S?}egYhQOT%T7@?71T` z>Zk4FI@%W2ed0=x%yBVjpzq?Z)^6FuWBFBhpHS`L|SG{A8t*%reP$ zSaoZ*BKJjv+TBC=m5D*nh)NRlFs`%vDBO&zaXQ`cpNQ-d1R3D)*rh;hk{~P}p~PK8 z-lHP5Uxf&)b&C{K=IbJS+~`Zo}c$0nD20F&MGr2>@Ye;x#C273tp%ae82j@(gEuhZ29BeSqJO% zb0hD{OsnF4*Pfc?DP630qhl|yXZh*-7E{I&X2TteT=xd*NJGnd_qzq!)vtWM+%>^( zLZb_?3TvIc*pEu-{aZ<^t>#-!U!3P}g`dRJ8k~=AbsCea{Wb!*;C+2k+d$!Oj@$U& z(zLD}*%U@3P!V!5rbsA~82x~RcRI%~s^gTr`{oZv-EF~Z&{zA=rUnc*XR#_(N2hmO zfrFRXshHTGG(L7)cDKu|TfQzM)dTWTy{i1AVkpMI4juh0&h@r=XLrQ6>6QQ;|DpS$&m&SYKo$Hhmq^$4HV zsLrgIwOg+?kF@2a&dMxKvYuv)M^A?5jq)cWC$;(&^O%Q7PzzmI-?JI@-b+Vi8dB-J zfYNsHQ2V~VvkrVp<(SBV?Mb*u+}U6C5rwJ*cNivJ*E)DLP8l!vg94!7jKWNrq!J!+ zA}khx!;vI3q;(HCreHV?rbeuXx5BshpGa=hXJz_;>e^DH$Cn62PbTW0g;A}!PbLnX zWK^#>x=8l*43z$=E)D-7+58TZW_S5)x7)^5i4~{F)9EI2|Cp6AeW7Rjo?X`6CPP;2 z4N%F7nzEG}Y^EF@t;PMUsvUC3QRj0uYAi6)-sIWvo*OLwv#{=%)wOA4aO3zQmUM&n zS-8*K*IYzHkG-!;ao}_O@WWzS#Ye3%nfhv{r9l_D@VUL(GznG#cS4U{-B`LyGQE3h zE(mIK4@qB|3-lH0;><0&n%V*fYTKXEX99#tZ5=!pBO9s%+ zU_#A3I2cb-X9#XHpnm6;`B_A1;>`AC9BJGhqunfMFD4ak(d^v-IAjgslsH7AIAQnMeA1i+&2`HP?~d#*Tu5*x8^n?)nZ} zy89nCO!?N1T(2!9P25f?s+}vykl9-Ku{2Dt3iF+w8_`<*?PiYrMoS{MzRevly0S!P z^*^2CvHbnfW$@@6$hVaDRZ@+AUw}L9VIg^H=OGac`?C6C&_N-YxVIYjWil)vi7+ z4T=PP?+G$Q(irhOPGay2TgO}{20P{q$T3Vdf6$d6)Xt^sg zF>BJLYv*aS%goXN{~%myBOo~7s7&$l z^6%_jsD4KR)|lO*BQDrdF;XE5dTV|yn=c`#W4}oLm9wMQeorm5yj$%b@bWm<{nx2tZ5tSLX`FH}of+zxnLB_d z^S#S2P0f179G_48n*Bs*#vvz33g_}aI3;*M0wWfrRX}E z_8n&KQukwe`?|9)=ArnYGVTu2=B_Wocv0i6kew!(I}@RCP_L6~o|9mFqrgdk@{e*_ zAZEg>i7@W|hjm+q`kAxC8lzBG%4Khap}wn@+a z3lzNXM-P43VtKPirLc@UYxESK*7I4djwv6nC)lzKGC%9n)MpMHxpr33vtUZ?jP=x% zy?!m1qL)kNCNA7|I?__QbHmX|rcBN8z6|wXR{XMw@<^vC6Q!E9!%r;noIRURGapjS z47ug&U^mPhzA^n{>wPWVpWUF0L1WDEu5bOefnqaO#0+g;Drmx~^5bq6nfdEy`!?ZR zdeQvcR8i4v6L1ac+ey@oG2f@O%Bk24lz3cvVI_@w5TwRa(`-GKD1!+H36ejzwPCTf zq!ZWs_Ye=YZxh$zP^1n^N5xD0%KyILRd>lDj>9(FpLbj}L-ku)faGw?+VE=V(*EJm zun%J&vTHNqZtx}E9W|(G2)b+H>e{3~Q1;>a*{^9!Or0;%TJ0Z0*ca8t&h7tR5k0V# zpB!d2cF{%Va`KbMU+tV&??^!Eh=|`RO?2UID zjZa7_t~@?{^xk8h@4}VN3G+@3&U!E)!d<4vK1B&q0{vj>`{z*~Y~Xs#3+Ny>ZWqB) z3Zr4A7Xgckd23QAC%%-L9NrrN;tyUhUCgd0Oh-Syw0m1ke#BP-=Y19GI;QBnbd)Vd zPC!@^WBKt3eDq5|`eP3NBzD4YuKACG^Fd87g6+~0Zuc^Mn)WBgOP{8Z8^@#rkG4Hl z)<2(rt?8PNriEMUpdopyVs&A)eM1<)<+b7;^{H4@(G#OeMdr|W4ACMJ#q4IL6P>x8^s0-#&BE(o*V}4z@@^p9P zBVQPXq*QNG!85T->inLDDSLW^cJRKK1}|(Z4h}fQcy*-`_XPq;Y=4E%a&Sd=B$xLD z(ll2wHvhz{OaEtp|Gu)h0l zC8VT#UudP*qg`{_HQk?r`GV^gD#xXFF^_j9@`SFTb7-Vbk|aBsQBMsMBpg}g#W^z1 z!<)a)w8c2j9jhNWUr7e-cF)<=KIYwgWOvHyoW*xC=gzuKi&=qELkTJ)oF@K`gIM-1 zf{)11seWt7aK#pz04>Oh&$JR`C=e>(gIbhd9NL?(yJ-nlbNkLrwQK_ngWpo^W}h*9 z2{VEwdy7WggIu`_!;&WW)7~1tzaQ_z`A#yvH~OOGz(GYgIV%>UrlfrGpD4P=qKiX= z8Hmh^bW~zs{(C*Q(B>BH9f>n5<>J&-sjr^~CIe>Xrniow^iv{h@7(_Bz&BB~mtsOK zDx9jqPpZW^XBxd&Kk`XkKm3ye)j-jlxt4yPUb^};6%kHf6saxvYjioQHuS(=R`Rsl ztIZvYRpK+UAa~ma*T$(qV%>U9yKB}CLilH!;13h=gj~sQk^3(UffwsPfnqiUF?cL{ z!Eye(74TgNw6fgtGY6V{_lMwK3tVsl4#4Gh^1ifkg3TwYsE)%W>)}yD?*_bVnMZno z)%Sx(e;!f1m97t1GAVx#^!-&W8mZTnX)!Z} zYu)>|(p+?#VfTd5$E9+ixvbbCizfX~b81!6mU`NZ1@{?)-4k0)?Izo3dauuy^N}OZ zaC}zo!jNp{nn?qoCO!a$#x)ot3bsqXDn=!~V`R9Tw)QfFoM#_krnz((i_`=99D zo<6d{jUlae_u^iE$Y$BE)7{LGk<8yBgoQwlN2J%`L)iu=MH?`ulO%wbq7`?oFLXk% z->VTDz%2Z!FBs5v53fdo3rrL`j@oN@TM>G@lj4M=_P*o{YqBi3sMnq~rj#@|ADiGN z9X)p7=%>=j0JjfLPb3PgGd)_zbeRb{Ig^z-vZJ5OcNdslx0{)oIeYBir?(edpIr-D zHjk6(Cb@pBupBgCU3H!=Ns#GfEmZYwk66=@Sh2`)US3t{uD!E`OB)v{pZR)X%nyQh zFuBaT@RDS-jz@(=EWiAi3ydqB?;^CJ*#I2h3MQE|#GOr?Btqdajt}*bZOZm8IBJ(a z215}IV+?cS+!c8P-saWwjlVJweQ95k@OU2{KK*~~efd8W-uM5EVeDI^?6gQk_I(*c zcnc}17;AQ8Lb8l?P-(H1CWC#c?kCN$fB8QH<`4`6l_PtK9zFd>Wlh( zyBG8KWr5MXsr^`z(qHaSImHzgMaE%Iu6!}`(T>03ppogZFiz|QMhI@dOK@->L5#>Zj+RpNZ#q4+5 zwthVc9=4MSi6)!uS&iNR!Y$u2oIKc8kG99-=j@9|r&s`^iYJPHndf3t{}5T@N|;xF z?cQLr4>Z1Upf@?45!%F?rIy^MS~@r)+;0xj1M2)c??RKbKLA|O;v3>Bx?3K8%wCL> zcDrz0>d{r(rVYS?Y9M#B0smW|qy$uHEK3pWr+i&H382F>Bs;;2UP*Di{F8CsFd8M> z29k4$(m)(ka{IBD>Q>|V?DJOnpcmt3rbyO3k^?3>>F8CNRaOy(7nY(qq{(1)lKPDX zt(P`3=8TOAl}zq+3N zWNME_oK88u9rfct;F9GuITueBIH;!Fq(<1MK4`@WJD0B$oY1!D)6|G_!GT;*BO`kp zHk1eO-Y4`17wEtHy8|JfFGq{S3MpACjYM)cZbGtd>z#H1aWm0Ez#x7ZEmRSg>t(02 z-1+)r9q?9UpGwZ!V;)pJIWblDZziu(>nYPaYZDrRNb%+N5!#dJ?Hu{k)E*WY)MWP3 zy>2Qx5oPGjbd755BJ5Xn;p->MQNDib)PrV#nQpl&Y*Q?2OM(k7^WLi+y#n)ir zy6xCCE}I}}mq$I2CIQBN^Ku_^If4;4cQ?n)T*Lwl@9!!DHJ&!d2N>*zK8 ziRiXecw%?qz*-ZPB0pgIF#5y(h;}34VM;DU;yY8c*ucD&LJ7Vnnv^0~CA!!UZgbH- z60VqfY?EKB{mQ!OA7bwdwg+Luf6CGbl&tj=yZ@lbzF3&??SZpm47?45I8Z5E${rJqT2Y4u=%-YjpsP+{Ds) zWNyKabI;$ms?v+RIGFdQQRx`(GqaDQ!y=IF`}zEF=ut+>h)jrNrHwkb(8nUXdXyzi zdt`O{WKwOq&=xyUO@#Awd4A0KYGH@l`R)I9W99sF zSyM|{H3MInO^lzmv~s@&UaR1Pq_tS0Cg@g6VQvQUnwO%kzcS|gOZ()pVa)HupBohq zaRGmnE(cE@p4<=}xkex(Xo7f2Tu*{!b}PLIpej6Z-7|8coyXYaL57}exzBNKfH9vH zMBCHe6bzly$P47jYV`ds0a$o$0P)r3))xWZ<&T{dp5o$p^h3+(sSoUgQO0TwQ0XiC zN6H7eiZ##JX?9#r+q7vnvn3W$0H3YH^)1R*FmMPGt;@EbHMK%Ee@f~g`NxuOT(EoR zI-u8WyJHHhU++;>3}YFzU`i}(SQ7)7N6CM8Tl#ZjQrtGIV=aH|-Q=;RTleJt@{kZFZ&h)HbD|9&A`*5D=f7Ck@A&_SILEB}y#KTQz)d#b0T7@{gN(2rI$s)O2y8@oNRrm7SMHJ2nf&ul<-0Fd04^p_Y(faVBn1G& z)Zc;(;V3iEn$4KK@M%NAGuy!|MK?c?zQO*-(#V-o6Rm$A3q7T_Dpf8WnMwd%~TS=mR#+JVW*>lU~qC_5wgAo74{Es7F*sIVASFQ3uE*|b4Y1KxM^CU!< z=Mw+xMt2Ii6^bwbiFYhyCUN~@IH7#yTXHxIsrlt_<@MOtMca5?jDB_VVX}R1zL>Ip+_NZ@)Qs-$#4aFI+3c4pK?jOPelKHtpn!nyU zRgVHhgkKOWj|C99uU?xN;?Jy>1+?^guVs`q`i7konk_yTdu*m=vl6%qDkumP-cG#S z+Gt6kImP-t&0cj}@`I~B@VK@|O3}}~%*I+)WbnV;eY#(wF@P}Vb-gjU7ka{I5P_fu zG#NT4n>2kEK!8CFm14X4$Dv6ptLB>ue>Y*hWj24Up>;;7 ze<)Y}CQslq-Hms<-!F(hvrIo+Ju(dZigM&Y6GR>m{ISp;;ZD_^TU}2a=)F`T7RgOZO79Zqju33A$8iw zwP|!n+?EUZ^t@|$RO4}U=?}WpKtuROjz4?AL~E2pO8GBnpBPRizj$Ma5flv%szWL(_V|}}*|PYz!@Ly3_HXG}Ta3z7 zOh?%5+|I_4YkzOUa}=A>Z_E-VO`-EfJ~D`Z0{~B+Lqe2!Wq5iooJJMTx55Crpgj3{ zFHq>|ajcrYoG;gFof4qX8JF@!P`*JINkBYw`|SajBko~IFe>mN$MjxE!kzzJ3|{8~ z{<9jj8@)!GW72iGik;?=uUIs65G$V9&_-t?s3{nV-Yn@Kh6iKMYuNt@(}fJDB{LM@ zM;~&Iyic~~TO``g3BEmZ(fQZqourzH;A;mDf^adr_Ujo^b1Bm##e-Ihn==F4{MDw= zsw)*5-*g}kmrj3YqO9Ehr8E45r|yf$);iEhL#4@67ZJ z-rBi=^?Lj!zH9gBM-HrACERY*f|pS;_Bw;^ywNoNGS}qbtCj*~Rr_>d*gkQ?4p932 z;N-?iG8M4h&l;eOH@l2(wg}PrdxHu=57THFIg$)l`(X$F-Q5(Hc(cwA*j*0bbit60l2m^11@380fb;h zY_4{03yyrt8277W`&CX~BLU+k;#({UAT&^m=6_3!W_*ioEMKQ05M!;XbT0Jxgae z{db{(6!6CY>V5y{(rAs6PglD=MK2_Os?8vzFzl0y zmvWglr*?p36{o*~JF(rj@A^cl?6%CXRcV(izOB<&AwIb+j>F(`d6z)}itYWK!Lj2K zL$+eP)(S72L{0gGHu!Os+1GWsbNIfQppEOvrhwaBJYwcVbCEGRD)WSN5Uz7E6Klac%`jO1iSfroVc4hO}q0u;PNe_=Ida;2w;- z?LM@BaR0;7*C~N`CyZAlqsC7tZh@Y$ykN+5!4>^+-`+sqAcuV+KL?g`el$PsxH*7c z2mYq&ps(qb`#xyOQyj~kOmn#^{bk{7kePNm5ZmWl2jqv3I{5Z-s*oI;>=!{Fc~rEO z$zS|kD!hDaUXJ(^B5)L5n*C1t1of6FBV0;B5QAO%Q$kDhYTNh3uM~EPR`T2_Mb?e4 zq#^F&;T^4u#aj8z#Hio!Qj%Qi%@=i!QtBFmk%5@dsxr)5rl0*4sSQ(STtEFHr(tQf zB&i(r%`!XoWg2isF8s0>-+jre55&dP96(_1TCK^n7vhm7d}2aEukNND78i)pSFwH#C$R638c*Pn-c_qHOz)ajthnlj78=l&I%nKVRem}jCH3%V){!vs zo#pVbWi1iRcY@=fi!PhH`7=x%l6i*7MhUiudNOsdv?gvy4Nj%2HGM`e{&U{k3HWIN zDa}=5@n`gms#KPhm$1q5V7)g2TrJ7ThI-{aqstSRVR(m|8i?>h7u7HV_m z1K`7|JfC}IEWm0va`;I_1%BJe)s=aGR_^fC&O!vX$^x65ot=*_>nqHnr*@HkcsI3M zd|I_}r0E*Yqlg76Lq4Hjn)foq*Bf#aJR)5m3-2>PSycVyL$SM>S1=MRiusj_Z+ze< z|9TrZ{YeL*&uTS+S7(6evx5*o0I1PvTu5J<9`JZkI|nLL>Gia^R{2cFSw2BEvpit# zPRWwH;hTY4>e7Fy1kXZ(xwv>dl$jpW5-0;6crJ z^a0AXnBL7C%$Z~_GjDiEpVLauh|xWbj{>XV+T>3z$2ntJC}y!S$p=;Mu{UjTQ*~vY z;|cDxS*}FQx4i2DPf|9Dw}Y{SId>j0{m=tP36OjjajUdp+HJE8K^fm4`pW?Vj&N2wacGpb@Lmc5}BB;>@LOJ z;556h+KGFsb2K_@fBHyt_zX~`+waCdpQ{G(id2(%BqhfEaj;iGH8H)Rj66;Kj8QK= zeK^Nj@ZZ>J7^v2eOGJl^m|)ull|`k~j%!OiBk5iwht&EgIkhLL~WzkemzYidJaRvB;7~jYv_0E+RENpS((u;_I+s7L? z7{1$ov(_RtNqUHIyU`J+H=EltNe}ldO*wWLqBpgsDG{Gx<6+8IB4pKITzvJb_p*{~ zVC~t54qsYkzFn+7)>yKQs5$+?CSxv7ikAAFyd5WCvYqrp9Em7gI{B4F#McdwrnH~< z8+(e-sH^OTpQ9$zh5njx_@Bvl(AuA=^%}9S0ymA+CsL|XUt;gd9ZFjmCQrN%KEe`= zj_zTUj2P?ZRe8oZto%|Jy{-dJZgSTc7nnX(J@s*Xv1LH5ny!$U#1qjMCztQU(u|XX zfuSWPQNkq`ur_7t370BfONOZBJSgumiz94B_n??Fmt^F8P9%0|keV;-4#f?N+b`_% z3^3;U((eVA#BU%QuXaX<8#dlV%@E%QTWP0r(JcJ`;h3mGAuX-C4CU+nc~CW7BZPCZ z?d$qN<3R<9%_6FMP_M$plVwo)abj3B(Ojv)Y}dNr0^6^B;Bme4g%<*m!)nw5c~Rh% z;rgo8hIq}X=Rr;C4C91BuO)aU$8j-6t)f6{N>*KxZ(vY0i<^z_>&dL$;T9l9z1fj27lTH4rFX+7n}utpvL}2g>oo`F z(H}MRXTrixV#mdO1bT0VmWT_+husA6KwjEn}FP1kV5l|SIir~4=6wrv59p2r_pCObu^pq9?T(; zh`81un$6}NrVwX=Zx&t0uigpt7j;&7O_;7$R{~i*rQU~PL&lB0F{fK4<@{cHG)sr| z^oITn&vtM!Ei#1kYY-+#Dl<@rPH<&s?PZN$2J`CIdpt2wctp{2nJ7YvZHS&scI>An zzJhAaX2jI-Dyp%RVaNWN{GVaDy6@KAjb$hYv+O46LWjz?MwaIa$__E+LAfg!r>Reb zPN~<0?#od#VOKhh2PWleV%NBV9BLd!|4a1$hW|B3V9(~Y0RR9Z|Lqa*|3x#}b;y>| XdL?C+X}`gl0sQBZv&{#nZ~FfLnSB!U literal 0 HcmV?d00001 diff --git a/public/logos/setonix.svg b/public/logos/setonix.svg new file mode 100644 index 00000000..fbf392b3 --- /dev/null +++ b/public/logos/setonix.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/blog.ts b/src/blog.ts index e3538251..1d059e0c 100644 --- a/src/blog.ts +++ b/src/blog.ts @@ -12,9 +12,11 @@ export const getEntryUrl = (entry: CollectionEntry<"blog">) => { return entry.slug; }; -export const getProjects = async (): Promise[]> => { +export const getProjects = async ( + force?: boolean +): Promise[]> => { const projects = await getCollection("projects"); - return projects; + return projects.filter((project) => !project.data.unlisted || force); }; export const getProject = async ( diff --git a/src/content/config.ts b/src/content/config.ts index 71553aa2..f25e7ac3 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -23,6 +23,7 @@ const projects = defineCollection({ source: z.string().url(), website: z.string().url().optional(), translation: z.string().optional(), + unlisted: z.boolean().default(false), }), }); const authors = defineCollection({ @@ -30,7 +31,7 @@ const authors = defineCollection({ schema: z.object({ name: z.string(), avatar: z.string().url(), - url: z.string().url() + url: z.string().url(), }), }); diff --git a/src/content/projects/butterfly.json b/src/content/projects/butterfly.json index 010ec68c..5d430d2a 100644 --- a/src/content/projects/butterfly.json +++ b/src/content/projects/butterfly.json @@ -1,7 +1,7 @@ { - "title": "Linwood Butterfly", - "source": "https://github.com/LinwoodDev/butterfly", - "description": "🎨 Powerful, minimalistic, cross-platform, opensource note-taking app", - "website": "https://docs.butterfly.linwood.dev", - "translation": "https://translate.linwood.dev/butterfly/" -} \ No newline at end of file + "title": "Linwood Butterfly", + "source": "https://github.com/LinwoodDev/butterfly", + "description": "🎨 Powerful, minimalistic, cross-platform, opensource note-taking app", + "website": "https://docs.butterfly.linwood.dev", + "translation": "https://translate.linwood.dev/butterfly/" +} diff --git a/src/content/projects/dev-doctor.json b/src/content/projects/dev-doctor.json index fea32064..f59707c1 100644 --- a/src/content/projects/dev-doctor.json +++ b/src/content/projects/dev-doctor.json @@ -1,6 +1,7 @@ { - "title": "Dev-Doctor", - "source": "https://github.com/LinwoodDev/dev_doctor", - "description":"Free, opensource, serverless learning platform", - "website": "https://docs.dev-doctor.linwood.dev" -} \ No newline at end of file + "title": "Dev-Doctor", + "source": "https://github.com/LinwoodDev/dev_doctor", + "description": "Free, opensource, serverless learning platform", + "website": "https://docs.dev-doctor.linwood.dev", + "unlisted": true +} diff --git a/src/content/projects/flow.json b/src/content/projects/flow.json index 207aef8f..9a3100de 100644 --- a/src/content/projects/flow.json +++ b/src/content/projects/flow.json @@ -1,6 +1,6 @@ { "title": "Linwood Flow", "source": "https://github.com/LinwoodDev/Flow", - "description": "WIP: Feature rich event, group and time managment system ", + "description": "WIP: Feature rich event, group and time managment system", "website": "https://docs.flow.linwood.dev" } diff --git a/src/content/projects/launcher.json b/src/content/projects/launcher.json index c004ebd9..abdf6397 100644 --- a/src/content/projects/launcher.json +++ b/src/content/projects/launcher.json @@ -1,6 +1,7 @@ { - "title": "Linwood Launcher", - "source": "https://github.com/LinwoodDev/Launch", - "description": "WIP: 🚀 A simple, minimalistic, cross-platform, opensource launcher", - "website": "https://docs.launch.linwood.dev" -} \ No newline at end of file + "title": "Linwood Launcher", + "source": "https://github.com/LinwoodDev/Launch", + "description": "WIP: 🚀 A simple, minimalistic, cross-platform, opensource launcher", + "website": "https://docs.launch.linwood.dev", + "unlisted": true +} diff --git a/src/content/projects/setonix.json b/src/content/projects/setonix.json new file mode 100644 index 00000000..d306aadd --- /dev/null +++ b/src/content/projects/setonix.json @@ -0,0 +1,6 @@ +{ + "title": "Linwood Setonix", + "source": "https://github.com/LinwoodDev/Setonix", + "description": "WIP: Powerful, customizable, cross-platform, opensource table sandbox game", + "website": "https://setonix.world" +} diff --git a/src/pages/[project]/[...page].astro b/src/pages/[project]/[...page].astro index f8520aa7..36cbc043 100644 --- a/src/pages/[project]/[...page].astro +++ b/src/pages/[project]/[...page].astro @@ -1,25 +1,34 @@ --- -import { CollectionEntry, getCollection } from "astro:content"; import BlogList from "@components/BlogList.astro"; import { getPosts, getProjects } from "../../blog"; -import Link from "@components/Link.astro"; import DefaultLayout from "../../layouts/DefaultLayout.astro"; import ProjectHero from "@components/ProjectHero.astro"; import { PAGE_SIZE } from "../blog/[...page].astro"; import type { PaginateFunction } from "astro"; +import type { CollectionEntry } from "astro:content"; -export async function getStaticPaths({ paginate } : { paginate : PaginateFunction }) { - const projects = await getProjects(); - var returned : any[] = []; - for (const project of projects) { - const posts = (await getPosts()).filter((post) => post.id.startsWith(project.id)); - returned.push(...paginate(posts, { pageSize: PAGE_SIZE, params: { project: project.id }, props: {project: project} })); - } - return returned; +export async function getStaticPaths({ + paginate, +}: { + paginate: PaginateFunction; +}) { + const projects = await getProjects(true); + return ( + await Promise.all( + projects.map(async (project) => { + const posts = (await getPosts()).filter((post) => + post.id.startsWith(project.id) + ); + return paginate(posts, { + pageSize: PAGE_SIZE, + params: { project: project.id }, + props: { project: project }, + }); + }) + ) + ).flat(); } -export type Props = CollectionEntry<"projects">; - const { page, project } = Astro.props; --- @@ -30,5 +39,5 @@ const { page, project } = Astro.props;

Blog

-
+ diff --git a/src/pages/index.astro b/src/pages/index.astro index a260e7c7..7e87f885 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -21,8 +21,18 @@ const projects = await getProjects(); { projects.map((e) => (
  • - - {e.data.title} + + {e.data.title}

    {e.data.title}