From c76a8a5f56955d5c54f0d8d26cd8d75f83162fe8 Mon Sep 17 00:00:00 2001 From: ngn Date: Mon, 21 Aug 2023 08:23:11 +0300 Subject: [PATCH] ready to go --- README.md | 40 ++----- package-lock.json | 57 ++++++++++ package.json | 7 +- src/app.html | 2 +- src/lib/card_link.svelte | 67 +++++++++++ src/lib/header.svelte | 3 +- src/lib/navbar.svelte | 1 - src/lib/navbar_link.svelte | 12 +- src/lib/project.svelte | 57 ++++++++++ src/routes/+error.svelte | 8 ++ src/routes/+page.svelte | 108 +++++++++++++----- src/routes/blog/+page.js | 9 ++ src/routes/blog/+page.svelte | 87 ++++++++++++++ src/routes/blog/[id]/+page.server.js | 14 +++ src/routes/blog/[id]/+page.svelte | 163 +++++++++++++++++++++++++++ src/routes/projects/+page.js | 35 ++++++ src/routes/projects/+page.svelte | 43 ++++++- static/click.wav | Bin 0 -> 35918 bytes static/github.css | 3 + static/global.css | 12 +- svelte.config.js | 7 +- 21 files changed, 660 insertions(+), 75 deletions(-) create mode 100644 src/lib/card_link.svelte create mode 100644 src/lib/project.svelte create mode 100644 src/routes/+error.svelte create mode 100644 src/routes/blog/+page.js create mode 100644 src/routes/blog/+page.svelte create mode 100644 src/routes/blog/[id]/+page.server.js create mode 100644 src/routes/blog/[id]/+page.svelte create mode 100644 src/routes/projects/+page.js create mode 100644 static/click.wav diff --git a/README.md b/README.md index 5c91169..f315440 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,20 @@ -# create-svelte - -Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte). - -## Creating a project - -If you're seeing this, you've probably already done this step. Congrats! - -```bash -# create a new project in the current directory -npm create svelte@latest - -# create a new project in my-app -npm create svelte@latest my-app -``` - -## Developing - -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: +# [ngn13.fun](https://ngn13.fun) | my personal website +This is the frontend application for my personal website, it's written in SvelteKit and vanilla CSS +## development setup ```bash +git clone https://github.com/ngn13/ngn13.fun && cd ngn13.fun +npm i npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open ``` -## Building - -To create a production version of your app: - +## build setup ```bash +git clone https://github.com/ngn13/ngn13.fun && cd ngn13.fun +npm i npm run build ``` -You can preview the production build with `npm run preview`. - -> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. +## license +you cannot publish my website or parts of it on any server/domain without my permission +if you want to do this (for some reason) [contact me](mailto:ngn13proton@proton.me) diff --git a/package-lock.json b/package-lock.json index 95393d9..186f9a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,11 @@ "": { "name": "website", "version": "0.0.1", + "dependencies": { + "@types/dompurify": "^3.0.2", + "dompurify": "^3.0.5", + "marked": "^7.0.4" + }, "devDependencies": { "@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/kit": "^1.20.4", @@ -527,12 +532,25 @@ "integrity": "sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==", "dev": true }, + "node_modules/@types/dompurify": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.2.tgz", + "integrity": "sha512-YBL4ziFebbbfQfH5mlC+QTJsvh0oJUrWbmxKMyEdL7emlHJqGR2Qb34TEFKj+VCayBvjKy3xczMFNhugThUsfQ==", + "dependencies": { + "@types/trusted-types": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, + "node_modules/@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, "node_modules/acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", @@ -651,6 +669,11 @@ "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", "dev": true }, + "node_modules/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==" + }, "node_modules/esbuild": { "version": "0.18.17", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", @@ -763,6 +786,17 @@ "node": ">=12" } }, + "node_modules/marked": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/marked/-/marked-7.0.4.tgz", + "integrity": "sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 16" + } + }, "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -1338,12 +1372,25 @@ "integrity": "sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==", "dev": true }, + "@types/dompurify": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.2.tgz", + "integrity": "sha512-YBL4ziFebbbfQfH5mlC+QTJsvh0oJUrWbmxKMyEdL7emlHJqGR2Qb34TEFKj+VCayBvjKy3xczMFNhugThUsfQ==", + "requires": { + "@types/trusted-types": "*" + } + }, "@types/estree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, + "@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, "acorn": { "version": "8.10.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", @@ -1433,6 +1480,11 @@ "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", "dev": true }, + "dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==" + }, "esbuild": { "version": "0.18.17", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", @@ -1521,6 +1573,11 @@ "@jridgewell/sourcemap-codec": "^1.4.15" } }, + "marked": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/marked/-/marked-7.0.4.tgz", + "integrity": "sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==" + }, "mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", diff --git a/package.json b/package.json index ede4b8a..5c59c6f 100644 --- a/package.json +++ b/package.json @@ -13,5 +13,10 @@ "svelte": "^4.0.5", "vite": "^4.4.2" }, - "type": "module" + "type": "module", + "dependencies": { + "@types/dompurify": "^3.0.2", + "dompurify": "^3.0.5", + "marked": "^7.0.4" + } } diff --git a/src/app.html b/src/app.html index 9324995..ab40404 100644 --- a/src/app.html +++ b/src/app.html @@ -2,7 +2,7 @@ - + %sveltekit.head% diff --git a/src/lib/card_link.svelte b/src/lib/card_link.svelte new file mode 100644 index 0000000..e994092 --- /dev/null +++ b/src/lib/card_link.svelte @@ -0,0 +1,67 @@ + + + + +
+ {current} +
+
+ +
+
+ + diff --git a/src/lib/header.svelte b/src/lib/header.svelte index f7806ac..e215e01 100644 --- a/src/lib/header.svelte +++ b/src/lib/header.svelte @@ -9,8 +9,7 @@ diff --git a/src/lib/project.svelte b/src/lib/project.svelte new file mode 100644 index 0000000..6e7064d --- /dev/null +++ b/src/lib/project.svelte @@ -0,0 +1,57 @@ + + +
+ +

