From 1e733d4a94eb5443d1a39910b2877336f306ce9f Mon Sep 17 00:00:00 2001 From: Mathis Burger Date: Mon, 24 Mar 2025 11:08:02 +0100 Subject: [PATCH 1/3] feat: Updated gitignore --- web/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/web/.gitignore b/web/.gitignore index 0af5bf6..b22aebe 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -35,3 +35,4 @@ yarn-error.log* *.tsbuildinfo next-env.d.ts .idea +.env.sentry-build.plugin From 3798eeb0efa6ee0baf8265ba9fbb7ec56cc9c787 Mon Sep 17 00:00:00 2001 From: Mathis Burger Date: Mon, 24 Mar 2025 11:14:33 +0100 Subject: [PATCH 2/3] feat: Added sentry --- web/.gitignore | 3 +++ web/app/global-error.tsx | 23 +++++++++++++++++++++++ web/bun.lockb | Bin 215224 -> 305313 bytes web/next.config.mjs | 33 ++++++++++++++++++++++++++++++++- web/package.json | 1 + web/sentry.client.config.ts | 28 ++++++++++++++++++++++++++++ 6 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 web/app/global-error.tsx create mode 100644 web/sentry.client.config.ts diff --git a/web/.gitignore b/web/.gitignore index b22aebe..d38247a 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -36,3 +36,6 @@ yarn-error.log* next-env.d.ts .idea .env.sentry-build.plugin + +# Sentry Config File +.env.sentry-build-plugin diff --git a/web/app/global-error.tsx b/web/app/global-error.tsx new file mode 100644 index 0000000..9bda5fe --- /dev/null +++ b/web/app/global-error.tsx @@ -0,0 +1,23 @@ +"use client"; + +import * as Sentry from "@sentry/nextjs"; +import NextError from "next/error"; +import { useEffect } from "react"; + +export default function GlobalError({ error }: { error: Error & { digest?: string } }) { + useEffect(() => { + Sentry.captureException(error); + }, [error]); + + return ( + + + {/* `NextError` is the default Next.js error page component. Its type + definition requires a `statusCode` prop. However, since the App Router + does not expose status codes for errors, we simply pass 0 to render a + generic error message. */} + + + + ); +} \ No newline at end of file diff --git a/web/bun.lockb b/web/bun.lockb index 51910d94ff8204d5e523775936cbd6ba8b556bff..abf6d8fd3ce21b6b42e5b56a2584a9f2b3e1e48d 100755 GIT binary patch delta 96236 zcmeFaXIKRXys;+Kew{X7B>N5R# zHtnQ-`2#9*E7on9R9?^2s_~nsQ}sTrTzN>^c2}Kto!j&%)7z*aqU+iG{-%oa_aqz< ziAKjna;3D0v@|L#t0NNWibUCQQjw?`uout-Xbo%uYydO`zJj%uz*3+Ya0ig;=K-mH z6tF395RmM20~!M@fX$;(&_;n2exSn!zz;wz;Cy^Bz{u2ys2I4US)Z2&07-8Zkm}>p ztYZ_BBSpsAeEoB@M^*M*pbjvT9UwMUbOa;q)R>5FielvlM4JMl&IY&An897cyuT0sN{rXN$MYLt+=hYC2J-zRNQaG zcP14ON-+^>F{1DAmyEm?uvrt42==q9z{%OG;1n8e5Z3W&PKNvtk3x=r*{zKDp+}{q zrH@I85j6%Ud-s6`z&%hxXxIZ1Jw*j<;$L=DLRu!xx3dtg_>N9VF`4P2wU`sQmmQ2r zBfU1LCm)(L=Y5JwP96~-gS-K!`k&B)JJ}C_H2(lj{{fN)vC8I*LN*FX0n>`?!F(ax z6G#csUO;^y{LTIfD}+@*GF%FzK^_E>W7~k_&;kK1TJbzREg_y#c_!qP2MQnst!ZnX zj{;{BmX1h?-mqnL3>913@XZsFM<>L`#-+Ph@H{$ZR6=r!NE972G9w~EB(j5? z%(iXI*XtoJ-wPXKAs9(3RhX4vq74+m0aKC&)}S=!{eZQnU}8CMG5+Jw9C#ACnf58k-W4nijJdhH0i#fHcy9 z0(StC=ca;uJR*eb%l_J)@9+X5MeX(gX&{S%NW<(bASOL~sK9#&^%g+dvUGq73fTuM zK6KZCWcUb>46GLTbRcb2BLp4-qz;{cv^Sayysl8c7Y^z`e$Smx;mbhU9CicAAr@!~ zOpi}dq>Ql{o~G=|FW6D2AcIR_fEOo@mZAzI#_pW6jM269Uvb)*1N5~s%? zvr|Q)0R#9XJ_RH@g+SO>WcNma8b(AVr@}FjGdOi{DwH4L(wEi!OeT&qqLpv}xAN=-f+Oq4^EU~%3H;7w1*DEtkr@+_kPx4iE=r3@97XGUI`ke`CkzE&vBvfR79mh{W)FggRhNmG<;gFfokftUgAx)GD zPRSS!Bu5N@G@{s;q_iRBaqsk%Hi#82U7d=S-f68 zIIT9n*?a^#0}YXX*|SkWBT0*kPfSECRUs9_AgzXAVI&LY^M;dwbT{(>S^&i?-@cW= z_kdG&OTf*5^A`v^DUkZf0#b4hTZs5m(xt>&)44gV;Ua#HGLe(C-s*r;$UZ`m8a@>e z`teEWPNF;Wct;KbTcbW|F(2|g@V4LyKyt7v& z@^ds?;9f$#F^~*>nZu8)97yf93OE_q4t$8f`>o_1mkC@Ck)){}vx=Xx`LzF1C=wu` zk(MEoDQUvN3Ht-NP+|8F;R?n%f#$jfv=<4As_`Mkdnr51K)820ka_|&wT|0PC&})qK*7MVZ4cNzZsn5G2nW@ z^oYnvy6bqtab56^K&s!mneUe^tY;@l-O5(iv(Qr=&0V+iiC)Q?Y1%5b?c_Co0?C7f zT|CDl1h-IE3iUp_`615*Qb;_26gp&dY>Yi_1c()lkZzwN5w_HrjI{V+V?7ybB4?0QdBGLRpKKs&uwC+L#{Ct2n=nPKFV8$VS z4*tG(k2=gdYz94A?^-|_;8V0GN0${*J)6Wdm5w_C5xbDFQd~dEPh6#-lz5EqYVZ#>_#z7Wfnav(NB6OW>ww`B5jt zj7mbFMUBBpUm~D3kfH4|ItF*K_%u<9&@dKABa2RsN>7bXiit_fNRP*U9g{XPBPMl> zNOiz`zn@>T8O6L~@j!}H(-OYpe&Cb`symk)+z9*%+O-4@0UBeuW{>)V-)*j6;O{tL z;H0PoCxfbarVvMt5sBm%`AA_2b8k$JfiuucONdB|!$?1)9d&RRXaXz%l0B2lyrYHa znDS^Pkb7KejRGmC4h^5m_z?t@^Bt)icnLXmWORkEuMeat`3fZYS|B;R=_;RiD}eRY z>i<4f&{uE`yes&mP&H7U)pg*QAq;%p$8QP&*ZIsA-{1{@xy5e^eQ)zQGT|mKk4;XA zMj%9X;N)NikQ}^^c7(%{Q}LoEDsJ6P#GgET3d2+}{w_afL(qUCauE$^iQa|05pV){ z6QJ{b{$TkW4p3H$AMm?e9+2!j6gr#)PD^hjP!AX<)PF*I>bFt>1JuC_G@xa19GphH zNkFAgKOWc=^5<}XI(!3%$)FzOWGDtm4)+GqcI%FM(!)!&)R@?qOn1mhKOPU~sS#sD z?Z9auit|tTidN6~5jIB!g{%&c9IAz5v~2zWQiCEOjc6y3=6Vs3I+_WjcH66Yc^`0U z=LV#9#y}dF7LfEUYB>9f>@Pxy4+6>awE`{xQb$q1X24!R8lg2tMiFZXqz*s4;^hVc zKm3}PZvfJi4Sd5->9Im*7SpN~3F?h9?8uLg{C8PBDlcVaqW+dpT_K!c`@yqZnknCNCJpPw0o%e*y}|K-Hse5IBY2 z21trtU-%KP0X6~GuI2d#AVrAz${YR(P90#*(_+#^B4A=fib#|PIYo9XkOnp!NV(7i z_VtWV`09XOslIXUHmz5b#{aAvp2Q2+;+m);e@`+$Dw|C7kVe$>Z!Y~ z>-@Zl%?C^v_0e)j@yPC8zT?Zkge{riu&m_gthwKp9cZOjEo-~Y$^OsF-a+}VUU{r4 z`?05u#t^$_Qw^Nnj16qiaC+I3u5C0wdU~Did-vGt=^rLGt(#sRopABJ#3Uwxu-_M$NT1`vZ9B$M^f5_Y=lP2|AIpW18 zEkE~qLBmpK6h{}%n`Aik)r`CHFiFwX*P8cOO%przO*1>ii^U5h1@&y=ruS;CCAG~A z-w^Y1zSoVf1HR4Jkazv!$j0tpQmhWudpV;)`L}m_YZvZ(J89t04Xwmo7d6c8+G)u4 z?vH8?H9g+)d)btq`&RsE)Htc4L6;=`#=U%Qe4ZP9Xw{>)W9$yTu{BHb9rJeI^;_;m z6KeHhM*MInT@vmSRo{GONSB*S8y~1{I<;uTgCC{aEgf_g555zhFs)OkeOFhxS9g8z zZLrxb+pxA_W=|(xIorH$9h(ytGfr)(F6sW9-PzPqaixtw8hG6H?K-I0 zx&4`)e^lR?VevygXa?h9etE)_)q&OLpF3>L*m<{R&XB}-4c97p_ft_(rETA*UeJ7Q z;Tur$$9&s?xfc7}x-iMEXRCwq51+4fsK3Da%IP7MHtjk%}Vx7QzOL)w*@msUb%hFV^u=2@t1^; zaj*Bj4t7XyxBlCnb5};r8K1oPlJ0~Ve#+jjS8o`2e%#=138%jM56T>R!062F%a?yV zdf^fgQEVT;bjpj$IRkN<_!UFKucpYuKtosQEL;23a>Mo?o5I{2Gv783*)ey-vY{4VPhDAh zpnm1tj_>Z~cX8DEvH9kY+RVvstJDTz=PMd+^y+uB!g7aKr zkLL_&=5BjvT-_l{-Da;#^3vV8AwBnUPW0^k{o-%0c(r2MVb6`<8>}}sRT`U^2haMF zQ9C8%Mc%$6E}_h_^7KiI_V+5#l%4)OtbgvSrUL@Hv*9L2meQvS9g`Ms*EW?r3=4Yo zDrLa2SJGv7Ut0DLy6QjVUGamoy7R_IEq2ai3z64jcMZ-{jJ@`1veu_)&({a5!Zmay zCW~82PAzR1Z#z-BI;8Qe-P5MpIkma{vv8Qn&#KH}XT6#iozZ#w^JD1jE~D4pD;+uL zP1VNpYomvbU*nhDC+7PWXOk|9k8>uA93C_+IlFf6>1+Ec=k}a)NatyO!79CyzG34x z6)ar#N8+5%1%dAr-Wxmgzu8B>y0WE?oid`0rorCY7B}Z*uPAgFm%I4gxZQVOY>8R7 zqI~84v&{{DEPt+R^yc*Vlx3BFTzRM5S77-_ zKV->)up4h|0#-Gh+4M`|%T2w^bA0#xynlD_{g4;K$4+CM9arjldf(D@Q@nI)V(`Sz zaz@V+ZO*Lk)3(`gjTgbb@)wVSUvvu$3G~lpkJ=n9wCQGVSuPrO^z_SlBX7TWmY?6p z_LN_bhY8)=pEz(ZylJ3pS-<+F&Z&`MZbn;1>qhBzpMI>_r0(Nc`C7;LV}o{ThQ`EC zNvO!bUi|sN>-$ZoG#X@)wXIojo$rnJEB4I_L6&AG!;zGln+J)NggJe$(wP z6PA3*sJV8~Ve!m!pOxS2#*Rrm-0AW9=|%Tk+;ZP1o-91FQnzZMg}Gh-I~6W*4vKms zKLuVH=j2sAzhi22U`|i7fHB6ZkS@4(J+W`(j1NPTpV;l*d^h}?WXAj1>%!%+JC7b2 zE8E_|@#ds9JK{WC9=EL1q^R-P)h*f=UNO;{f3D)PjsDV6GE2Ll-h);@u$i}GL+ z{nr^J_f9OBkQn;$u+GwU{m(!2oZI=eqRG3oce5>)@7%PZy8ZCfZWppeX<=g>uFt*u z>56xo#{sW4m9Kap^10lc89cUP!s!`TFAn^0*|=^G_rzfr!?#&$FF(7O^$Fed!{y1G zHKH8{-|jOvy*kIIUA=(nEv-g6U3eb*eab_VsCNdt%Z#+&J>2&?x$(CbQv$5|?0Z$x z{CN9s3dLvhHU+Cr&L5vvnY7C&HtuFt6ZfcQ?@O4Rwc{>0k2(Ei-gYb7yY((S)^{%S zx!=6@Xh6!NrOR5i+43~!Y2Lgm`c`okCMGS7?~i-dM{`N#(4Ad7hp%*a;CA@NOU+wZ zE6!~i7&KGw@s^Rt3PukJdi*)Rj`N;fuEQ7IJyq#dGx6!z)*-gxH9x=3i}-X>5%3`S z-r+FSf-bK9bno5l)mKBNMKl<`f6wI79!^y|%c}hL#2M}svn`DmvzLuMSfi%%*y~MO z8rkYD6mPd~WL~%2 ztYq5qd$BhLu};lfvT@Bl*qzNi8m<^sWF22FO^umt;F5P?PbBMPV!0>N#Ig>%vE^|# z)2z3+2U~3BF5bd2=I+wTQjw@1t7GmWy@Ap|uGFcnNHmx$%|$7UE4@T1oGba)!%Ich zzqP9d3cOl!f1h zgKRN0^l^42KhSeenb?o@Y40wc&d$U)!iw+JEMw))+{dxZ9a?qRAWJ89rj@%mfi1Rj zmu|wb%bhK4<05^Ak{j!9;li}RVV2j`vy?H>U|w8H_$b{7=ERm-xiI%pauY1d7!w=| zX(V-6Xi@a6-KDvZIdZzEgjx+&Z>f_ej;>@-gDta?NmIdirHv@@CiJ>F6%*&iZt8XB0SScH?Sj zPELUJVRc!Ar?Pd%ewiNNnMyU(5xjDfs z%f>acnWC)TI4 zyVMr1vU;-qon6FJ*y7Ia;zE{jIZ3V)Rvm{E?CUgWRRew2banWi~B<4U0@`Jv>>7I$$MzhD_>cgDUIpNAq= z&q~H5g4uK9)axh{uVjm%aThYmc`29k-COe!6;VD&CxbbXZOT~}cjhZN>593?U=*(I zOlBLA$bpmTIm(zqFq%g(mn2`nxU54?`?$F?Gb~iPK|P!_1;VGw8!#DL+TKOl2@ell zD4~(+Gv)5gIdGa}exc~HjJvxe#FF*xDQ5~SF=ABlv+^2@W>LhgWz%*dQ5={ix6Y@7 z(frjTzZgk-K9%dS^D~{;Vh?vF3le@cmRZZhds&~Z?$Q?>;4SOl)kQp&E$-?rzQ{7& z+{I?BPd9gFl&#uMA>PdvL-q}_ft)wAvrK|3)FbCMQw|oOs>APm6nnZe2_1RwvA=Yd ziBGXUUhWdHJ)7et7x!n2z1*1{n5&*>Bxdz&Wzx@J0c@_9i#V8_+1;I4fE|T8z+}i} z;zumw?anm8OayVVAWZNScBZ$x^eJSXtbb1zrhR9A0U+XVa1V4jJiUTQHX~PXvaRNSPKgO4ibLE=(#)!Mra>jMF6N z7*dZhLUWopj11djG#F`0xMjQ_49lXci?jh&s}oo9MhU46SsqGAca$EY)Q`>eb=APc z4dz4(P{Qg#Wi?8?nlrXx+-4wKh7#5cO0RyEJdn1Rl{5Ao-pzR^@qIn}C6jxqY8Rlyw|MnS=H(^0 z&MZL*5uzEyUVa6Px7n^cmt$RBHBcB%?uZ|-Oka0#E7qs4yL7ZSb`#dWuZzxZln|zD z+_jsw)}sTX*+V4i#f_+Jm`uk8sY`u8LqyBYialV6+Y z>c2`a{j0P?phz_69~P$ntMnnH1Af!>7_80wF3GlMw6PidE+ki9LfZeg#w7K^CK2)v z=@Ll${9Ve_KuY|ziX81JFR=f2l1Z}q zusM_D%rOY*7J+>S2NT)`kg&9GdCQn?VD?}*;GlUf7?P2;X=@o%21Y$2OLLtx;V*w1 znBPyv^aUd$+@`~<0uy>2A!BZX(dGh^on<;fSbNxevZYA4NG{>B$1|D;2{M>&99}Z! z9T;UQjD^aW4xzjcB6hx)OeY15VnWSvyAR>BSc*V*7Nl)eS*$k#QshfER7IrU7&UDv z>zPv2kb}6bdde7PAU_l?0y;gwupebh(4rALzaQ5FGYisAkZPh&8FLhj?ga2DRHkQw z%t20Mqk*UnKE}WLS%DhbNwKeDXMO{Qg@sWf(t6H=d8TSb%a-#_x&$@YlPq1BdnnO8 z1$z%>${9IMA?NN1%w&Oahb`s=mNDa`;5Pgueqz__8pI^Qmt(H#D3$y>{GCWD3l-HJ{Xq*%V3XIwkhV=$vRLbdqF zrA1&|6jY|Uo0NV6?tbbG^KuwX$b3mgLt*?ARoO>uIT$TZzV7jF%sNT6BuP^NhGiiH z;UDa+IhmZd28}14bzY zzv&0e+!27^=~|?z+@0?zlO(3GIaB1!B?xJY(_+iI$r!D4z6+eb=>`Bs-Sg`>8;mj@ zE55yqDF&m7=XZIN3?Wsx%_#zm97T#?2U!B<$Q^PYqeS-jb9bvzJi~_8Qznf7b0RJ2 z5|sGI*PDU{wq`4tj?rj-V{eE-;kLuih)xWow7zLsw5P=7vLrB*--dseu7H$o0>4XN z{HxSy41ZwyU3c=|rFrWZ?Z3-74~(-!qV9k1OBx2LFZaZ|8ztH?`0e}^m^~OG+Hy~Zeqh`(%M@LZVA6jEhq8${=0Mnq@lmLkgZ@eAVh?%Ty*p%^SdM8NQey+1gR4m z)o07b%9xp8{DPpBdkKuTdF~#j(`*WVxBIPA%Yl%RgJQ&0{fdl9kFY^D%v^5v_Sr`t zyz(X_W-1{U;l1*t?benU!I5}!V$lV5hQ~d;~$3F}><_Oy}bh~id1|E{MA*6c+WP*^QYCemoA$lYOpY&>0iVC2`OdVZ-HaB%;)dqSZ(Gq9a$c~x@i#D)alu7 zDx(eIFf=5g{;w$Nvci5$V*UWVg3*RhrD{W}w8cTzTWH?;*CyLy0e^_3)}4MC-3%#Z zK1nTAQsxt+G-_;VxUqCvh!$YDm3Yc@MuJiD(G>qmW@ZPZG*%=$o;S=E33JP_5n!|! zuwCLTyd10>wWkLg<{p?A$LOi0m6B)NI%HzO9C=L(na*;sXfX2Bnwwa6Mtd=if`7>{ z`hJ|u1u_Zr@Z!;)-!C^qGfvRt;=~_Mmi!ex?zovZo6&|0_jsG7)C|5 zzog#zd}5RIFWvQ!#t6E9J+Iea`d43nSr`dvxS-2tcD6sG386QHI97PebS#$rrNR$< zB%=+PYTExYRs*TZb*o=a4qpD(#2fsQ7DB4B0M~^(af=myN&m7t1=0k;$%elyyiwEr z)tg@QNXDy<>}W=F6@Tk*&K<)Fz`W5B7A_t?HCL++?UXm& zz$kCHhZdbF0z(h9(G2BgS$Y;y4{m+dUBkEKk9Qtmc4%9dJ2s_&d4XXAu#`#mu3@!8 zmZE*RnbN($7V&=96sohpg3aK(vQ1XXdmnKs3 za4ToC#WqBTvy^}m*D14Jp&fN8$+)KJK3C}a*6Lwwq&TBIlPl^&W)UDvWwr{>vCu1EU;fGz?=u8 z&742se-rBPoPd*apWXb)4?nDdgUi6kdF~u7y$gm{la4M@r#-Mhuaubtl-!|#X~rZR z-NTkd%9*zi3OiYQnWXJr);CJdWbPGib==IH1M_A}y<8+Z`&g}LIpepFZ^L&y35*7c zcg)T*iTwe#1SDQOX1tiG2BYS9P18*#aXQ3m4U;o# z5AiobtSB`92(P36APR>Y+_%(};u-Eqmqr66#ae7=2 z=E{~@yD$$?qA_ElVBP4*uMlG``+?DVL=M2Y*+smZdN5SYV8RLZ# zO%k_irI}!M+}rVuRDv9F!uy>nFgX~eGTljhj4c^~K^#*Jo=&^B!N@P@V^!)O=O=-G zg)l;3{3Fj6Fq&*GpwdrZ{Ey)5PVk;cX(dadPp~D4a>=q2tX7hosTAt?N6tnk`IvH= z(l{_oaXT03c9guhA2q&1$%FF-KYNhapJIJG%bCP|to&pBY-_`!o+2BSdohkVU5zh)AX<|QypT8@(j5qiv#oIS(lq{|uGv;2hcxBt;# z6kz^+(*`hCj+M2ONvnv_?kF)m$ChNsnE~hc=yI-0=0X@Pm!5_Yp~H_dexStrME*LS z=au;cOb{6V9%c=gJ^DfZdLt>ohI3=VaZ9qenANhBGdGJ>v7?`av@cO*5ll-`OW2aJ za>~Y~ z4)TjY3C0fvIVCM4#^#2)NGz|gB~#_h@GE>ZegKHI+xjZc_#gX+f${lEEBQEBKbYl5 z)8rc83IBt`zF^b|PLYVo956~FgcPhqU`R)>x)r=l{yj=xFfV8#qcCZU!N_q$y|av| z5E#zVxRW=kWVL3>nea+Jh!El(N$zz%G~A9Y(Z0c!%#=%*+pJcOoQb;4uO4noVK#x0 zX)sLFQ!vVUem6C|quL7S20Z|bhQet|Sz>H%KNqGHC7NiQ&T(&&-c{Mt8z*Bt!T2_G z?41V|z+1pD-hqYk3<37Nr+Vi|Yh)2vZ?2B^f+t{oc?K(e@AD@+_yNtGVBWv1G)g3oxXg6wd|c<_$BXyD_#ZDg)TqucbQj13 zqX_f+=xMNE&K_k&lb0$+a}ftdp7L3}6D*9^L|ubdzoHB_42-u)G2i`)Em*&IqrxI@ui&N{3Dp%=~ecIrHM89W!0Y~4nIm_kDm-l?;@>`Mp z2UU9DRK^Skv**W+7%v0!;u*$$U(n>XZmH2n`dLG1h6|I0QfE#JTa;wSN48|8oH_mJ zmshywH2uu_u98bKKC?NiNe1_sf_2B|W0O=wmc_cm!*dyx=*+14Bu{HQ; zZ)m81P?SzzxCluzg9t7{DLz^FkbJCw;{+TJr0ah|YBzz?;*so4#)mwfhCdSGs!;fa zby1p)4~1n8C*_e0%@z3n3)1|u_)z-=0xks7wUGKJg(dhJJL_>PVq266ESg134nd2}zID+|-)$;Uowt zoD%RfkUBUk;CUcj>PY&<_>kTOeCYZ&qzK)|hjRWMKGg9?e5gHk9tBsx#=>2Mq=3cG zCErg@DiWz9C6NYNQ^$45ih$IP0Vk0bzG!M22&hj&T!f_8Sm2Gtt$2YE1Z1$OP@#@> z*&&+^*@VrS?WodB&`?Ke*$Q&%vMsOJx-`6B>8ZG6Y7GG0g@<7kQ37E&lL+R9R=?C-$!Ak{oiy*ItLMm3`i`w7f zS^vHxLn0@xH+S4XNsZQ2#%nM8w)`Yr^HgBSD>z#`Q$tgye5EklcAG z$p0s#33@N+5mNDkzzM1NQQ$y62h{|e1D~Nl9ex!Q2{pkb@QxhRz!y2D38Y1+LqY*b zt_Myc0|6Tg^@LP!EO289`X|F?f`E|vG#5A_@m2!122zy;zNnpzAh!jQ;Z8vO6LqGq z{|_X4j;JS;IS7g}HKbw}ffJIVvw$vyto3$7u{N8#-H=_jUGs0BhV0($MqF6^1RI28 z!(ZU)NL$ok$SH~uLcKatyGTK) zLTbNU;DqGhDjgL_P}jp9J~;4Uz+2p-=cjX#Z2- zb1 z9}FZ%!hqCnC?T!Ca1>}xVu7SM0!SAj6_fBqo~Hq+VLAx~B>hZqGMpvoDS)IhNsvz= zf{T#aPZc>0WSclqf!Ac0qIgl>hP*iUm?^JlKhsy3CYf# zI*31YbXTY#q>B4Ml0OjS>PYg3kZS{90WE-yC_H~dveQJ66Ot)offJIQrV12DvAIz3 zZ%B$Js3!w01wBHNn*k~0Z3VeHlHGQKoRIX}3uqpwCdmH{VP7F~7ZeD|kOzzzJyp{y@?T z5ahoj=KpsAJ6(14J5Zy*^A2G$1-5#(V44h7OhNc!OdMhJ339mtb_ItcSy1>66)2F>i0rUcJ>MNgd{K25Y|5m-1TqR5H;t8 z1{Z)f;I%+<_y>>-{{+%SNSrFEUP@noL#nSU$m>cGe=66<7mY{{NDBG_8UV@DCIUAE z(nUypHUpBVCBCSgnSka3wgOT_+X&nONEadX*Fhmv(0})r1f78RCvw6Ub?hRb97r9w z3%nbUE<)1l4kU+s1nviwI43X69jp(AWswcC?K^T&2xn)OQ;wxV77phft08$`#WY+@e`W-R<>H;#fQBWjo1YQIr`Ef!1Z%7@TKs`Bd8c6&MkUG8~ zv?DYCzYC-R-3MyZ`maHO8on0r9gvROVzfq4R2N9+105jUbc})IkO`0snF8thHzY?| zqMp!9Kyx73Z42b?|JFi<4N!IcFTLY!&-M2|y)>o~{`ZcT3)3`w(-i&pj+b5*Q)2x0 zj`t^`K$kkw;{NX)FBg_T+W2r0(jNQYJ6OPTTCJ6>8R>hF4KhxzXv?|<)jTOtwYnD^g1-v8e5 z{`Zbo{oO9@n8ayy{P&LczjwUH%fmUv5{h6mw{8x*IR5JzooNlLU!uIEeSE#+!h)S zj`qKBtZhN{UF*UZJ1T0s)I2_5*R-m-@d-oIr;gc2?A{xs9u2Ltr*{(fX#7L>2k;Vn zR9zaKUoOru%YA!r%i=t*gPqw93r63}RJ1Ao_~pZz)Y;aZk2Gnrr1nE(k@1iIr(X2C zcEHKz(*Dn`&Bi_)7k}*in(%Uj%gr}Rp@o27xd*9FL^KHw=cG@jX`s;ido7(Ha^$u5ebmQF1rvI9^s7&P> zP$RA8QR=4$i6h6q{UO=gP4}vY$B*7?(w22C@B3`|lhC4bIfwJ|^S518ywlop*22iP z%K+2W_4^?|W$B9`_4J?QR@+ zartedpRfH^yZJl2xomzrZ2Hs>AFY#@rOTfT+IXz(%1ZO@KPxV0=b7}QU%wLLNI(u> zp`Wd)E{z7G%%;n1{Uo_#_1h~;x(|2$Aa8kg>nw5jhh)u79#1+1_Zqvi;LW1W%er2< z{=jUrm$`1{qk=snCyI=s*Za4Ru2D05Rb>>Yk-yX7Si1Iw^}$8GX6@u5MGj@a(M9r#Gub;+neQ zJ$Hr{ito6HfBJ72b->}J+k~sJ9kw-}67)PwetqJ){vIpl=09rYm36Jn7v=0DyG@w7 z7JuX{iHkLP*1X`UhyIF(WLJTol4QeZg}UJ`p6i+xJnB1dd26o{Co|KE1lOvwscn~a zx$^bK&s1^O{=LSxh+==_?O1YP#>;K#U+fC}#)cH%j;z{Y->~1X9ZmV)^wZ!%T&Zq% zh<1om+pNCI=^na&MwIOCANcK!;_mKUZPL8$$G5sB`q}uo{`uDu(Ut7+Z@SK|O&b1Z z&p$(~qHEk^FJHgc>)~@t{>3DYbMXASy5WOU90$C=xkcW4U#Rw(_gRj4r@m%6bewpq zUWYcXtO6tMlstB-^40WjAM$Yl8pwnML1oji3IU`9A;ts<=rZLu(|tHQmP- zj9*b?P`2rd+w-^eN{4q5-t0-aovIP-R_8+aqELm=&*^igmwmi^!fvw5#iC-J z2rs+OeU`f(c~toHSm2jaUv?SlJohuuIP}0~&6ch$D|B=xyBw0)cybQ&A-<(<_~6EN z%f`>Xsk8Knc@5(@`jPp^CfeIC+4p{PEM$N1gvQ0fg?-0H|Ta}*f-9wNHZHoZ>t-2ozfy|;i?Hnh zDNi0Ed3k2gx$>%Z?`(9ow!E1>VR?D(%8v7!w6oc)H8LkVuW{$mf?bNl9W}cO4Nt4~ zLmkZfIUi62zw^b!Aij;|NhgmjP`&tS@a)Ocw;Yjd1_!CQ>wOh5K~pzd&R;I!Ef zgPvKqR?V%hKI+-y$GUlM15Wjf8uzeMe}&0@ztsMnjI9SJO-g)LlQ}mFae>hZvcF87?8ejDmr`*eZd#C@VEPnw7Hhh6&J3Qh93O5O17oO8Kv z^q&uC_vfPXJ+HQv&(ISmd5ed{*6!)H)zxsx`+5nrWAqz68Cdz`WbnwwjV02R+hX7E z(rx4Lc6FA++*01*AG&1sk-FWdP3w$Tth7CFQ{3g|q?ozub|orKnwGuZx8AN~bMxp! zkE~x8nHaSwlzuS@U9$X3)gZsQOTOOqcdU#lUA3&!BEx&0+}^|Aj328T7SFs@k!~L~ zH*xIaAaSTg>F1WYQ;t*&>*DTJ(%WuU!%M3iQ{;E#TSBK)dhM62+Zey8bu*b#c#LZvI=lq#@e37Z)!&NUwU6=G2 z{dV8()14f4-HJAumU7$T&;5t{U!&jj7K`{ny%Z_&A2RNz3^hVe3*FJvYmxFHNi>Zi z>Fxo^Tahx)1Cl~W6wjVFw!Bi%K2Z0Q{Mqy^wz1DO+(VCqPdrh7*tF0i%H8#r_~raj zPv0Z#%F3^6w~Ra9QUCf<-$Ql#Ry9ofb|7@Y<^5`X<1f*ET^hXyZ#ZVUs?(gh$8JuY z&#abwW}ec0N=-Zg>4XTTWcrHTL+<5ywAu zYOB;~2KN?q|JZ!toAc+|?a-}_@E&~g;;HTP%$u9+`#y9^#jdN{`o!h+I`RC_>{7SJ z-$=L$3$1FZFKR_EI1!Ix|dOhb+`Liemyd)lky0; z*P)@Aq4|S?u+_tN$AzAEU%s?qq{fTMiz}VSZ(wGW1)UwBS0>xEZBO!P4V}hyL+15+ zcyM6p_myXRx*l*zO?2GM{}l+IShXtOfEtB*S8pG=eetAyM5^-rxjS2j+n%{PX?4fR z-B;vAj1BIgf1^*w`;UHpHGVcW>(JCTEna&Kn?4~Y<3an}>TcSGLGJG=m5I&aUa(Ws z_0JbA++#M+s8itn)@h3jgXGSJJ#!A9o))&PSz4Xi(e4i}*G4^mUcA}$W6Yub%7yux zX1)k1YSJaj-f(2*E4AqTsqUV^#_!*nP3oOu|~p#$^rOzT71Yj2KSo%H?3;-$~6r&<3QxS;1BUSDVY7;F2uwa_j-@W9rI+ed%8IMz4tkx{u< z>yc+>YQ)&;`-i=kU2G&RTzt6jUG4oG-;AEYT1`R&Umkd2)=_QPKh=j_bi+B$&pu(q zz!UMizkPeNEd1i^cJ&9e{B&|ll~H(0CvAywLSDq^>&6Am(l1Yn_8VGceRQmDou#+y z?k%{Sy{MIJ{t7YhJRZ zl;3bt;-`zx)_1pYxxUt7+@+SMCv9n|sCwg8;9{)io)~4-rIDzwpKadCJ<)yNzC5=m zjae%i_Wdxxz}QCjhL7!I%`@G$oe1`LFWqMxu>a%i3!S|}o?UI(r}N6%Y4eVBtIZj3 zvz?XF+7#~Pgg4WOZ&v%{@&)}>7k~6P9RI|tCQkeDx#^`Xjv2-czOto=xpuDT;Zj*= z=Q$A{jfeK1b!o_I#~Byno%+3YYPl{{&AmG6?)5ldzq?~t$#Pjq!lj>U9xA^V?Twvg z;54#g+uGOuCC1SntwM$ry)!gUPx{bT>A1Fz-R;ZHt=H5}(@Uy2+5d9!({IW<#q+udN;z?m1V z9eRI~MK_F3n{C|qaE{d!3+tzS*NmY;cbdHr>6mOXYfU82lw3HP=yFE0ov8F^!U zyIngb7L4p_KH}xBg+2qi^eStAb?Bybd*faQE*`V$E!)6z^r=AEgUQbepGGDwEc|m) z*zlyt+DY_xV5!o_D{pK9JBZL=4Tp}H;EWFLjQcI zoOL#DyODJ@v$}r4K~? zVrlP*XY?vQ>@U7KyJF1qE#{jC?Os!0GC0)T@}QBmRc@Zaqh&sKzibI{C^{Kn{(a@z z9ctb&O5={={>m?Axa*DYDDEY$uPi3PMsoz3@BHhUia;rbdHWp)Z63QF*5#Z$n35^+C7$91wR>=bvo7B z`1>GXrEl|kOxssSr)SED7sq8*OAl?hF~H?+pP#29g0^ZWm02EpZJ_3! zp1OMum)zZNd=BgUz--CK1%=U#S4sRH>vhenm>MRo^C8yxXUC&j+cwWLH2yHTa7m+% zy-b1@&9UAh+nn61!J@C0a9rsHU3Vr@GPhOIzX{zR)f%1kACMB*7 zCgs(itKTmiGxGAYao={WT-kQ(mlJsvapkW^R_Hd_?_jBXc0*^ie1gG*lv!8i4)I=o zIo5vM%59$0D$e#k-8QPd>E!lmW*e)I+J2#iENbJZYn{%%o2NXotan(M=X~=PCwBOr z@h-PGlD1$_Xyhl&ITGU<-@smH3^a0LRt&x|C_nY`Fz zx_<73HJ{E0pMA;y^%{SBFcd2#V{v;pZ-K0g8H?mJR&Me{95UM?4iR^*>e&nnZN0fi zb#CCD@;kmp!M@qCH+oGzdwBBAhxupLhesBT?E9?F+#1955xWgj`;QeFow*h~+%LRF zo_;9cuv#3NsmCGOQJzqHu+-s9ZBDnXQnzK>8f9lMc5`dE&&@w3BKhH^qkcDj&?nRAsG55w z>h9e!{n)7{@2))VaH;m#l~FZAd)i;r4J*C2sp*q4{O=ET&pkU})9Tzl#*XKh{$K01 z$#UIjv8_?`J)Ql|gEnq5dSW<1SxWAmGfOFH`s~|$OU3HdW8?N*uQXiawsq0ugn`E@ zcY1kReKmJ&d(+W)j8o85eYQ6?JQ(?TfY~iI_b5?Sm&Oup`Hk9! z36l4o`_en+YHqqw>F|`@`@^cd&-hC_MI%JYNgMKC?tExGD^V1=TfDWu!qi0j`qNI& ztuwA#Or77OS($QtJGgiKc1ps~2eI8YWi8SvJ2j}_f&cR?t(sxe7ixx|`_gk**uoLs zXQ~$TcB(P!FuQ1>=vJX+eunwUx+6bn_G^F0YD}`4duHnH-MjI$-RFu+fB0W*?0)0o z_mwwJd`Nj;;PWuTch`&Nn}f$~l%(4i4-YW*ukgxhxorCJu7{V8IWW83$0e&mK1Qr8 z6K_yjx5op`LI)&cD`iIqB;&L8VjaKDn@&}>YE*s0ea@)aYf4%+Yt2UgG}_lwH2#g- zvQrZbzE+(%SLV4!gWYXj(7DxQ{f&)MymRfJZcR~y+jQCSV?1p?svAffWf0}~Vk_kM z*6YXDt$BaA?wkO-HG##!I%T<6>zvHlB$={@In7qsJijElJM_XI;eGB^IXpG%f6;E- z>=AW*f;?J0W87P9SG?J#W|scCT6JkyI_;BLhx=4Ltf<|)C8uN0q0R0)WZsX+lpf5x zF+IX{&y-E~+BNvH#Mmj~XVc>OC#TN5^{Us7z%D}%-YlqNXPI*Ls?x0kW~q-+&luf# z<{3i{jj1Evn1AulD?guB+Ok`BbQ`c>>AI{%HqVq}H!k%Y)+K32kM-Vt|Gers+UL|W zgF@Tg549{Sc37#o$Nh!4;Gf2To}V@k9@y>_1@ue&SH)F zZpB&0&1XE^XuR(p(`U1Fy|m+6;zMV<^(_t^wCeQHB-ydq%9rHcIfF$O$9)gjwXbn> zXnX(4#hThTJ6gOtIcSu2>x47&#-1^%w_$DmX{RUKw11R)?i{vc$xtfP z#s4t*!1!;SR}A`G`YJrPk#TsIZb@9@VZJeql*_H*-rX%hb9K*kZPi96_Q%j;{%K*8h`G$^JPh$JIyoG%2%pI z&syER);nXqtWWQeKk-%ghJ*Ls6_0n#jYxTP!E$(T#<~U?=>x*&UK=ua^>*WiWm{*M zx5|=q9&~7Y#lAKvrWfiho8P*i&q$@e4cxnZwMkQZR&3GvOxUoRtPe9jD|PS9Z!qn` zq9Ip4-pO`(CR=LT@j`xBf6MaW4K$zn%)hoXSoUUHWqe$%X`+R{PK=s+w(9O#SMFPN zQ*(6Zv{9a3;$ayXE8@0JyQe5Maw~g#%V&$J_(k6^KmPsGwkFB1{@8q82gKBARV7)ir&ID}zalLEyeRI)|b6v78-%Fm@IIn)&^E>AI zh)kG@2@@7gIr`m2^W)~2wyW-4mm6EB=h&pSkES!YYQ@o`gX+?_e>mV`i*dbv#0;He zU}b#VDn`Gs%y!+ikPl3_aoulQ=bei?Fg>+HUE``Q-aC5!?0Ie7j-t^;FJrWO*<}9t zGNn^DR=LdjZxP5qCKJef-z4H#!T#CQ+c_vsj-Ri{+bnf zmf9yA8|&X5wzF*U*NxjA)HV2a(#Y@8rA#&VI;p#Nr|tzS+tG$yMP{iF%4cYVwAkYO zyTho5S>vyZD%g$A{l>_3Z!9X`9B2@00t_Qx36% zdwo_+>o`00!2(Hwm6Ovj4SCbZ}5bud}*)EAD$W&@f%vzq$9yZwalf&h>w>rup^>Va&ok z+Od;Ao>a~m=hXdK-`2)w@-mV?A9XFVdOqHNdV@JOu?G)bm^dIi`Jhs#Biw5g*i+4K)oc4{$e;ZW4>qQ;g0}-zl`GM!XF}J>h4ufedkwm%Svzh!wX^7yGxy4eROu8^rleuaKfZb&8o*+ z&w1T@WYnru<8jB!rZnGn(WmOO*#fuVjE$34d-t|;>1|o0JVNeymG?Ch|7?3c`)8lD z1pzuWTT-LT9^Pwk^FX2JoDcp>^KS=@+Iz(*t8}T`Er(uelk1}H zo@BU1&l#8AF1lx|nUwFDoNfJCJg0i^apkhROKnH&x477{uchmR6`zeCuQu=4a*$4o zs~$7Hmrt;>6!-1fBi-Z9f;^>3C%8A)?9Y>x^=548(4Z{P%XCfG+c7#nvzB(1eYW_( zE}hv=&wJsM?yGKhPMfyE>`Y(RPnAKz%{v6if}j`aW&dA9Y)uJihSFA$M7|-pvr$QeSg01@BjCEJpSk5X`QpyI{U1(_ddfu_ujT>{cx*4;o&n_+Wu1SR>ms@Gc^>R zp`pmO;gv`4#3WZXSlASn{b`&ys`HdwRH*OC_o4Tqa}uwd6na|q{`;~=!IlA!Rr_Ul zN0(~sns4mUceP^Z6rlit@T>&GlU)&W@MyoKU8e)m4){tIZFTdS^^ z&%b>4V9U4dW`U{U8z1az>a0II!fVwwlWiN1$ahs{EGXJoo-#)xYQ)0hF`D;UBkdh$ zr^^@R3xsDQ7+%Qn>kC}HX1RN6NWC1A_SGfxV{EzBEYr@k5H+)ci(ThNnii!=I!SV_ z1w31;)t7l<@oDc>ebJ0po;4>|N0eGNTw!#L5nhJM(=xB+fiMxBoOgb|-y| zczLtsN$-P04v!O7k!Uz)#k5d(9WO(lmzvJ3+n*nOtV?&T$7rSF4)z<8JRQeh3pu*F z`6jRgE_|&c>%Z7f+7waEzNSZ20(P z_C0%FCd~vxMzQvU_Z#Dmy{{hm^!mOuc$?S_Y5DrFUWoBobFYKl}O7sE_iCk2SQF zOL{-aHkN4y_ z-4ZBvieT0nSA1k0zVzLYFz{LOR->hw>rd^gikWlpjK%J0;lmCm_fcv-+&s8rJI6)) z{`CAmx3AlVKD^&?gya4uFf~fP+`MZN^Uf5F;urER`=H6j8wE?QcAxgN|5;{nP<7qt z@N0dSs%LGUXK{r!NLu2_H({a16m`#h`%w#ApI^9B@yXLIX{qRn_p3hi{%xP$t36%2 z_=~Wr+Ti88Jsuvn@OfzM(3JB!S7H2)E3E;Ajvsuc{m6Z4{_J1gS`UUf8*2Rr|b?z+P zQ|~dk)b`xPR>R_P6GlEz>e6jqZx-%1XNB}t(^DotH+Ibr8`Rb%Pb;iQmgnVz1^86U+=E>sdYRAd#g{E*|`eEYut~&glRH+ zA$pa^UxbC|k#e56Hm|*H>s5#wY zsr$>V1+^a~jy|YtmRM-lvhb!|h4&F|P4#~M?ju-m>hh~YKORrYkT@1Ge?oR%;g8Xc z0jA+0N^$1rL)JKYeDHYEKE0+e>bmEGijS%}mjWe)o`z@J>D1~B`qUb=uAaPPM28*uMu zt#bv-9a8UJDkb%9X2-qtOQM~&1e*@c&@~(twkl53xU}Hx2X`GUmdyMg1Khv&H4Hdg zR@kVUwcKn@YUJA5ytc2p5nE0 z&<*F1!*55I%1_M6w#@DJ$==483r%>iwzxH^W@TI;Gjwi_?>ya$yzuDjQ#8`zFT!>i z;l?-ZI-g1ZxpsL~`H*ah?xmx$IJ*KQpN|Zd-oTzV;#BOl8)XTc)?;d~u1dZgpB}@S zY^^oASUXEf^Kpk%$s8ul2G@-HBXQ~mGpeI->Q0`3Tgbq-&&>wy?DL?j@ctHU+nHiY z*DQZWh2NTe%2NK5v*T3tKKIP@pB1lHvv)P=xKSwcd{#f*1-3`;%i7r{mj}hJ5qv75 zPR3t^-+oIuTO9PfC|F~a{)4Ige%zWeXPDotKz;9ZgI^C1TWJ4aeS^cou3MbEkuBL0 zZyv@yTG#w*LPyRWk4FaQg5>YV=QHmnAl@!x#JiBOF+sdXCsMr6*H2trl6UIEf!lAt zzUcS+boz#6`xHKG`S^UL#5>uMulzSI*Sc}vQf+t8uH=;~=gpik?Ll&#%kRDm?``b5 zy)U;-pnew###>f(I;`;0fXkg~Zq5s=0|O(sAQ(vqWM*qpWd@YZGYR8f=hkQyTwW0*t&n# zu&j5Xbt7$h26&c;uhU((eyOyv=O>nVb<`Bc^C#m>f{V3W#Ex2cFKCWX-X#zoT@3h( z@baIX_p8Po-W?b9z&2dxNP^Y$_bW0r?b=-?KFNvax~5)!c$-=4blP==-~eZdV0c;?)^E%)FY8&-_AP7SDYvjY@0TfrUX*!J^X{RQ+_!9wL|Fe}0mY4Gvz6Cuew46xM0L&m zBe}veG`=!iw@073(pgZtH%>d)P&&$B z`QAx=^4l}r<~c@GzOSAX=(S0=d_kW+g-QYSAGT#jRp_`H6+w6LTZMUteO__4>NNH;E;gQ#F59thdm?<%N)*_`j{WzZ_ zGufg)jz<(Tdb1SHv^-t&kQtOCROjr?NK8VboQoD}Q`FAtnQVBd#CBS>tojY-hfx=g zwjPdX_0`hfchx2DoVKoAy-0Ygb1iFIaq6veB-8J8DJ zmMy#!QmdS75Joh7l-YgD7OS*vy& z%aqL*|5>(Ym++%q(?rd8Zd>tZwN}l67eDkXIm?gqAM|D7`Ma5kEA&6g-}Lf0ZCxcj z;=T25X3=DX*Kts)Y0T-WX|<-4T2H`-|CE_SY7e>*;*2=;v$nA(~N|g78`g z){9^0)+mbGRO+lh`;nIMB366RkB~n`8uNu8ahjbr|7kn4cJ1mRYc>T-rp8uf0Ch4C}Zep5=)20bYMkQlJ(Ky~bh>g(0V z?7FjMj-0D4-Pd)qm3GM+SqFA>`5#{*T4}tY;il@Q6&=bA!bQ~)!K}<$sj&*_Zk$)9 zqtC1m2rp4Eycw+ve%gq-57$xGT3%WGr}}{8ch7kDbG#U*Czk!mWVTq`fYP)lHAxc)0lV%g!g1}*4aL-wNLM=t{=Ak`;G&*mnKd< zAhJ5=W!sS~btrwN@Yp_A+1Eo}b8u~_*N*GQJBm$=r#|5Le7)HtS-8_F zurO5jhg-e>ubcC(ygU=LWhA5Pi11vyhqjD7S(9^fNWY(N=W{;Sdq(Na*=((`>|R`7 z$^6ahp0012dSk}2o@Z7~)GUt~J#ljk-1WWv}mHc~E8F1Po4vAyH3HG<)NH;-&mkKQ8RR&zaa|K7XB z@wuAr7v-JryryPDhZ?r_M*SXdc1KL%(kA0uY zq&Xox>ByKHg)0}$Z{O$VQY$t+I$KQfL&%;LhZnzi@T2wK$X5F_&AbgV!>0ae(|i%R zd1KSM^2$Z$bd2P3?Pk3G$T8b3PJ=CXZjKg979LFV`n#9D$*`L;o4)yNa<7l&Pu(h~oLC7X%M+7r|D#Ek+)V98A z+$(3Xnv)XB;jWp#8Wu-oyI)MpSTu9VTGN8^prOY)EG-&>EDHyEUmdQzZ~b*wi{t&% zjNUZ9n}5jCG)*A9b%NogdW;JOE) z@H~aPoC5|&#vOE?RqHjNx?rE-hIeKbM?bE-xghB&^Nzy%v#-DTij`wGgdP92=}g#^ z)h-56rlC(1c8(diX8%IzbWPVNJ;g<})t&2J{`xxIYippvE!|Cy!(Bw@H^dBfj0hbe z5FWjp;V;5|JN!+Sy)EvRRZR?i>ESLjOkiH*SDZ zHRB=%ov+Jzy5DTZN=BjGTix2URLh#laYlIW4)%$2nV)p2YL~U0;g8Ow%PN6p$_7I? z;`e`UJz2am{_E&9-F>V3z1*0&IZ&)HW{bm(%(S8jAtzSp9kvnMUnh9oqnhL|!dK_7 z9BKX2_RZ->S?!yiJBFV&FL+z^YZ&{o0gZX?RC|TI7uZ zZWoNdoqb(dyffZBZ5uPy1>wE5+oPj5X{=n|rX@=PGaNoBrZ->QKJ`!6l8;|q6Mj57 zxit9ax9OXwwk;bQbSt4cf2!9LzxEa9nzO#JE3Gp^h8GCb-e$q@+Pv*orgdld4{GYm zp1b^tN0?CEyQTBrOsb83*Yqp%xvT1zNo@m9EaOP-?+MOL${BQ|@a$CyXNCBZh#JjF z#-Y2cm|qlLnn$ZhL06K_Io*l}bt0}G!qWM9>9s+9Fp4FVcsGyTJE?p>C=NjqU`9bdZSS90 zvVyMUDMnm+)zU2Zr6l^wIe!rz+q$uFbe*cLzgqSB1swxhjBKt*7bt#dm?1HEbilHl zXkE$WD+{k1aGurQQ}Z1&&hwVBAnn9_U+g z!~V}c~Pj|LEI$bVY8TBjP(MD?8%{eANXY`9}qc?T@y9Of| z-c9uYms5$ICsue#8DCve)vgh1e6gkJ=$N`&RkP1j$e(dOw=Ct&^?1%L-`E^0jzpegRpW_sA;5%cm zyX#=p_Bo$-zo|A{v9YeyQesC?q?3B(9n0;jZm7&MRd+im5FY(;XZ|Am)oO6izKspc z+sYIs&mq#Xc+AHs4gQT&B4!QuyIFGmr`h+&gpa0wIC|kKD+lk9uJ*s6&&oEcd_U7gr6=dO^i(FH({$Q3`c>r1 zBa4LnRbCu%I4QpT)2RX98=FV_OV(ZJvos|~AiSM|;ki1uUz6#t`^2xfVx2~ks$`zI zi_J2*74I%yb}LUE5ht7+d)+uN>>a1irYn_S7gso@J6=1sc%s$ztsOJ3t&H0s@5Lxh z!w{xGxT^m&pWkQ9eN~-0J_#vAxlCL5Y0fu86^qaNPoDks*)r|zwt=?q?>VO(nXs!# zzn^Tth_89~n`(?weShhE+dWYryc{OW21A&}X&Azs+1YtD@_vl@*2lKh8rPEzzH4^N zHDnB^JluKM_1(tz*A{JeTBQ~$vONBS?Xji>N$nq;+@?wQTgnzad3?#Rr+M^OwfTL9 zK40c9!k0LPzw`s8hib)yweRlG(l3zR=y`VY-Q$CY*>5?1-1d8b?-kRWZ7Vo+x(?I# zFF!0B6>?eW{L*(KQT;V;t~;~cc_0(-iAKp@e^c^~+g|awrJq(CO{vg6Y&yR0s2BOC z4(^`$Rrh|gp;K=2g&@uD+Z`@LtPU-G@$8|!?7jnHAIxohzniD}Y)TafZ=YazCnv65 zKk>@VAx`3R7k?4fo6anHIj1cvWOTg{-gE8Kzhl1)l}qW_8oTYys&@*lWdp~y9X9a}OMdyZd1kYH znp{xxWyexZ&8qZ9?+h1gyX)E~+1mwmGilQi-b95F z4rLMEjD?rWan7i>%M9o46ezmAXE)%QWv(@$EK=d*rH z3b}2Te%)!imdgHz0^!k%Q~n~Hqw-=`)bU%o9X^R40_{EZTJ=VGD2$1$ywucvRP@rq z#If&2rVM{z%Xz1B@5HA?VH2{ll_FP&)@%qDG8p%6s-?_IX8a6!sdNUrm4 zb*Ew_f$)wAhIjAC*uAVXY@heXZ1VzDI_DRJ%quKE7IrA?3SaW1-!8CY{+hx*R5rJ@_%hb(pK zcRD5Z_SuV4%+#3(?{w?SjfJkOE{xL8%M9KWyP8!oR-{6y&%@V=6;5^ce4l>#{z84U z&Zq;@4w4&+?`Kui=pV?{j50a7?u(wkRa4b3f$&ZVhId`JV@GNFu|eJ<;rB-CRV_N2 z7qGv1r^4RLK7(G~_-QTcc+^Qg{_ReV$|0}yd*z*{kB;g7@`EFJ*5rxxvPIyqWZbW^rQw0$GD5Rra@MrmfP0Pyebh={9{``DUZ^e-1?R=LzR9- zp6{0YUA4B{vEj}9aUHS`&kKY{kCgmHc!u`OMS6KHwbEPDE8V@iwi@QX_bItnnWMFJ z;Jh1SE0vRf0*+q#XaA5(e9sqpC`u#OE(zmY1$j+%B)X6!sN|Dcqx08-q_3) zOPLa!ez(^B`9tsY0*wH#;k)Y=zYWk-tnELGG_H8=ke-BHic8a z4bDyO;gn@4t_)F_6IwG=JXtxoG-0X4gOH`dfBMTYb7mtviQ$*bVgt*+6wkQpvZ$w9 zv!2afFfOym^5^HUT|HOd_sJQPUa)^#OUa2ZW)e%Qemyz6^Y_T#pnH3$2bjT{lQ zH|WvA(i>BlsI#Y1z3Ss{PuS9Tn<}FwnkKJ(_q%5BCEMStwtm|_=FV$@@aP>Ke-VCu z`MIC=wI&^l8P9CfQhT;nOp$H(*jHFunV97|yR0EOX8VQ7Q2Ii9Sh?byQA+HE?zhgK;LIF>WNNelzb81 zeW#w(J>G0L=hPqh0TSgRznjz;E6(d-YRL}jtCimr-<`J4=c81UbhBT2$NDy#ETae} zV%vGE>vAF+EBAOx9~KC&Trj+lX;*_X`)E|n&z1Vod3)KRSi{v$kKDXB^fR+u#%>+X zdRr9Lk<HynvMdPD1B zrTDaWc`J9X(z+8nIYLY1{L#v=iPioee6uV>raEPxb9;a1%aWA7QUz*K&L35?c9w}} z+t6bGzxFN&hBqisYDVSpOWNDAPH}WZg9po4utzEdH-Ek_`E7}q+l0DZ9u2Ao(#5+@t-4&h=;h3UX}SX8QK_tmca#w0-{K*-0MP=D+o&EP4 ztrvUtHEg{0;@-TEZ_dgn=Y1}|ao~xg;C1h+V0ddEH*x~?rl-$8cwPU6#6F++8z0-s zoZ`iPPqI?DF4wA^=G<@d8=;e&XGzYxUy02qzqG?M+cv`Lch_mQ+{zC_hgmUc0TkYe zEoQ$Q2iEFIh_4fOw0@>jeSfWx_5r_yOGX!ZGFFYKnt8QLJR)lLmsM+K?A}yb$hi`z zJMX9c?5lp6AsqWhB?7f~T`;^p>i2iM?)f9TRQr2PNodv8>|EEfRHrT9&D@{PI{CFO ztU+x1V@gG{wwooz>St#b52N#;wj!S<561AL?5$L51^r zVRWO)6ybFZV|-+DUdz54b?w5f$(PcO8#C`HJi~nJ=?8-%^%j3$eAIH#KsmO@t$s&+ ze<#+Yps>(!O-dljYWZ%1j4Hp49~7d z?PpcufQp-5rbVT`B3EV|m@utoQb>u-XKDRm7t2(ZeD$#3-2I62*m_S*o^r?iiD8nB z+vNZ3GJo|xQ@fu|`X44I5aH$Dts3_8famYls&UfKq%szSy%b-v;!^Cpb)S-@hx!H= zSUFa^)|cv>Vx{dlUZ$4VzIwxycs0##zeP41GBOif1wWvy5e(0xW@AD0Q%NVpe7J-}_>^+m0LN((g~6U2@RwGiSu*vzlApG^bWqxb|(Zt@YPFzO2Hd zYnzQGGc^d|&3a^=A~9m2n^M@8ZBfb5*(TvXg;VRq+}A{oYq1ku?sxxGW{c2Ap?j_4 zc77XI6B2*@z>)XjC*wD-38`!9AK7PuK<(8EhBxl&%UPj?tM#8uRh!){$_#H^X}|Mm zZA5nMb(v)|m!1yMEC2HSNr)k5)xtL}$EM^*tRL$W?|1Gt=Yt$)lDO0tCww^>;V}{t z_(Aa<7Bf?Veo#CQUwtVj&0Q8FE(y*2U}zReLUW(Rl#oVYJ~T=Lp?Sb!LI%>0UPx0z znujcA$RKE97eEs~2%07qQ$-q$5NLFzplM+-%cP)bBuxuxp0F4#X=qXxLX##9O&g1O zM4GXo(2O4p%`+CWelRrcqSri4jihNI%^%c{5;UnX(4;9r!(ua!NHcaRG~M zL$f0mnl5E%`m&h`D$q=hgXWM5G-7P#6KTGY##0rV{%mHyDl|uzK_fC88VNSzJ{+1E z%b_VG%|JH89>MZr4`MSjNlLMq(h zQi073841Z@Gs{Ln4q-F(Bo*0=mImZdHnWnX60#*ZjLjHmLMkIyk}7QGDM?i}vsDXn zIGcG*as=|!hE!uS*(BAGCCQO&#z6;i6mle~!Dhab)I^55kXmf!I7w~frw6Hn{7C8| zKazULZ#3j+uh{P5dgwgK`ZX^1=wAdQfRA*3<#AZda;NSY#UBgnC6A!A50 z#81*3@tQzdAYPK=5U(lZc*IN667iC>LcC)ktr0It8^mh{IRWvKoQQZy+9FBSASWYUl2gzgBpuKm;~*UouO*}t;w3p1^@=|?z;;Hx+CaJ>K9a78Zvvzn z;v?yf_(*yn9$Uz1h=-&n;vwmUcj4>! zcuB?}UXn`@?=;9*#7i;`^-OXZ;`W4Gj<`v#KtCZFkAC6>nSg#mG7;@TG70T59WojH zhU7}*NpcnPoB_ESd6Ha%JV~xap5Blt=r<%&(M~fV*P)$Au1EePHz5C6kQl+f4a@HiaSO@-8FJ?tb@?}^FEQYnLC@Xk*zlC^9TGCP>H^Q#(7%y98Hurc_m*P0scRD0D;l5md@f*u~_4UgcpKYwe0GxD(v`Ebnpaj!E+;fORgy3m7>_2SWsl>g2hpozo>|pSg)Q5-^yy_M(vk@ zW8c2;pZ25!=yQ`74-O3rph`J$rwGT%7KlKB>+m;hM)d$|rwF$RDcBTN5t45W{2Ov_ z;QxRAzrhk8)QYcoW10M%nJLb8PORj9;~UfIaJ87fhqp~$G|3b#mv}mKZlTd!4Q8+7 z>4dTUl?+&}@N_iu2F(pe%T?&`k2_<_GoJ1`PlxGz5{2lLq2(rTXZjmduX(yEo{pww z<9|`Fnx~_g%eMnsZt-+9Az33G9ZL;QM{@<`^K`d)I+}ot=KZ4M3)S+JlGu#kDusmV zpu<1z1Vq6+T|Li_{=k_RPj{E6lY(vrPj`=}lZLL43c*4XRMOyzW0I|$LCJ3 zbdjf|87yg47ErXbJcOj3d1)j{3x8J3 zAy`iw$5r)Ckx6z%FpQT;D{tqa(B(i!)z-$-DPcVpI;yp&JRPob+^Jq6xKnIWdCEW= zb_(=4B>oAh06DB6&_tn^Jf$j>{ErITp`)FL1Ns1rqVM48Mqr))!353UNq%a8re~w& z4Nr%wtB@zwY2i=rITGu$csiQully~#QBdk*gCc#;RSF4dU|o^th`(3JJ%}cBL$R&` zN%Mo!fob9<`b`i8^^vF3#yWqX|B0v5fsX%1`!i3c3*8}_-Hw(oJSClShk3d#o{mnr zBhaZqcJp-lSU<+|`wAWY35@~AdAc5+p8<3<=LQ8ulaW%;hJYrYqX5i*@RYdk2%UkF z3jWE{;T|NE3mp~wi>HgFM#K{Sfmtle9?pCjz-~+=$0sP7X1Cu1XhO(N@Bw@TpTKAE z1$2RKKo^Z~pa*;hKfq7$3;YIu0R5#q7GQ%uKp2PsQP3CA-<1;+#&qVpWQ058ES&<^OjL)V!%fM(dd2Cf5|W%DMW={pO63vdJOzynMJH1+2` zupKZU1i3E+pp%0rQKqQC;F@P>+^TAvY2IlvCsgGqqCwQ>t} zPy=p*T1H|Z+mJ(lTk$5y0GB{Hr~rEz?}2Pn&MB<=f^C2=8*oHR(?pi$fTn*m#r9a>iv4JUOb)OIlYj%DxhbuI4VVCE zvP*qn2xzX+W}4`fruI|-G!NV@Py=p*I#3Vpg8QHWJOFe#e*~I9GobnCj)N0`F6*bk zIZzBrzy7q^GaIgf>Wj_eerG5dR$t|Y=y39`pbZMu* zynhGK?5i}#>~gRI_yKJB5zrl)?#OfpraLa(Vd-~UbXUCr=tfF6PP$RjjgfAIbSt4-hw&Z! zM>nWdfbJV~pP(=G(7hoYYyryveX)B5hzALbloVTDi~d~Z8n70mfK;#!tOpywMvw+J zu^1C6w!PU$B=14nke5LvxCqKX5jY3@Ko-abnIHkgGlf!YQ?W3tx&d>hONwog=z!Jx zD2)Nzff*7Qf@V^A~AUF(;fHBa?1DYn9F7I@E zcn0VqO^*mC!6}drQo%Z~9*hK|fCkV6@<0LPARzj-(_TPdE20}ReLd}PBK|uH=tD;O zQbjJv1N6;5x*OAH@uz_l5C*b99*Bc()YNz2j`b^$D?kj019++y!f--p2?z&{Ui-Ye6a@Zb1=l^bO>;&{QtwRPt564a@NCi9W z2Z_KL`q4li(DSMicnLrHtrtD3(xc=8=;i=ppaw>Ohp;t(7C?`Or@&c2^BA9@_N7Nb zav~)`4tuHLu*?wa!-UDQRp-&hE9mIt_r&^3tPcc|fO_ap@EuT_eFM~Pp8@sGdO$t3 z6TAa=z+3PJP}@?^r5;?zDta%=wiijH+t6lk1JLb7W+80MEfQ@D#LxR`3Ko2K21e44S|r@DMbD2cQA9Ep#6%_rP6H5AJ{t&<@Is6$aZO#^Pg6-)&#z!|s$4=^2gff>LX%mg7|0ib*He8@mB z7X$!*;0Jtx510eyQTqqc3J3-ZdF!hoBf%=L94rGXK>}C`;y^4&21y_aEC#gC5KC+AynqiI>(qN`pA~@Y{QW5?K|7U~ z0@i|cJn4abRlr7S|1>B!fb~2ht&=m1TuJMEsG!{-17w19u$i~L6>;?IzfAH5;*Dp zZ%+K3|2rFM#d5&kpWnLtZT^0}2m1F~%b@-)7}fu_^EH73@e8IJ`fvYQ=x&25Py=p( zYH$<$!9tfV+9o?~CkkPOl(bQg^*cZX+sc4s8@6e*)(Y7O?t!~N(9ah32hiOIv`+(1 z(mL@3+sz;l>rIdk0UZyvK6t!ijw`Z<$vuX$<*z|V70%5p=CLAMF7YMw&%slGow&h0 z6Ig$Nb+QxuB(B1*2=M(o1Z;dA$$!(6&IUGKS&siHgkLzn0J`_Rhcj(|fc$T}CG=#Y z8tk<(6+@BGfBXIS_AuUl)CzoC7s~$%x`7JxwEhDu#5!FXhX5KS{Nm|<^P~`Tf3PkA zDGb>3{QI3}>;nZAG5}H(Ov1Vdq!bDhgX|0X0kVsO{($`HRryV@4A4{kJV0ZjAP@*> zj5HNcGt&d381|uY5Do0-(XEcgK6-#&OE~~fIM8!0-5)g}r+~?To{MR$WDP6<4X)^I z!B{}AuuK3w_tGGaTEh@>6rf~iY&96ri<=>k93TUv6Y(Dnwgv%mpa|z706Lf~paHZ8 zwrLPe58dj325I#0O#?N0$Q}-8$U^(L!dC^7|L{!@;3ENLP32OulpH0j1rjMk+L1== zIf#x%05lTN1@xp(7kL9n3Xax?qmU7RYG)jDG@uT_HVxRUfGw~GG`yS$sH$xM>1mrJ z)iRZVr`JU8G15w-2LbXE|J6A{=0|#TB_M>b_PtD{F3_$>( zYQ`XoJ2v)%r2VOH&^|O)o=)RmGI#+pl3^Ak6-Ec9fixA^>)cxlwEhitcR-^?IyiMy z8uw7(vw;ub??Yu$859uzI8^>zY!9ZZE;&jA!9XZGdf=z~E(I10T;RJ9G6YP;`g}+; zumDgniy%WmGzbHcfI4afSPW>eKzh;{Rd5Ad z2ITV^g;qe80qRGkU@uq>DDbsl7gzyGKrz?=NPnKr|01lM1M9#luoD!5GvG8x1_dA= zB!N`06404L2R{j!2iAaGa02WD$3Z&S4vvANAO{=)2f==@m)d_1R(6AIkOg)C25bXq zARh1|UX67MA^}hU6dVOjV==*?C>VZ1WFx;6upaRJNtZ;0P)6iT3jR)Xkd1(e!vtQ)dZC(m{8(>JN(;Dq@$>*09vQ^q-G)=Wkd;3 z)e749>(uV#%P(UeZ=DxxA~$Qw-~i7+g;T+Y0Kd8pW1SAdFO>ZG2P7RoFseb?m-@vi zNd7@dPwh`-Q_cR>qy71XQly6gwcS}jRZCIQ&LpW&{*Khq{@~;H^fcQG{p#xFB;P1!xt%r`vz5}RyI-T7? zVjcbq1a5!|q>Bz+`Q)%&3Tgob5{V1UZpbPy5Znee;1;OntqUI10Xo5Lss##=0;fP; z00fc9eWgr6Gy=LQP!JVZrvM%R3W5Tl2bcy(3gkZIJwSo*v;Vh)QEgCrQ!UeV;vk@Y zbqe&pPC@(A`xO4p6d`||s*a+jixK}E&c`|xNS%>RDSp8ZvA!QrFmzDTKLT{H|1OX0 zR8A8(O^(#Lo&oA~PeB{l2k5GG0ML2g4CuUV1y8_Z&;qD%Dv-*cb-v`+3MEj zO)-$(rKO7DT_6^t<9!&bQEbhk&{1q{RzH@HsooePy)i|5G}zNwVT5OIYcLW88D%m{-C*Q4m4F?0g zv9JqWVr<}mZ%WM~zt3n_d`TclvhJvaN`=xXuAix%5q;>o84kwUNP`?|ulx6B7ClJ& zTaZ1^lKm)aoI+_b#lSm+Khr{GQ_T&Vx0lu(|f=u*G(AyYaZMGp|&45t+2tO70jeBZ2ozY4)gdZ}ZoTQjGZFaD+Ix2Jk z9E{Ga_l=YPGy)E$dIsb`pR9<%vRuL9`+}5d^I#b>mRptPOuP;|*oEdICkI34_PiM* zbu8gvjIs@IL4rjB7VY~7BJM0aJ)6x+hK8DD7vw<5un$XZ<Idt45(lDAX7)=$K?(HitbxnAxSvR#2q(>{L^QFWP53`+efKFv~y> zhev=Dm|8d*&w>NB!uFHfYGU5pS^d|6UN+;&KWU}p=c6r8>r4Jx(itT^)Goc(#c(3& zhT7w!=MPsU{B@{d+~B}^&nzTANfGY2Drx!t9EaHH4{iSX=`wrBfj<6HLP5_aZd!Ns z_S9{E9p*E4_1K2STaYW&p{L*5Ki|{+yOFMe9=at)5dC{AV*KZe1yzHL=fi?dP8Mgz zVl>L$3kTX&YxLxw-)6~t;yQ4fmcxXNW=~}`Fy$nkG5z)7-iZdG7C6{h^kVteCFkL; zkD5oX{l!?pf!$w{nW@j#8qa|j#r)sxKZwP*EP)3d+5Oq!g_!}TytqXf7^3BuF_rr0 zd|bg%6hljsU;EMZ0~;Dd!`ZAJ>^TUUUI%8v81^pKE#}D>G}j|IQ+%72DEqIJ*b$9F z4SRcPJI|tfp-?GUJBj)*Sx^(*n5G7)iJ(a8REP3|@2+LPoB#*vGw6sij6WP$Bbepn zX8=E0_%+F_y#MmR%MX7G+RB_F2Op{47>vKmEuL#IppDJa>b-UdJz}02uzkgU;GCo0 zDI&u-8L}0O|7U2DGQBwm8tO(ZSQI1_XELaC>zciuY?eIFqQYbuvZpGx@;2K-)f*2v z#8t6bV^nli5VMdX!!kn9XBb5Y#R@sxVQ|RRd;J>55AU16P0ol;h!ij2@gvdkMQd<4FLgl?3y(PR3-9jCG`pl~{cQMH2ma1SKQI2*Hv zvG7YxV+1G5q!^=^R;ILfYmWt6R)kK!gG{F}TU+Ej&Mz@$j5AwStddr73|R(F97T7W zlXPuRzh(MlaohlVHVfUId)~G&OH5GoAI8R%EhmhckYf&+u(icT;xwlMmNE}b*ulMa zLwq$g+7#6ogY%S(Cy#zkanCNeiE1>$^=pi&P$JV}isP+=1Eo0Dq3XTC&LOef`h&w5 zp-e_ zHp8w%m=|WaJE}8M=4@5P4{E(#H*($N-)9f0tw24X+Nt6wv0ZLY>q=%Foh5%qek`mjcofl@R!!pq`xOg87x%Q$rgPZOHB4SvsrW+;s`<_ z8q6>YHh$K_m|CFGw&2@k(r`Se^>{<{6io*lig&K}b`sVDrq}{4|3b63Ykz0nQP&aG z?!DyCXviP%$LQWT>}H^6M!j`7qdE>5k7X<%6g}Zbr;KCXomlT9*XsZJEo8#rV4MO6 zx&b_OJ&|ZON9Flnhkd+5tU11C>&5EFqyJjUnQ|(-k>@b8|DS%FW_$Pl>+ps72nV)= z4l`gp-Jf*ut^>#LajV{*I?<)^uj3@fYCMAQg#+E6Jbwj``r&PT@~^`(SkQlxW{s79 zQ`7Vjmmz+hJD4==s(1zt)VmHIi#T}kY!Es<-=UhRgaa#{X(GQi_|fI+%zJ6&Icgld z+2{KyGXpIVgOP4;Llim%M~=JdF%}MEdT&4Wuu$JWsa7GE6YoUiFp_$Aa?5Y?J z2fCOh_SNsSSmmI@+ZCtn8fFU|SUZ>#jd2IHF)7!>`qJrludruSYqaUvt z1hQ59*Ah)p3S#Bf8P9p@1hz7-8WsPw4{>W?4YO|o^5Zs|3{yMdKh@dWFdRiY6fA+* z7VLaKea~i#QQTTZ_3=~YHvt+`zK;Q7kg{VBVU|qfw~;KjJryI+i|9i0?)4%WrI3|R zshHktQWbN7oEw;j6Y-2x$c(bZ748Bv%NASz=>^oltdmTOEx%Y^)AJmn8ErdQ{U0=+xmYO|J?7NTmLNOpSFK){l5nh!?;aGoEgkQ2*uM@y_cl< z-`n%YobXdaMWP{Tyiv#OA%`b$pj+V?+hL=Q)+avdJq@Uj{^O90=oGfJayOi*S^noE zCfCA!Zom&xrcPn2@+*p$2E!bff`nf$GP*24dnOFC2O@V5>At%m-`Kn&-mfgYXJ zynGZF@@@pWzj6(vC*FSf*P)Hs;)q+e#mL_Kq}!8o{U1nvnoMUm&NwU~%o8{y?!`Tw zYGGD>zZpRbR)=z{%#054-X3olULYlWR#tBDsWbx-1`h!DQ(f^>$H`|ocd^MRBA3Pl&hr=yX;9_+>yAyE9(l__6Y54`%NQY)4IFhR%mf#H_gU*#?P|JbQapz!J6b*8K<4-5IxC z>Tla&5y#Q*%s5^*<;$KIY*qp~FAdT)ym~uGxy1~zUG-5ox6s+By9q@v4iAkEUa)wf ze4Ll;rF^~KK8nJG_&-NeeD5@+PJI~lYg}IR5^;s$|1d7aQB7QAbgbVXmgRW748SEO z6$he|INQub{P*!kzp;}cP6pF|I~nk}!aW;yVjsGab?>gQ+i3fS`>KfhLQW_T7J3HS z{dv~}dCL{thr7gH(^Z)0Y=}I&wZFH5eD4z`y~Pva{|@ir*Uf#U)Qlrv*evWqEhN-?+T-13-@_B^*dO*_ zA8HBIsRs7Jl`_fdTex;f-*>67&>I%)^v^M9qTnFZ1Uu0QX|aBPvw><)C3fPy0P=u^ zu01Q|oGZ+pT%_?BjcjosKUk=jjKK8y?cdM9O6#IPIMEHtpEAxY|plQ zSd3|SfUz_0KtEHDY;C-~M3%b`H`g3k=w-~2pm$qrAAa|Sh3W^-bNu>A{J&KYuYR~s zxR+=2UQOdZ7B)6nmC@@DeY(yX3pK++kFT5NELtEu?wKWpfVZ%CGa``df2H~g`^ezN zmo&R&LFigT!$RzYK@C+9|2Lr@SI+!%WCR|+xw%rC|Ic%U`VZBdxp(hvEl$7q!)VpT zG>)a7U~Pn-|c8qry(vqSr&#lr7{1 zXN*rW{`X1^pbZ(j`wX8as_}i!^iyH!3+(>Bk?A~6|_Pge! zhLOY$u7!IR{h#8#1U`x)`#h+LCol1!LnhM5Tv zKn5>l73El@5M2ZTfrUi`B`ByU$f_uUsK~J_hc0rc0ap-I{C!_l_4G_nPvZWL|DVrC zr@P)+uc}_XdR1L9ros463#&p_M7MFGuAi^ycYeUBU&n$S^={O4nuH`C>o)%8@rh>v zkqr?!URdsfb6FcJHlMf%2x7I=9%zWtDHyak20CvgU)G!4zN$}!=g{m6|r3|qAfIUh1+hS&x3DnGJEgX zE>F^OkVY*a2UwI%X=8p4yjz0zk+~gj^nGw{10YB*@wf48piRkWr)LffnX?zteMMG} z*8)NPlMc*!Y~@hesGyh$iW@MO{ba~Q;np8)_xEknvTqO#%{kC38rC5*EbKPs>5i}W z>7nIw-n0rc?7Qh)$H93YeJp9(z;?d-gs&U4yP)8cn}2i*9ogU#rG4q6`GTy0v-jTf z!ACfm-ca?7!=m`65qdLX&dsy(mQT0hLlBa=gJ zYWK{D{Su=p_Wk1r4%`rlAXu_T1pl-fG{b&axpvG4GpQHSObi?2(`&24T4?*#vHQ1s z9-KA-5OQ#JV3lgNVYJf5r=O*wBL@|W>V-~}V9DL)<`NP5?DIUms%&@zOuK-9F9Ksg zXfd#A%(K6&SaW8D2DuDKD?t9;dB+!Ih{w&@@Os-YBN1T7(!qONAj@rL~!SebA&QxiNUVRZbGq*Y?pp zzF537;uqrPt4;6lg2G$jJOp)uat-(A92+@43X2%kJ|Q;s5r`XguS3Mn^C!J9q2u-4 zhd2?3gg5GG&`{L)d{v{v^V2V%&}izE35PnqPtLSU=8@Rifez z^}pFs!>honO7r`F(&FK*(7`GC{k3V2UOJPqyp84>Ll=gfX_mpijdwym#ckS}Q3Zw0 zQYs`&xBzccP~x0qFSNRgcRe|-UB7N`a&Lnm497~s1zO!APC@V1P+?5uYdi1Sy{H$6 zD3E}M%6D4}Y?z*Qwfw5yo4e1(!#8KLA$BF!H;eLO5NIv0EVFtGN`9`m_Snb^ix45r zq6h#@<+fQ13+--KQao!Dmox$y20(bIF~=pQkmYlB+_vtwrY{3R6EkQQ0zxtIz^Kh@ zy-y#2=a?lY^A{y#X1#IG_nEh*7bXL+<1tP6wRQGnvAi#wx9xuW@#Wv6VsJxjmkl5G zLU+U6R33>KLNM>*P*t!V6k16&7Q02QUc1)*=z`hHw*!JjLoNc$7Xi5$wMuA`#;hqf zwV=h=2;nOCN}@*_UMalohd0h3L6e%rL4{7QtsKF~j914l^3C{ybjRrfO4k`mLgKHLKc?ZTxk$yZ{0Jt*46aTxHWkYvfWyI0-ReGif$h&0nE84`Z|XB>W| zre|X!F1Nd^9*?Kqf`MITUM6hIUx)IIxb zPWjSJji~~n!SW^K@#wJ*$77Kqg^xKOC;dVMZ3HeY`}Rsf)q5Uty>R$r_~!BH5Q9$o zrdO;W9(d>bx-UeX_^uN`C?|GN6)ew+mGq|-Y<4kzk5;f{#mbOYpTe%BTDP@*cm3<} zd|LehpEWH)zkud0x3d`8B+p0pjeltUs%J?*Vwg!AQ)13raAnPkH{(oLRs)hltKAo- zik|z-n@!FxTeYGYAaJNOhW-jjGYDHpr0E zexGRlPXMB&)TQ5l8a=Pa)YSwMkkb+}t!VE+^Un8?kx?O6B_!qe@7s&wem|o@8c!25 z|Hzo9w#<1vEmwmiNyzT!qwU=uW-IF?`q||I)EX*GtP`cgElofgM+jmGrBIM%fY8TX`dN=$ohl~RwhJR6uj-TCAD#BP|% zElKM>7U@)4vZ!a2`o3aYxu>$cAYx+Mq1|7&ztJa3fWtd{A)<3xp&g) z6vt4|h0^LhBru|GyZu;HpYL)tNDDy7x7=~sF{tyqRc~mJL_lZ_dh5`UL+^R|&u>eJ z4-0}c32OUu*>~&jPNGmo3hD<)G>9&g&Y07nXU>ZnWGEoi;DcZP{p5+UCr7G~jEISV zP=jCicG~aiq>v0lu@UM$I?G+GXlaA$6+#qtDtL#tPW2^ z>f75>Z_VgLyIbjE02{Hbt*?dYQP9Mw+xP^#@ckzAWDJ^$*E#$)eRvD1*FjwvF}UxA zuSZ;<3>UQ(n(Dt(*RY9$u#5I=og81_04{h$#JMT&zkKh_?MmxtEg!x{;neOC5zZa- zhzPK@Pd7~e^BQI8Y7|(Z@O?qu(XobZ>4e#Yfy4aZapA1mKGyQVj?@3vPTMsJPb1FA zL}su9ICtX%g9Hq%@H;@+b3_vD!i=%2ep>leb4^4ZAT%e8xXt(3bxYMa4Ppa?Ji`dn zZ!z1pov73xdbJQDsCz@<+3ATin(%6erwM}iv^_1DGYIqtA!@s+%|=^wB1aTCSGcXk zUwl<|U;f;Ga|q(D^oV3YTEIS0&-yGC6WUH|u7Pp@BGV=Ry;0juy=FZJ2*PhlINt|I z93aYD-G0g+`1ltZjeg6ILuhX=K#-6_>qM?WM9QCda@{vOdGcT1e&)bpo-`03Jv$=e z+#*8j+6QcCw$y5*7gRGhAI*T8=~Q+#6B*NZY-LmEV!oKWzPZ22q7I0jF&7{Miu`qn zy{rtN!l6&znV46Jr5KushxYS)Pl`C;(9GO{=NG0^E{Z^yK$Zd063X>?`p2^Ow!cMF zdOFf{m>o6&Leul#ud-j$W>l7OL6{zpPz8iW#LpEMzjz~SDW)*qc2FVIa^MC(8ygDZ zf-+hAafm+=6nUQ#yC6Ft_+P_qYe!zg8G0Kqx3n*>LvBvx^pBp#pCF)LEPP{93Wu*WS)^ef|6kI6JMXFc1(@d*3(BeLc6| zb<(T}Dg}trd3%0du&GP86ZJWSck!nsq~z%IR{aXv{YVga4XChLvRn9&=WzL}vB=Cp z5Lf$43HjA`H7RA)iuVY@0TI7SZoV$}zW)73=3SjR5l?=_FAz@c^&gxuzg~DOPh&R# zkS7VZ!Eg`6@vQU^iZTPSUSDs46c`*p$ zBQqHgQlWk4?T6wTE)*@!1>GefIY%E!d8MR3#uu81k8|fj$R|O?o8NwGM)yr!If(qX z>OBLTr`jF$UYhrA?pH&7nxILGSPT`&ZTzat{c+x!iG8tb5*Zg?4Kq^sLl%af3whPF zh|sZe4Wj!(w0=7uT>G+q;>(`#|TncWORcdacqGx&I`DV}0{-M=n&t>dE1hB((vbhoU z?&w!mw148?C_3R|GU6iWkT!be97#X5rq%O7`~|1-7ykvwbU zRGL!O=-~5WnekDBCs)th*Rzs$cZzO;{Uvvo>Ix^cp?R+XQE27iVfl;}+65>G=1uee zsS7+uL9p!ZM%oGGLhD*P%^$6hZ&pAr46ni;Wf#aTv>`Cy^pmQOA8^%r;s2Q+ogCGs zK6NRsb?Wd|xc@~l2dy77{7=ok*?@B)nK)LIiAB+WTWvVu;KRIn1L^es-}cy$A99|! z78Q!H)kjnRCwJtY*?jN}rM3}Xkqa5MLWD#k=UAJTZrl1OAaeRP*kz+hH3LVECW43( z{2!jb^3TijR({SC5AvdxPC_0(Im2fLdk0Pk4UlS_t#Z1%kIhf^jKbbVY-`uNAFxMo7O}tMT@&|ezKk+umuZw#lYd=yM{|5-g$Fa)6 zjqKx*%IsQe{OL#~4j(xF34i;jcD-xHaEwwiYQ{j_Ai_{9<6k4@W3W4)q!}JjT?=|-^@}Uz~7s4yvk-ifcO4e*yaZSziSKoh|1@0VXb$+oOxZCquw`{TZ}ZdoWgw;qPp~mtAMmZ{jY9be23}5 zDHj33E$u@Qow7w48M2_|T=f0jDWnR7x6AT?`z**&SfY6$|=t#dUBQ3c&RNosV zl+t@qLhko|U-`iAF}sz>DJZ!GknQ-T{DN&>i(ZTNZOw-~%t*AlKLkhuARm0Z|9snF z<5MNKx+wZ_8=E^8j;du<)&8-{=ty&Mm2g9Q9!R^|aNf50+=`eH>6isGSHJ?UDmHdJ z>^&Wr4Z$K|%HYlJmVVJPb%QAhucOrn(rxjq-m?UA^hrA zHYrh;0HMADl|9?pEYO-40)x_q_qVH-WcwWF22!!G09 zJYtuKsWv2ze(Cz-zf$hUwbxrE*_l0%FM80tB_Nyp79se;)D?@oOJXV?VFQr@xjdOlb~pFjVhAIT|SL0Bes= zz|5gXJh?AU&+rQvxt%%aV=-Ys)j&fO@ex@Dd VSKA=tM%u? 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%0AblY(I~2taau;MJ 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 P^mlV)OHXgDbL9U&(`*Zy diff --git a/web/next.config.mjs b/web/next.config.mjs index 8c8bab6..4b8acd3 100644 --- a/web/next.config.mjs +++ b/web/next.config.mjs @@ -1,6 +1,37 @@ +import {withSentryConfig} from "@sentry/nextjs"; /** @type {import('next').NextConfig} */ const nextConfig = { output: "standalone", }; -export default nextConfig; +export default withSentryConfig(nextConfig, { +// For all available options, see: +// https://www.npmjs.com/package/@sentry/webpack-plugin#options + +org: "private-dec", +project: "codecanvas", + +// Only print logs for uploading source maps in CI +silent: !process.env.CI, + +// For all available options, see: +// https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/ + +// Upload a larger set of source maps for prettier stack traces (increases build time) +widenClientFileUpload: true, + +// Uncomment to route browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers. +// This can increase your server load as well as your hosting bill. +// Note: Check that the configured route will not match with your Next.js middleware, otherwise reporting of client- +// side errors will fail. +// tunnelRoute: "/monitoring", + +// Automatically tree-shake Sentry logger statements to reduce bundle size +disableLogger: true, + +// Enables automatic instrumentation of Vercel Cron Monitors. (Does not yet work with App Router route handlers.) +// See the following for more information: +// https://docs.sentry.io/product/crons/ +// https://vercel.com/docs/cron-jobs +automaticVercelMonitors: true, +}); \ No newline at end of file diff --git a/web/package.json b/web/package.json index ae9b6d7..a5943c7 100644 --- a/web/package.json +++ b/web/package.json @@ -23,6 +23,7 @@ "@mantine/spotlight": "^7", "@mantine/tiptap": "^7", "@mantinex/dev-icons": "^1.0.2", + "@sentry/nextjs": "^9", "@tabler/icons-react": "^3.16.0", "@tiptap/extension-code-block-lowlight": "^2.8.0", "@tiptap/extension-color": "^2.8.0", diff --git a/web/sentry.client.config.ts b/web/sentry.client.config.ts new file mode 100644 index 0000000..2d7bc95 --- /dev/null +++ b/web/sentry.client.config.ts @@ -0,0 +1,28 @@ +// This file configures the initialization of Sentry on the client. +// The config you add here will be used whenever a users loads a page in their browser. +// https://docs.sentry.io/platforms/javascript/guides/nextjs/ + +import * as Sentry from "@sentry/nextjs"; + +Sentry.init({ + dsn: "https://68b3b0610345b912b555e01f90dc4834@o4509031950778368.ingest.de.sentry.io/4509031955431504", + + // Add optional integrations for additional features + integrations: [ + Sentry.replayIntegration(), + ], + + // Define how likely traces are sampled. Adjust this value in production, or use tracesSampler for greater control. + tracesSampleRate: 1, + + // Define how likely Replay events are sampled. + // This sets the sample rate to be 10%. You may want this to be 100% while + // in development and sample at a lower rate in production + replaysSessionSampleRate: 0.1, + + // Define how likely Replay events are sampled when an error occurs. + replaysOnErrorSampleRate: 1.0, + + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false, +}); From 904ec6d906eeaa2b5d629f5fa326b79009c3270c Mon Sep 17 00:00:00 2001 From: Mathis Burger Date: Mon, 24 Mar 2025 11:48:33 +0100 Subject: [PATCH 3/3] feat: Updated privacy notice for sentry and plausible --- web/app/privacy/page.tsx | 69 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/web/app/privacy/page.tsx b/web/app/privacy/page.tsx index caa5624..0c84e42 100644 --- a/web/app/privacy/page.tsx +++ b/web/app/privacy/page.tsx @@ -373,8 +373,73 @@ const PrivacyPage = () => { Welche Cookies und Dienste auf dieser Website eingesetzt werden, können Sie dieser Datenschutzerklärung entnehmen.

