From b326f40bd8caed684f99c20c430a9e60bce12370 Mon Sep 17 00:00:00 2001 From: "hzwuhongsong@corp.netease.com" Date: Sat, 2 Apr 2022 16:49:18 +0800 Subject: [PATCH] add docs for disk_cache design --- docs/cn/diskcache_design.md | 59 ++++++++++++++++++++++++++++++++++++ docs/images/diskcache.png | Bin 0 -> 58243 bytes 2 files changed, 59 insertions(+) create mode 100644 docs/cn/diskcache_design.md create mode 100644 docs/images/diskcache.png diff --git a/docs/cn/diskcache_design.md b/docs/cn/diskcache_design.md new file mode 100644 index 0000000000..5b05932ffb --- /dev/null +++ b/docs/cn/diskcache_design.md @@ -0,0 +1,59 @@ +# 背景 + +当前,s3客户端在写底层存储的时候是直接写入远端对象存储,由于写远端时延相对会较高,所以为了提升性能,引入了写本地缓存盘方案。也即要写底层存储时,先把数据写到本地缓存硬盘,然后再把本地缓存硬盘中的数据异步上传到远端对象存储。 + +# 方案设计 + +diskcache.png + +S3模块接收到写入后先写入写内存缓存页,如果满足持久化的条件后,那么则准备持久化。 + +如果未配置本地硬盘作为写缓存,那么直接持久化到远端的对象存储;如果配置了本地硬盘作为写缓存,那么则尝试先写入本地硬盘写缓存目录。 + +写本地硬盘缓存目录之前先判断缓存目录容量是否已达到阈值,如果已经达到阈值,那么则直接写入到远端对象存储;否则,则写入到本地硬盘写缓存目录中。文件写入本地硬盘写缓存目录后,从本地硬盘读目录做一个硬链接链接到该文件。 + +本次io在本地硬盘写入好之后,异步上传模块会适时把本地硬盘写缓存目录中的文件上传到远端对象存储集群,上传成功后,删除本地写缓存目录中的对应文件。 + +同时,缓存清理模块会定时检查本地硬盘缓存目录容量情况,如果容量已经达到阈值了,则进行文件的清理工作。 + +另外,异常管理模块处理客户端挂掉后的文件重新上传问题。 + +# 方案设计思考 + +- 本地硬盘如何管理 + +借用linux本地文件系统进行管理,存储进本地硬盘的内容以文件的形式来表现。 + +配置一个目录用于本地硬盘的文件管理,对作为缓存盘的本地硬盘进行格式化并挂载到该目录(如果没有缓存盘,那一般而言就是系统盘本身了)。 + +- 本地缓存盘的文件内容表示 + +本地缓存盘存放的文件即是存储到对象存储中的对象。 + +- 写缓存如何作为读缓存利用 + +除了写缓存目录,另外引入读缓存目录;当写缓存目录中有新文件加入时,则对该文件做硬链接到读缓存目录。 + +这样,写缓存目录中的文件上传完之后就可以直接删除了,那么该文件的读缓存还是存在的。 + +- 缓存盘空间管理 + +当缓存文件内容达到阈值时,停止向本地缓存盘写入。 + +同时,缓存清理模块会定时检查本地硬盘缓存目录容量情况,如果容量已经达到阈值了,则进行文件的清理工作。 + + + +- 本地缓存盘的异步上传 + +工作队列: 该队列中保存缓存盘中的待上传文件名 + +工作线程: 遍历工作队列(队列swap),从缓存盘目录读取到文件内容并上传到对象存储。文件上传到对象存储后,直接删除。 + +工作队列做好互斥管理 + +- 异常管理 + +如果客户端挂掉,那么写缓存盘中可能会有残留文件没有上传到对象存储;如果忘记处理,那么这些数据也就相当于是丢失了。 + +所以在客户端初始化建立的时候,可以先遍历写缓存目录,如果里面有文件,那么则上传到远端对象存储 \ No newline at end of file diff --git a/docs/images/diskcache.png b/docs/images/diskcache.png new file mode 100644 index 0000000000000000000000000000000000000000..c6a99ec94a05507626d804f2a626ec33235771f1 GIT binary patch literal 58243 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

