From c44e51d64a5dd8e3e369992fc4a4a3a477d58fea Mon Sep 17 00:00:00 2001 From: bisht2050 <108942387+bisht2050@users.noreply.github.com> Date: Thu, 7 May 2026 07:37:23 +0100 Subject: [PATCH 1/2] Blog Post for MongoDB integration Signed-off-by: bisht2050 <108942387+bisht2050@users.noreply.github.com> --- .../docs/blog/mongodb-feast-integration.md | 216 ++++++++++++++++++ .../images/blog/mongodb-feature-stores.png | Bin 0 -> 326110 bytes 2 files changed, 216 insertions(+) create mode 100644 infra/website/docs/blog/mongodb-feast-integration.md create mode 100644 infra/website/public/images/blog/mongodb-feature-stores.png diff --git a/infra/website/docs/blog/mongodb-feast-integration.md b/infra/website/docs/blog/mongodb-feast-integration.md new file mode 100644 index 00000000000..5efdc76dfc1 --- /dev/null +++ b/infra/website/docs/blog/mongodb-feast-integration.md @@ -0,0 +1,216 @@ +--- +title: Native MongoDB Support in Feast: One Database for Operational Data, Features, and Vectors +description: Feast now ships first-class support for **MongoDB** as both an online and an offline store, plus native **Vector Search** for embedding-based retrieval. Machine Learning teams running on MongoDB can serve features at low latency, generate point-in-time-correct training datasets, and power RAG or recommender workloads, all from a single MongoDB Atlas cluster, with no separate cache, no separate warehouse, and no parallel vector database to keep in sync. +date: 2026-05-07 +authors: ["Rishabh Bisht"] +--- + +# **Native MongoDB Support in Feast: One Database for Operational Data, Features, and Vectors** + +Feast now ships first-class support for **MongoDB** as both an online and an offline store, plus native **Vector Search** for embedding-based retrieval. Machine Learning teams running on MongoDB can serve features at low latency, generate point-in-time-correct training datasets, and power RAG or recommender workloads, all from a single MongoDB Atlas cluster, with no separate cache, no separate warehouse, and no parallel vector database to keep in sync. + + +
:n_(Uw_Sz$WkY7aos3aX9_zzM)9SlF0Ghecx(~c@s zUN#jp`MP}SGC7&DWf=$BV@X=X8Wr&UPxG0{7hX>hUyAy)U5e9 zb}N_O4=3z3Il%)Atppoz=GYaFvIBhCJQSpw+i)kqo|B4ZjY3LX2#(gaRLu|!yBOw* z<2L*}R-L_st#&9VIW)cn=|=pf8eA6(zM6(*z1B {X%+ e>4c zgjk_?F`;640aRSlR9xDg1b^GZ7^8HlcGOtL )wXt2f@%-{zQl` zh3{V1#eFfR*IAQbfg FSD6LPuT>ZZGTPD$`LRN)|qQngkbGhRhW>DNy z?OkFQhDMbqI81q*NQL$$gskXdRk@j7a&-LysvyD2+5a_^b!Cb%=D&{@!qPTM7^>b2 zo~zHAs|eC|)5lO3q(^B^h?$RsO$mCWB z!EK}STiS+hqfg|bpG-huZC~8Inx-u_#*g3I~;tRH)@45`pKVk z6Y9adl}e#8 d4s_Sv=NkO-Pl&lvkPkonL#544n}aR zv8qoG`Efac>RhQ&5Wi}?*a&8nsSCC&f;8fbT1^ifjUu0^tbK`VpXh&Txk%L>8c>4| zU{ua=C*+txZX|Q@h(pe73Vdr9EaJ6;&9xF=r$yj-pS&;~OB2lk1IuAQl6lS%9VeRh z3n^q8OE*!8 CDH)dPrd*TqWx2DZHyd%0F>yzsU#_;{ntdn<^N8@;=?klSE| ziA3Q%{LZk~4O< #7uK~9r)-Pp@UqMgW_P#M zC^u3W=Uj=Cng=WD``WvLZRATWd}taKN+Bdm`cKKU;2v136$k?X@Fa}>LsL2!(%?aH z)7O^u0^NM6jm8yPv;_qts<3qM31o;F!;$_p_>d+9VQ4ImqV-MKYywwRq<|Q-#k9cs zyMBlueGxA^TTL6Hf57^gYuSzAGIOLAllTW~OaH>=Qo?U@knA_ogn9+IpX0>{+!$l! z`Z6<~ a(&3970?dpYkl2AmvAD7HnvGe<8fl2M|Uwon>9Dlit;h(K*ni`CdMK7+F=yJUqml zFN$T78(CGd!x-l{&Vk0e10DpNF8S^vbp~COOw(PkydFy^t+HTPU(;N4Rg3z#fz_p? zO|pk!h$2;HGezxz aS$AtoLBbhvSno5iZ6{ K9aX$vjTk(fB z# _QVOn1%w&2a3fhn%7q21hLMZ24m$(QV!#Wd$ z-BntazyuAmN6UHPu<_XjGu2`ZS9VqPGVdA~?^tX?e!*C9z@SQ!D0WjV6X)Pi^GtZw zgW_Opi8_|1<=sYY_@e8WTKH_hf~d=GTeZEP<{mqbNb?jMwc%l|coz1KD;m{ffoV?5 zOm!pZzsq@c!PTUIC?aKv7z1^IATXB2aA8?%h(oF(zxGiZ?c+2l15<}T5XIZRE)&83 zB%&YUPl#wb!`R)wGIj8+^CMwGzOUS;Ed98Z X#{b@<*DfzcnTqSCT-(EN*=(hJj2xzDcSC&)4x}XV6(w*_yIU zR?#weCNm6U^PZL>>os$R{&axU={r)3b2evoXou6QQ4Bd-HcBbMiMYTj?)B~y?&vR3 zkCK}KGFEa>bMB`Wh-W1cz%0CwLQC@+U~58{7BKG;m+7!+z_CN8zm1+jGEUMlb&l44 zRL=eq`!@NSz{U*!*^y*x!pb2Ii2!d{nHd|mq|Rqe*SZZmxJAHp&ooY_tu3E`b-r^9 zctGfK<2sr1LB);KM=`L(Yi0AF70-ExmiQjaTRgiG5*P0gjx!gBn u;R!U^O9Z z+aLzcCay%!MW(8fm%Iy8*q?(QfbD9<$dMQe;*N-laQo&$$P$|Ib*cK9UtIseo31|G z2EDQBYfA=gRBhujJ=`z^&7^`#ITQ9^u)iBBA15ix?~d-4o0%BBauw^l(WfW89N7myL@nfe*9u7{{{!-cCii1JTuLl zDvImX4zLRha6wUoSC*T|cQ66w6*=G$k%(^ +tqPM{i6yzMK9loH>tOrP#( zrS>6A$}BlVE@~8x3=LtGa=Js>ll 5~Qla z4H|5M@doV#$wEd|G3!#RrW=7)2t7VQgAAT}X&43{d!-HuSgBH`WaeTS1#uDezSe{m z32RzJBU704j-}x^Z*8`;6H}LwS*YA7N8!?>@OJu0hU$cL31Z-LaKEh#$SI+0Z({=B z5oRu3TE{R7?x~ao$W!o~zouYLKHLn{G2li!x(ptwavUxgxGvI8M4N79+J)fJDzYq9 z-7}0<`fCPW63XPn&0))Ewu!b=+* w3AtJqeZwiNz9py6>;Vj4OF7 JiU>S-?S*yFkO<>C{;5(aD>O>;y=Qz{D{Z}Zs%>kW$l@wqKC9F*UW)c zW$u{Yp-c$uzEB9Wr3X`(L3BMmJ^ZDx2`w%+6FV a&;sJi)$(@2t+tBL+} z>J% A)kOtBq8c4GW zX73~qb3^U@nI26o^iB}nLJv8Ykf!E@sBs!-fix^44gTS&TYk5I7-5mEW>Rk9@5t`< zK@h7-P3q=w@JscjsyjGzVWTkrI_&<40
O&rCtF5pznPl7 zkl{OTfhq=|aYpoX$f0Z%Km*#gGW!YFYHuHk8rZuW`_^&Iq8jS*UKvatqYo4M_5{IK+9Zg)p myUvk$jC zahed-^JYW+p7>ZXIk4+8>cj(Ydw4@%3uf<%bw`7JiQlLQJ03;&bQ$XQ`T(EI2Qf%C zmqKNrwshNO&_NSdgz3Bm9kJNXCFgu*QIJbRNKG>`&-?x896ak1wX%@EqMXECXs=>t zc##R`(t4+L;ArZwBGj6Io^WRRyM^m|l2GEqT_xboBTTbYkT#$$13F#4joe-znZ`lr zj#blC_pU4h3qR&WvjVXRv=q0-+o5ag0pM}ddBBcjIm!sHNt;2XRoM_+EGqfA_w|R4 zUy}}DPqth9TJ+Xo#{Qrp6s=;w4RVE!i9_WuhKmrPy;PfoBJhaDzcgmNY`hLc)pN!L z-~+9sS5lW@i16vdE*04yV6^DS%oGPfrfun3!?027XblJCg#g90+W{(c8ZFuWqzo@z zn}LU-TWs=Hixq8BEADL;+z;7PZlQi7C|y~6o^_q-LX+Nw)_JTkvIoKd `Y7ITYYMR8+S$s_hZl%15%Y7(_4(y{zCuLCu zKOXeDz>cr7kGO|cIX0^@{?Fkj7$!DZcNmnDWthU6i1I?Qcw&BOL%T#`k4=+JeHet} z=L~75s&+KAqxp|Vn?mJ+5gCLka}pAAgg$1U&{fHuXbsV?*E-0{TgtsLzyehknXg(* zOR~z)x6%V31J>CbCQCxROpW4S+d(OI0G%o2SXI07YP9wA*(uH*ufj9?6GJ?E#t10p z7v>lZD+Q|23z@biO%-5dDpCnY7F!r?h1ZBz*JAo=_}-@on9p!1XiXdjeSlKKj;HP> z56=0`ob{7wCK^PybmRQ9 @GL oiFfChvGC`!!tq3Q!> zm%RIw$b!QyGf%^|CI>^ZqU50c9$Mcd!s~UoJ#~{oQ5#H>J p5f`5$aaT_bzwSohRZ?cpd &sWtQV3Ai!BLZ$qpl$@|{vW9*3Aa6hA^P_Tc;{`ek}_k@E(f zC2cF7Y*8==Fda^4@63X!Vs>FC-@HV@858P&uzHCMhI2`-zO580<8zB0vacYQTKn!8 zc0#twrNNQx&V;EE Nl`U{Q *goeCjoGlJWn{SsZ(l!H3?5dBDrdtGgVz?5hBob?_V`y zLG%GF _M^3dF9fQp%cWNas?dM;w zvu~E4VCD}OW>H!esnrkbMG~w`fSe*>%q#};5|8xnU-$9%P^r~L1}~G8*G$B|xfe-o zlZLkmQ>76Ym7}w2`DO>fXqCnBs*L@$6nR?;&7U%5&I*yZD9b_9Kiq9eE8~aIi#6)! zbe$_S$PB928G2y~r!yk6b(;Aqu5T!G^h>{V64dM(hTcoZST*91I=va$q%OuFU`zTi zIu$a+!gfotrz;6zhp}??g1Vwxu#WTU=Uq{EhyWrst_=x62t>=`{#KmW(0ue1Dr6QN z+4LFku9Kl(GyTSq_9Dn&S@;dtuuHzks ` a{!u!!j6^Pb z2Clo=ob!^J`{|DGl-W!kSsw%`KcN&LiOeVnS8`-a#CpkTays=J9HdLgM==_Xy0W=S zkovMTzt$;FT53qSCL~iPIfz`^C ?MDt6%UOcnS zF}5UA?BPCh9CGoEEN`EqsO;=&MGn1EJ !KC*?)>LBH;AC4!Xs12>EHzzoBkKDCC2Do}-S*6DD1Rds{S zwa?Ey?&6dkbG9Nmnbg>{3mKRq3{A6w+^PHsOTjTQtn&Axh rWE8I$zaRFgPFQn0)LikQs8l`-FL1HK-0ws_i!l+Nq1~&d9DxGEx{{U}^G+E);7u zlsH9N9Mxv2gfRHP683Vf^FK}zp20Nc>20FIs!+T!iY4zwioU0?QJVi5%EdyM%2Fef z%fak85W$&9A5RiHIfRyic%5uWVBA)u(Sk{IO^K5=D|V^O#|&%GoFIVX4Qo>BRDvfN zA6So#7v{t{7tU7|w_0WUzs5v_O%Vv~W2LnLT&A#8t5~{GErpxOUBcpW?E~+jb*>^w zBo?0Hgdd{ Ez;&n0bQZgC#a5&ffKqBEtqRm3i|-f+#p3vyATmLyuI(srGJuUCRS9hVVg_ zSRrY)a3-%ow+F=h*^}S_H)@59=!J}?5?7`6aUUk6VR1a#t*P5&NbGZ}^+BYL@^FPD zsU4}&-argr8B1$wuLxYSob%2f>E^TR eZ%y^^>s!I$67)nwMgF`^ZhSXPU z7ue>CQdMEDOXX#ZHJAOZq7dr4s_JX-r7~+R9(;2h@C(WsM?exg+n-ez3cvW2cUP1j z&4#3J2V_*`{F#{;`r|w!deg{sXULhEwjOix^j*9-CcF9c*fU)~O0}1pm{?d(8vhX4 zITn5q?^9&TXbBgF5{5vK%o!2StT5w38nX`)4kQu2rRW~MP1FUEE{}pvfx_7#!H*&I zfn&HTb2R*&REJ0)N3&ogFh|YA+R>|{D2u_t+{bwxwOyGDjo0_Di^y{h4h253)vgKR zd^feNlywb0NfZbiSqsr?CmRy>t_F^in7OxH?Sn^Tp>1b8%RP=cHIvJf!Nf$L*U|8h zbd8}N4U|Q~iUEf)U|sW=nuTo(HV@0iGQEvw8QE?J-FXH@Dy8G`s{AESBS?d}J>R5x zbUWNMfDpWp)<(zLWqs2#N`9~<1!ojTYbMT&?C-XC4Pj!Hm8~bO9L%=oZ%)8<_wc*Q zt~bjAlP&73ZAtg$wQE>%pP$slm{2#7$b%wd4*8roRmin9Jr^LGJ4juPhU}$3uBk)@ zO}|A$%dBmakYhm*nYx=2hu)R+Tz*pQ1w%bHFE4qi+!&`?sqR)kaYfU7$WN3CBLj;- zLXQ(*87A%uHjS@2oTiM51`OWPo`;zuQd>$SR>)SCwAP8=0GXAWa-G1HT44FWEA(uP zP0Ch{wWRW}dLeB_gxe+Tm90L2WugX44mby}tr0hynJu9{6D_slw5N=*h&yj)7I?Cf z)_OTK5RXWR4T@Sb$_GqLkR`xjwvDF$n)5xl<=Ysi_UreB2g=lmNGzjOPPj5{G7E>y zJXrZeC}r5J41OMKsLFLqw}*`5YuYVmY#Zl)O)GY`iO|(zaON!WXuZbO;k9DZ-qV7R zyo9vD@&@>MqOE^D+>-3|Ev|`O$xlj!j7&tBsMcgdkLPAj$qp1Q_WrJHLee!^EUFs2 z+5B}ZqirFRVtJfP4F3?P%rLx`It54f_mZ++f!X!s#AGiZU%Zwa0&C@u118n0%eH(? zlUjKUScCq!*-c%{`?#5hR;2_(E`2+Cbq$P7CdTPrPRYyCUFGBs8vOH~2xV}W0zFT~ zz|~2+nrqnS)5p^C;`RIEOWV0aaG;#+WP{g#k=r_DKmZ~b;rCs*(0fuChi%BRFfj4s zb1Bt!NlUW#x7?@lOKOrZWU*N?74rMEW}3LZ2yeQFif*kUW3Vg!4>?O9e0WZyR+ccy z_;^-}Lj?jCW}iyvhmT5nF#+FfV8~8W2NPkb4Jux?9cF_@2gIj}Mj)_t{jW(hz~zCm zyK66WezRjW8!9|>Na&o`V@tL3ef>JhFQ$N+zvuAz9O{r~IB4u+nxRvFy-lm6d5s!a z%)r ###F@vW4AkO;!){YX zw|*hGivYm~O#m6~aOQGqe}ut=5HcchR->HM= U^-zTA7ErsA$t2_wj1MK(*RxO)j!-e;NGeOIPt-73Od5ioRpFW1pE zQ^k?nH&WfQ1wW%7J$J1}O4Fsq8Hd_rWYRUUuwpeuGl?Bw74Ah{r-?Zz$BHgByo!L# zbPTZk)4A0Sq&Z;^&>lV<7Zh>N*H)?DG`l!BfmR~}EMf%>6zVuCEjQtGMEpo)fyFUT zVdzkll=bUwS&k1+DxSc@v6caEyjaYD5 5blrqqQbM4oRds<#IU;+r}|_5w%=vAaB5a2qesw2QCNJiB2I3coq}1HI31# z`2TmGh7qY!!@}ChWj$~92&tN;6O~F!PSRI^R8rS3Ph*Y{ z)A`eQONIzj4w2W`lsziJcnX;A_zdlaG$h3#1B6<^RUv2zwZkThTj?5vR?}eo(F)5@ zx{DE{I6jXJr0*Y5f-lxG0YHkwxfjELCnu0qT=M&!jfMafMozDwdO$wxD4(MIIncBf zruV5cNlNb8kl2#nudaRAP+3w-Q-q=dG>*b9#p__4^)|^d{cvvOcm(4(Ie+a+$f^Rk zF8o2z!4$fCO+N;ox9S BY@84OJhC6zq0 zrHcpm5MGvFOJ>(s7c6dbOmddAR>Z(xQc5P?omjThO*4rT!9XODI5#o@lQjQuAdy0; z(Z$@h&F7S!08yM_1c$~0j)bv+7p+#c>w3*JTOdY*Q%q*pR+Q$?Kb=)ByfSiX>SQA| z?Wd#5q7dyycw1p6+kM2YU0P{YQXY>2-YM$BC}_uKK*>zQ8N=KSn7x5>28lPchnP9@ zpRhQ*bNnTpRt=lbY?A!TkHZ#?H8Kp*-j2I|{`Q)di?puKF OMfv46~}j$*RI|+hiqhYffgeKW(&%2oraV&Cl$G*(xav zcu_RhG@joQYqEguk@H-CRTjSXELWYlwVP!yspz;*U`^ov)2!(|1%ewBvupY57`zP| zd4hF*_ZNADmCUp=;c|l!%QIP>x(e&g`*)Uekognf=~tH}Ypy9Fs}i&?Z}nldIY5FR zgR0}#b1lB>b|hx?U5|z4cKCIMI2bE<5gQ YN{8i7Vd_2OSmbigrlt)m>+>-`_&8c6DhUuP8ll-K@Z-NSwjssC@Bh9U32a z_F~#Lq89&YajEgJzT=$F;8h{adRKmr$QMBO(XvO@UMaom@%n5INqfV-*5J2^aI@F$ zFZEt;_32R3&8w;FvQd8viYz!$5ow$Bml_l_1J>kOcJ{5CV$-=X=wUP%esE4EIp+Cy z-2D$+|J|e7hd>`IP9+{*52i?|$djt~y*9G*Q`Yq(zlZYAOR4~r#hX 8>;UaVVq61IY%*p@f;DbtmCQn*|z1Ktitj%D>KscW} zH8mwKQOed?o+m|w^QVRzD>StK60AUK+#IkN=I7Q=4=3!49@r(-$a*yCzKGEOxOw6` zt?)ghe?0W&6cCqWAB$g~1QxdpZU%WRBe3h6`tQ|5Hc;D35LI1&p}2b_fW~-lV`C#m z3`CHxRSm5eSnS7#-z&Ypu2c0LPC!)zC?EQK-MnV`aCNY8`=Yl_6<>JIOM1M{qL%-h z#T5DH!lC7_rq*Nb`Vju7UVZ{R35?ndU01DtkJfsmS#8yAhx_I%dGB@0i2pf;KThoT zy*dT}cJi&=x_EsjBi~>8{h`R!SRJzCVAh|V^w+Su0x<8&&&liP`@h!4H}r0m0|H2W z*RXD_@jLST8EAjHWMO@DzlZ2s&wtSAFA?Mio&Fj(f6(a%o&J15)er6TZ!P@)BV#wX zLapIH??q#OX7LTDqg-TO9XfdM^3KiP59S-14tv|%8x|b<{oYV+V))>RRAa-97CX+l z9=;o#6O(!U#j`7{o!2FLhH^XfZJu4Re=Kr;!YfYTK*VQ({bKMpdq$k%rjor|KaKNi z-I{F~C>*)Rk--XU_al8lVQ^WTq5&JmTo9X6`+w%NZ~1O`I0)Sl`zNnZ_=`?XBx>VN zZ{hc;nSV*V|I{ad?l`qM%hu}ufwMHb@46sOggEhMuGwEy+qP$q%=Nt+`ujf4^OwJz zpG4gX`1?N2n?3+?hN$TO0}oDj%f9=(%~9A6pC$ zaE{)0+@h%6^A{qnSE7+=(z~MZb5p;R#pUVzF?zXE1`MFkNav5CU8MPTJA7zW)xEDb zlpqnGt1i22`{T|3twR5>@# 0|77$h-z_c4>FQ z$SUBs P;o83d!_WC=WtSE9 zhbK$Kdo7n(YX`IsX6cLO*}sR4w(NKNZVaz(0Bn^zq~Wp3);Fb_1Iz{SRIe>z=|`p5 zH=c8kzWb1|@BVHiw6EkRyXt%Sr|ne&OxaeDsPI3sdktp2(c4V7vJ~}dP;jX2uIrIF z7`f-vQqV83NA&G~q!n2npjH3yN%-o_T1CH+JjvqUYm4a_w=vxl91>E!RF8!$!TOBT z3J&bMZ>dC$dE>l!C_=Hi{ItTSfF-u6-C{gR=Rjo5tnPo+@3|t;FjapceP2dTk$C#m zfG~e3v(l-!3CE+=;EkJ8zSHVb`>zWwpL(eM4Xay~XDvVXPev~#%qBZv)a2r09UE{x zMI=zw4#BXYd*jTb7n9={lrvBGJBa@udv6|=WctMq&onlzqcvKVxnzrIrskOY*5s6> zsijkzYei{_xZ#ouIM%eeW}2ECm8n?@nF8VhRw}s=rX~g`rihs$Dz4!2KA09Q-* !lmEZF#Gp|QqbT}ZBqbJ0u z$KHv>))JG-$M@)U1$kKyN7`2IS6};_L~g=sIM=%6#+iDb+39yg_{X06C$4@a$>niG z qhS)ax##Ar{gJMWymdJ1)Q;h)<>p6kw!MClW+ok-p(3b-Fk zXG59ez0y-EavLGP0Q&w~!N&>I?3$G1 oh2S`(LMTq~ai4D8y*uns8o|yN(;& zG#%e1XinnaJbSTXU>d_rsXL@NJ-ahgH7su3X-#veSp3oLQ`vfxlp%2XD!#=J)J0Te z*LQCitW +n;z#e5TC4C4++C^} zqY|Eb$G_QE*>u2)nr%BVCoF1=s#=|FU7DbOlUQW-#&venyJ>W3XAsqeTwj0G6L%$| zN{E+!g-Pc(PY#aE%we7yMKQw9eOxGVaOGb3>p!Prw;d DG+e2;}zn}y?sA}{1NOR`oPg_>0%>axmk`*A0m%2>hqObO?0YpLK zpRTGraeL#}kNV!Oe*oQblGt}> ~&n|gQYtKIdWa>8FZ`0Kku5+Scc z-{IUetzCL0ivcY1uVtQJ*dMtA*U{2DJ|EpbdB>?Vi*Ad`Kn `4~zAL@p3Iw4Yp-I z+h8Pf6WbERcPZ390)@KTB{@}HfHHw#|@ph1J zUP9ClI_@ytCL&9c>b(uKmq@M@q2D`mFv|A%C !TvFwGo%0zjkJ>0Iq~IfNFcPaSIF{?4fuA}+mHlXVcq0hw z;(Q~`0LRcfrXOkB^ kI7 ^Wv0N zh^cokQAPdNyx=^)-&$$J>5L4XO1>s8ceDXRg!-%}Usy}MXc!O;jn<@)pF`maJpHF? zU7_Z)qHOF(LNf;)ccho(L7FTbC5{JlI-9)#O)=6~?Fu!lF7J@&HExbCn@>h$(bP}h ziMR3Z!TPGh8FbD=0qoM@q2ka(u~6PFT~jPa!T+n{h%EqYA`0*IF0!TSy9WkX{mvj& z`gE@BIi?9HkY3!2u$m=<0}|*;X6vLaK~G^EYGpgFJH#Sq^5}b8Q+kT_9Iej;U(6ZI zXsnnN3$Oo!TE~XimD}94XT8fd9o5qn2MaX&DifT+^rnR*%H)Est_I)yNu#QV@k25h zECf#ET58%8O}4*bpUxp4{HPDm`EE|9&!Zzb<=lU1lFv#D>V0YeJk%3%zyih5mdb_e zdi*8mAX6=h*;^>ZgT@y6Q>S$u(pPaD@EDm46rRKhlEcq=xn=A@x49Y;orfk70}fv? zhqQx$v6qTIw`l9%tV^~=u&rfnuG$;i-Nso@&S@jwhaZ_)Z=C4T+J7Hk>kqf4QO+jQ zG$yq4;|B(vN$fhE3EyZe#QJHftbna~avs){)t0(nH=y^{ p82NuyssN_tqoXU+O_q{RQ z$YZh2`<3c5-Bb$F6yCRDe# CQf>zs&2nvGLk+o)EiTG!fPmP7*deH zfzzj8us^C6TA_ln;we&DJd{5ABfIk1z--w5bbS 0C6rpz(LRaow-}W3YFD~5mQ}u?az7I{Q8LcBrQZ^dkHM&E z4xg1 Ove#I{Dky5H{`aLO65}qa}ho y?PqEX{=FDEbjmU5L Lg)QLaCCHJeh??DB z#_0AF1FY|BhmVW#$k2& HR zsHorg>zSFl#UTM8sbjVzus8V0U7Q*JjmPj`@^9+c0@dsUeMw%v5~U-O-X1bPUJrj< znG;#CK<76jQ2V8KoQegOh`Ga0YXs@`R{$FnA(U?a*l>d)+hO>Dm!NF&5{Xx@2ggp_ zed6!Uq+D<5z`?Aha +2QBe+&W;L+hj)iStGKi~ zCUA|rhh2+pm_? DBcT9+89A)&vt}Vp;^x#zTMS zl;WWHJ9UOrcO{Eq$Zd&kdye?@zac1a`mqegNBY7=khDghCN*t}90EoDQcqD6u|Ypl zZP{yp{Mz62mRjE{-F!wo3kunxL%$0#K0uba^(wbi{Ja)(TrV{59P<*vrQ69#%Eil+ zwzXnX1*e`vDZgop!obC!q~kXVa*K2*uQbn*pgvEs6jTmF2{3YhvN@yOu{6Q|s~p(L z6&?$u*Gnm#SSdZjsF1#)$V-L`hKBn3v-cQmh?<*&FrSS+*Z-YHkL5orAi&N>)I( z3M4u$pufd!Bi+eNdUH$1A`}PjnZM<~&eSO*3*6@OWPO&`61z21~R0`0HjAds4m zwleQ?(IbU7nZssC2Au@0Fm*p>33iaIXq!^x70Hz-UANsvXSBfJbq}6oNkQn)@mxy# zFwlf;)R~!9Fqb}cvW5$`O*bo$FbhD{>rRmWQ=It+$e6xBP8d%IbwL83ZTxpw$sCyk z4p4C+qT`HfN+Pn@>Gln@N?U`J-#VJo>I^EV)h4gf5%Yup(1SWUe!{Ke6 zjZ!i3t8ygR>ghuxB@6u*KAqo#S6W1#92@%U94vSR%v 7b3`INjZ)P{VuU{kmd|yd z`@lv8u_wsR97$g%)Tpy(lb}+;qWD3TrhaOVjV2;7=c{G>0EX?V$IG$K^pY}yoReo3 zb;jCwL8S=21qL yPnWJ{1bNMy-V0h*kvM#}dAkmSD>;0p;NOva(e%Nt5)xSqo@;7uy #5dLLr#W~0pP9vd9Ny1&gojYCN_!S@t~#@SfN~uvj9Jh z;qC89-7BbR=yQ_c>0#S1s3CvRmq7m)MdPpZLb**1TyV}wfIfaO!k}Glp~dq4+B2_G zwCd66b;qL }HJ2TxcG{=u)?dwSxgeS=y=UAm3ts*psF^mV(LrA&uZ zDbiPX)&W?(Z}g>4H$;8~!s0#cnPu|LL+xf3AUR9Wpd|>EZ*=;!m#TqYUR6ukxc>9b zy4P7Z;^*>YxiUE_bjTDeTA=@=#d)X|QSaGgWD$DoO{#M&5D*yI5&WG3Zo<9THUm}r zFLdFt7O=eW8T(f1zPqqSa+JzgV=Y(98n5?WYn%tmfci9n7h1~l({g9J@)uOtZ0PF? z(bE~6(EoXPWr?8-N-4XnQ)qcorY=WMyF6m+YFFr@XEQd0WCYEoV}8mF+Fp>QLf!W; zjYGGUH){&$-FJTOPZg5MVLao-g(C Yb~T|Fod~rHP16%OU|U*}Dy9EKJ} FdkpFHGjNp zf5Nrc2_SIR@#5R28-m$ 5&4NLhRK0ZX3RHFu+pQ zyr)H2f`VWGlG1WabCd9}Eq7>)zS%u@eF@nWX<8@Gx|iP7lF_ 4 Pl^-l@yqCC1*fI#y_T7rtx9FcDrX(& z>YHuo!*ej1_Q-YH>F03BMsg=W=1Iz(lttO>&1>*?QmA{4Y#F7~GI{vhZ<`}_`gnst zpne=|E-7P`U1cf^5J>^WuI5NFpTX`TX>*GiqZqhGpW!6zo)mLX1l}UC&}TC0C%eLb zP9Iz9diEF^g1*@gpv^P#Lve1UB@joGB*;$&%NXVV>gBnsIeM=5I_KSpKK~Xp?5vOF zsrNZKnw7-J(r2(-F2u#kaFytZoSq4g8zkwn!xrtH7GRP0rdS`dzH6(J%2+ePsQ;M0 zqw@Y-+92y<{R7IH;WivTz-koN8E-sVrN%~OH-=j2=Lf)af#6S%#kR9@3)pPeS5{;S z?zcfP>9h<1US_aZpLD54$Na=4ANgaW#7#oKv{xD&Elcso%_fB_P-DY~r)dP=ql20@ zee6?K@d;~|a+M )kjbEE}+;xx!U9RxoY1O#5V{YV((FSaW&5fa|CCHQn`wrGl3@!kf8(WkK` z0eK*V^0@UPM=<~-1I~9=hh<$v?8nC&;xkE^vTAXb%%qlF$!2f>=U(Xe0HcFdH~!|Q z@baX_@P?#e82P@AlaI+A{xb?*68 zxmmz4``rTYcU&8*5+HTPArV$g%bD6ieCWv}u+_H7AKs7uGV!S1%{L&e#kH7W6DLo# zzlYO9kimI093TrMWJ@_e%_-x!qweuBjW{=Z>(Pk%$2LRyykl@>03FCb++}UW&3s|d zRQ7nYj@(z-Zy }}~63+ae6 z{#j1*nh(CXK5n3SGS5IgHDsX294X6AH{-|#@Cw>e;jgnknEA+B@IX{9mVz2iEu@DY zyDRt`83nF;(1}9 EY z3$!BI6b3W!!>R3>L*Z3qEFyJ141CKFd%jpLbrQDwNlSW6aG`T{u^ZBXQ^pbGM!@1X zdJOT?g4N;N{)oDGFw=QR k|urEJI0$?JE A$B!+Py{3FDNg^wE+Z-#-!o#fRTt z6|Ff!Vzo!HP>rNfe<&i=sWjE;muH{k!2egzhn`-V2`7ieJDZF;)_XZwyJ*7jb((-t zz?^8%)lJyx?z7&jJuR^BBrgKRQK@^Tv`QdijQt{nj>ETUV(~cCeS>n=tk7}n$!)2h zZ@F2=ING3ZbBhfKHnT)EuJKk<3#>1Fkklc`#CO1mDZKOm>pu1{AdSgS4i#`3#aX`P zror>c@d{%m7I@B}PTe0^KZR#;ThR=ow4O*+fQRv3*QV_tsq+|uGPZGwApy&E!RPjq z5aJK@{wve?&jGh6hW4P8YKV(zNCY`(rmYU;V+lDG0MF7QDTb1(Hs>VUAt#LSp}(U5 z8N`{XFk3ptCf|T-) 61gJ0+jtl zK8Y+Q_iYOuzxnn~h)@c{J4h%73FSKwJs2v=b6G%MtUs{wQ*L1oAcD<+2vjrbhf@rn zZ&}rzxxdTY6bRi|oh$94jad%^hj$@Zn!DWX=LcpM ?;q~s z7&_n=0LQ6+*bqoO-^ge*bk!gui=|y3#A!o!quWw%JJEc3I#bzOWJ)>@t0Oq!in{g? zc9 >J+@U*VwcF(vl&!?JjoNJ^V;}-vDY|ZyIA_6jSu`=>P&e zAmf~xIW^)4C3S3|L|uj4D;3Ve+7yz(t-ZE{+^OR#q?S>Y1OhHM7{( oHv^)$e z#e3?H`>Ri>^xOG3d$AE#3xK1@)4 X1?gdBw*-LsJX+r6n<$0HdtK2F^Oe@aMJO@{^(9A<=Sx zcwu>%e*&> zd#Q6rp3GFfCb!ZEIFc8APM=+a4L179ZHt0-Ida|D5u648P=47K4WkzIcC<`PFfbE( zh-l2ZjUK{g#fHNKSkcxPhKXI#h1E&7PkOqRy1?{F2>3ZnFP57+R Kxh zIelL>yOp|}@ynvAII}{S@kp0UG6NQ$ac)xoxr4! zZY66I%j=3LJiKQ1*kya4V|7jUgWX`f0;~q!D5t0(z$&zVw$((NmmfHqi(M!nV;CuX zW0uw~T_tVsiD$xKo@fCJigvbh3*Z)Y T=Xl$RNo3W3=iZXJL>ft4VpT9-M&VyJkHpJMkc>kL@MGhVZe#JSG8Q8t1=l` zP*>4rJ&tMD*EJW68~0~4hU`gl7P$V$?VP9!Ygnk0=6QB5=y(S_q MvVR0N6Zb_bI&Ac%pK8Flds}Kg z=q$*zR4PcY!=(1$Ma~%hsm=lNv>r|0=4qXUd0I^%PirG5UmO615+)0F4sxM&9g~-i zAuU`vK&Qm}P6b)_{ULSTLoXVdNBT*30(`f{ZH+l`^pq^)HH 8GSOZ zN1<+BY-^Tr@G%%(DK*fEe#&at?zFj+=P?Kml5mn?^D7u;VNLhZr5A=)s#%BmTyz z@_?kHz@aTRgj4C;PbDDhE;^wG@Fx2C`bqIn=H$)R*Zw?&dVjHe2J}CZMva?axtL}5 zrUwm|Un;c^hgK?aX%4v?WlDa1SQ>mbI%sq5tR*@%z?*Vqa?X}PK&Os fVOhQ=%CjU`p!H&FmT?DbF&_`zh_#{^E9j{ zAX+jecmAQywal`@IODuHmV=inN0)__GVC)wKO~6f-O{->9{NhN{w$E3hCNpE&^e#& z1Dxlv;r!b%t-&(4L->UkNh+OOt;m4a1z8>WHceK8R!9@9O1pckVhSK=>yKcDc)jX5 zEZDnCp?7mJm>&BM!JsNq7lIjzq13wh^XQNBWHN;S=Xz *fv$C#B*A=jt?W*INk2`g7u4glN&7rp%^UvQg z4CZ0T{`8@j?0GYJz+lPIZ8MVv$9cC8MI(K#W3_6UHAM+cYW39*!|xVmo-U T7PC{S`YL~G6| z$2E4K|AfbSMOfR|WU$`pD0i9~-tSzW1 om1gU&F&=s`~5Ukw9jLZBr_Vr+Q=X`3`uK@lnn*j-iAFoU=`1g7@O;x`E-7 zICx#p<0}i(H=Sn{^+Q5^unNUMVWvZbO@CdeQ&S7WS0Sk}=m?Wu+&ZUXy2|$0SLfs+ z(p|1?dFmR)2x6gJ-#WjH9~>+`G#j`udow=L>l{`hE)CxPPg~)dBcnTm?YrP(d;9ci z4PugcX>{A{jN<-R70G7EpnzQcPEfl$Q^*nEu@*CVI=$H7`9la7SecwJ4*{Je_Zo>- z*&R4~K=IPiSD&&S_YU5p)YnA&<%Hb*`0qK?JwK=0Z-&{ML5F&Y_vvYb Cac(8uM=IbcZwcT; zej9;Yi`MieMGG`d%uM@rNCvfZZ!o=A5znrRJW>e_?PDKCQVOBP#{cPSrCzyMs!u$s zlHXNy{|GJ@+&XB6wwI_kEULJHZ7u)jhNKg;3p2QLhpP|yAT*Q5a-Rp`Tyr|d{~na4 zY4#$3b6SJcmdX#35G~4hS+Xy)m|V2=C=}~U=T?kIu%v{i^36OXz7FRhBU(z{{gbe4 zru*K<--YaW$Q20LVX0fKLjNcZd=V6lI7AqAqw3_D=KA05c^Fs_heAw*nphk4Tko4P z9_`HMFbFV8f{AoN0EkBd-0=bo+zFye!F-5-6EU41q+M%5W*)LPv@>#R(AJf}VgO}# zV&qLZ0JFK@i`0be33-ohBgO~H^8(f9n=3=K?d{C3RU&&j7}FA*@CKDmHXHcb&inra zmJ=*|xVC%MbHW(vH14D$dS4#XF5xI3u8N|9c8yYS-Q4YyaUs#C( (!xe?c6 zp+4j$cY&D#Y5LIcC=&}sjdr%D^o#I8J#}HaOS>y <+pm|X=fMP` zgQTaP$R`F)qkpMPsaRW>%j5>{vE?v!^A#eEb=5ZqLd~orLTW$qA~Ks__q_$RW8ng+ zlWg_8*t=$&%79)5h)PT2%w6lUfm5nT*IpwtNzD-z@#~n=E4gKAP(1#)0hT>+ADnfL zqPbZmn8EJJpK0zQPR^t1!ef1XhDhU8&}7(_r0|Nb%jSP%AG22AAq~L0{63T?1e;Ve z8KR1)sGn7etkNHFq1QF1Eb)0Ac18A @u9FO4^D@t42Dg-EbB8zbxL|a`0`8sV2 zeR7-DYZcdFo==lQTaCiGyFGbyy!X!ej@bZwTwE3(nZdJbN@)AGhVVN9IOHD~E+0!a zj)t^hR=(Bd4Da9)sKb^JuRI5j6JWav8=uaDH6Q2;v|un1i0%MGg>MF(vRAN}iQh`M zop;gi%l1XDsgL7jf-@T_5K*r{0K(jt3Si@1z@SlbtDF4Co+@z)Y(DhU_GU$p<>&~g z(`)>TSHdW__mA461HnuS4rYqn$=tu^U4s5-R%6b%qYAoZG?z*THCqaXd&I(hA_Oej z+f?US6u3N_8Np -!@K*8)56GlppY9uiiZ|RKr342$Wu etAX>>b@c%njQ{qb5&bGyC^A@9i@H 4Rc=3#y)fw7h6pk$y9r8{VQhH+-tZ!g_v$1kY>$#F 8GPl_Rxf9 3VmZN<|K_r}p{Nt2YBoEtG*9NA0$ftI}DrOU}S?MN- zAV|+uXl)HA!#-VCSK4$Vsbo~zJJq4o#M6A$uj`N xMb4j)=(t}{wQ$KKV&Fqf_y{_?{uZ>#A#FEvH$9bjP(O@bKp$D z3JzpYg{18aW;Pl2c^4g$IfR33xDhHlIDO6%rZ-G&0$=S`Tq<^0g!vgNkmCzcLm7XG z L;Ge9(`hexFT^<#fM=y}0O5nlv zfBq`!&^p%qTIj6pG>~e2z)M}cS5@fNy;A}aIG5G@)inx{IQh7u-^&S`!j4AuPt&ZH zSs8G(8*vL9w{wq3+si@V`VS$y__oTI@myEnVl3sL$nM7_>e;@b@J;{;K4G!|a_`V#sleO;V=eqR!L-J0n? fAf~6Je5;9f`1=_4Of<(|mv`t58$d6smRX=0l>kr-ktjr!A&(|hS z mp`&at`wfx18APz(daKl%4hyLAUOD3 zN_wRiVvSMDIHdcRUmF#LLmgKeAuqhc=`4I4+xB=0_rETL= p_D>xa O7|aD9^|j3_3rY*#qrXoM0IQP7Sjz&=%tK{A*3y1Qc~ zb}nG**1C-tY55oQ+UsCs5FcP2Q8NGoq4*ZA{Gx)QB5^ ;T;D z307%8)7O6X&_5=SVw5x9*1J_)bPZosaW774y;R2}uqS3GY1Gu71?5 z4%~EkL6 -JXI{NQ zZ*|l{FUB-?!|e9MwjklgoZ+mfnEzA!P&WjrIrasZPlfz@P)6h3=b}g1Th*xO=iKr^ z6r06j{lf}eyh)Ry4hVf<=PuJ9V?eax`=_YU6%~%xH<{LL9DF+a`}DM?WYia_M1=tZ zPMn(jVjcG3tNR*LGg@0)m7+2EUCx)%9RD^F4)X{o33gSz@IQuhC;>2}osi8C;-GuO zO7`B>Q()Qadf@S!pGT`U08B3$oO%8;pY{`5Vdrw=_)iG2q(joce?IjCrn63A`+(>M zEZZ%B$L#{p1Uf7A>21Zw)He)1?OA2eLoCi%F;aXv{)-$BoGApR^VL^Ck%#j?H{8}F z6iueSup14Lm7IbuV(ttQc<59C8v0{dcH9A; 2~;f=^GD5I{1YzqbKa8HC#)@ zA$k=%MWCN{9I$c!rXBn;|1`^cgXq>h{A^2SXW mU#e+YKJZ #J*d&RFlNC7`f|5N#+VzcUtz#4Mato$JBQ2eD}#RT-g9nkqs{&Nq+mwr|BLCes=w7?2oS|zqB1WfSFEE zlKLX5Wj(kDTtry5o?o_Zc|Ed^0lb;Xou2yvk9sN#ti5sTy6;<~i3{&|{JB2I`uhh8 zzd7(HkXQQoRpXCV5eu*_ll0?1eFy)q&bPl?hTkIq77{_{Ct{Y@_2p0ge}Mk~0A1F~ zC0zf17NBXzx+kWpG`9_=WcW4^h7WyFlk3X21ldD|V_}D#6{o}MEb@M!UG0F?i746$ z^8NB}pZ==)AYdLe0?#~LZX%rKaL=V|tRdWW;^O!uFTvy;&svJW2;i-wB!rF5z-xPq z*Kj_!HG2w*8i!ANQ0BL{3~~jv<|Ricru@Gsh6Q?zDOR?h78kW4!u`zqANiPzz*(f& z_cKib%s4XHZr{>8t9OXmzOmRdZJiL3 )K_O+oac94zv67vJ^ZW;(L=GG^i)qlJS zDEsg#3;MzP(5qbmL(aYGlJo6=Q7?rTjLN`IJeI`azvizKjf8cMUNvqA5~sgHWj*@M zm(%*{Em65rh*W;Jgz}w#^TJ&ervp=VeDSf%wi6%_E`S{jmZp5>PoM4KdZ6OdWW(#T zOEZaDx%y!b_wVj!|0IXy-dgJ_b#>}o$>-M$A2_@nt{ZQ9J9*e6*o|d5f2k$n<%10o zCQgYz66y5Ae-8R-iLk0AcW_47A0a7V?Q+PP=5mHp%XB#a)XJVW`dmVFd}nufK-_Kk z=QH9jc68CQHVNAt_?-Q|VV}7Y;L%?F>KyWEPEjY<%6gr!q@Gb;%e_7Nxx)5 *u=T1qUFmUz4BDHbWd0>IwHqtJ&NDi7EHu=p(&ARi`&DaGHf#~zp)F}h~ir$<$- zQTA48H7{<=3aKot%rRabUQGNjFx2evJ*z2#Qn!<2)`FB>in z+I<7iafQ+D!KGWnPq+MhRc-Ftj >F8yi+JQR|VME~T z*60k8S@nj%t+$uR`L0dNvJ9(B0Wy(4A@$uY6~A%dhXlmhpO#d7a{Gp>YA3qSWmq3b zY!tBplZxFEyU97j;bUNzO_xpEU+(-4T) qFcGb!V+;-$HWV$iqG z5svi|7()UElltzr1J{AA6W?O9tTakeWx!TId#KgW3dyoQc1F4(x2)=>)8{Mq)nj5k zf>BipVkO`~I^)U3(pOZ)n4E}KneU$cQxsTOJs+EcqI@UFt-#tSH&mCBYryWEX#4$8 zH+F7~Z20}gc@}1w(SO)HqT1c5QxVqZKm-8;y 4ON?`h?%F?=h Th69+i%H@3h8#&KdUXN6Q&H;^oV&NI^a-!G%%C!->cB(%9zn!0 zX40n18VCc6Tg&)bUNsOde*|^|jaVJ@<*TJXdb$_T-$ogUcT3Y4+ 3tTmB>+l7&51 +!0ChH^=aeN ziqi){8Ks|n*q0Bow*WEyB6G~;JJ+!nh(xD xlHAb zsdk5tm1bMs2)?+8@Uy4tzb9D#RG$T?gz3=eTf=V!TKyWpJ~z|($`bAxgt&|NNozpC zG0`&biR*H7eM}t~hxIUK&2%~Pk`-_hPFGC{sd-abOd+S=;oFA_wZ{v9237gp_ss(D z0SS~#+IQrZf!V);YRbd!5_jmn740m3DJ^ixxjCd&4|2o7FuJ8{`P0IOTDjF%Bp9X_ z%BpH@R}*x@ep@!#U!=J~PX yg>D8T(zvuU9L z>ytde{|vw{A5Lut%+$&&yF}ukB?+esb;h%lwKT^eyKX?E%R_68(KL^>hETz%t_do1 zbP68Y>Ri@b`5uMSQ4n;S8A2nGadH-kjV8ZgmS~M^LUl3RhA{7Gb8)`Ow6Y+S;>4s@ z4k#=T$sqZN>5IP#`heG^G5|(*A;{*}W;tUjb}sMNaDc+ch_k !%qGCB+G`%Wy_BAv-0L@|g{ ~Fj9*0Y-? IwPrU*^qQ6x%rv1RK7yN>y!I(=(>Xa`Z~56P3C8RhGsFgB;Fj9% z&jq7VPgcfr5_We^4}r9q(^qu0ZQ!rt5}r?I=~m|BXN`RU_?jz3Hu0{{o*@gZg~C`< zn@AtV#*M- V2qnF_2-n5GI18MH=x|60gzndSS7`Tc>-7%^_`^~lSStfF;Ahhx zP}t|JKkRdTa(5j)%%FBQt%8$I@j>G0hpDg(U`?WN&$7YVutj(fB89xN |oThD&)VkCpS2?z~~?3RafcW|_jR%q`c$xmCCgo{<{n#Smub?<5A$ za_im0-U)(#$gt+h z+syj_>RCd(7br$|jNAldVm2PLcKLFg@${#t^n>s5t$#n#L;8`Ytxt>?m`m)K8joqP zM~xd^zrP_Oe&cD6ru$dB-_Qv>l-l1~tLOq8mx@r@Bj)=AZ+aMTS6hrp-!l fxF#L1VtPk&L!Cz~FrNOc|RPjQT`j3H3o9VSn!lL; pr7^=Ggr9temvU3EP?%!IF BVXapT_g{$DyGl~Kzv|&!!v(5TnA*m zS>w2!a^(~2y+zwY?dP&fveHLgZim~C79JeY_ozQhlDAuJ!miTHbGh1m-58YGVR*IM zQg)O6^5~yE>nS1UuDt?Ux^R0&CknjBFSN%_o;izGz~e({((o`1$`p}zg$!AsQM47{ zOj4K}u03mR&$Oetb=Q*TOJ4N!cGsK&3%6yD*03`oXKTqxrh;p(q4SdizmWU5a2Rh? z!lZ4m3^QDb<< dzr3+&>qFTy%W=)U O!s &DH&m5d)@oGsp5Xq#5&-?DB1>ZTml-=om{;AP{Hz6vEA0LyBMB z`&HVn8DL$+fA&6H_O=~W)x|) 7)C}fqJ#%Z| zEKS_86@6J%%#A*DTVqK+z@dE5+BT`R+;R_r`mwH{$bN6Md&CsS#jc4qMRT=M^nn(0 zGJAJU&H{SG^%8c5z25%fu`oIdo8I*~6SzDThit%p_Ql *_FP zZG1gZ;XRm~>RxFHH-SB~d3K%{y6{L3qJPPX7+kj5E_4YCjnaB~+ yMxf4Q;{JHspG;JrFyOk9ea+xYe)o)~5R!@BQe@Z4OT{5w z`T6<%q?%DUR+0FE4w^3>a?&DPcUUbyXAMI`3c)7kOz3sBeb@~VuLL>lgl()g$ik67 ztqd{60W+64Bfv@(=C=$gewNqLhco$rKtdXdG(X|&%=;B2+wQRe3L=2#5jj1WZX?Lt zrnEItVxj8_d0|c$K?q$iG}Sv=xqH>=R QB7WV#dc@|Zw<%B~ zI;SE$c~=*@kePvhF(=BI(5{gX1b(JN0Ups(X1N}l;%4alAS-ie%O}>zHcqj&WzW~J zx6RM5OZPxbv?^_TXf7Z2a7GtBLuQjr10#7i6HJUwGje}*d^vR 6!Atq@j)vUv-E`-?*9NeAFQ^QGUBlSn+Z%kQG+xvOw@l_fY&_m)F zVvh^2t03;}+YpL^FpJc?#iQzrKV8D;kT9%&{YZN$+qc)bTY0TBz$c|=XDFVofmHkb zRO3 AwqYySE^In|* #Iz7Zc03`tlE2;};wrkfGA~r@?mH3>-?-6cZV|rp^(_zKwKS+m8eGUkgK196* z&OqEa%}19?aMF% 2aNP$1so0Q({LB zQ85#t3CV0&LD8%GllGOC(21M>cYE&8y=AR43O{@hHpmowWb+n=JSYag6DL}U)Y-uW zerme8$>^&>&XD1>41(jwJWN{(MA|j{fY_H-IZx0<5qI8|cjlEr(&?^qFW4o%h{Nva zQH?p;!X%1K;6{eS`rfPdUQyF~(IQL}x{a_BzvLsMe)%0BJn_S*q76p;Ab{QL7WiTI zpFeSFD;+50o8crcJapdS4mBy51NudV<5y5G=G!Df8X!#^cN1+Tmz8yzu5{NYTLmaE z9Zqk;%sDccn|Jc K|)3fWW+j3YTz{$!#n5>X@BN*tO zlUGE;-``-Q``C35sOhLoNP&M(oT35y7V}r|QjidTpquYuGSwYEb2ak4jSjAIOf_R2 z)j17=wtxN6vCD5Pg*^{wNeQ;(-)_qV%*)+dmXjV1xN1!x-~5coUrDCU7WL~&v**$o z5wm6z+Ea+BjP#I&q40KNl|9cQ0S2u)NuvNQbEkSyC%>>mlG1UzvMovw6|sc*HmUdQ zIy`o@mh?{7j2)@L+suRra*@7Fl|o|$Srtre4Y2sX_C8NW_x90zB0pRT>C+6V%&f&y zuVInrb}#79mmT!VVPo?)7)4iF3NWPdC!H;o>yoAqP1_byKI94zHn+&iRrhl@Sg*xfc#MkDQ3x|ZCouI7S*Ut zb-hSn dWZ>pH41owR>^ulMoCB0l6AEtbkY3K| z165e!bJS{uke5MZE9S&3J2Z0O9r-H6eO`aWGTqVhrxh$MEcbbUk-;m#w19uz~ zI+6tOq)*MuKP3p8l!X!^=U=9(*s5%z9^R&XD3#-Eu`-PVhj1m-@`|*J$Y2=JB=jw- z1=QuPZYEESjf65#p{KPJyx0yZ)Qbz_ h1$aDzaBsMHwOnh3Wu2D zo(M2kyK|>3;ygSFe?1Q^$nq h+EI08hK<6sZj*oFH$9ty5;_c^TlR*5zb}~; zrQh|&SEPbWCf1O37p7y `=^}Md@zQ1;SUEi`b zdcFCt2*y5#_0EX{>^i~;bxqbi4PkZzk)cZ$L{0fZ3Xq0pAmO1F<1MS&t2kFHa@gE3 z;Cr;y1#^W)S8km6WbWNxzS4K7qwnnBw{Rz2h_+7b mLZM&833V#Wk5F~-F_~p3y!Jv0BX92=Z)Mg3P z7~ttlP^iLE_k8@ 91v!j|LDrk0!pw&D)^+Tb*;$P%EglhZ7HV z7 z~ADnBeFiwIQp(c8=UDAK8R&xP%9Zw>HfIQ}D5MBNncR zG(TB0CBlZ{-H3mr^t(^Edgj||*lUCV)gfA^DddMLL{APND`~#q>6Z=H0y3+oO0XM! zl{r*Vl%Hil>d;w!--crY{w#?a8_VMDJN&s>hjE#%g8kx}0_AvGvDSn_keaF47k`D8 zX|6)l1ake)%XR@{%OQPqFOT(l_QL3dk4cqRSkaa}+Vkl
>s{;~qX0OBCh+;9cfwIT3MrfEC_5B-aSwJ7Y>jS Pq5wonIsi+B)_3>n>ROPQe3uUS9O$Qs@h!ei~Q%>*X+seTh ze7DfbT@ymk1!XgM=2prr6~shBlU!n`TOpVyS{Y9rTYU4l?*Yr*Df6jUoEel{$5z|_ zpf0-zf=bPSg129xy8e5yJ<|2GW^H!ZNVXb#Rwu*}XtVT}BYHBY<{Mmb0Spy5yK#aa zNr{vBqwIsgH^Hy$!}!f_T|kp^-k>mrUW~|AL(N{qVJj!9O77FNyr{wb%;ZoU)2J#CPc%DZVrN1--$tKe_OAfo8~_cmqG!rG5v@5{rG z^a%ERObSd2)n zj;?479K$e&R6Ns{rNU-=clNQCXwTxpp0D&$L%}UD1lBB4FzNN;5hMul+GD@-epgqZ zNqV*O_u^(X>1o>AVoJ}K_TN8Q?*F3cSysl$d3~FO?ApaC;?)&H;q1Y<94h|GDcj>Z z?oBUb%4x6e2{Vl(Fj;?Bo`7c;-(PRMcAVtSmadmQ9Lp?kdc`_@r4MB@d!%7$?bVzc z6-`F8h2=hc3~Po(gC}p+Xw8=VKTtvq(D;Nk^LqGIjN;u}v7UstyL_@EYyKTRD2%=v z#opHDilB64@76rp_Y*t>PCp*FW=emwjP$sE_lwlh@K4JsI+yl+Q+(vP_*O#a&9K8w zCDiv0gYPJN%L3Dc!`Wo;pV3uvKlJA6Lwk`a=Hw7}7J9Kr#tT+%`r75)l+FLF1WW9W zTBpFo(CO*v%deN7_F%4#TglTNim8p+2+H1Q1NR8;qb&KW2v1!2ki2pw-o_~PmP%Rj zX%S{uQ|gVd>{%xxoxsy1_YeJaGTW7EJgg+wsxgPFeSMOtT>Z;V?ud`OPkh{6Az*Yu z=Ebq3WBbNF=-j*iUf>u~=!Vlk zXTwvwa=&2Q(AJ3I#dJ*95BlE)Wod40Utig;>8<>s%cS313!^Dw_UrHCUDn)&8(*m# zYYMNmvWfS-mrIvL;a#(8+Iuv&+kLxqKHNtnh#Jk7sUbC>wAu|OdzmE;ui>Yr>@G(3 z`nfWEhS{IKG?gA`(7{dSIkw#)hb(EeOI@RA_X^fEueg8K_y>B!=l1-@bA-=NEhoJB zz1B-E>Hdba_&DkU;{N&U>@9)0kH>0}uo (!z!k)G|AhY}HB2tnPhy^MEH~l3XTs z@Yt311l08Y9kt!7k#A%j99V`LEX0&+54Ib*=%kawuI{1MIJ-9@Jlli?xZtxh1^*11 zd@BPV722XldsZa>wSafkHe+^6;(6*RP4QI?e14~p*Lt~4eK~P)P=7I@B&h@+=68zx zp~LUV)o&fZM}5Q35M}Yn$6=#x!_9Ypa#(xtsCwzl$Res--j=DZzTD@WuOrAMMV@ox zxKS?LZRg9od$X;o$d1Q;vs&UArZk#{dht7yNf9aJgsKL rRie z%(@dyvnSnrS*k=8tKy&E`56tF*5^CBo^Fv2N`f6al8~wzSMU9CCF|7Vscb_B=YjiG z9l=J&;5e+QVSlK}F-02(fv_|20UxA+UEG;G{bS$a_4~g|GlcfS0k48KXScvBzqih_ z-G23OhxxyXx{PhEy8i`}vKCd=q`(|mP6y<>EDBvlJKj3|-T1B7Ps}yE14$2T_@YoK zNjh?yf@qZ} !l<0iAW_6%UT~9W1R)RO}mKJ_Lcpos06)z zA$?@wDQ~Wp=IP(s5{AFruFrd&jeIsf)lDfIn#6hZ7I%w}5}eBt>`f>7F~<526R_2h zHq4~vK8jvnf?uZX;lWim4EnQ868VgU!}&P5k|{Of04rfC?}5#gz%v- dtUEhBdW zwQ+ZwCIeXWQu*9ExY40cY2J5T_i{-cEHmTq+ROXG6E5HII2m w9-E zbDK&GQfAqvhDa_YhTLcq+nUyXtuvO@T);q{DIGl~SNqQI-DMc2z#%PRf9 Fbb3Q+IQ4pz2uEW<)OKI!^b9Xd@I>Mc%d7% zHz@2-kW%?Q=D0=J>dPYL9t~Hkp}rm6k-c=6=wLd@B`2^!XYChT{~@E&T9d-hDu(mF z(i9W(4}B+C+zSxSH0`CByiK!JRWq~}SHE@i^~}nB`b3Z?|L<9yG1%8cMsldZ)DdSa zYx-s9Z&o(tmDzW#WOw*8(^S6fpXxRVr3}=5na-O$=6tetqF?2mZK|snrgpU@7@MGG zjK!MT#yG9o9d1N6CY!ov+ors>$N4oQOkw{&v1cuR*)yNi5jt;>v&rsVE)3sSDCEa2 z=BndAypIm+E(jP>tyz;Y*`*
eLyeailwIshNo7CDc&Fpr` zu_!$hG5jLskI>mqRvH^kK_@N_*TjWshK;M}*tc%O6aC0E8wcc-r&@slPZkH+ccSY> z1P{_EOM@p3YS9ipCX6PVLLRcD6*|+t>;Ba#Z7YEqcZ+D`KQ6%CX(oLnLCj)Efm>3? zq(E@_VZZdjj|oR9g0B18QL;NUG}4ZQ>{9rjeX2_1QD =%q82p{-pOpPX7eLfX`i{A`!1unfasebW`3AEp&zkR@^KlnUVI*FIL+;L^IE zs+J_cj;EJ6fNR}5t$iG9{I+q`rD%jIeC6NYKX2E0T>(uUGLvev{~Fvr4Oeu3(++e+ z!i7cicedhjrws~ng@c >6^Uv}NAu2E|f_s5$~CO}Od;byV^3f@6YBIG>3Y8eL&} zCC0B^o8C5(f7}GGhq)jXZcauDXwyIHEcCX1y?{}79~1zj78F9G&DyoHc3s3HsMf&_ zJ?_m)^~U&iI&ZvWDr1`=F^sG>lBg3_K?-hOJf}zVNlV3Y@T8}Oy86Ey>z)qp~O Lgb( bLtnI8bn_Jr4NIvb=2qULlVo%*}%l?qx;S;Z4jy0;( zHiP-+Qfnu;xg*qFyRZGwZzFc^cj+Lciymz)OMU|q!&A5V^Hqq?C;!yo1J_dg(Ccd~ zQmlc&s(aYuPR}6fXRW3^ZOi3s>7P>Scca%XJqa;aC=U8mFK|w|Y=oCPf}hy44>~c> z_veo_(VoSpi>5DE?{GdaT|lf+@F*caaV$SPHgfI^^S7;n}NFyl9zu)_gVcQaZPN zrouUu@2)+q@aJCr2YDvDBeJ^{e$5u#Zp70evKT$rCwIa+)%DMz=jYc-ZodDk8;1MS zbwIs6lkh|}4(V^|zA*ia0b1}%iD$; 5nSC1j2CMO;sE(3KJ@8xoatsjJG@7L3y)XiPA6X7>>v8mETeEs zB4A39+g!!>^RWkABabS?^%Nuy3ZFE(Th1T$ekgdS7vIPZG|Q@D^bV0fr5oO2R&v&y ztL~!uE eaAQ B!M%h-mXYVQ)ozg)A>ZL9N>R!%w z?#ns$iG3FD?p6v*`)m F>s(UpH2P_dO*pOl5Z&S~+Et6&jb^WT$Cu zx5-(yDRZ|swv~?(nx_Xs@$UU)nLmc&gVNmT4psu1xSUN7m(JF;`$^fxLtQ2HcKaj2 zXB5|)W2 KDR2+Kk6c=e*#4=fG%Z6cS;{9Io gr}xV@No{>wAzAE%BneyGv;v?86hNid*VXm zV1`L>+!;AFQ*q$V%!1?HvqG;Z{_P2{mo_>Sf4}7?d6?(To00mrGmSZu+4nJWu$cfv z<_BDVa&=|)2gNSUOkAh+VD|{i1#)4h_G|ylntrRUiX}lV?EY^T-d*8Q-F$7N(@*rS zR&3wt1B5m~6Y9{ZxnF4w_Mw-{l9z{Qx{Qe=!rhCrVVX8=^1^_dw4DG}I5wjQdEiII z@TwtMYCuoyNCLlvU>OnK@9|UZIvmcYAzow`G=Z5(E12+19Fo8SH0@>umOU4izxtSY z(}WB2@%%I4?{c)72o#>bB=We6+RAPDaD(Xe?ENSm@RRh`P8ddO5M#C#>l`{QI&YYh z*dX6+S?1Au+bvzwtI9+>Zd=thf3%|ZR7^tfORk&DwhRvl2A^n5hMBEis%*cH%w;6c z IS+3HCFU8>+j#Q2`_Iyf*3;= 6S+*Z|}mtMjrJ`@j9@^^6G!mLH-PF zSk?G*lSsz9bN$}nS4ETaHfADDm<%sHUXJ8-z|}nACAxl^b$rjX7bqKYZuKBnuQm|* zHMC(&Z<@k#>oxkil%~)+3x`wyeEHbs5nw)_Sm2m}eOt86^z6OY(NkP?W-w8hqM)TA zk8S{Opa`jTC3&xy608UQP;Sd$!oHWC@7>fYui^ZgSgq} +eI%+O7YAfTCb)RwI0;Cdk)2X>!Buv z3p8R79GDj@*^DU2p??#o(eL=k`%iueW(77ZOR^>EX$;mZ0@H|fZjaylQL*1|rnIL@ ztG0>}HV@O6F0tvk?OVV=wAh+%9jKhXJ$;N2Dp#WDB+AsUoHgBATuDmK!_;dxhnaPs zYQY&a_W9QG`64nI0pyZ?wG`9iU-}-9jFRl!3%tlQ