-

- Quelle: https://www.e-recht24.de +

Verwendung des Webanalyse-Dienstes Plausible Analytics

+

+ Diese Website nutzt zur Besucherstatistik den datenschutzfreundlichen + Webanalyse-Dienst Plausible Analytics. Anbieter ist Plausible Insights + OÜ, Tartu, Estland (EU). Die Webanalyse basiert rein auf anonymisierten + Daten und nutzt keine Cookies. Ein Rückschluss auf Personen ist nicht + möglich. Beim Besuch unserer Website werden folgende Daten bei Plausible + Analytics gespeichert: URL der aufgerufenen Seite oder Datei, URL der + Seite über die Sie auf unsere Seite gekommen sind (Referrer), URL eines + ausgehenden Links, den Sie auf unserer Seite geklickt haben (Outbound + Link), Browsertyp und -version, Betriebssystem Ihres Gerätes und der + Gerätetyp. Informationen zu Ihrem Standort (Land, Region und Stadt) + werden näherungsweise aus Ihrer IP-Adresse ermittelt; die IP-Adresse + selbst wird nicht gespeichert. Die Einbindung von Plausible Analytics + erfolgt aufgrund unseres Interesses an einer statistischen Betrachtung + der Nutzung unserer Website. Dies stellt ein berechtigtes Interesse im + Sinne von Art. 6 Abs. 1 lit. f DSGVO dar. Weitere Informationen zum + Umgang mit Nutzerdaten finden Sie in der Datenschutzerklärung von + Plausible Analytics:{" "} + plausible.io/privacy und + plausible.io/data-policy. +

