From 183d79091bfc14d07bc59ff5f5378806bc32d440 Mon Sep 17 00:00:00 2001 From: "leonardo.olivo" <1leonardo.olivo@gmail.com> Date: Wed, 6 May 2026 08:20:22 +0000 Subject: [PATCH 1/4] feat: references and accordion --- astro.config.ts | 3 + src/components/accordion/Accordion.astro | 44 ++++ src/components/accordion/AccordionItem.astro | 225 ++++++++++++++++++ src/components/accordion/Heading.astro | 40 ++++ src/content/pages/de/past/references.mdx | 79 ++++++ src/content/pages/en/past/references.mdx | 78 ++++++ .../references/projects/axa.placeholder.png | Bin 0 -> 17340 bytes .../projects/docportal.placeholder.1.png | Bin 0 -> 17340 bytes .../projects/docportal.placeholder.2.png | Bin 0 -> 17340 bytes .../references/projects/dogil.placeholder.png | Bin 0 -> 17340 bytes src/types/AccordionItem.ts | 10 + 11 files changed, 479 insertions(+) create mode 100644 src/components/accordion/Accordion.astro create mode 100644 src/components/accordion/AccordionItem.astro create mode 100644 src/components/accordion/Heading.astro create mode 100644 src/content/references/projects/axa.placeholder.png create mode 100644 src/content/references/projects/docportal.placeholder.1.png create mode 100644 src/content/references/projects/docportal.placeholder.2.png create mode 100644 src/content/references/projects/dogil.placeholder.png create mode 100644 src/types/AccordionItem.ts diff --git a/astro.config.ts b/astro.config.ts index 5e391210..f08b043e 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -59,4 +59,7 @@ export default defineConfig({ mdx(), sitemap({ i18n: { defaultLocale: C.DEFAULT_LOCALE, locales: C.LOCALES } }), ], + image: { + responsiveStyles: true, + }, }); diff --git a/src/components/accordion/Accordion.astro b/src/components/accordion/Accordion.astro new file mode 100644 index 00000000..cc80dc16 --- /dev/null +++ b/src/components/accordion/Accordion.astro @@ -0,0 +1,44 @@ +--- +import type { AccordionItem } from "../../types/AccordionItem"; + +/** + * Accordion Component + * + * @description A fully accessible accordion component that follows WAI-ARIA guidelines + */ + +interface Props { + /** + * Additional classes to apply to the accordion container + */ + class?: string; + /** + * Accordion items to render + */ + children: AccordionItem | AccordionItem[]; + /** + * HTML attributes to spread on the accordion + */ + [key: string]: string | number | boolean | undefined | AccordionItem | AccordionItem[]; +} + +const { class: className, ...rest } = Astro.props; +--- + +
qCjp2D_UQiRTN%-{hOs|43m31L6`26E5Sn|-G oa>7P!C9w84lekg72t;4`s8c zU!eMz4(@cj-D3G4dyU``@aFJ8fPcX^BCwBL;1d`4J+t-w1L6 5oj0p)dgq{cA2 z77KWwK9i}OJqUCWX%a}Lt6HrA|G_E=_kEWIpB?U7-7YeZfn9WEa65gz049oMWh36~ zQx3n!3g)19nBg^8#0nx|Udr{GG-O6sC$JY_Zie($fov?5lQHef(*$=r;v{SN&M`zn zN6)#A!z$SWRWGN_NFfLk+dE$gn73XxoZ!g!X2Ej|2B>Juc@v}8W7BJP?u64u6&n$# zob%@+xDtO6Al~qD=nlakC-$&4sAocXS|o7w>guNA&rz@CIgS@VjkTdR@enfeRo+Cd zxW8E>&m+1E9QhF4%m(a-EcS4@ZdRV-_W~!sZ)Jyfj2Gb-GD0E=NE>Rfm$gQD2sMRH z)B;(x#m;*0@L_i$Zc>Qv!{@05mG9afsGV{DZXL;LsARhTyTejuJZJg50k7@ln*j^I z!^+NLcbCI0!S7cnOmA~#?-&dK)EDq3hDq)(^D5n)S+U mXID6<$fO;-b&X+Fxu>l1>TzE~Cp~C9=nhU(c+`tP%!oZ-=(TX{R zgv&@wr)&_#?l$XZfaj =)p@ 8 zXMc@%xN2iL-cpij5ht#fG){(Z&TNFNwlt-5mYf5k&8S)kaFSDr{)F@C=5Hg3QDltn z&QyJPjyH!D_= {C{D5L79)sb+Sj+>)-6IE`vXbXb{>?fnYdo&q!c5%j@ zHUWMNs~Z}cN2PSw#_$*`qyV>GV>Mg=w*FWd_)PDp$B&>)Yq!#9AqS`g8IhZt3ul4N z2$R+B^{KxAL !vhm);A+|*0l=nX*+Q4|#77`v0K6xQ_iyO5$Vrt*1LS~haq7R_Te*x}*mN$& zpxBt6evJA8fsBjj@<$HxuHU4gKJ`jla`ICkZ0tk2l(!oyJsA-QgwQP?mAMgwLqojJ zcU<6C;hzCL(2%!SCK_k2mLa{0=Ew;UXPl!DLfC~+hESY{AewqZW-7>JcZVXvAJZHn zIX9PxZ-e?3mjPnOAH^n##;uXDT`PzrKd34r+1<-H`wNWzS9lZS;}dvml9Q9+Q}^3D z<92M_T03&k%CzO*r-_8yJ&BbKYARV;Rz84_RS%D5HsYTFAyYyQ^pxV35brM<@26x$ zTU)Z!l_Vec^cwn+1n7nO7Dq-f9UoZh>ADp+o*F-cw+42uoAujoi+qNkuauN4HVQCx z$ip_HC2ofULgD=8&0C-XA+Z9R0<~WNb=T-D eSx(M1tEB=G8O3 =|@}` zNI|+!rE9O(FL=s2Z}##xHYmQD7Q&k-Gr~d7S3C1xuQ?iW=ErKRpsIQgqvhvtV44d6 zOBi9NR2%|Mn5t!0BT{2CJs_%9eAIkXacOxMXPFWD@cs?myFX3W&3bbW^-4;TIPqZf zO=_aR=GRn4Vx}6KwYaRTs#V&;aNf>}Jw?^A1DX0G&<0rzh>QQuB^Q&WAFVdWjT=X# zT`YFwzrO!y$dvsHsdLvaJMyPgA1x%gGhsc45WFzqZ6x`ediW=GV^`NWR_)@Ix{DJ{ zoMlD(7*z{a#@=2$RyXVKZxd;cOAj-ucEK^#P1TVDHu{*7H$x3s%eTipts%c?sA_@v zCvNEptPa*0pGkP `!yML{2!u3c;xrrRVXTm$fKgf`*qX;baZ>)(mzhn=U|6WZ==gYtoH+g z>keSH_@`P}j!+cPBB0#kO*-mTy=2eNeu<1}fiL_lJ@&|3youF>u>K=RltZYn6aAXt zU#Ka?>pJ{J9cMivk8oppCeTDXSM(-7u)|n^v?$&hS}4vftD9=Soy9(7S(n}uxA5=; zYI1dkDelgW>0xW&h50Md3mdx83)F-%a-eL{g%{M+K7JEjD>P&_s}~VWs&1&n!qa;b z@H1E)4KJ*+j=k927@z8Xo#N8*3dP20kz~{>m9>ief%n5N-n;emg@a~@tpN#IIp7H= zf@XZG(P+ FvNT#U)Ujk cGzkq>8GfwmOq0{MPrET_0ockym7 zrxN&m+#TWcu-|u_V8o>#qF$MMj1kwmgD^z!wpW~@`q&;P{w>t`&?w*nAfqh5e%XvC z8{zgpO()X6D6;22zJ55QKX8~4_qjv8;mlunYf=z+LkVmN)~SOa5+94?+Q#rbJ+b{q z!z}!P#*X1b-hPdDBeY*uHcn;LWFqv~{@bExabi(YIvL}-nitZ49U}DSaIfL#Pv?mf z8$OQ$;8Fz4jt#MOkkL|J{v6XYTHQo5;nlL{Xe inn-c zig)T}Rd49zRPHM4jhmm_DEj{LIx?o{UOI1$%$V6iefdICQ0+;=T+zCVY$}s|E(*Ya z!1Z(1(r=Z1P-Eg;$k2%8K$J78?rf{Wel07L@z#JX5_`L;X)G)Id`}MbN+1MOm7Tw7 zz3N^qX7Tt47V#cgOv7e*MS&ejtJoPNd6;W3N19hfcVvP0MNK_^`e|FXr^e`J9X>gm zjG8tr+@8N!{&iN!!v_z#;|g^Qb#x$Bq>xZr-v5`tj2he;XNl;3=cFU5sD42h-5< z8 n)2MT@nY@ceq@KLdJI9@)Bnzx7=pUPWPqhy-nGC+I4_6LJ9 zXr-&BS$2brBu<<@ZJL9*8JY#73h87|n<~fpTbmUYx5erhOT>$Fwen0r?ebfz#qw3t zI6#%#_bG_@7;Fe=$b`tl&UWNEC`=WgQlu@WUp*G7baJY!#E{h~=G!h1lEERK={#p> z^|hco#;5Mg +Pcm02 zAtv}#XJaIXsV_Vo!jlY8`%>yNOF?)PC7z{i6k*4XXn?v1dXAP`gqYe8Bv?KCUqH%g zD|?h|FEe_U>E1=UTZY>9rL-kUI)e`36n#K~9jW1T9RM~*%;fB*UKY4dT5Cfc57Z#L zRu|$gdrIAB;5qF=_cUrUVhiXwr6(;r2a8*`4z-KP2#bN=$$9wTszsCtSGe#GW>rwM zE}b`#6?l(Th5eA;bQT1$%a*tdd&NA%AR_c}8OR-E4$^XQMm=~;?MMmbP4u*9vZy;v zc}r^){Yc299)Y|-9(lSWP*i-suzax{14}#haf97TGeFsjQEc}F_MsT-^;~LRe0)41 zaCe3np}ZA;nnB0*5S$&OYOc2ZW@c$$^;FnRrlE|8FAd~L#EI?OoGbra^O9qXs?)$N zlso+mU-Bk`lo_i{-lB&*K(reBHCa#wENX7F@n&WWC`>?afP1NT&Zdq&h4ou>UAsU> z>#$Pe)DS`q_-Aaja}(boj_prWj_7ppJjLFFAf3UXfp?P1Ay=0m;oS-u#@<5>Zn;Lj z4B!O+^(-@K(K4vCRJ9g7rii8gMZ$;vKZ5B9;jU6ZwdqkB%~g0vC~Fo8P|01gAi zg1U2f@QF>}f<_OluvsmiP2B;hV6tvjxZ_BOoq!$|4MgPbu{>a}$pYDnz_yk?nL!Bs z$hH7rfPaV8fw9aA CgRvYll@!kf>;BBq50PQ}{^+Ga+MXDyDTE=0}W@jMcqr2ZcLX!}eg zS!rt*7zV4t17Cm=f^2H+hd<=T`!(z{77M)dI&Y$|JtGnsNt|0|wQV_a z(yyT)K@|A?RJa!q>qtW>(vel|8I}~F;?+@L-2GBgQU`jc!BDSnNC07ZFNa7a&qJ*Y zj$>sbBgr&Md_X0FM 3WHG1p0MS7wvhgV#(25Q&Z^>UBQgz&dzT* ooLBK1w0Lf{XM)Y~N+s+a+(woBCspS@u`5aP8u`RPJNiue}F(;h-t^rt4m&PS83iJ&M9QZLmn|7_zY}H+Y@``==UTzqGfY z5|L*|1=4nD>T7g2^6S68=Tr~U^BQ|wvFYSh8pNTis| fwV?&4QS)7Bhcg!>;NxH z{x}Oe%c!C`01M?gGQX&t%F1PENF@hTTEQggiOYC$e?C3DLH%7Rx>+eYt&*?cor1{= z2G*74+=$9YxW;ux)08Hwj&!obSz5_#P`V1qO&Z@6%`L?IRB#_i&2?DqBRSsl(_p`< zIg>(pmSR367rlUd?{20)5ul-0dmTZb625m6SRd}c2x@6Z3IgL$^m+rDSn{ffn_O}Z zcb8)|*e@U?Bi;+zEYgd9%-zzxPh77Rtw!xBAHccqMY2fW)27dbeZdzx7YV>~gJ}RX zAp^cO!Yi~;pA2F(w^JqWX@y{@Y{M5)Er9CzHnF;nE<*$=A>L5VpE~_QzIm -I46Rw~6FfGxX3(j(-C9R!>$Mze6@-1icQB z4FqaI;IOsJ*q^Q+$`vI}i`jWlD^)~;coU6;$ga&D{f**8X_G}ZI?a#=a|@yP s6)(8aW zskztT-fYZ4SUcZ)8Js=Z9%ZydOPjTJ j+;JJztfD>)~T zy$219%*D;i*iTYREC{aY0;T$ypoS5`(}vHbqy }el&xr$9!lz=<{ZEdyh=?%CD0k8pU%og(qI@>%k4y?CjesD_ByF8Oa97J z0hjg~R!4Fj`MZ=tNg8hrt)$TwNdCt~>!d>#Y&7a;fKG;gI;Lw(E*q5;#QzFo4E`Ss zsCI%_?Ay!nrovE1OE&Ux%m6?@qFs14R=kJNJz4vxDU7_Ww2$Hs_ngJI?q;+UU=Jg= zB6~FdV(~A<#dS>ROwhO;tMhKD$p`$cji;O2MU}2t4(3b3D(P{i7?|6DJ2gKto=%cq zP+9oqqe{^%oS2Q511IHg1LaLa+!BCsRs!hvRO9EdTEx1t j^x2wZU)m9ADh zu$s|?u&~&1Mq|Ge+w(TJ=RC);jP}#Xs7HX4W1svhtaqicdyKe5CHs 3m$l`V6+;Av^bOV|eKHbjxWS)wsV399Bzva5`Z;K{{=CuLwfe}6b5;mpKp9SWx zFx@<0mOd +@{WUSF%f-9U{8@ S=-n|S^RpMw>Yl5 =E0UMUfjty)3)z% zuK#1$c*vg{N7G9q+1~Ro_SK13B4t$HHx)!I1srp{^!G@|aIzXi-gM29%4k_-(l+QJ zWDz|OCJ4B#UHHQS*{vEUvXY_Yw?)gGLYtZ6i_*OdiN&dg3^SUO -ktQ&Ds_U6?N-^jR-n&;gFeOs7y&@u zh1EM&P>EfL-c{LZ9yAUWLFYjl6@2vvMh}s+MCPB!ANHxMVCk1A6{=zuFj%ih?=Ym3 zWJV{y=S+GN*ox#nl#ZAZtuaaNV{9YfV6K7~;-D>$$0u{aVPB!P-9dO{3iTR2K;e-a zgguuE$@8+#03I!{_X;YoebLgrtvzOrd!|=uvt=zk&hq6OHn4N;>Oo-na3u2i$VCR1 z4y~mR*{evYdJ_>p@@m |OHw@qd6_?|rLd2udvV5tH1&tPRmq5>T9&NSGpLehAWqW0^<|b0TC^nMYDK6^ZOC zm&2$jnk;|^`!}vqv#YR^@k{&1!EBX$33>z+u>JGaU;8I4FdaM(l1Yq{Lq$ADeSwCD zE7{#aabv4!A&h|rqouPst|*QH`#~$Z8r{2>^H>J>3?^HfIe`TIliB+HsO7+9YuNSE z+~5yNb5|HPD=A1hR)Sdv)41d-tOgd*u0*6sIUELlzTO6+t7ND|Ma^pEW7E}+70i0Y zQsgkBu%C_lr+UvBVMcCdSxsr#1Z$9ItzMh-++)yiAm2Pl>6Jf;l%Fwr4;eoPTy4#8 zHby(v3G6@W`f_#Spuk|iAr6lu9!nU|E1ySnB1t}~!vo4FZM7zST-1v6-B=DefzvoN z6hRgtuMPsR;{Y9ImnilBEv+Zh*n;Ul%Cx}rDv^ASEz3p|K9(Y5f1_992vbU)H~L@< zi Qtf(-q0rgnP`|I*#IN}#^~n#v1i^l!1mDy z5-OqdS4{}}wd6`C em4AhtfBG}LKz+F8e||=9E`RpsvqPZ6 QBYEjXG$=9PC>Y UsYXOiVuoF{ zN+oI(ho~s&!CI^wOs%C63E2WN$q 5#;o{o`9DUCc>d!NBc40*(u?rQwuRxRMvPdtcg6A# z)`*@PyfO0ow>~*pZKs4ohiV%Nwk4!q-rV-vAOC%MFz@8wHF@tvy*cFDsr_o#k6AJ4 zEgIgnt>x=?w5&}^q5p6(_ucyQXLx}+dhvgI^T4w=UCd{Pkn-#hAW5Db!m~s8vuZx8 z3D432HPL4^;n^Ylf2j#nB3EiU=F6&Cx;wacWcU}7bOl55 zO9tIB;_tuf> >cr+PU3dlyvW2mAAM_QFcF7^mti#!`h@^D1w0aonv{#M7b*oJB9}XSm#e% z+54=9>gqij>LJVWfwsK?JDF)=*{0(5Hlm78F2txXWolWtXv61M^BCBb8pk$P;I6J? zKtHK~t2W{FR mRK0biKdOmc#Oy*1M?IH0eEy zGYcCoAQI$ui~Q_^e_J@sYNAh#UW_Cj8J8YTYu_0|<%Dp&lX#8@-q|E^Pg3`5{H{$t z>$cWM9@_v;CKD}uYAzfBbp!t_HMKlJe^cSi*4Vb`n$qzXV`AE1kC`7Z=B #J>F|HkKs`}L{^V9 z>2m4Nr l!0z)w$!PWM{?X|PNSkfX!I- YPNt5MLsn)D1M5r5Ff8>rm_64AF83Vc*i%IZ7}y-@ld)sNeEk~V-{b>YOi6uc zB`;fR13FJ>X3N?U*SB` iLSB`6vt(}woa+QlYboLM@NoNcOyX#} z#46KWly{|J$9>W!?6@^RGJD~wLVN}X&uX8ivq*HI)SW!<4+XZ rxiy$-ktxB4u;nlkVYUU#-%=d`oF?EP1tE z=2 ~W-M+kpzR7oEs zIUgAVdx v>i!OvKc z#9F3gQP~=^v3~_u{<6_MXspDm# x3y66tgLuxuSGh8 zN*U4z!u9R}{4}N*xLkU&hV8zyUNX3lNR|ep GEES{Ae&Zl8h*HoniSLnyx}U5n9rZ zX<5`QjX6&;)PvVE 7HLyqK`qf>AfHDU z6=&baAAU{Rrj^d6KE?g%cpY82^LO ?dxi>1iE>TH;)Vi_}Oy7L 24k9igtl_IpH{ zu -%?Obyrerym~7+X;E~vC^2|jNxWbrryDC3 zrcHeJ1>X-`?-#4o@7Lkorm7UStC^#UT 4P!)EX MgSai$D9!+f0dPuy1WUFk+;TZ zPchbXbg)_3O5eq>9v9zQ4D0gcmW^Y2Nh_>tvf e2m+xUz z!MP~dRMdlx4il$RN#5r=^F?(4UpfX;j7PDe)?JNBmN9&2i-|-#ix{7km8F{{cNAcU zUAsEt?4PK~6%A=od)KMpCd|Zz|O1#SC3L#^|k{D(FNR>NPkrIUZPMNB>;oah3D{!)!E_hw1kT#RXb( zoIMn`&4%-`tK=sbRZUHcn67cm2E3&PYshluFBT5b9Rk{gfZm5sXQ2KuZ*b6_FEV=M zLSD}a{%&dx#}kS-C`^M!chNP{Kj78A|J&8d7`(a7p6@MDQ=7;L+!MfRVU1MIxpSKV z-xyC~N{?J4garVuYBGm=ULZ?@!v^ActG$ES5S5oPl{!shjT+2Ukhyj14eD?Ba6Mj) zj?BUGHE;vV4<9}ZuuO&dTHD2~k6?p=rN%>;QYf|v|B1?LH?c32=wb#(Q#tB@k8g^z z4_W=IzTUjqF4$o{6m9Djxc>$_N6B1B8sE6qe<{S XZE0o2PSI;h$ z9L9rCgX8SK37nG%Nm*4cKAM${peI*+t68*x#ygCvWSuYfU3H_^vsl*umd0~kQ>8E^ zK}qylhod+F1&zg2^HNNyoUUe3^=7S8-DM@o45_0)z6f)*V)gOZlY*b2o>MEgl(`n^ zho MaxH$WgWdm9gs?>{$7Qzhkk?ho93qre`g4GoKaO7?*Avd%go89KEj=) z*bRj#f^Vv#%ZukB b^GssfYl)xKt}k81Z99H>Z*&4EZ9cjMK@P2(|x(m2C``aXO*2GP+UUgGTVMP(Oa^ z)KIc4oajuZ35>!NjSUD(`l(S+HJ@)fhu^Ts%T-XeAUrKtN7{RERfgecU qCjp2D_UQiRTN%-{hOs|43m31L6`26E5Sn|-G oa>7P!C9w84lekg72t;4`s8c zU!eMz4(@cj-D3G4dyU``@aFJ8fPcX^BCwBL;1d`4J+t-w1L6 5oj0p)dgq{cA2 z77KWwK9i}OJqUCWX%a}Lt6HrA|G_E=_kEWIpB?U7-7YeZfn9WEa65gz049oMWh36~ zQx3n!3g)19nBg^8#0nx|Udr{GG-O6sC$JY_Zie($fov?5lQHef(*$=r;v{SN&M`zn zN6)#A!z$SWRWGN_NFfLk+dE$gn73XxoZ!g!X2Ej|2B>Juc@v}8W7BJP?u64u6&n$# zob%@+xDtO6Al~qD=nlakC-$&4sAocXS|o7w>guNA&rz@CIgS@VjkTdR@enfeRo+Cd zxW8E>&m+1E9QhF4%m(a-EcS4@ZdRV-_W~!sZ)Jyfj2Gb-GD0E=NE>Rfm$gQD2sMRH z)B;(x#m;*0@L_i$Zc>Qv!{@05mG9afsGV{DZXL;LsARhTyTejuJZJg50k7@ln*j^I z!^+NLcbCI0!S7cnOmA~#?-&dK)EDq3hDq)(^D5n)S+U mXID6<$fO;-b&X+Fxu>l1>TzE~Cp~C9=nhU(c+`tP%!oZ-=(TX{R zgv&@wr)&_#?l$XZfaj =)p@ 8 zXMc@%xN2iL-cpij5ht#fG){(Z&TNFNwlt-5mYf5k&8S)kaFSDr{)F@C=5Hg3QDltn z&QyJPjyH!D_= {C{D5L79)sb+Sj+>)-6IE`vXbXb{>?fnYdo&q!c5%j@ zHUWMNs~Z}cN2PSw#_$*`qyV>GV>Mg=w*FWd_)PDp$B&>)Yq!#9AqS`g8IhZt3ul4N z2$R+B^{KxAL !vhm);A+|*0l=nX*+Q4|#77`v0K6xQ_iyO5$Vrt*1LS~haq7R_Te*x}*mN$& zpxBt6evJA8fsBjj@<$HxuHU4gKJ`jla`ICkZ0tk2l(!oyJsA-QgwQP?mAMgwLqojJ zcU<6C;hzCL(2%!SCK_k2mLa{0=Ew;UXPl!DLfC~+hESY{AewqZW-7>JcZVXvAJZHn zIX9PxZ-e?3mjPnOAH^n##;uXDT`PzrKd34r+1<-H`wNWzS9lZS;}dvml9Q9+Q}^3D z<92M_T03&k%CzO*r-_8yJ&BbKYARV;Rz84_RS%D5HsYTFAyYyQ^pxV35brM<@26x$ zTU)Z!l_Vec^cwn+1n7nO7Dq-f9UoZh>ADp+o*F-cw+42uoAujoi+qNkuauN4HVQCx z$ip_HC2ofULgD=8&0C-XA+Z9R0<~WNb=T-D eSx(M1tEB=G8O3 =|@}` zNI|+!rE9O(FL=s2Z}##xHYmQD7Q&k-Gr~d7S3C1xuQ?iW=ErKRpsIQgqvhvtV44d6 zOBi9NR2%|Mn5t!0BT{2CJs_%9eAIkXacOxMXPFWD@cs?myFX3W&3bbW^-4;TIPqZf zO=_aR=GRn4Vx}6KwYaRTs#V&;aNf>}Jw?^A1DX0G&<0rzh>QQuB^Q&WAFVdWjT=X# zT`YFwzrO!y$dvsHsdLvaJMyPgA1x%gGhsc45WFzqZ6x`ediW=GV^`NWR_)@Ix{DJ{ zoMlD(7*z{a#@=2$RyXVKZxd;cOAj-ucEK^#P1TVDHu{*7H$x3s%eTipts%c?sA_@v zCvNEptPa*0pGkP `!yML{2!u3c;xrrRVXTm$fKgf`*qX;baZ>)(mzhn=U|6WZ==gYtoH+g z>keSH_@`P}j!+cPBB0#kO*-mTy=2eNeu<1}fiL_lJ@&|3youF>u>K=RltZYn6aAXt zU#Ka?>pJ{J9cMivk8oppCeTDXSM(-7u)|n^v?$&hS}4vftD9=Soy9(7S(n}uxA5=; zYI1dkDelgW>0xW&h50Md3mdx83)F-%a-eL{g%{M+K7JEjD>P&_s}~VWs&1&n!qa;b z@H1E)4KJ*+j=k927@z8Xo#N8*3dP20kz~{>m9>ief%n5N-n;emg@a~@tpN#IIp7H= zf@XZG(P+ FvNT#U)Ujk cGzkq>8GfwmOq0{MPrET_0ockym7 zrxN&m+#TWcu-|u_V8o>#qF$MMj1kwmgD^z!wpW~@`q&;P{w>t`&?w*nAfqh5e%XvC z8{zgpO()X6D6;22zJ55QKX8~4_qjv8;mlunYf=z+LkVmN)~SOa5+94?+Q#rbJ+b{q z!z}!P#*X1b-hPdDBeY*uHcn;LWFqv~{@bExabi(YIvL}-nitZ49U}DSaIfL#Pv?mf z8$OQ$;8Fz4jt#MOkkL|J{v6XYTHQo5;nlL{Xe inn-c zig)T}Rd49zRPHM4jhmm_DEj{LIx?o{UOI1$%$V6iefdICQ0+;=T+zCVY$}s|E(*Ya z!1Z(1(r=Z1P-Eg;$k2%8K$J78?rf{Wel07L@z#JX5_`L;X)G)Id`}MbN+1MOm7Tw7 zz3N^qX7Tt47V#cgOv7e*MS&ejtJoPNd6;W3N19hfcVvP0MNK_^`e|FXr^e`J9X>gm zjG8tr+@8N!{&iN!!v_z#;|g^Qb#x$Bq>xZr-v5`tj2he;XNl;3=cFU5sD42h-5< z8 n)2MT@nY@ceq@KLdJI9@)Bnzx7=pUPWPqhy-nGC+I4_6LJ9 zXr-&BS$2brBu<<@ZJL9*8JY#73h87|n<~fpTbmUYx5erhOT>$Fwen0r?ebfz#qw3t zI6#%#_bG_@7;Fe=$b`tl&UWNEC`=WgQlu@WUp*G7baJY!#E{h~=G!h1lEERK={#p> z^|hco#;5Mg +Pcm02 zAtv}#XJaIXsV_Vo!jlY8`%>yNOF?)PC7z{i6k*4XXn?v1dXAP`gqYe8Bv?KCUqH%g zD|?h|FEe_U>E1=UTZY>9rL-kUI)e`36n#K~9jW1T9RM~*%;fB*UKY4dT5Cfc57Z#L zRu|$gdrIAB;5qF=_cUrUVhiXwr6(;r2a8*`4z-KP2#bN=$$9wTszsCtSGe#GW>rwM zE}b`#6?l(Th5eA;bQT1$%a*tdd&NA%AR_c}8OR-E4$^XQMm=~;?MMmbP4u*9vZy;v zc}r^){Yc299)Y|-9(lSWP*i-suzax{14}#haf97TGeFsjQEc}F_MsT-^;~LRe0)41 zaCe3np}ZA;nnB0*5S$&OYOc2ZW@c$$^;FnRrlE|8FAd~L#EI?OoGbra^O9qXs?)$N zlso+mU-Bk`lo_i{-lB&*K(reBHCa#wENX7F@n&WWC`>?afP1NT&Zdq&h4ou>UAsU> z>#$Pe)DS`q_-Aaja}(boj_prWj_7ppJjLFFAf3UXfp?P1Ay=0m;oS-u#@<5>Zn;Lj z4B!O+^(-@K(K4vCRJ9g7rii8gMZ$;vKZ5B9;jU6ZwdqkB%~g0vC~Fo8P|01gAi zg1U2f@QF>}f<_OluvsmiP2B;hV6tvjxZ_BOoq!$|4MgPbu{>a}$pYDnz_yk?nL!Bs z$hH7rfPaV8fw9aA CgRvYll@!kf>;BBq50PQ}{^+Ga+MXDyDTE=0}W@jMcqr2ZcLX!}eg zS!rt*7zV4t17Cm=f^2H+hd<=T`!(z{77M)dI&Y$|JtGnsNt|0|wQV_a z(yyT)K@|A?RJa!q>qtW>(vel|8I}~F;?+@L-2GBgQU`jc!BDSnNC07ZFNa7a&qJ*Y zj$>sbBgr&Md_X0FM 3WHG1p0MS7wvhgV#(25Q&Z^>UBQgz&dzT* ooLBK1w0Lf{XM)Y~N+s+a+(woBCspS@u`5aP8u`RPJNiue}F(;h-t^rt4m&PS83iJ&M9QZLmn|7_zY}H+Y@``==UTzqGfY z5|L*|1=4nD>T7g2^6S68=Tr~U^BQ|wvFYSh8pNTis| fwV?&4QS)7Bhcg!>;NxH z{x}Oe%c!C`01M?gGQX&t%F1PENF@hTTEQggiOYC$e?C3DLH%7Rx>+eYt&*?cor1{= z2G*74+=$9YxW;ux)08Hwj&!obSz5_#P`V1qO&Z@6%`L?IRB#_i&2?DqBRSsl(_p`< zIg>(pmSR367rlUd?{20)5ul-0dmTZb625m6SRd}c2x@6Z3IgL$^m+rDSn{ffn_O}Z zcb8)|*e@U?Bi;+zEYgd9%-zzxPh77Rtw!xBAHccqMY2fW)27dbeZdzx7YV>~gJ}RX zAp^cO!Yi~;pA2F(w^JqWX@y{@Y{M5)Er9CzHnF;nE<*$=A>L5VpE~_QzIm -I46Rw~6FfGxX3(j(-C9R!>$Mze6@-1icQB z4FqaI;IOsJ*q^Q+$`vI}i`jWlD^)~;coU6;$ga&D{f**8X_G}ZI?a#=a|@yP s6)(8aW zskztT-fYZ4SUcZ)8Js=Z9%ZydOPjTJ j+;JJztfD>)~T zy$219%*D;i*iTYREC{aY0;T$ypoS5`(}vHbqy }el&xr$9!lz=<{ZEdyh=?%CD0k8pU%og(qI@>%k4y?CjesD_ByF8Oa97J z0hjg~R!4Fj`MZ=tNg8hrt)$TwNdCt~>!d>#Y&7a;fKG;gI;Lw(E*q5;#QzFo4E`Ss zsCI%_?Ay!nrovE1OE&Ux%m6?@qFs14R=kJNJz4vxDU7_Ww2$Hs_ngJI?q;+UU=Jg= zB6~FdV(~A<#dS>ROwhO;tMhKD$p`$cji;O2MU}2t4(3b3D(P{i7?|6DJ2gKto=%cq zP+9oqqe{^%oS2Q511IHg1LaLa+!BCsRs!hvRO9EdTEx1t j^x2wZU)m9ADh zu$s|?u&~&1Mq|Ge+w(TJ=RC);jP}#Xs7HX4W1svhtaqicdyKe5CHs 3m$l`V6+;Av^bOV|eKHbjxWS)wsV399Bzva5`Z;K{{=CuLwfe}6b5;mpKp9SWx zFx@<0mOd +@{WUSF%f-9U{8@ S=-n|S^RpMw>Yl5 =E0UMUfjty)3)z% zuK#1$c*vg{N7G9q+1~Ro_SK13B4t$HHx)!I1srp{^!G@|aIzXi-gM29%4k_-(l+QJ zWDz|OCJ4B#UHHQS*{vEUvXY_Yw?)gGLYtZ6i_*OdiN&dg3^SUO -ktQ&Ds_U6?N-^jR-n&;gFeOs7y&@u zh1EM&P>EfL-c{LZ9yAUWLFYjl6@2vvMh}s+MCPB!ANHxMVCk1A6{=zuFj%ih?=Ym3 zWJV{y=S+GN*ox#nl#ZAZtuaaNV{9YfV6K7~;-D>$$0u{aVPB!P-9dO{3iTR2K;e-a zgguuE$@8+#03I!{_X;YoebLgrtvzOrd!|=uvt=zk&hq6OHn4N;>Oo-na3u2i$VCR1 z4y~mR*{evYdJ_>p@@m |OHw@qd6_?|rLd2udvV5tH1&tPRmq5>T9&NSGpLehAWqW0^<|b0TC^nMYDK6^ZOC zm&2$jnk;|^`!}vqv#YR^@k{&1!EBX$33>z+u>JGaU;8I4FdaM(l1Yq{Lq$ADeSwCD zE7{#aabv4!A&h|rqouPst|*QH`#~$Z8r{2>^H>J>3?^HfIe`TIliB+HsO7+9YuNSE z+~5yNb5|HPD=A1hR)Sdv)41d-tOgd*u0*6sIUELlzTO6+t7ND|Ma^pEW7E}+70i0Y zQsgkBu%C_lr+UvBVMcCdSxsr#1Z$9ItzMh-++)yiAm2Pl>6Jf;l%Fwr4;eoPTy4#8 zHby(v3G6@W`f_#Spuk|iAr6lu9!nU|E1ySnB1t}~!vo4FZM7zST-1v6-B=DefzvoN z6hRgtuMPsR;{Y9ImnilBEv+Zh*n;Ul%Cx}rDv^ASEz3p|K9(Y5f1_992vbU)H~L@< zi Qtf(-q0rgnP`|I*#IN}#^~n#v1i^l!1mDy z5-OqdS4{}}wd6`C em4AhtfBG}LKz+F8e||=9E`RpsvqPZ6 QBYEjXG$=9PC>Y UsYXOiVuoF{ zN+oI(ho~s&!CI^wOs%C63E2WN$q 5#;o{o`9DUCc>d!NBc40*(u?rQwuRxRMvPdtcg6A# z)`*@PyfO0ow>~*pZKs4ohiV%Nwk4!q-rV-vAOC%MFz@8wHF@tvy*cFDsr_o#k6AJ4 zEgIgnt>x=?w5&}^q5p6(_ucyQXLx}+dhvgI^T4w=UCd{Pkn-#hAW5Db!m~s8vuZx8 z3D432HPL4^;n^Ylf2j#nB3EiU=F6&Cx;wacWcU}7bOl55 zO9tIB;_tuf> >cr+PU3dlyvW2mAAM_QFcF7^mti#!`h@^D1w0aonv{#M7b*oJB9}XSm#e% z+54=9>gqij>LJVWfwsK?JDF)=*{0(5Hlm78F2txXWolWtXv61M^BCBb8pk$P;I6J? zKtHK~t2W{FR mRK0biKdOmc#Oy*1M?IH0eEy zGYcCoAQI$ui~Q_^e_J@sYNAh#UW_Cj8J8YTYu_0|<%Dp&lX#8@-q|E^Pg3`5{H{$t z>$cWM9@_v;CKD}uYAzfBbp!t_HMKlJe^cSi*4Vb`n$qzXV`AE1kC`7Z=B #J>F|HkKs`}L{^V9 z>2m4Nr l!0z)w$!PWM{?X|PNSkfX!I- YPNt5MLsn)D1M5r5Ff8>rm_64AF83Vc*i%IZ7}y-@ld)sNeEk~V-{b>YOi6uc zB`;fR13FJ>X3N?U*SB` iLSB`6vt(}woa+QlYboLM@NoNcOyX#} z#46KWly{|J$9>W!?6@^RGJD~wLVN}X&uX8ivq*HI)SW!<4+XZ rxiy$-ktxB4u;nlkVYUU#-%=d`oF?EP1tE z=2 ~W-M+kpzR7oEs zIUgAVdx v>i!OvKc z#9F3gQP~=^v3~_u{<6_MXspDm# x3y66tgLuxuSGh8 zN*U4z!u9R}{4}N*xLkU&hV8zyUNX3lNR|ep GEES{Ae&Zl8h*HoniSLnyx}U5n9rZ zX<5`QjX6&;)PvVE 7HLyqK`qf>AfHDU z6=&baAAU{Rrj^d6KE?g%cpY82^LO ?dxi>1iE>TH;)Vi_}Oy7L 24k9igtl_IpH{ zu -%?Obyrerym~7+X;E~vC^2|jNxWbrryDC3 zrcHeJ1>X-`?-#4o@7Lkorm7UStC^#UT 4P!)EX MgSai$D9!+f0dPuy1WUFk+;TZ zPchbXbg)_3O5eq>9v9zQ4D0gcmW^Y2Nh_>tvf e2m+xUz z!MP~dRMdlx4il$RN#5r=^F?(4UpfX;j7PDe)?JNBmN9&2i-|-#ix{7km8F{{cNAcU zUAsEt?4PK~6%A=od)KMpCd|Zz|O1#SC3L#^|k{D(FNR>NPkrIUZPMNB>;oah3D{!)!E_hw1kT#RXb( zoIMn`&4%-`tK=sbRZUHcn67cm2E3&PYshluFBT5b9Rk{gfZm5sXQ2KuZ*b6_FEV=M zLSD}a{%&dx#}kS-C`^M!chNP{Kj78A|J&8d7`(a7p6@MDQ=7;L+!MfRVU1MIxpSKV z-xyC~N{?J4garVuYBGm=ULZ?@!v^ActG$ES5S5oPl{!shjT+2Ukhyj14eD?Ba6Mj) zj?BUGHE;vV4<9}ZuuO&dTHD2~k6?p=rN%>;QYf|v|B1?LH?c32=wb#(Q#tB@k8g^z z4_W=IzTUjqF4$o{6m9Djxc>$_N6B1B8sE6qe<{S XZE0o2PSI;h$ z9L9rCgX8SK37nG%Nm*4cKAM${peI*+t68*x#ygCvWSuYfU3H_^vsl*umd0~kQ>8E^ zK}qylhod+F1&zg2^HNNyoUUe3^=7S8-DM@o45_0)z6f)*V)gOZlY*b2o>MEgl(`n^ zho MaxH$WgWdm9gs?>{$7Qzhkk?ho93qre`g4GoKaO7?*Avd%go89KEj=) z*bRj#f^Vv#%ZukB b^GssfYl)xKt}k81Z99H>Z*&4EZ9cjMK@P2(|x(m2C``aXO*2GP+UUgGTVMP(Oa^ z)KIc4oajuZ35>!NjSUD(`l(S+HJ@)fhu^Ts%T-XeAUrKtN7{RERfgecU qCjp2D_UQiRTN%-{hOs|43m31L6`26E5Sn|-G oa>7P!C9w84lekg72t;4`s8c zU!eMz4(@cj-D3G4dyU``@aFJ8fPcX^BCwBL;1d`4J+t-w1L6 5oj0p)dgq{cA2 z77KWwK9i}OJqUCWX%a}Lt6HrA|G_E=_kEWIpB?U7-7YeZfn9WEa65gz049oMWh36~ zQx3n!3g)19nBg^8#0nx|Udr{GG-O6sC$JY_Zie($fov?5lQHef(*$=r;v{SN&M`zn zN6)#A!z$SWRWGN_NFfLk+dE$gn73XxoZ!g!X2Ej|2B>Juc@v}8W7BJP?u64u6&n$# zob%@+xDtO6Al~qD=nlakC-$&4sAocXS|o7w>guNA&rz@CIgS@VjkTdR@enfeRo+Cd zxW8E>&m+1E9QhF4%m(a-EcS4@ZdRV-_W~!sZ)Jyfj2Gb-GD0E=NE>Rfm$gQD2sMRH z)B;(x#m;*0@L_i$Zc>Qv!{@05mG9afsGV{DZXL;LsARhTyTejuJZJg50k7@ln*j^I z!^+NLcbCI0!S7cnOmA~#?-&dK)EDq3hDq)(^D5n)S+U mXID6<$fO;-b&X+Fxu>l1>TzE~Cp~C9=nhU(c+`tP%!oZ-=(TX{R zgv&@wr)&_#?l$XZfaj =)p@ 8 zXMc@%xN2iL-cpij5ht#fG){(Z&TNFNwlt-5mYf5k&8S)kaFSDr{)F@C=5Hg3QDltn z&QyJPjyH!D_= {C{D5L79)sb+Sj+>)-6IE`vXbXb{>?fnYdo&q!c5%j@ zHUWMNs~Z}cN2PSw#_$*`qyV>GV>Mg=w*FWd_)PDp$B&>)Yq!#9AqS`g8IhZt3ul4N z2$R+B^{KxAL !vhm);A+|*0l=nX*+Q4|#77`v0K6xQ_iyO5$Vrt*1LS~haq7R_Te*x}*mN$& zpxBt6evJA8fsBjj@<$HxuHU4gKJ`jla`ICkZ0tk2l(!oyJsA-QgwQP?mAMgwLqojJ zcU<6C;hzCL(2%!SCK_k2mLa{0=Ew;UXPl!DLfC~+hESY{AewqZW-7>JcZVXvAJZHn zIX9PxZ-e?3mjPnOAH^n##;uXDT`PzrKd34r+1<-H`wNWzS9lZS;}dvml9Q9+Q}^3D z<92M_T03&k%CzO*r-_8yJ&BbKYARV;Rz84_RS%D5HsYTFAyYyQ^pxV35brM<@26x$ zTU)Z!l_Vec^cwn+1n7nO7Dq-f9UoZh>ADp+o*F-cw+42uoAujoi+qNkuauN4HVQCx z$ip_HC2ofULgD=8&0C-XA+Z9R0<~WNb=T-D eSx(M1tEB=G8O3 =|@}` zNI|+!rE9O(FL=s2Z}##xHYmQD7Q&k-Gr~d7S3C1xuQ?iW=ErKRpsIQgqvhvtV44d6 zOBi9NR2%|Mn5t!0BT{2CJs_%9eAIkXacOxMXPFWD@cs?myFX3W&3bbW^-4;TIPqZf zO=_aR=GRn4Vx}6KwYaRTs#V&;aNf>}Jw?^A1DX0G&<0rzh>QQuB^Q&WAFVdWjT=X# zT`YFwzrO!y$dvsHsdLvaJMyPgA1x%gGhsc45WFzqZ6x`ediW=GV^`NWR_)@Ix{DJ{ zoMlD(7*z{a#@=2$RyXVKZxd;cOAj-ucEK^#P1TVDHu{*7H$x3s%eTipts%c?sA_@v zCvNEptPa*0pGkP `!yML{2!u3c;xrrRVXTm$fKgf`*qX;baZ>)(mzhn=U|6WZ==gYtoH+g z>keSH_@`P}j!+cPBB0#kO*-mTy=2eNeu<1}fiL_lJ@&|3youF>u>K=RltZYn6aAXt zU#Ka?>pJ{J9cMivk8oppCeTDXSM(-7u)|n^v?$&hS}4vftD9=Soy9(7S(n}uxA5=; zYI1dkDelgW>0xW&h50Md3mdx83)F-%a-eL{g%{M+K7JEjD>P&_s}~VWs&1&n!qa;b z@H1E)4KJ*+j=k927@z8Xo#N8*3dP20kz~{>m9>ief%n5N-n;emg@a~@tpN#IIp7H= zf@XZG(P+ FvNT#U)Ujk cGzkq>8GfwmOq0{MPrET_0ockym7 zrxN&m+#TWcu-|u_V8o>#qF$MMj1kwmgD^z!wpW~@`q&;P{w>t`&?w*nAfqh5e%XvC z8{zgpO()X6D6;22zJ55QKX8~4_qjv8;mlunYf=z+LkVmN)~SOa5+94?+Q#rbJ+b{q z!z}!P#*X1b-hPdDBeY*uHcn;LWFqv~{@bExabi(YIvL}-nitZ49U}DSaIfL#Pv?mf z8$OQ$;8Fz4jt#MOkkL|J{v6XYTHQo5;nlL{Xe inn-c zig)T}Rd49zRPHM4jhmm_DEj{LIx?o{UOI1$%$V6iefdICQ0+;=T+zCVY$}s|E(*Ya z!1Z(1(r=Z1P-Eg;$k2%8K$J78?rf{Wel07L@z#JX5_`L;X)G)Id`}MbN+1MOm7Tw7 zz3N^qX7Tt47V#cgOv7e*MS&ejtJoPNd6;W3N19hfcVvP0MNK_^`e|FXr^e`J9X>gm zjG8tr+@8N!{&iN!!v_z#;|g^Qb#x$Bq>xZr-v5`tj2he;XNl;3=cFU5sD42h-5< z8 n)2MT@nY@ceq@KLdJI9@)Bnzx7=pUPWPqhy-nGC+I4_6LJ9 zXr-&BS$2brBu<<@ZJL9*8JY#73h87|n<~fpTbmUYx5erhOT>$Fwen0r?ebfz#qw3t zI6#%#_bG_@7;Fe=$b`tl&UWNEC`=WgQlu@WUp*G7baJY!#E{h~=G!h1lEERK={#p> z^|hco#;5Mg +Pcm02 zAtv}#XJaIXsV_Vo!jlY8`%>yNOF?)PC7z{i6k*4XXn?v1dXAP`gqYe8Bv?KCUqH%g zD|?h|FEe_U>E1=UTZY>9rL-kUI)e`36n#K~9jW1T9RM~*%;fB*UKY4dT5Cfc57Z#L zRu|$gdrIAB;5qF=_cUrUVhiXwr6(;r2a8*`4z-KP2#bN=$$9wTszsCtSGe#GW>rwM zE}b`#6?l(Th5eA;bQT1$%a*tdd&NA%AR_c}8OR-E4$^XQMm=~;?MMmbP4u*9vZy;v zc}r^){Yc299)Y|-9(lSWP*i-suzax{14}#haf97TGeFsjQEc}F_MsT-^;~LRe0)41 zaCe3np}ZA;nnB0*5S$&OYOc2ZW@c$$^;FnRrlE|8FAd~L#EI?OoGbra^O9qXs?)$N zlso+mU-Bk`lo_i{-lB&*K(reBHCa#wENX7F@n&WWC`>?afP1NT&Zdq&h4ou>UAsU> z>#$Pe)DS`q_-Aaja}(boj_prWj_7ppJjLFFAf3UXfp?P1Ay=0m;oS-u#@<5>Zn;Lj z4B!O+^(-@K(K4vCRJ9g7rii8gMZ$;vKZ5B9;jU6ZwdqkB%~g0vC~Fo8P|01gAi zg1U2f@QF>}f<_OluvsmiP2B;hV6tvjxZ_BOoq!$|4MgPbu{>a}$pYDnz_yk?nL!Bs z$hH7rfPaV8fw9aA CgRvYll@!kf>;BBq50PQ}{^+Ga+MXDyDTE=0}W@jMcqr2ZcLX!}eg zS!rt*7zV4t17Cm=f^2H+hd<=T`!(z{77M)dI&Y$|JtGnsNt|0|wQV_a z(yyT)K@|A?RJa!q>qtW>(vel|8I}~F;?+@L-2GBgQU`jc!BDSnNC07ZFNa7a&qJ*Y zj$>sbBgr&Md_X0FM 3WHG1p0MS7wvhgV#(25Q&Z^>UBQgz&dzT* ooLBK1w0Lf{XM)Y~N+s+a+(woBCspS@u`5aP8u`RPJNiue}F(;h-t^rt4m&PS83iJ&M9QZLmn|7_zY}H+Y@``==UTzqGfY z5|L*|1=4nD>T7g2^6S68=Tr~U^BQ|wvFYSh8pNTis| fwV?&4QS)7Bhcg!>;NxH z{x}Oe%c!C`01M?gGQX&t%F1PENF@hTTEQggiOYC$e?C3DLH%7Rx>+eYt&*?cor1{= z2G*74+=$9YxW;ux)08Hwj&!obSz5_#P`V1qO&Z@6%`L?IRB#_i&2?DqBRSsl(_p`< zIg>(pmSR367rlUd?{20)5ul-0dmTZb625m6SRd}c2x@6Z3IgL$^m+rDSn{ffn_O}Z zcb8)|*e@U?Bi;+zEYgd9%-zzxPh77Rtw!xBAHccqMY2fW)27dbeZdzx7YV>~gJ}RX zAp^cO!Yi~;pA2F(w^JqWX@y{@Y{M5)Er9CzHnF;nE<*$=A>L5VpE~_QzIm -I46Rw~6FfGxX3(j(-C9R!>$Mze6@-1icQB z4FqaI;IOsJ*q^Q+$`vI}i`jWlD^)~;coU6;$ga&D{f**8X_G}ZI?a#=a|@yP s6)(8aW zskztT-fYZ4SUcZ)8Js=Z9%ZydOPjTJ j+;JJztfD>)~T zy$219%*D;i*iTYREC{aY0;T$ypoS5`(}vHbqy }el&xr$9!lz=<{ZEdyh=?%CD0k8pU%og(qI@>%k4y?CjesD_ByF8Oa97J z0hjg~R!4Fj`MZ=tNg8hrt)$TwNdCt~>!d>#Y&7a;fKG;gI;Lw(E*q5;#QzFo4E`Ss zsCI%_?Ay!nrovE1OE&Ux%m6?@qFs14R=kJNJz4vxDU7_Ww2$Hs_ngJI?q;+UU=Jg= zB6~FdV(~A<#dS>ROwhO;tMhKD$p`$cji;O2MU}2t4(3b3D(P{i7?|6DJ2gKto=%cq zP+9oqqe{^%oS2Q511IHg1LaLa+!BCsRs!hvRO9EdTEx1t j^x2wZU)m9ADh zu$s|?u&~&1Mq|Ge+w(TJ=RC);jP}#Xs7HX4W1svhtaqicdyKe5CHs 3m$l`V6+;Av^bOV|eKHbjxWS)wsV399Bzva5`Z;K{{=CuLwfe}6b5;mpKp9SWx zFx@<0mOd +@{WUSF%f-9U{8@ S=-n|S^RpMw>Yl5 =E0UMUfjty)3)z% zuK#1$c*vg{N7G9q+1~Ro_SK13B4t$HHx)!I1srp{^!G@|aIzXi-gM29%4k_-(l+QJ zWDz|OCJ4B#UHHQS*{vEUvXY_Yw?)gGLYtZ6i_*OdiN&dg3^SUO -ktQ&Ds_U6?N-^jR-n&;gFeOs7y&@u zh1EM&P>EfL-c{LZ9yAUWLFYjl6@2vvMh}s+MCPB!ANHxMVCk1A6{=zuFj%ih?=Ym3 zWJV{y=S+GN*ox#nl#ZAZtuaaNV{9YfV6K7~;-D>$$0u{aVPB!P-9dO{3iTR2K;e-a zgguuE$@8+#03I!{_X;YoebLgrtvzOrd!|=uvt=zk&hq6OHn4N;>Oo-na3u2i$VCR1 z4y~mR*{evYdJ_>p@@m |OHw@qd6_?|rLd2udvV5tH1&tPRmq5>T9&NSGpLehAWqW0^<|b0TC^nMYDK6^ZOC zm&2$jnk;|^`!}vqv#YR^@k{&1!EBX$33>z+u>JGaU;8I4FdaM(l1Yq{Lq$ADeSwCD zE7{#aabv4!A&h|rqouPst|*QH`#~$Z8r{2>^H>J>3?^HfIe`TIliB+HsO7+9YuNSE z+~5yNb5|HPD=A1hR)Sdv)41d-tOgd*u0*6sIUELlzTO6+t7ND|Ma^pEW7E}+70i0Y zQsgkBu%C_lr+UvBVMcCdSxsr#1Z$9ItzMh-++)yiAm2Pl>6Jf;l%Fwr4;eoPTy4#8 zHby(v3G6@W`f_#Spuk|iAr6lu9!nU|E1ySnB1t}~!vo4FZM7zST-1v6-B=DefzvoN z6hRgtuMPsR;{Y9ImnilBEv+Zh*n;Ul%Cx}rDv^ASEz3p|K9(Y5f1_992vbU)H~L@< zi Qtf(-q0rgnP`|I*#IN}#^~n#v1i^l!1mDy z5-OqdS4{}}wd6`C em4AhtfBG}LKz+F8e||=9E`RpsvqPZ6 QBYEjXG$=9PC>Y UsYXOiVuoF{ zN+oI(ho~s&!CI^wOs%C63E2WN$q 5#;o{o`9DUCc>d!NBc40*(u?rQwuRxRMvPdtcg6A# z)`*@PyfO0ow>~*pZKs4ohiV%Nwk4!q-rV-vAOC%MFz@8wHF@tvy*cFDsr_o#k6AJ4 zEgIgnt>x=?w5&}^q5p6(_ucyQXLx}+dhvgI^T4w=UCd{Pkn-#hAW5Db!m~s8vuZx8 z3D432HPL4^;n^Ylf2j#nB3EiU=F6&Cx;wacWcU}7bOl55 zO9tIB;_tuf> >cr+PU3dlyvW2mAAM_QFcF7^mti#!`h@^D1w0aonv{#M7b*oJB9}XSm#e% z+54=9>gqij>LJVWfwsK?JDF)=*{0(5Hlm78F2txXWolWtXv61M^BCBb8pk$P;I6J? zKtHK~t2W{FR mRK0biKdOmc#Oy*1M?IH0eEy zGYcCoAQI$ui~Q_^e_J@sYNAh#UW_Cj8J8YTYu_0|<%Dp&lX#8@-q|E^Pg3`5{H{$t z>$cWM9@_v;CKD}uYAzfBbp!t_HMKlJe^cSi*4Vb`n$qzXV`AE1kC`7Z=B #J>F|HkKs`}L{^V9 z>2m4Nr l!0z)w$!PWM{?X|PNSkfX!I- YPNt5MLsn)D1M5r5Ff8>rm_64AF83Vc*i%IZ7}y-@ld)sNeEk~V-{b>YOi6uc zB`;fR13FJ>X3N?U*SB` iLSB`6vt(}woa+QlYboLM@NoNcOyX#} z#46KWly{|J$9>W!?6@^RGJD~wLVN}X&uX8ivq*HI)SW!<4+XZ rxiy$-ktxB4u;nlkVYUU#-%=d`oF?EP1tE z=2 ~W-M+kpzR7oEs zIUgAVdx v>i!OvKc z#9F3gQP~=^v3~_u{<6_MXspDm# x3y66tgLuxuSGh8 zN*U4z!u9R}{4}N*xLkU&hV8zyUNX3lNR|ep GEES{Ae&Zl8h*HoniSLnyx}U5n9rZ zX<5`QjX6&;)PvVE 7HLyqK`qf>AfHDU z6=&baAAU{Rrj^d6KE?g%cpY82^LO ?dxi>1iE>TH;)Vi_}Oy7L 24k9igtl_IpH{ zu -%?Obyrerym~7+X;E~vC^2|jNxWbrryDC3 zrcHeJ1>X-`?-#4o@7Lkorm7UStC^#UT 4P!)EX MgSai$D9!+f0dPuy1WUFk+;TZ zPchbXbg)_3O5eq>9v9zQ4D0gcmW^Y2Nh_>tvf e2m+xUz z!MP~dRMdlx4il$RN#5r=^F?(4UpfX;j7PDe)?JNBmN9&2i-|-#ix{7km8F{{cNAcU zUAsEt?4PK~6%A=od)KMpCd|Zz|O1#SC3L#^|k{D(FNR>NPkrIUZPMNB>;oah3D{!)!E_hw1kT#RXb( zoIMn`&4%-`tK=sbRZUHcn67cm2E3&PYshluFBT5b9Rk{gfZm5sXQ2KuZ*b6_FEV=M zLSD}a{%&dx#}kS-C`^M!chNP{Kj78A|J&8d7`(a7p6@MDQ=7;L+!MfRVU1MIxpSKV z-xyC~N{?J4garVuYBGm=ULZ?@!v^ActG$ES5S5oPl{!shjT+2Ukhyj14eD?Ba6Mj) zj?BUGHE;vV4<9}ZuuO&dTHD2~k6?p=rN%>;QYf|v|B1?LH?c32=wb#(Q#tB@k8g^z z4_W=IzTUjqF4$o{6m9Djxc>$_N6B1B8sE6qe<{S XZE0o2PSI;h$ z9L9rCgX8SK37nG%Nm*4cKAM${peI*+t68*x#ygCvWSuYfU3H_^vsl*umd0~kQ>8E^ zK}qylhod+F1&zg2^HNNyoUUe3^=7S8-DM@o45_0)z6f)*V)gOZlY*b2o>MEgl(`n^ zho MaxH$WgWdm9gs?>{$7Qzhkk?ho93qre`g4GoKaO7?*Avd%go89KEj=) z*bRj#f^Vv#%ZukB b^GssfYl)xKt}k81Z99H>Z*&4EZ9cjMK@P2(|x(m2C``aXO*2GP+UUgGTVMP(Oa^ z)KIc4oajuZ35>!NjSUD(`l(S+HJ@)fhu^Ts%T-XeAUrKtN7{RERfgecU qCjp2D_UQiRTN%-{hOs|43m31L6`26E5Sn|-G oa>7P!C9w84lekg72t;4`s8c zU!eMz4(@cj-D3G4dyU``@aFJ8fPcX^BCwBL;1d`4J+t-w1L6 5oj0p)dgq{cA2 z77KWwK9i}OJqUCWX%a}Lt6HrA|G_E=_kEWIpB?U7-7YeZfn9WEa65gz049oMWh36~ zQx3n!3g)19nBg^8#0nx|Udr{GG-O6sC$JY_Zie($fov?5lQHef(*$=r;v{SN&M`zn zN6)#A!z$SWRWGN_NFfLk+dE$gn73XxoZ!g!X2Ej|2B>Juc@v}8W7BJP?u64u6&n$# zob%@+xDtO6Al~qD=nlakC-$&4sAocXS|o7w>guNA&rz@CIgS@VjkTdR@enfeRo+Cd zxW8E>&m+1E9QhF4%m(a-EcS4@ZdRV-_W~!sZ)Jyfj2Gb-GD0E=NE>Rfm$gQD2sMRH z)B;(x#m;*0@L_i$Zc>Qv!{@05mG9afsGV{DZXL;LsARhTyTejuJZJg50k7@ln*j^I z!^+NLcbCI0!S7cnOmA~#?-&dK)EDq3hDq)(^D5n)S+U mXID6<$fO;-b&X+Fxu>l1>TzE~Cp~C9=nhU(c+`tP%!oZ-=(TX{R zgv&@wr)&_#?l$XZfaj =)p@ 8 zXMc@%xN2iL-cpij5ht#fG){(Z&TNFNwlt-5mYf5k&8S)kaFSDr{)F@C=5Hg3QDltn z&QyJPjyH!D_= {C{D5L79)sb+Sj+>)-6IE`vXbXb{>?fnYdo&q!c5%j@ zHUWMNs~Z}cN2PSw#_$*`qyV>GV>Mg=w*FWd_)PDp$B&>)Yq!#9AqS`g8IhZt3ul4N z2$R+B^{KxAL !vhm);A+|*0l=nX*+Q4|#77`v0K6xQ_iyO5$Vrt*1LS~haq7R_Te*x}*mN$& zpxBt6evJA8fsBjj@<$HxuHU4gKJ`jla`ICkZ0tk2l(!oyJsA-QgwQP?mAMgwLqojJ zcU<6C;hzCL(2%!SCK_k2mLa{0=Ew;UXPl!DLfC~+hESY{AewqZW-7>JcZVXvAJZHn zIX9PxZ-e?3mjPnOAH^n##;uXDT`PzrKd34r+1<-H`wNWzS9lZS;}dvml9Q9+Q}^3D z<92M_T03&k%CzO*r-_8yJ&BbKYARV;Rz84_RS%D5HsYTFAyYyQ^pxV35brM<@26x$ zTU)Z!l_Vec^cwn+1n7nO7Dq-f9UoZh>ADp+o*F-cw+42uoAujoi+qNkuauN4HVQCx z$ip_HC2ofULgD=8&0C-XA+Z9R0<~WNb=T-D eSx(M1tEB=G8O3 =|@}` zNI|+!rE9O(FL=s2Z}##xHYmQD7Q&k-Gr~d7S3C1xuQ?iW=ErKRpsIQgqvhvtV44d6 zOBi9NR2%|Mn5t!0BT{2CJs_%9eAIkXacOxMXPFWD@cs?myFX3W&3bbW^-4;TIPqZf zO=_aR=GRn4Vx}6KwYaRTs#V&;aNf>}Jw?^A1DX0G&<0rzh>QQuB^Q&WAFVdWjT=X# zT`YFwzrO!y$dvsHsdLvaJMyPgA1x%gGhsc45WFzqZ6x`ediW=GV^`NWR_)@Ix{DJ{ zoMlD(7*z{a#@=2$RyXVKZxd;cOAj-ucEK^#P1TVDHu{*7H$x3s%eTipts%c?sA_@v zCvNEptPa*0pGkP `!yML{2!u3c;xrrRVXTm$fKgf`*qX;baZ>)(mzhn=U|6WZ==gYtoH+g z>keSH_@`P}j!+cPBB0#kO*-mTy=2eNeu<1}fiL_lJ@&|3youF>u>K=RltZYn6aAXt zU#Ka?>pJ{J9cMivk8oppCeTDXSM(-7u)|n^v?$&hS}4vftD9=Soy9(7S(n}uxA5=; zYI1dkDelgW>0xW&h50Md3mdx83)F-%a-eL{g%{M+K7JEjD>P&_s}~VWs&1&n!qa;b z@H1E)4KJ*+j=k927@z8Xo#N8*3dP20kz~{>m9>ief%n5N-n;emg@a~@tpN#IIp7H= zf@XZG(P+ FvNT#U)Ujk cGzkq>8GfwmOq0{MPrET_0ockym7 zrxN&m+#TWcu-|u_V8o>#qF$MMj1kwmgD^z!wpW~@`q&;P{w>t`&?w*nAfqh5e%XvC z8{zgpO()X6D6;22zJ55QKX8~4_qjv8;mlunYf=z+LkVmN)~SOa5+94?+Q#rbJ+b{q z!z}!P#*X1b-hPdDBeY*uHcn;LWFqv~{@bExabi(YIvL}-nitZ49U}DSaIfL#Pv?mf z8$OQ$;8Fz4jt#MOkkL|J{v6XYTHQo5;nlL{Xe inn-c zig)T}Rd49zRPHM4jhmm_DEj{LIx?o{UOI1$%$V6iefdICQ0+;=T+zCVY$}s|E(*Ya z!1Z(1(r=Z1P-Eg;$k2%8K$J78?rf{Wel07L@z#JX5_`L;X)G)Id`}MbN+1MOm7Tw7 zz3N^qX7Tt47V#cgOv7e*MS&ejtJoPNd6;W3N19hfcVvP0MNK_^`e|FXr^e`J9X>gm zjG8tr+@8N!{&iN!!v_z#;|g^Qb#x$Bq>xZr-v5`tj2he;XNl;3=cFU5sD42h-5< z8 n)2MT@nY@ceq@KLdJI9@)Bnzx7=pUPWPqhy-nGC+I4_6LJ9 zXr-&BS$2brBu<<@ZJL9*8JY#73h87|n<~fpTbmUYx5erhOT>$Fwen0r?ebfz#qw3t zI6#%#_bG_@7;Fe=$b`tl&UWNEC`=WgQlu@WUp*G7baJY!#E{h~=G!h1lEERK={#p> z^|hco#;5Mg +Pcm02 zAtv}#XJaIXsV_Vo!jlY8`%>yNOF?)PC7z{i6k*4XXn?v1dXAP`gqYe8Bv?KCUqH%g zD|?h|FEe_U>E1=UTZY>9rL-kUI)e`36n#K~9jW1T9RM~*%;fB*UKY4dT5Cfc57Z#L zRu|$gdrIAB;5qF=_cUrUVhiXwr6(;r2a8*`4z-KP2#bN=$$9wTszsCtSGe#GW>rwM zE}b`#6?l(Th5eA;bQT1$%a*tdd&NA%AR_c}8OR-E4$^XQMm=~;?MMmbP4u*9vZy;v zc}r^){Yc299)Y|-9(lSWP*i-suzax{14}#haf97TGeFsjQEc}F_MsT-^;~LRe0)41 zaCe3np}ZA;nnB0*5S$&OYOc2ZW@c$$^;FnRrlE|8FAd~L#EI?OoGbra^O9qXs?)$N zlso+mU-Bk`lo_i{-lB&*K(reBHCa#wENX7F@n&WWC`>?afP1NT&Zdq&h4ou>UAsU> z>#$Pe)DS`q_-Aaja}(boj_prWj_7ppJjLFFAf3UXfp?P1Ay=0m;oS-u#@<5>Zn;Lj z4B!O+^(-@K(K4vCRJ9g7rii8gMZ$;vKZ5B9;jU6ZwdqkB%~g0vC~Fo8P|01gAi zg1U2f@QF>}f<_OluvsmiP2B;hV6tvjxZ_BOoq!$|4MgPbu{>a}$pYDnz_yk?nL!Bs z$hH7rfPaV8fw9aA CgRvYll@!kf>;BBq50PQ}{^+Ga+MXDyDTE=0}W@jMcqr2ZcLX!}eg zS!rt*7zV4t17Cm=f^2H+hd<=T`!(z{77M)dI&Y$|JtGnsNt|0|wQV_a z(yyT)K@|A?RJa!q>qtW>(vel|8I}~F;?+@L-2GBgQU`jc!BDSnNC07ZFNa7a&qJ*Y zj$>sbBgr&Md_X0FM 3WHG1p0MS7wvhgV#(25Q&Z^>UBQgz&dzT* ooLBK1w0Lf{XM)Y~N+s+a+(woBCspS@u`5aP8u`RPJNiue}F(;h-t^rt4m&PS83iJ&M9QZLmn|7_zY}H+Y@``==UTzqGfY z5|L*|1=4nD>T7g2^6S68=Tr~U^BQ|wvFYSh8pNTis| fwV?&4QS)7Bhcg!>;NxH z{x}Oe%c!C`01M?gGQX&t%F1PENF@hTTEQggiOYC$e?C3DLH%7Rx>+eYt&*?cor1{= z2G*74+=$9YxW;ux)08Hwj&!obSz5_#P`V1qO&Z@6%`L?IRB#_i&2?DqBRSsl(_p`< zIg>(pmSR367rlUd?{20)5ul-0dmTZb625m6SRd}c2x@6Z3IgL$^m+rDSn{ffn_O}Z zcb8)|*e@U?Bi;+zEYgd9%-zzxPh77Rtw!xBAHccqMY2fW)27dbeZdzx7YV>~gJ}RX zAp^cO!Yi~;pA2F(w^JqWX@y{@Y{M5)Er9CzHnF;nE<*$=A>L5VpE~_QzIm -I46Rw~6FfGxX3(j(-C9R!>$Mze6@-1icQB z4FqaI;IOsJ*q^Q+$`vI}i`jWlD^)~;coU6;$ga&D{f**8X_G}ZI?a#=a|@yP s6)(8aW zskztT-fYZ4SUcZ)8Js=Z9%ZydOPjTJ j+;JJztfD>)~T zy$219%*D;i*iTYREC{aY0;T$ypoS5`(}vHbqy }el&xr$9!lz=<{ZEdyh=?%CD0k8pU%og(qI@>%k4y?CjesD_ByF8Oa97J z0hjg~R!4Fj`MZ=tNg8hrt)$TwNdCt~>!d>#Y&7a;fKG;gI;Lw(E*q5;#QzFo4E`Ss zsCI%_?Ay!nrovE1OE&Ux%m6?@qFs14R=kJNJz4vxDU7_Ww2$Hs_ngJI?q;+UU=Jg= zB6~FdV(~A<#dS>ROwhO;tMhKD$p`$cji;O2MU}2t4(3b3D(P{i7?|6DJ2gKto=%cq zP+9oqqe{^%oS2Q511IHg1LaLa+!BCsRs!hvRO9EdTEx1t j^x2wZU)m9ADh zu$s|?u&~&1Mq|Ge+w(TJ=RC);jP}#Xs7HX4W1svhtaqicdyKe5CHs 3m$l`V6+;Av^bOV|eKHbjxWS)wsV399Bzva5`Z;K{{=CuLwfe}6b5;mpKp9SWx zFx@<0mOd +@{WUSF%f-9U{8@ S=-n|S^RpMw>Yl5 =E0UMUfjty)3)z% zuK#1$c*vg{N7G9q+1~Ro_SK13B4t$HHx)!I1srp{^!G@|aIzXi-gM29%4k_-(l+QJ zWDz|OCJ4B#UHHQS*{vEUvXY_Yw?)gGLYtZ6i_*OdiN&dg3^SUO -ktQ&Ds_U6?N-^jR-n&;gFeOs7y&@u zh1EM&P>EfL-c{LZ9yAUWLFYjl6@2vvMh}s+MCPB!ANHxMVCk1A6{=zuFj%ih?=Ym3 zWJV{y=S+GN*ox#nl#ZAZtuaaNV{9YfV6K7~;-D>$$0u{aVPB!P-9dO{3iTR2K;e-a zgguuE$@8+#03I!{_X;YoebLgrtvzOrd!|=uvt=zk&hq6OHn4N;>Oo-na3u2i$VCR1 z4y~mR*{evYdJ_>p@@m |OHw@qd6_?|rLd2udvV5tH1&tPRmq5>T9&NSGpLehAWqW0^<|b0TC^nMYDK6^ZOC zm&2$jnk;|^`!}vqv#YR^@k{&1!EBX$33>z+u>JGaU;8I4FdaM(l1Yq{Lq$ADeSwCD zE7{#aabv4!A&h|rqouPst|*QH`#~$Z8r{2>^H>J>3?^HfIe`TIliB+HsO7+9YuNSE z+~5yNb5|HPD=A1hR)Sdv)41d-tOgd*u0*6sIUELlzTO6+t7ND|Ma^pEW7E}+70i0Y zQsgkBu%C_lr+UvBVMcCdSxsr#1Z$9ItzMh-++)yiAm2Pl>6Jf;l%Fwr4;eoPTy4#8 zHby(v3G6@W`f_#Spuk|iAr6lu9!nU|E1ySnB1t}~!vo4FZM7zST-1v6-B=DefzvoN z6hRgtuMPsR;{Y9ImnilBEv+Zh*n;Ul%Cx}rDv^ASEz3p|K9(Y5f1_992vbU)H~L@< zi Qtf(-q0rgnP`|I*#IN}#^~n#v1i^l!1mDy z5-OqdS4{}}wd6`C em4AhtfBG}LKz+F8e||=9E`RpsvqPZ6 ; From 30877534e411fd508e239a5ca72dc7186e587af7 Mon Sep 17 00:00:00 2001 From: "leonardo.olivo" <1leonardo.olivo@gmail.com> Date: Wed, 1 Jul 2026 11:46:18 +0000 Subject: [PATCH 2/4] chore: update unplugin favicon package --- astro.config.ts | 2 +- package.json | 4 +- pnpm-lock.yaml | 299 ++++++++++++++++++++++++++++-------------------- 3 files changed, 178 insertions(+), 127 deletions(-) diff --git a/astro.config.ts b/astro.config.ts index f08b043e..4dabdd91 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -1,5 +1,5 @@ import { defineConfig } from "astro/config"; -import unpluginFavicons from "@openscript/unplugin-favicons/vite"; +import unpluginFavicons from "@anolilab/unplugin-favicons/vite"; import { C } from "./src/site.config"; import mdx from "@astrojs/mdx"; import rehypeSlug from "rehype-slug"; diff --git a/package.json b/package.json index 1f665719..3fcafefb 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "devDependencies": { "@changesets/cli": "^2.31.0", "@eslint/js": "^10.0.1", - "@openscript/unplugin-favicons": "^1.1.8", + "@anolilab/unplugin-favicons": "^3.0.0", "@types/mdast": "^4.0.4", "@types/node": "^25.6.2", "@typescript-eslint/parser": "^8.59.2", @@ -81,4 +81,4 @@ "sharp" ] } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index db794a28..3aafc01e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,15 +72,15 @@ importers: specifier: ^6.0.3 version: 6.0.3 devDependencies: + '@anolilab/unplugin-favicons': + specifier: ^3.0.0 + version: 3.0.0(@types/node@25.9.3)(esbuild@0.27.7)(favicons@7.3.0)(vite@7.3.5(@types/node@25.9.3)(jiti@2.7.0)(yaml@2.8.4)) '@changesets/cli': specifier: ^2.31.0 version: 2.31.0(@types/node@25.9.3) '@eslint/js': specifier: ^10.0.1 version: 10.0.1(eslint@10.4.1(jiti@2.7.0)) - '@openscript/unplugin-favicons': - specifier: ^1.1.8 - version: 1.1.8(@types/node@25.9.3)(favicons@7.3.0)(rollup@4.61.1)(vite@7.3.5(@types/node@25.9.3)(jiti@2.7.0)(yaml@2.8.4))(yaml@2.8.4) '@types/mdast': specifier: ^4.0.4 version: 4.0.4 @@ -141,6 +141,40 @@ importers: packages: + '@anolilab/unplugin-favicons@3.0.0': + resolution: {integrity: sha512-h8xKkIFyG/xnJXrfChPY8E7SWuh4KS6BDgIBJoaVh2Tt7MrMk04FFfz3xuzufzymGNSUZg4UCy/vS09dmmvc2Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@nuxt/kit': ^3 + '@nuxt/schema': ^3 + '@rspack/cli': ^1.1.8 + '@sveltejs/kit': '*' + esbuild: '*' + favicons: ^7.2.0 + rollup: ^3.0.1 + vite: ^8.0.16 + webpack: ^4 || ^5 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@nuxt/schema': + optional: true + '@rspack/cli': + optional: true + '@sveltejs/kit': + optional: true + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@astrojs/check@0.9.9': resolution: {integrity: sha512-A5UW8uIuErLWEoRQvzgXpO1gTjUFtK8r7nU2Z7GewAMxUb7bPvpk11qaKKgxqXlHJWlAvaaxy+Xg28A6bmQ1Tg==} hasBin: true @@ -954,40 +988,9 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@npmcli/fs@5.0.0': - resolution: {integrity: sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==} - engines: {node: ^20.17.0 || >=22.9.0} - - '@openscript/unplugin-favicons@1.1.8': - resolution: {integrity: sha512-AEKKZawbSCJ7JsgRVRrlnPWh80sBMfTViKqmD76L6sAKTy9ZjyVSc8Nt0jdY2nXLPl7rBeDEHhVkWUXSA3I+Cg==} - engines: {node: '>=22.0.0'} - peerDependencies: - '@nuxt/kit': ^3 || ^4.0.0 - '@nuxt/schema': ^3 || ^4.0.0 - '@rspack/cli': ^1.3.15 - '@sveltejs/kit': '*' - esbuild: ^0.25.5 - favicons: ^7.2.0 - rollup: ^3.0.0 || ^4.0.0 - vite: ^4 || ^5 || ^6 || ^7 - webpack: ^4 || ^5 - peerDependenciesMeta: - '@nuxt/kit': - optional: true - '@nuxt/schema': - optional: true - '@rspack/cli': - optional: true - '@sveltejs/kit': - optional: true - esbuild: - optional: true - rollup: - optional: true - vite: - optional: true - webpack: - optional: true + '@npmcli/fs@6.0.0': + resolution: {integrity: sha512-AheOs4swKka/XLtht6xxJDPezlQ7K2IYQ9Y8lST4JLDjnralnWuMM9AE2CdVcgQJ5omrXhsRzM7F7aYmeZBvKQ==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} @@ -1435,28 +1438,28 @@ packages: '@ungap/structured-clone@1.3.1': resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} - '@visulima/find-cache-dir@1.0.35': - resolution: {integrity: sha512-z686U0T/l+ZizdxLmvIxdS1YiP60bhsz3+U6hLxHgMhaHABgfsXnJUvExwovxg/us473CTtxA/eAImdNAruTAg==} - engines: {node: '>=18.0.0 <=23.x'} + '@visulima/find-cache-dir@2.0.7': + resolution: {integrity: sha512-70JKCdm5p5iEBnJpvq1eEKFe8CcJx/RnHB9/LyfmuJjxHZVa1cbT4PhccRNGtzoPsg/l73gu09CJHjLt135B0g==} + engines: {node: '>=20.19 <=25.x'} - '@visulima/fs@3.1.9': - resolution: {integrity: sha512-0D9iREfekQmjAgOq+L3CU9TgpeunIwQ4BISq0vxEZuv2CjOLqqHGlkgFRlEgh2pBrHO3azF0OUGbPoK/1QmCUQ==} - engines: {node: '>=18.0.0 <=23.x'} + '@visulima/fs@4.1.0': + resolution: {integrity: sha512-9bb7oupbXXXc++m8Ypj+VUBF+P1j/Y3gadoT2HQHPHqDMrpMt8pcZyXjofitw/DaYSB3EeQOvGqHdgvsY646sw==} + engines: {node: '>=20.19 <=25.x'} os: [darwin, linux, win32] peerDependencies: - yaml: ^2.7.0 + yaml: ^2.7.1 peerDependenciesMeta: yaml: optional: true - '@visulima/package@3.6.1': - resolution: {integrity: sha512-dl36K1Y1clZbk0ouomnZbUxAE+ELAi2WgQeqSyxCRgY+HesbXgZBKDsJ811l3WWXJsaTv5m4oopfGzTJI34sUg==} - engines: {node: '>=18.0.0 <=23.x'} + '@visulima/package@4.1.7': + resolution: {integrity: sha512-xGzw2GFlHBleNgLYip6ZULKMZZAZrLGE5RJ2shKj4MUcAsv7IQzafyGa3m2PRw6HJSYeEpboobPVxf8SbCfm+w==} + engines: {node: '>=20.19 <=25.x'} os: [darwin, linux, win32] - '@visulima/path@1.4.0': - resolution: {integrity: sha512-lhtA4woh4KsXWyn3BJ/qYE/HSt+agsHeSGb7j3UeHpRyf3R4ErObR25snvt+Rc4Xlqb1T68U38wjqZ2YpmUGNw==} - engines: {node: '>=18.0.0 <=23.x'} + '@visulima/path@2.0.5': + resolution: {integrity: sha512-DBQe4IeEn1Yx03HQUlxog4sDJEQiVKnr2Kdm1acK6CgdcNN0fveoTfSvPsrxTKmMqdTgBbvB6UMUFh53cV+jgg==} + engines: {node: '>=20.19 <=25.x'} os: [darwin, linux, win32] '@vitest/coverage-v8@4.1.8': @@ -1700,9 +1703,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - cacache@20.0.4: - resolution: {integrity: sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==} - engines: {node: ^20.17.0 || >=22.9.0} + cacache@21.0.1: + resolution: {integrity: sha512-pTwz/uj3Jyp6WXdJ6fWhR+7LVxVs6RyroQSn7KJwHsSxXuyGSp0pcMVcwSwTpCFq1X2YG8QBe0W+vN+cr0SwzA==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} @@ -2747,6 +2750,11 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + jsonc-parser@2.3.1: resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} @@ -2809,17 +2817,10 @@ packages: longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - lru-cache@11.3.6: - resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==} - engines: {node: 20 || >=22} - lru-cache@11.5.1: resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==} engines: {node: 20 || >=22} - magic-string@0.30.19: - resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} - magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -3049,6 +3050,9 @@ packages: mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + mlly@1.8.2: + resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -3656,13 +3660,9 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - ssri@12.0.0: - resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} - engines: {node: ^18.17.0 || >=20.5.0} - - ssri@13.0.1: - resolution: {integrity: sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==} - engines: {node: ^20.17.0 || >=22.9.0} + ssri@14.0.0: + resolution: {integrity: sha512-jQxKI0yx0ZnTKrqjKkLDV2DXkBQn3k49JVmVqDGcDwKDtGDbImD/GXsq04KD0VVzCQQ9wZJYal3RwR1GzWTSow==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} @@ -3756,6 +3756,10 @@ packages: resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} engines: {node: ^14.18.0 || >=16.0.0} + tagged-tag@1.0.0: + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} + term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} @@ -3824,6 +3828,10 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + type-fest@5.7.0: + resolution: {integrity: sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg==} + engines: {node: '>=20'} + typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -3917,9 +3925,38 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - unplugin@2.3.11: - resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} - engines: {node: '>=18.12.0'} + unplugin@3.3.0: + resolution: {integrity: sha512-qa66K+crbfyE6JK10GjvbJeRrOsuC/JpbnHctfyp/i4oBTxWOzJfRZyDiOk1PtErMFRu8JhsU/wPvOdBNWe5Rg==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@farmfe/core': '*' + '@rspack/core': '*' + bun-types-no-globals: '*' + esbuild: '*' + rolldown: '*' + rollup: '*' + unloader: '*' + vite: '*' + webpack: '*' + peerDependenciesMeta: + '@farmfe/core': + optional: true + '@rspack/core': + optional: true + bun-types-no-globals: + optional: true + esbuild: + optional: true + rolldown: + optional: true + rollup: + optional: true + unloader: + optional: true + vite: + optional: true + webpack: + optional: true unstorage@1.17.5: resolution: {integrity: sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==} @@ -4313,6 +4350,37 @@ packages: snapshots: + '@anolilab/unplugin-favicons@3.0.0(@types/node@25.9.3)(esbuild@0.27.7)(favicons@7.3.0)(vite@7.3.5(@types/node@25.9.3)(jiti@2.7.0)(yaml@2.8.4))': + dependencies: + '@visulima/find-cache-dir': 2.0.7 + '@visulima/package': 4.1.7(@types/node@25.9.3) + cacache: 21.0.1 + consola: 3.4.2 + fast-json-stable-stringify: 2.1.0 + favicons: 7.3.0 + magic-string: 0.30.21 + mime: 4.1.0 + mlly: 1.8.2 + parse-author: 2.0.0 + parse5: 8.0.1 + ssri: 14.0.0 + unplugin: 3.3.0(esbuild@0.27.7)(vite@7.3.5(@types/node@25.9.3)(jiti@2.7.0)(yaml@2.8.4)) + optionalDependencies: + esbuild: 0.27.7 + vite: 7.3.5(@types/node@25.9.3)(jiti@2.7.0)(yaml@2.8.4) + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - '@types/node' + - bun-types-no-globals + - rolldown + - unloader + + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.6.0 + tinyexec: 1.2.4 + '@astrojs/check@0.9.9(prettier-plugin-astro@0.14.1)(prettier@3.8.4)(typescript@6.0.3)': dependencies: '@astrojs/language-server': 2.16.8(prettier-plugin-astro@0.14.1)(prettier@3.8.4)(typescript@6.0.3) @@ -5136,32 +5204,10 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@npmcli/fs@5.0.0': + '@npmcli/fs@6.0.0': dependencies: semver: 7.8.4 - '@openscript/unplugin-favicons@1.1.8(@types/node@25.9.3)(favicons@7.3.0)(rollup@4.61.1)(vite@7.3.5(@types/node@25.9.3)(jiti@2.7.0)(yaml@2.8.4))(yaml@2.8.4)': - dependencies: - '@visulima/find-cache-dir': 1.0.35(yaml@2.8.4) - '@visulima/package': 3.6.1(@types/node@25.9.3)(yaml@2.8.4) - cacache: 20.0.4 - consola: 3.4.2 - fast-json-stable-stringify: 2.1.0 - favicons: 7.3.0 - magic-string: 0.30.19 - mime: 4.1.0 - mlly: 1.8.0 - parse-author: 2.0.0 - parse5: 8.0.1 - ssri: 12.0.0 - unplugin: 2.3.11 - optionalDependencies: - rollup: 4.61.1 - vite: 7.3.5(@types/node@25.9.3)(jiti@2.7.0)(yaml@2.8.4) - transitivePeerDependencies: - - '@types/node' - - yaml - '@oslojs/encoding@1.1.0': {} '@pagefind/darwin-arm64@1.5.2': @@ -5538,30 +5584,28 @@ snapshots: '@ungap/structured-clone@1.3.1': {} - '@visulima/find-cache-dir@1.0.35(yaml@2.8.4)': - dependencies: - '@visulima/fs': 3.1.9(yaml@2.8.4) - '@visulima/path': 1.4.0 - transitivePeerDependencies: - - yaml + '@visulima/find-cache-dir@2.0.7': {} - '@visulima/fs@3.1.9(yaml@2.8.4)': + '@visulima/fs@4.1.0(yaml@2.8.4)': dependencies: - '@visulima/path': 1.4.0 + '@visulima/path': 2.0.5 + type-fest: 5.7.0 optionalDependencies: yaml: 2.8.4 - '@visulima/package@3.6.1(@types/node@25.9.3)(yaml@2.8.4)': + '@visulima/package@4.1.7(@types/node@25.9.3)': dependencies: + '@antfu/install-pkg': 1.1.0 '@inquirer/confirm': 5.1.21(@types/node@25.9.3) - '@visulima/fs': 3.1.9(yaml@2.8.4) - '@visulima/path': 1.4.0 + '@visulima/fs': 4.1.0(yaml@2.8.4) + '@visulima/path': 2.0.5 + json5: 2.2.3 normalize-package-data: 8.0.0 + yaml: 2.8.4 transitivePeerDependencies: - '@types/node' - - yaml - '@visulima/path@1.4.0': {} + '@visulima/path@2.0.5': {} '@vitest/coverage-v8@4.1.8(vitest@4.1.8)': dependencies: @@ -5940,18 +5984,18 @@ snapshots: dependencies: fill-range: 7.1.1 - cacache@20.0.4: + cacache@21.0.1: dependencies: - '@npmcli/fs': 5.0.0 + '@npmcli/fs': 6.0.0 fs-minipass: 3.0.3 glob: 13.0.6 - lru-cache: 11.3.6 + lru-cache: 11.5.1 minipass: 7.1.3 minipass-collect: 2.0.1 minipass-flush: 1.0.7 minipass-pipeline: 1.2.4 p-map: 7.0.4 - ssri: 13.0.1 + ssri: 14.0.0 call-bind-apply-helpers@1.0.2: dependencies: @@ -7175,6 +7219,8 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + json5@2.2.3: {} + jsonc-parser@2.3.1: {} jsonc-parser@3.3.1: {} @@ -7240,14 +7286,8 @@ snapshots: longest-streak@3.1.0: {} - lru-cache@11.3.6: {} - lru-cache@11.5.1: {} - magic-string@0.30.19: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -7749,6 +7789,13 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.4 + mlly@1.8.2: + dependencies: + acorn: 8.16.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.4 + mri@1.2.0: {} mrmime@2.0.1: {} @@ -7957,7 +8004,7 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.3.6 + lru-cache: 11.5.1 minipass: 7.1.3 path-type@4.0.0: {} @@ -8530,11 +8577,7 @@ snapshots: sprintf-js@1.0.3: {} - ssri@12.0.0: - dependencies: - minipass: 7.1.3 - - ssri@13.0.1: + ssri@14.0.0: dependencies: minipass: 7.1.3 @@ -8669,6 +8712,8 @@ snapshots: dependencies: '@pkgr/core': 0.3.6 + tagged-tag@1.0.0: {} + term-size@2.2.1: {} text-hex@1.0.0: {} @@ -8718,6 +8763,10 @@ snapshots: dependencies: prelude-ls: 1.2.1 + type-fest@5.7.0: + dependencies: + tagged-tag: 1.0.0 + typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -8851,12 +8900,14 @@ snapshots: universalify@0.1.2: {} - unplugin@2.3.11: + unplugin@3.3.0(esbuild@0.27.7)(vite@7.3.5(@types/node@25.9.3)(jiti@2.7.0)(yaml@2.8.4)): dependencies: '@jridgewell/remapping': 2.3.5 - acorn: 8.16.0 picomatch: 4.0.4 webpack-virtual-modules: 0.6.2 + optionalDependencies: + esbuild: 0.27.7 + vite: 7.3.5(@types/node@25.9.3)(jiti@2.7.0)(yaml@2.8.4) unstorage@1.17.5: dependencies: From 31e9800121848317c953379548202fe0ee6128c3 Mon Sep 17 00:00:00 2001 From: "leonardo.olivo" <1leonardo.olivo@gmail.com> Date: Thu, 16 Jul 2026 11:39:52 +0000 Subject: [PATCH 3/4] feat: add initial reference page content --- src/content.config.ts | 1 + src/content/pages/de/past/references.mdx | 4 +- .../references/projects/certification.de.md | 3 +- .../references/projects/certification.en.md | 3 +- src/content/references/projects/timelet.de.md | 1 + src/content/references/projects/timelet.en.md | 1 + .../references/projects/vialibera.de.md | 1 + .../references/projects/vialibera.en.md | 1 + src/content/sections/de/Featured.mdx | 5 + src/content/sections/de/References.mdx | 5 - src/content/sections/en/Featured.mdx | 5 + src/content/sections/en/References.mdx | 5 - src/layouts/sections/FeaturedSection.astro | 121 ++++++++++++++++++ src/layouts/sections/ReferencesSection.astro | 115 ----------------- src/pages/[...locale]/index.astro | 4 +- 15 files changed, 142 insertions(+), 133 deletions(-) create mode 100644 src/content/sections/de/Featured.mdx delete mode 100644 src/content/sections/de/References.mdx create mode 100644 src/content/sections/en/Featured.mdx delete mode 100644 src/content/sections/en/References.mdx create mode 100644 src/layouts/sections/FeaturedSection.astro diff --git a/src/content.config.ts b/src/content.config.ts index 109b7368..71f8f29f 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -78,6 +78,7 @@ const referenceProjectsCollection = defineCollection({ summary: z.string(), logo: image(), path: z.url().optional(), + featured: z.boolean().optional().default(false), }), ), }); diff --git a/src/content/pages/de/past/references.mdx b/src/content/pages/de/past/references.mdx index 5f188001..f08ad8b7 100644 --- a/src/content/pages/de/past/references.mdx +++ b/src/content/pages/de/past/references.mdx @@ -39,10 +39,10 @@ import { Image } from "astro:assets"; - Das DocPortal wurde für den "name" entwickelt und dient als Plattform zur Verwaltung von Daten sowie zur automatisierten Erstellung von PDF-Dokumenten. + Das DocPortal wurde für den ZLI entwickelt und dient als Plattform zur Verwaltung von Daten sowie zur automatisierten Erstellung von PDF-Dokumenten. Zusätzlich unterstützt die Applikation digitale Signaturen, wodurch Dokumente vollständig papierlos verarbeitet und unterzeichnet werden können. Mithilfe von konfigurierbaren Dokumentenvorlagen können die Dokumente von Jahr zu Jahr nach Anforderungen angepasst werden. diff --git a/src/content/references/projects/certification.de.md b/src/content/references/projects/certification.de.md index d7eaea2e..166e64cf 100644 --- a/src/content/references/projects/certification.de.md +++ b/src/content/references/projects/certification.de.md @@ -3,6 +3,5 @@ softwareName: Zertifizierungstool title: Unbeaufsichtigtes Online-Zertifizierungstool für eine internationale Organisation logo: ./certification.svg summary: Mit diesem Tool können Sie Ihren Zertifizierungsprozess organisieren. Es ermöglicht Personen periodisch zur Zertifizierung einzuladen, es führt den Zertifizierungsprozess durch und übergibt Ihnen nach erfolgreicher Zertifizierung schön formatierte PDF-Dokumente. +featured: true --- - - diff --git a/src/content/references/projects/certification.en.md b/src/content/references/projects/certification.en.md index d2e086fc..f2006313 100644 --- a/src/content/references/projects/certification.en.md +++ b/src/content/references/projects/certification.en.md @@ -3,6 +3,5 @@ softwareName: Certification Tool title: Unattended online certification tool for an international organization logo: ./certification.svg summary: With this tool you can organize your certification process. It lets you invite people periodically to get certified, runs the certification process and hands you nicely designed PDF documents upon successful certification. +featured: true --- - - diff --git a/src/content/references/projects/timelet.de.md b/src/content/references/projects/timelet.de.md index 282b5f9c..ed329d74 100644 --- a/src/content/references/projects/timelet.de.md +++ b/src/content/references/projects/timelet.de.md @@ -3,4 +3,5 @@ softwareName: Timelet title: Minimales Open-Source Zeiterfassungstool logo: ./timelet.svg summary: Dieses Produkt ist ein minimalistisches, einfach zu bedienendes Open-Source-Tool zur effizienten Zeiterfassung. Da es völlig kostenlos ist, bietet es jedem die Möglichkeit, sein Zeitmanagement professionell zu gestalten. +featured: true --- diff --git a/src/content/references/projects/timelet.en.md b/src/content/references/projects/timelet.en.md index 65c52993..cb3e54fa 100644 --- a/src/content/references/projects/timelet.en.md +++ b/src/content/references/projects/timelet.en.md @@ -3,4 +3,5 @@ softwareName: Timelet title: Minimal opensource time tracking tool logo: ./timelet.svg summary: This product is a minimalist, easy-to-use, opensource tool to track time efficiently. By it being completely free to use it gives everyone the change to handle their time management professionally. +featured: true --- diff --git a/src/content/references/projects/vialibera.de.md b/src/content/references/projects/vialibera.de.md index 563c27d0..89136803 100644 --- a/src/content/references/projects/vialibera.de.md +++ b/src/content/references/projects/vialibera.de.md @@ -3,4 +3,5 @@ softwareName: ViaLibera title: Mobiles Protokollmanagement-Tool für eine Regierungsorganisation logo: ./vialibera.svg summary: Es handelt sich um eine progressive Webanwendung, die offlinefähig ist. Nachdem das Gerät, auf dem die Anwendung läuft, wieder online ist, werden die Daten synchronisiert. Es hilft dabei, den Strassenzustand zu protokollieren und daraus Statistiken zu erstellen. +featured: true --- diff --git a/src/content/references/projects/vialibera.en.md b/src/content/references/projects/vialibera.en.md index 36ac1a9e..4af39006 100644 --- a/src/content/references/projects/vialibera.en.md +++ b/src/content/references/projects/vialibera.en.md @@ -3,4 +3,5 @@ softwareName: ViaLibera title: Mobile protocol management tool for a government organization logo: ./vialibera.svg summary: It's a progressive web application, which has offline capabilities. After the device which runs the application comes back online the data is synchronized. It helps you to log street condition and makes statistics out of it. +featured: true --- diff --git a/src/content/sections/de/Featured.mdx b/src/content/sections/de/Featured.mdx new file mode 100644 index 00000000..2661042f --- /dev/null +++ b/src/content/sections/de/Featured.mdx @@ -0,0 +1,5 @@ +import FeaturedSection from "../../../layouts/sections/FeaturedSection.astro"; + + + diff --git a/src/content/sections/de/References.mdx b/src/content/sections/de/References.mdx deleted file mode 100644 index cb9ac7a2..00000000 --- a/src/content/sections/de/References.mdx +++ /dev/null @@ -1,5 +0,0 @@ -import ReferencesSection from "../../../layouts/sections/ReferencesSection.astro"; - -Wer uns vertraut
+- diff --git a/src/content/sections/en/Featured.mdx b/src/content/sections/en/Featured.mdx new file mode 100644 index 00000000..5017ffda --- /dev/null +++ b/src/content/sections/en/Featured.mdx @@ -0,0 +1,5 @@ +import FeaturedSection from "../../../layouts/sections/FeaturedSection.astro"; + +Wer uns vertraut
-+ diff --git a/src/content/sections/en/References.mdx b/src/content/sections/en/References.mdx deleted file mode 100644 index a0facde4..00000000 --- a/src/content/sections/en/References.mdx +++ /dev/null @@ -1,5 +0,0 @@ -import ReferencesSection from "../../../layouts/sections/ReferencesSection.astro"; - -Who trusts us
+- diff --git a/src/layouts/sections/FeaturedSection.astro b/src/layouts/sections/FeaturedSection.astro new file mode 100644 index 00000000..640a6b69 --- /dev/null +++ b/src/layouts/sections/FeaturedSection.astro @@ -0,0 +1,121 @@ +--- +import { currentLocale } from "astro-nanostores-i18n:runtime"; +import { Image } from "astro:assets"; +import { getCollection } from "astro:content"; + +const locale = currentLocale.get(); +const companies = await getCollection("referenceCompanies", (entry) => !entry.data.archived); +const projects = await getCollection( + "referenceProjects", + (entry) => entry.data.locale === locale && entry.data.featured, +); +--- + +Who trusts us
-+ +