ï„Ą

+
+

+

{desc}

+
+
+ + diff --git a/src/routes/+error.svelte b/src/routes/+error.svelte new file mode 100644 index 0000000..f43feb2 --- /dev/null +++ b/src/routes/+error.svelte @@ -0,0 +1,8 @@ + diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 6396dc6..63b47e0 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -5,10 +5,10 @@ [ngn] | homepage - + - +
@@ -16,45 +16,101 @@ hello world!
-
- - 👋 Hello! I'm ngn! -
    -
  • đŸ‡čđŸ‡· I'm a high school student from Turkey
  • -
  • đŸ–„ïž I'm interested in cyber security, programming and electronics
  • -
  • ❀ I love and support Free/Libre and Open Source Software (FLOSS)
  • -
  • 🐧 My GNU/Linux distribution of choice is Artix
  • -
  • 😋 In my free time, I like playing Minecraft
  • -
-
+
+
+ + 👋 Hello! I'm ngn! +
    +
  • đŸ‡čđŸ‡· I'm a high school student from Turkey
  • +
  • đŸ–„ïž I'm interested in cyber security, programming and electronics
  • +
  • ❀ I love and support Free/Libre and Open Source Software (FLOSS)
  • +
  • 🐧 My GNU/Linux distribution of choice is Artix
  • +
  • 😋 In my free time, I like playing Minecraft
  • +
+
- - You are currently on my personal website, for all you nerds, here is some - techinal details you may want to know: -
    -
  •  I built the frontend app using SvelteKit -
  • îȘ„ I deploy my app to vecel using Github actions
  • -
  • 󰒋 Backend server is written in Go and it's hosted on my server
  • -
  • îźą And yup, I also have other services hosted on it
  • -
-
+ + You are currently on my personal website, for all you nerds, here is some + techinal details you may want to know: +
    +
  •  I built the frontend app using SvelteKit
  • +
  • îȘ„ I deploy my app to vercel using Github actions
  • +
  • 󰒋 Backend server is written in Go and it's hosted on my server
  • +
  • îźą And yup, I also have other services hosted on the same server
  • +
+
+
+ +
+ + I usually spend my time... +
    +
  •  building random projects
  • +
  • 󰓂 contributing stuff that I like
  • +
  • 󰈻 solving CTFs
  • +
  • 󰌱 customizing my desktop
  • +
  • 󱀉 posting random stuff on my blog, which you should definitely check out (it's very active)
  • +
+
+ + + If you want to have a chat, you can find me on the following platforms: + + Or you can DM me on matrix: +
+ @ngn:matrix.ngn13.fun +
+
+
+ +
+

v3.0

diff --git a/src/routes/blog/[id]/+page.server.js b/src/routes/blog/[id]/+page.server.js new file mode 100644 index 0000000..7592e51 --- /dev/null +++ b/src/routes/blog/[id]/+page.server.js @@ -0,0 +1,14 @@ +export async function load({ fetch, params }) { + const id = params.id + const api = import.meta.env.VITE_API_URL_DEV + const res = await fetch(api+"/blog/get?id="+id) + const data = await res.json() + + if (data["error"] != "") { + return { + error: data["error"] + } + } + + return data["result"] +} diff --git a/src/routes/blog/[id]/+page.svelte b/src/routes/blog/[id]/+page.svelte new file mode 100644 index 0000000..531e3e7 --- /dev/null +++ b/src/routes/blog/[id]/+page.svelte @@ -0,0 +1,163 @@ + + + + [ngn] | blog + + + + + + +
+ {data.title} +

{data.author} | {data.date}

+
+ +
+ +
+ {@html sanitized} +
+
+

{upvote()}} class="{upvote_status}">󰜷