+

Fehlerreporting und Monitoring: Sentry

+

+ Um den fehlerfreien Betrieb unserer Dienste sicherzustellen und beim + Auftreten von Fehlern schnellstmöglich reagieren zu können, nutzen wir + den Dienst Sentry. Über Sentry werden server- oder clientseitig + auftretende Fehler automatisch erfasst und an uns gemeldet. Dabei achten + wir darauf, dass personenbezogene Daten weitmöglich entfernt werden. In + speziellen Fällen ist nicht auszuschließen, dass eine Fehlermeldung auch + personenbezogene Daten enthält, z.B. wenn der Fehler in Zusammenhang mit + einer Nutzereingabe auftritt. Sentry ist ein Dienst der
+ Functional Software Inc. +
132 Hawthorne Street
San Francisco
California 94107{" "} +
USA +
(im Folgenden „Sentry”). Die Vereinbarung zur + Auftragsdatenverarbeitung (Data Processing Agreement) von Sentry können + Sie unter folgendem Link nachlesen:{" "} + + https://sentry.io/legal/dpa/ + {" "} + Die Datenschutzerklärung von Sentry können Sie unter folgendem Link + nachlesen:{" "} + https://sentry.io/privacy/ Ein + Auftragsdatenverarbeitungsvertrag mit Sentry wurde abgeschlossen. Darin + wird Sentry auch bei einer möglichen Datenverarbeitung in Drittländern + (z.B. durch Wartungsarbeiten) mit Hilfe der EU-Standardvertragsklauseln + zur Einhaltung des EU-Datenschutzniveaus verpflichtet. Die + Datenverarbeitung erfolgt auf Grundlage unseren berechtigten Interessen + (§ 6 Nr. 8 DSG-EKD) an der technisch fehlerfreien und optimierten + Bereitstellung unserer Dienste. Die von Sentry erfassten Fehler werden + in der Google Cloud Platform der Firma
+ Google LLC
1600 Amphitheatre Parkway
Mountain View, CA + 94043
USA
(im Folgenden „Google Cloud Platform”) + gespeichert. Die Rechenzentren der Google Cloud Platform sind unter + anderem nach SOC 2 Type II, ISO/IEC 27001 und PCI-DSS zertifiziert. Die + Hinweise zur Datenverarbeitung und Sicherheit (Data Processing and + Security Terms) der Google Cloud Platform können Sie unter folgendem + Link nachlesen:{" "} + + https://cloud.google.com/terms/data-processing-terms + {" "} + Die Datenschutzerklärung der Google Cloud Platform können Sie unter + folgendem Link nachlesen: + + https://cloud.google.com/terms/cloud-privacy-notice +

);