uV=dFAk&Fr^cO(vkn|x?)SWb>m6PI02fX;qr%ht z(GN5rYUBC&a#%MMo^^<@Us@rAX5ocz!+?;Hd*7{KwrMRV0tV;{!?LP+5jWNuSxjqT z!sFdp_mfR1yPlbgn(ZI4?C#r%SFjMvQ2XYK^Ai=)Ed!ej9a!o{6|#kSaK5*~V)zom z^c1Kn3%&Z_TI0V3DE>t2-t-h}6Ucr6p9?@c-`m34vBIQuR(T0e$_|W|i%ZJbyMki{ zrC_%8TRm>lDjRm(rQ>aE)V~`%pUt#cbOT)whA!qt}{Cwg_mWU#$}@-KhvpsUpLxTghR_DcF6FXWX>NE z%iJ9J5a@PgI9QR>?{46R4`kYo0V%IO56_Duo<5Z)wVF`kC_9G9ur|reD_<@a_VE~^ z6Vs9ARG*(5zyV{eqmE-~?@TiDJ1$|gU8tRY1%%g;kd@7OMOwD|AKgpEvCIcu!)i-w zIUM{=BtjTn6Rdg?6ZWRFa=%IP7dtN43f(A7=YKBKun^7x#LYETV~81a z#NeD`AN%v5#k(dCd5QY>zX4K5g@&hoDNaD>Vk=Bl%kD=^OZ~A#b>!~tS}3#u_KGoj zE85VgHTX5x{1p@itzaQ}gW1ghp&$TE<+_!a z!b8j?VVOYwaBXavzAExXB$QYndcHDt)4y6NN*=*MYTpIC>WQkW%9Q9mF%Ufw$RS3Rt=s zM6#B5KIP)0F4B&Dpl?jZ3lVaB89zD(;J@Fa7@#?cLO0#?%#g1Zf+)!Sq4NN}kqOP| z|JEm7ze1Rs-!Eb$u!0rrbyyS%)4lC^#dmcq?v(D=l-%Hd5P5f)9oE*SVsuHiP+$g~ zf*#zclfpTuNtn*-j(CKxN!G2n1>;+h4v>8eyWF#qeixd+Fy#^Pe0w`O;)u5l@xT(} zP?YA%n_!Sy5R;OUsQEesnNi4%lg@ZSyW5VZT2&WlX2yN4>x8_4*f$j`aUr%I@cIGE zUrvEQ1wD0_o<8g;I&Nn2KVWxHEi&Gm?aa!}O|H))>jZVnafL{G>4 z?8-A(u9bZnBR;;nE#TUc+x6lg&(1=ov_;X~xDg^fCh~4^RM>BwGLX$V_^un)VNPi- zgWMx1D7IQW_j{a7Iu5H{%&b}?z7`d_aFkj*&K7Ig(Q*t|oIH3sT2*Xe^Ghr+wm#Y5 z+wH_5+ML*wL{aU$z9O5HrW!sk=PZtRv~!Apo$Msc!;M{w2LE$h$HD>W)af-H7WIwc zcI#`+THN2V%i6gOAQd=7n`@przGijKb6!SVUjjPKm=;0TsYyHuREv-V8o{F^h5#Hb zn=lpglV9RST%nkc?2zDyAOINQjBTm*pVg{$=Yl(ZdUlL0WJDld%@DCPk;YX&;H1H8 z{acqnvWa_nyELKc*IH?7hGoQZCsUn%)E67!-=7;k=88NpI%!c^UdxR@Zr75(lBls# zfxFdH`@Aequ%P-%?J@Jlh`WOhYO;K!!1W$`G#_s&lh1RTyysVB*2z|#*_8jqS%i<_ zzZ0I%W?U}ORsGhp=a=>=%Lv`GA8%eF_Qmc$bSFxn(&vKVicQsWKn3o`G*O;nc|Hx+VIi1p+AQ^ zGRRLF&HhZ90G2lK=lGQ!s$Yh%Y(sa+ zK1Jxevl0o*Y31=a3j<9wf{?7kW~hr=`u)bg(*NMmB}Kv>$GCqhr)^1Pk2Ov^m4x#9 z79(33lSfuHS7(;7mq0|cCFTP@opTYn=z{1As>qDJ7+BTMXpO>X+6?aIjmpXd!~9RO zr?$fdsu_k#_nkYPG-vI&iOa|N=Ve<3XiMoT*Tuq;{m*;My4@PCmvMO;v_Sd$#j3E> z(}9M$oFW!-@~3rNqXJ@LIi}3dfk^Dqk63wDETPCh9!BL}Z4f<77Zfhm?l@EzY zCqnRZcVp;*`%U6KQ$T#PfVRc)Me5s&{^me%f}j9_}7Zi~eb87x>E zN(OF3iEcfZDs~h+W)v52cAkCElf=UViXO0iS>22V3Vou6C0?x0#d|`ST1u~SqAH1! zku`KWgx2pHQHy*EmPk|#-}+PzzUH$f{5<(|;83i;SxWa#(V?p?;=>T5eeY&~jSQom zGO^zD1aE9lW5~+}Gp_kRTJNC8AX1r*o}c#P&ky8|z)Zkwma?WjRqe>YU)H4&W02rQ zAsnAKF=p>PX5!aQ7Sy>jPvXWgD1Dn))M3VL+$89ugn^UF<) zQW!wWA#P83qEl?bS1O8gEd&C4Yj7xF5A*{Q33*+61ydk)D|wI|e?3i;_bkXbW4&Vn z=GS?MVTPu7$NE=)Aj!|xw~P=nB9>HMLy74ooTo$y?7wx(>if~{46US0b8 zgNxGN*=0)RKF+I;b0$W`ymFk02Z@;!6CF1;3IaSuXbWckU2QZSHYcLw?E?nG-p1Yv z0n-B_s~jurvOC-!SRFUQe1R4(@1P(X8pvQRX^GjPs1CE1cyC%QqY{#R#za>FtF8`N z7pY716<(Q|CdpW*{LT14&awjH9D+}0im4i7b_ik%a((GNuZlti!8UT4us2+qyTWjy zJKXH+Ti)~f65UdEa_p8q@{*aySfO2H-K;4Q;dwh>XniA*0K>ZizKNnowo4ujQ)w5W zrz^gZgNIGt$$5Rrkojg8B{LC@0D0$!Yij7XuNkF?8K)Y;aE7FBCiF!oS$|hrtQD>t zjeT8m2F*qKT>q^x-RZxR{hpA!%^k?*i1)rPRoVdWilSvdeqLdV$E1%X2sf41Ggetz zZCdE&7+#9tX1{m)vV9k@?2M^&=w}F_jysV2^|l(oX>tbW_?%B6P{8>&D>`WH>SjGO z8nR1QQr1e^gU0`W-3-V;+|qWYY^!j zwvf-N*IJnPZLyB=n3CdV_w;HxVjA?Rvr?=Uw}IYtY2~;y^jBuf5ghg{f6k5OMpUq< zr9Ok{9ha_mzj%vhXgQ3>7$}W>Js=Z^v;btT^9ngpKXAdWGiA2lp z;$+PF9pU#(9s`C8IIsO0^_h~5Q`{nvhVdM9&-qjsw#g!6y(f72!uykhId~(ZUBbDoD`rwK-sp-+^%$Lgc!-3V^ z(DyQmY)K5GZB zP=<9JnNFLj#Dus7rY{F_g(-Oza+p?6AA5~_=DW8eF88i$PQj~IDjN#4OjfBF18F0j zX`itkN{JV8ydnBJLg7yt>2K-#g*tDh$mPX8SFhM5yhe$G68j+hF7Z*+N(P)N{sGAY z{L?pJ<95<#@mXg1$#K4KmE-GPmhrBt}-9NyayUwTdDo&@8j?R;C2TqDv6nK>u1`lCyI0~y}_hBBrK$A*$IwL0S{}? zHncCgtrU2Rwug({hj9Y#;h;EU1TBLS)dxpnNYo#siurj~VolU{+|3_#HkIGT?$$45 zepl_Sl>LkFJfv{BU6A93R&Q@4k;s;bJi(BZ`7}5Y5%e#K#2W2YQ~2^9Yfr<}8Ynot zuu51zU0X(0NtT5!UY7F5st&3vSwv9*QUmY2v}N3{5!(Rq;b0)*$E67^A|q_|&! zcds;=HJ?>lm)*tkLyu#KM+inZIXQxZmA(o|YjCbiwFepj(p?JVW1n~p8PUlpX0bt6lEDIb}s*$@1%1S%$PT$;4ip`n~)qNVp z!}dJpXZT%!cQbEFvx(zGij(BX>l20j#4=E3av=QmgHTfJk{sjAlMTkk1S66LMm;d% zF?<>62P~e_H*z_VdbOM|Z292+`e6 zFm6OP7r357*R3miS@eobMVxO7A&f{Y&8AEr|`bLY;j*ZA3r&^0o--^_!%8iVo z5BBZMIu4+vtkqdF1s#Nx&rToS7`uUa{T^7UdjfvDM<%bo-#`G(V9FCUE`^rE&;ZxK zxQxF&kQKy;cb{O&fsu^t&bNa3*Y4JShV^beYPg6&w2d6FTffk zFN8}W9A-%5v0r&p`q;A1GyTKmBrrsI@!a~J;M6YWxS;pDBi=p3htuB|zlYHNj`hLD zj0~rTG~=Zr}-4q0(R4@mM-VbQzB_gUf{EMN;hHJ$4%w_oj6oSqxG#+ z&5WxBi=9ScZ3vyZ8f&y_-;a>|g75FOdUo@RHis04rw-vfa<5Ei_Z)zZUc+hnF|}We zsb<#4i6wa8wD?QUYFSTP1&9nS7m4!y6)Nq$dp3D1+8SyO?z7B-G+vhW5}VZ{e15+6 zKD%8b-m`AUrtkN}Lkbg*_q2v57kduXK#5CL7h$`A*xRQFv6j~PZv%O9#mi-Qs_Cgo zQkcDp>DxzU&Ts6EYS;zMUi;ZM@BFOZil)oo=i;*4wqWVv_ z2hi7QkS+0JkV6yu#^uBj?{+e~z9Gf@m8t>t(s9$Ysg>SiH?Lm-GHBbiDN}FW(i-_m z!STFAHf>ny4?+#Kl+zmPJ0q!K)OSL9Yi8Vy>`lD%3=az>3s&s3wT%*a`l_t0_`J34 zn^!YO(vgd))v;>Y+$yC8+%>aaiuMxgUsUlzRvgR{$MCxE@3-ReD?{#==7u$0oR7pI z8z1!))!y8NCoQ||iaMr<3D+2lmyF=v`$AEj>$s!dhox(cB{3ZEj})+nnf^>vqI(`R zGn=f}m1HH|mvWlQDaLB`yh}KxAR2o+l`~XLof0S>u7tJ&H=bNxD zvb^K!X5ZgdbPCxNEIRJyh*OYFK$_~gzp3*+c zH)jKqg=02ZY~zL}h{AS(52zaJdQAauo6Ho$y)#4pBIA?qH|@?O&tsM0r75rHGzB~z zY$+9^)g1^#9tc`7jte+j+BbMQGi3Lze$co$K0`ifz8%{$?%3~K#1;RuU~fRBv~DIH znbkF~!jr!Ot};3hh&`+^cC#`(>F$x2MNseC)o(S7q$)3>MS8f$?o1LVBaWpM$KGEp z$Cv;FD_#r&u5XEo1BZ9oBhM@mH+#csTTR0z&o>RC<^SBOA$k!Ybr@ic>{e~K|I8og zcYJxu%TYr7f}S0O?fW~ zO=&47&Vc1E=Vw_;iWSqAQ5M-Yi6z@?NhT#T9t(%O=&l3c5#fpI3{1%T8W+VU)J1Wy z<%3KJW~!FazkxY>vsKgeRKnnK3!rk{Xv~;H7i-4(?xkjowd^RcIBVn;#B0oDGf+uN z)TkyuRnp;*Z18|9bB$Z&xV8Se)3y_F)>K7JtUBa7$z0^tzFQr&vIVDl$35nUdVZ_S z*5`P61Xwz#l=9ZuK-i@6w0OSH`el=qZ@mJqcY#e&n5n8+{QT%LP7P8JrG%JZG)-D6 zPgdd>v6dsw7hnZ zJf$x^`*k)V=HYJNu(W`GjgsFwZ%nl%JlGKm;nx&xJcWBNhT{iN*TEAFb<5c)zYD&P z(kP8*$sgl%A#L$=;7d7?XQy1U9xWd6MvB|b5=xTxElzRjB_|v4NgJhEJ>?*AX36No zr6^#L@IOxNb8$8a#-EmA+1ob+_EEt|(W;{}oxErs^L23#5I`lV9Us&k+~GAx7d6Z4 zwU_>fbWD-oHxh}2HM=I;$4!#RIrX0!TmM`}XS%|agRtyZ#Sdnxh-4dClyl`pJxwIw zjMH06wXRh-7XZMiJbUQ)I-drQ@9rAzzspC7U^16mHGGpAh(pz3-vh4mYWB7ecM{{c z(tTi!;9`-U+Hb&iwp@^!9(5njD01s^YoB2k(fukn-JOuaIUAE&{!Og(%-Xqf>j&X5+Lu84<=%&q@UR3nUD8($EN_Ayth7=$ zvc$`!O0XGXML(pf6F+@=i$MC(IJNr(c03YXUi&;#ODLh_I3N)pwwgY2u##5fxc}R^ zbY)lrE~UkvVxQ0DdtQI1X~=u8ujt;JWsS~gr=c8ha3hPXM!R1ul(J4aLuB40zxWBwrtM9X#kzdVi9Fy8FT6Y@!vve7TzcODNLd(9g zl7mQlRD)&w1-Ra;w`M)|nlB7HZ5SY09ZN1Z0tF(eW5@7ls~NH_j(4jM+9_ZSb#uK- z$YU+S)RvVLeywR09>>nnBxn+gwPT{sddlbZ{a00|zFd+$mwhrfFtgAne<^I4q8YHk=qrlkZ zN>U>4B~F1KAY}tOSPH3sh%hh(HadBE%irB1Fuc+6<<2@Y25?%fGLXSOiVgMb=nnWM zL%*2mb$-0xgQKbDzRocW+W9>Ya zdW#0LWm55iDW#`>6zP%4Q}0R)YJ&rbOD~m&AM@bZ zZ?e|st0wNsHkn@5#I!=oWFGg4@Ugty}&l$?yFRSxc@o32~Fb(h=*4RGg?D3jD-k}f!R`)pP z2s`~bDJZ_0c{VE%hzD~<;*W3sxpp&;#(jqOY()sFe38`SGg1{gO#15=UoIp%B_Xcn+Iq#Er`4?LhJWC#oF7;<`SZ~DQ<504E$@a|>0jTy+h zkhGQaO1s~ViT@ogIh)LD5svL>d~{;?lmee^F*?%U zC>VaT)$Ho)9v58+l=1*17|-{>oe^z~g!HFm^V2(ZP_7a&KUqM*RM6+_p{ZUykk&hO zk`KI-&3jLXfW6h`X6|B?q(lbLg5*`E*AnByvEt6kn|7acb%?lcOx*G1d(jrU3w_2< zyhJf!iiKEbzWc5A8l{Nq8Vjs$daE(X@+-DKJ&`Tv-KtQ!cxr!6QBg5)t$A6W$u1U~ zu{yF#HJqj`y>{b+YOk5^PP+sJz4ST1S`W10@`@w>Q$Hy$Y8fxrL301MIo;pi;1)Sm$J(!4O&Z6;}|5^3>0g+1H3Fdx#jU35wJ$G^V` zIhBfWj36zKR=l;ybrcmdF7Pk5zPzARjfxMD)5#bg965(K{rmn$EVG2aZ>69jCV{;u z?7;eIL#8xkxcp^L%WWrbzXfw>2XDPWGgqG|#tC+~ARM+P?|YF7WP)F#x*_Uw5?5f{ z^wSgtoXM=&XtnT-Q2LM=3faGC|A-#*sBpHRr+@jOPiBuSzo=g0AZXr<`siD#X7;a{ zH)7LzX^Qz})B~k|uMK z&Xb`;S|Qq9-vQo-^+4`uM+{^cPo^^P>1r|Pk;yl4AMjoZq7S zi5qJ|O0G1Ti9G6KM0{~fN5#^~<1JE2*HKZ`1o_X3abKu@(jG~p5uE+C62^@ic2xSO z&X9s`Y#m)}<*n~sk~pg1+iD99YDiu$3!wZQuRJWn?f)uOJ~sb)0DAn(<}ReeGYV0! zOXbrtp#Vb#47vIYeo}yL(6yS-Ne^%z6UzfqP@%DOwCPqEOSONuRLclJ3*(l}56PWj z^aQ(|;lH9*D9r#_?%|LG*o{%Ct36$ zx5MJR9ZpX_y=oB}3={?D**GA!Uy_KRxfD*(IGV@ZzWVtJbwdK+bfb>8z|BC|z`w-! zx4-haaU)h_R&_0e3^T)+5k4;MA%~J#ucc1XxE+aKg3Ax#^E_CV?S6fn{AOi zN3rxX8WoK%4*eBiM_`gv2_N1zfRyQMw z^}|>nUzdCawL=OZSn}D(EFjZy)5f_o)XV%E7YZE+My}ZxVDx!{XGh?T8@W+UC{~Tn zD2iLtQVp<^=L^m(SH4f@oXV)3Tm-CQJL({~(P=N`MgAFj${q1C+#lX2t}<_d>=Yj9 zgBFv{{zbO8gKs%^LzZi_{-vftipr-pw}eBjILpaNO~>#CWD#_f$WY1;Vh$W zNHnsVd0^aA|Eq&4>o!aBHD8qeD(i@yz0LUjfjhdPLNjjAzX%$Y%%Ab@ebl`uG0Vh~ z1VNq0(fRSa6g;7Y|Uf8fN*L2(|m!H5O9y}UFtrFHuM3Xy5@50Njl zH#8Q;PCrV|le5X`nbhs>_nX#j_xy(|U&OBdiZeq7NR~MF`1def;EkinXOH)|mZ)Hj z_QKA;e*ePOg5rYA(os>tBv)hgTYLSNpHx;GV$Ch5E|UK}u)Q|DS4pRcbnXbm&vPGJ zmfropO|A0YdKL%633XRKt=*#hmxct(=;mChGJ*2IAs+ z`@hw=SO?3)WjIj-1O68Z5ocAXzLyfZ2hDo)OGBTDmQMOhWITP(WEX|Tld>=7ScI(YKZ2+#Loacy&j0m5rlQQRn`L0K zCJYL(r9N_Fj&8YdA{LA!TsmN(kgGA!05!WYnXV+omB%5R;8T`v<*}67V!;nY3vC{_ z<-%}9u^He#SgR6*Arx8AlU2JWI&0vNHo=#TM=9PX$HP*bPu}+NReX(L8X&LR#){>0 z*bhS1vX_+^Lmuh0UVT#@}>zT zS~#9~)w-!YE!wlw*M=7PKHgV_zLY$!?D#!Km7p&+Z&(9Kw41MVx2mS8TzPLM z^8)n5-yQ#-ElnwJ<;t#((z;z5fYJvQa(6u6=!q7gf9&|s;olM25!eyIZqUdEkx@XA z@+I8(XvS9g2gVtEOAR5hl_&KlZ}yr7YYwQ-pAD_OkFiLTa;*);K(oZA$_|Hw{D#ql z{#p0>VBSH|o%G*-Ouhb1)-hpppBuGekfyaRJ-_r1s||J-vk( zl)38Q+}8oHJD&^=b%(S}87543Wdk>}4r%k(ocNwb=^iyF27K@_hJU|suR$v7`9S;+ z>944WU#cKqh^$v%cJEpl>U2E@n-Mg#kb6Y z$)X}04(2;o-V&hw=H`%T{fWgtkJGV^k94V4rCFtI;v*?4DUfJH>5t#>4|fFb35aDr z-)sfEKoF*GzQ%?=NcV(J?99hHyj`?kakhG$mEd>jjY>nS#p7i?sr$Ygqxs@gkgc># zmBAfK6%|HC1dRQ%)m=uoW_OGtc(^~A4i+x*0L-t?Et(obfrUtNI-&@a$nV`-W@*U5 zkwv)7?yz6bQCZA)5y3Py#9`ix0CIp*t*$@N|G zUd|e*1+wq$`-f9hE|)MTLZ=W z3GRiT#_5x6+Gz`ksx{9SvO&ym^8a%ZnM0C&(qHxCne7>*d>)QJ`XQj1-7*6kL(^N3l zI5`KxF)~JT+xiarl#5 z0boD)}0tP24Wmopp70p*Y zkpQK8?^br=YPjO`ODu3zx(Q>rWIVUIm`DD&=Jk0JM67K^0n#Z}awY@j+gbRBzuqIoJjeMp3|%1XM2Dr?~oF zhk|>SqgHN7-^X-(C$>w`h#S4;mI6&g7!|p%H^~e=nW_)mp_Q$uZ|*vPDf+&3e`%<#JS3is{OCD)ZU82pSo~$$2|G7+|k94u;AM& zmg1l`juFRi(3+2%=}b(Qog73rTG<{?$>K1M&~*)imeT1Le;v#`J=C?j@mbVW|KX-8 zy)z{R&KjG#R^nG~hLX_TsMwSIyKio5PcjnqXCj{FjiIJ8>-P*HxFM>6>PyKb5>C2nOIefMlz%0kYkfnr!Z6~T`G&!i@+mHEa)o!7`o11} z;ii!ExSi8@XBFU%!G4XoXb-cz8u?*ac8OxkvIeVDoy+M_e_v1RHjw}(5;lB~xIfpj zS5qjANY^yBP(!M(JH&|7JogKAcju%>c}{W2FM9v&$tvn^9|YV`Rv@D6FBwC$_Z8q@vQ%$ZcC`eixGrxE{{ z-|__@&}cCVcTooEFoH~H?QXy5@1Ty&E`43E6{R+cz`6%yo)NQh#$}B&<(M1ClWrd^ zR3r=^*I#gXdxfZBi0N>(#k?l|^sw-x{>0}9gucq+|6rcKp25QpL@?faa>ES8nC$GO zj30l{o)|R;e0D?OoVRO>e-LJWVD;9U;mJ+g6bP2Z!?kOcN}S^!Y3=|UUlA1f3Rh`T z&lBrReD04(-@g`<8DcRR?p&NXK-0`2WJVdyc^JytX9Bduv@vxsIrsa zfbHZ{a}FpVgp4wz04vpZj7sjaYQ|(A}V_B=c3d z+A1%ES$9_dMRjLYRrbNuZ_L~I*&^3%!KP6zay~ zQ(oI~#_Y6SH<4cLI1%vJr?g2Y*;k{|o5O9DOqDu#_BBKCzj-Yjyn`ggqSsv*uy^nC zLwK8iLli|Z|7K8UAv92sax3p-yz>hR>GzwU_2 zCi$_(bvfo!ft?1ie~JSyzXd9Auy!9q7Mo|d*^vS2sXRMr99qku()tjZAMCBEG?&_#7($|Konw*bH9O=)!4o;zPi=NVY8?C4W7$WWsniVpQQ z+3Rv&b9v8zBsVIMNgDMEPKHwCeFwf_c_|e9pK4CLCpcfupNE~2SOtN=V=!Bw(mdiZ6PR^9U||b9_jObO_86kXpx~)0 z4hmU(3uKXEPg=~LFHxrRGneupBUA2rgi31D&by_qB1?Zu*y(jY+qXBCVP`%6{c2Rc-|fKZ|g%e7%Sjy%Vu zLCOCLQQJWFE?1I_F9ABt5g0Ac9R!^}@?79-X;mna0;gADD7uDgY+X()#^=;i>b4f-t#=V5}KNY3O%(vSdU(GUPYFBsoiTw|$gR)M7 z{p=rw7W`P4?a}Jfw62>^@7u=r0v6Fq%GH}{&f0i;S;I*dlKu~{p2X`Z zK30I>*@y?ctqXgij;WeL4=1V(iq#%)CG7vhq{ zVjdp`C0H=i4DY6{0Zsv;-MU|AN_I-Gg+4~}jQlc}P?$%&pX zfEC0Qxbn|Zg*>Bue-}$lhJZX`ZuU!1_1Yo%M};wGZksQi9YCmAUZ4;epM?yTc1J^@Gl`K&50hx!=&=kZGZRLQDP# z5Eey?wl6`F`2;dvcysi5sf~xxveu$@=p}tV6|rhZWR&S2f)itmn>q>0#`wktQ;l)E zE%_ZB`^b>Ji8RnKrA^c$i$6dQtt6F2;)PR0Nf>Dw=q-c7M8310&8Q{+1&-xj*0JR@ zh5hSof_fpe5g9=lVnY%<(x*a+&+1VaPyY`zqm*ss&lv@X)a6S1u**opdTZKMjw3hj zaTQK1KjE27`7^`n(=fxjest-7NB;LUXPhQ9h}dgjz(lP==8vO0CB`n6QR@jm>rwOI zX_Jr-O>mb2{=wwzT}^x-MZ%ch07l~<-)w{^`6bh{NqS0tl^y3PIM`6V4QX^u1&?Po zZ6OhrG1rAPJM6-*lIWxd5lVbxcS2t>$Zc|4HOTZ2OjfnA`Nrk48(Lbt2cyd_kHr-t zB!1QF2Tk$$lgy|nLbgO1j!QzQ1?k5)>P0%U(atmt>#&9u z4I7wTl*;Lnjq9 z?*XY&u=p2p0e2TGSU+E2I9Pv-#Z3I$0@&0R_sv7}ch>qr5fKy@PDQKahr zz|aT%1uyC@*YmIO6M0$H)3Y1XyyDN<9eavDrF;gZN(Km*nW3CZ1>o*ZO<{~_HoV#j zOo5sgx;!!)+W>~2MTa5Gn4icQiFx^+r77LEe?L@`6r7Ss@ z6KP?wuk$L;xS^$(l5rZPVQ_ z7O}@(|8l>q;$A3SCWC>b>%(5;Mx}|u$17D&^-o#kx8AgO#7uiP;M$B#bD$^ku2wxD zLW1UW)pq68A`zUkp$r~2BovW|o@Qjvq0;@5_>bg}lzxC{ao<3LbIPM4vST~aUv?JZ zm{vCb6>e=UDi=m14qq}I*4}mJqgms>)ui{^-ZNX-iofxcqKJ($iVA!>sKYy;y=7b? z=Gr#+wgKW-c9fwt+M{wt;=>JzrLDgRIy%8-A4UrufhcO~csC{C(?Y-DHH&xmTj695 z$_{Z7UJIGsDe7G*WKzg~sm2$sweELK(iu{7)-Qm+UZZEytOQA?${c8N(PWc925ohJ zW$jf!nobPUe+6@4B-SvT!0Jd|g@~c@KWAQ=_3znD>aA%YmMnXP)!{g{=o5gh-z$^* zG<P*zr7_O0*yq6X_8ZZL%ATCX+rLPePb=T z;F(zY5Qts%d?ycuQXt;BN{_ub^!LK~cIC~owqfq)7P;a?b=jrFrDRI^dTvQ86cu-c zETK((WyIy$Cc~$&QKY+m=o*wC;uqrRO?;}OV`XN{=ihBgQ!Y^b1-VV+&-gG-t|3e&xwX&C~5>b(bWzg1VjO4@$gLV_` zysCx_Ok_2XIF$^IH@|-yPZykYbhbk1R7#?UdeEM;kPtD!)x`lCkdb!%k0f6{CQb(n zk?^`k#%4gbI-iP6dSG|!?sraq5TTf>Iu@>Vw6nGGgYO^V1CMU+5RVV)A;HBkYp%MT z&pm3JUpgJJR~p6Uc(?xy*vtP&)%Nywy}o`|hh!V8c--wSkPl@EhM;`MpR&KmQV}Zn z5$^G*r9|WHuO2{pbt;=rQgPJ3F+*+R=P90HwS?PUt9lsW0#)@jV`+djyk6SqVZ)VO z%&Ekz#;nP+QE#uXU+IcJW1p`v5~Y&q)Evs@_>Aiix$uz6A5l2W=tASEepuH|n)lqM zoW7&+Z^L}52%2GVnh19)K-Q^o-jPDGfYhPt_$uOIE9%IfXvzQHJ+krRMi%X`xK}9p z!-}Z^Gj*iaF#e)5lLH#W)Y|oBNX#^_zj!9N;Z-AF-tvBEUA#@xb$)3d9yH=DgKr1J zUpnlUl)B7gFi#WTWpcEF7%7E6?-PNu%a7D^c~ zdO}eLy|`Hgm+5-XKXL@eCR_}JHc}z zm2F@uy|82WM*T!GSilHpLWR#xFI)D!*{p+59bmx;Pqixu^5#N2dNh#>WeC=sbhfFk z2-*K*ytZTdB;I}Fr!+1Wc@jYL<-@kH7*hP0KP1t>Sc-4ria_^`4p~0RMCrA_?A`=( zOG6w3qLTD5fuQ>FjWGe$i@cgIbfdW~hZ(-?9lG(pIQy5L)*5Ui(y7erd@ zANH~wtM4rKth@J71&|HtabClBBB|@0{(7znX8PktW$Wv~;VXZF>%CI2A-^X>g?_-g zn15Z&qE6(xr{7b&nD74J?20d2Qhkv?@-(Ja*Dy~h%4zQ^2XlyEe1RB(WVIqs5|GNA z8>`;b!g;;tp&!d!b-5ovR4X@HB*A||jPP#-2oNd>$uphJfya^OuDr6ECeS|vhuVZC zCV_Kv9?7?mEUDeX*;J`Rf8Q}$ z`X7U-I%H8}{B6;9{w!lqwI0{KsP>ksGJZEwI}o%~a^fZ5#Ao3xPJ+CHTuMp&h$Hty zlHoDwP%2kdtlY54w{uO>{yE5e5dXHdKFQYwt7Uq9pf6<{BCQN!QuKE-?@D%T%2$3hv@rlEQeda+1(@5?Z#2RDZ;+A}zia375CFA$X5?qK9mV~Z7#_|aC ztl))k7vIlM**7u0uA&53vM(wr0}PeRRATNc77==wdA~`15+CcZkg&hf7w-{s10~xK zf5zZg+!v#dO4GB`pS$!RyE%taG*sg1D5O}j#Hyz<8>00tV(8+EN@D+V(JMO-k)PL> zo4X>uh^_KuD*J9$aA-Tm1tqoE5oMqh;RHRabQg~)DkJ;>RIuTM* zC^SW!p4cNXwJqT*+s8 zxo5SqL}@Z#%{vCWKAPbx;Vb??ALmHi%t#dcG072JLU(F?Uj(Q^=9f2-u@s#0&+Amq z_37Ee^#>+I;6LRY)u7l(GRWmL4jx+P(-RSG_kMkw{s`Yw;m+}ZS0}X(oI=jzjYYBy z8B*T0-@ArkiSmxFhOr$BHxV22L+iIGHy7r@zR4euX0+?;75!`a7nhkU7~S+&Vk0P< z0pTwj5&~!fMvKpL%QgW~pN`*%He8u}u@D=a(q(ojV(ARBFUQmoB=}5*m=YpGY_o^E z2N~Q-pc))!G-4xpq<|_X4mC;re}FI?U3PngIrn-+Mh7CXRr;fqf)-}WqNxvewbdnD zQG{B{4jpJ11y3sluvfA!ue=jAGM=m4;bZZ(^54_b&0fEwu2}IRXj`By)-uBh#b}3+ zEHeHw!YShP9^Q)bO}S86iTtcmKO$i}B5+}Ko#-sj|3GSLSUM@M^O zG(W@!WnY}o(54lDZGVtTVs>G~r4R-d1Z`OK0r$Zkf0b!&n>vMcsvesf)rhp+PF1%sb_%%Br-bm7aZ zsTO>rB8$w-j!g_0-M`&GI;dqBYotpBuQ9S?*9KcwHNz7Hs)`Ll>uh{EdsUIs@&`#y zzr7^kn|?KWQ9d6uq=E`KjkZn?AyI#WC8n6Kp7mIknDAL-M}Jojhs%fuZbQ;HZXP>} zP$#%s(lsV>)B1-2nx(OoH=btDrALXX6NX}SGqa)I9MR0FRNitr{aau2Kewj%yER%W zC5HlYCIXK3b2`@rv&&1O5Y2dzCL)McU|G`Tb8C}6H-dwV@2k{9G85PQ(23P;!3nDE zyiw@>#^8Y3Wq~Q;7w2YkJCBqC@089_KFz>5YWl`?eu;D#7rTU-2rxf7i+V_v*v%B~7Ox1(ByG zUIN-^Z}zC=m{ZLnN83rbI=@-ga!$zVE!PLjvelLA=tj5Ha%PcLvTfPxA=2vZI2W%% zhwf)S!PmDRn!rc$F$A1;LBWx!f|sublNTHytxdDNI$b%+hh50wf78swU%7ew}gOd#&esnr0Ilk><+cOi&z<(H1e>VP-3|CQ&SV->%+szsbYUIp zuGYr~E|-f{--L8}f9SutEnuJB)-GaORI)p2?{rB>NB6zvN{0UIf>W#%YHzUyj=#v0o^Xb;7avzUGUB+qtPbG zGZnK0SqA$|e(a7DYfq-)TKLD@n78Lqf?Q2sZ-NRwEy7qaW!2pa8yhJx4!wEz#WX^< zOIo8Kk7ee=R-Wg?TR!Zv_qKrQx0oClh6NKWs@SeWq5^!!I>HIw_};h&lI-xx68bO` z$_h(xsx4VEnHF?>t82Kg`Jj$-fc?;@BkyU_(N)3DQEe_P@J%;FacJ2M)>VoUMF zD+!M#`l3~%X(Oiaa{rcO18`K4DPg2G@z$2$s^+f(YGXvLgSx|d<=IYT+%^9cNr!+_ z{BuQz1V1rO65@>L*L>&IL>snq-%al**z|9{8|CQ&^)bp`OG@4U(#!Du1Mk~@l7gaK zx>d6uCqIz3m?T&S72-e}U!HT8oj5a7j1>KddIqwp3priFP>5^@UHXal#!7KzoQ59| zoUiQQo-4ztP2>@JHAnANMQ;_+PSp0SCEmJiKj-amc&U)6$nBn1g=*!ea0lvz-$XB% zHRhTI$2KhBHjI=Tf?zkAG${biN=Ejy|GHRqKjA8Zpo6fDXcJm1;z_ z>E0KPU{+~sSBo}f)?k#ZU@-*&WNbWt@{{#Z@tmXAY^fTPJlziHaA}kNsZfU2 z(LQl5bidUuk)nB`P@+lsy{jxWr>X?iD$`;9u2aH?|Ge}nHKg?q>q7Lj2r+avQ-P~Y z{L4$7>;|MCr=M`>L1FjaYVh`Kgpo@fiKsT|m5)2A_v(LSLCANLR|Vt*NT5~1vq0<> zaW}$`;K1Vq8|2M218E||Uas8ebw7h_%4;K>Pg0d!HoZ~+uCPMI4McmL|}VZc?H<4gCEYA^*@;VSmOpt#UGwZtdHWyfyjcfUKEScM0(_Wu}}a%Z2@jwXpo7 zMf@fz#nFrk5ZJ*d5Q^cc$A(r-R9=7=(VZ9Zml)9*eZjrQL!R-aIUcwCQ!Y>H_juFn zp(}+Eg>~~g1Ka8(%4fGM%c%eo96GHGyytd2E~jBk%MD$QB)B>w>-M0Xx>L%2j7VR# z&kQm8nOKFgb+pMOiUMs>oa&JC3m(}IuhYf_1$dth!+GMYJ1W4?J@%TMwoS0X(}1E?~T-uh{GFi1vC!Y zv_YpP!Li9_ZMAI@K&q4Sv`MwL0jZv-cTgq8oz1x=5$Hlu6iMh$c-e-1QC) z%CIN;)u%`)kTLj9u#*c?if5~ydzeZh2%(^^(@|uka}U?=ch;Lll^TKVins?nt1elH z@C+{>^bu9F! zZ0HdFr)@a)62O=s1VT;GWlVZ#U2_iw?$vzMV>^9Iw_erx+6@~)dp_Cknb=%2Mh@*3 zj|#Fcj=Mx4bSZJ(U1NxrK|gQ58l*mLJfkk)^|Z^Q&eZ`+2oP;`b^$d>2gT{7lSn=> zyB~Ldn8e~ErT>K?sI#7OC6o8c9uuM^wrnsMM`C z)O)$Q?s0ig!+SaAvxDwKOsRmQ!NI0_Ff;eZIw@rCvKZ{rcX zu>4f9_2dHQQHamR@_$t8DPuSv>Y1JMDWP&YiJAbrAe+rTeRJPvL>dX?>ntg=_Nu__ zG%B==yJX`c(HA2HGI|fr`e3L-I}yC`297F_GdeYb6VJ*ng|^g>vZ{vtT2j5ZVU6@j zWVtrvR;BKryLrJsbd5(Ka#BV${zJ&u(oK+FVC{71^l(!g#|8f?9fI(dsoo)TdE5M? zqj<}8CA16U`fAJ2;0DF3%l+`3vYzqtOf-7*?RiL){kEOFRGdbP)N%dLP_etNZ5pHh zIbR$?{-A2c`7SSn^T2tW>K-Ptt!>l853_a#JQ0gzGu(Ox!}}(VH&}wIHwQxTupX4D z{!mSJ5A!r3rPT7aS7#r=Hd(lW%T}zZcn;W8>y_1(Us=j{tEW+!8mlXd5pxMlwDeykCP-! zpYe*Y;m-g9qde^~LVQR2PF;8}94>q&BMp?Se~=89kLHQ=>&zW(;646e#>iV?jBv0t zU`~L{+N>#zl1xLuOuTD!SZeumhn)f=ZNTxAU{|8mT77->8*&=P2Ds!DBXk?BsVrFhK!7 zj2<5u<-29%w>riSRJ2x^=ezYMM+Vt%U3ZnAFhCOm17bP`^hz#=ZqM%}EtG;kwO4AC z$S>#aI|a8mB?t-j1U^OaM1L93fx{xT`5amp;TM z<+7FzlCvSQf;}PR+F;hnJ;U@dE?3l?*d&S&w-JgTFZMY(MExL5Pk?ufj_>=vd?+*F z^2-k%q4-#^`94I$N%T(-;KGww{z`xc5s*i=9`Jo(O4>Udz`NBP#7UFY1)f!`UHE+H10yq6Dq3O(K_v%@Obm4m8A&3Bv%F`^00C~@s+>cOqzY@pXeWS6K2cSj zlCJv2iYgemgXx}|I3@Fa+jDOv?Nk)^#|VGkSHZ;a@ykUU@Py&7o8`Vub3cnMX}+qL zM6BNK(vH3uhi_~;-ZK-^WU;EQ6Q`Td_YW?SzW`)(hL0*Z`I6gw7gXn4QB9n;FD^^- zOys#N#(iJX^u7gPjttiuoZPZG=*H@tj3A50s-pzQW`v*Rt;A8}*e$`FPTjTX&oseiNZ$LM&%O7E#|{?J8p$Acdcea-uIH{tJUe9d2}7N}{H%8Lvi zGGa>w;ER97N%Pe3M9&-6`^wl9+!-ubeYb7M*V-2oZQ^R-0XE}wx&8nf_dE>@c`_{? z?`RGwAMD6G;PN!X90H0H2|^RR41-*tW(GAVV>~ttPfL5b$Dy2`*hiW#>BV)(q-EQi zFUReGj09;^KF9F=LCp#Gx!O?7Jkczp2hBXk#<&UY~OT)y2Voa z8bl6Ub{o?vHgPaiAH@-KLo2_C{1KlaM*c$;Z~sJywUt|75f^rw{q3T^1R;t zj%vZ9MD-|u>+l|$y+g6`jd5fsffaNS)hh3C?ehfZ=nVeE?_vJ$((1nRlv1yq+}JZG zh0eST`%itj(amHDxbAG=nbalBOygOs zacD%X|Io`eRwl*}JS%9CKedtIzY5!+`l9emG9e(Kc`xg+)?Fm!lg>6m0vXlg>&y+wp@zQRQFmoDz^`}N?*rJ7Qglo(y-?)vh?`TeX*qx!?p0O}G9k=aT| zw}~FylQi7P;N0U^FG5n)BQe_csUJ)`xY`GV_*UQiDV}kc>=t6yNsK&a3`RCle_i}& zwCshT6$c?@s(IFQ>$x5c%Y|MlWR&L2=lusE``i_1wUFDEl}?I#Egho?yo{;{@XMp6 zmVGT?S)nzu}0P}|{D%nlegBI07riaC(*dIM$Ddn& z9~`tr#b^0NR(up;*K7)*TctNZXjCqIRn9GFaHvRC(~80P98yYm(idCdStrLY>sFiN zi6D9ShE^I(BgqXF=&^g=QWfGFgm`_tu8+C`DC{S?ZZ6I_&()h^(;i*ug$Rh-Z(!g2 z6dF3Bw}GlnhazoJXG`aOUH4!5WjvM79V{~VjjYNXWDi5FOKM95!{ubD3_Lc8nZSuQ9o3&SQ3*0zXFz&8VqjwO zNT*-^8%k!V1s+--$LRG|=&Sm6jFEzQolHqv2c^ZzA~~dt&T6o-_IV|Tn`?I1`Uu)K zkIy9zR2j9I&=lR{l`Hf?Q+wwXWbHRvt#Grmy&G+3a0MGO>9s=BD$UikxG2y$);mZi7OGxP4HR1GT>JSf1Jnj5c^geMe9J@Zl^O*={8)oV zMT1s)mMC1iwrPw+8C?Z=Rr-3{uZb@2L*yUR$P(0cfBf+wY>O)dhB_eGdaU|Ql$}Uy z`q*ZD!J$6x5RL>LSvkE@qLIlCMI8q#S!!Z}LwACQB!qtolFKzVE(4ZvSSP?V5ph#b z2J4&`IW|?#Gd8n zK3*c@Kk&ofEY2JAYj^jfJg0=jR+U z(|T`$jEr@valBNDh?PQLLb(ub&orZY#xY2)EkZaXn=tz-FVFyq+SX4I;bWD}~)!>Cl0 z-3b$CX49qM5ySkzTwPAIdbzjhnBZPzOu4W(^bs9W=kJ5~MDsW}X&p@`#PEp|zy}}* zZHT`9B~H0SGP7@G8kqMvaI;Ch&mgPqq(r=X0{sy1tmD6L(mW(YU(weP;(Q|mqtR77^Z=IKnSx0r$e#@Vl$W5^o7;i~ zU%hq02m*v$=Z~(BO7MTbB*2l21qk z{e77ojt9ePZ9Q6SzF+%3Wf$}YJ4(wpaX>NL{`kdl{T6>^G+^ByLTahJ}LET96DyC&&ON6kDA;%%v$>3(T`h7X37lEi{ zgv^D*-wFI{gvx)wGy&t;P3=HReAJpGXzM`b++z>wzM*vkP7+jNoVHq_wbq!c9Lnl4$==-RwLX&< zb3mp_z$0suu#&I{e_h3;reROyW74Dj_f-#;Nl5B%O>JN&2C=WwFOa9@!|%)Xtov;Y z4rw~2Zj0b1YAmafQXr{Spe4PP6L=aVh5Dopp2rBSDnfdko}8N2wM_(Gb>$$!LmKDk zga48wH7Y(|n>!>vY>9ggT9S$KVJetTC~xk;acOGoL!A$(j;M9>%ad}0L=8V;fMy+* zy1YvT4rT2}LPbefX>z&}S;v07?Fc?wWyZKQAjFu(%lnbS)4|3fu_FJ#CX&-$L5jAW zG&4{+J95R#ZE{@@oA+fJSkG3sbk_p;?zBPUny|?@3RJ}&JBwP9W04osw|HNuCUQEw-)l7gYL+>0RRE_k z8Mdjs)i9mP&Hjqey^Y5Y*KV~2^NXsCyM_|)8s%$d(vT#u>rL(JfeI<~R+1n1$cUSC z%>th(#*sbtmKdy`d#hQ4E99l2Ku$0_oWdCV^GUZv2`{nx@n#zO>%I%svHI}N#09Po zA$hxP^6Vp(2OX^7??p(O#ADd37TXM=kz6rr^6H4MkA}>P`are`QHn9VU&6Bt6&nWSK2}0Q2M6o44}V(VJzj~^?ugdvP;czxCG44=E_MDCp;w6v z5@Du$#y^xRJ6KB9J11H50s;HTgKS6-S0&-b^4|2GE|j5OmpFQz&#+MAjv~)Q8|=@-nX{27E}TrTS$hA*4c5{EabgDBD?^CsBd#8%0BAi0Hebsa_WdUJP( zW-tpsqm(LvcdvbrZ8DbH%Osq3NaAqrO+fS{gARWA6CCbBlrO*>egdZlmXz0n<#DL8 zQ}H1K6#gj#v{cy2w2ay&T)Ho}=#|+%Ct7{?dErqD#FvH8<9s7$-|4nuPcQTaJS~7J zfPr2%Du{-|P-K1*U2Z#*Q7mbD9}0(_)$eIMl{aRSyBy7zRfY2I^T{q^y%d19Uh29p zuI8YC&Oe&!mD=e>maTwP?vBC5O2g$p#f8-#4mL*HMU{kQEw1!KtBUCU4nU5ig0Ei> z_Ej$z=?<;tY^HTe<7jpc-ZtV@FAaS6jNMZo)sH%G#og}F5u}vJ zxsi>i^eDS*uja`RP@`Ub>8eCLpOauOLN)l zZU&(b39Ps2roK%?K8&(fe@1@R2up~EH>pEcjCv9j)-+xAj|Ol6B(E1^kJu|yeoUYx zto&CZ6v``VuHM$B)ABZRBN?A8bEiNtn|%|6l&E+?(PbxJPDxz+@>2d{BFH2Fl0&YQ z_0A2E%j*cHnL5HHQ9VBDJ7@E`pbS`40TF29;5c+tl{`X>qIFVGg(=&(LUdz1j<&xs zzgC>?QIcKnVw#8 N_S>5fS6emC`JxCDhTWk>X*wVr~BT`G}Z+jo=N#YG<<4+O?? zj-}mq!8kww_^sZuFo`z9O1H3V#=9$eU)ra-w?kY(`G^l~ox}?U%5-mX1lYj&9J(EE z(L6Z5r@l?TdUW?Xedn7dmGI6E`USNLN%{cfz#t!(T2M@0-I77h^z8OcIPEo?HT;e$ zeft`dCTP{{8@~rb#oF%2upFmv`lHO%Ik_32}}NW4Bs=Q zgYGWm-huY(=>EsjS;y1;{SW-3Yc?@#OxLt&({bg+n7q0>rt2~>)7{;sr(Ml-caQ1r z=HmDEef<9P2j2I*&pqe7;yj;AuoJK5NWaJ&-7-aN%&t(>z|{Z{s?)nTd;11bM+giv zd@w&=cF{_85QnKjN*jL3Q=25pBF-w;R}jizXA;=%o4;cB(azl=iE%djSmVN(StuYc%H1nQ-+`^fWu?)ED7I^9GyB#x>8=QBYhVjr z*l|_}fo*x4)Gumvp}&c0&$$Em9^r=zY!fB%mPXoWP88$)zhub2*4lD{0(h))g0nr^ z0V1*dO3i*_2O~nrvgdIbf4ef)NTY?Z+2|1^bQ7;8_YP+dXfj;s@74+0I+sQxeg|A) z1ipnelKGzrf7(h8QRL~JFr1rr5hTb%t(MpjtzNXgZ$C zb0NUPCKMqUtr99wE4|nFM!>h7>sj$nur#o64kqOmJGC1 zHFdyzH_LdBnqwdJO(H`i+sS}Caf<*xRNm@+1)>^eB5V{ZKHchqce}<#|*p)x)v_Hv@Q)JBl9`p$edwdf}=-# zd%gNWr>_-ESpRCeU6BuvC*+8nzkg(6kIt?n@r4$%n`5Fz!)Jy2`>kIdcZa)GA=@MZqYa1L;}6x(00UB8y>0h&mxyR!KT z89GhXehZz_^@~R0jGn6zq!OgB_AJGHM`5DEG2V34)<;G=!4t<8(S3c%HdmS3wlkWc z?Tv917Hk6XkbcHQCMNF%_T=Io*CpspwNmppp)cS6sRV1jyQrxwsw=Ntf7FrMR*7lb zaP;_?B!&IQ+G0{etZ(BD6)8g8hpA+Ac9H~p`B-oq?BLsM!ft{u0OO+1^0fM@s%~H) zx|(B~H&gJJl*{7F+20BB{I~1oP34dBsuge1D(L+hA|CR5Q4pbMRCItdb^Q|Ps9=43 zdgJ?XsVasD35Bo+uu(I1no*@lxIPlE1S#yHZmGlw|JbfnR%n6xUy5<_hy7PG(Wc|k zHO`MJpS!T&_wijo@e!aTWQaS<22)|1q-OZl`eVU~?*VqwXvFvEuQok2^cv<5LDuL} zvDiKU0D_Tbl9lT|sYf2*%94mWd?b7gAZspx4i5#uKS{*4vcFRJh+;xjn&fPHo^hR^ z$|8i}ImQ4RKc0zgQ-*mb%2Vf#MFVe#s!t^(1_i=Cpxn9yGmsC-h!H2%G}18BDXf37 zPhBjDLSQKMuO7o(l~_f*T8?8LlHRhtXyzpE?Cc6k--JZs@0Hts+R;nF$TO}=-t`)P zll<=r#gFIQ5wjcD#O!>EXwxQ-a@(qFZeZ2qOWj|5{f|2jED^Y??A1*DzN_C|2{-G2 zay#KNWf`nt4%6v9Yv zgIwtfnwboMq!BXCn?h;XpX!?MGo0XGHoU!_PRYU}#%F2c)64|}o%D;fvwGe+BaQ=C z67`YAul(c^Wpn)Qde;@(LNF}JY(HylhhIVyuI!K&g zB1t<=mfhh&(9BB&Kj~7VI#!mTk4#IQgo|DqrYX`vpP6TusskxYC{7z07ez*in9zH<(NZsOplv~U3Z$0IZ9+Fuo+2&SG z;|YUEc8MPEguHm5*Zv{+L-V-fgpVc0?o89t94+bsj^3?j$&nV8ObwO?A$mP5+~c({38$2S z@EU+7`&Gi~n>13_kD$pXz-nKl-~JT~{lWLZTm`J9id_F{^0`YVXy?2f2|HXEbpNVX z&4b%Vp3tAy+=#wCQ}vztmA8pq>rs96;4=?aYtQO)v{d`EkEei&33AhWYYy4Qr!@P? zKxX*!hsV-m_G?@rWQE^>s(h0c^ANcv+EfjEt_#Mm@w!UUv|*wU{&vveJuybfe#uG# z4?d+gU=tk7A3pg)h*-G$_d)Zcp93TOz zaQy+p3Gs3-9uAV{q%ESf1{$e;XM)-nKKozJ;C`l{)T^ItI_r&PkNtB5kjq*a*d=Uc z%5(x1+P9?rM0v%ZQ{#pfU|+U=${hN<>!Z^*PMr;_q|q1LhD-!Lm{j*ADRQ_V2dfX8 za7S}h1T&YDIWn;y1py$lrvh&z%lyVhbm7?b{ROb9MKKe$fx&@6=1#l(Mo+rk=vl>8 z&C~7c2!4ogXG~^_lBFj53s2tV`)kW=Ef|$M9=G<7{;ED5;0ST^_W2!Mmam!NyL`6a zw7W{k#3JR_J(By)BN*2d(5nEq$Yl1`MTQ?)B-mIii3V82=n!Vb?cOGo>{W{~zi>HW zj-InCYN9(PO!cZbT&J5`0Ly;9H54ZQs+>WEbobo~{hXh1lt9HLe`uEjjusvVZqNh8wnkE*ueo8rELTb_2Mw?xeB~#>Stx(&luW6c)(g+k#Qo zH|EER$a|$o=yYb8Xk^~MC7X1!=n;fj=2)~;gb7Nu7u!Xk7YfmB9fY0X%6CBnX=bIA zKmLdmd2Dx&r0@WbMGofa&+Iq%fvIG&E68~`0{7ktjQm@WKP|Yb2BvPKdJwwU8ST6Y zc@?ToXnWY=7g-__i#@qNo;dmWW~Xguff=t6{Zy+Kg?4p8bms*+L=n$tvFb6WyEi2$ zJDuoOEy`(m3PaCo>zMt1`Bwrd7Gni42g^P2{795l(Ieh^d37N{bYhMsVccGp^70&j zg-Kq3o%53zD(;@J`_8=(9`&S#Cld@Eg+X)IAuWb7M+85;9N`Xk&Gw8EX!j)i@c6#> z9TPEUeXs)q#Aw+C8z9#slPYh<6JT_zYL}^|d;(nQpOND92X^WW#2^_OSNDI<@Eitk;w<<_6pQ&WLRjIqbKPvWY~M7v!tH%K^0*@f1b*qZzO#U%Pb}QY604`5 zYU)qX=_l%ravwaq)o#Ij?e^8R6#zpHM*H|INGOI32Q~tw$Xy z%gzqTx~{tK2BX!<6qmI3dftCsXg#sT_JYF!ZsBJz9b(m?^Y_!Uf_&Qu^v+&{SZdlt zkaJxnJ5lgciQg4?8|yK)K1GD&{df55Ku~b~c004fU~Won9fuD z5H*Z>5I}7OZ9AH?mcx)y3DGav&Ig|W0V)$Kg14Jp`{Om``Lj4Tn5Fy|9nKIfwr_L8x(;|CH;tz8ApB#_*YYUGhEa$EMmgl zvoGbtSYWm{OZM&60bx7GQQd7tz%V3b4-r@Rj%}6bC=Qy+vW7XmPYWA~jvCvVkH~7+ z>M~6b7Z~jL$ki+Y!14F|0NOlT+qvBRQ&HCB*D>KVLS0{IYMe&%9E)yhqRF`%l+|t3 z*Y|#}(pSN{hP|w{SHv+TLmo(FiIFJ?tE6uny*4xtPBtJW2_{$ITjvD`dDU0izU+^C zZs=tw8Im(ECV*?UYd2q|5fy~ugp0`JLZ?YA3DP??&H#iW3j#@fxrALQ zi{OKRV4m%!#f^<=qvzHBd`bby%h-up-#}O|9N)*td*#lx@tNzeq8r73%wV}6W`I%n zh-~5IR~jc9B)b4a!vyzw4Tdm<$FQr?xYIB8K|AQY_LV~vC?m=$lpc|nVPXG z?T9ZC(aLEIV!>LHY7ZK{2; zzXR}Qt?W#I zS~%`EnD~YC&z<3HWW|5d;(Y{I6t0)P4z<86N1{86w-&8=b)I8>PA=|b{ylwknJWOm z$Y9%>)#kM}`9vGO?URQSrS{-JTPwM8k8|6h?u{fsfnE-MD4!NIcZEF6Y8Sg)?N56y z*^&h7(v2Ln!KzTC$v#{!l5ah@T3aIT{+iN(khnix zm4@&GK3j_e{z6CUU0{Ev0+n-FMNM;U+=GC)2XZ@ zeIm~-(S@@lNk!XL#$TQ2>_&<*V^ftxgt(*L$EA+(QFD_!f&b@*sCGAmJRA!E>VToI z7eDa7PW_50z6v7Ym}sWs9!pJ0W#tp$&hU`30_c(AJaYiG_^x7a8Kd}UfL>+l2a(Bn zBNg{pa!e|{Zt~*cR{BAG8>CM6LC7WoSKgSK0$^5^{_arM7>Tlchw~y_2ZHy zJu6jFfVPfBGkTGbW$_D#hgIwO;I#ATZS8elRA_PSRw2pPgLBj3txzVFq0NEftK2Z2 zc(~gT2=*fAsML;!#54fZ6qc_=g@sc}Oq*qU^I*&|et|4EWvkEIyVD#{Pe>ZQs@Yt< zdDei*;r)wtWFY^v1^%~oTF_1h0Om8-{ra;2d!5o zrZ4F3r8IlO3x}c5Ef;#|sfUlbTIidJ`Tj(n3R+dtgwgE0Rkfb=9FDp35n$dwV19#f zv}<%9zhoz1+-$)oZ_q5w5imZ^Sa05%c-wZ(UiregYn+&-?luxZviod zsuduIn07p1**YO4?g_#FI&`;FR0uYJB(X60Q5^_B*aUdo)F@4{rCgqE8FScq0g(Co zafxD&>%&?_9GMJy#{n-TGH%9~To7oZPkL0Z{Ccm>WhoTwP~awpeiSh33w~;d62AX+ ziM>eI<6`4+t>weI?JGNebiq`;RR7caI3G8LPq*4RaH|@AEa^+`-A`%S{QJdDw)y6R zh>!Pz?8Yci+1Qq6Mdlh@E3HS6sqDV^N#?4V8coEoNV%c_eOWJY^8s;;9tDA#Az8Ic zg6!g^Ag$8ipPz5o;?AGYK12tlJBUwo&3E_$`a!nWSG8hSk_0hBW93JQ+LMd)S>S_A zFS`I#wz+Rdzz*Y*@|{9uRQKV@tJrjJ(oyGB%E12Pq0xfTO4B|qz@$*PCYRN&Y0 zcd=WHXNzCIn7_FwS4pah3`w}$9TqB++TWF@S=b8bd;mDGTfB%Kmv0{KG67vh2%ta} z?plq!{(?zBr{!^hBiB885;fQ^0-Q;PTpe;1EYG9miA5gY_|^V<_p5M;rBfj1?D9!! zyX_n(4!>&rmyjv>|FhWO!2r)RcB>u4DPeu#KnEH&r*b?Rv5GBnF+3*$#Ka+|@p$Vm zPPk$rzA>V#HaH37r>7y5PS9H4UAS&EH6e9OfUSIh#-AsWjht#GURD+h`(HZ0CCk@C zz!)^^;iMu@hg%Nda0>+)CVT4?(-I*UpW1xjdzdkj_q|zaqn7VQp4zt#Yp}$$AB^aN z(aUcVFzBfoUK~WTpfDbtht0UJQ{VauX94ki`Nd9A9l3Wj9g$dBw-JDgtS zcer&UGgY)=d)F*(qz~oh&KMJM@U$92PHZ=v(%Kl@X%cz*RNl~xL0b z;Y6(s-}9cFZ@oBfrtPev2nE!o)GWI7%p)1V3cNtSxZ=orjA3+V<7R zFhfzgO0J`AztVyK=EQ%Kbd8x^Z^ER^_j`B$dgde>UOdVVCcvCjoapeL^pY@EAi_>5 zUobK?Z)UZB&`g|jE2KeczaMZETMd|m`~F=7bIc0g=vcLRd(vrF#vc$)^4iK-X~Q_m zp<4;Hqpl{g;GK4DLRRMOg)0RG%fHPh@m{cH z?{>d#+1tr##3fFyFyTF)(zvzjilxN3w9gJ`L*}A!v*~={dNYpJsDU=Fr!M7t-HNZi zm2PXb#p{ENCX^6&=60ru=K85pbnlr_wTYj#zSero!KYhF*MRS)2w09;p#aIfU|0XC zfq;CyzYn|`P1x)5xZ)CjJ@>|jbR{i2?UQluTLmVn(M{5m%C`SOy#;e;($d1by^D6J zh_Yx#BFl$C-F6i0Ukt_Bt5U;h%egVAZECr=+^OKn6FA)XsJVTIy@EgCXI0gAZNV~& z?Smn{PV6boW(h@=cH0GlIh1;~Y=T*-m6>YjX~w@<<6d>XJK#WI>F=AvY-+qK%#|HV zV1(4o0-jRo!o11o`NjjB!m)`JaLIh%9$D0*6`FP_xRU1J-v{agR!)m64T z(#j!ZS-ZAG;JoLO_3VNF-q!0dX1dzj5^~e|kTyJV^&dW?!t#q@~I_Z}PO0jM>2kNrerJlf!@58Jqcmg>p#E1n1Ccm)g-)z(d}E?MOW zl+0cY0EYg>-SpRW^9vFG5k#F?-g?#3DK3jN*wvI!_xaI{Bx>_Q8^W>nFoarTLnnWJ zCflXsI$*%@cvyqo=9|fxRioF|0`8gxmYT{TH1ha^B)1%QUKmAO`{$FtZqHs%N+Jo? z4MNY}pU@i0H8UY6O?i@UvCwm>;vbY0J6!aa7WnlSy`G;QYM(^fc{VWhVro4eMfQ`# zQIvhJ>gGaS-E8Q7LrtY4{ZNnW)AfL?%jeHgmVr^*t$L4Cr`9i{v%8qJ<0!@o)K039 z`dVRu9=zj8ehz0fdF2w>7K_P!lA!Z)@x$YhK!mEe?CabxR=JJQ&!v1zY3QMGP}cqo z*>rL;>_{QCg06oOR|7>^gd)N>qKk~N4dpohbrglY`Nve*2H~~U52@!KsB0F+Q}_Qc zYyZ^N|CL3#OyK;%xm}!j24<*Q$jVeIw1(-_`+4U-ar-cR+B+Yd@#!!O2?bj*g!CsWEA&w8D831?&9%V#sD;);EKQHN~%t1E79 zW~THX)tt0}8mT>~E)<21YMlYELUnEOC zr4MPrRP#>)b&iJ%eC$U3j!_L~7gXf?qlr_Qh&j5H@+lOwZ1FV3(1!sQk)YG{TPPrm zmVe90@~%7{xdv0E_s|3I!4R@64XTw69^-MD#o}Ce<+;R_nA~qA6}>nnX~eeJ%uke* zE4{ZjKNzckW|K9ys_`*kH^L8ZN0wK-PIQMWY7HGT&q_&z%)k?q3p9G6Z}-?N4lMLC z2ji;Hwf)`&3dasiYsWNa(z$8}c#bol6D$KwkyB-*m9Hc81H`rWBzk{*Cxe)5P!Bgn zpd59NxdQnLP-e8qrfzug%8O~jpFuJ37_P%O=_bW$zm4blqxU~Ukc5B zNrl>2Kx@{IL3oj#3mBN&~AShlKjrwtwr;()@?d#;7}(#HGIm4X1{;3LwvUsorBw zr{wW-zFqIr+0_zK%Kr47eb@S)X6`@Pm>7{qz#YndtcBB$N8DBn?A{~8ImZH|8UK3L9?a_3< zUn-y7`5v&M1#J&(B^yVvY+|m7ci32mDr!`NtIUX3%D*+DYJt=`to`F z79_&X^)I91LT1Az^kZ)Hub=SB_Q(&BaE#&Q9|i+mZ*|BO&^`NckxL9q9Si!yx8DsY zh#${99xz+H77dkG5WSeanNyLk$1|muxL((yEOZqm>C^_t3Wt2axFiD(Cse`o?_r}O zrWUN{7cRA8xQ1r2K6?d8p>I^TJ}5bvYz4jw_7_*RG5jMPX7FJbG1?)gK*Fd6ANi*l zW^r6%fbYVuuZj#yER=@1QkFx}TqfmIw!;~9-6M(M;aqTv%)9j-HiZWYZSS>YGs`~~ zh$&WkcBX4GE#*0|Mji27tEWffTrC-&yFeJh1MaBB>D=X6v zrRvdS%u80_REMF|qJCV5RGN+6CxbS_PObtS)e4nKM4RqVXg9DV(5I*y&Wan{8 zuve);$Z1ADZ6Z)w44T zlVaoRbL{ZV5vtM^Sy#5YPRTV^Vo6`!*jYAPbS1CabgCUyd79DL4;R4ak~Nu(qyx;^ z6vSn^KPn*Dk~{WK-$Cudd>1_^^c&QzXZ4J?pVTm3eXy{9>~JUS9G(sX6yDQW%&5%& zBFj^pyI=ZqKr85EW7DmeZQ*s~NUylGM- z4=qA(O(;pgI1k6o_95QO)+en)s~;dBA-!)~344BMNl;uGtmE=1n$0<`5&kJIx!(lq)#KQD=<1fl z8xb8suZg01(v^%)R$@H9o&IdHoDL-yIBA3A#rf;~SLeLzQ~kft$*>D81W!coUm?7$b!$GV*Y;?rWkw{! zX?fs)amwPb&zS8Jzzz<*0ADuNBgS1GZQIqXwtQsQ<2g-Vk2pY<3L_+FS1jyns~_LD zRIMItqz%-P#-Iy2b`wFilFRqBv!qtmdKvJ_;JTPnYgJ zcB){ZWCkh1CQ{I=$rfDrC`b}+TQGPNuBDFC0TerjU0{kYkVvG^Kz{9pY z-wKV5B^CsP=mf$6rPriC3f5#PaP;dHi2Yz;W1&Ik#*r?oL7Z{Iv4+L}w-J4^0oy=0 z{`YKX{6du+W|I)<-+y9>IMQ?bcH`k%3i1jnNz&_9WJq6>&h&Pq{NDcX_hb@? z{&fi5WGF7!%Z1%gu?po#8p}6+H+<1HAG3$YqV;m(wK%MG#fIx#*0_o0(R(!ZdpygIusfF(acGAqNqPC+IxW<7;D#lx@)M^;A_-cHK-vdR28pC8uv!Ee6!g9>4YPl0VM`GVpeCr~ctW!quaH7v8>YV{g4ks0;zvaG| zsOhhJ7yfOvAzR5oXuUprEcDm5t3(x!g*R~GLv(g6Orfr3mqm`VJ(kI$DLCI-u#1~6Lmr>|lYgL+p7SY0a#mdd)W!nb4x_$e= zkiv0(*Pq{neR(00VRRe7k5~B#3?Xg4w>dZp8^f(QQjm8hBY{U#^H&)tM2O}wy_g-B zHWPhHSjq{dlRjgJofcc$W-5%36jwbt1}uK{HxMu3MnV^^6hs}HGT$4aoA{opgJxb2 zyp1;d+}JxunnYXj3voTy5N=&(Ys{B}feV5<2S&$E#lWglq$$OwFG53)6--U?N-_WdCnJauJ7+#+b13?>6iBnpVj z6hyeprlB7^jxe&QERa9B+MxrRf;GFD1qw?=iG?o~PyXP1-WvWX=%KeZ$oW&LdlV5aS1MCzz{1+_c zS-T!#e;7frJ@ytS_iQC?{nBxTT4pHC!V5*-PU_jB8-RL>K4)s``-IOoFkSeAK(t_7 zm~3ZgX7AYk--|R!i;K@x-k8$1xFfZ}fZWgL7r3_51#mae{dBRb%C?P0!@BhnL_yyGy`_$8gZxY6M_fM&-0nVS%rbjcPGvX-qR$=|dq+=V=bZ zt11=m;xqhKPbF-!fV6hmyw1>Bi4FE>47WZ__O5B+k|+fZ`Xw~_WE&Itq;^V)4S^)L za{!J$zpD={<^&W5lQitMgKD(W%C`Hlyesb1t$?FBjfJiKTrMQnm<)QKVje0&0UYof zeO&aOvV7AKw!If_p`rawZNY-gI_#Wb{Sr;n*i}rhYmSgo-3Usz3S|=YlXt67E%iznr>3Tg7yldAioaNT{e>F!s+sX26!>M5mXcI+8Rx}za>G!)@$a>ZZrirBw zdxYMs>dTOU`xDh+=I9LYBKin`mT zgF#nos&BOViMm;Gs~z zrxHPTs)Fs|jI8B5i`S704$Qnx;53 z374-YdOx5ekM&HGzEp8Mq9t^A8zGtwu`C}>S!S8RM@1t$H*rcLEY+RtLblv_Ys8{Og!dWb^vc`6%UQLcq9LjzNkK;8pn4G(Jq7cP5 zQTaFgb=AJp-J06*k=gkPL|QWW@l0HCJkDJ9zjd{bn^@GL@+cD??mEU1|zN&|JXq4}IsZK@!9!xz+`I9X5 zwcu{H(cqH#Dio;19wof=-=6P1KfdA1w#m0I9iTqHb6r03nydO*dC(+GZgAtIkEM0> zh5X7W;fvChn*G%qj`@diRGpu-36F`OokiUMehmQ>)Ytx(bx7;nwu`mmHe_Q=>m%6c z;@}RHk-1ing6TF29q@0i?=w~(_Bi{0&03z_u2Nb}9|}LB=HS=*{Zs3TH;ZJro&;p1 zJyN^qv_RJ>RYa1Gqbz0YaX`2740VD`*26=7jO4Aw>lnFhJv#F_Y1LAS=n;egRr?8D zL|H_?j_VvMx8B4m>k0aQgH+*!qkQxdw`ZBcp3dLO|2gJD;?($UO!uwS!awjnLDzts!e)8+F8Ifn%>7{#7Ad!MSfjb1sj{cfu;X zq**6kCT;ET0=10Whms<%65fSP{(ibKP~IlL1m`>_unPEMc|ygsCyp1SGff#*o;!fm z()Hhv^mjbR{)KJS9~*5AO|;`ySbmTD)|CnExXj(SV#cGO#9vdE8~LJDj8ZMhnzz%i z_8GxWYg&cfseZ~J8OrLQVHm0t)(Cm$poaZjC;OeE1b&Bk|IOi$=&OT z)ITh|q-NCyBeN4Ti#!;86WCN;qDi?72$Q)U34MFHVx2p?Lrhhqc5R?PWG3nqR>v@PXx2C%={^OCf!+C6Wr0DGX_TE zyjPsa!%3uq=2+>Wooa~eN~L{DQGf-T^fMP}+(CrNIICx-;h&#HA$NCzMLTNtV<-3f zxXAflhGe4E18!J|M-(??J%46RpxMvB29J$SD$IgR5DP+gMe$MkxRRw&Km5ykE1DH4 zeAfQuZqd)zG1Ocs&X%{Kv$iWOxgd%A=w>F4y_$0=^cZ1b?^+jO-891J)reJ}rye4Z zOnaP$lgz5u-Qqq43s&d;6CGlA)b=>{TVl{tU~th4A32$S8^CXIsliTr%QM{NCu(rO z?h5Vzrj8l7VsL{<_Or+IFC(dfPkFR8*|DF#?~Tm!&c>96j!%qI$o6Yfz&BJ!!PY{BS+8l7_)=O2@!j@dCR7Fa-pcTK7YV<#L&8slPjJ zINTUW)3)L%3@yz5SH~#v0YjqHc9k-2U%K&p>es#&hJj=?#W4DFn*{Q9_8RO`CGJ>BgVMe;Si_$e)dPX_pFzjGx(j~2Y} zR}%PT=z^y%nlJS%Z-&vfbKH~sD4^UF>9>szR)lM_YLgB8?<`Q$4`65s&3+4Q6fQ@3 z=H>HNXr-&1Skz7#q#dKwf+=y+ombHy6w0#EZwiGOk=c4O)J}23M>8kDx7t@Z!UaK% z&=bCm^B!60d*H}H3@IcjbpG89lBM`{`ew+^HN4*rgqRYDlJ2fwl<8@e3NYdp2G9*J z)BMgOn=lV&h{JbX zL)!?NICCm3igvXXANuF4A274|Pt&$|ze6Orq>TeXKoLpf?rNsAB9L9$I_^D7kQWLf z()(Uw7EFBx+#{ZnRr}}1upp)Gwv8Fhin+$alhc(J5#-Y=xUhZ8UZL}>mU)6;z+{gM zrv#@A>+5{CL#s4_) z+W?^rxM(NC*JnXjVn3k-$GP5tdVcdXF7pRZtjMcsdg7!7^!JxgAxAdKl=BDKW(o=# zWH|$hKUBf*lb%ohbq0iCXuKA{J?(YgYA4whcF$s_^w*I@mQNqMiMkTY6oYhn4(v-I zz^rp9=atORu&{ermtaxQXCxPUQ+#*fPWsYI7NQ?e?-$SBnsM*Xh-sG|ck#g4~c4kUx%tr^|9croY zkAWJjT29ipe5g(S6j0I*ifT_u$9(DHB8nTp2hT`qff(GgPR|~}RgvfhKuU>s# z`jz3Z9zu&3wO5Ckz5DvzZ@6!nN{m2$6l#Q26h0pdB4-7{XuMcNlrurK+Yn37vQ?D+ z5?M-MMd~N&zjcnL18W*@3=Kd7wZmni&GX78oYk@iVqf?9Hz_Y(#q{%!Yxt?o>vpZo z)q`ppIp`$*O!EDb!BZ&v_j-W{N91TaiAq!Gr_a>}P(J>(b-~t{ZE;O=TG+X{KlST9 z8E_|2?7sd#nz2zLM{-KvV0AZ3_$wVNFQ1RDeZNJhMly6%KXi`?owRTPN#ONAehzpR z;ukZ14D+E%U-~uyrQNVr&E&M@RA>m%UMbqNM*fFMH(9!3KxYB^b*~L*Ptjby(8C7G z6bsy|jIfdKi7)N3Slhn(b2n;e4tM7-C6BWrE-**pilmCrjY~^JH1M=rfbv61Uv9ukpetlrdHil)`X4pi18aY_w7XMoY!`Ws+xZA6JEx@{TJyC|+~H)Lh0G-=R>Nt$m77wuHxIG(9OJhyK{kc%aA_W(ZC+&Z!v|OW6*G$F zn(+1hf&*@2kjbDz(?{t-*vs?Cf0Vety_>+~IKYJCbZRS2_I-%>cV=A;nnbv}xM_ce zQo29iq^-i0#P0b>r@nApa3tZI0D<24emzxy8U`{k!hHd{hZxCADLxr9;PeXHf*xz9 z%D9g(%O){46I|O)8~trx`stf*PQu&oMuvtyRSro$sLByfgul>UG6?9Q7FyeK#l*MQ z&eHkJL7{V-p*mERxCHNaS;h%v ze>lUl#Z0U4guS6yiwAoELf>l~;$EG4N!S0$Ph=a%adGrL{3`PE{;&18k=CN>L*xal zX(0S;`Y#~nJ-kaF-cRg;4>;Z%t9Djo;;uatp2%OGE+Kr#k(9`(XwBnFwr~QjZ7wPksxoqYoAIm z*FcR)&ItM96BW!JJ0y)pS?hRHcC`AH;&t*P)P1Fo{+!SDBG^5RsqW_bruS2u zFk9#>^wtn!pVLrqKLanMhR3#RCz&oZxveU+Z~oY3^U$e;J{-OD!7jM>N^KsLjbV)f zou4ghErO_X(DQGQvBSqHB}-j8E+1{hk*ud1-MdvG;YY6WA;%4(v1z1nI}IHVQ!NL% zu$ifG^M2E?OYOzi~T zp$a&X5|0bTS(J|DJ z4sN-+EEfMh+jb{qmEz!P#V?SAf$yVBrzB^+>d_ocCz=Z(_u-2xBcEyl6Q-K$$IS}g zTR?7}9xS0`Xzk9TU*@))vEU0gJva{6VYtyU0-7-k?MmWpzrNEK|CnalY?6c##O$- zn=C7>Hv7_htmUXn2>}Tt9#kEdvVFZ+2i;wi*0N?zIX}Vv*OczLS5WM7e<@zAQ$twm zZmmd`IJKbvj%Ys;Bb~pkoTuWXhhD)C|2@rNDt9-^t)0jsZwrWGGxJ!U3mMqvQx%11 z>-3;5Ks)qt?UTOt#1}hy!L*hlwbS==F_>-CSenu}T#iAeYt!%#)o(0rMmt<^cmcmav8gt+D#S^Z3xG@yyToKs(CGz=jI=bdgUow@rvuLE=4rjE> zO!yL|-okg#J2Tuu~1Yn6peI9XevboDT0I!flx%04pO9rUIZi%l^~&sfYOUJIe>r& z1Vaf2X+i=>kjgH6kfipI}{DP(odf{lZ=5p1BC%zgtVc?-6s~*KJCSn@f<(x ziJ-_hKuV)pEI};Qg?`J9O73+Jo4|py4Ut+oi9>VqHW?j{w+C+&2hYValRx7x%-?Zr6}9(}q^?&Td@}6}vdg z0gG0^Q(?UQ!4#0-Z3k>omI)^%YtwNJUt&Ob0c>ndb1J!g=1j~h(q)|Q(eL(;GHar| zg)ap8UCyv7B{K_cO#;M4igWM}FC!ItF!-*onaxW{i|W5zqO(l#6BrcJ4&br&IL8>@ z!UAj1*kps8qr>o?-VZZKR3p=;xwBjiUiSRvq{*0|8UQt6a!?iUrH9NAQ>3IUM>ex6 zUz<_^U(>zSMB*BtL#VDPnu+@0WTX-$v3{Ot(&txh%d`Xj=6l!H} z+ibD*(9_dr!1`k|k{DAwM=S#8)b8R>pG3%B=|tkg;BEv@AGhx5^4*eBSr^LPJ|hcB zf_x1kC))xDcD}~}amc!c)M8Szkq%{&p=geY-FW$Gn!f@$IBocIZ!cM9x~tl$6<)kM z8EH&xjdIlw+e=2gDM8jbk1hRjU7gSI67W38MsC-;-48*zX&L`W;- zj0&CtJ@(m4 z=vg@nuSVgTOn_V3K0UE@yT9?bZ`g7K_!G|36TW-_JIH!%fn5Y4_R8)@+L?>N28Hm+ zlS*}l89?%A3i1@6p<~YZohT0a_U-4{Cz67W@Yn+tTVNaS@siE}=})TcxTc@rQgL#B z;Q@H{nxL3{T8kfA5T9L!3z9q!!0+Zi={JuY%FXNC&Efqqj4!UB0t;+Zjt@ZTCNAiT zx}_4fhvJM8>w-X9-#j1xcoo`5T6Gp9Vzr&wVfS}nO2ozOu`nQ>ja5WjDci`v5;M{J zlaYmGX=iJin$l>!TrfhpC1d}$GC)K<=sTBItUz||UJuJimmYCf*lZnC3i7t7B1#rV z6$cD|$rH59VA3NV?MFm_&I$O{m6t%|^_b?BeOgr@m0w_d zaJW3!%D*1D{s@5e3WhQ~$KSo4HAIW|;Sr?rvE=2^bc!=kU+(H7|FH+u0zkfR%swUO zWAA2J2`QVM&xH5Y)lML~5d`3a0%XxY0_sbxN`;e5T8(v6@;p9or-EABAkZz!6p03^ zaa-2uOep-LcIEC!4s5X;$>w1^0uhsw`rtkrf9 z=d=eN_$OX|rulggj0}v;S??b7V@H8q;-CE{w8&M2I(pc(XiCmyp6!4~A#sd*B&0fy zFVW8U&St8aTPVXh%Sh@>7H2r)z1Q08`s#swZQvB0Za^&}w2C`gb1fRb25C&&km?rF zQ1jt}T}tbkFL}Vzw9~J5sktK1;***HCYi5KpTEb%saD zHWIJ6fI93VH4>&)+3CPeG}S>aP4}1F>8G1{ugS63(}#2y6DuAaSqGeogK6f}%4c)kB8?T)x|1nTglYMQ0^h7`);F5WZiPJY1)S8IZJS?FRR z8wzq3f6%q)`a1`vhlCvq)Q~cgMzcenKQd@~(OhMYGSAEbk`P6nw>he^8eYWGQ-VHZ z^Z}(;5262Pe=rLJYXTZ3r&&y%!)#sWzf}5*T2V3W(4D`7XZuvWJl z5M+pG72%-K<-TJa!UeI58i=?49effe-QS)7=}xERE9(oenMrYM?M+=O4n7=AWGTG(_r5U9Pfz48)XK#Mb~?6- z#$<~*(hX&QQUNljr>V154mSK|`>xPq&&H+b!9*}b6PX%?0HjHUbBM6xreZ7aFbnFc z9JdZ-@J7TA-4<3uHtUW^&0Ivc2!HdjxemWRMKovTP&py0lq}_$VVhEEjF|vvTU^ z#)Y#qR^Wf`90sf8jnEYFGicOEeugqe< zozAetY|klWg4VcZPWItB?cMTz{^ymhtS+<#$1A2Us^D%Qc#rJsrU2#5mBonZ|M1{+ zG!VNGc~SM2j)u~L24+E^e`W0jYP1mP(KANd2nm7ZY|PdFrmTn32<5%YFHR2^0D@>) zUcp9fxm-Uuh(6H9B%Am3!5|XFdE6MHNzq>9#&v$}QG6TmZmR-avrpcHvDnGA)bCAf zPCL-YY@+A)3RA9~W}eR(Z$cY(#4uLH4on3O1ok*hqlVvr-@d&jDLuWtsQG5WBvdgK zw@zD((6CIQvhdq9996-q8@Fwn6~4EkPX-n`SSJ2sdpugt%PBha|RBOV0v!^W;!7p!QU`(!Ax0DJEzXM@_dRCbsV(X zQ|u>Nv9Vf9IZ+X_po()iXIz-Z4>yQIJokDwU$PZ%asLLFE3`>P#`AEFm7Y!fGFvks z758WM>SHB`oX2`yDGht0NU-AbmFq`K@@YfSWW(NjM|Ua6`AbC9RFvqOl#G4<@;Zhm z;Rkr?AO8s}y|B7HD5NjY=JucKFHMd(3lN-6AlYx68$0nC43_prKi>Y77DGxNcUyXL zhU1&{#nf`d!V6}@jFt93Covj%|Lt(6R@|sY>tmO8!w%;9&VVz{RyaRX#7=i?^l9Lv zPwa^J#VD}@H%#Iesoa*aB66x<%cZ}{Vh>`N-P!trpUtxM*r-d0V8!el(NdJv><1xQ zX!wA7r{=Fjt@24j7CxTkpI@GHvdcmzFjbEg(trIe+ZFF?z1j6F*7g}(y zKpK2ILJsI9c??ST?TwTl%wiZaI|eTep-__T_u%5}={W1uVcJ;Zmr9?o2LB&@+x;c` zK<%$&=+FlZO7QoVH*zZ2&K-R|`I|~i3g>cO8D(6tH#(J)fL5yrZtY-3<(U1|Kn<4& z#BgX7YUEWrg^Oc0oJp81IQp`9Ms1`s{N7Tt>$_SOHKUWHYxMLUHhPahn}cQs?w2!7 z)x5)8y~|wHr>quP_kfrq^A-Nw8Lp&QN%5tI`yFFA5ALbnfR1pT;Zm1?P?8@{y-g!Z z+@YT*{5i$v59tGp!UHwJ|;ov%i*34Uz|vOW8JDQbUcRuY(?tdS)g!IHh%1k-p|8qi(|X z_XW;@n{Q8hNyHrVxI0^fxufQgPnBzXioo=Ice9;r)XB-nsEv8J$Tt$d$5Rtpm*Uh5 z%OR|sjfcc-s}PKs>XNd+j8#%q(O7`IZAhti8Gd~Q8eekpX>b}-Q(PPBcZlE=XL8Jq z`1KzN(CPFT>=pQqwaVq|7V4k?dNcUkR_)xyZv4Wuqf*1=_fByexSKmA&cjd!me@R2 z8{P;``oSc>PZ+ufGmP*nO4;0#N{wAJ=9;ad;i*9Y52LMkW#XZoH1HsdvPib9JjRh}5fT&A`E4e0YuZU~Qst+Dd32(u2tJ z(%kq6oxxxzsO7RYY7xT(Syb_OE~6!XUe(mVrZu9CcCW~m5$ZWw?P~Jy*2e_mg7OMq z!)^I;rE+5j9xqoZ2)AukPx!dYq9pGTHeRH!_O)2&exD;5v8Twd(W)7-Z)9De8MhSD zW?u3KeL#}VPo2$zU!U`U!Ng7ktK$tjGQK@xT?^XYNDI*9LR{cx<&W2(TufYu+25Ib zocQR|ZM`d+G=-YRzMC@uBh2-oAiCVdD97TK5Aahk0j4 zJ?OBm)S76-#vA5&U4ZXsy7ORJz8gF{0sQ02PT6GC~w4=1akzLd45c{*D$O zACx~-9>_>J6*=G|y&S8Y*jjz<30D-7xq#V7L;QaiQep%PT1%_A^p^|PYyEO+6|`bh z*%pKOE&NZY=>F~h2qUcK$KieAWV zlf!x0S_RwlxvLpnC?RA}^{0NK+MVPdf*?iR@1vFMzvon4A9s1}Jz+TJtmsj(ilgnd zoVZkM{eA9A?Bc$O@^YZdss3X;t(_ZuL|wP#QTBC|`DmJ2`Ihe|_LBa;gZa#N{_;bi z)81IVf0P+6w7j#!i2HLZC*L2N#-UUOZl{|&9|^GlOy^o(fwiH^gw&(C&6iBjZ5B4u z2D@ZEcUA-@rNneOBMzJHaqX?>SZ5RLASBr#I2m~`1TE@$QD$4pHRe!nLheGMTt+AA zKmFUwVJXe)djltI!F#rEvt5tG$%l}s?+FW*s%)XGrB`w_XEx5d!MEDEy<+E-hUR#jUw|vl9Jt;r`^wt=PPC_1lnHPL}Q5dWJ_~6L*(uE=bY(T{a)UJ zJcPTyefCI!aJ)rykY%+e4!#RJZ0e<*P^Ad+Clgc@1=XTf`AqF#a^?@czsC! z^X)$)SF&}EKKvcC?+@Q86Nn;UcVC;?tCfBK7%hmwGTl<}=F&uRs`H%e9n6Cbm3IfH zDm(Zrm5w)B@{6*p>ed0j=wBGxURI!_XVdiCN%%P4Z+?IA^rGIeO+;l=O33~OG+vw! zK-MdjCM}7ze9Kifxz=NLA#)om4P~sAn>zpARGu9}?mP&*>BPA%7@uJi^u1KAi`10X zOPin^gixN%;cFVURv}Mv{(VqbEcV%ddyB=ICI3Giyc$T8Hj!Gd{G^2#U`S@?fEf!kq)MI?1Ol;V*4fe2(9rly z2fP%Z-4o~o1J+7 literal 0 HcmV?d00001