+

{data.vote}

+

{downvote()}} class="{downvote_status}">󰜼

+
+
+ + diff --git a/src/routes/projects/+page.js b/src/routes/projects/+page.js new file mode 100644 index 0000000..088c8cb --- /dev/null +++ b/src/routes/projects/+page.js @@ -0,0 +1,35 @@ +export async function load({ fetch }) { + const api = import.meta.env.VITE_API_URL_DEV + const res = await fetch(api+"/projects/get") + const data = await res.json() + + if (data["error"] != ""){ + return { + error: data["error"] + } + } + + let all = data["result"] + let counter = 0 + let currentlist = [] + let projects = [] + + for (let i = 0; i < all.length; i++){ + currentlist.push(all[i]) + counter += 1 + + if(i == all.length-1 && counter != 3){ + projects.push(currentlist) + } + + if (counter == 3) { + projects.push(currentlist) + currentlist = [] + counter = 0 + } + } + + return { + projects + } +} diff --git a/src/routes/projects/+page.svelte b/src/routes/projects/+page.svelte index 783894b..555029c 100644 --- a/src/routes/projects/+page.svelte +++ b/src/routes/projects/+page.svelte @@ -1,17 +1,50 @@ + import Project from "../../lib/project.svelte"; + export let data + console.log(data) + [ngn] | projects - + - + -
ls -l projects
+
ls -l projects
+
+ {#each data.projects as projectlist} +
+ {#each projectlist as project} + {project.name} + {/each} +
+ {/each} +
+ +@media only screen and (max-width: 1316px) { + .flexrow { + flex-direction: column; + } +} + diff --git a/static/click.wav b/static/click.wav new file mode 100644 index 0000000000000000000000000000000000000000..2183344a236219ea90c0b6d27b792c93542eda0f GIT binary patch literal 35918 zcmeHw3AjyV`}ebkJ)C(obI37!WgZhrlu(GGSrUl`Aw?-tNh%3NNQRPGk*P9;kjU&H z(=nZSpL6!O)_T6*eb&3awb$PJ9Nzc;eb@DU*VR7nbDrtGfA{=6&pvha_UYEOYuAq$ zd!*CDU7i~;szxGXOkg6rX9Z)4YegorME2~!Q3FR!VNB&Juj75Hc!u{mw@|#!d%r)O z?TPIiyRFK(a!V`o^4}(WpSVvx>G1mpvpYTg)l-_x+uJ(v7X$UY+io<>X>jqK%w87{ zUTS)luH%^E}N ztV!En`&xQh-KT4xt6i|C*a)%BQ{}e(t!E~F+Xp9+<(R>?hf@~w0I4qrX;IgZn(U;tNGt;-)zg;4sDy(q_EjrHTTzz zPW`rWH^+jwgGy&%vg=4uAoHuMlTPkCJ?mif;gS1i9wgI`8sb_|D)yul~-1+ob+&t zU-H|(C?4(Wc)eTB(--<(ZgVd8+-GMSp1JL8?&&6HyJz_S9(Jzr)y|m{U9<9j5FHwGnQYHE%zRhzq{1^!sRP#E(^9@IcP9E++;yS5t**a`>Mx9S@5$YjmwUa_jh`~l zWDdUc?4>%F=Ur-gZOxTYx!$ZH#e-Z~fr`GX!tdPgm|=f8zJJ{0)HhQ0RV=D-du3kf zql(W~+MT+%eC@P~pCUUEU_1cllOzp?#6OGxkz+e&X7M1}W#0E2Msx+A_6Wxo1))rN$+- zPu?5bH2%1KnX@H(Mr`2kro3Ft-8TwWx|-zOpO=zzAiF4QV%B@v7qU9$HOxI(*ueF$ zua#$=_K7l9+A8dI%(tJ7X&kdKp+&;jFrkX$R}%YiateMi#&5e!bucS5n>=dGF@FlKV;CZ@Hfp+>>9UXo0J)XKQhmf06Hf-dX!x zZZEZpy6X5Qc1g@9@pa>yB)pX1ieH@|#(Uzs#NHh@G-`D8Fxz7L4%SR;uWVG`^=|i_ zD*nQqSaeU(S=Vw`2iNI>_gxNGwW8+>1&>m^-T$I*t=3+>NA$4Xwt;f7W4NP7baZs> z*qB&nT*bJ#v4ye6qd$wO=xiG0l{?upg{o4qmdlfr-<3Oj2Yo-gTY4PDeT!c$8d(%o z{B_ZI_nP9N-se2C{WE>3Y9qzPYw|>?yBKTlV;kW->NpbhUR2BIzR@S6`bGPltD+V; z20J&|#@ky+nsg_tD6~h9#(=kDp<;i=^x>szG! z5g5WpYh0)()R*6ouGrqO^>Ea8^mjh(%y5cP^PE?l;~jp-eA@u~!%`br5;BDo+HC%} z@`4&27#0}rTj6W(eagGdv&mE5d&pDWH{1J_|BA1_@>!szHePMYKIh%VUBaXCB`L+e z*4D`3wSVOJ!qL?+(=o~Ja16EC?20r;ZX+HR>#-e-Xb3;uv_bD(yhr@BP( zYyGv=tQH$277ASYPI}aqX6tOPZ~wx+-2RAto_&@r+CEN>u~n7UOOu5P;tqa4D^N#h z9hL8u%l;+-*`MxT?)%*LyKkber~k6ASzx_?jFJ~f(k7~xd2jxU&{TL%$`{wmL*=h* zZ`-Qdo7vmiN7^%O?d;`k@7j(?kH{^=ed16i3yZauJVBkPZVJfCO8=jJ#pm(;`}w_rmje^j%SwIzv38u@&t4Ikm??cORkdZw`L^@6F80Um3HILh0k&PXj_}3b z;wb4s;i9mJH(h$yJkZ|X-+$J(->3Mt`abm6_P-YJ`!_0$l@8ikwU9s0 z*Fxv+(s^;V{DAzH?P;6aX15E_dV$Sr`%CU*n=e(D%ZrP}rKUrT?Muh2i$pQg+U%u$`{U3|Hg#hzhri3#FGX@(@(j?2H$sZ_K>_6;Y7ig|jRGSGKwR!T3?0~(Z zSQIr|+7N$O){Pu?i>Mdw`g4a|SYpIX>7u&j8P^0V){I)#76)9hV@aj_T0u1Q_wjw!utMalWL z*2$IZ)06huya}>^$j8!eO~a%D1+D;@*^J zIsYXcm*xxocmdz;@1k8Q-m2u}zYxgIUgK+;mEjh%d%54rEpo3aSm3KuY}fL)NA$Fnoe$J7;)$A3}vdzX2? zc5f=0Uf9}oG5l z(J9;G+9gj+_&mX%P(F5X{1?uzW4Qd8V;bu&l?yz}hZJ8AEY5%5yE>a1g#BVSCl*|h57&%VQ2U-z)U zPlb98_D_}Q1hU-4{Ha*F5pae${99Attly5Yg>P|$Ns4> z+p$z!;`l-;@8~1fu&Q&!Y z%2fY7%7Q>QrH(pNVLVQ~#ulqzh)-!(rB3`$`EEAIc9-z2t-Sc5?OQQd&KLiX`b)ov zhx{q-*InImUoHNnFe7T6?MU^C6<4LZt4>RKF?oobWy|L4we=o%k^AzenTL;6J>CDL zcxJ}6_1B&%8c~$y^#-02vh6#P&z9q9ORIOTdc0a%(qE}O=HB>Wu^&WNvcDiU^Br;5 za&^pq*yAjGfvxv-7B4E*S#7PRJW%>G=Dz3=u~TE>rTc9^ct2Lh7U%fZ6)o~y$nEIr zeJwVp>5YN8?xJb#J$wSsm#f+ykE#{zOnxe9W~Ec*->CR}xy=a~aXlRCY~P5p_)p3@ z?=P-(c~@^Vz1}hFi|Z2#9?DbPON$%%D+ku|w&HirwlS#*E0dRdCOARu>B`q)(g`qY`54#QqXDhg^8XEg?+ux7u)>_-pT4D<*GPE+~`PmZjE{&W@yxd zu@5?T#=KxZ9<^4q+uu-kvP!=5fd-xf-in?V@uIrZGuJo7+g0r!s4NcQ`L-N!f#Zz4 z+cCn{z!7h|)Aow=rtlQIq|8^k`{w%I^HlT3cs!mNo+#g9-}JyF^&?(UjFPw6);aPW zH=-&>9gglAH8}c^qpR~X`2%?!tIFO|8z{X3clt7XPkNs49d-}(7kMryGyR+RNi|3K zi#;kek($UEa$|Xt?RRmr+={Id-%(qzw*q#ptAD7n!#6t6+dnbTTlquj&z*dvI9@1} zXGnYP)okY-Ikp{+?`^g0mF1_US;8~yg0?|@TNxi%<-h1#-E!HbL4T)Rx_NpS&pjDprtUgz92*eu|AzCv#bOL~9!ON*x$jp^jBXX_d6qxP{_{ zeZrIC%hF)!9r=v3Uj9fbFHaKBi(YoWP?LYmd#YLLuYqmKG5=%AVgDk$D;`h-3Rl-^ zH?$Ag@4SonE&D`TCNz^rijCy);!J71FhQKc(uAS>Xa2XgPJ4zoN9HxqS_@;e*93vj z6V~#B!ei`+u$N5}PO&R&Ci{XXvG3IWd|P0$w!(i-UFct?J{u@jzg8A&esv~)gfC}q zwnxYk*NfZbyQK5B?oyIHLwwFAi?Q-K_PqEWS6N5x3h%9+)Q&4Zs|S^XN)z<~#ic%@ zcr{H)V!x?&;T~;+Fi1-gU(_m#-)nyfRrr0v&-@$q4*uS8yYMYvA-u|4im!4me#;8Z|YWUw9-cF7RXUY`SaAqxXV}jZ)pC&A-+dF z3VRL+)r4tcA5q22Dq4z@*NPKmzc5v1LY$n7u(3YvwMW8Y_WKnZI)^Z z6Xl*lK)z3?U~>xVAG<@i`OKs%)EQpc;W;Jh5EmQxO>R|BtUJn$GFt~|n8 ztKEdoTAbLAzbCe4OT|Cf3u3x(MR-EEU05g#WCg-}_(b4+#jlWKW3&e1N17%a(Dn-H z{AFPrKg_oCi~I`TiSJn7s~P-H)$Whu>tU)3jtby{y>6>ldj zX4Qqag&VBCIGRln7w}o)SnVlspel&lmAS$OrGrorH_#^abM}VTp7rM!_)s>LuNLm$ z`C_(qM4G8pky~i{q?2l@G+%8eeyt7`vec>Ub!{eZ!>4PBY@M3N>Z-d1r~0;dw<=5X z)Rt1FDoItfk>YS|u8^lKVRQM9ydOKS`B*D$EcCl9e4suq&QvepuI?-i(t1iBEmNF? zldg~_3SIG6yLVZU_9MPEWiXH8W3`nyVO5}tur1I~7^K`OyojiOqjeJg*V*sNE>>RUY`t1jcvq_`TV^c{Y+W;i^{5 zMr(UnEv-8%Qje+U)hvIZ`ntb^_PMrS`%#|G?{dDxK6KnAT(Mmi=Gq<<8_REt-|^SQ zC;TnNYo4{j7O$KA=&Qy)^mXT}{0p^VS_|z}QP3n=Rr^Rav?OVWc3e8Fb(0?A3)v}D zb$50^oy%hR0XBu-U=6uV2=FxFUa<+7nhMjU%7P{ov2#e!9j_RGfsXB+h ztcs}D=hz5s6H8@9?7C1{C>C!Q>PWW>@lrYAnD{r-gs<77Y?tq{%E+dPPVQW5o@8oY+&HE`F*+i$hgW=%W?#Gupp+HMT(OBevDz z3`@aZSDxV?3bE>8VRB%zunhVBvy#p>tBv__?IrC1JENva6V);D z47D$K-;}EIC1NTYDCDwMe5G(vxkFqKct%_taEi_GUcRV&fqUy5@5XNDBgCcJ9BHh! zOZripBsJ!mxRL)VbYR=~uk4&!O}L=cgSStzJxX8JT;0Q;)b8T{V!vqzh1a!p;yW6X z{?_c$i~JighP^L*&x(0R{N-Vh;8A}NHmk#hjcPti*B*l&oB4cJ4LQ9+Yb(B|^~XKc z5U1~(!WiBff203Z`;^UBHKr(yU|SX8ymFS!Q{Q2QS^|3=_s$lf6aP|7!?&N?c{k~4 zepp<=_X#n$V~4R1aYAm?wzHbrQkJbgkNYx(acvbp&L7~DSu!fi$p;Ak;=OPS9%0A1 z9e?d;$v3l)wOFB&))c2!U7@z-Vn?(u*)Cp}{m9nvcZA-&hFFo05=Fe&WxhkG#jmm_ z@y`ra@^swlBeXG0Kqd*=PBv7VgDU9DcJp{Pf#vYqgd#p!5ZMQU#G0dD!BSW(qYTh1vKk`plQ!WUHwI0F` z+92VacAs!JDs3NMg};CF$Lm32gK@*p5PI;@f}K|pGPN(53+I12e~J&}=d~I9D{T{> zrDfo|yufPk+H5xO%F44R@j4iaznKli-veG^o7oiTzJfJkzp)d17yFVgX7BP5Y!+__ zyRPyWwva#0`tqgB$^T;ev}0^J{?fHkdlnXP{t#YNTkwLY#;(CHCvXnAv>2foZ!Jvc zcf$jbgK;=J79n5%=B-#di)YWVvp9n`@MBozY%#3f%#o`&87s04tPdN&CNVeg=faBK z{9{&yKgIl7WtOY$=c+cDH{gBvi@Y^na;>=oR&~V9HW>HoI93^cc$7_NAF@vvJiwN~ zH`9POh~0}5_YP)f&G1&bjqTwQYUC8(%fIKR`CG8z3H-h0KJH{4xsBb!-TX0rmVdyv z^Zl@`3j2x=XY=`LSbT<^sr=@ z{RCaV1L8FJWf+^oy0Yd=4!Ci7((M_!qng zErxx=E3%(p+fnphp1^7_2kVJ{DmNDT&1L1_g}P|%f&Kt{71`Ypb~zyX5UO%M{QDX| z#GizQ{qcQr2(+DyELp|hKpf`7AAj;1h)-KYsT&)@dLw#$*vG6po6I_~5v(;n9>Ru|5zsr{m?G0sUt1I&1(mX~SEx7Q6+!57jUj-g^i3&gYqY2dX3+ zKCj5u@(yT^K>Bm+Ab*uz6&Zvnl$n93FK9JqKEqIS;AM$qiyYl0# zCSDxTe3OvOM+t3s2Vo>n6*lnE@YNu^Cnsv}vIn(a*<|esn~#%nwRWD>;~SX9C&G%J z(7X!zEadlAoEU!k@Kfo#UAp03HXu^*0O^A$57>+u>4<~sm{u65tSp&F; z7syEdD^G)za=a#MfOF+e_+bQp1LyrjWa&6$?(@jpUZ{(~%hcJSQHegh%*j9zbTKv1f4qO~Q%1 z8@EFu^1eGNbtI~58uEA+kR~94_v6J9hfK*p4QzxL=ObHZ@qK(b>gyz`EEeZrE4G9` zgj?e|d~X?o^RXu~sS3`AOYp@HxSc*mZj1)S%Q#2h=j~93^;j-XMyC0AZ=7jk*gklB z3;g*5ABc0R6;z{7@0nfKfzYuK72-Nfb4Rzt=c6n z@|}D-V(<`Kf!FO%+|T~tC)f={AqwYmJywC;$v)zpSr>jMdmN|Pr@R8F6z)OYy}FoqO0`uHY6p!Y=X! z@Je6Yzh_Wy10W}ccLCqs$j+AResIh}oyP+8U7Y6oVcTiM?+@Gx%Tap+5vKxtpLid4 zL{DCcb%5M1z!?O&%OE!abvX>*Wago*#=oJk5^Xx#1Mr=jN3)g4_76Ze4*djR%;$NC z_i0#q09mvLb-j!;cGqJ(br-OG8a3;#3#llLF+$1wIU?@q6r7J`Eloi;U`t%&G+aGa&~NMfN7* z-Ik8Cw*_L?2^n=Ci^1*H9I@?%tRH~feE=)XamFO!RL$X8{15PMuM0t2jgZDFG$wA!d+jt>fBqY58&bm76 zI&TWzR`5hCc%&(7gWIMZBsarJa2s@vgCrj^;|6?j0TDZg{vuu-H}KnyGgoB!(17k) z4NU@<1DfEzLDX}33b-plqw3JHCcKr7>Z*Y^LKXZ@g=eDhR#5Pw%Y`-PkzvR1#yJRS ze_(VNKd1OnXnqztXF-yJD8<4HmB3jOH%x8RX*zzY;wK4sR4poA8^y>i7b4>VUolQz zA97m*GDB7gxIsAd_Va7V!s}SghAl3Pd>DziHDh2&IarVeJ!?bHdN{}Hz$-N%sXSyy zBV$yY1O?!wH_16<$mx7*76}Q06aUQ7>`#+GJdB(!z7Gi(HzJJ32O{9@|A!l z!xs+FMx!EV#Q|#t=7F9rNXmwO*ATrch`|-~*P(MBZ1aMKWW*q1Dewt-rYiKTg5MP( zDY*pA2dX^ia~1x$48BZgejR-tklpZt3LNsT4cd^-He`f^Ucj6h<(3Vjs1mL1Ky|{~ z(U2Gm*|E?y8XmF3cLMS$03C}FvjTV{7u7@_&ODv#`B8l`;t_>fjlzA6(*}AkLR$gsHF)#vz{z$U zd#RvlfL0%^F0^d`8)~CE;;`!~$>!70=QMOZ2kSF&{^g<`=*`5kz@wL%u(&aR@a@=&8*SS?~T24`V1 zT6vrdl~9w_P`S6k-dcDa)IzlIPdea(n(#;(Je>^dRK)5U^gDx_JOl5!bNqKi?l8P^ z7GBE1d80xjIytMt#s)xXj(E3*cbY?T1DuU%sQ+Y~%y#qvSeTDUUxjDR!_KqVJqr!~ zMqOUO{1VQOE7;G1Ocy_o7@Ps$8PxM7oO=a$@rv+b0z6X*tvbfHm7GP1(3P^Kuq3zg z!F2<5dyW4Eq@#%98C2X=M5GXP%VB*K&a`A?O+}2VmehR#e0mK#7eMhh{B#kTWFs10 z)ToSjC!m%|1G*2=P`MQmzeI4@(JRQSBIuh7`?BGcyb|gPCAboDEBfF06%XH1&C2kt z3J$U}AKuJHo>HT+2lc>_v5pd%Qb~4~M+Q*U#-Z8KG)Q*iRHO4Q2f3C5nFY|*4J+y2 z^P}w6&%JzTl7o983shO4$i{9yYRnCvXwbl3g5yJcRGg3^q!4}-=vQc3vol>?@ZA7D&&wcR!jlKphAG=aP(=o`YW z>adf})B?z$nmq;yN1^9Qc#_U156-7}aHqjvb>O#p$dp>(p**!C{zdTQHE47Z{YAv} z3gYTQyy=WghCWrGR~q!I3O!R16&a20pNnXx(2k*RPD6+pfX^yML=CJ^dF0-aRp zIC&`J$O2!<-5G=0ap1)u!ta!~K18D!k_$_8O@cKE7&}UCJ0Ik!s6GbWB=Fe4W5xH@2j?u;WE^ION)a8;el_sNzdjJ;tJ}xgS>hQCk7@l#^8b z_#;sXzXWY;knBJsO4@an_(gzClrs{vp!=4AQUfyiB~a36?8h42{TeXoJ{F;+geGGw zm;6u!6lmfDiXJ7s_kb%cpaH!Jb6^v_+ls+UXD@jx3YZi>I(4ETm0m}Bl*!Yi4}(5>BRgn63VP8?$p(4! zZ-eX6q6jgZ8uT*NWq3<+iu^*d0;nGq8AVk*NI6Ls*x@xB@>)U@kmJ0hYA6yM zST^YC0KXHI4(Lg-qg*D>QmhTnlh^4bNYN&bQ}sL1bbSSkDQe_lLiWM~o`3()JI0SW zMV-7)^-tPS?a=El7JShqXp}(#;Olu!IZY=?F*tRt#S%+&-;!mdFaEJEcn}pokYiYj=s}eymdd5GGkELqCeV-srVWmg_l6 z8A_H>_Ry=HY^SQ^XyiSzMz1yUCS{?9eTqHRFr9=HJtyXrCDHIAdDQX0^`#mjDzPN* z-N2>qC*%{VdXh&!9GIjpWi&;G?A06TNhgP1({wKAc}LYtXD6K&ln0dmdR z5Hew_C3Qs+wxf~f9gs&EOFq&gK$S-)9NA3SLb*w`px3@0f695XT>~XG@-bmhUg#A` z`K8whl*T?a`fX@#RJE?NQQ^9tI<~GW<%8aIIdq=r$Rw4d)2@CNlFnqmeo`2op?uZP z5&g6wY8^{Qpc>IXWk#isYrJMqi0s$zA-anw_sLU~S;S4g)0+`j+M$?Hd?}~(8rE+SiVN96H9-EegO~0f z(uDM+A5)gDH(5ZM5I*@u&wX8Q!lUz%e68mp$tEQIL%UWTsV+&D9#^u3=uIB-upU=K z4%I5j)n(}?fnNV~2I&4E9}y<`gz)vdK)*K$k3L2{5*3Z9(MOl3+o#u?zD^d99fp3S zE6JfBl4aPY%hLHtM?xgYx+ePRrE5lrhGc86@94in^)qzTk#&6|*`%LRx_?MR`WTk# z8j)6J)2%cpjGnlNThCis)gwq*qBp%7DPw4t=!}z?P9yz9qFr5I`fWr*&v)G~6e(R2 zNuZCRj~NleV%jlm3AU2Px@UC?Ga{4$dei-{OCVax)ZnJaQTM0m9aBeLPhC@8V_l}9 zuc0Glj*&e&ny#}I$v`7+UGv~PA^AF2FmE^oSxXe*`s)0;wT1*8%g|TnwPulyX2>*b z)id45cEf62Ch^mcVYS}tnPON$S{NP+j+zlM>UB*GtAj0~v8kml&G4&Xk&drts*$mJ zPjU^54V+M24eyy+nED3mXdN3GhwB`SZ^$&fP1Hud2kUFB>DuZV8@!>tVYS{{XF9$a z@nBpNyLA5s>uJR@d=hSVxCXlZ23BxSJHaj3r~0~%Z>7@pwXW%?!C0k_OWz5`B+2A2 zBQ7*2-_zSc|1P6fHc2ME>7Fy*apt|H>uR2KW-Sn&9uG4XrtnzdoosV|Hn?Yg7&~1vOqaFucih*Rr%=AU+vUJXH4NO@EwzW4j4DSss zsMpV_P|jeA;BjeM=I{w#I6BZ=!@_1XG)M!K**Kirx)QFfu^+x;$kOjnV@AEf6W*7GV)dv=6^yEnP0Da|bHzk3 z=uISJB~l;Gr&F28!6Tj8M7EA1;TvnE$)R=YC!EqM#h6*Sf@k3fh86}@WC{b>+Lz@I z9ZyHIa?#9`8a$4?YET#&M(Pcka7p@#71=~E`G_Kv)}%8=CcQyz?M*obhqW)A-%3X_ zlh)LYq=oM2bCW+Zg{fyazsXycTtjwQNQP`3(U^tzI!3rACZ#zFr?ToBKGS(kJ%dLk zT4{VHMKB+YgLllaiBlQ{tw;WprKur3GH39rK^dtJri(N#UFWiP3`wRJf~l=?f_L<> z!5!Y4cvg(?nSo?-gv+5l{ZlrTi5?ll;5N|A-q?xUo47P88(ZJkIc|kgr@3{?ThqX_ zEOcb*uj^RW?{KX`(e$~AX>gQ<8oU=7FMKuFtHJ!n*pRFDrD+ws8!Dr0308c=-pH%8 z8~!nP42>iAH`g#+rd5_HhbT+`Sh<2{Rs<6zT(XrivMik|7(aAuqL>I}$ujA~sjS#m zN)tVN6pp0xS`kdDTa#nbmyJfd`loDp)?KR=R$11Wm5=tqS4@twG%;m{(i;{Sy-689 zGH4?8x@O@##!6Xo%d(30tRE}2fp7Mvq;OsXNyjjG!besVt4u-(U9rw}yt1gQ^d_aD zp}AtE4A<1UV)B_t!6OsR%11Mk*BA$LhVL2(k#>UD3_86J-qFWaDKszW# zBXnJ#o7`5e$kdTF2<0q|H`2PUU8J4JYo@;8mIiYeR-1kBt~s{i8M9D}^tp*u)=0-T zkjm=ILJ8ixbwpiSxc0$l=GgQ?Fo#v+;GOWXiAAHxc;>n}GAXUn%$b$;*5p`uZtgWJ zsyQ>Y3r8%A%G5r1q+^(T){#|KFrRfNSQ9IiF|*=Enwf|OkJ$&~n`0ftxftkC|F9kzO-A~$CMd~&)mH^ziExhbu+um(kxh_ju=_P z(A8kRvd5vErO(U8F?UVNgS}A}ZYYO|6*>x~jD#92wd}Eu9*!A_OP3UBCv@#r@Ivjn znI@6!EKN>0b~t5ZJY&_gC>+bWVnr_7M+SN%Dl4ivGx5vfE{%$KZf=W7W0hg$HmMBl zf>%Pv22G?sT#CM8YHFbA+{P?YZ{kPVjU-8zV)B`z$Ow_>!zsfh-JGv%t4S}boNyVm z5=o9>lfG;6g(8OX8fc+>27-Ybxi_dH^`VkN5hC#zYoW9>kEChnsyWvYtUSi9Atmx| zuszJN>294m*e-n>S=Oz1E|~Mb#|@Qa zSQL&Jc_oy;wE3;$2HT~NBV$JPdSoqW^?!y-+}2MxUL+aBQ#Pe(ok?kxWX`NeCMS(d zZtK`erBj-S;iJ;HOT(viE02{jT!Oh`@>#XCBA8Uf89WOfo2bUf+_j2zIbzYs{N*}CEq#b?D@Na1px>o<~Zme`qFyj zkCh`_*RrG$qRAi5YuFlDvaxC+1f%I=ou(`bk`c}qymoU8LzA2L!MKs^4cDY}OcN^- zlDTGLmX1~Wj)_zHDA?DfBk4P)*2Goz$J9KSE3$-O3hUUE5gE^*4#zciZly09TSvGx zoM1g}g@f$773smak;W#9>9Np}DJK#_=vpL16T#f2HS-fr5sGWfO@y+ziAw*N^tUd9 zIIVnT$@;gTFdi$0NkyYb=%K4tj^LS<+sYSAr;n}Fx+PW~q6q)!e78n#l|ks%k5yi{ zEOR9sN#`{wXk=1Z<yt)O(Oz#ce@ZKuVI=dB&P>yg3p(~*r#ypg+thvDx z+Ly&+-3#Wl?$9iFH*_3MUHXd7YvvTq|7V|IEE-#N{ZFt%d98En>}FXMEH@Ho=vpxS z&Bmd;rOmB4p;XpgV-`vkIydP4(>@d@bpC%5??1%~r4QB3n1|Bc%G}@$?QezGp!rXD zLurkhDC_#FTLSR*9QsIBb#yXODfUlVsS_B8zZAjO5TRy)SY { + if (warning.code === "a11y-click-events-have-key-events") return + handler(warning) + }, }; export default config;