From fd96823b2c1f8dfe5b179a28f3e8fbfbcbb23101 Mon Sep 17 00:00:00 2001 From: Thibault Le Ouay Date: Fri, 6 Feb 2026 15:07:35 +0100 Subject: [PATCH] image blog (#1833) --- .../API.png | Bin 0 -> 68328 bytes ...migrating-from-zod-openapi-to-connectrpc.mdx | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 apps/web/public/assets/posts/migrating-from-zod-openapi-to-connectrpc/API.png diff --git a/apps/web/public/assets/posts/migrating-from-zod-openapi-to-connectrpc/API.png b/apps/web/public/assets/posts/migrating-from-zod-openapi-to-connectrpc/API.png new file mode 100644 index 0000000000000000000000000000000000000000..b0d9c7cc27f50d0f5936f9d63540e4f429268e4e GIT binary patch literal 68328 zcmeAS@N?(olHy`uVBq!ia0y~y;7nj(V0GhQV_;yAl4vkwU|`@Z@Q5sCU=ULUVMfm& zl@AOI42;D=?oJHr&dI!FU|?WLcl32+VA$Bt{U?!?fsw1$)5S5Qg7M8QM?Ggo3D<}J zFKTuA-S~frhu6nN$-^YDh1X*7@}K*j^t}^1SM3Zt25v}}PT zh0!8+w6cJvh0!{6v}plN3ZpHq(S|5ADU3FuM|&2~q%hjy8tsQdlfr2Cd~{#|niNI{ z7Dfjaph;nLU}1D%0hSa-2Np&L7NBWiBn&KUu#=ZJZa)n2@tV1iIf{t+?d>yn?*`3L zMC?8blG#wz{{4Dob>*D1KaHNxz8e#B_uQr$`_l(JZ@o|7b{nkF8axGZz`mfOe&+M# zzi;MFzZv`P`J-29eaD}gA8HaVsr_rrz`)Qj^>@m9|7Mkw@4uXT|Izr}nKi4+w(Yp8R%#$kD6&CS1$8o?e>4>bs1>F$oSAU? z>Zxm6)Gog%N;`0qHLakaK!ACHbb0($_FpS@8)<95KeOY{r2qfl$+^pgURB?Aq&g4RYyhrE0_8fekEt# zwVlWR8{ckvx?>^4R)#&hIiPj)p5rbT1Mc4CUAxw1`P{SOPu;A$9)3(?f zvktbCy1d)WuI%`cYHGFo>dg9(dGY3<5zv{a5APJ9Q%fJ@CNJwOD=*(t_u6!=uKnVw zXPRC{Ul+U7Nu2sx)4FxnuiepIZO*xOeodT|5xw=0`cL4x$bZSk9}u8D>pNI_vQs**^c4U%uR2v$~G*1`Xg4; zYwOdUSthSP9d_92=Il3Z<@7aKwNKf*+N7V<)0rZS zKWA+dD=B@sYtc>@_w3T&RZ^;_oWkclfAZUFYg+Kdgcbh^LZ!9s18ieaXPUaKO5m4HA+K-xY)pWo>`HrQp+^ ztVG-TcbVI-Ur#fi5_58OWl@%M>d$@6_Z;#BG``f_?wYC@m|qaQ_nm2Fo%80c%0D^J zdcu=eH9UFsTNQp2JbVB9f_K)1QG5SQGut+;#PFoa_1qT+ErMt1Cl)W5I%|2_>UE3f zh2)z|dGh;B-uld+ufn&!vs-#@qx(~feKPhU5WhBT7gy$hq~Ck1W!&ez&$N&^QCg!L zyGP-=|I{b-Z7bE)&pvUR*>oUu+LEr%&S!Q#-}$LIAX6$^;=NWko7baxS!ac}MV_7` z4l(b*ZG^8i&VN30|JRB0e@rd=R)^2~yKGnU?5;&VtM3MwUY{tvG%M#?4ukernX9k% z&HDLm!MzZf_gdEivc2zz%9LK6W4nGsWz0H`M2OoM^2OCpb3&|mpP8+Fz2xcC=Uk{+A~{M-|PPC1-E8y2?7Fdf~!?jcbp^ICCFQf6~fpxo`c~sk6E6ZhLib z&pG>l`$K=9I9&917sND%J*7PgkOW#`Um#;0w&DKWX|GwMVs~X6=iHU26ATXnG@>FJ(+OBPpaSrj-?5#!0G={x8T_s z!Mo-EA6tEV)qnN=-Amujxh^ewS~0P#-MKP0y!Y+Gkk4-n|AG>#))!~%MFyeE>gpr+ zzCHbE&#bg(^3!GAUsStiG zW4I^bCIGQ!5C6=GP5b0uz4)VmTtHhrhhN=kxNv3otFK&)nU); zu3CLRS<37Lt#b~(n|ij|DSlv-A+Y62Rit zC$9(JeZ?!XbY<4cknA5tzAv=uzc7b4PG5O(*3|@q3ktU`-uhH7`rX`g`-jdN`|!Tk z(Cm8PVFt8T+`(>0uP)%Ty8HzBZCm&5TlMwn>{VNhjz%u}8mF~uPED`ad_4C+ppZMUwzHX%KjP2`mpEFtvNCK)gbOe)Ywy?A7JofA38)TUYOY z_FUx8hdnW{N{9hgkIVD)g{XM_k36H$$6OC-&gzk`FY+1dFdseYWy?zZN0yL z<-2pKJL6)FyXB`Q|GRTIHzIP{&83fa^~6D{HHSu6JA_|ASSD+WmDTSH?yBkmdux5{ ze}0TVQD}5kYNpS-Rn{I)za>>h?(?3a^+`6>b5)uzm$YwXFMbw}yKr`DbW}{l3H#- z@Mw=*&70{Ze=mKG+FcpxRrPbfgypTym{#jr*XD@L(zQzqwJO)WDvkGbU$ymC*W-DY zR4%=`R6g}c?ACO-fW5`@WsKKMCgx(;!UsOr$7?TheneZ-@p9ow!aV@|JT{}^IZE&-=3A4 zS~a#E4k&!{^5D#Aw>FpR&dFF^x@qmRiEVxJ-^>u1Hb>#gt5>U-u7(yPN__jA*MCp- zNcTLBxc}?h_OGv2uYW23fBOIM%6aPzcvAnVuDzG>;>ya&zuf=-tX~%Y^Ys2H>+eHb zvNZ*;I)b4rCt>ZqOXsfbx}v6$zRHAm3IQDK+wm-3Dn{~*PrCgIjdfft8Hb}+Q%~^cF`)ZDS;C}mn`W=h6K3y*I zeS1mD$H_&^;eGewAOG}W$j+>cjQ@M<`q!!J>tgly{Fr3-^JD+YyIHSpY+M`_8GHHJ zwQYGi_pfZ9U*mP&uHNzg>HYt+f7WKMh+7X$Ir28JBJF@#Lgl{ozt7c1aI4E-NSLu| z_uiFjqqkql@a_y+``uV|uScPN*aUgwp5U*ap1+-@eZ4d!zx>nVvQN3@TlfCyX)16_ zeA^LYf2I0vfyI?$$J*@v&b)uQ{(t_zfd7xh|M|=w&9_{u?EZYp z(wR+v>@0uIpF1~p?b@}kZ$6)Q`P8W{xxXirw<(@3y&u0e9+HkKvSEcp18;)lS2u5W zale;uoaHaSyEbW2V*KF@SI=1*rAc3v{2ld!(yJAgKhr+l|FXROlanTo)9tFMnxX6K zgZIuo{pn9znwZ>lS@#$F%x`Zv^W(tUx4CmX6y2@Iq$Cfc}jGyRq3T|skWaU@<07u@}%BMan?)y`R4eG(UI zs(;vOeIp?Mb=S5$yS1&s^;>PeSAYJ``sQoZuXB_AUvA$2U;k@weqHqH*V0u_9=3n! z?5_`zuY7XYYTu3(8^lhXUw@xvwa*0|Ut!C2*|#_7#qM18bhdWY$D`t3Pq@on+_>01 zR~R}?ZYKfjU?+6FJY@86kwH$z!+oE3ZLJAiC!SSZ>$*=r^(SAm#eeOyB43kDvl}N_ zgii9@dSK%Fokh)2|B4oAywsHbGDRi!>MZrHk2R^culYxdxR(9gTmNbBf2j#Z`BMFHd~+R`Tr;+oR_KR-g9Q^xBnm)^0)6Z@ZmpkG=-;sLgDc z5@}{`{`S*S{aV-6tFyNqebxB;d}d-@95?spRoAo398%r*tJbAAN0@Hb{ckM8_x92A z+iB_Bwrt+LI{K$&-G{~U&%ZBN7ys{Re3--!*9SZhM}9Yvf>rl>fo@v-p_u%$~sglMw&U`m^Tw}nKyW-8Kr>9?)?f&I$ z|65b~n$d4aDfHl;8?4)3{%l6s>S<-$ujd+MmVXYj?DO{u^3R-h(o@y`Lyq&5$GeMS zk55TD`LSkqzKDBKOnjzM$llURbH2pNUrc8Ty}myF`usor|0n-@6n+1ie_UM11trwkV*|08V@2dX~ z@BdjCSNV2P-nu)N4)fcu@!P#}XQc4HPdP7E-G6^OU}olNuFvP^FP+JoI`hC($%8L` zFJoQ3P@z6|+2ueP_f@U?V$?4$xPNtP_Vto~e=1=vc4vm>uy-d+>}Fo9UVhGg(a*`> zwWZW<-Mw|?+N)Kway2JPy3f#jd$jBK#wH&rx6WOAJ&b)Xw>({O@!bmR8zJj=uX#IF zT;y6>=xX`O@MD6r3>#<9p8f0W{a??2nb&`@to`5azxrlQR$^kDy14k2tQixV=H+hk zx_qQ6En*>(ryWr{?e2S>wF>_Ux$LTi3ihx2@*<<&8fp@7C{^ zOt1J8oBtD%)eh|LhPI0s?gR=d86|Vvo)vGib~AsikM(SGQGRwQH*GJUjFW{|yOV$J z^?19san7vuCX=h~F7!F3#gp}^*57l|s_Xj~-kp2;)1F;c$K|#jR6AaoertozkF4Zm zXYsg-Kym%pOH;MOpH{7FG6>jwF(9DNJ4AAq(e>xMIv@SnEO9mYN#)Pyy;I-MUGHwT zLR7tT*WFm_I)hH-YChpBx9;8BmK*)729nQqY=@2g9EkmVIDq^6-0SiGcmMZzJ2ScJ z?NRv`v*-U`(==;&mG;$N4!1gkQV+X){(0%;l`SFPKh?gT^*w0oY+2XLWxZ!rW2@hC zM-~3xYxisQe#PS-pZ-{Qk8|12SFi8?XtVqM`+t!B-zTQhv#d&AO-YOLy_&V~WSypW zu=JHrw()s&b3>WKgpQYeSs-bd(G;4Nv4}HeY2>QAb91d%eYiE%`_=bdWhXzq4K&%J z%(46KI@@EPZD0w+6_(%fJ6_NDwqllC)tl#ADqb<_#?}Vjeto?(`=#p7g^Nx8Z#J5+ z>Fc_xyB>+^A(wjJ9@)2()je+Svar=_Q*MNtzkB`4yMD#9Hu$CpjKwu7U}OI+MrgZDDU7RE=&Goq*xN2*o`une@rD?CCUbuEGcA2}FS=N5)iqQO(S94xnyCqsW z{rc9@*Qs-Bztm6N|8GOq*~-0zM_lMsJ)FUml`Um@<27-rZeG@6L_gy-r8>P*mE< z|3;5F!^5v{*|>A*+PArLg`g3T3XgzkKk61FtDk$(IsbR|t(!5IzMejxUHVhia^7Nv z6I%q2cI{@a%wBhAm;UA4trP9d(qdbCLwc)xy^Oy;)?It|&%{R$`}*eos;sPYUibaj zzn`aA7Ojijz0CgaX8l+0{`QNdz0FI%ya+Uv=DnKT$m==tz?94_n`A_p*-!8Hk-ny4 z9Awa!yxUHO=jz+HtM0$fPEQX%{P4oN_g0Vp=1va#7wHp_ZSZ3C^|#Qm52T>?{-bc= z&&SKNY&WfVDlIOmzH;6Ee|w~I-S^GUTr94A&Zx3*ncHFx$DO7A^PX!J1e;nHzv54N z%XgX~tloX|=l;`$d(A};?5cU%_3!uphxI4q*Jqd3#`4>K*>LDUxGm4A520DkL0axy zw{)g)Ce3`i?5CEmFMrt2sE;$A%|B_9otvAx>bg1Onz&ePF9 zDdO6>>+Zrdsdc$WSD8w^a@+mtYuMJ>&+1%FVRh%0{n=1?{JVK>i1g3je~;z=TlVio zzx{G~``>$_-u8)!iJ6#R4tX%UT%$QWvh?EPcBPio=YqE`OpWx}JvFlG?z*z_@=u@h zv$C^qv#q{lBDr^ac5_VMU!K0#8mId^A4Q~}n-{t^?DBE@e}(X323ikQ-1mC4a8inf zdiRqPTU1+%_BixqFE%)|`?%)qC9is?^_`o4X=l6rvbA5OyB0OFHK(eYeSfk_`sk-B z=dIh@i?a8fbuKMuFFNeAQ2xY|B|%4Dea+8G|DE-3?ln=9wA|>aujT&uM=s0Fs;!MZ zZ~uRfUfiBF+TrU?o~~z4lvokB{$@kS#k|y@uvCWAG4EIWJY{p%O?+Fr@vnI>uzb~;nbgr?up5PiO+Y$ z?AN=l+VJ&q!ZAU;JLO^ZZ?FF=-kRS3^6T`vCF}pp{@>oTYk8ISXt2XYgUB0wzPD1RMaj*u3}5R{hr{=+fXgY2$=}^u+R8KerECG(y!(7 zgKhRKn>$syDA+wwXocbLhC|;nO`ppLudNMnT8h|{5pYG2m5Qhx|hpc_}VSL zWn-1AcewtE^)uVFmK zk|P&?Z1$89?+t&N9Mz{{GRJ7YDPOc`;<`0FWivll{4|~QZS~WqsnvYu_3tX@fxX92 z@E$hyaWDMQj`b#Y1IxdM9&Hw%ax{F))}1=#5+`5sUAeJiMb+yyi&QTA{8G$xYuRwG zw2xPMuEpO5vCE&UessoPyLx@z<+ak`Q&g>sm{&^g<|>or{k<{mT6Nc=h)*)D3zw&< z|34Si*mihcTjr|S=5;G9UahpPc3XRM@~JMFDc7!D+p=xnI{n(8r*GZ6b@AJ`zP|Z$ z0(V~xlGyRHPE9qmS59Z$Yll?sX_YIQ!mgfh6#mflsN%}J)Y4~jM(2<;i{!jlhq2u`P3$IFS-#YdAmDjeb7k|DVy7*@JYS|Uy=1;H8>iXl* zyj6Vb?k~1?Yo7gIe0Q#HZtj}bH(vIOo^?qr7P==J`uehS|KB;!{O5!R%)WT(YWJ<1 zF~N%`u9Eha4qTRFerdt%6SB*sj;w5JjyP*DRh(tj)vTzv{fp+#oqa2&&Ufz4%SC(J zwrwl_QoaBG?`?ly-F&X6F?I28zxfy6_(X5LFg@pmrmoc5yyD)Q8GQ*CYeHGqmz9;} z9KNPdKX0Z$_|zRmT_2mDtqlHG`1ZY4eThlc**{a4b?&;muI}yozqQr8U#p;FhdaJs zfO`C%_@jyyb@k!1UyDyUCjL~#T8gi&Yq86+$tSpDuFmpxEmoiUtCTf!)xlrfU1j;N ze*J0AIydjan~(gr9VR>$I8tRkv$`(l;}W_5SJr3!y%ri<`Bzdmwlb_w{&cxni2ed8q1a zTg{#@=g2ar&ihl$?}X-mZCZ5K_wJ0}lCnGBb8hXoRk&`-sPi!P$$Y!E&0^tnuA1=7e={oA^*uXob~$3}H=lpD-?!eqd*z+> z{fn21mYuKvx+t#h>!fMnVP7vC=GWw@xq8SUa@LKF&1xZ~55CWN8>x9XJnhW_&RE`4 z4AUfSXZXIUyWxNA$hs~u-Q&-8Zra3p`t0-!i-0*xwgq;7(+2ymp;{bX#w0|oj#<9! zef{gMvOL@M#qLR!Uw7FE@3FL8U1fXa&BeY$X)8=@RyF?L@v67x_q(=j@jrU1uG_DP z4zF9#{{PbdsJY3{LsoBZDevc0{pq+M{$KR}fbaD`9%r4GxoqrT8+cuR|B7EZ@y%B* zf2~_}@T`yVZD!fm?ziqrY2^Ia^}c46MyW{pynR2O$6sBl&Aj)+D+lAvpRLOO)s^0Q zw);%ihtOForL1=#wA}`f6iUmC-Z+o?qMVDdzF5X z?xCwqOH%%|oU{KEcz4goU2TUOw{6qE8Mfw1;niN5-TAfZLC>naCiz%LGk+C!f4$dd z`?X(DcV9feUzorgTl)F$?3yW-j$v) zc}J`=d=@^oT0Gax-27@@Ib?9Up?dOn|6)jwtfK$(ABV4Q!Dr7cl3Bkp|Nn3M(A$Mq zP6ZteT;*sVWZoCLzLJYMd}~^4=7o@;`Jpp-o~q35%Kz)|dbRegyZ0{KIoW^mb4_*J zo@$>7>n^@}ap$oAim?3GCk{#eeG&ctT-zfi`>T0xR?M%T?`eN-|K^aJ3fI!~uVssy zf8Cp&_v&f)#4>hM+2|eqbN$?Vt9&DcyhDYrI%cj|lXXODe}+4s+eF^D-1l!XEKDBj zDDSS_UpV6w+sT|6YidfmwrOv^t9hJ1?6qfIUhzJ6`D&-NVcz^U9}Z}AfOal3Ff>%N z!;`1bl~=2-MtKE=@7}$8*S0-t7MI>v$$GM+Pe^_9!s!MEZ^Qcj7;ISlI%dC`xxJnA zI?Y#Wv(mS#pI`rc{dUn7-iLRCTc?~U-&yf!joGz)%@5MMw$|9z8wO8Gm6|oN*>lxD zg^SszZDV(vUYUB;CC^}a)ZWEm*=~*DJ#1$-eQ6MEoZK6l%5eH!@Edvejk2~DGJJ1e z96VwYzjUUF;l2WysZ#74)QZAW`A$!aX4~ZRI`r$!Gx=+?uI&2X$X@#7#2mX%6Wuvs zvp~(T*`|Bpx86p+yz=+gh2#Hs?b}}#9PNGjRo-_Ix6YX3q4r;Zk~GGRaU=fYWV-Tx8^?n`C9jC^iRvD0)3U@GplnCgH0d3ww29bS)o<|V~O`Cs+7$>nn{O_N@A{We##gO{*z^@jr=n~r^9Ib;+u zHO=eOW1r7cGxv10IjedaRsG%Y`1@JeId`VW?r9FLJ9qVJG^lHxsB?RoD!AxixZ@2Q zV0~|$xOUy;=W^F3KIVUMroGN_{_n;A!~WK-QC_EPKKWAOs<(+M=cm?~2No|=Rkv4L zCqMOl#iuzT?~e7CX1_Fzt^8?i_5EV}=I5r$oFCtqJ#_LX64&+Q4DuAiNr z?ff@!jrZz}aeE~*tuwW_(@e|1*lms4%ynqi%=gphKm73FYQ?PwE~`WL<%_s(`+BNJ z)`U0W*-wp{R5b~?34KLs|MiaZgf;HfN?BU8+uE?{!kp`CW?w#kUjK#g{2whf=Qk%y zK+5=n_pmiU_x8)IyqJ?+`gGT!4eO@Pz8=DFQ~A?--Sq!&y#gn#jN?zaWV-IXc&q0+ zb@jd_Cg;j;ObU(;v3ax7u=>7+NK5(jozI``j){)GTBd)sd%ezT>DI2$;OsKTtyR%m z-J<7ZPS{krvP3DxRChL4yr`qb?V717M{gW7YDtw^`EBkY%Qr7Wc(S!>Or@+}OiAYW z{5I`Rs^|fu-}9|Xqvrp3qJA~Qkn_&huq0{I6 zo0Av&Z{8#et1SVX?`4ENthN;d$^X6?f3dm$|D?V-H8J7gMsL43t7fgZXtye=*v&CO z+x=gtGV}8NI-4`|e|V+-(At{JuFTu!%**ENTA1S=daGcXTGb}Cd3W^M%u8cR=bikV zs@4*^B{nxN@0MW8?z`)F8zBMz;GWZZJFq7z?*D$e|CjvBH$U4;zxM0(7c;cion869J|c1N+Jf>}>+Aa$MgI-oQuQ^{_T%;c z{Ig*;VhRs-}L8EbWsG-+ebs`~SI|$DvX;4X&=Zxyq{I zzn98A7f z$klV_`pnGDw(Qxm+dMva){&pv zLMoomENpoF`gPT>m&;3kzA|0AE`QaU`x|W7{NAI#m*;@Po#Ebbnd5=G zjhA0emp}J^>*8fcIKMn8-@kB|%+*IBy#@g$K3k-Zu4?bAiC?vKw%6ZflYY%Pq%&>u z*C}~17tSu#zIAuc(pL6=n`F*!PJZ&?TvT-Q)$sklLjP{A|91XMv;3cc*|VdqN}sK{ zwRT!oqHm;-XQb6tGt;EzNMZlgWot}AWn9flw(i}%I&oj#v>c@dQ@-$*4=S6_eaSm2 zeEi?NuB(qOn#78(&ihxb8CQNbXdOQr^X;nCLn-~X-)1~}_6$}h!fJ~G|AJEqK8r0E zyJfot&RKE&^{Zc>CiPu=?KL@M-(#)7Wh$pd+UChzpD6#M>*>j_+1u87G@Bm18=9M+ zdy;=Pm-O)`KN~-Md;R_Q&+;pm|9_7E!)^QXO8M6_#phSve7EB6yo+ai+@HOk!0Qw0 zn-YBZzuL7;7u7cBF@>qsq&E34D_k|-e%3SX+jU#No6O=UO})wZezW@L)VlPiufJWC z{QpgDx>AFx^dYUP-7>lF%f4>5|Gn9&=t)OY!+prwvIBb$K^BD_uswY7&&SK3njN&w z*S}nfHblJp9|FpZR)@Q$5 zY9IRiMrLd8;#t=J9%w`~Z$HPf>XOOjTeoJ#?)$M+KeM{p{kHY)Su<@{h3#H@p!oE* zRl8-FXZFrsFLb$1^mx~)Yud(b2G%7l38MS7uJfO(ko~r7@#F5TIZ0lREP6s$w@UH+ z+Ewy$Qr!NEz~%n)xAjJp>DL8A64Lu>=&V*lbreTxWPOx&c>JZM;`^2v`~QiR ze(*8#P*wDdge%96?XvrQ^ZcvJ^Z#v`SNqP@a@}&{=kKojEMIHz;q=Dln+p%Fym(D# zwuJQz(S@rY23YUjy^Zm-jX%H5am8Zxxqn|@mRxyKu;uD&SM4w}!CgkVSVi3m-C4W?%koe$k2Y7jG)B-ZY=EfhW!~m{G^KSFYsrgHYeCQNCx>tpDe>7VTY- z^Tew(rOfZEoAcT~#=_7U_KJFCXeaHRry9@YnR726`e+;#w{PLUgazVpKQ=yNiZ{I; zx>rmiXj$TM+zReB|Y(!TYYc%CZn3EYDaH4 z3V)E|Q|5iV;?94+VwTm{kH3HRhBxtTth{N0<>K(w_RFrG`fS6xZ++V4Jm!eE=hpna zTT!=Q>C)L{SCaOMz1lZfed~@L3E$blv2x%ytm{&6UhCMwomSruBuDLeU$?dY-ty=1 zResvq+F2(jPJi~_Ldf&3PM}Rk=;z?puK{&y7i!FzDt<-OB<)F#&H97aQe*30dX|dW zP1$d!Y|qiUJ6&p}nVH#_^L2mCzqr?bIbQYaCU@3((0qNM@!V-O!dc$Q(#uvk1%~d) zv~o7(ixYj!{<)Z+P3p<>_ur~t@watN{_)^q>*UDQ&0?Z~t7_+*yxQrt#@09E+4r~_pJ__Hx_2!h}V)nE1=LSrCylTI7 zz}@vHKQdK*opmKc`>f2*#046!HE;dtyte-D298^E>YUcS7M!({Tdij6wr$I}#r0l1 zT6%g{&DULj6apk#R$YH>Hf74xWcJOSjg4t<%MQ!E{TF$$CR8``=De--&kvt_)KhMu zQax3+MDMp#Sj&b}4B>`N7eXIYZ~M6_P~VMb+wI)jr$nF3ugoh83lz%EuJ%5C+WhTF zACA=*SG@l5@$nz%=+C`&SnKh-&GFK!Gi_HDf3J5bVpjEAuzcV5_o1gh)yqh#WnFc4 z{h4gu70NHmx^HpS>V-$nPye;1NoVTv#yfMTZ>{+n`Znjzl|Mh@w=I5b)Bk_}TR)#4 zuU^OhZ>xJf|9|n{A2Xj{efzca*PF=FDBr714w*upnPz-`zHAHCp7HthiJS=%-qV%y z;*^OO@8T1Bnfq$@e0JRQ^4Y4uQ`tpx9z2}W>?S(xptkTlBga)`n^*q)nH&`pb7kUU z_pKFwT5heKX7zSk%=y3>_0KH)zTA2({`K+l`Ju}%Z<_!3AiJDK^zFQINPB>xVm)l6 z%T8cbg7;?A#c9=Hhb_X^U%$Hbsj6(|l_{#7HP?facFnjHk{H2~)pX%{z&siIGylt$ zK5Tn*Z`L;R>rYvITfZ*;ba>W=`2F|Kzc2LP|JQo|;^q5(+uDA<)B5M%_EQEy+WY4l zd1~EGDlIsBW!_dD?dbJJN7V{UWp1Tu8kZTI+`l>SN7nn3b2>LRE*5OMIWKn3BHr9T zVUHW8E?XwzC!1XH^Zk*pHqvXdOry7b&3boYj+L?Ts_W9vw%r1dNz4Pk+5dM#+N3`o6v*h#vskULCcEljCeV7{> ztS&p>+A}A4O6H!fPpT*9_aEmA>u2ZVmw9hAbDhy~IfM5f{FDXWK1|(kzGcIoKih@c z9RL01di!X{JX`l!OSUPV-gEC|NzR7#*WcfMZGQakld0F=JfAuH?Ta@vjaOaIT4gTP z0-dqHrw&WG@)~Mag7UX~`QUE1Fzxw_XYZ>c;(va&58Q4ZqUoX} z`G51~RsM5L{aI^U`)fz!XE-S(|(Vk9NiO=e)ieuzPnbZyWRP zxR)tEv}W5}cRBHDfyPwhov+^9-c~<(=d?oaX_C2_b^coowyX{9t-8y$W>&A;Kk3z{ zi))u=rbVywQ8>%8K5J{u{VLzLWzk>%?3n3y+pHot_w9?>^&j8uj$Xq>jNwhW5dG+ektJvq=`SbL^_f$2$W1g$3l&4Hi-Nt)b z%xvepITl7&-HIm59`%ccRE2LecJUVpPm{E+_*DBw$f946os?2;?m1#G@XT?(E>JaYZ=QAo_?)uf- z7+3M|_$*H5t1{ueQ45YtZ1Y@nbLN4z^h0jG6N7`FwSBteaxTI5-G^nv_8=v?beaMp=3J*Gt~|FE7vk*%SBcnp1u|n+Ewy$0F7O&ba{^gRk_?DvVP+nsry{UI1 zUOj#N(I80IA{6Nkxw-I5O?9@6{kpqwvrVTH5MdX+L+e zOYyM1`dU?XcZcV~Or0|;CdcFThLEY>_CI@bQ&D<yXZx4CEnb(lIq~*ppBp*Z)$aba z|J%FRobN{MU8*iuzo(*n7A$X1hSsz-4KoA0cN;I?nXF#&@1c6h&#C;`**`_^-nupQ zGEZ*y#Qo9NFO*)nExF?5^;E8Pf2vk&xfwP~UcO~vTV(vlYpbL7e{iR;%+x_9{W|=LP+Wm%S!wW6v>HBV8 z`EAW^Gs#1nzOir03G;p$f9^}2pXK}ueS#&i(%X!5!|N>DHgJ8u$=IElDt zfAFe)mHe5hcE9sUY5e6+SEp~?x^Kzi^!mVg@~6Ht-+g`U+O;oR*Vo7H{~5i1sl4sq zJ!QLX=UUZ9y-iczAHVOC#U@6L&(9Yyt@>zkpm4`26UWel+Q!!mPRaWkoMhX{w|CN~ zskcpCWk1c@{9UH{+t$RDe^yE=O3WyTlvp)QKkcrLnnx(>#$(5Or8i7k!jZZ%=jbNc z$UMPYn;uJMn{J)u`}@uueJQu9pX%#h?7siI(eB%k#a@$L)cxl{dRGkhs-cZ}h76m& z4Oi!FJ)I!2^8Wi*$4+fZ%WAx2G4=fpqq%Ns4#I8gcrVOYw*17Dp5F`a{OLEo6LKg1 z^0Q-6`&O=8Q21n?EGTt<`(69@+xtI#^M1Yi{`F0<_?4V(SF^TW$u#}EJ5g$V&}|M= zFALcVaZ`O+HoU3-X{c6_dM^Lg)?dvF_da)3zILS1?5Ig-_)_L{9=~4Y62AMT{Kx+V zUaXq>-^}KG%lc18zn}gvRsZ_u9O1C9zgJFs#iJIG##DE;HC#6`G~o0d>C4MfznS)@ z?UwY-V2XbBc~Me%m^B?u#=w7{VS{xn``&X}EN6&Xs?g zr#<(}{h^^Jy}s>dlG{&NyRr*A-(IejelM^~>TOutiX4vBGNLakkG?pVWVo2U`(yKD z-^iqTdTB%6`ZsizB9p=*s0x^Sa5cm-Io{Yq51L`FADR&SRMbn zsp{{-LmGh!;ayAbYD{~-7M9 zOYTjNT3@znx73sVv@Z)dQ+-1+di!lN<}6TtTWx>2s&w~*&@fvOWg+*6t2Zq@#j^O% zrmv@ZxJ-CM(nJ<=Cd}M0CDTcJovQR+|I(@37*Drs+O+AQ_Su{TYq*xX{(OI;Wycva z;SWa7*I$2~HS_n3{r=YVcW&IdbauA(ug&`PuIYaBHz{+Ai;J;9LxT;rn5DYM{Y2`k zGjf;DEbf#1OIh#KE0t6HfPm6o~J1*WA0Dav^UC)@JdR}R8qegwr1L+ zhka7U%il=s{$4CREi-8sqz7BSI=}Y0X6&8{&#hIL`;KRuNa-w@XM zr~Xd1*!EESc8zIIm)gqCzsH^z9eZB#ZB9-+!|S};>y3J?*30xto%Yc<#j>!gZPlZT zU%TF3PG(U8mDXOKF_n>y}L|g z;ZF0d3R`-k_-%hA+&uLZx*WhBzV3)G!O6gQv-_5cM{B07iw~}sc-cCAUfA*PBG1;F zW-pxNBc;}vmd-3afm7PlHP3gY^eOX)3lFZk^U(M1j(v0HpT9ow^8649vo|kxeqTLz zuI%0~mrnosl5V$ndflg0VR>s`ewk^Ub?x=4nE_GLZltN-{!?<`<6@mqvsH7oj(vOj z{US^EujWQs>x@|o-(&~BT-|(Y%eNjin-z@N_g@RYuRp*Sx?q)r@rzr}R%2o-eclKG!EzfWYi<~w8vh?0GwcbI``b zUy-Xa1Xey%U1jQ2xpmj0g0Q%N@C!30?*6%`?RNOrTc7{O&Hc%LdVP7$;%mPPlryOXGmopEZSupke&uu?X>7=PF;7pkLVQTuJ@Uk}x ztgTi?pV7VYHe})IB$336KT@UE`FuEI@HRg5aro6PQI>^LU)}z_Sa~x?>&*7Gc{y2? zKbOs`eP?<0y!_=ufA;VuK?2~x@^)wg^}xa|2S0(fu0@THEH18{9WKhxerbcY{fE?D z-GAIP%`Z+>N0QmqxP+rPXx{k+zi zR;$84KjwXhOq3ni-3jxx?2HFz-`p{rTmPak^^@rH)8FepL^ z+WVaJgZIXUzu7+JO1fyuOdIn_+kfxMi>ZyAo$Wo#{(twUJqtK)?K!@7?b?^w@&9+# zect|WXWgGOtfkepbM0!Q*19<-KG5uJGc!m%&iC#lLuzn+>f@8mKf5?%XQq~yUvKMP zq!Cn=@Z(g0+W8&nv)^sdoo#i=^1+O(Hw)681LnzEXB_fPd$S<_IG@~fIelF}AfArLktTTJH;@3y5&yk)MTYl>IiyMJ0dHYPx)S6uvW;5$Zb;?>Fzh_Rp z{_3iaOU1vI|NC}-+wmRms_oA}hJ_0BVXfE#@l|b0!m8cQep}Oa*yC?qxOrHZN$}^X z$5z(t^qQ;WBi!N|q0Z5DVA|u>B3b{N3C@A}zR}XzpAJuJIyUk98;e7A`}3#Y|M&L( zwP62R|MNEAn`WJzc5Cgj*qG%RX{SyJTwJ)RlOaU%iqS!B({qpBQL(XwazLq>GpycU09!e^cxF{k#cRXZKI%^?BdRws;MXXKqf;jc=>< z>p&}GUOw~wXK5|FHOlwr&!x*e%btG-Ej`!irg8a!$n@UuG|66Bn=3m4UwydFUvt^{ zyHxt3IYnOgy@9c;6m@IsdFL=eoqdg>G=_@ui_k&M4{S3Ed=}rl)-LyViPYT1v+RFP`1dD!{`I_k4f`(9ly#dlg3aT< z&vmI2gLK42%==D!&iYjAe(zfMuF9vDd%vBTUh?c?eDJiT?`Nv%2=^HsoOizN+h%ZC zpB`5cIrH(WFE5R=%%!<(!aZd?f0~LPTzOL9(!49dW^#wq<$NDxS;*Yl*u3oLsUA5K z#U;%BvNxmCOJ`rWJkPT=QnF@N&axskcXlf&)^%rY9E@6PCTIPk()IP!$38uhb6#w? zwSQAS%i|>%Ycz1bm&){rL{aM+puzz2b@7E~X{dU*q9sgYO z_vZBdYx35w=C}Pa;nv$}x$j}g0bce=Kk-?Tla|(>mHM;mP*m*d)#jnxF*D_~jjJxa z5myJTfA^bq^6d7T2YMfSdoI!OeR9OQYtFVu57*7wyu9nedH;=^r+Z{TL=qYpN2>VpSb)+t$68Ju;~ z)Vy1J_-d|@-__GM|K&bjGsXDThE0pvW3O*>n|WX=r$y+&)sLzRzO}Fa)@yE4!}72q z`fJ}~?wK;)FQ(n!UaNn7Z>?23W7hNL^VhGXS6`Q^7OvU+ z{M@Z+o03`}TZ9?z@xs<(-eVD-Hgl%!vZKQ3TlUn%{!LsW9#<2Udw;Sd({&za)t`2U zEv}yF$vSy(}Q-OGp4EdJ$ZIJU+4an0*eb*v%|lB zu79bYSy*_mP7ab0_E^KZGZ|25 zA2}|WHCgFvv>Edd13;i%%|}ENniyScDhSXRrQN`{>WT z8`t08s0p>yXxN&5?Lp&tweLDY{#VPN{hpWQxWFJj>#N&88wu9g#~!Z!G-K1xtoq$k zi^Z=;+ZFTO-fU4`YTaenQkJ*4)@Sk+vqh>;Z9nh%bIay<+p#lS&1RQ=Wk3AqYlygh zY}j708yjvP=C@UW1;LN_hY;pHCgCfY<z%&a{|St(dC4BN|6^C!cJrs^S=$zB z+{n}@kS#5*F>PKLWBh8Jm{#t#l&S@XqI?gpS^x0b>ZsknoOjM!zu?=&B$0W)&uvef z>853T?A@VOZnGoBKVO+vn#~beH7$O&Y-RY?xKwubWqhv|uj&JJ-Gy#H2({vp2zB2Z z%6?Yn&gWk)m#6&P=kt1MeB0VpVr#Ny%2`(Y{%~d9i<$4j!qjfOF>x3Dt{kkTUOHvx zO5T8_nTssC-kQ#Se>^5yg!k=>W3PVsN{21mm1dR8%l@|pbSTQY*HgpeL$}`!m1r}8 z9`LY-8#WkO(e0Cb>C7F&+byc*0gqUI-Q(Y{tM56LN2xSxVcXw`y&8eG6Kd>(7YBz6 znM^fHd;0wMPARY3>t7wa8oqVot|gE8|7^0+pYUCeCBp|igbu3q>%8sjzEy&%eXClx zw{4QvFSI(_QavN>=pujjcsb5+>>I-o3kP(G9)KY5O`qT)k`REBkF%aNjp$ z|J;I;-*YT94H#98%MA7(H*0vhqwLN77caCro?7H5+<5q-_V}{nree>}y6OAcPV-;I zW+;5jNYPICgwbsuh4Xtvrd^L+ef4dvnd2sl|FttePMjSb{i}8Ue@p3k#?YOJ_afmr zpDnaFXtn9$u=KD%ncEYq&BMa3aMr38u5wr>Le8QiXcmN&3gRa~U*bb2Q$q z%T6wKc3itM>hX*}23M>X-haRP`sT6 zjqm$!Ep$s}Kb@viea%)k!nHiCGV1x+nAa)X*BSLKe>=xN&Yih;-6E6Il3Pnc7Ym(T zyz_lpw2=C(JNLHvM)pm9`QqZ@sE7!OT0KbG-edei0n*N?m_0+_%%j@pA}ytBb>goE z-_Cw@Z`aD`?A@ze{u8aler^*w@58~PT}vVoQjoCU)Txnk=hzJwQ<=; zPQHD!%;kl4f9BlODP<@fbb4lW#=6sc(wuVIBt0!9cs{*dm$lWPK8|HW)Y)aS;T2C# z%=!E7*Wbo@HLt3x9(`2*a>1GZ>Fp?J-Dcem-FDQleIn;slUcd8e+83{YOC`;zslGvV=Ylp_itv+)k6mHS=(4o z_mq8E#c(Z!E6y3}2DZomFjD=aeeCIXWEx9 zq#VEC+a5ePd=g9kQR@xDQ+rqqR7{anV^YmF2c4Dn|G4s#NHA{A{+OmDg(x<*Ve{OsH++OuQ|NWo|X`rd#r(v1F?b~Nf?p~ha+p^%yzGVwfZi)Ts%b?x$X4hTq>fOu{ zlfx75*U0Rdm+!H? zc~Jkox#WV|m$l4lb&v8*zP~*>ZaZhv%rO1WH(#4sJil??T!*>fwe)Pz!0c4*@GtZK z9RGh|-WskPMsQAl@D|>WmkrvgJ-7OUq3*r%{b~JkuXwNDvtnv=_NPf9ev?j0s=P`M zy3;SRYhzZgL*3eCJIvJeS7_#xm_+PcaPOJu-d}%$t*Smvthv2LHuQ(vjKYTK=;&Wx z5YO(lKaKk_VH@`bi62$D!t^*je{@0t^T;Hcy{(o z6S=c5-cyO!q+5zsq5jXnY)b^uHL~Dx3~7; z>f3v)vgX{9-)GbtxbOMN)AFm2tlLNH+z}(=fB4T*ZjHs)LumM1M}6_rKPuWf4`{Q7gzI9RodqF zk%EYxgcK1-bN0aPE?7xdK10^sqB`WcoWVlP_)g&$yX}8$ixFP&(mm_;#ln@pAVcz3 zGOkZ$(_PwY`7?7-jXUr4x<%60^)j>nPCIAwX?4-5f{Sz4tY7~+JO1~qy1(Xi&h~ZB zz%{yEwcpt^=Y{XJI@ziZg(n9~El`~FtBQMk2vfXApDNS)^I$y56zwtI+)>pd3 zt^cZ-@E)#DsyxoSXDo;mwJJKra4jWab;X>#n??7|nBKjc*FLXUYfovwq}6-g=UGnM zz%^;+@7$)6XA+lNQtdWp9x(DTp84_a`}+8;8`jPLdqq8D^;HR1$hj*Y%wThEAM{o* z8J|sa@BP-ZNF%KN!sSo5x@OH=uHyIP^wduMr87CNT9ocBM zz3%PXSk|x8X1z_`_Vk59n#ux6+wc1Sj_$uO`F^d}dAn-G`}^01tzKKUSy8=yzD{rM z?@-m-+krU-_>wWIa)&8WUneQI`Vc**B8N**Hb<6S7ysuzj*N>u>K}vwg2*^s~Dzns#HFG;aIO!5o#LW z+h6GR-fHhBKh1j&dhgB6d9>_yb>6uYxzF!U*Tfb7Kb!Q;z&AYYwt>{DdG+GUI9K1y z$|}pdCX@31=&M(&=GDB?tbG+c|IGIDE5q8hK{EA+Yw*syo>8O1<)*KoS@d&v7WvKl zx#8cR*Ym@-%WF!za2dIuG`RXsVd7-9qREX>#kxBaS1c(!)7InTf9>1W^er`yOZR@d zv;E7$`9H1AmOTF5Sj#WmWt7Zr4__s=`@-%H-sdm-M=1|E?DHpQ# zOcGrkDag|G_yk+snH!FuGn^dCrD7{Ao=^C?l3O!gu3uUvU+dK}Ch1*T$M|LmRxe{c zy`{<5EZ$Q1dEvLYpL?y|bmaWvn%jBya(?CQ-@&XezikWgjeGmTCNpjJr8knN4O^Cd zU3E3*R&~;?b!EG4f7jOjXScud=+U0PymM`D>H5L zj-QL&UFKW=Nxgnie*N#;Rev9;UX{|_dMnrT?2Us;o~egJ$~G)04q(4J??dp;`bqJJ z3oIl|c^|p^ryX@ZYcOK6_apb_!SD#n>cypD*_4CZLyEx~vCQi67?4Kxb z>+hL}V{_-qR-2}&q|U1Ezk7FGpT6ELg9Vn??m>2+Fzm^MHQ(#Fe2jzBpRIT%?w?)z zciOLu0pf8LQKjxh#w%a`^h!B)O7+zi+nF;P6BjQ#u~M^?+4Ar{w&L?3zTbHyuEQER`9VaBZWs~D!`?laO&O#OWI%SNfz zX{UmH_ncJBjSvnEy)3x;_RY&NPh~20G5eNfSXP&tEEZdBFpGD=PBWKqmJMC!bC@F5 zJzo{K`gTI-TCr8vU*CLx!6b3-w_C5H?%%l3%ztOS-}1F#t5e@gLsG##8}-xoR@SRQ z4puubcSilJoA;uwFAdj!!R}w@8UK6p|FDnGeCN*3etF|!->kK>ZY{UU+LCQmv`2IQ z-M~4&ZrypadUuIy^I6ke-L)QTKX+NrzfioMzce{D+Wyx?e$(=txUW^gZ_Bjn=Z8eb z^vd4(ectirk*_}MZuIH6G7InOGL_&n?P>G!Y0!?pXZQHo>PNS}u}n}4@^Hsb%P((y%>KOZ%+r3|*2D#C*XFKWpa0_2)YVl-SvHuNzy0W6 z^F(>q`zM}%-|qiwo-2@@SQq#CXVST3H%my?c<>Ik$LvFJN|R}wfL337na!P7XS1c; zm|gGYvhK^4?%xxoaJe*PR&UJZq^bWsW#Uh6$lsP#UK@IwIez*yrN2)u?V6UCmoZ`f z;=A)UCQ6+zUSeeO)$L#So;5PI8BXELKA!54^I7$6&Gzql8C7o{q%fSeRH%7+>)YzA znt7Q8tD@G&Y`>9imH+g`fj?L8y_j5lLM}hc?ct9F&G&BSSnmj2o%5ndO={;UgPE~U z`VK`rE1sqMOm0T*HpbKZZoU!wI2S+tJ@ftPEz@|}m~->r-}u_w>-)QE`|a(zk!lOJ z?%cUFZhN}B*sPD!(lniNdo&=kb~|LDXW9H%X~Z}^I9>kQ$;($o0Tu13EzluXiU ziU|F2%EbESgV23(tP|!Gy;<kh?}3Q zZ(M)I;>3}fb6a>$xSH)zzufaw^fB96+mn}kwkDpvxBS3&)61E!J^tf5W#na&G9dO9C|l}c*^*jhRtL+zmMaZMu}-%UY|7I@w4GaT@IBi)JzR+=5sd< zpY@_n>aKKkz0d8b?{70q;}or2#<)6XU(n9;4^6{<-@E2At3)CFe4p@c-?STZPUbGo zzN+}mtR}Q^J#$k8dw6nh+?iA6zHcQ?{Mo0{DH|+d>3VwV&wpoZ4IQ=b>pNAXRd2r? zD#QEs{UMXq%6+R9{y#rxQv7y(l0{GH(_5u?qhc>#eQo~bOtJWu4F>D$fAIg?_w3oT zl21pVr)DPD!+S}BY7Qp*E4&gTu3vk$>st8q(#O|)@7}rsk7%(nXJ@WHeYwNjaYo4pYz*{kHu;gqOM1898{@o zpSAv*MM_A#Y25kQ61Ev~t2Z_;`y{pUn}!gbqxg}1w(eM&j^ zWLu}R+xukZh?#rspBer?_U5cnZbaGjn!7E}ZO%{MY5Q#Vo3B;h3^yKJtMk8CWB>AJ zOV<6ZI{SUk)~$m{Oe`L>nArHrFX45WTjR!b>HTPt1nht|5kEOT|71C!Kt1r z+@Ftc5W7_>tWz|n=*a@>yEUP*<-3j6{B2y*>}GuLX~%(1Cd22vtou%_({~S6Fa0*p zM>tvZ?xL5c{}pyU(=V<+vume*-Gk|grukp~9bS=PB>m<0Hr8x|GyCr!bnu)rMR9Kt z%aV|`TQaxx#AaWg9J22Di{SY`cKkbd|M%`++VxM@XA~AXLQ=g1{KQ7vtdBo3t@}RM z|A_wIX%@Eb)iG`RORvraC&1Ei&-TFEm<;q zPMw-qcJ;G`wY zZ}{bRHo4v)L`3v{{;bf4yC1z#J1)jn_s{y%=lijT**2efy?gJzY16~MJgxs8s;i^- z?0Hqh_q*luA$|-{fX(H|r8t>zANRj`lx4%bzYop7e)2xAbz4%aFGx2xHAh5lS16%HbRV%XI=WVb4yN%DU zB-A$4^+lGA`bMr(Gv6C*d}w|1nU?gXQ`>oeG4IaX7j3-g!kXI+b5FfjJngnv&X?iz zmKA49ZY}0EP}ZNGckjwk@9AGY_S+^N7ZQRt?^`Y+1#YL~Be~JJ9 z`oEXAxA&)6x~A6Lv(|4FW%Jeap33ukvBOlgSrgS#CugoXQ>HmJnZ3JB#dw{b?(E6$ zj!9=%o?7-P=G;AnDO~~+vc;~43b2$-iCY^sJ=y*7&cy*?8)d%8ZQm*7&K~#SA>+#3 zd)RM&skYc|yS(^=+4B$K-{tM&d}OqBokPq#!rNY6Qqgqdc(%X$VS)u$!qIQPb(;qPe(XqEsd5>R`-8mzw(US{hGgvwrwllTJw3@zuo`e%fGmKUGLRF zcDaDnSA!(lAXWB{1#th$rQcfngzeVb^sdlgd(JC-QJ-pz%QmP<=WJRVUM@e!Xw`-= z!=eJ4vJbs;4qK-DZ7ARUIBxPo?aLLZhr*v-Y+LuOW&Jm~@5k1ETf3w7&6_-@%yW0| z?AWVbq;@F0&$w#muXAe55uTH#y-rnF&66s+Ho|kFRB?B8=Ix_CpF`I!3tPR?Z}-}p zHzg;(+`NC~&6|$suHCu4YU7!j<(<6Isi_xM$>?StD&3fAA^oKPaG-Nk!uz$W zs}`>d+q`mdaj{k1pB>Mh_rLt{sPkfklkl^s`!}{Y9te-C4%OCPUG?uL_pcwv?bpqm zDG3=@s<{9=5UHa7)%V|JId|UwIrsj>rKhKNeR$Np$~-!2i`A#U4x4=4PtKF9_#N!G zc=}tft5s7)8fC0k>1}hDy;c+2+Bt`L+uf6l!2<5}5YylrdGSblhVG1YQ=ch22&u_bk(jH~wE-dfL+{PEV2Z5PvJw#S7s zZh3SkbcWv6^S%#GwQN|Wwk7Mz0!ix`Pwtlo)t&FlmRj%Bx;3h9eeKpy_orm;%i4Z> z+r?9N@`Z1$Vk&U&m)+doe9$3$ebuKqYb>U(JON334A5P}4c}+2x|orhdsZ+0&u06} z-}1t>SFhgn{)(h&w60~*)TJ9`Z7Wu+j0uyxcCxEXMR-By;)p<*o7a{cJ`|pR{ldQ5 z=W{bkidJoGR%=K-_VDMukRPW^;-~KRlmBgY%lz$oU)fMO%UQe@w~XrEuG6oT**7a| z|11l~Ftt6$lsT3k7o62Fg)?zxL+r=dUb&B_zOLdr6p$FP`TNee^{eAn-&WHR-eUAV zp-%ak>F2t$X~7o@R=EA!^?v626M+&x%AgHDc;E26VdKo+Uf#d|-v6Js@7LA!uUhBt zS#@)#a@B){{MtM=mdg%iUD*6P?ebht<>1Cui|(z;+1K@E#lgJw>GzMftXGrX^6tu? zlG&O~?J^twcNA_6-k9VRu69QFM`Lcnr#(qL3zKKBUv@Y=UstH?#&Yd#;k}{xI`_AJ z|7^*gU*~-N?VI|NW$qe&t!pNgTuGRA>zTIjCT%yqS!`Q1>P>Q^)ha^sO>%#%3d?`; zeOHEb_V#GAmee?TzV=%;-`@J3^Xzu^)>*vAzW%n&UAKPK{@rU63gh~1KenW$r$a{i z7~stq&9pZUuC5OM+NxjUXkYg$Qg{8GOMeb6;yp3r+d>^rHMjk;V*76GUzoK|if{3v zuczicZz!1Z?p*BK@VWIy7fo(G=@GlU<;hOh*HfQQT^laEm`z=J{k;l{Q!^v%&sbmm zT>9gy75l#DDbCk^eD?2GI&;c%(&ND9&>yFA{NF~L+QAX$x-r+P_|BrQr+UgwlG&RT zwmfF_eQR<+N1($do2 zSVHPD2k5a~4{VRJY|x9}x5oZQv;Bpuug$mY+qjb7_R|WR>l+!@q)6P{SoC|7Yv{*I z^X3GGomnc)THF?Ru|ZV*7qjBqkS=O#%TcgAi!m?r2#g_6e zx74Sz`|gKV>wVC(i!Xa|FyFE4#fl@f^H1%2`>%F+-+HMHZprN3&o=4Im9w8QOCj`M z>}-axIr^atr;Q)3uG-6!F!RII`S!oQ-P`?h=jyU82N%TmXqDLhp0-Ri_wBW=Y18ta z>_6@O>&9`rb(fcSGhDMaSkY&z_5a zIk55Zs-Nq4j~+3Tnf&&&Nb2Q!(c7ySLjFm(I!o`8dh*_I3*)+yRexW-m9ezAy2|us zOz7GjeY}5WOqj~aH1lKGRs)^rS!%b|yPXZc{P@SRO+k}iS1oJAD)To%+>&CBEnB>knOX2DU`wi{0 zf8TtyC6{4!*y`KU424U$eIA_M)@#}I`M&$C9X}`iH#>E)HSPAXU#tG!-TUJZ_qXjk zw{Bg#|Nr;@`|N(6^!MF51-<0_p=tbZ_1CYaw*UXI#_p<#3||))F3?uSnVl%O%kxsw zlbFh$-hDpdes3#71aF<3KWm%z=8$Ce_hvO)uS<8|mf5h~m@j_jG41s=TXMbE8E5UA z#S?FNPVxDz$7{>O@BZW|pKh*ojKy#M#hah~X67C|^=)p2Qi&PY{He+8ZyPV?hF|^R zD7??>^m}t%@#3D>PrhF*e)>Dn^4>*lH=A4U4{W^t;D$l?#{D}N?Z`R&>UlS3(oD6r zU%!@C$MV~JXb=~ry{Oi~C_0Ic$@7}*UTt7B&mS_6;dBG1v z8<(!Qzy0^k9lgP4ZcC@G*mUyR>dwitj;*l>o3-TCv*XL3Mp)fds|lT&AvwnR*?Ni@dYB5?T9J-&oF6aEbbB(uUpT9e2 za4$WdBm2GN_dP~}hi37`XC|FVu=@2YNP3^vw%dWto{J79ELfQ7d3t|#F`seKh40K) zrFo@yta7szd#G)^&mb&l-u*kDP3mH=|A4kSNwoy z-^r~>E{V&I^iAr{;W({x_1mdLL#5|@=QlHNPkk)TZ&56|PRq&RDTj^lKBGhhX^x`P zcP3iT+q2v}%;pxhLCJibRMS6uX_5^=(_X z>^NVV@Y(RppSEJj9KpMJ*qLt^i1D(2Gbr{y9Ob*!s3G;;cFs>TH$-2Y6DAYQTYBcy z`{fqtA7{TTE8n_p*Rr{DW&gf8|8Gs*yXSR&_WwWIuP@sTJ)*$}-UicK&15Q_ogEb& ze|`GCFR8ij-(*#9Up?8lIBVOiZ3|EIOgepOiIvy(Ue(ZttBhiVk9X$o>3Xyy!}Qdq z+ws9$Kc%Uk_C4!1$KtHZk5eoSJ`yKP3}+q%9XInQVQ03a+pfFPA+P(s?YVsA^Y&_| zxM_Ev%{lk)tMmOjr4rMsJJ;(%_oe?lcJs;$N8i@{96> zW5zXF6;H!54L`@vnpVD%BSA9r)s4a#X*ciOy7cayU){Tfb{{+aUtH|BS;a12vx4I^ zBRDP-x+bTV|F{l4Zhp^NpM+yQvVXoTw_m%y?rZk1kHz{KWo2RNe)B?J?A-QqMV7JA z+n{RpcfPjz%$BaJ)Hc6$4HQ{@{q@bSM|u|DzC5k;!Ha{O+fVDsR{VKlukXvUVpW^E zFvq7D|Am}vtqWt;OE|yS@$SfrgSKk}%AcC84Jj{Zx44~qPkT1k^taWutM;ybHDeav z64@IKsn?G`T&AQDY8IO+wRU!4V`kRA=O@^fo+-cc{_V8m)>&Jke%h|Pxv^R8N!sl7 zXZD6kZu6R4$b9X{)7ux~{_QqVX7~N@>e;7Fay1_ub#-)J6#xI`|K|I(6Xzkl;D*2O z6(8cfY|Nlh-}oPw?XULFuM6`w&(Ex@bNpHrJMXoIZ?g10!%fb|9)>o~%Sn1OkN1_z z$&5D(GTprRE&eUIaPeNl^|yySxAW`zy7a3xg*HAv{n_XD)cnKYd7^t}-FTmO?qAtS zHM#fyWRE8+@Y|ldxx4oKyz1NQP94{>36-7P%M||fd!T8&r&&$vG4ELd^ErKv{;axa z@a!bNlk~n#k7a#@r|sM>oXl?gxqE}Um;3wV8TY$>o}CfcmiAYD=4WsH2V6J{U8rZ7cJ*N?v@|L36mi&I;rqoVI$X_x=$aWUkH*U1eMs^tM+ zw50!<@}>74yV85?;?b@o;WM6YzxU3JxSUe*qReq=;qR;S7EG+wXbM}_d6K2#45-xH zl>A2K`2n_-xBGrocW-*d_D=HibD1Ac4j8{U5T-3#7ZdijG9Y@|9NW`Bq;hXhJ;s}U zHK<3{=k&)(6DL{d)mfLlN$^b+xV2z*`uk$hcUnoM+d@ybtY76ay{q_k@l)^p_piTu zw{GvG#qRwt#OoeD|7!nx{$E{bKFDC+frs!#THI%L?8w``8nn3Tg7JB~)#7n=SIy#W z3rZXtXIjlT+VyMWs+Ox7f2O>Z6|~?x7qb4inS=1{?-I{mXIk!iry#sEGGFtBiD_BE zqF*bswiqp3V4&g7f9+7lZ?BN4{g)%NP3yY4JO8rO1MBX;zsa`7vEE=;{aHWveex^9R%?H- zy>0d^>}si+8$r?cQvUzr`ZeuxbrHw?=Rh_I zGUW9$KsE^;us+jMe*4ayE8O~f7IaV7dwptZ_NT)Ebpk8I*n+0r_}I8@?uwK{rjcd8 zKc{61E;DqL5LH%aolnul{#i#@sZn@XO58XQ)IPg zirwE@dDWz6=e9^4ji~i%$F2L)Led_8xTdpIpUuSPTxVOe||K;E3=U@NJe`o#g z_xt0I_sMR44r!zwc>7TwItcmR;IhG&v-x$w`+vXmf4ww3E_{;b^K)}2rypldlloQ_ zocz0|`Ea=K!&PfIE-dj}l~=ci^W_W%U$c3E7JTAwXHI|q#`^V^+fOHaGmY;J>n;^$ zFj~0!!go;?N5Lbf#FxuhW*mRi`)U*4uBJ}G`o4D(hpZA99x-08c@S1T#rF9Nmh$3l zw`c!SIXCZolKHORhr(CNa$6W?1-QOgRV6n&u-P-|csL*XU!xVzHP&3s{jn-8|Hkhu zciU-Fiecc>pzv2slzc1(YEwisTleC%5 z5%;oTV{@7$AN#lJzEAFlS#C9LSXQ++Zd-h%>+2cO`}{4-F0gG?le*Y--}m3{)Ajm) z4?66PJO8iEhvW4{cloRF|E9)YjQ{s^{~C6=3I}jq!my(n))=~%7P{bAkF3dQ@%>*? zb93KkRHui(of&B=#hdyvz|&+4qt5NBrzwlmR-9p5x$LlQ=;lztGn!5&g(BKr%F>rK zwbmc|{XVzfs;BtC=bSI|CLdh$_icdRPq(W#4leq8YP+vb=#N!Wo#Ag@z2TqkTXSgp zEt{uz%3jZXX6aRK`uKz2_tK|q1(Vp_(^?%L(_wM`mb^Ys?&*LskT)bL5ZweHNN*I(Zz2lY)iUUhBtNuGddvNG9L8FTJm zx$Qgm^MoT4gI$j8DSDIe;5XOd3+r|ZC$r~rUzzve;=y-yEDsWMMh-t2HRt}^g+yPkF^W~OYQYi_Q>{!7QmnwX6{^3R5=f0Tiah~_)eqF)E%PGG@KOS#6?jvxbr6K3_RL;1m z2REI3`gY6rUH5*xT)pC&%LCu--L;m#`^(hM7awT#S@z(Rz^xZQa+1C*P&*W^6}?L6 za-Nyav_HG`oT}#iQP}WM`*O|G(1&|3o;j&>GPNn}+r~XM)qcih2Jt>0vS$3RJM%c< z!uGY{?)`F?h5c<7D!XUwg$#I9Y=*~auMflPS65g6I&A;PdGDWBuAn~jal3DZuFd;? z?Y=Gbt;#In@y~x(ICdEx?^D)M;}TmN@vUE0-kdLCX4{fecS~$6+3j}jT~zUU!NumI zRaYORy75)9_sGu4+q>$R_P(hHuFNx9w|&a%Q}2>a-<65&>$5R<8CLhNGi=Sti4Btv zuJ*b5;$YI7gph6VGa076-tq0b(6ubCLj^VS-M{bXDD1tp-c6aeyI3u?Am2a&)P%1y z_&?X~!vp84Hye+CIU+1yd)v7Pl1}AS;5m{_O(Xe`?)<-R(!YK&KL4uS-+sNYdf)TY zoNw3M+tTZNJNovgzey(X)6%@A-YD=5>*Xr(DbUn)|1SF0RZUEIs-w*1xRh&`ORB=| z&7HM&mG9$c%RYX-{kHl7_qOk=WM)gSxPA^@8@73ExU0qq-S35`zt7sY;N+oYyHEc~ zY0o>q>92ahyF9&z3!lrdFZ(txqCM}7TYE_TY~IQ9>y>Iux#BWKcC9+bH*49dy8Yob z*Z&-3MA<5$~Hw8U2Jod+62@SeW@#iyyO9}AX7PTGHMYpyCl;6 zKTlnCO?x>{;!2MAn-`lsKT2O=rZN)svw-PJ(=?L+O)zl|LA zisNq2NIMob>%RZZNup1luf3j?wKWQoN)JTCYZP50#p&YlHG%bC-0PR@|M6}6)_waH zUS9t0@`mlJr=BfcyJpRe4?Ub0XVk7WN=UuEAxC;j^6efO=_IZ5vqcZe2*30Cd|mB0 zpVZ@+0Ml!J!ioz%YM0B{S6uk!thHg)hfoO?u1`m2%UEW7E1J7KbI#qnZD+c=>tCM@ zPcE;%aizLXO?TJhi`|R2tzUD-Gj;LB=9d~Kp)5;62W%J|8{%ohN(Yo=v^H(CFiZ zN8bzU`#<~U)qL`-eR(>5TW9|K~WS-;WF4eK%7lace*4f0kvPCqH+6xa#sdRB+#} z&l8<(kFa{hU_*_ue_#ZQC1-xBLFzb@M8}McURsY_c*o{$v{- zJzLuBOVX{5CW9>prG?iS9iJiL8`ZbQn17wDd-%5aoqe{)STYx7eMy+LZ{eOG!w2Uq z*Br@u|LUNcQ}odr2N%6O)w1qSQK8zc^&#)JfA`A!?w7w}$tylSosXyZB)uzEocy+d zIVf9LTFsruul8T3xlC`D4C}kD55ZPk@lzRhYn-~C{QFMJ`W%MUVcQkWg%1?1ZkWyM zADYZ|d1c|0ZGTt&u@!q8K2d4&kwC+17xu*e%cz_E%sg#gd3EgVYmiNK4cpsb&Dhx` zpP%{W=H|Yf|7UW2(qWG@o%sE?Wmyx?oNyGLW%&B&ii2m`^6%7qe48A#C9X1c$FY`_ zH+CzPE=Ps1ZCew#?)e7Ert0k}!mrQ8vd%S1t(Mx{B`UmY)7tQTnQ2_z8=L2ubIDj1 zxK!hx48Upb=Gm_!{JYF94tw? z{iWkTqpaYK_vPL99rs;%#e2IhG~eXYeSg8cV%hB-muFrGjWUa0>SgslJn!JPTH2)oWV0ayuZ#^ze2`oxl5|ZNw)lBimR_|iO*E3 zSZZ#$cD+pQj`GX0{!v>kd)J+vm>)eeMp{F0)g8X0z(pHPy$T``pf?vYQFX?)lrmSab7=<73}*xwkf)y4-VX(y0Ygq3+V;H%pP0V=FXL)<`ewCfdHubW-I`7jH;+WVn_#`0H~s#(#n-gc_vDJ~ zle+u)HeU^fUiN&uX2fywuNAbN#fB^DgVm-MuN9L;aks zoVCT4huWLta#u%f@JXKe+P7!onfs5AeU;udPhYLU)Yuqa;QD_02RoE{M|P;gi)(A6 zzkQs!eE!8dcjkaL@@8$ll40VunEmaf)Zj|x-S4ax3l^oR#76bWuW7RGE6GT`dhjyG z+?R>__yyPUEkU zo162F$(}E`z1h0_)-xa1U2{%;FQ0SKR%&~^<>LdPW_kOy@^U3tdHV)vZDX`Gt}3`7 ze}b?5On+{vRoRz>%{O&!uix|O-?Qar&rkJBo5qWlMt!@p?XFh5&yD;E^Doc2ZI-~> z{_W31-uP6m!w2f>&7O#gyxv-MR&3MEr?Pr1EvW=7_IVv7zQcv!?mFJ?ocMH^18#qPzIZrI3xm z+v;<(jy$+~?(=EB7+w1i!F5Glf~9dcr-f{d>vawfeLdO4Z|Ymy>C4o<-JSbr!FIcu z2Dd+3{N=kWJ;%8z>(+lsb*Avg-&S{STW3^bx^W@L&6^FelE<`Se zD0wseP=xjE+h&I*A94M#EU0(l?5qVrGhY@i+uqxM!BKNj^L*Kesiv}Ct2V`ju2{wO zYR0l93LKx$2bieee5U>Rc&VDyq&dy&AN2aD+Wg@89bY*+YUZ4ilHKR#y*{tD&APf@ z^HPK>^9*aggiNK1slCkwot&{V+gAS3x8^eFGJWygRDvfbd#dHVEpb;r-S^&nQ|n!^ zXqoYI)5g^%8l1h8{5=N^l5%+K*z>B!zOvnG{gx*m zHptG-He*R{ictHIBi1XYR3^^DZ&2^=nU?Jg0O2 z_hWnb{^^*lcwAW~5@%X=p}2cviCK-QWWp?-1Yc9Py%#@Rb#zaewPs-vU**pYp55&8 z@6VJ_e<4$`HuCGQj4KNw^=I$DQ}`k4)4aa@>o=`gb!XbN#j5RTCJQoGo~jpb%Uob| zP+R%{S2ow-!rxPakA6CH!%_Ossb$BcZv{^M`ToS8Yiw#cQ}v&H7rX5cHpO18%wG5z z*QyJl61To?5PP!!c+|(cY>EFWeUzu=+t26BS-U=eMP%Q3leKx@{0v~HH}(C9zX`3r zRfK04+Wq_3f4i_5bVc2(SF37G93?NCq%cLKg(OOpz5TJXZhw5=0_{WLYWI`W_F4Lw zas3g|jX1iCH?ddk!PLeDI=fFNoUxcUMRwC(tNgDKJ+eAtg zo0gwj^|)Jb>MV}z?hpKPCTA$+pnd99JuU?#eVZ?&gf$ z8Mi>^f1dA;Q-8|Z4|`l+cmKlo`XA2KXWH$)Y{)Ilp36g`63pk*hXcJ<*mOq?%@{d+oAL{k)~Y zi=THb@&6jLxNONM&!4|iK8Kp|iOC)^iJlpzwqM5f#ni_iRs~kS%XstPUqR5%XTP1T zW-eR3ov-@$?Y0%)Ombc>__zLzo}0)!NzE5BHk%Bk=N_MV>%3X~%n4VX6fV9!uReU0 zQ_!Y`nxAWDO_-9oQi|`_tM9v?et)|v(b?Dcw**_AWXb1KA3`tYr8Y%J2KBB!^TzV+ zje|AO`(=`Ey#AW=;M5-f^|v=GbNY5qeLnly>W?cNH{V-xJ@ov1bD!U#XH7P@e)@cW zA!q%~X~wr}p56W%|L>%B)zhojuim}8b^q<3Ka;<0hlEtaVffl?GXq62;Um9ZxZ7tj zhebz6M@2?%?04^%(>-MH^R-$>vYhXRV_W!+dgeHrxF!b)?mKnLAk=il2C3kT+neTW zd9i3#Ms`uCsfML+ZTRDB>dSd@d$p#m5_ik)vu%ED5qkdWmB?j$_AX{WtCsC9pZ?UV z+~)t=rkHbc%hw$WKer>#C-nE#iZ=_4rMM$wg3avAq}yNmT%MV^*QlG*ZRUfivYZkv zW)10bdyD2Qtn^)65DRMVJm%M(`dnw$`nJ^1Q!DeBBCbYw7uO!W;kaKyIns95yuWXM zHm+Bw&llcf^fr8+{0gb98tUij_q#qgy)E(S^S|%D*Du(qTzu=+y-T1w+vIvzuz{cs2X}pJkw%aFUPrX>u@2pD}Wrt<*6!!$9Jez}W(e4YwZ` z&6&d)bJMUjRbe?tf+*wsi!+?k?_4n1d3SC`!KILUr!<*uZ_X1pk*a)Qb#C8;V8fvG zR!_by=HG04aK-lOg4nY5naww4osz1*UAt1@mcB}9b@DjzeOh10puO?_ zN?wnr_g7{!N2I+;Sj*u!b#3rs!^z7&o|4JGwf@ul=+xbjUl$&GE^|v&Z}$3CN4G2s z)eT$xAoONSYEztA!_%kxErs`SEoX{&{9#7)KRcuid9!V*imSnK6QP^6lNZIF?9(qk=wWVeaFi5 z)We~rdxBfnz4>m$w=`Aw;cBf@X=Z9yzl*BB;;-`h^!{`Y*P3-puf99M&vf-Qul2Kw zrCk&ILlyLT7k?_B?6)Ox<&VD4pUXZM&%ECwn`t4_{_W9@AGJ5$pEb)7O=j`^p~d55 zDphJ7w8_|5`+SeYnyaE$q!w>%e`cO~FU#WM3R8(^&-;?TRvoRL#r;$N-}nF4wm%*) z|5{!DG~E55Avp0c^dR!nDyM+Wn>X)ze??PzPvwh+?Ku_4dWvt~y0huwoV$0GIzoG= zZg!lfva!4KZ;EiPv)Zy`=7_wk<7Z|r@S7C!HsWZ~_tjA|SGlS69(F3LnKxN<;i}H2 zHLpBH)uha=Q;)u0T-foHG4kTPt@bU!M_2Q4KHsyjY}IYcKPv33&EN8imdUv#|8SE& z{bB0kETbjU-e&GwWp=AN=WwB?U|)Cl`wKM*!bO`Bw<&B<)XZP>b=8FW{7l2Df|B{_ za=8rp_T^u#R~{1(>y3E%!g%(Fspe5#3Uf0fxeqUpsEu5G(_wC<$?Y?xGas)ioNmUF zF>8kpcXVBxy>8Skw&s0*bK@#Lx>n1}ovS|%I;Tm^9Cp)pGCW@~s_}gO@wor?S9bZD z3v8fERZ1Tpt|FjeiFp_cTf zRTKPz%u>i#UhtK)pkv+6K-5>vY&4|Pn7SO-_q%Y zeD8K>9f~=Z5_q*@_Lpr}lJ1(-Z2i7zPObK=J^RgSp7zCis~=+wTWz*SrPtm4+35xM zx8GmPd2D9!m8??f1KB20+rF;Kn5V^@|Fe9#iCpXURi|ZI*FSQ(Xb>dg{_1Ph;`ckV z_8HwTz8aS1&hzZ~I;jn3F6C{#a!TCz+lH(2G^ICmDTE2?X|G$z5r6Vu+A6{3I>}4L zcW3_joBVgS{lD#1e>S>beO>nT`@eVVUw(Oc85T-v@D)Mrvesp1%#vmv-<*E_mc!X= z*QV9>ELs>Ae*MbZvbQ%5)$LC|zJKO*b93{z-=jY%^4nS^c;M4sC5LpUh{&iO*)yj;PVzcluBPoSIqUto9ww8-bryO~5o%9TnIc1X zhg~g7joRAu$@Wb0=8GYF1H+eJ4qSY5%YIJbBSwrm#k$XKtzw9sv}18Y+#@yDXF8|f zyjR*>x%1KYtC{5`pPzNv{ZEg-)HzxGtFip+mxty5ZGhyz0QllkzU=L{gU_%2SfsWm z`I_&IQ$4CN@$vf15w^Pe_pe;KG^zIOsj1rEN;l_;37;|aF0B#WFiXZgf_2@hHnq=p zWG=twcjJw2<4xGvCsVve)_Z!`dJ#u8X(=z?U#n#L&F%6wvA#~YIqy09m4LmnZ^MPN zZ_fQTCu_f!*zuVe;>BuiLVl)Yz4FH&u3nUTrsYM@?^?B^5)SvbzYTYkxOE};qK>JZ zvtX51_irmH=}5MPXDoexhyI&;Ybj6s%-m-ivy4C2=9^SqFo_rKUzWQ%PkQ^Tv(tDJ zX6AnVv$OJUjQ7XAC*$f(%P#zpJ9akfX!)#L=QHApKNXu^ef_QE;i2wd|Gw{E@3%WO z`tF(MMe1&;kRiF6072;b)Qah%jI%!4pVraQxpCY${hZI+aMtB#7IXT~G}AHOcfn?s z!nLj0*K@M3wQ`GZ*}OT~U24|#?q^GGu%(~*En``fQZn!L_4T)t&CSf!-GsenKAv(n z;OL3NuRg5`n8cZpy3ABt+sS<8?7l-bu9{(@Nme>cPwy07ZmiTR{mc z_4$(fHuuD;TkG$v%w8GRb#7Im$Esb^%VZKnGB3OqU99x^Xv^F~8}j6RwXddF&)|(! z-B{~0x#Uabrp}Gc&vr|@flip-XY^1*xNg)T>~&dc4lN@_#avfR@>QaM{q%*~g( zEnc}T^MKLy1g40uX@#}RI#>U(F=Ke49^7av{KM!mr@DLmt@{a+Zf=wo_b+d*_x~)3v1sOy-AoB z+MSuFb;xUR&BcsO_wR;B`LeCs)Laz3ef?&sV!nvG((g9i{?_NKb2znccfHrcBd%|G z<7Wy^SoT#*&aKR4f#p42=@o}Im~pxF9+SHD%%Hf&C~u$E`IxzvO)^|3a+bOt-TC=@ z$LHsTL0jS^uYR}RTCtBe?&|AO={6(pz4tae+CBw{F~+cU;Ww_nXbT%HHnMi`|vdzy4O2PeFQZt+VHLiPGsa(zK1s z*2VBlK3sIFU=ruOo>?1mI+jbgM|^d?`DUu|&Z6(%*w(+3II?T@WqFBxvubLSzAOmt zjhb^OvieZ?)k(c>)^0y-%^g>&^gZ1HN(B|5(xN_gyT$&!x~VfXy(by%F|#eZ(6auG z<>JJhBFXG;e;izq;kcTq!clUM)}e^T*nHF3+X`1-ez_u*IimD-Q)*NAvt4J(*l?|eX?J2 ziYKREul>0$Jcpmja$T~secsNqy3UrN7fuwMHmp0BA@k5Ny!t@TLEGDNZp#{N-M#t! zSFJB5Kb_Qi-5IAX)ZV`9T$X0}nXdiEEOn~=jc-S#&RYNL?>t^tUbfoMnVZYfkF_n# z`nqdxd!A+A2C47Uk2OE~J@d!BRS%|CZh6e+yZUCqibPAhP4n&5p1yuIr%rMSSJQ=U zQCG7{&z4wyv-OvW*Krfrc00=~n(K4v<)+mA`odREO@9^7@HT(xADzxxpWGQ|`V_V- zTz{j_NrvyZ`ud=m|5n4+gGEfWo->O>vp-VyXx+}6<<%xTb)(4NxJ)O-aqxy zAnBM*ib}?A=Zlw1t$rinY#rvGntbV=K-f(aQ>$ls|Moki-*315Q<|<+V7j&2IBs>+ z`a2&v4qbGd+&_7C&Wg1eD~%qi2*(-8pZnN#U>4^J(Y4`MPn>vFQ9OTBp+nxLpR0II zg&thKBkGjdnk_QH8PY3k?Ca&%=j_$Gb;0My$(Hp}Ka-@^H~sl-cE3`9?OXNwW1_b< z#Qd`r4UJ3PJT-ft`T9RKeV1zDi!a7mHW_?2s@}7+PpM>jy!{ z$iLToB3A#3d3I~nTS(Bzi@>V;cY$gXlK=GX|7iZ@h_L^QjmPCKzyEvheP(K^>*mdy zqaq?MTvT?ydiU)uf!<8ZQ#lQ*I4;cC6Yyw>+42iSy${}mD z>fmYiy-pEj_fI~UveN1AT5lRaa#Cw#TU>WY9LTH4a9SDlYz zUB0SdO6FdvXWg9sGm~>4PnG1onQ`NM`k{zCQKr*E)mS^C`{qJIkWam>6O>M)xKqa z66$(_8-A6W{`5odZV@Au1$&a7TKQsmpkvac+BKyfoXiYrYaVZ?>1Ij(Gk%^>rfWAc3~yI;`^l!CMVolsl7g3gl zyf!x{1e&e7DAg-r@_dGr^$dN_s5!^)B=4T`HtN~F*~hikq~2d1v-FC{`?-XXaDq_Kg~n0PD)+8AhNXo%*StXHx@(~ z=3Qdh;A5bDdVTHo+gH!MTgTfEnxg{U>aG9h=KPf$r!2F~qF+7#EpJ_A5}$wL_1@p_ zWx@II!QYc7H?7=P4(2f2c?`O7H^1)l>|cML+pk|fzb@){pR6?NdeG$T+O@j5`T4gU z`Z>?DENeX3bK`T2G|Q(P?O;I{qlIevAKY`@uNq~|yLG+kNk+U}`u{x#vd(|xOTB#U z-#YE7yy2JK#n#5Sa-1&RtHko8?{LJdjHRpe7G@nVdbrr4&qRjjjqS_w-L4mO;-%JZ zI}|0@@X0p+RgKw_DM!9tY+2(bzn&}p>20>ZkLK*H%fC`__3Zihz3X>Aue(|Hbo%%0 ziL=(_{0?>AY`l3J<7(r}8xxl++`sqo%#_@;tu^~+@dk!I=03Z3=AQrCCVIbIvGJ6R z`TVU?iW06LSM;vFuI(25@5Ar=o3HQKwQu44|3Bk5G}?at_5IUZas9X{@-5$_($o5H zO>ABMez*Vs5AuIv|Mu?xCjUZN{^tpeE3DvPD_Fk>dcgDp=3_nUj30C4-`TOSY%LZvshqXN-Ik>}uNLyeiT1m`zPe+f);V!$CF5lF!x#E; z*0?c;O`jP0Q2TOTs@spHm;diiPCM-9S-0-Sw#-n_I!n#I&&ijPjwA`r(TZN5GhuB7 z&)JHDMVfBhV(V`fc3t&2dNFUnx=XUoy&609#i$?n=6`}R%F zZG*TuOMa%WfBoyyq`bB3R^ES~nVo$*?)aHEYhHa_X7w{ab4LBPg9QunYkzy5m7l#m zH%Y$s5hr9^`p#+CxOB~d84S}h)r=0#`uVfc_UDtyWg&AoyGD;;^@Qw^!I*Ey1U>1-thnZhiBibtFx-Z2765f6rNd->atRZ6$R>x7P0L>FWD?pZ_^u zaR1d+@%!=&^`5rh?-W1%`@X)uZ~E_l-}lGc{r`DBT{)~}gVKc3r>Ca!B;DOnseIV_ zW{POzqPqP)-Y3fz^Q8BB+jbR%^>3MN*0|K_&1LOUnbl{aH>PbqyeD8T>#M!hDz8tl z9IC7gd++gK)ptGV?PtSt9ac`+eVj$^=41Ecd~P4I^2@jT99z6;`}Xkn(Q7x#DgP5| zORfA_@Frp1%-5m+lUm~AewXYk+Lq+|D&bn*)-;y2-}w1nZEU;x?f2EsD)#eJcW5<* z3WiBNd2ztePOQE3ap>*3t85SXn&UVB-03bIIp=?c(Yf>-UrQ zZ&@3DS*_vf>iyIIZIOACGyQb_zPPx`r%zv%KX|*T(8j5f`(}fwRIL7Gj{djrpT0P} z^wnN({`ich=)-&35{)N)GXMYn{B-@AhyOMIKaKyJ)0bmY_9g<9ynl3iFo4#xJkVch zcH{FAVgHl|FD@EUD|^N%c+N>6at?aCM;ZB}1m5O8NdC zO&OEpmNEO!9A`+|uySXA`|;dE;b-@*celH?SpGFb%;&iM)0G8(Z?2o1*nMo%H@kDQ zc8eXKb4_vQtG}M5eY>x|KXi7s`DRAlYn>lL+Mchfee`*U|KF^)IeTwenEkiy{4B+P ztTZ~j^nBU&?WfAV?iNnm{P4njMMegOhW$JKJO$Oi5A=6}ZdQJ}@wl9}xPF|@{y(Sp z$K0#=e3s|x9Q%5^W;?-iT>iS*VVwPL|_bl!EU2R>t?)L3y@QRZI@frU< zfl`=*W$mw$pAXpWBl7O=i{1CJH-F0dy05E0yMZn>nzGiq{M3eDKg+(}VQWa+>}aNV zbbrp?SyvgCJASQuGUe48|G!GJRw%tQ&OIFQ_ufN|L-%s#^;CT~xc0DmuYE#TqHWoR zya!#!``gw(%Qi{oxP7tq;|k}%$3|8bCq8#Pxcul*QDjuyNwwt?);HD#^h>V!Hn+z( zW2$fbTf?;W+$eU#ybV<@kFQ!ZN0ch8&fCB0_`lT8R~KaN)B5`N#I@DWE@oewV|sA4 zr?J{b-kx6f#eZt9ux+UNTbc0s!>8XrWuN~3xIePKZvAIJljAbI-;6cBzB+BM5xzd| z>|`iQ+&>P>`0hbdWtePu(Bl{TBH{*Ag*EkE?NLk6h1jh33G+n|ADpiT#`uSH52IX87vk zf6k^&u9+vlSkg73-)PR1ixpG)DBM zZFSb)8)nQA&HpA=8_s=SUvXV&#kD*4pLwr#&ZxdwQ2O@P)}qhH&hGj4wYPUupzXSS z#an-!D>q&s`h4#up||1UMqA3?+}QZ1wqt4A~2XZ&D%0Gq%0`t5~c7N@4E`!6}a6jP2Je!8a?ue!1*Fz5eU^f1zfHuEtkho${(Y zUwv=#!!^?8`O~(qkI9VM@Jed+y^<)lzm9BGYKDCUVeC_1IfV7-zPWmE_A=hp*L(EO zWL7M#59fGp@Zrn5#?^qat;? zy-!PeNb~ir3op9zU`_76Syz(TZ=0>AE zDU;{Yi&^=dlfNEJ^Sz|=`PGsMUDqGKs+{#UZgbAfS!ZW&{&lwY zooO;d@|6b{f8W)fy*+Q5`Mrw8HJ_#9^{=ms)9>!?e)=+f-pu)jv)AvPrMQ~IfA9O+ z_n;C>OTOY8^XF-6E#g>K-7>gw=+J_kHM-OPKimKB<)@YYbw=yIrhT>kd@VYEs{a3X z@1J=bbC<8&QuBcM{IvGf_qRG0g9nhlYeSY9y%TDjX`Fs;N`L*I$4}qf-2Alo|3~|@ z8R~~jkN3&z|9!ZjM}6|9y<0>3-%I#n(u25yZ)_g(7G$SFYDIQwDz;%f*D=cR&z}A zU6uVRwKzn!D=H@HRN6Af|0fQnT~-q@%{<0;?e+O*^8UsxCVkgdXPw>lQ>!UL@W8Bl zSF1w%Idj}u`FFRab?N#<2`Nc*v0 zdn4PfKC15C8ejW#YSGtM)~TPbrG5P?r=6XhomyC^ID11`*|z6vL(^B?Z{>)0{THa8ru}f$lP3jH^4jmNzB*MD=YOYLzwV>=)Asd$H`Kh%j$b`5e*L@uTjtpRci36@ zIjr)0u>X|j_TM&EdVo&Hcu)tKvO5rai{aYm^Y-!ge&72(4KzI`sdnq`-Ln&mFY<}n zyFU)Lk(cS&bT;!=_HoX0UTPaxJ%5=KRdnK>PLrcAgU0sU<4>l__}>7POmVid>pA1M z+D5#ecJ}4hTLRa1_sZ%l^({GjD{N(1PyC$k2OYP?yJoDqEUn?b zOaiX*1{dm0{-@#`Y?$@IpdqyX+i9`25&L&d<5<)?``fw*?LNuJa<`Myq$9t|C~k>R zXNs6Td-l_7YonjuVdkGQS>6BH`vdRZ`R%OxTXpl^J-y@pb5_);pPSY_U2p2==jW#{ zUApv_T-fu=W)Z%tp39t#SSER(t6Ji9{Y&q7t^0qTnV(+&Z+E;l`{P%;*tk=Z7t49? z*jc%{=8LlY$>Pf`pia%5^;Mh8Unhf(VSS*#H`BQ3-P7sudiQ_d`+jQu|6l8;UyrZ1 zJ?tiUsB2@<#lA0>y!BHrsNLG|>cgc4mFuEsvMPB;!gli3htMtA zU%m3{Y(IZn9amc_nDYAjtm?!C98Zf(ui)$!WWS8XdkENnl;%x^Q{ zy3qa4+3WvqxU-{h@f^F_Wj3EqC_h~+|2v{?-}UCuV$4>)ds%0h!BnNc_lMKh z>cYi$_SNoQvo3ea)T>)Ry;{BgNp1h{l3!nLzN)!?>eer}%V$DQ{r_VB=lj#n_4MBOy_GLk|6Nm?C%xsCL(H1_$2%_eU+fXRF1+2M z-~L3da*kQvyQfPs-*p+pluYnlHhI(5(&cw{6z+}LU8Z|nZ{6DUQ-#(2o_rHj>V9vr z@AZcV&HU5YR~>(OdHLy2r;4`a__|GArn-jj(9zl(x9{riuHG$q;?{lnsedn~?c7;e z{qMI>;)bV7r*7J{DQepE>7Ql3ed9m1egEgXugVhx?0y7q|5UEI57ans_aQ8eBN&M;}=RfUk=Ov+puQs+SG)!(o)myooOo%KUU(FV=SRz{|U-;%d4$h%<0lXCWb=;y~53$9)KaP7^B zA4hihf4&g$_3qt!cXae?-dEp@5%UdyU-@h1rvuFV)40X;rmPOXubIE^XIkaM*7u>$ zZO$y)y#MF+e_@qhF1nv?ZI|oHU%7d&1&dpm|&51o4 zcg|PKy$v_KWbm%IWoMtfeb_Xy>9gE6w0^RV|9AJ#++7i}|G&HpmOKZVT-!1K$N7_> zkp1Djm2np6I)SH`mUchAvNHH7yZsNx%HMCd8!r)7T+DGUW?#+DJ3BW|ed|{GIjBVM z?5Qo+^*0|}!zpw1ZNS@#eG_;injP8Ne{Hr}aCKYYRmatnlG)RJXJ2`E<6xMuMOL$? z;J#T`dIQ-7xw4sp6`Sn4y-(kKw#6Xk#Dl9fDhXREre@5LGFN8rXPJF!P3D4GDIc=- zN3GA>FO|AsC2yQ>`sK8qB>m_`ufF!TTzJO0QC_@Ud;J>Du%ns2%g=5-c4A-Q-Fv24 zO=*R_g|@lbA;&H*yIj_mG}GmDcu(D$bICSxQ>3r2pDt~lH*I=+o$7hrTW96!emvZ> z?zQ)F*99+x}UoOt%{dikYy)_mLj>)g~&*P`>&9P(6|LjES+ zyxZq+%kSRyt5>JyT(qkElw!8L*KM-V%05Zml#kWIi~08d*&VOvZ}&CDvhL51Ki@$? z{Gbjpv3o#X>)3PG(^r%GZNvQLTFvAQm_2*8Wt`q2EAH;@n`)wsOCBC_lI(Sttmq0` z!;$p$_gRa5LH)P0qv!PXJwJVZ@mb9{e{Z%KNw@#4ku<;YURKgMV%FQ)q5W6fwkH2x zcG}9OHz-KjDOMD9miyB zXDF`uwfE&3-f3TrA6&^l6rO06zuW58jjJuoJ~i(UFZI5mvwi-v^v{KTh53sjS69wm zxb@Y(W0qSIw|%qw#?JmZZB6T|D*k1q$~Udw@0t8qCI9ZNGiIxV)%&JDKHfL|?Csf> zeFlfZqobo!Yisw$>?&Dl^Xo%;eRZ$Fi` z_1ULWS@-Ve$jv_T{y^Qm$5*#*EqZol=BB{4()SPg-8@}wx?-KW-TmA5we2f@KHU^6 z`#ZycpMik^5x|ixspsZcM%R5yuU}{L@5kh)r>1H@jsMeKKXLKjZG3#2d^MYF)6dU2 zS+?f(_Wbk*%X8Px(&I5!5jpEVIa78^XF~8Ea|u498sYWJo3nO5`+Q^D^=C7lF|OI| zY_+-UPNH?0fz--x-;G4JZr^RpU*+nMQJAS2y*o)KVVz;NJGWe)Oix1K-h#U~Li^v( zP6^PsekQQ{>o;rb-M$W)M)v0t1kQ#x*VtwstQdkixf{ciqeqy6rbh zZLQHsg{uqp9eB0RXEsB0sozzLCG>k8A;m*3e{sXTlA zBO862FA0^8I@M3l+?;;;>gw>*PfzDheP8q3dS~pG*?*^=uiLigeeL_z`%bq%`>xJh zTzKzqmB^ECbFFWdeCxgcd+(lA8KTkA@#lYkJ|?|>`rNl~c^=ljxS4KT^Yun@fB5{~ z&xX1Co(Gopd0+i5w>F){DJ9HmClpnXXn7T9sRUeNE;es~XwE0>3NkHmjAJ z?afYkyoEE@_ZHilpnjVc+Dg;r62mZqsCA1zW~Emz ze-rvT?Luy;?(8ksRy|*uHM@)_ndRrAxjD0**9W|{KXZTj(W9(y!x@#WJU zJ0o9yfAxJ6<0^aYpN}{E+aq_rTp}^+aKz`p7WZQ;*AiD2${w)l5Nuq`Q+PCDPew*m zOw6f?oq{2+On;|+SS6`%k^PLtO#2$+^0YS(9Hn2)>X(%O3(6+Apl+yO-++6$lz9H6<2Yw~Ctv71;dZ78~#^dtmFI?FmdER1w+p!X% z`!DkTXT6+EddDrE?f4{Nu@zYOF%};;(7RI*w+?xE5{p`|DFCF!+lqe1H(gFL2U_SC|}h;wsoXFGx}8ff_43mKBFR}wrF6&FQ;lS&?_yld zX^`5noRjtFYYy+D?vo>BpL9BenCQE{$g0oRPxje(_t&wFck(NDN?J!$`9@z;VGg*Q z^?TdQm3;AMXMJA99JzbvGYjU}#f5)60wVhq=J-7i7JNM+u&g?jBg<;;*=Fz0KSI}^ zxxd?b`qeKrzO#F)-S2fdgkBafn|*}i(67T0_I)>Je=QP8WI4ZVbLPGMJUwsUKmS|* zdF}RDzc&Qx#qF7q%=A7dH~sU~wbACqEDujkUVh5m{##Auzn{-f@7(SCen`{F!}3 znaS5uZUdjw*W9Hsfhr{=# zY;?wskk<44`2-PVPVT>2P#-fK7oN$xo{ZNohq9= z4}ESu+mtu@H+!iW7Hq3XagJIsax&JFF8XJK>f8@6X9c-34=Q-@12B;M%84MSU$c)!%YDAGVn1=T5s` z_v7%M_l8oRcJkLRvH5bL_0yZp=hLjibT-7tR-MaaD%L`SyMLC2hIP zVAkeu{NGN4MqqDcuYXqQI^p%?`F~Qr{!|7vMpLt2`>{P2YvY!bk$!G*d~ea~XIqQ@ z-n#l}-}im%f6cAj1M0^8tOhl=3if{#2k&wG7vkEXHfxH~h0iyV`=7qfI9&DltatxnFqDWKc?bZTbhQXL(glppG6Upa)#^nLztbbJ=DF{)(;kPmZB_Fv$O(Iv8!IT)ef{f;gI_o8*fHh({i^3)eIY#;n+1KW z>mF59zWJzr>ew;2wzWznVvOr|v|m;W5NqF2TfKSD=X2Iir-sL!G;HCI-7(=Y)8l{t z9O{c~vBi>wj&1z@t?cx(wbD<&JzJae;Me-P zXX&S^=T-UNbAQYZnh*Fr5n9-;QgYe6XHN{ML^`;D>O*P?I6ZQZ?nNZIr<^%Z}3Hi*vGPnLXw$j(N01 zF7k$1*;d9iahDsWCay_yNwWX8womx=6T@Yj?O*iW{dy&<|MI-}_2K)c&rR67OH#Y6 z>tf4h&%0fwd54k;b1?Df-c&))Jx*?zjwyt6K+e(x{4#dEdyJ#W{und2LFu}SoJ$LE#q zeAD)b=O*YKlYjT_-P7~uZNERvd43AKQ0AR8G~>_gWC-k0=}}wL4;nnIzW+O}^5xR$ zr}FO*($0#HL6sj4 zohJy>9V`> zan{aH-=2Ot93Fr2!}XiS=|&BvC#HdR%ryL-3{98MlzM~}XMcWvKD|Mc$y0D!SK8A2 zn#ad>0-9@%P0So{&hSu_mRZg8wUgL-ZGIpe|y%Vn=5noW*rXy7$L#;`eWN+ ziT)k8dTe7(J)grBvG)456juh#`>W&9e_y-!JE+S3T8-#))77un-O@dEcjMZd4}-Vf zU9xkTr?5o#cJU&aM+(lFx1*!4+TJ;Rv2pe4?9|fSwR7xh)eeUh#v0}so-4MHeYSB~ zbKSk=w|84x78&kazQg>u{~Qf`*Yt|P_+ab*#37$ zmN&um^`%yB@l)mdf8Q)cxn22wNFFdwUVj0~O|o>eTY}a={Y) z8O68m-qd4fueNL|Fo-#EY}wMMQ*-v8N?Uc}v&q}A%QCCY=h~+q&^*6N&RgQ(QjTa@ z8JQ=Bua~Xyw0%?{^Keb3?6R(Gi%WH)jjLt)cWes!zo$atPnSY?_1%w=GTXl^n}+R` z_l}$TZOyZXt9RXAb;dd3Yw>zX{~IaW)h;hvm_6nF@t>(HG!G?Q{dr`^evZhaw$}e1 zI6r-IGWco8S6LlbhSfXwZ>+sN$5iG^a$LgAJ*BI2a`UIk|NF3Y)3$wae)BDZ{pMNC z{QmlCc$}tr-W`qESHFMxA>2RRU9NV^p6`3#pEZbzxt?LRs!#TN&V`mee4lLc?(UiT z+ePAy&(?dv{x@KrLfzAs} zHEjy#=1yH(72B`+=K5m3)qih=E$47`{jtLS#njAFz3Sc7rQV@AGhVK|clT@9-ox@~ zXaAp_<@;!HrsbWrCW}RtO{PhQ*z4$Ac`o@}^s$Jt&epx9%h#+~GmU$?oNoI0d8ZfL z&Zu91Ms2ap^N$%DIj8DQ35+S!)9@$DeQ8#1l8yCQ{G#lgG|K*PiC=>ndy! zT+(gWR{uEv&)H2IH%{zt&QO^>HRpa;Y1&oE_}b@li{9S4`svhZ{nX-XVWoC|>(t#^VgtwS>b{7P-EPGV=@zK#uTepVJt9aB|^!wXe9*3=rOY7G2nf4x= zyh(a7$9Mi`^RF*lk;vASB$Hs~Yx-~*Pr}g?2h9qu_DI|ODz@H~AF@_l`E%0U4kq5k zmRXsa{gUs$&$_m{^=Rv+J)0&ymsuO`eYWuN^PI(}isz;-(75*2{CDc^kgs)f?k8Ai zY`%Dxnf3iV!yk_mmzdRDttvK$+s&+_gIT>!)q~y0z%{x3Fy!j8?C-uD*OB<=QZTXsv}+QbD{W46ZMZ8AOW z5cSS{X4-_6wqb31+rHj7$WiTjV`bilS<~F*tM^#_Uz&4pR><|e=2jYyvu?M_T)i>B z{b<|az-^7LzprMm-#_m$%i@=>FD-Td^w<1;#p0U(zwe*_E%G+}yzTdx%1+Mf}&J70*rfe%YdgBPk;64R} z8*zyGdTqYBrDyTY%$k6H-kt?P&n8q!{y1rHtz_E6H6NGAZ8l#eC-}{(?oCAHk4Hy8 zz4Wi&Rr5%A{t1PMHPUZ=FW&gFHotcDo}bTVKb?L5Pa0_S`Sadwf3;@qI5lzG>P)tt zR}+Gz4|O#}WHJQ_Dsh)`hy1PjrkDJq%02Gvr}*GWr71N@#@`F>$xMA8etn+e)|@v{ z`q`_qcSg>MZ#l>I*KuCBwBKwq#x)$xM@#Rne3!bXZ`%5+TerqM{4hgwC#z|}L&b2N#dJr;e!Nq^~;`%;BNAzvD;$~U;$))ny zO7+tRGlGsy&a8YoHGI?0to-!qdljY`Q41d#&irchL?oF_`Gaud!nbeN@+7+&yqy34 z^Z&Irzg{c`PgcpU`ZY1I!cfXEYTlzgcHeiN2M_x_Ew6iCzNs}^(J3icV0F~$b1qkp z=U$JBi_)6>aD&Vdv%hhYdM+HRe(kBs51D)V-MKv3OkVCUpte;&mh`FeNX=Be{tSKnynw+lJ8 zxNv9L*Q}q{w%6_F+o!8LoxkqI&Z3u>mVP?G{Jgm5!Q8C*N007$s2#QD+qbf!I}g0| z_eI22zuj8&_}JH&?RNh&{zsiCj){-gwcfq^>A7oVKd1ly^j}N<$AQgHpVz&64x05j z@E5X3tD)MhrQNJgR(rYs{BvSU_x|0>BbOSHWpirU>b-aG7X7`ob<@_(;op>fN}rd_ zJeqNES?9``&&>Iqj&|&qSTBCo&#=tE$zSkT)xXE`=O0`J&mi$UU;O8uYfHCMf#~gH z8T)U1dm0{h@^eS=JlUJucoVn2KDsZL`+AAl+IaUFtFHJ)UW^ib?|*A!=U1)IUvGVX zb+OU@(lpUz(dCoXDz2S=wu+UYpv@%Qgd7E3(-d&7R# z3Z)g>LhoMRyZ0|o{85cV#n0tWTw8rZ%}w^&_wDr-K^u3izc{J%@vp6)&P~<+`hENM z@a;{e&-YJQ%qG6cGCR@mo#*;L%kTfLy0;~LUga{IFBhCE?LpPUJ9SusQ@XQxQ4YUlR87 zCAjX;kea{frxuf=ph%a)_2YKmYJP&&rB6?{|IldvWsj1JXg^1StA|G1{XLbN_x!t+ zee=Z?wsof_vaKn*5}$KB-|g>R*#ljl=bAh>KKZ?9%L75lX<5u6XCn?_r)|vk9Bic#_xWp3jona?9Y_wQFV7TQ-Hfm0ufII6v>+uBnQv zT3e59DtuE>`DCK|>65|Bi)R0*v4}bGS(1~~|m>$5*xo%(9y*1fUp8`LgW$s`LO zh+1_mJ}PFFo}HWVx6}2%{@3X{$IJiwP`q;=xQ|e8=EC*%tG@YX3hMm&wtau>y^6=Z zpU(fgX@B~{aa7JQQ5*%Y1dkPfNMQ7cK60 z*M@~ndvBGuNBs4bcyGNtHNDz;_WC%``i|AN zzTfJVuKf4-2BY-H?6>TZz|Ce;jN* zdg(OVTF0-Scl_$(I~BI|7`OhO8N3<%wqFwJ;twyhj|T3Vfusd?(zAYX}WlUJ!1mh;N<{%SVr5UdyElbT-n;KjAI(ob(} zOn&-j=jW&5^&iDgAD>sh&*s~W-&zB#?Ypf0Z1QVvz$SqecdtzN=*r{;vQYDx_s5o%mw%S&@B5P-y|Hg!-tD!U z4zA98)uj*=^Ev3Ui0FLx-61TSK5fply|v-qe!i-sR=KCIt;xJI>wbSwe_D=fbHu&v zul{XK+>mjhDZ1A`aW46^0>M`;&rqA*M*-J^4G5T^XB}&?Vu6U`ZpV!>t{$f?%1$n#`BM_ zRup8Ih1kO7-RT8A!E z(B?hMI10b6&i(#*cW3eL!p~`ax_9p0)qbqDLNuG-Si$T>cH~;Q>}=_)uR+bSn3!4S zvyXDRajd=nI{k9^n$Nf6f7PE}>Md@(r}W*OouDjLpuhSbU-6ISe4u=_Bi!YHdXsJa z@BII7jjSY6H(!})oNg3Q^7Yl#qOWsTe?76g`LC6aiA2hd6?w;`rvHDm|3?XUfL;IZ zCH>UNm*{|UipTIGUsEd+ke@8ABV2FZT0K<-g_7S=O2pMtJW~}G576)5EFmX-#PE! zJ+WN3ZrxPl^z+xBThBccy>;5O>7QnFb9Z00eRuwRZFaSG^yWnivu7pqx>vs8DAm=| z33*is(>JNU`EfE>^1!LG4ICw=uaDbyFx;rCIexWD@W8IJziyUweMHpiua3#0%=sFx;6eCMITdMwoF;#D%G=&J|qz zchIqKqjmkinx9A1?c(Ou|9kutRGK&h-WK_q{&u3f+)0DL9^aa`Td$w$l{Wu$=g|*K zD?_Fv-wztc#Exyvxwmib!eu{duJtJO1O&INe^hE=we3THjjr#5Y^%&$+xl3xZfabe z`LOGANA;F{+v2JOm)yFaeQVvSWVh^V6+wS(PS09Q6rGEYKkLr%$r>(|>(E7^$M zckJnk=?!c??VbAg#>Q8bs?HHVV|m)jw>E557ENDzea>~A+vmgd@wstjKT6^{^4|6Zywo{L8Wm(q$i+T6?A%Fdj zm|b5^>}h;;-g%3yYxmV_*TT#yT!X_~I&K+6_6g>=al3uc+}67wtYt#d>>Yi3pUqkn zyDD$$D&`2meO>NtlV<5$O5vR zwdJaf_vN2_yL_`m?$E0HtC=I-rhm=`#qN&dl8zjpg1}an$?l@c*Jrcyr`7+?uV4D- zL%Y4s^>wkj?27|uhRl!MUuWwsZ1?p_@Y8hAIQ`LX@zcNW|NmFn@LK)iB9VuyGu~D` zpId%P|Nkfb^U-S`-2tt2`Sj=W`RAWIh1E~3|8r{nlN*QX|E~XED%pFia&L9@?unOA z6$EYZ{95&QnQGQGmJMmXmsXWuzj4rPf~aoL#jvTo!I#tK$IUeNbG`8L#>eE;%FLZ} zY>TbjZQkX)PdT9#_A>o)*xhYc`xU~r)|zCbK3H{2?HHSzfOb>V=Cn15Er-LxrWv0p z-Lz|6hEn&0o6h|4XAG{N`sB4Oe(NoUFqvwjna^%*%&S>1XeZ4lUiAC_=l?(MbAv(x zUL(;AAQvJpTB96;Ae%pLJBK))C?V`w6>YB6W`^~kQ zsv9fF)19_@wt0RU!)o3{+YbkrcgD8N0CltUkN@7fHb8J!SHR^%hmzRlRQ-*!_1oYx zdq$|V&hPW=XZqMK-1;wOe2hgep?d!Q1W<$*oXC zHBTu)wCNm#M{=IyuPwvh4>Yr5?dX#%U%z`wu?LUZv7Wgu}lNNl|xxt^MO3hMl zectS@`R|v0xEgrz*wlkdzJ9IgTM)FP=&9GXq`#nInQe>H?LS+BVlR8;?Vi!Nk|WU7 zI@J1`{;_Xc8P|CVuQ^o^y0t#jO=KJ6)^B!O=WqX>m7l*~?q_(e_^W^r<6RrYFKYHr>-!n8j?ZFEE(zB$3@xu|Ich)^WaV^V1Kk ztXj_(?7R8zD!IZN>*JquKJ&bmxRS%e^fCMG4dHq9*IyhwEVicN%j(aspYAvq#j^EL z{C>`))_W7H4PW|y>ire++HFlMM;T;8#CJwWGqb_oee<%pugvQno1c1a_kCxLzEilg zw6vw0VN=w_S)ywL1&e0+980~%vLMMPL3+=v+qX{(gzgdlt#9^lP4lb0bLY;jk-go< z;gY%_)8LHh_ix{4PhM#!{pI=dt8I&xZMHHI?Of5UwnFsyEYpQ+I0AKf+I<&fPk5cS zJ52b4lzFm{`{SyVB>Tg$mw)d2c}HfuRet>f`p>wX# z6@iLG3mw%PIbBA&&*S^MM5wv|8gjnKaO@1srDq43|ofB!7D zRx6M@kmbfdO|79+VxN^y(${C2Yi`;+FqP`PZG6(S&ZNQA+UBCs+CFKW{&%<67_tfvLnwnXyC3#>~^j1*#yes|J1nR>x)b}Zsh#XwB|9AQS zyq{;%?Skt*iq{*?-Y{*N*y&G~g4$-^dh2BUPv4C%FE=-JgJ#sqY15}~{`>0OTs)DNre*Zrw6CsHkG`t(cN2l?=l6Zl9ve zVG2I3@w**3b{T#YizP08e7rw>!Anqa{NT#j+2+sZyEm-j_1@aJHsfSh*=i2c)*m*9 zB0t92+zM>WeSNjRZT+jcUdCx3+|S%zpXR$cY)kxI+p-P3UR#gPdmoi+|N5#j_hQEE zJ3R_L?$U?2*t@$^7gimydVJD?|Hf_Nz54s{ ztBvylq2Hqu2Svj#fucPmsb5Zp8v0;uI$l~&QGAlUw7}`{dCUy{gWO0PhPyX z`r!thXB`K2{nV0Lqr@Z1xVrLXsPQ#}@0s^bO1)oSuK+++aW&hYib{$;*eOikMv`n$nAv8cIPcLpN@msQhQ&@4N4(-T$@r zzE=FtQ{kt+@BjaI_qW*mZIRKjbJ?dQwIpoGI9klIpepyns@wxv$63C;+Sq*2MO1P9 z56dQh%TomgXL67EuD+W1Vijld)VP()rTJ#{Tw8L4;i%P-Pu+qoboiYcMqD|Nryc zc*fMnZ0vtGZP^kdCf4@!%1dL(8BuXjrxGrgSk3HLT;u-ps&B~06^FyVUO4b=@3yb2 z?&sOdggg&qUz~I$VUPUp-sA0S!}lIu*ygJkCVOJmwbF>C^KV~oTz&DNW1i@1*Xr=N zbYm^UrUb!5v-p-Tz5f2{*=W^sme=0@k4T2}EFlA^4DSR5-Aa^V%m%7T2r%w8P{J-=l;)g<(q7^j)}M# zUt4*3`RQZ7sv_g!^t`*fZ`z3VU(8tObL?@>hOF6Zx0RQj`uDF+GB^Ku`s0r)@(#|r z#v38IYn9x_bFXeiu^mXdyG=1WeaGa-Jckb+)NtpXR>_ea_J0m*#9yAMv&#f;NKLtz z67=h8;kR$!PbC$9C{p5(jwyxZBzZ*0vrX*F`c^>y^7JiS*`JSP%VLhrZ^se%vK z>KqeFGrsnzsBJx{vvus4TV!e$QgiLD&t|v%w87 zhC7GnRX&>uTG%uNw2|QQa=+md`QCs#oFmIy~)?QC%OdJbRYLHh0~g zzh#pBZkGEB%&gx`iHccsoME0trIGY{vuoz7o-eIgFKa3B`iQdBrf15m{9bG;tM=|b zznM4HclG9(zNczR9&O4Tb=}BA^x;wtFJ894HCrBSo_qIh(c@oVi=Lkg`}gOG zu>Z8+<^EIK^KaFvfXWhN*NfDCoPDQQd2=d+hSIchpk*bZ3Z=z+b>pDztO}KvP zTbW&Z-Tvu~>wnlVMHI$>N2cb&0<%xnI!vze$;3}L&)02>*)uD^nF{$(E>_{cV2@F9fk*T;<^zZI|3W_|Np%|{@>sI|G$5p z5W+IEti0SfM700w*RPQIwO7IOwft@Vx%@ogZa?X_>x5S;Ks&l`+I+pbzHaND4~Mv) za>xI0GD~(%$jZ!I`GvhXXK_^L#Wrs4&lg)HPjn@R-FEYMrEpyEo^8Lurtr&|wv!A} z8dk47G0SJMZ}u$SsOEzP*Skz#f4H&b&H8oIBDdyC{{ao(!1GJ3(yR?i9HIwTN}K1U zB)qz|Hd^vf*M!h5sdH^AH`#!Cu@k-fpS(E8;lDR}g66l*^GRnpVvfEBt=@ThYio9D zcD6S6+N86d#&R2S51(oX`+9GSq^QNpd->8klIAb_vFhJW$@Ck0CT6!3eyv+?es00l z7Y`Kdv(Kw*Z4wg`E3Qep-2tlF3iO4+Cpk6zJ_1@QGt)Tz)5k~M`qQ+-*FEt#)Z5!z z^zYA4&??1e#kZ%4E?j2sQ6nc;`{iQMyE{8SeK^cNeYSc2vmb{zN?m_wMs2wDY&A!a zt8$n`_<6x)r@pP-yZ6^-o~*C01j34Ys{SOHBuu@ef7z(Fu=C;_(|K32!`Ab!dh9#9 z_f~ON^82^%rn!P^v7Jqqos;Ezkg@J(q5mjnZ ziyjFcT*;B*s_@GGdfC_Z%@%sF>Uji!sd^}!!CecPIMs(py$IES^imN#iw=U+r zJ#E#UZwVpG_Gb2poY@f?+Dp22u3fu!s`$L^^khC|6Hp83F^6)EsD1zJ2ccWSU75qT z#J_#_?rE8!Q$czwH3tsDz3A?>!D&zWBmbbRtD(up}x~otQRK!6m zu?P3IZx&uTf$7i9Zi5h$cw5jIK4{G1sCc|i`MW!s;p<{fZU|9Xu4Xu|!004HSPxeZ z!?l0^>Tce?eg65~yLXLdU+oRsc<+sS|3w+~FTa~#1)68Ma%2mfKb&Y;`z@!>1rl3d z(>C8+1F{y3KODcN4`zUf64PlkcHG_V0H;)6E2uNs$n#g zMw14lCj`n6qxoSpKaA#w(fk0Ol?4?DqqXR0(_yr|G}@{JPr`!=gwdw-X#ZifmjxN# z8@T-N=l|PVhM>WPLkho_Z#$fK0>oxum>oXEBF8a literal 0 HcmV?d00001 diff --git a/apps/web/src/content/pages/blog/migrating-from-zod-openapi-to-connectrpc.mdx b/apps/web/src/content/pages/blog/migrating-from-zod-openapi-to-connectrpc.mdx index ce9a145a9..d82e7b63f 100644 --- a/apps/web/src/content/pages/blog/migrating-from-zod-openapi-to-connectrpc.mdx +++ b/apps/web/src/content/pages/blog/migrating-from-zod-openapi-to-connectrpc.mdx @@ -3,7 +3,7 @@ title: "One API to Rule Them All: Migrating from zod-openapi to ConnectRPC" description: "We're unifying our internal tRPC API and public REST API into a single ConnectRPC service. Here's how we're doing it—and how AI is accelerating the migration." author: "Thibault Le Ouay Ducasse" publishedAt: "2026-02-04" -image: "" +image: "/assets/posts/migrating-from-zod-openapi-to-connectrpc/API.png" category: "engineering" --- -- 2.51.2