From 783f973688cd692b1b192e0ca9b4cdb2762d4a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E7=BA=AA?= <3049035704@qq.com> Date: Sat, 9 May 2026 17:35:33 +0800 Subject: [PATCH] docs: update readme --- README.md | 426 +++++++++++++++----- README.zh-CN.md | 430 +++++++++++++++++++++ docs/assets/bytemind-terminal-preview.webp | Bin 0 -> 99475 bytes 3 files changed, 751 insertions(+), 105 deletions(-) create mode 100644 README.zh-CN.md create mode 100644 docs/assets/bytemind-terminal-preview.webp diff --git a/README.md b/README.md index d1a811c9..084f2ccf 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,123 @@ +
+ English | 简体中文 +
+ +
+
+
-
+
-
-
-
-
-
+ A terminal-native AI coding agent for real repositories.
- 一个用 Go 实现的 AI Coding CLI,目标是提供更接近 OpenCode / ClaudeCode 的工作流能力。 + Let AI inspect code, search files, run commands, edit files, plan tasks, and operate under configurable human approval.
- 核心能力 •
- 快速开始 •
- 配置文件 •
- 目录结构
+
+
+
+
+
+
+
+
+
+
+ Documentation + · + Why ByteMind + · + Use Cases + · + Quick Start + · + Feature Matrix + · + Architecture + · + Skills / MCP / SubAgents +
- +--- -## 🎯 核心能力 +## Why ByteMind -| 模块 | 说明 | 状态 | -| --- | --- | --- | -| 会话系统 | 多轮会话 + 会话持久化 |  | -| 对话交互 | 纯 CLI 聊天 + 流式终端输出 |  | -| Provider 适配 | OpenAI-compatible / Anthropic 双适配层 |  | -| 工具执行 | 文件读写搜索、补丁替换、命令执行审批 |  | -| 运行稳定性 | `max_iterations` 预算控制 + 重复调用检测 |  | +ByteMind is built for developers who want AI to work **inside the repository**, not outside it. + +Instead of stopping at suggestions, ByteMind can participate in the actual engineering loop: + +```text +Prompt → Plan → Tool Call → Observation → Code Change → Verification → Result +``` + +
+
+
+
+
+ 🧠 Plan+Use Plan mode for higher-risk tasks. Review the approach before making changes. + |
+
+ 🛠 Execute+Inspect files, search code, apply patches, run commands, and fetch external context when needed. + |
+
+ 🧭 Control+Keep sensitive actions behind approval policies and runtime boundaries. + |
+
+
+
+ ✅ What ByteMind is good at+
|
+
+ ⚙️ What makes it practical+
|
+
+
+
+
+
+ English | 简体中文 +
+ +
+
+
+
+
+ 面向真实代码仓库的终端原生 AI Coding Agent。 +
+ ++ 让 AI 在终端中读代码、搜文件、执行命令、修改代码、规划任务,并在关键操作前保持可控审批。 +
+ + + +
+
+
+
+
+
+
+ 文档 + · + 为什么是 ByteMind + · + 使用场景 + · + 快速开始 + · + 功能矩阵 + · + 架构 + · + Skills / MCP / SubAgents +
+ +--- + + + +## 为什么是 ByteMind + +ByteMind 面向的是这样一类开发者:希望 AI **直接在代码仓库内部工作**,而不是停留在外部聊天窗口中。 + +它不只给建议,而是尝试进入真实工程闭环: + +```text +需求输入 → 制定计划 → 调用工具 → 观察结果 → 修改代码 → 执行验证 → 输出结果 +``` + +
+
+
+
+
+ 🧠 先规划+对于高风险任务,可以先进入 Plan 模式,先审阅方案,再决定是否执行。 + |
+
+ 🛠 再执行+检查文件、搜索代码、应用补丁、执行命令,并在需要时获取外部上下文。 + |
+
+ 🧭 保持控制+通过审批策略和运行边界,让关键动作始终处于可见、可控的范围内。 + |
+
+
+
+ ✅ ByteMind 擅长的事情+
|
+
+ ⚙️ 它为什么实用+
|
+
+
+
+
+
hJ=a-sq^TYnZin|!4+S#E~egKA-Il+M=l}&=OA0q(|>d@V>c;M zJ&ZwUH7y6QP5{Gl6P?7v=$7EYCd(hkKqqntRU %ScSolCo~~2b{U&UB0!! zOJ=Dr4NHlnce3u}`5r-3(fL3zV7?jZW?-yQ-eGFpP)9){hj(zj{R9=$0{hoJ8a;!d z={5L+Cn7Q^EQ#t3HJOkSGg%$nx7jW0cb)0d*(L!y*dv=DP7|D@lvbnUD1uL#F+a&u zfE(CDH$%Wj(1cXc+4-phAk<~t=?`Ono4xr}DqmZFjUZ(vKt YAl5c~?PZx|?aNT~xpRW>0J0=;05 z;kt15u1^!IUAMcRhLi9&NGOb0>QCN)MiJhxc;-Zx{!YhA9ZU{t%DLwZd$$p2(RlI_ zR#Qe-m|nLE8g^2J7@|8F?~dPMM@E9*H~c1kX !neMNA9-&+ z*YOcXl`ELs6Vt>>F72&K?q}d|*Xopk7#RA3Ch*1z&Qnoh1X-(<)4CauK_hPc_6+*j zSX^;v^||BimkChYW?G N<3^zs315(TL!~Cc z?|Z7(J@N+Lp)feq2I|4YH1iF8PcuUhhhJ0PU@4FSlp_k%Jyx}w?N4;GI_1lLxpsC1 zuvKgCQUKXr0gN`s?Ud!cPbWh=ceA+LV8SoU+1@C>v}_3}J_xVuz>IG r)y%X)&1P!6*oeYQv rEtHT;ih4pA|)i6Nt5x4s=Z+1>fFh;uQlZD{Afw)!Qrn6{cD zNu;7J@(RH3Yh%t7(+BysOKbN+~kGtpup> zilo??kRfC% Ei&;%bD#Xg8tpxpAnE+0QYz&~W7eBk@I693lB$%isFaE;V1km2k(`Ml$* zOx}t0WGkq_ig(Iy=wkd6kB_{=93KRAmk{EI0v^g|eESh$Y+_7?efDeO3P3$my0C6g zlc@cX=e}hs?{}wKv!Xl^d59Mw3Kb~>!f @@T^Uu!2|ByVh$oKInGo z_wM;V( 657f2jWfh*^GS=tpAgx_J{i#_r0W z6%&=SHP*Ez`&9L3em$@@7q87IsI0SffYq7UIr5#k xtAlUNmmcb{_W@+Ke z1-R( h~|zMwaFTP zcvu|BoBSAFvfP*^JjA12SJ(UPb}$pfD`lW9yZSYO{ooXw+*ttJ P`~cA zVE|Lo^!On+`DMS(j0d!Dp7|#lK3hUg^XX m_bp8*m)o2TiAyz%2YVAg=}0yw<$=atPm(kw`1-%0X)%?DTJ-9TWVw5W zWgzQ-Zu2#K5o%1P99=abmG;4IT~BCVMI#ELbW&ck;;Gv~6KY_y5b9pm)U$3~Pm$)K zQN6a3Prhp_Of5~rr1OH+8J8>+(TbJ#MfpgF+5B)M`FYo=^_x0MVf?))qpy|B O^ASQe z!O#*Q>V1fyyN(*Nk_!do+gZM;#frMKo&QBvM2)1$$y-z$8}OS(a-gfeiSE|#Qi~M~ z-gv8qx_rGNVH|q-A(P!hN-=w>WDhR$YNisw-L7t=mceRlGjR}@vh=~D%D;>34mUBu zuEY-2bnANG4aRD0>g tEc}zqi?Q9s#|r$zmApJ_)%k z%RPc0V62fvJhInzxbaQf8C_uN=`X)o`ZEJD&4t252F_I;RZtI94u9~;dFLD#zg2Ty zXqWXs;*y
HP#5%>sy}aiP}7b`dZR-u zYPYM9bpE1ry?x(lK7Wa$41(25i**rkVN)OQce5l$d6}@L2M|4%N9uiNH;cgsYKb>K z464+Jc-z5OZ^LWbicJJ9*1+ItYmQKIez$ja>8uoc> 3S2=@rBr1T`4VIPMBJ05d7ugO$;L_Jne-4J7W%1EL_B)Nlv)un23Y!K ziQ-m~2|lkR;Uj1y0=b$d1nPPQOGgX!!jE$Vl4Ge?fM7HIWdCu(J`f0`;}n5rK!d<^ z6heS@xr+_b{{P-w`u}4O@9?rKv=o|Xb%3JW
6SRLiABm`l3(r?lv9zjm+MZ$8 znH9qOaA+ipD_gp49*WN 7g=YZ_9#^AN}woACFULh8dIur!FKDzuK<8wLY<37tOnw1V{ z4ZQ)xXM0;M@ONOBsDejI1ck-9_tXybG}}TR^3K~sy|(qi_Qzi~99|+(P3i2tCi87q z0QqOo`i7+;P_SX^K*_44S)00Jqe5B(p0l#)#oW7BKca7dK$f2vX{RCVN%J@p;cPiC zqYJ%1XI`9pRp%R7>bcVLNRL-XLi~>@_Q?)6pEtb?_veUMZltpqv6jp;eY&rfVU~LK z;$eAQ#>OkbW3%;0aGst*Zp75hF*19@zZUOkir^*kPyhAK3b~8*wjV_YWqYTi$wS5B z;Pii3#N!QuZU0WYj?(|f1`2RF$m%-sOCogo^y}{%BpBO_t_-`1iM91PGo4H_Yv(^W zjsm*;^xS5Te78PmxfpGxl-MM1lm)Wlf7^vo=AKq{{U~Uf`+bY@$d?O(ihb0yRtJ2H zj $oD!oxP?H0i`RxCX4P}Ty$nfq zE3qYpbJ}*qSubluztp4YH7m7L`iByk7nf!`%Sz^xAflS-QA^=b+l=3}6qM@?i^$fV z)Rnf&W^>1ZOggI^7Sll`#kcVG^yDfBg;P&kv;2pZbNB8g-J5$NkC=8s`!J}g{;7I5 zd}^r<=F?twRN4>%gFrdfx>Kh~^OPHCz#|ibgOPOvBEKLdgibM*(+a SYd(uTkN jaF^z-ivsX Ph| zR#rSz#{00waOWQp_4I#6)XSY7tzP@vO0pYguK@4w9Ts1zHR+}1tZQqhqJ7Xl(vBn9 z)3yXyoa9#*7k=p$p)FXgw$Ij`=6Fjb-BwYwENz>nDq66|Y|4~+GxOzRWO)RyO`4^9 zo;_j~UL!K%5!LKRKcpy7A$#YQLQk^UdlXv8FGAKU@?$kVdvi9)1%zF` haCHX=8Xk+}#u74{8SP4kVZ&|==$CUvkH>N)hy}7C3rKm7`+iy5+xy}?JQ|losX)RjC|0N zuk9>n7VZzsshUB1FKpcSEqPMAL_84LS%7LHPpLElIteb;XX@}~S%!ZmKyJDgeVs4B z>M+lGj>nHTP36FwG$vi%1N&&18Of2wDe1)9i(nA_m@3XMz1TD2cpW&x@d$l<1JZzg zJs%jGRJ691a&2f?O<;5NUsc3xx0Mdct wx9`Z$6+H|;$eVAu?w#v`+so61L z`xa1WYKDiA_?Y0~bz<_oZ>`+U-drW!Ar@RIeiz~)JK-d&G%}l{SB~vIh_=U${+M~U zc6jr*=yoMEnPasPJwj^L?&KI?Kvf5Nmz@ywt)=uHsJhbB^Zk*H@bz!aVAec$_zxs8 z`l+iRf05b#n1~&)mi(CBrN*F@&$gzhl?uo5=HO^#=K52YJ`h%fH!Yv7MdcNQo@9)q z%sQM~1R||P+B*n+IU@PWo`5v&^3l{Hkfk9_QSAN3sjE1TdG?d#ndtPNWT6O{s|RCL z=>oy)ToZ~#S({r70i1*Zn+gGptWv29%|e931mZA+XupO=EM@TFgEhl_lY9JrNfcZt zZ#K-L5$`8Yl4p1ADkohQ>-`!B-n^l@D`LWZD0kb54m?8`yBML%&5QLtoXo2}6uj0s z5B@hj_22vL`&UZB|6l$5N1_0ZVf*)^-*Jt0%K7Do$%m8}&3{j|pFgAfXP&^FHk4m5 zi=~hyuf;>bvb;5EjR~!0``dTE_nsv?I%Ry_Tl(c0a^J=bkL?!mYEjjk6D&;)PnS>nbnE%`b@Ep zgl;f3PNpWC$)1eMKbQX|TSX0O)2q&vdV3&cR})=pWZ`_D#R2MK Ih;RWDr=O$aSuZCXNm*6_H zBt6u+8XnLseH+e!24*<6vgHfN7ewS&*UBB?+74M73)%Kg$K4;yDoW0Ou;M!c)_XR( zTmc4d+`Z2-3u}_*_MT1W_Nw`S(rIT4kspPXUkeNVrKE$}Yl z;)Y+HEuCYdMBYQ4E@+@$L }3fB4aU59JJZg+O!_{R7q5l@zXp6N4vlvV`Vz|5W+!XMcdIkFD* z9z%z3uYrs>gLS7L&nEh#VNA8ZekvEwJZCvb;8 &F!R)J(w><(kKJK%rGq}FN`Ge3(CbF*JRnO$JFxxCS_G|Mj%Vc- z11dK9P#VzHh`DtMi)xIdL;W+EM-!UaFpi?oWeN5p5lf`LpG+M|v{}JHL{zDeF6*We z>U839+ll#Sk%@S}9OvvcAI G-q(FMN zqlv3^GvW6HM}hG$jnPxA;9PuM#gS;aS)KO1HnHLSS`OcW?aznDK+#Js#n*>EW1 &)tl-=D8nl@7eq>5bPTVT#v3 z3ADzn6)n2>eX+qces#80Nm}_bLe6Qda ~WLaS2)k z{9{UAQhf=(Lz~fiV!klZZ~%qb|FBq8m)1N07HmL5Dl!IdpUd`g!ushRt1iHY4dF zui#&F=Tm><>dj((DZn4qT9k7p5DupqoIY5EfGnCzrBGd2KJGOb1P{(=sNmQjx4&W2 zR-N1Z$J{lrqtYiqlGJN(k~NKH?TPs|m5WEL nez{v1|hm`ks-Z!gJVau?8X~R zdM5vg-S};0h$gaV;4XY*zgzKKqEg4-;(F`NGCmmkJcrM7zA2EBb(_50?~=4v1p75W zdhtA=(fw0zxUj6wv0vq_;7IwsiG8|)XsutI8p-W^k*aeQF9Rgd!h&;t@_WkQj|qXC zE{sXvqCqzN11+=Pts=fzNzFi0JN=o^0sy+)@p=2H3B^8G)e`e`28Ait*8uulX`L6M zjS~1xa#Ifs$V`U!3eZM?H)9q(`0%Odb{n@xy>zB6BjFVwz>A1()Ta(Q33o!E(v>i` zO~PDvK0f7U{~~PB#mF(Ps7GBr=yo25SH}O8XMlsbzq;x_s1Z{4lpnC4NLywIdQh{S zhff48E|aFevmRw7GTA@DQn7S4SH!c|J$j5TZz+1?e?RxN8Wb{wq7eltX@sn?(ka|N zLbxtd{RUSt4ZN11ZZ } z#Cg;`PqF10bv@HL(q*aL!H3f9S3{ray3Op}C;WF{n*QW48OGX_K ?Gv5-!>O2yVW)>{8{n-8fxH=$dI;uzsub{ zhDJfr`FuZ({3Q3sQGQN*`J$DOd=8BWkZGSyA9~=;*t&(vBpW}~=Z{PxZ_G#5#1t?M zzNouDmII;otJ$E5d9ZvOb7#p*4DOcp^ZUsgS?@su^1Ma20|K1~JWu@;F+Sd7pJ^8y zRned@u$}3XSsTV){>K%sXJ5=O)X%Lg7~RXsTWRnh@Ocp^H}-{{8kB(#_94usAx2Xk zn^oVW-? }d~$<7=7rZvm@?{%#F8OU3jTG >JW7Fv0eY+LBLetOqG|Sr1NBgt_&_LLubIj`6EnL%#( +yS(5hbLSk)dKjmMWymdh?#LXm1OyMZryUWCP)tnuED}o}iP;Vt}50 zA^FHuK-k(5OGd_kc(^xk*1RpiT9e>vEz`H~Tc+1*Ai&qXd5M&IytF)Kbka}iyt31? z SJ7{^XJFpT+Zy z!1%G;**KH@TQR|+*kdr76Q%N7+3rAa8SNByW7H};EmMJV;d{7 A{rcWEg3?F^(p-(zb>O=2nxELq zeTMlrTZfac_ZFH>_b#518iXXe#nU)eXNR)JI}Ze9VpV;>G+XbX(c$Nz0sEES-NTue z{@9;>L2l)U#&}n2#G@!`i|DY}Btg9Y+J3RnoQ=cw%vi_!C?&+YcFU`ZIy!{Pyx*yZ z(9|cItltm93aL|NIXn!G@a1nQ9M)$RmHN$4(&9K-FvO@$AbEfgPGko$98LpljbFfDF9{^?I{ zhgN)5u+|es&&89(()0ALx(c0xX!5o0B!=8Lz2u6Tsh8E}c0xJvh>7`%QxEn#chfe` z!t_HxeI>iUOAysvPxcJ5etFtJKh@L9-o2FYN?A VO zS5WJ?!(oX>ske03{6^4xujJQ2kz_uhe<}u;Rg1>b&X3q0YK*vb-$T1l-BhW}Y76s) z|1ZwY`y0+S{Pq%35H(8l-VH(Y5J8j~b##VAk21sPJ&7QC89lnF(c8@E(K|7^8AOlX zJ9&?F&RJ)jpTGaYy`J^l*R}Wl?E9HAa#aG7Tqc+(u{NP4kQAK2l$_O6 l20WJVXu{9~h{ zaM&F< s$EeR 0d2h{8Ir>>=huIHwMh>!x(TNKl6w>QJ#c*zy#6CRbs zIOV?!EVV7eJI%Taj!yo&14OcJM$h}KyibmC;{i&f2fn6D*A_Glb+*5IUX>^Phxe^Q zBPO^p=MB+(+K8g0c!wlStJGUkn&HZ@+a^c{W1HC?%J0 vygo3Ae88!hT~6=K|^%zLQ+EVxALjuIvPyvqJ7>Bw|lv^wriO`xYE0f zz@f~O*0A6mVtG52Q{oT^4)cPlTCY9H@e8q+;+nu~6oED_2&S^Ae^7ILSF|?StDpT& z*6r;ACsji2=L)@Uy;7U(^7|BHQJtBhBrtocH)7-Z2Q<;UFHnzO&^H>Zvp4t$r^{~L zoTTcMGvQj`(jBySK+{e_U+5hHPbLMF3lYryrjOq1DOwxzd$Fhxi3!)s!yk@mGs~V# z;f`iDQHNl RyH-C9j*J7Rq!h*WTgVJ6*PwwM0OsT=l9ToEr5uv>3M6*&KRnrq ztXF*^cM^ln7rWteZl{BiJhr{I+AmX>l|XueKU^+T6!m{#q1&M6PaCK!7Lbz(g?vRb zN|a!v(8BVLrrXX&P8D_AIt7%@15{u5wy{X0k%Ex*$B%A;Af|V38DeqT?mBWl7&EVA zb3wlPpNErXccqe4oh^^MXMx)l4X+Ng?@z`B>mnCUK)?CSlWs)ux_$ND$=C1FFRGJQ zd07ZL46qu%FSO{_{>IQ^RzciiX0hStsNqJ #u?V^TcE=#|KT?>fA-T7M0RQ3lW3K)2+WAylf&Ib?B6H UARck169&@@ ^$S|{*Qc-h6XB|6dBJ@adOAvrS z4mkq9eirtK_a`UopA(XrR S)Wo;&)iI4vVJ9M$2$TC9Eo 4sR zb$z@Uv>BkcxHu`xT-f}@gt^g}#mmNy(_EOW_q4E-h>Sp5#9S1S*z=T6WpK7&H>*~t z{Erk;c`@DM p;nHz z@&uw7yI#r4G;raM17y>9eDCoYfHrEP*wA7w{ZkJyJMJ=%Tr~^}*z6B&go8lZta!2q zhYuV7!~5QKdj;8H`DXCl%Sk)Eims^MM!JZ^sYmGded3b_vgIc95KAHaX67%n7W3Q8 zk?A2-L78VLo
*OxcZ6~E#s!){_Hwp#t7{S`B?U-$PG#ab$^L#^!(#r1ce>z z$Q#|@p{|!yR^K5R4t^S?={CelmG!AW6T4**AzB)hwbS{JWaZN|ZI^))4EEnjOuszZ z>AG+*G)~pW<)1CZY{8mBgxE1DegJ}fy+#j#cqZhlZ#{a6dS8L(<}PLLf2BMs$h65h z8oCh)-7yB=&xK`D3l+o?Qws33y59 YSeW!{XWCT-PsERaKADYms*NC;PFplE&GECyxFo;H%5` zQ m?!?;Y*I`)`FU_Z+8LKGa$xIA$wfZjOD&4HXn<#t%JZ ziULNbV&AhrRb()>SR?K7``ad<3Rpk6BXzqBR24AyxYOWyZjx6MFe<8SvQZ-@)=2mh z0tz;P7%!%Adtgn|O?}ViqkXA-U*%P=HwF3zHJa9G(5q0pRxeGb!p1BTxv)4lIkwK@ z%hCcRMVYsAqL8Nwsx8+yUyyUzd&{5)wd-@wYXnUI{}xBzxHOsUQLKBg#G{r-)a2gP zQx)_vlq%%%x;^ms7T>A4G{x}wX8SuMgzHvUFMQ&yu`4n=h}Cy)q7X=am@yo7FGV~B zKDgIijNY8Q5+A?A-pGKKCt?~@n);@rGNg!Qg38?{FplHfN^Z_==|#d7fi? 9N2Z0IIFNz!x@Q>soaW-DYwN;p1 =p5UCZ|Sqws2p~FNRXxaee^p{Je0>KtW&G2)ytu>XwB5f zCo6s>B6a~|fPB}G4$Cct 3V$4MV+L$fj$(}K3LY^K$& zIP+J9XQR}@R&~FFnOxH%!Q>cpNXb2ZgtwNw(-*GF=ne*->{rZW_KEbgY>)21S8c-# z3t2?-D+YMlHjtnl>#4-csL?t`zh#^LRWm#FrrCUBZrmg$1T`1q`rHJr%*#`f%tZow zj?!d>wznF%bU#|S{U*}9bU5sH_C%WE&dDKpOS4bF(h>@2s6A#@MC7W?jUYLhcBrR2 zeVoUiG3bj7&;~@#`8T(@Jv~pQLuo00(pQ2v0K91%x!$P(n*$#Ixu_E2pm_F5Y%F0u zhR4*AVnd;#Y57yVa!m)ySa4Uh?;a+s @cEM|_vk-RByKm9*S00RU1J35wYNM8?9n{N8Z265XhvixL@{V%Cx$qt%|gPX zC5jG+l^)4Q?|1YFT#Y&q+%zX{TBzTGiF_>?c5bm+o27pWsc<>kD;pxc0pJA}`ow4p z;me9zEQPcOV=<@S0Mpq(Gthcr2OuQ1@|F SCI31BFrRyq3s* z1F5deYnB~$RSu4y6A>0z4;;`755Di+gG#TiG&0fKn^sE+KR_GeUPO61SCgHA%}sF} z8->qLDzZCo ^ zY~$8Og-Gzqg+FmhMt!5?2acZ*|M5tMZ|z*YPf2(`ubc}3_<@s8$iYNc<_(V}d`oGG zRTR#nZE2=wm{Pe_kiDsY5fjxbw;mP5&r<2JZql4NK0H=$yFHO~oSJl>*lGmiJ~2Gc zk@_J 7b47D-Gw!{Ik? tiEybikCk zx!!WWmi$Kft0CBiPQ$l$nw@JIf@%}?Ki!8QMzh9f!9wSU{owC#0%|@kNB7w6C!vOw zmd$Q2qu v{YB#^f~vZbnb|30%WZot&nF=|wji*6qksusLGb`5eyf6OCT8ce z71-H3gZlb`WXVh#>cvq8k;BG3yiHbq9znQ4r2mwU_3A)R@NFT)v)DxNY0xr>QPF;l zoV=L2o+~&b5ms?AjWPw@cQFZgmVWSk(8$UFkD{E)HAx;_NL-`i^uMWQMVuOb^|~-l zVw8_(NZOt!2C74W3c&N-iVi%*h4k&{^3}%~adRS0^SQW#c+;?A8k+`^A_EbPw@P0a z7d=(1f3B@W-aGMdBu4EY@4nY<@CYm}q?y@HoGI!x$wF*8EDT{PpE?u04GMLXO(LME z1q0Dv!6Rft&S^!DirmW$L8+#I9S$!whned-A&t(@I|Q$~zGz8KdXgN@+2nDC!14uX zcbfLcZB~cZX )nZC>UdA_-SH? z|DnI!xPFF}F@Ylfc6O|3I7Nw+y11yG7ut`YM$5)7v}{8QE%;9Mxax?-Qx=@l8>YP7 zxxocbQjRep=u~2@T$yApX01n5$&?5I62sn0+utpc25^C%`HR>^AtPf<7sZ#rS&85C zW^0vhX12evSvQ_iKcLN5Gb6qC%NJ#q@#5{69kXZFJ9@2!X!m3%8Mi?BsA9m@w1^|B zBYSU9_OMmB5<5yU$=Y;1Q5y_Sye9y$){Rw+caSWviRPdj^BUP_WBL+E0Lq@hM>Bjd zTPOunfF{=)0A8!{Sa}^R);;<`*H!zTnAffE$4M1!l-$ZnMo392IV7@5*(L%8f6EoS zkbxulT}!>x&~EVRht^AHe1;5RtvZIlo0m1nT|Qz2ExmZZOs=shO;T3MXDS85EdpoK zjh6cDaj&mm+o1BTSLd<@#pdO6$%vU8c6?%p=nl-FcrLfjEP>-8s_yZ8sOYv?(h$fs zcx#RDbxOr$Qq1RBqKak BtWzIDxF zU5Z}bfz6dyw5jMb2EH0ABbt#Sh(JhwgIT6
s~>a!P0PN)e_&oInpOc;apL^L0u?eBOFB13}gRT5M%P*V>#LXN)q{ znVMirjfZ?FB=ZxTQnPurW^cCbjP$v{yZLpozHa!Qg5KM5g7H{LHnt;+NNn2pIW9&* z!FR*LH@BEPACDoFsrdnpxw9tJ|KqYNI*mWw!#=yh@wcy8oeH>m$Fjy@eT*=!;4-?* zb6xE@mprcXI18AmN5oJ0@L`645uV ?EM_zc+6KO`#oq?{L;I(t zWAEWBG3q41jD?OOc|xNJC*G4WH-YkMefFH|lbe5}P85dQn3`&4cF!MVBZrqSig;YW z7OB3U*c*polh9o?-);hGu7=m!NrmM3g>Hll&X1g~17dqo_&mQ+wGga|^OXck(wvBF zfu4O3Q_mT|u#XsFnAU;$QXB44@_^t%-g>A?(^ZqE*YiHVSZ-DKJ|e@clF*TB`VThT z&ic``Vsi5bK`BZ+tzTR~0_I;vV_hp-mV7pmE-Kdn|Ka_>nvuvPYPoIhIxVJe>KuA= zLO3DEZht(aq6{ic|8%G5B-R$lgocKM!XFVT=mL{#f8P(X*-kw>hHP3188*_K{ Fq07Y^5wY`L}#Gg^wY-(z)@9dd;@)K+>vOEpII8?CevNhFlrHGMGm`d&0I#DI`>B z-D+DZBoETyn+iE1-~wbd#*B9PZGFu*HL&Zh3mColx-k=_!k2W7PnizaWeUPx>dQc& z9~t!r5f8_pQ`N7%t5mNXfhMNj6KCsH9HZ4@4nR!~`mO2ud5 uf8gTvHW+zx+yK)|9Hx-A4q(7##sM zOX??JLkA6mhtJgq8f+?u?c*J@(jDu}R#vYp#J3&1eRtfaNu>G4w6`9i8f~k?E+y*8 z!QRAge&$^#_~xXpdp|qFK5Mpl76yv@r8J=X)`5W|60(9H%F4-GeBYq^08O15pzz`Q zmn^$96+QYT?p3l^wZ^QSO?;#ITq6+f&JK&aNvdSGC99`$KaXJDH8EB*k{)Mi+c}|I z4WV9_{dS-cX*Tpapy|fJ7R3mM$* InINf3k|f>LmSqb+*2CX z+NU?-HB0c1bkCZHn?XmcILeD3ysGeZ0MLvSxuUiajAz(~mW}C1w{Da0 (_ONF$|`ja2a6=evE~wAH8poz0wXgsm5;5S|&=egk=Oa-L({G+3{QG z<>gZzT3REfrTOwJl22R0hiOJgF%C`d?~S1S#rD)th+EMn@n;a98)t(A#W?S=sTacm z7S>r-f$rt<8gCJJ`O72h@34_`g6Y|$(>K%CMjEN)#(`{jQd@>yh;aEsrgQ3v+h|Tq zq+fI3t`?=bB+taQWrau!u;bXwD-d1-O16Z80f`V0Pw;#qU9Sa{m?PXfe ewkYi`KhQII>i>jRg1||;Cw{IG^ozth1>OJ$SSj3w=$HC&2{JtBd%EbU11pF zd9eTLSjVDy(4~C!E$~7SfiKd*8vm)O)vMx3cNKj~8A+dd-Rn=|B3mfq+0*8HYW6d> z z34)gThWSR{sacMNhVx%h>i+;rajY5@&;?T_WsShuf6GFq|G4Udk@2 zdVvd^NOEt6Y)CUApiH>?aN!3Mmnihr2enj)a(Wr<^A}x6+5yMvmsVD9V}fbw0iR>e z?<->hn->HvsOvkSqsvcMeW_+g)={zyh {VwQ?&8e4 zS5NrO-wT_z_~QBPFpyx<@oOJ+t)dz${X}VKn`y#-cy L(-&!)JyhT~iX*kZ zHeOR6bBV5`K@xe=&0u*S-4V@Hd>j$`q#L!8;jbTe2^$K!!%0Zn)R7j<;id^L+4!`` z)<+E csv9tNeWey;zj>oq7y=L3JzI6Z5W?Vc~EQ<`@n%HYLwWi^h<7 z)X(Wf&X(-!lXceR{2Ti&`C-tl1ohD =p#U(@HRox zZV=~AO5tiv^`6oITuK=57a3KMrcv?h;ba&N{MK**HA}|&_-3Y<=x~bJ)G4|Bo##zv z4RZzWLY;tlfO2nx!?f5pD+yvV)YHoh^x5>XkXUwnC$lf+L{L!bi6*rCAyEC=47!-t zxPdl55y #Iyg&+pGl&};uCEx7emA)cF9l8D3 zym;=bm?&=|-D&?p@DL^DNxr;JJ)X{%>@L+4rgPk6F~?zD3^vuZQL%cFv4Q_8N(| *F7r^O!{ref;1J(v`!q(=swNLmAy zYWNF1q5U`I>ZB&>em=(5b#h>m*L59!lYPDv_otAhRqG2L=$<1%rfGnG%z)6V!oI-V z2!4JS7)Scr65=x!-Y7oVo9V|B34+Mlg|8c?D4z(vxWFI5pYVywaNMFQ3^^v?u#*3z z7vAL_BP$?3RN1Qd!-CIg>cuom#Ljx{me2j_;d*Y|XwI=n?c&85ilW@;yN{#~tW+=a zUj!$Cy{^UQ9FN{-VF4G-dea&DXjEB2Gx{y0h?-J4Zj;#2a*a|F@AKx%r+5Bq&Q1zP z4w9`3iDeScV)Xtj6}_mqR*y!#ICXHtY)2?IdJ@2E?&RN-#7vJYyQ?fA?ZCxq?HXr> zN}fmwG|2O!LS$BDPYRiC+gTeh;EI&`T2l$`{s75zd!IU%f0Zi4&wn-IJ>= ?OOv!C|o>d_26fw#R;_pu@6QW0s)ug0qr+a zb#oVCa-ubJS@0<6_83#fUgR9}e|SPG->k+WUhbbF vMI0t_lREIdhvr zKOQvS&x4JlFDrB<3j2f2U)$QFoU* tu0G-RUU{Na zJ@VR~DfvThl~;tMz;3h4&*CxY%%-v}G;HHl#W#ZHrq4_8HZ1eP)gK@3VzYZ@fupnD ziCKb9 *)o?QBAaEJ 3*+-oL(Hv)=?t{qs| z>JRRi8R|)QXXtx5>^MehzA@vkAr+&xC3;HOwH}Y0I)$ zwT1(4n+0>bTJ{$K%yaP`-ZP43+~a-|g-4uF+`j*GCw32Qa|annOPfl3-eT^K^S$)C z8UCc4w9C7Rn4GZWi3oI5M4vxN>03q?Y}=^hZOdyvDiu@%(fT@UbSykM9NJGjGd!#e z pM(*39`P$`yKXctHlwez)<~kfg`vf2d&ST^)Vf_)W zv;HfmKw7`pxJ9#LaNm7TDqG;ATOZtOihb=C9V^Md^B2kyB?^RKi)g4%AL_ql+9s9* zHv4?41)) !t z1cZLzV^f#q#jgQ=VKHXCeP^dl2(T6tXAeaDhZlaInr*bcu&Wry#hY;}1YdzZYIXDV zWFd0G?~@Ljj$6; le)ZRa3u*&Ie+`b}#%5ug_6MptXkQsk}y`&8V!J4vP~vnFdp zUpBe~W(i^gI#|fOTia+OZU<+WxA*Fv*P$PE?!X(glBr?pb%YDqB)q&lix;Xb$==u- zo=cK%G)@nP;pI0VVZ$^@rnfzR@(1ra{?`6U{h_H~nz9O+sx>SmD8*w|m-}_#`0F%- z)m{6ns4wPEV?cu$cvs5XINaCSoV=$e$&WolDS!#AAe7A$e=_@EDe*FpPjeE{Y&Xph zkBodNkRCKk?`j!4*NTlm`%U)#hZnRztEyVoeq!DT$BwmXA49zo-0N1Q8iv$fUTRti zpDou-WNK4OF?tpj&JpmT^s^?P@(e%ZH*&+Yir8y{t!FF4`xz#})7#7M9GZcFMl>s> zUs=L%M1}_Kau;~e&6blMSn_PnfS8;jDxEIy-*T$yo;DWx(U+)!%k|2G^I^Q J@p6^=7V!RDL7eYb55 zpW$<~`WX`9bHzlwZA`V1xtXD5mjSPs3ZdsIXI%?8v!-yne4s}vp_xWP$|>B1HYaB< zE1x8pihxv%_|96ITQQh2xrPE%vjZg+!MBu(|L}fd^h1iR8-18@{BLNf2a8Oz+mw1M z5rA>MQRUt|G?GsB7Gw%m)WZ&+mwL7RIfu$jHUFcF?Mr1|aMrhZIf+uL;z+W~)G_U| z$}KD#LQR=H$vdp>eMLHco1gI@qa3&Y>qZbA5tsLI(aQQ8zKiovBw(0uu1)sw;6!aB zPu=92!|wxw@}07MTbC`|g D}8y!o9`nMVY%=l5>LQ zk*aA|(?Fsi7UQ}ZtsANnyriqET?Z>13XCGwIdvf&xix(ggR4LHVv8~7Hn;8hKCxdU zq12OI@1ZQm9>QftIvl#sh(~f>#u$i)F>9;MeAGXKCCR(}0I5Xr?E%B?*B+sG7Ng=< zoeR;` D0%{_D$D&{C!@+?X__4&vGa>unV}sh{QdgmheBm4f%qr!tY6X02K3d9xL&zW z$=e4iwWHqC`!p4|9Oc(mox%DkUMwMO$~-pv-mFZhDwZE=r(dXEF8fp!F%Vufe(LHQ z`;-jR2-u#8SQTAcaG{;6-t(D$Jd;mwnqWr>bx>UYWn`dKneF5O!>H=DyGfF_xyhCM z#Y;vIUr)FLinfbWR*H~Ow@DHQJaWf~5YEq)f5>Hhb@SZczd_KstX15{TmC}srd*Wi zVuv+bOX7rpxW9$*!4M%Bo`S-`Py!a(R#k;u0(iA$W_X^T*u<5QDSnS4&=Vx~Pl%ZN zA;ozuV^2fW^g5j2P_L`BJCh>M%~CF-;ZcovIpXh%<-AZyWO@WjW@C8(Xj9QT9fBx8 z>w}kC+8({-5-B52JBAkRIB#8JW`t =N%@e3{7Vnh{ax(H5FgT1lnvU@pZI{h zpeLOzg0ytnoa{BTrJW2Yx}0;ro{wLBbMWfh8u+CP*&%1w6lmAhR F zlHKH!oxKbShluEn=j_{$KP7ya-SsqWH4?i5aiuPq=Jswv_4P~8#)Mqls(7Yqj7jaD zukK-UdIy@<>9x9)oc1}sBbUfQqUnk+JT|eL)jVfJ7s9jyb5K}o%mR4`X9W- T&Fo);7PqZmeMn*l;s}%5m;BXP}9mFx~x8&AC4dBFNRA=?@jS+mgr2FvY;*<=2W{ z*B2E-6DTW)s2q`(MvoZmi_7QJvP20f!I!Djen}~F`?0nlxZJBkPTpMztN->3FZabS zE5h`o=2Sz^7JgI$I t^kmW}m;1@!9AYSZQO1Y4!jdePw+D@VXGrAfhk64IYp?qV)VQF|h zay|F`y=#l#%nzwyl;s@H9Dp`zqGywq|A1dvW$j+!6$nBQW7!IJzicQb9~hFjtm>eo zF-dvv{!e-F|Ahzt=j>nk=fzZeQIB(&waZZX1oZrp7Y(ZKX=58m$dfuY0pe^4LSh{i zcsT*Dzwng@eINGum*=n{o$t#{^iN4 kZhlH03 zk*lDEoiViI?IQNwq)d`Jo({Ws3QST{;|csWb(j2U;u1wD4UvROhob1Rp8JaIi>>p^ zLM!CW0DQVc2UygFLE9b!z14($(6~ny_um_#j56U~Abso~*RU=S5!WwW-2U^L>+Qw4 zl@(g#EfqCnu4s56Wu@ulYZ-6wMm4|Rp%)mod+*1BP7UbT-+-*1AAFO?hob_wN1P8& z(iW>yhm>(uG$^e)Gt)K=T7mDsHB_yO-ujTw;kX1C+gRiA#96%!PA@pe&TKo*GJ07*r48en;Bo{YtC=hXX*Y0E7 3$DIa;|yJT zUW>0a-a`ou^S9_jD@F5p9Z HU<=}A@^eZL2e zKs8)Sm;WQYd+)_IY9rDTluev!B^f0l7mz({yP!*>um3hP;?^vXPfv)Tx*=XaxuC!| z-n%qKZ~20^q0+g3&a>%md$XvHUBjXV aT2{)`uF z`2&o)Q}lqACcfuax1I}72=~-MfzJu={*l3(vIa=~4RKnjpSpDPs*cFcXude~>(`M4 zyF`zq$ 1IX8>nHZ8ovhCr@W^#<+F#GOp*B*U*3>?$5rewHsto|?&VC~o>PjlI z-OL2!J`d$ R>v1L?*s( z_*34E!jjm{1SaHStjOQcxkyH|R-l^M35%!ZzE0u&Kv7lx9GoT9<)#T9PKcX_Rk6dr ziF%u0c7~RjLR;z!B#0*SQ~K2iWwSzkNeef=-lv<$+lHbpJjH+Gj;F|UH`nIw*3mJU zumft8u8ZYI_$Hf7*gPPf+?SeMQk}?%T%|i9nJThihFv? C&@mcoEy73~Wxvgx|WuSdiAT)l>`*A#W+j3$ie*3=2 z^Ej+u?R5|Xo&vK$`rh}_(Bfy2SYNJ4QUlT@QD&Jr)H_>}8a_PdTl6@BLnc(3O*1Sd z9*Fe$5kb`FC!Mk2F)n29{S2cgQc=s~HD~?J!$=@`_{Sj#o+L<68_FkO7R4a^Sy7#H zFI6SmUchni=cKtBsY3*|#w>aV;@rfw;!IcB6`x}4i+4Y3l{$bi55rcM&%T v((?SM-67I9A&ECpiXx>7K_|O3vMCfQ6j$?~IZmCGS4fi_%%2?0 zb1EQP9qJ^#^fn+ >7>5IOz50u$LCaGYF7fg}*3VflYNE=U1pM08 z=CY+-nmYc&JCaV{N8gOqj}^Qa0^FO>R=-bpB5ymumY=L* zCzwP_*28#t#Nq0nh;kg5=P1*u4k(k%kmZ31Hs2De8!BL#> FG8cK-+ z`bNw?HyiR#4Xtx;B`x4xoc+7msw9VMd$#HCLWjimQ6SR1ZkS>R;aW1AGC2|2(JQMx zWYgW_s(hbDiT%;k5SS9fg*02)Bq+6&NO(Ie%m&lYMn}~pBX+9_t&tP ztzX$zii+k+#B|#kZ@& q z_!mTU&gJ_TFGX@D1sy(66uu3Gp_5_Mx+LW8mfL1aY_7q~q_v& ~AcsE !$ zw&ZgH<>XC@jJ#3l+4aM^_a}G+@2bH2Q`Bb2)RN})_{yxwr*|HuK-O~2JaS72E`Y%Z zMNP+kX$jM{zqZ@l0uo1W-aw nAYvT2ES0M~s z%FSxgvg35i_S{e6z0qJuBLG?a1wK9JN|1Z3%g<1#>S;(n0ooAzYMz*4alo6-aClfS z%Mjim?H0b`BQ;TGL^BWVE{U}SnLZ^VT%&ZbF>9n6s~^RF!~R&>OTQ~R`q)I9YR4BN zlCJjxx-#yHT;(IV=}@v2Zl{Lx&({iNT7JK~e}AkFI-lWs8sNlyS~T%Q&?fJx?NcQU zKE8MvrJ`ggdg;(c|GEA_nxRj<&1}}PS8r~w)e;$PDqTRHs)DQ}( `6?DJq@mxW3CywV eaY4COP;pIH6pvhD*wYn*r3qrsKzH#qjUG4 z_qus!meQ9bPaWiUmqb1R&ksi|@3@o=rfG6#YoWaTHK7{FRa7w+bPR5OWjNcSYCG99 z0cfNP0hAKzFg!|@Xs;k*zHcU%UitpUYshuj4c{-yPCwl(r&-Keb5Z{2cWsv=pPGAo zO1-ENhE0CW1Lh0hD}xoUTxot4J?j)}l=M$-yFN>A#-N~rYLNwxeFt^tU|bB;&OjZ? zoIndDA&32+TLnyV)vFg7btI~xU$rA#ft%=*JCUsu5R{+SVobV26OkJXPUcJ|#l96E z;;6S7d$+T$Td3f|onloR^&^$K=wZ^=Eg>03BT}VEForTXerB8i;q5_}xcOJ5@cMZe zO hjC@6M)0Yr|zY6Yt56<3ysa*)&~MM5f5Zt z`tu+tR>Lw!bIeG<=z-)AL3WF5bfTbikHgw(_Q^Nfn=a2}ma^?V6AD8P@dG3(epE4U zP8aU`x=|{;6s~}e^(6S0cQ^H?BI0na@`Zfb3azuZNQ(u%oyU@zzL~O-E|-}EB?8x* z EUd>B zSZMq6G*A3|QJ3CZsGKOMP?xBAxAKAcO!bPkBYLR?^uhgA8zALDn?@45@p69esa-d* zUVIYO&aNQSVAd)sUbd`pmgultg Xtq=3gAW!jlh`gy3M*EJ-4or)|nV^*R4I6S&c8PZ_yJ>+HL^S6IyU6Jj7R z0910sJD2O=W43Rwsc@WH;2x?;AF)gYtxgo$Q;M#1?>L&MpC)kva_i9*XsUBr=J)(f zF;3$*7In7tiE$Rk;j#8!Ltll4H5&;NEK{yCzy>V#65a#9)c9DL7d=x=eLagu hzT)8Od%Mg Ha58;?l TGLfNb&|6;c%>1Dmv zD`wg*QjZ2Fn6=(=;;f9nzSu>V(Com2R|D mDl(bVf3&6rT)_$ zl=9<~mVU22z0@V1<-G3lhMD1Co!Qv#nuipGGvUr7c5PQuHZsBC-*;QTn4p-L-exnX zm>1BJxV!xw*|D+qV_!1gcgoou8%|brV^mG>)D7bxRapByb+jXQxtRI1UZ(UVhJm$5 z>1R?w3T`O^ myrpz#mVz`pK`Y_g>NoWZ2c*)i(#7*DaRQ#gB9KmQju1E9~y9sDa(*= zhO v|L}6_?1J}tPJy1?+~D5@1@+mi!AI+8B92;Z zzky4kcH_fz(`0ufq%z)ao%XL0vHNcA!*0V3zzpI?dlLwVb%{$>cfRf_KnOQg-%Usl zLcKK3-whN2L;&W7W*VW$0ub1*RLzxu@3q9S5$1Z$(Taonr^*h<>~GcW_ZWV?NO $s}Ag*coi`b|A|1nN?dhs{0THLRZ>3XOSbOI1=G zbJP+ZY#@H1vfz`# exz^t6+dKPgGyHj-szO z=ag}@$~_f#GVy+KAn|vYO48ZHjR?azZboa}+M7X0 l6r#hDi zvf8#Rdv27aJRcDdBaS{|A9J)qP=);-`hp?rez4?{Jymz&Ii#MD<4_dv?^Cjk*x~uq zL-)G92c+sY5yU$%b6s$7rlM4!YLGcn(p+M?r0GjQ{jV6IfBPCO-0QZfL6+#P^hZ;p zpbDwbrj>_?6y)1`V&z;G=EP{hE;77z_g?7Uv(?R`k7LjI-AhmWaq4m6r@?Xz{Dno4 zhOl}@D!~^j!LnQvy;4@#+c&cU%(gGZ+*1}e+TGkPg!DHv(>;(<@8iTznxo)CtOR9S z&(X|gcLue74V7taOo(l!%GtYit{nK6SmoH#_>3HqzI?Hsf4M|} n98C)c>Nn27%}@CzfCF7Q*02S zN?pKvlgEU1&I$$AzNazfnxEe*9Jtub%Qq Ei8#h5 z6NHHTF}-*j?f0r8eYE%SR0aEFCcR>9K on|SHh! _&qAc1n$sWZCkytM{%B zCJBmA%ls*Vycr4Qs_VOlIR7%LY+6-f@y(CjTFzCTMpIlKhvqN1`C0F?%Up*eR=}Zo zFpBjaR`?qOTe(-$&ji$u1CU*@n{y$~AnpdfFc^uFl3U&=7;79T_(XzVO)+DQhK!mC zS(*~(6EWT@Te}GLZf?``N$_jZG{-oX>^JYwFu8n%opvW7L$8v*k#8AI%hQ#G|2#dd zGo2REO5$-ET^N4uG+{J%->;nzG@NgoHx$_KRpuAJ6KBEf1k0x+m&)VYcp@Gz&D177 z^m3v!MUZ|VV^+*gRKss=J5Rod-Z#exNBOy-*As=u2Jz<8!QI1qU{J-(li_+HQo(6! z`URg~#kj1n?%qu2h2?%%fWXHBK0a6Sw~BGDDucUDKe$^~(3PQBkNFXVV%vg? Jjl@EQW(7BW|R-IPqHo{|b?6%I0V*MVaivk_60f>#QcdlcJ&dMX4l1!c+Ae*2e?9 zgsz{nZqKiqz4pK(GQFZCpaCPtcSn~4DC`C#J8flBkEzH6JiuAX_Ife}iz{WNE=a5{ zf!Z#S(2dIdFY4YisLAi$`$Yt4f^?MLA|(_>Dbl2 ^}$y)1L_xfI+PuRNm!;8$x zFFtDv %Y9ODkPDV(6(B%z!t5iA}T%Z)&nyvzpH13E%@OH{A7>#`>L-=6|M%t zIhBG2n@d;~S%lnXf~7LDQ=PKzBCL&~h=j&wR&mj7PK;-vb)%zm^_A*!?+9sQ$lS&- zqdLgg!jL2)q#(F@J!ZqJ;_0jV>nA+ym_`SLJyxi#D4N^mXw+8%y(*B0*+DJ{z6_xP zhV>Cp=OhWbUpubqC3;5H@nB bxFip@a6Gx)UmyC0U+aUco zeOeOk0z#iXx4`Bu*|XZKAhEroXM`+hh+VQ80=M&GQv@l8$8! hsF8m^Y z+Qs20cQhL>A?9pv7t-aWWGg}_bdWcfBb{T=;pmWff@Aw`s;@ZX4pPIS!Un6b4k#I) zThrR>Um`!arm((-HMeW`WZZg*7)KK(K*5Ils?u?&o aIZ9?4AP} z5O=NT!XvpUY;e*$vM@OVUWSW%7tZoAH>LYbvS?uU?aK_?G+rNx`ldcV>&m>}$@u_s z1uChrdEFVlx0wSUIi2q?_ DF X(ejD$B&QL`7!j!M$nn6sRgRT zQFE-yp|(<$y#q1Sfp-(^pO5eI^@%?cvv`pp@jL4Jz9%qclZwf1SR}XN(#lNlTs)Nj zf|wFLx4S&_L@^j!kz(l}tm$_}`qK_G)CXF05X<`71_CRPWO%F2UEDb|oP0XQrqO+P zUs?E7^N(8biy;Kgx4LwFqP7cGou(+Jt(YRI2lAu ~Bwiqwt(qP}hV*Yn;Hpcq=q*tQ;O*9F`-*?N5t4Wu=qwI=;0=7jZ`0i&m zEg9(EzOkM` 3j1xVKr|@U@p7q2BWLy?F<{Xn}BYLe@)1z3XpWkbA%OqObbL zLQb6Yd0r^L@~Y}WVxj3{)0wXm0$?ZX6BERWO-b}G9)W4A{$!jAsB(rJuI#&=>(fzo zxj9b*8u7hV&053Z_n>_PX5q}rhs#gU83L NF&C!Q=k7HHn|`_50?cD$k(0H^gc8 zr580PkU2OzGB7!!;NWf}Td%tvc_8)BWttdActE9cV}9d3ojLWe2OcN3Yktr63ze_O zu+mgH{%axvcl>w9mE!6!GF0<=2eYDDPns>9TTtRZ$9Hej0QC}*RDOEV&cP2_G7(7( z9NY%&(-y;|6X^!IzOTon5?tUoEc>ggj0?q!F*c9<0-P{ilcEQcnYT?7 =xy+cnex#zFp8+7QFtqk?InLWd(=x}Hmy@32XKTJju;6$L8 zA@CbCQqj3 y!BV{yLUUNc=ML!N?sG9QI1N&Z(-Pa0WcnH*N)KS2 zGfG>Iqm4fyAh=u2u%a|IHn!pfW<-$dC)AK^-zzawlbO=IrJGva{`^y5V~^GhXzZGV zQCpQ<_P*@daNMy!_Kuu|iBCBxf`CSvCwz$5G`ZWRBLfD*Rhd_ful5?X`R{$^WMY^l z*zdhH@3{)}(41Ngr~jRG4o*yBAYo_}kO|hhLOg(<7=aynH`Ec+axs>o;PW&i-^# Hp@Nn!fkHg8)v83 zd(+i_i?1)K{vjBODNE-Fe`a{8Pdv7nw0f2rRMoP$p&h-crM0Q*tHn3QNC5drHxnmO z2I^UXUT-JyQ%%l^P$A=XHm3hvd3d{KB`+S_81!!^{aBMi7xj5+g&;feNi|cjH<{d3 z^wq98eVLo_9xUK=jjTc|F1!~HaulI%KlHtT9#$67qYaDLOiU9&iTd8WH})lg3DD|MvfOm9YwzP`vz!IKg|)P)ZizX* zZ^pJgq`F`~GlI>XJS3Hjx30Jy^3G##Lvb~T+eCTsZSzn9Uf(vECt;q@WiSk{!k@?; z_nEP(7nJ}6c}swn<2t(X2a5~m`-WROOfqej$%|G$J_Yvgq4^Ka{(9LBd#=yQDg|~I z$7Ow|S|k9r4Q8%mZfXpjKL|COE(sj-*HKx|s(By
cxRd@=2)P??g7u zL3&z5VyHzy7H8%uOI7t;)}nOOSST;1uyFmH`Q3f%Q)|DWg2Bf!A}OlSsgC(>{#f{i zinS#9{sI00ie6ntE#0V?`c~!B1u%WsV$48@1q(sy?Z#D;1ex|d4DY8J7O&!8ETfdA zb4;7x;xpCboqTt)yl D`EVD6T}%r`4GKO8utdtsAncpUhrhC7R1P56VB zjK+mZx1u3`SV4rgz_d~IjGJi$-&=zH6Qg*6mBY$`|74Q?Z}#qg8-bHx;Z08-Gx QBY;?Os zZ9tGp6;79M*nHB^WR+HQs~R9^U5X6%A=5Jv=DkproT2i#&1}sCYUo{{72Gw(TZ@o% zK!xoIyvl5bUcH%|_2_gP6fc|)Y&0&YyZ2{2_O(y+1)$-;glAZWqsnn0U$ a);>(`>PAUq%*bj$9 zw?;r~R~|I=Z@!pxDGmvZ^(ZcCXFFqI>vf!dV4^JZ8SVexCZb>?Ud^(h?|{XCRuI+` zwe>YUuAwe`P~?`v^GLx#?hXCr9oH L^H|rv*C5+lz&B}71{#2uarm~P9e&R zv;wMv)i|EVeL&TLqfOPtRqNaAmrOG?c>wNRAaG+Q@qYz8qz>^`UvNl`lH|Ws)rwa7 zJRhPB@y@B(5j_2WAQ2EF8|1NaT&bT^qaaZ_mWb#7DG2;06AAJ;mLt;*Dfr*$)`Ur> z{|WXd|1bA-5htGU|9_K|?tl#NXYK!SMNEJ#0~s_5;avdBory>hT@W}05Xt`cu49ED z1$i#Zq=QoA|C|y2U%p>FZr*? Pv*@q7&yEkwk-cpY)~tDT=8K-(`@e_g3*+J z`Q6O{eZwa_`F;Pg{xa8WX(u^{e9i6>ycT&pHksR%h#aHsGd}r -wBg5sQx(1;r z4po?VtGvPJmbds`*YX0LcwUz6RO#tOem~@X%_En`<@>oo }`@4x7DDoV4b)&G}qy}w(vg$s8)Q2 z`@AKH?a>?E) sHh`jn#ABf~MLH zm&kAX2mCtchNjb3<7g 67%6{V~|HKo`j|SRcHxifO`#3#bDgtJT^f=cH>-W9YHNZo7t(FG{R%{h9hJfGMxA z%?&9rOQe=3NNBv62EAmBW|jTJe+%3`@qTK#^sK~`0l(e7VThhO_?aU2cJz;EUxKyu zqys>^{qf!)NN@Ywau<+XhY}HbXMablw>GRZF9=xmK=gtS`Z>sY363($Ybkux@?<+< z4jwiULG@%|;C+^W>hj&UK#v>gNt?j7Mmr}~w_|Zb6uTHph=q}&NPLYY<>{(Q560X@ zQhl{uyIIT2>?6)O+(H-J^j;N2*LY6!k))4&(lVwg^>wKFD@6Nf;w@Efgin$%#N`7j zP~5pTJ^e@o4UDi24pU1IF5w7)uhnC_T=HWz1(is_zRt2eCwaF55M|~;HxNDYg!6kq z3CO3!Ty?md!7~F6IRq=RqFB9H45gzIYz@!L&>d|*t$8YuCt`D<0Kllk#>|ayvx_-X z+1d&>=7m@LJiyGpiIz1UFt$8F8<)7JjdufFek?f@jaKFe*RP!|a=VsU68moGi3FBG z;#ZL1GRsW)KmYqkCiws1MQOG)5+6;|eY6|t?fWlxeHF*3!Da7dD1;mDLYcmKH94|> zL-wKK w304 z$Zk@SX~FDth>ycG5gV&XP!`*ic)GIg{jasC@pt)7huC zGc`L4$L>GeGzCN9;SS9meHjCG1L_vxfW(6c0vI;3tBOA>)zp_jjeMoS5CPbG9}WB< z``*USCEO Wi?MQ13X`8T;w3=y;>~`sIoJ>E zCyzG$jEL&q^}JP!hNoBw3(6Ln*VlG32Q*bg>ewDR#at&>f^=EFA($EuE0g}Fcfv?Q z*5!fMs*s}q>0iE46#TxrzXT~ ;-_IOseURwm;$`spkMy=D17cLgN)0z`0fu%`rC5x<&$BZTGj5V>2fA~ z7XqSEU6O@ipQ<`fmTV88w!x^>(_K=FND`|?kQ%wjB{PYGl1`c~tX$Z8w3PX@p7c{G z+c2hH)p|7X`rCG!+x0-5dy*z(=b&Qrs$@G}i$5K|`$RE97Oyl#B|g}rwDngceGl?f zJ~@K9A?XqQ!Ww2?{!;aE@rzdd4o2U}jm<`}Mz}!3@vltW-;eksI}dU5UDTfiWn4{a zB+!#$udJTlr%f!bN7G(14RbmhlF6d0A`nUt#Id;uA|0-#_i7I!b3=F8Qex#^n27wJ zT!H_qa`^vvzWMi8`b~BNguybz^yV8- =YUh~TRG!r-U6 zxF!FuxiEX(FNK^K^#;xQa9i=A>bc}7CwS#b)F<9Uqb~QEeVyYC{Ys5LP>=o7FuQU0 zh>Jg?H^SE2u3xXc`OxpZ$MGYRwc214u<+`TZ)pu%llAqyVC1>Q_jMqwx27d{D57wm zYSBNeDE~*}?S1aIApNYoQG9aFgbVQMQ>ztLzqKRd~BFW}O7Xn!c{H|?yfn7r$A?Uh(WO-oT~ z8k}fm4DuDC)> V6{XD3fGEks|^mbBk$wF3)tzPR-*jR$jo8d{Tu6F)!U5NdxU= zL|f6is){ni)C72{AD-iZFQcEar}&iqd}5ZmYT{wvKtriyFC-JBDW-nNEu2(e$foRI z%$mMQ5WiM)LB9FpT5IFH5^c+TLxr 9%>@1kj%ep-9a zojnYX9Vt^7ZjHYk+qHO=k-P-$dKzZCW<-i6Tbmp 7I^t$|h@d;RY4j5JLgFEUJ9GvEfACSvACI-7=uG}7K5TojWxTMw_N4tMsy z>))&19Uk(KoKPuXAJ|M{;5}GX;r%q@U0FWeby{R?QfBP#6OC0*aRBRDgVX2runqxg zEVOs-+VQhRdheq%wQ4ySy!^YQ;$sWT+=4{CLfx5wNlVWjH+}hs;5wxB&mU8rs#vjg z+=J2<*8sg%@+JG!ayC&(XtOO7nWo@+!KEIP4(-YvytQS3mTJTwm(WgQ$;cqjxhorq z-MsR=gatkv?`*%amulOjDzXus=eDe#t kt$LZJbPG z{m4h1tXy0>w_g3of8O~vJ-cjT5D;ZAo%IYm%vr{-nm!?yjQuNZu7a9B7zv+dgaBrF>h}4)dR>e_s?{UZg)z^=ubS zYK+d;GO9?23M%@B8MYD7&AE}`n-~SLRSDP6aWmtSYop@C{Y jj^7v8jluD)@4ybdmT zS~*A#Q8jk*N?fESyxG0F%0n|}QzycHSK&^#RJ6%BE dBt5A6Ck z+Bh$Y=u$YSg)Ao*NFiD~mF^G_)6Hea;Jq(J3Jr)0krl$}k7n!%4#}LF?-10hzQkOL z6re9WH6$s&W-g{wP(JnHPJPS?Oq%C2dXc?9n4spk;xonYrfBIj3fqr0Gwhnh>>Frk z1vo%u<@mSbT}fHmlgBU*e2jX(h*yb;2D9{7T2({4GqHj*p~;(tfDUyMYP3vdH_-ME z!834C2x3h8MD~0k)Qaw)JpA!MgZyUf9Gnjq5ztV@2pNdrf>qQ@FimT}^d)hl!?mAc zPbj+9b-(;Rzs)lduG?c|NeU*OT6(JaaZXK)j7?;IKyj%Sg LbWp%aU JRt_d>{XjKY%#PNgxxaG|`?GtsR@M^`;XyX#DHh}wU6hiVPuEv8=wA1y zeSm=61wj=Twt)PQtmq)`H`M0xH9YL}E}YIvhKKKOOey`j@A`xsgA4;dHN#@e?VIGE z^v4wsOx6{<2i 5=CByK<>n>g;%FUh&x#-hcwY<;^6VJ*{qD==0)K+PE=d; z*)Lp>hbtZa=OZTtA>t^Mt7WpxPb(Q+Xe3xI)ZRQR60?CMq n}C=77t1<@-}+i%nb-Y*dpi-@4Z|Z97E7gq=&3m^cp< zh(G4-b%2OM4s`hXsNY iMDAHYA0R&=vn zxe4433_R3oaacZJ5|hQgZjJg;%lMjhm|472X)V!=eydA8=HVuA(PL*{$2swa?P`kk zr}#AI@QzOp>oHo@r#14|y=k%0$>G-#gE8Ksce()${7_sZCXQ;oj(G-qBG!=fdLREp z=CfNUxemA$&wtn@m@=~qTU~s9y2(~#_mr4iRXNwC<&Fc{@BBt1u9_p>-3@Fb=-{e? z`bf$r;nLURH8#L*D3(o;BgBe`gpr}0!y}G#5sq1OOjxtvv6=H^dNgrglrhuxR=du{ zYC9lmHo3c7iS#}(+@Vqiz;;E~cf?|_tP+_jq#DJ-J{}6eo0QMq4|jQ;Hj1P%5r;M% zW$7t<6ny%@ssg>)k2ccdumcd`_J8fsKWTH>KN4bmKsCP95U(}`oEW;35p-W*O9XrK z0)`e;w5sbsgB8{#WMBbTURA`4UG`-)sg`hAC+39s$GxMb8%l46T5!97b^REXrbO(g z-;(k+OL{CRk+SYQ<_jVwNEhvf1>vC%KOUpyj`^~Lad2DC+ssC3Y6XI;=KV#h-P-ek zZ1$xO@gF*v6PR~hqu?P?9)~pBZY#a7yb!o3hfxJ+;ZEp@`_hOg|F+_ zjB6-H{PvHihHQFX-V4U}>JjUe!o|{=88Suli!Smf%4JfmU7Ck2K*0Eqxk{giK#8){ zW`V*cZP4FP)b-oht>^&+DV*i*QI(dn245lSgRntc>&Vlk^6?Gmi{qI(^Ljl!_^gDz z7^{|DYfBi28 FZP7 zM8Up%uq~sc*Uw~QUmXu?X}uHnHLt`4c+Q@k3q9$oe3RJjlN*{;AcalVZpk4J%3m`p znXCe )d6n8?c5(tG z{JZFkA{L!RSBTn?;WCA}W#9VO_Uv=hNe$-XceNDKl`fWaG?>uP`Yg9Br; 07#2C|8{Q@++9FT7!P0gv)twU& DH$&`IV@eH=YTed6HEvCOb !Tv)A!dY;sO5V%uV`w$?kK>#WGptEP_(Bu8ICcM`1W64c11@&`o}47I*7e(LxmXf zL>ijN9vrC?mryg8V4=x>_-Ln#HazMBk7nPGHj(4$lW>(3K!=fbtS01xA}$$U1pgHE zUI6)Eet>AEwLVno3DS!?$Z<@kC~@{gY}J>;R#IPgh*X+XsC(j%c@zM({j)2mtHhj( zV#0g9ZZZ?e55mh!C6a9Yl2S}Xl2Z@371G{QiDl7!{u$QK6QumMphPb0x*b(@(4r^K z#Fj+7D{Y7C KHme^C+ZPgYp>rQWKcZ{ZNG1wOR?5;WGO%cf+d9|si%_}|%8uj0A%CLkj z8cqpoPMST_J;tPs{T+5?j~5m@B5iAeRLqV1Sx;n7eL4nCqMGYlJKArNJ#=&Q%paDS zt@JZqGt4AmERlmX@I16g-|&lE?QspTHed2O9s67Pk>GhK8$w_0uA3r(FG7aA1zXQz zyzlNJab=igZrj(p@Dv6`eN=xClH}2HYI;g^sKy6v_AWUMerHVN{mks0Q0%+9W$*sD zN{ya0I09Fb#CC!i)7jR*6a_2wf%WP7pfze`*V&9dCsi-{s)UvvUy-iu+ZiACEUz-u zaiW+(3s3 3(9`)h8-T6ny;9m9Zb*% zV_5 uE7uG-Fw>p_fu;Onv1$dER)k zOZM<|i$H};y%k 5ykF5tZRKLnQ1vQR|8$?gSPerGS9=wxm(ZenVZ zP-o+{vQ1i7aab8=mpTwrlrNj5D(LVkk>8t`H}i}5O7-&7T2@iMw%%_CO)J*2XV! `JFdU;-P#ZZ4S UVF75Hl6$vtbFQ|jw{dAn6;0Q05w<~@ry(B#SEA&}%g)%RydwnJ1{a 6#8h-)%j9a8)BT(nQnfhL`*#SoDfYyuA;pCI9l zZua^Ma8D5O7Jd-2UbMvQZ-de17?kl4(DWE&0#xsW3d<^C!7QF+OO0TC0+!5XLzSLu zb_I;7U7z2ZSJ=_GGN0tZY9>+N%}9!`k9n5GwB;SHc_P7Hx*$cslUNro+~b