From 7f7fb35f77c57e0f088d7abd3d0bf11753dd3bc1 Mon Sep 17 00:00:00 2001 From: yumaojun03 <719118794@qq.com> Date: Sun, 1 Dec 2024 11:06:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vblog/README.md | 7 +- vblog/apps/README.md | 2 + vblog/apps/blog/README.md | 12 +++ vblog/apps/blog/interface.go | 16 ++++ vblog/apps/token/README.md | 11 +++ vblog/apps/token/interface.go | 21 +++++ vblog/apps/user/README.md | 6 ++ vblog/apps/user/interface.go | 8 ++ vblog/docs/arch.drawio | 145 ++++++++++++++++++++++++++++++++++ vblog/docs/arch.png | Bin 0 -> 73492 bytes vblog/docs/page.drawio | 35 +++++++- 11 files changed, 258 insertions(+), 5 deletions(-) create mode 100644 vblog/apps/README.md create mode 100644 vblog/apps/blog/README.md create mode 100644 vblog/apps/blog/interface.go create mode 100644 vblog/apps/token/README.md create mode 100644 vblog/apps/token/interface.go create mode 100644 vblog/apps/user/README.md create mode 100644 vblog/apps/user/interface.go create mode 100644 vblog/docs/arch.drawio create mode 100644 vblog/docs/arch.png diff --git a/vblog/README.md b/vblog/README.md index b40a41f..b17cfb7 100644 --- a/vblog/README.md +++ b/vblog/README.md @@ -18,4 +18,9 @@ https://gitee.com/infraboard/go-course/blob/master/new.md#%E6%9E%B6%E6%9E%84%E8% ![](./docs/page.png) -### 架构 +### 架构(BS)和概要设计 + +![](./docs/arch.png) + +### 业务的详细设计 + diff --git a/vblog/apps/README.md b/vblog/apps/README.md new file mode 100644 index 0000000..f51fb9c --- /dev/null +++ b/vblog/apps/README.md @@ -0,0 +1,2 @@ +# 业务域/模块 + diff --git a/vblog/apps/blog/README.md b/vblog/apps/blog/README.md new file mode 100644 index 0000000..2e55a78 --- /dev/null +++ b/vblog/apps/blog/README.md @@ -0,0 +1,12 @@ +# 博客管理 + +## 业务功能 + ++ 创建博客 ++ 博客列表查询 ++ 博客详情查询 ++ 博客编辑 ++ 发布 ++ 删除 + +使用接口的方式来定义上述业务功能 diff --git a/vblog/apps/blog/interface.go b/vblog/apps/blog/interface.go new file mode 100644 index 0000000..bdb260e --- /dev/null +++ b/vblog/apps/blog/interface.go @@ -0,0 +1,16 @@ +package blog + +type Service interface { + // 创建博客 + CreateBlog() + // 博客列表查询 + QueryBlog() + // 博客详情查询 + DescribeBlog() + // 博客编辑 + UpdateBlog() + // 发布 + PublishBlog() + // 删除 + DeleteBlog() +} diff --git a/vblog/apps/token/README.md b/vblog/apps/token/README.md new file mode 100644 index 0000000..1e1ae76 --- /dev/null +++ b/vblog/apps/token/README.md @@ -0,0 +1,11 @@ +# 令牌管理 + +1. 外部 ++ 登录 ++ 退出 + +2. 内部 ++ 令牌校验 + + + diff --git a/vblog/apps/token/interface.go b/vblog/apps/token/interface.go new file mode 100644 index 0000000..0f50e7b --- /dev/null +++ b/vblog/apps/token/interface.go @@ -0,0 +1,21 @@ +package token + +// 业务域 +type Service interface { + Outer + Innter +} + +// 1. 外部 +type Outer interface { + // 颁发令牌 登录 + IssueToken() + // 撤销令牌 退出 + RevolkToken() +} + +// 内部 +type Innter interface { + // 令牌校验 + ValidateToken() +} diff --git a/vblog/apps/user/README.md b/vblog/apps/user/README.md new file mode 100644 index 0000000..f342147 --- /dev/null +++ b/vblog/apps/user/README.md @@ -0,0 +1,6 @@ +# 用户管理 + ++ 注册 ++ 注销 + + diff --git a/vblog/apps/user/interface.go b/vblog/apps/user/interface.go new file mode 100644 index 0000000..76b7741 --- /dev/null +++ b/vblog/apps/user/interface.go @@ -0,0 +1,8 @@ +package user + +type Service interface { + // 注册 + Registry() + // 注销 + UnRegistry() +} diff --git a/vblog/docs/arch.drawio b/vblog/docs/arch.drawio new file mode 100644 index 0000000..1027152 --- /dev/null +++ b/vblog/docs/arch.drawio @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vblog/docs/arch.png b/vblog/docs/arch.png new file mode 100644 index 0000000000000000000000000000000000000000..7c73dfceda63bd0a10088865281518f7e81c1195 GIT binary patch literal 73492 zcmeFY1zc3!+CD5H4Kg6oH8hCS00T%5-G~SVNC_z2jU$Q!5)vkj2pAwBilUSth(RkQ ztrCKSw8VeyVF=?r?|a_!e9!rR=lh`<-%hvfITYp}O&j zM?wvJwso|!_poy25f^o|<&i+~h>L3=JXAc)^h6~!)m_AFwe+P#jV-}taEFVPv)#r$ zJZjQB%Bs*GaZxewKaZLWkFpq#iX?O+c3fva4G$|f2R&C?J1201t>4CjNEwNZv26V} zE=Y=rZd|bU*qi_u5PBPQ;gDkh?u}cwc{|$Ld2T$5yV1+l)yd1z?dOX&t}ZTiHeNs7 zXyxJI>ihF;r(B(I%f=1nW@W$m#*Jw}7Y^B2IsJb1h@-8S18!O3(%W}y+Bw=gY`$4c zN@n91XRFPdaSQfzu(Eaa-FO~*2`e`bS6A?;8dgiHc21D&Hs!MMoce$9>(=}|>|Ag! z|HlvDX6)(ZzqvL$Td-8zR~J_ouwoSlFJ~t(MKSQv&d<@y415+nAc^~CzT+1Zq+n6p z4=6~v*e@<#9{w8-Nr_`0gDybNi5>tzQ2|r+@ZWwE`|YP^4edM}o$b8rJa7YU$P$_; zxB$NVVb!=xp03^=Hn_V0oFGJbS$Wvo;bbEPUD`ydohx{Uhd;Q*!_LXd%hBiO(XDWp zvERB6jE2(#_~7h^Rn(uAhI_S-m6JDa(2cq55W9z~w~MVE1Vcz~LG^zY@Xki`#ra6o)`a(qKF!?yK)Mo~01DYYscGym{ZhA`aZ{ z-yx18cGf%+$~S^Qa+tl%;u)NFFsw9vNU&kiW?btQ;tDr%*h-JY3J%sk%D3 zLO8)e7g#%|UoKfWIoi8`J8S^%AV{e|a&!cnTN(F*v!ksov>X1Yg`f5G|9~PSe^-Rq zrrq1A2npPM|B50IxcUEIgiCR0+`4eMl#s@{6LHZUz?1~O2D_Jkl7|fL#(za1xFL2R z)5qG$)gIUcD>p~*x2K&4K+AtF7$r85wkdtY@6s3hqxAm*G>UB+?LRvsR}U`-S9@0% zD<`#W7q!y>Z2Kl8*u2m;bI6p${#nn2bwfXUChX4q-FW|xJrnLxLsv(@1H?sfMjs(1c0gQo$A38OZfbkelWuOI z4flx~WZT^-dw5tuesc3RH|Q;%(Axit*CKEZaO*uAXxU;hzf4m~>K7Y;L)^Bv-IxLP zZCKx{vFVhzFZ}~|EP)gFj&1JXP6)xH0{jqgOW<#H9u;Yr zBZGiE92gTgJm@XpZ)IpS=r$D|6%=+#qC80KPte@J2piN}iXS_=8jlL_nc#iksv7Pw zWdw8+QU;oexTpzmjV=Pe87>H^x>nYJo&V%Y|K~2!!_Lz&z{(m+9wFj_g94xwk}5os zC~#%toqymeIC74A7~F%X{DHg^IJvBHqM z0e`k2?|SN#Ct#7#wQW>_aOa=Gq1f*@gfIedp^QZh(7Xx?qDJDPhqX4|zk@MCy4xh` z|AcMaVBlNEaqH{0Mf)eLv$i zgdKk*yMJxSA%XZsfSWsh2etbnx%ew$4l&#Y-eL296VA`v{_l^${={|vC=hYvU%++6 zaO{64I{tSiWoIe?asm+b`Y+50WF0n$mBf~{FyCfr|G;=)IoYp7?SE%c#Bc%VUzrNP zS)*T=jD#fO0AdH zDu8Be_@3Ws_$EH?s|?1duww^ROR~zi-w5 zAeC(F0oF(y-rvn( zB*byH3AcX{n@Qsx6515nUo9cT@1E*^7Zl+*%LWnIWHWzeF#kKou_>gTj6>pIjbeU^ zJpVzuWAo)ZclEDv!QTxVsZDdW37bvRvja9_2pqJ2!p-J`o5`pDRXyhSJTKPMf*l2N zEZ9sA6oLP0=RmRrWMlw&0?8dDl-Yr3_y(i;CD8*6qYM;*K^Y%#zvS7+`P5Rs6zX|P4_-_hmC;T_5&|faJ z-+Abt(GT*NK$1{8QVmKf{M&8DuR`1OD}Rg7{y-KXa{fo8ZESpyx&;|tVC6-3P@{i0 z(j@;@q~Y2gc6y#a3r!uHwZi7dkvQJ-ZxtGDi{Q4Wl^X88e3YriqC|CosDR}=ZCh-*`0e>H?R>*7B__}6InH_`vy zUKIhV8d!Y(gYarIc=*dD^arO3=mwN60K5Yb5RmNu_lE_)NoZ3XJ9hNurN3H2n-R!Q z7}`o~0%nGQMD_1>6cV7f;U^4jisSE)(4R2$yU7EMN}^Cg1HcP(Dg9rN4E_~WQk$i; zzg}jbePX*yexnC$`=|ky0)dO0=NdM@Z=HF#+VfC+*Dj7-S}0``Ka24c(vNnYt92ER z_jg7YF`wS=d{sG4{16GF&h2`X|H;;y=lYL)bzWo^3;OZY5I_zJb*0=EEM~e9iI3B5{5u za{S2fa?yujiMV${&s0v4@-u}uHpuZnv%rngL{Ioykm*Yd#@=(^O=);)3}!UU%sCa~ z#|gJM-Ex;)t!4-|t&OU5D989^)(4j9Zm&ZL{|dZGtNE-=g&XRlG_5tcdd;3Bj^#QG zQn<{e0rP|lUYirzzy>RMkE%KXAMBdFsbOq{Hd8WWVTUO`=<)PN9i)e0&Xs)bx?L{t zG_;Qyc29$F&aG$nqxrrTlwuj`r&n=_vNTsl$_Y)HFS(*t5b*LV`ENy7VSN!8gWL2U z*TgBdu1$HYzEnUQ_3>pc{n=h7V4{#Ll3c zs9|R`YP@07&6p0!yrFQ683+78G$s^P!v`O{i!qagyWF2!{ThY|?`e4)8vkQ01B1Nf z@vsU{YljBX@z4X2L@d*N>V*2M8mIMFW6v}!mP%e+9m60wy&K$T%-^S7RwtE;!CV?! zKI>38ndqr>a2pLW5;UGim?+Y!{1D5mW9En(F7 z!&&%*8fhkQ_-^`P6u}(JURZ^0N?;8hEPRhf4H`CmQt$fn9G8mfl2(L3zM6^XmmIkD zonqlGo@jwf2o8mO&DQwdn;)JX5$>9DV9HQBxgrSvFm{o2kYOk6M2|PS1u*Td?Bs1Z zOR$!Y@l%LKjI+Q{6mE-Jc%`1yZRS~M6V6O(%$}AD)C|b^y4%djTGH?qrDMh4J53H= zo-bBMt#H7vUcyLcIU4h2JL+5NUcg^qKk@a=@@S|~TTM0RQw7$9?qlvgf|?ivhq#4) z_gV<5pyZqnwQwX+8vE7;;6RsifY~VBr2=oDKguJ215-x0es{wDx{&vn`&4JF5@(OY zSInYim?puf)_53FTyM!gbnNoF3>_hI@rFacj}-qyftx-N4u&EPtBt3VQjXlet;@O( zHW@?GlF>1wbbeQ}3gJ1*#y}0i%!?#y!JI`?&u*SQ874J|ZoNvSr$({BY3q`ATOuVn z+h*=1xBKNC8+ldln4N;Z)Eco4xi0cp9%*HHwcToijB2QoO$_`S-aKJT>b>00YS3~G5e|%x- z@hFkY`8{{^zh+s7d-2RG>fW7*?vR(i9TCioVZOA}J_#D6vu5IHCP$%eQU_AGmCB?d z(&En(G!hNIBZ5&P$4SU*NF4QibAE7j=u{5hUr9)v9ra?zH`=AITq+80(3ZBdXTI|E zVnT9lI8F4!FIoO;VfT&si%^ObX35p+CsDTltO@W)xN zL*AeHFa$ptF*h}WNfgIt3_pR&F20-Z{q>CoNlaM+q}V(Uo|#V#JM?uPrlfcYQNVaJ zF~c(Jj$T`ZaX?XXU8@NkRn0QWMqp7IPU7!bN^jNJ6>_m6`^!OrU_OFOP9cK&poS4+*q8ztTLb-Vfs_e=*=b%j8|MrldJwbzfCR(11gvmJ3&y}#Q zrfA@1LJBqGcxXQ>Ecq2Gu#@@LcM;!vd~XApsS!>^kFi!=sh%{7O+H|GzT30(@$J)u z>alFBcbqQ{O`1?%9Ez*Nka&%8!tv2X_Kj7Ft=GyW#~eZoROf@s4N&;KNo2&v5goH{ zwe*s$YhEkzF;DyUPG6odQX-`Otc1ASFguU9d3oaDE0n6wiV*x_@!bX~@x znflpPnA36toS94fth5efBb6FSb<-4r0~+P5h-FnzUNxsF$vm{CZ!hbdN5jv7wopW2 z$Ss=YCzU%m1kF}8_EMO35b7}*U9~QDTTTtPCw_|7YbT+IxyX8de*)RX6;~J`HFGA6 zea%Op-}bQ%v`@mdl$u3#-Rz#^5oRiO+6Iq5s*o@0&G9{AP3_ES#e>~WO%Dk7 zQqnyRVnl_-<&WuC(!8z69uQ)>ss8x__IE=g;4mYZu3BBGbo5-4S=UxpYBnU3=+wg6 zi4hLGl*d#rCcNKAhFcs_(5+uqguZ?{o!Q58Jyb7h@V!nH0ulY19BUcVGYP%A1W%iB zQPN2{X@zGy@JD2fXK!r7bW$)qUXCks@ia*1hKeHneBR{~=a$-Q_`v{_^|%3A2+1ak zd)(_-tGc7@(^A@*DJ?Ag1}^wjGxv&C?`~9F4|*%Z_kihisQ-B3k-ntTCKd8W6*E%r z&G2*broKNgKXh=qhPK}E@b`DpmJdrPj@K1FT>sIxZrzq^B;0rG6SKDH`psJV0OQu& z=Z09{EU2A+S-(4Yp@%+JVc9`9MOIQ_3caUhuHBN|^PS`oYkWdfnT=2T3E!7sn6>`K zw3SbMXo8YGJ7l_mA#%lFz>c_WiI}`D(cyNo#P>{guC{b64>b@C;G@P~WrhA{`Ic5Eqfc z8k*_eg>vZw;L4MMaAu->OaISTh73ZN4~aK^w_E7(jeT!=%=y*)GjC*rr(-%o*H;t1mVZx~eBKb`+v{)d^nAM3y%LX@yBYH!c;bwEgUoQv zv);LU#{3g!@*WMom1vAwo$nU8v%bDIxjy(HboC4z!4|SO;5RJScY`G1B3nSN+o3E% z{bN>N`a*&78037Mjspxtu&ysPhSo|~EWN9lPs~XRk(KK4YGq`Ziw*k3HQjc|fTwS0 zaj3(!po)m#``M?{tCOLj{e3`lCq$2g&Oc0hc`C_ypXGAPwfM>0p>NM7^}p=@eC3FR z7U9(DLLd8ZYM_gF#bQFasKK>kE>F!)qIVD8uuo;AZk7A?#Kw5?=9zr+>;7f{um~YF z)t&GW)jw9|!111h?|>x+9`vKTFI5?_GQ_@)S$IAy@7^fCz)iIZP{B5w78>HwO|a+S zWfakYC;jKlT+8O-8#Q;!Ocb|T_XRIRhwV{7elW9%u4%UZ?DI9RMBg+ig8!}j!pHhK z3{jW-R3(8;to%I2a&_#8)`={I=6(7sMltb`;bDi$JJWhnzg)NxiV1(zZXve@md;1v zQaYN=@!D(RQ9JMYsl%a5pRc7UBi<^mueguizE*qi``hobE+rp5bi`e$OUW)nE_y@|c|Oc1`;jW2SB9gshEdveUbP6i!IFyAiRod*^`}mmcyVrq zuXC?m%EgN3_BD%uYy+k{s!NF+D1zp*{=+E?-U~4Aj=;$>dumFO4$GB6dMz^8i~c&r zHFu{+?@gy)am8{EUJ0eOQo1i%7jtmt6*?f|v{O+%ub9inC){^ySGbuxYG4{QL$Qjf zvt@$FzB#4qM@jrN%$!=fnL8{T4ms2 z+Nx8$IEpa6yniHNS(%Jfs4h#ma1VNB@RA5`17iaNKHB4hxjm0Fmp;aa`oyc{qE>ym zmyf$$m`i#C&cKg$d_7BhBwkb1V!!Uai6Mo%QoR;xj7lf2FI{xtIF}fU2>RxkrZeAa z==SQ`(bIR@Bf?2(c`4rBUU|;tO=)yPjY+da^}NDje^>-ExVyXe>UeB=S>Nh6UoBZS z{MinhSUuw`>OvHq!hB&Yj|x7g?hg_|LXkM4c_~r)8|zu})8>yCa!3?|_EM@9oD0T9 ziNzN;R;|R1F1{7SsTc(2uV;F=5jhmaof5XwjCR_m=^YpdV0oIEH`7v*+)6wfCM4)(y?Uf}7Cf%IZ0ZF$-+maLO>GpTTi1i9Uv8e{ngd4j>iv&{Cw9zO=tcv)L&r zBK*aiP+vwS^67ZA)on#NM{*-gvZHICgcaV@SUn~_x749))khxafTW~Qu3TgIB7Dbl zysAEC>hpPClpy{&&E0nlP$d|{prtpKY}AzO0Cbk^`}G5i{60i{I7LmjeAD9ISC#5Q z&kce>Pe{hYTCfTos_X}_ztpwNFE)liJY7SRUYj9l7Z+;c`V$|l*b*|$} zsVm>RT`S~elm&E7yhafVRcE2%j9;jm=JVK%wpXlqd!WA9D}29!LKGAo&k{#v4Sd6x z<=3qWzg@9;pL%$GyqMcKMAPQkNaiIP6lV8)qirS{vkT7gBjgl|*5ScLODTniRqW`Q zYZWUzS~5rNQ@rDkb>6E^WicM)$Jl>4{J8!mf;+~Jr=>EPr}T;l3#%?+rY1~;i&8$M z)X8Ea@@`Vczu?|Q#7rAU5F_{5i`#Tn%jh-x)0^~^_bC!oP=X}Qcn!UL!FS@g)Rt+I zGPMp{CrHE*#+-hac3w4!+2x59%_AlLsS{sJS}dgsjH$_!OHoHn;m7z~pDAP5j5;V3AIei+WDoHZub^g9r8|Ehhh^H{6mzpMmQ#+3At!BwAdW

%U-EDl~ukf*{BnW9U;7C}$etMbW5=;f;ImvHYApKkiBOA+~vrdeq(LEQl%o_&;^)YN-WOaXMx{530F@ik&OBw_cb7?ZAQ(ZU~L zR(GTDI~rfG*jU76N_|veWhs<3T&ly zBt9okZqDhN9D0av!i|Y`-R?pz33DF(akr}MvB`Ng9=9$siS+^zqr6k(al&70a>z!F zo*M<^D#RJjy&xCi7Vrp58Em_wKy}!a^h=+iD#K!Lbki?HjqY=I>juf6^9uKRJPic` zc>F&F0_o^82u9+ z#8XpMqdb$9@giKfzG*Kdk62<4E`UXVprVN|tH{C_Kj+=jkq`CnQ58CXQ!~80ca6c( zf$0i8HeygxBONI|+*Y8@B_Jg5^)rVj+L4p?HWB2-? zVD&m9i1El8W5L{(9D*(gH@B$~ZC=sKdcTrr-2UtN$^JPbXVKxp zM*{K&)lUvJ#38?7<(5&G(gj>+m9{JXV0F`zJ1zxy04FG z@DqaYW0b?m$rtY)1xsGcdU2LSg%==m_6lW_Z}vos2q6J;hQOQl^UaFzLAlZJ5m@?n z(;XREs2E~mA9DF77MZSXBfni?7gi zAoh-`{)y)X=wjY^?t;>F6Fs-_6xnYp^=zbY{4Cz)5Bj4saGVaMib`CS} zi7V!~o#pPNJlJlb9Oj~kqXieyhca@>VQ9CEsUoD5ktbq5jB42?Zo7g4(m-me!~^r` zr}b%H2sFl6+$KlP-2dWv7p5<@dw8Ax>6&}7fPk)3Vy*vh^g9#{2IZ9O;?)3WMA3B+ zxCc6O&D6DUnZouye>k8sYC+bOEaV&;yw@BRruQDRD|7errs!ENsT1GNNoSIbzvTEl zdea0EB&7FDWvZY#>4lc|@kS#)l#r%-(Pr%ilyST+1NRi>Ms6V~wBRIlD#3kK-I~R( z{D(nlPDTj-xDJxHN7dbKtY0yeZ1+4{L8Fz^&6XP8(=jHWUmeLLuFJ;1aLWotot&K* zL1xik>wZ5=#a%c@;Y4b-jvbuX>igs@Du*4wLgCGL>SjXt3P@+=o@WdcCqWV4QAzeP z5s_Vt;xfwlV)3E2Fb~DoVU{BDR(WkG`ub9dHO-xqeY;&RHjJrWp6XjS=2Vd{w)$P7 zM;~nt4sDCON+9>PTS%5@8xdOz%{#iYD0CQ_$~ijLu$_;~Y635-{KQmvyU4|X7NiD< zs)~$J-uXByce=v}$MJhtw^e*ui4JUoyC>D^cGSo?&{Uuj=S7`=7@O6^-JMPbHg3;D z>ow=Po-^;SZf&HqgaKOVG;2OQM9pu^n^d}6a}1717gxT~*{Xji-64G|t}}T0$cw)G z8V+soq@P#<(C!43F(iJuc2BjrDOAe0X46>AiU9z!GlvqY9zjIyN-e=97=cSK0y`%0 zo%PF+2bmcRJ_YofPiUqKfmxoYI{s9BFXa`9I|R6(8oVTo7E~AI!c{>6mF09V*Os)j zwSoAJtLL6{M~1U8SAN-^wlt_8mTEndbrxW{YonvFUDgZ-f@GkHqep;wyB*zvCt3jx z1k7bq;+`8BF7={Va7&?vUck9!9?QMHdI+(%^}xLLmRh{d13+_`30dCB%$VWzIlHxx zeo6dDBKvALpq_BmcY#~tR?-5q(mwr!&G%SylMO+~^DQil@B(Q`J08gqR#WwM+F|M{ zF9VsV!e`DAfq(VMw`SF(0lo*@j!RJ;Zf;V)ZpyPIlSq9a6EAYQhoO<-)?F_xwrXtX z7yv9U!ZV+R4kJu@Yp6EzqR`}?t1C74J26n`p0g~ieCWCN{h06$VG@Lz-d>~ zwJq@VKyc)p7%RT*kQ*b+8nN{VL;TrHD@~L|)7i6`RgO4X4K~U$2FNNls;4$Xkg1EL z_3pMznt@CrT{5ia4Vn#gpLGarFA)X=A9FG<=yqiI>!c36Z3MLg!6s8ya{^6LNltF> zQ68Rj2mU()0Uw>!RAVVme&13^dJ>RUPu7W)$H0FT-sakVL>257iilU_Oh7hB;q6(m z1CY+f6?P*{)KrZNbZ`fXxiMf8~Kmv!Oq&oYK}p zrkFq}{Gk;R%%M8ti~RPivcMG{$>Xul@*GAA@is$Q$W$f(X(bikYrUG8A^X^i8~X@# znn~{x1E^N(kgbQ3(5cgrec-O&!OZVRPHd5mQ@+rL#*{P_e zDmG#LV0*b5K%%ne9?e`4WD<0>Cg$HllLZ&pCQ=j^fmV@i&o#ENp9mEZvckW*m(Wql zOPzhUWo^(dko`&U@$NE4nABa3*{+OJK=lu9xQGL=nf=AM+!5G-!6+a%jaru>Lpn<5 z^NxqNs4dDYon-mvs zE^Ke_crdHPHaGcik25pshzk6-l+&aKq~+3*uYW8ue5|7-Zu=2V0L*aIr`?ng+V*YF zDi(ZSe%0a3ayK(0S~PFl9_&p4G8x$?cxrtw<;&trW!r*h1yCI!`SAM4U5DJ~5v=K3 zy7G$#+oV&J1b-j1gX*Og%CQGyR zh$uJMzLzo2)A0b>S^@XPNq80pWW~<-EL!z2q8OHac-tOi0;{^WN9E;sT4u&|pTZ-X zPiUrd0V%Rp9bM9MpevXZq1@k(LFV!@QQbN5rcan=L<)eZ zB%&K)SZFDLpJK+`_gd*^31{xOD}3LLFl6`AYHlJ{_rZW@<`LGwlb)7Js)wKJfZ8T=#{fX-d%pDVhQZ8oFV=Vr z+3iHTnkqaq+PRJ(X1nkoL;K<6d4N(b!jTCYeo;J@M~*OeU)24h?FMP9_{{m|P8>p* zH04rhff!H(UzTds&Q+sZkq{&9#0CpgugU5f)wd>A5!=y)L3#E)lvEb;ZgAPCaeZ*ZQ)R1mB>JrH`p##x7Ega-^LGTQw(vq}c? z2kD={FFexeJ=c^Hz$d+PGesL7|K1hIb&jxs+ZW8b;{oRbCPZiXah`)46@(0a8SqOz zrNaVG6R;tw3F*)8Zy12nw;_{IssV17|L~X_Z2>JhzT8=eDVYHJMH`|T8#sZ6DRz~%CcO$!4e?~@&DB&_V*Wm7;lV0SYzeN-6R8cLqp-C zQ>1$%falQsFj7$tTubAZ7&CmDTn3N;}Gz|b! zVx=bCHvr8SwcZW@nxPQ3E~c>F210Mx(i!BS9SFdf%p6BA5Nbnl3qIH3Czm3_$(Y+S zz;;`OGJfnnK8ZldNa9V5K#@s0B^b&1tOFelKkzN8q){dV2LMlSI)0HC*b`!KDYT>0 z2vG5UmMu(T?E{!dF<$0j&2%V>!6RyX;aRRjZh<@NO+xM_c5rFc%3cFd%rMU_fcz7S zJ8%i33b&5u=WYW0C!9^G1l#{G0T~rOy|3{~?hvm$lN2&?BQt~j{y1pqLTiJaWzzMW zN*|wq(5(w2&fw@~JPRdF>D!zS0f(u?44%QVQ^S+^L-4_L41;2ef_|Dp$|`Ic%8(y^ zC)s{n@9@&%P;A})hi_@VH!6lcpLs2Wt)qh8m7cb;vQmeAvQCbWROI-NUWDYpMl(fk zy=S1in6OlHSF=(iO{Nv9Ib0V3It&yep!)WF*O>=5sD^q2C!>E%Rw#l(dNQbk(+|?7 zEu!AaO+KH#(HO-0;h1ZgS>VJYn|pbWPm@Q|TLy`Jxo#8lxJ`{GGW>Cd38I+tHXY>L zM<~I&U7vK{B@9sBRp(q5r_M}7O9@pESJoCP*csZd9&=%I4gPv;2$b0MbZ;UApbGM* zXP|9BSYb9}&r48;`TS&M<_+zD+uZvjb)ZRu9%S(+2k+j?*UlfBOmZo8JPsx@ox1Rx zZ)sfE)n8}4q%UOpX=89cr(z~UC@76vciLTJO`LShN!eG&;;DN)bajrP{Wxee&^l&t za2oZ|t(vm%!_hOl@#ug}%m(q3Gk=~Yqybkzt^%riOnI7w@KMYM9!RFjxC<`~K^5up zW_9M5T(Jk^KR&C(C$Fhxc1=dE52yHAIF&Dbnf{)(e$ag!bOH1r*A|BozPhbx=>&kH z12c*+204g9_MasfTpCV`mHc4FwGXtKe0pY|>d*TnHSpVYq`Ngs@NDz+JJ%42^7%&( zUaIbq-+M{;vDpf!PREv%O*lt}Ulnd|W$wDl*4}E=@dQ$;0xzI+HbZi=<=mHV3%IY0 z6`UuCBQhPRn9Fm0X{;lB1-U}Z=65pQ+6$EYdE$1}RLXw6Ps_g2Pdrrg=75grl!5GM z7K+5y4r&0X*}XumW#)MMiZ#%^ZYI@79TT((?>7xMP)^ug2o-=q&j7=ogHuZ5g>`K1 zpq-%>lq6_0SiMc|1N_y8M8t;7-f{<+;l)26avzi=B^bIiRSmwBWoGboIGaF{{Q)G~ zRo8Np+mIKZgh)!Ai;Z6|?SA5IzF^QZ5e@2>QW4Zat6wc$`I&fiuTuwpduo5&x5r!S z{K=2VpgPTY38)_L{_W{7Fa7|KT7SEU8<>w6Zfy4nGL#?RMRCu0v8$V;*Xju)bK^^de`Fi}%F zo#$mj(>9ieJ3sE^?IbB1ijk|Gc_WgBqNkGiba+Cg=IpB%yh%>+F2A*27@O9EotI7dLlH5 zsMeyTdl>*kPkHEm1w9?m5XDlKiyzLwmg7ephV zok=lUFX<{unjaXJfMmbHh=`K{uhboq$8{_1U>V|$Y0 zG(HA>f2So28`XODt@O$?!9bU#*^#> ze0vKO2gV;Z>bE3zc)d;CUCzf;X>`Anyxry5#AB#WC1C{r#lXt<#@L+H073UL1DVf> zXkW47b8&6Fgu8=Z(OdAAfVMcEKqev~l;pS4ulcs2gw4_Fx6e*GGEB!k&6{!_dbFL) zDg!)pWVd&BqEZCu<xw?)kN|Vjy7uvwY}Lr>FeQO>~qz;#W^#pT#KM z2pM%yh90HyyK*+O>IP&_l<-f0w9ts43o~{d`@jnxpDf;pn;ou#4Qp;}!3Ti~%Fnzk zydVz|cyQDJq}QxYLA5}WC~%WCkv9?|C%Eidry_PCAfMu93cc>K(h)GX(#Y;wXwk(N zz!Sm@c^kQpo8a{hR}ij*BFUQF?c6In+SA;_Vts!z+Iq@3p-5bHVxRAxLMx zjqIBjL>oiwi*c~1n>T+CXq4OZXJlKA6!wAuZQw1uo1AbkQw zAA}$QcoN>EqZ|TVEuJlj0*BPOD5zvfELZ2?R=F)rfG^{{2rs z#ovOF&BdMP?Pi!QQl;YbGkha2yVwuf|HcI*B9v^K!LMW$OAZATO z+ZKEWYa)CtfqT2w-g5P^LB*{K^XUbBTB3O@fYiA9_e^G**Q`M!Fx*tKKyV8!l|_nD zd^il>Gw!c>i)zI@)Y{m`wpAI}@1vIwrF0bZa*l%U4(8Ox*^6`c&z_nZgoeYO%AJj4UDpnQY^W= z(U$$C+g)7R={hNtH&TTFw?v{loZAW-$DEFMRW%70%UHdD6?9rex=6ZWi-Cd$AbQwH zai*UmjE{b)rmr(b_r0`iZ+$k|MmK&`GKix;QRG2I45bp%M7Z#sZo{Ja4gxXIMdH*L zW^~bl@r4h>$w824@;aFcAU&5FPoJJi+Go6@c>%C(!6>277frLHONVrY5MxqQ7jmls z`3d~qcIVKMGd7Q~DerU)PRYfv*|kocC#8+os|M_V=oz6h!;)L-F`)%QP=yXws2hP#R;%hmN zpx6isZ_|8y+rVNbNx7}@(3PZ`WEUEkY@;PVT$l2n`E=`a-V>S9hq-wtz&iK=l+-A{ z76425f`()FXx8}4Q;`?Gbvj-(kGJ$+>;1~+aSS8}1yPmksdVDms=(rq8E`}#@H08> zI$jf@oxrOnTjQYWx(GNtw;^PCJ-QovK?L`i(`^cpr(%H$JYfC& z@81MHP!Wr|S}xYL_qO%*Y72m99^kh4;|j;2Nhshyy7n;Tpw)}>6G+bbmOwD4-tI~^ zaMx!Laq;K$jDxzEAr(IHB+yYet9P5xtvAg*V++R3PzndMAE!$Ii<&ZUIu8;#)TS*x z0jS|UCOiHHTabpV+cyuaB|klw)zfi1SM02=f3pa;W^{sfAUojaIc))-b$TQ1m;ylo zXfME5Mn6$eAkc^-X%sUs9x{gyij6)UPQ3&i+nGwymB7cHr!L8SxqfS^c4oKh1?f0e z(Az==Rg4U)JA}cEW(l=9ndU+7vENh`u{~KJXhFO*88j?M(C$<=_hC9?PcZ*u&^hqw zVTwM~M zNbPoEaB?0S;}l)@0$g4K#_+*7?NA$&6)(>b_gG|BtHFm zo>rgX#3yMbE~W-R9HFjihz7cYNU0W0%yvDCeYyu~_v--fAx2@TnJWm{Y%b85Vn95r z7&3RylE)|V3JV6n!7-)9qpgNL3|2COVj2aQjbshHO`0QK8(_U~yd zGJ72Ya!hvIqM%jQ9hllqy9*O?FHQm~NogG80?4fy_=`r&4N#3b5Juia(MWZi3_~G4 zdbR2mE|1--0}%xy*qZ8aerjSUNC;Z2W{HcTCR=)twQ2cbN1;YqILGN765Hgde6ng~@53;`2g zT9C&I_*D;d5rJ+w?$RmnMLq&)*wI%oS^lFI^x#@B1U|i%A(~yl1>OE*+ZwOZqO)lfwlRU6gNYCyvn*rX?+GDVXh zT7?Xt0R(k);3$I&1jc$TO=j2U?jG?pe0=VLG(YG&THQc=&7*R5mHc>h;k_)LLjQnP zJ!w6^6+r5vKya;CzB=Jr@;b++-Scz{XsVZS9&5W3s7{EFJ60+TQcJ}oZ{I-VAnJT2 zuw(`?n0I`-*9%Uz`m~|q{@%D*bMkluM23je-a4dX0{$7JhTJHXNQOHq;xV#NbvO4WI=j`1_ip( z6~pveP)uxo{b=s7DX0xTAH);aMXgjkR>pdK`&hv-0y_`+KKD%HI5?&Mu?K~6YU4mzS>F{7S1FxzTi z0EgwI_#7>|i1y-^Qh!i3-z5e-A|G>_$n&WeX3md}EHHY$pb^khqoXu$tCChdGA`f& z=&4d2z^iOb2NA?!D6~(01Z+Y7X6V`y{lP&D*S_(WquS#dWyag$qY=Hfms^347i`COE=Zdhb&|iZgL}HhsX0!GYrTHVe)}*>qz3`r469wwGOd zi25m;fvfU}RaIo@76bdA3m78?F%=;!YZJ$tN9ckhBFvY{So&rPUi+#tDGwk`4Gs&Y zEsYlf$f-fJ?!{vPi1|q3lZE5!5rEPFpspX~?OrE-CTkPkAdYUpaa@pyV1+!UE{DI| z?CfZ((7~D+%4pgvz&gC0Hc)4NZLbixAJk2E(B@r}4nRjQe9B}k4wEBzm5QxE;;hsk zAo2kl9xhAY4wbV6AZdBUR(jo{=n3o5)*0<33gvr@|LzO~8+iYoSLNa*VZgfvXrBBC zAlvBv-E)tyXhOE0k>EyA(hw@&4R*Xp1q*o(M8IDVOh>s}D&_N87Xmsj7e|Y3~aPAE-}_06#U^#LHnP-q$oUSNU=3BVw^kxxP<)U<-P?im(E}`JKYA1*)z`Dzj{Sf$G=OgZXF0kz zijKPmT7QKGj)YiZ5Ob$0Sb6|qyk0Ze#a>3!swTPl$3RtyP>DO)=V3co>k{c@#n7fI zVs@5nLGQ-vnBCVkYO*j4ePvgj0pfm&`x29sXxt5vULP<3d1N*Cq1o00muDLrq?{(8 zcM5`9vLUC9>|XHBV!|ldC{X-jV8|T+`5*(r7YPOmGR`xf>d9l6BqO660<-D4U*n8n z9za5I?VEd$Y4VD~nkFFF86OlIly|)>&g!l3L%))Q;@k{x9%ZpAGx7zFl7(QfXWYCga^!2Wv>>+(o>Qhg2n+*p#Cz~LMfo1J|&Ef;ak>E5X z2MdW72XBmul8F|wjg+WX_C&L2=F;FhNOU&=ayR>W`4MQwObVF0C+c#yWrWQMW)h+( z5Z=!w7K0N6N;?A#3H1Kgm&G``3hZw7nj9Ut>^xNt9I2n@cPej<+k#BX{%%tV+7V>&ucV#a5DQaf&zY>=#LRQ-+BSX0B)M90PsiT&?xmkQ$z+p3ST> zhgwL|R|v;$QACZ*c!d%$hd;E@(3w^s$t3?V{?Nb&ZW8Rp=?dCrmWK1W!06hb3uCJZ zIgI*MCPnAzgM4JuzWOHyxp@ey?};G%^0*hEJgP5bO>bSI_J3v3^cdJ3?#bg0mm}L8 z79)w+u?5}}fB=usI3!^+0zCLP9A0VAF9zPamdyIrDF0B7{zPXW>x{^4ogbKf$N39R zz?|s`Vs8d%0c>S0cON>SxoLbPegqqN>0K8^)7Ly&F&#U_q{4kXWa)EN+KTk)w%jCu zp;CKt70$k>%nZg63urHHS6#rW$WYMXYG#!gm8V^`qs^Vi?tE8))6x>q$LjRTUrXHo zlD`p7OY;0t02bYh65)p~>uag0JcM1SntH5<04G~hN=uDF`hWc;bKhd^^)vZTZ@Nr^ zLsEn9`U*i3Niw(*I@VMyHk|B96|iRxIw4fpW~{S26yz&AlkzKWkf(u+@Ta01(Q|-| zMqRTEdCJ4~uDIvhnUP@@&$n@I0U#$q%iQ9c-Ei_F$P6$+B(D4EmpURFr&W*#^?${w z2rP+KAN?_>Lgfd}h-`WbKTgJKkO7pf4sL6Ioy<}cHo69f)M;R^1>L(#-JqXyP`GrdmX$J=LhPdoAJmtzh_P}wmn84`S==V;q8fvOE)l`D} zx&)cri0lDnav1a-F39N>dhncP(!VhfTZ(}WJU+NbOuPPjFu3mTmAJpdfjtOJIHRfEmn zmc^|S&m9os#(qL5vod|hAo%WpUpt^;i_7g5sX@NrnU_$0f3d;0oEC^rEjeK9PQ)#r zHY1If%)L|Li!bQQMfo2>hb0O>dc1*x3Q4E@kC=x)2KI#dh0FG*_jv5fJvqJe@ zP(7gP?A;SG6=nu#ENxD5>4Va-yH7v@aga}ONh{f_MGJeD6C8tGSnO&q|4@*xC*6af zlAmqzYk$@&X?qMhL%9NY5&LXuN%>sf^aKbXy!+OnldIrd-@!F-e6zgaPUC@E1;? za7)&=<#WyhvCc<8R(BD4C6Juu3M7{SW6}*C9s)33KD}f+6dkLKJZE0DbqorIFrXo4FeNHu^(^JH+0Obi?bu0gMXtaKdmG*S?0 zcFg(F;Xx!#;j7o7Yv0qdERwUqsbMj9YWKCGE1ggo5sI+V`>LbZhzKeW4F`?AbLd~ z17)AoMWE&+WV(43o*IH0uM#h--xmIs`Y^|5UWE6i;25bb`A8~!&sA@ z@*BxKnd77Z-`x`wPT3B;FWx{MJxb3M91*I_ClBl& zLRd+tK8GiF9d2wkkp{TA6Cm=_F}}~a3g`6YCJ;^6N4FEF;ip|lcb;vNYp-= z`*4ham{o3uz0olwUt*nz_Dhu2>aFS%mR9V&b-)t=T$!w5lfEo%Xr zFctw_U7}7J0WBvp(O0xH36SJV6(wC14Pr2YO>?ozTO|R zZg=g()wU{anYmBo0<4z~lsdq*p|T6NP=8i!e_PO07`tw=WpZe8<$XixRk(4SNGLeQ zoDd3U0_VmbWxWfk8hs)58dc5e`w<2OuSEf|o-gl;#mts1^d@}_KU6zRLP@B_&Ot)!ivpAbx5V-%O8vcVqL+Wew zTR0{1LR)ukF|f4=(1nhynyPEAF{&wiiz2u;bpQ0jA`44udE`TXIf)YYw_+6n(ho3Lg|hh6hzcl^MBk@2hYaR* z4E1=JQoZLuDX6;&!(fcesdA_W;6ZLg`Bqa(>%#XIaFm8SQ)@(B8ovDWqA=vL_*ne+ zMQArQK()y*2PHSyos1^w^DW@;dFo1%eXfFv%4$Ia%2j8N);H^Kb!%@eQz=2KtyVx9 zR4kbR!4*Zd&kcu@@5PVh)fS$#OD!e|>3k?yZ@-eVm#PKrX6<$wNQ%Y1z+KdR#GT`+ znRNuZ*G;}b#!(Bh>qF2H<{}R*ZP;!N=Ha9^vg9+#yywY;YJ>F2U_$v&J)UOzh2SFg zBr6A!59xJZI~5$n)(S=%-2Y}TbOl*8yXPW_ebjqn)76Ok1%k2PXQN$%xJGI3J=>dX zYT9U?(nxPQCUC=napGWNbe(c`=aaX@dH{Vm^+b!9|C~EdC9ZR%W z_36{q{pAVKR*LvRrJVWqj)>XNP7_Nb&KTup$AT|`+A>MPOEjq+MijS^<7ff6{+gC7 z6LB=k#$&YRT1WUHV`LlViaG}R28T^8I&^HuK$qa=tW^s_fPjj0w=3+cd+WuL63eO1 zINdDgB*9)Ch=_3<4d|t#HH4?Wo($h7Lpf$SpjdehujCDu23qHde!|?vdtgHaM(?~9 zyN1FY`3epQ80HkF%0tuSX}S*QjI5EKv7@m>w1dfXZbX%kYRit$B}qV)f*~u??lGhM(}%jkTs-k2M6f&yjH4u$@AULbP2*=001Id8lgrS zRfB*VRRA~Tl&beT#z20QkHM;mgKeWNt4%aKBm^?ecB>38iMgLxHdIvY--mm^8FILT zOP5KON0%oSj}a7vXE$a!2BOt+wDoe2?QNb>R)OxQ5}XoD&|@{kMe`I9Mq|I97vD^NtMHr|)>Y z;J=ix>b?I>N*hrW+QOc6ES10Kjt3Eskw`M6O;k`@tPa_-Wzn2%FXV2HYuLO}6ehXv zq?u4N7HxsToxe+VHBjBR-S~wTyzQpg=*yA7HPKgd$pGxYopbVVOsADMuSVpJabhpF zy{yi0P9MyTwOWKA_YML@D!weoMm{K|H|BU{Pkw-0F=o;QoQZ}%mUpCY3`(tWkKB}% z3_ZwK4n?D^`HRedLU~bAOJuajl>{P{>JABD9JS^XLb|Z<3vb!6QSA`A7U5+(7VHd$ z;891FU_r0JcLc_<=pucByIBI#ZTb#|vSOX97urV1dgAC`2=|tzdsZ9CTV@NL92TGF z^v6T;9-Q`$uyzr}(;ebNBOMnUs6gRo5eNT!HRKHoQfmb9M1egc+(oy9ZSL*5vhUBt zbltBu5F=UVPWl6L=DC5nD7GHQLg41(h`wJvW486~)rTB#8m|^l+D0-}I)~UhIVyKS z^j5tq)bg{j54J<-Z==1tG$|uc_!f5GV=!Ena!JtEbI&d`n;qG;sm1e}*SVGVUeCV8 zI7h=I+PK=+e~*QX>r!A*do_6Oz8>m2OrN~t_3QUKKr! zP|8mR#O1KjrCY?dU5g`^U&ys&sqo9nXp5f@wP{H@fVg&Bv%?!a1!MfPd8UYkoXN#ZGu>yWgSMRk#O5ZYiX)|;4JZM`gO<5gtm`_zvuf{0F%AFtxg|HLa zvr7;#LQEV}T?@~;{ogix#r(%m@BG!Ck(**Ea>E*&t)D&9JOde@=h>Otuybp}$SC=P ziwCPIwI|trO<_mWz=2#YpA-23^#*b z&rkbF54eIo>?oKkmePvaorT>NQf?EF5hqc10KJCN1V%rkVe!qBHGp~;kCQOIK61oU zU7CCDZ7@_D-qsnWLQz8m$CjT64g8%zLuPU0?ivxqTWq}8=*hxAgvzbvb|X15_-TN` zP2wfbKgQ1Bp=&?Lk-yi}y;j8Dh7 z{5t%KX{?`N&ba<)3%FH|>-bxbUFelTqDEnNqi@3+!NKfTDR|Jf1_Pe&8MxVKts~IZ zU-g8_7mO!3SQ3?Z*i&i=@wZo$ac%A7ZZ!x+?)ZyCn^v&H5S?RVOD5JzKW9!Lm{ozwF>KrcvHqSE8OwVYepf2_9Fo#xbZIy=EeA4F( zW1$Dh=_qGPG8FAz8?VMx>M~HYm4UTU>#^# zw#bppaniFf5`001Qf}x-pi;9=SP4pJ$rCE}_aIFolQ^ufsttc4gsiWySpOA6V!z~C zdo>mJbTCfz!5q>J`GpW2$YQh?P4JE5Fe-?)+Q|ogZ|(54*N3v}ITXspyLC!p!j{z` zej=X+$J5m`+k-0#-squWiz`cy(z!a{e{hc+j)&yvPFqtE2UZImSqqUI4TuYO=AH*s zDTpoXvWsM;XK#eFj8Sc(=-H&vCfC-dH%J2Vn1~M&Bq?&HDXztZg56bQbQt!CWzB*M zruN0w71@oJiX@9VX~hUD{JvWhR)Rb1-?GcpaibObWG6NUf#Wd?H8$(a8BldcUrlL3 z8!0BFi9E`!Q;vlCp|p@C1!HHd`$gD=!_w@PXdWgxIy4;d5Xd?l=87Mm$ipZVQ}Trf z{qR^jvVplydVU@T#Zem@9Y|lP$3(HpKwwvxM9LnRr-_q?fyH6^Y6i=%a~8ICkWwqH z>1&E)fora{9epoUH%mg+agykhRD!IpQ!6M0%kjtm6bgfBh>eP$F?tX(;5yOI*x$^- z$${i>!Fh7D^g=h-hp&7inz{B2iAHjRt>}e13?t1z7`qEbzOy6meQAfO!pc9Ma1+Pp*;IC1x)-7$#GOm*fK}mY2NFtd}$ zW)zi?LPau}*hf+W{1g17+g(Dw@B@{*Kq`ih=VTCh3(b&2lVbsQgLCYcsefn->tYzP z$WjiLC?9f-941a;O~Ol}f)c|ik4$&nbGXG3W9OnX`R~I zIoTq4LZJtwh4Mbc!GXzGg@S9G;zKNBaY1N4il7oY(u6ClAGm^wglAsdl~v6`G@hh~ zTX8rm1W8{(jg_RAVA({ccl&Dt1AI_(?dphagJmhyFfU+Dbc8xkWUuo$TaJ*9jVAlq z@UJ0s^l5{YA__n0r_ds!Yf^i}+dC{Z<*m%a(vORmp#b$v@^j*}8FRXBf>1X}=L-Nb zQqf-uT$UbmUG*rbTDZB#!oPPy^I4^J!B`)@bwPIW9eN#EGx7L&fLIwY6*L;0P3O7D zd@{ewP9UG0dTHYHy(f{AUuU*=wNGb20I8BeFU>G3@laTfa0XUuv#SWb^)xcAFn^ zG;vE~fI*RMu2X3)!PdUv?rL5WY>4-Vve85R#ada7tS`Nd>K|QRd@Wp) zmulgzjCE9_bMC1Uv++&BDirZl;*XsWM0+ z0&Tw-z-&Ae1o@=-Ctt%bkdX~I_+x$Aq!#nI1;qyU*yt_W?QXNzf7m>@Ai}TxhXy^# zHhL?`M=r76q;_HqwCOp>GxOy3Z&hQS%cjg?hFTEhlMGQi`8fXX`*`Liyxj_LM z7t?0)=b~k%*tju{K=5wkYeO6M*`FPhC6*En87X(*$&7*({aaah8mb7>gk7HH@$9NvCIc~_O!wA_ zyo*rl_dg4VgRK{koTH>TGY8MrHXv?u7#0)w>Sg^!0iabOc~unKs5Dg+M?k(DG+Q30 zn{&aUbZPblx6Ey^L%aY^*pLD1&BT&O38qLemEbE@5S$jzFGSY>tt5iV28nliB7MBL zyZ<+hQJ#T_!p+08IwAABd_D~+Q|K&#{zK+K7Wx_1KU7}%d8$5bgMG2*E&0UII0&}_ zND`4$QXc%leu5d3AVR>9(HZHF1cCt1Xmp**ioVlOj0E=yW}#!&i3V8CI*QMH%Ra`qL4$dOutRnpPx-lRzbz`PM4lCig!msu zWiu83HI{8^5#E@8R>xo?{aYg&u;q7u12esOIw`ny{O4x@eit;UrM4Z@ zSR=gi#cKktUoog`OdmNheH?e)-lnArf!A!M?oqZ<&bTziWXCCt*35K-( zSqM+@x1bf8G-r*O7TD$@W** zF;JMR;Dvsv0uN*W1DA312j=Me^YeczE8NR2GZ1^!Z}R2acQfc-4^UgKdaKL^6pZ}u zp|1+Sph7BLb!0vnvMXm3VO$k@|2!;-A!(y9$;pdYVHecyyrvR~Z!AVh8%W*&ZSPxb zOG41SK-6an=(;jc`o1P{QLF3At=x4N>bZ$<3leAhnj5UzJfDE>+^o8|nCE0P6GE2~nUv8vn`n}el2r}l_Uc5Q}l#CZJYnrnSgyPTy z>^5hIOMk?R)_?z3@uK4KTPj^Ypfx`z5?dtLdQ`j0uJ?vCqmg`Uc?sxc_9X|XX8<3E zEHm_wbbYf1o#l>x_}0Dq5Z2X|uea#wtA(zhg|1J*Lr&F<#o1bzp)RYNs6I0|wDki~ z{)~&_TIY4_{WJ7*F+-LGdl(lH{ITr)pB)(zs?=`J(T$b;O|wA^BWDcI_FCsZc~?O& z9rseN`bzZFc| zjnq`N>l<_rXu&(6;HkuMrwuLXN6X;P+o&xgDy&x%=8=xa4`8K@+%%*UT6PiPx9beG z2?N>L{LpBAwk4+0<95$8T|quCEy26a^IUo_;#{l)3{V&pb4CFD7ZVGQ&mq_hqx)`|gnl}% zAJ~QOq-=`nvUK4u%}+*~eviJq6uXE)_so4H#F~<3h9Wgk(qvUc5mf9pm!F%xRlDxr zjtMTE&A;t}vz+|Rc?-M#lKa|w#ec8>vN`W)$94bKgFpo149%uZ1gL2iPZVSTgQ7c(Ny^_Bd=S*Ak_R)Ahs=|S!tF`v9W57PxY3C3j4 zLr)&&%F4zNgx0Nv$6}=t$ZJ5whT>d;h7!5UQt?Hz7{{|lx2Y+_erWOJE^5orwA7(f zqyy19vgig4OV1NRen&%cuH>-6sd9Mq#K8TXa%?sSTbV29`1uS3vxlrB-IlswfrG|@PO@i}+REwotc5W9^J zDknu{+yAP%r!*H0oAeoBFfF0KY-@(BT#Ra0O~kI1?n1}xNWP37w5#QL{wKW4LSFK& zJG4P74pHFfEx}NNf4WLmKzU)&QI#$?_C7r6!_vMMKu4QI7~DRR`hpLti=eFWM}5wc z{B{2&<7ZD=w1$Tuufmn$BuU2Hx36^X9VykHdQ#?T-A*tv=kQW^SJAXoe5*v__S|#E zw3%C>RP7r4Nz@?@oj$a@RwFn#1l$n;P*TFj-`SVuOC1rgjute_OR}NO(gFn@#GPrQ z#JP{WTOLCjN*tKc}#yIHBN@q5ISH8iS;}L5t!rl9{1d!$S5$2*O zspreAPuiETdlEV*x7`SKlHTzVjT^XSiwS5$a$bI#b7_NX_z4cmcAgfTQ(+fdCo zwhP*q1H2e@cSNF-&2W3axR1TI`Xw`}v!ULxOY~d6N`=Z&buFL9(~5^)TTYpID88;M z5;1Wty9{jM;aF`mBS+#3(-abYDD}*|!{j^ki&={|7yWf*pGevmv#2NA_}&O9{{9x~ z=^#~TYG_Ge^<(jKx0io@<~6J)6tLW-_hZtYuT(p zgoVkrL!z3C3>~qr=t%1{iJ>Em_{sK z2qWHqzcM1K8ynaP#^r^(-sAl!aS^C86CoEsKWK zA1MlGdN!dS2l+U7Nh)aVxk*xEawQPwBHS`zld3sX<3T*x-trodB<&UiOihjrpKv{o zMqf|VBMuF*^K~c+yTfCkJ9B&!wc_q{2X{}N`9^ry$Gnns#R)9dPG<)&YH@_T+6jrL zP{oAD;q(J=S`^jO8mN$Qy9B#3am)Z)m;n*Ro}^&zZ9=mm3u%W(u5#E1@efp1_~XR_ z1rk+ux$!~9Ah}u|Yx$f?;#mqTGQwO4HqF1ACzhMMPOYFda2tf3hz5(IrEQC8p`MN$ zFti5<{ISFkQ3x)+W$$QXW-E%KE=q#)q&%0MjL%k)o_^!;;EBC56H4`1La9!qwfC9+ z5ylvN1jJMdr5iRKZvmsYTWV?GgmXkg_U_G1vEBRQK1SGgIhkMP>8p=JJsLgBZm4}^ z^Puo>RJ%1R@}=Nr8NM&87$ym#uVrwje~7CYyBB{wTtAqN2}POn=V7N)H4*OL|$xWoQzU((Uv!wdRqwzaM`WbE|2^Cg{No zQ8jV$?R+^}`mxZ6WON&Ek2-fZ`u)YAI@c4GCZ=x>q~o{ZK@MsVPsQ%s^jsUrvB`J z+Cz?Sqd@3=(T%XpSJq>LfG34}O7YcM@|dODzxXDft< z-y1vh%ypa#rdSsycBSWO`TUL z30NwR9CnHdcnUDk2=)A8Zb+OUtwXe-~eLm~s^+VF@Dh>kcS9jDt~P4DIFjyN7(W}7Iu96AfPj-&!1$BjjYOg19mo-6nmFhUJC=rurF}PmL zanwx7f?axpDxRQJYyu(TTLjvEJSuAhZl2IqB?N9NCe(pr#O)#ftH(EnB}b@6$cpSr z6wTjTMy=(3Ev!aA~* zgcsm7?j3AlY*56h{2j8w_~m>i#gyjXRwXTLJrBfRe;kf(`ir^d^8{?skCB>stwn_# z(XXEZZG%~1M8S;WO1O-o>!aZ#(dz-P{*e0|39yfZ_bm-Jm2u_f zr={+G69s3XtY~8=01yA|ortoAS}m+rY;msafN-inbwN9G*ZUF*`+VTQ9mW$W1jo3puq9LARQUC5^Sei26+9Pv zn)`2wI3~`~jbgEjo+LIQzg1Z4^ij?Ie>p`3bO2LHs>1NlItr)0)R8CU+E&~@t)%3k z2n(!J$gh!){-$i0gVkJc4-CQIohUfQ+q|X67o5Cp-3y#A$>>jUf5!{JD19S3_Ifk^ zv|0ui>b~tNPEI z9aF)CDO<6>HyaaH3{`G1AJeh>K7HdKr%naJ0|1NNa4D zieXR_G+P6X!8L&DWoQWjFk_p-C|c(#=&Lk&ChRrx=VNfM7723`&fSe?$vqeZ;h~%8 z(-31$vs#R(1qKeQvjd>G%s`01eGmZgwcbn)L}A!20JkFDFGwzT?(wG%$>tFT!uKH4 z{>b}%X`H107+^)P|74Jy);KFS08yK7gU-NRdVJr|^tPA}&Hc_E4Ac%Ijo~nxih;dh z)DEJjFy#$u05+``6d0J>J<}9w7Q?^>j{z-;2~!ruYY0=y1n{q7)3qgeY0Z7cR%-8q z8X$Ws>9=|?s8Aj9DJJj1Yp=>5TXrSN?#O5bj1pt#oC!8evsnOqGZJ95ZGpf-$d_#l z2R{%15fcHMg`Z11Cu@*tjVQmex`Vjpi{D%~01-nqufDbOdUa4qbH!f}k2!F+-R|la zpcK-7?tG_l4QQk=9dACmtsRR&4*Pw5upTyY{Pr-6JP>j63sY@lqW<^gSuaMaJFsEa zxxD*$Z`l@5@{>XLgic&zIWy4!?<{$>X`?9YVJ4`JfGMrA^!2yHj>bYm&iF3|N*Z2M zW7EVwW+z6MIO=p)suvvT9M2RES=e2i?VO7H^345U#MeKuDxyqiW|Y}nHh;ex_P5yi zbrc-5bN|P|*O3Q#>yoYcmMy=6eyp1Py2$gcs+D00tbW4Ju9DDqp)HK=Dc0(YCf)Wv zX4c&{79)z%pYPtgCk%>+nmf z_6DjRrmwMVLdocuOe#(4Z>|sLZi{Ad0;WUU&sBihe4VQZYAm@r$OImH%)JGPE2upn zH;H`66pUw)ez=g(7LI>q5b!`;qe&QSK7ooZ-r(&|010t)3sfti@d>X6)1K>>;<1+P z@C4}4^uGsWOux{`>^mt#-#)&aYo|IGl7MGZn!WXU{s2&a`6d{)nbkV=4bAlzy>B{O zS;@J7m6l2YbZ)~TP|?7xpO1KU0DxNt8*b5~i?)>{4o8)Sz!tO06fm}#Ym6Y1>}xQl z;?@=eUv7504KSCAfHx38pOOMf2DGQeB{4~vg**XI zd>MF_z#{kc6s}e98DL!PSNc*Ln!8YB!Q75Q2Upa($5dI|0G`#<^i@eH8dJ{ZZL31G zuzbkrx0j@9H-nAe``7$rL8{EI*1j1n642FUPi45+h#{E3)Tn#5igRV7b#&#$PvYlGQqKrBEQEU*tj z_#Gdc1MYv1QDJo&l|Q+`$U)lVUv9$gqyu!Cu92)=lajI@q(8gZ7<=Zn9Iqfn3|pJK z_fAk12Ihci?!oE^&MJRTL6t@GL%&ZBpDK*)0rk_bEryJAPi6gzO=zovxYZdrCK~w3 zj9|Sa43csAA(u0LVu`TpB0z4X)V#D!Pl~V;&<1afQ-o|HAA}yW860zPF z=IKFPF2=A}xMlbNCX=7emzJOasp_t_GfWMl!C&(s?uMMgyUCDp@Act&++TSz0VeQ0 z0sHmTPNTbR&h22s-JPv>aqy;JDNs-6YS8LjA)IY?l!Dr?J`21zS(cHj*4{M$PDwk0 zegqdF5H=KJ<1x6gdoh>0?$U`MWPmV8qSIVMWhGr7)ZqI*!RiT>^w|2C2Cf>3tM%F? z22$@lr?Ds9Cv!?f0l#?(Sb)8h^b~mKa>SdF^Ac(bhf+QF9j6rNt4|Y%UOv}+Y_b&j zn}93JNRbgcEmD>!5`TqjGg;U(R2^c4BOUPTM{c?4d`r*}zO*z}-!o`jJv$6oU0*qk7KAZPy!y6<1DT+Q ztK!Zpj)#sYz~oC5UMuiaZ(@ym06DH{eXNS$f(2s=%8IL@qgGg?a@E^J+YZ6)8rTN# zea$+`l-~>n%);p2hJtgP@z8$ex~VqYa@?#5Y<28dh4zB;1kvHXR7izQ#zVvUOcw|2tX<`?6ezBomE)2j+ZtrrNy>&VcCOW`fL-$A z&J-?*ShX)sO_u~7^`Nv3e+K|yyAa_F0JQ_x3UGkmmkNmc9N!>Qklt&BGe=gPOX|QR zOvR82Su^#0mbSe<_QP5}R-6of1&g1=F`@{bNYT+oJ7-7y=KDeb$(90NQS&~6l)l<_ z?sg4Mc$nZrgrHF_7Bp0gWTHkSK1^a3b#q*v;Ih+w1<-Tfj4a&`^`kI#-+c!YwhGOy z@BPGh96rxLh);;eb+0HqgXTCnVqUjhK<;osY9UNeUKbm3GMBk45qy7|%m zijBf#Dx|}ap@Bbl=39$V5M5Ne1_fFZ)uch`7l@|o7#<^km60{pj8RMA+bd@$+@@y6 zvfm}(M@-X3&-3(=8(+Fzsdc{H8m1!zy}vcqy8Q$j9S>|Z_= zcQaX}@GCt!F+&of9H7K99iKP`FBjkAc!}`&e*aWY@WK-dQ$D3m^bw+hzR~JB$&{VV z>J{AR65;ud*!z^y?QPVi!q?Qgw`92_i47Twu!WCymzSbDaM%*Ud@d`c>8Hc777~<# zvHQEdPi}B6o}F*2j~yUbkV2sfe!&X!L`&G&C80bE9-cn9)M`pK;8SPf;k>Xmt24?= zxmK$+W+ZjPj6Z}*6(OYCZtYRGxIsny3e{bPZ;)Fff({pjWT9}bb`wMPjSA(%$Px5L zGJ`@Vk%&|H&q%=vxYY+XVby$Gws6Ku`8(T8<`@Eu6bCT&%qJ;$(;>@P8HkD%5C)YbEAC}@rAajh-_u&1HJ8xb)no`NtLcywY zi2^=7OQK<-hop>Im>s9e=?F~H$5;A=NDkE;hFWamPa^Lv5y%Y%}2}aC4=^bp@;K*(S;m&6j`+#3kQQ6tNn+AS4~${ zVAUEi8R;dVj<);w4n);nF-LU##8IXxh?oPcZZ%w=!V7!_h4#tv5~&8?RXX_Rp0^yX z#`p$C$`FYNvk5O-%9SW+79MoerRFh{9HqbsbEiM|V86pXO_NrY} zH&>pcI_{BW^?qoj#mUr0CcmXRY#_?jv-v-nHaWa)Uv(nHj)bL^3gr4_U!ElXS4Lkgv0_p*eVophIcJK&D6cm8ihR0_H44MA5;PpR=IYPgWY ztfAgYO@y4$1Nk720BCiWGonFz^%s@V^B!lm^B!kX1Ey+N__k73BcH(ZII$Ow7qu4O z;<<{?oaH5}_aUnzd$li-pT`=m1Bbju^?0cM!1=@F&vX(ELsfFLu`@gm>#KzjLu*|-iMp2kMdd@&@=HKJ-4AHBRGx|oHsOJBv}&1>XM=( zzH&6JQjDF8-5{_i&(xr5-Hl7|LuWK~Nt_ZMsnUKq)4}=Ef2{cDCR?Z*WuMTNOb-d) zK3+stiIpj&!3yz97$IMUQLB5qllrXBbPIPxXzuB)cYiJ_>&ify>Q`Yguypd=B;sjZ-Xx{aDn+Delg@|)gq*$QUoai zFAEh{HP9odY2?}F3?alN^IuPgR0u2ukgV+q%=*_Yk48DvY@)-x$&nMJcle<#ZWy^ z<=2g%dUL;;g9V!;*u#iwj%c4;Vcp#v%c;#T?)-b$6bhE*-aiuWHHjs9MxPTwu^>&? zFi1UYVoNUFFol>WCKu@xqQF_;HAJb5(i+lPTey;*ow@)seB8WUZbmpfGzG1>r zATF1+$08n=aZ#mgRWWw?o9Uy+mck1?D?0kX3cYU?BNz>JY8xOi(5lwM4pHbDHRv=n zD~y{Ya_#I0^QzFX`bp76e1UsU2?rYY^+WXwcv~cP16>$J=<(tpjvB2&Ss}pq!LNV8fF8)|pBko9g}n$3xHCivqj{ zfFO=8Ex4&1WGlM(Tjc^GtNHW5mxIi@X?CUu6x|4>}t#>K!0dEYU-a^Ao;WF zNNaFHb$z7zE^);92DsOIksI+evjfD0Qe@0@4XwyV5=y<9I1xgu;QRECI>|2ajj`;f z#nG~CO|e8sD}IUw3;m<7#OEzFOW~DHP?F36zBLE4X|YUcRsGw`cr z$yn-2Kd+^$rHHAGUNOroX5GaalK~(6^$Tqb*l7?4&~J5Ej+JIKzzK*fp@d@p`Sq|( zcKLCgpg|5w4pPcPoX4C_gwpap$$vE%{DOx{XmLA(B)38ugnK%T6*ZocfE?5O*RL0x z5~hgVVG)hRQ;)!FZo8`v!y%{m!v3$uka)WN0H(9!Crox3hPuW>lP4zSEWDTMyT3-=ktGA?!-HEE2 z-%*F1FEKn4PlM!oU^%Eid%4V6*~ms=5~y_0OJg`dql$3a(|Xc6_^z5FWsO`t;-2)s z{4m@%bz>j*(hSU?gn})FC(CjCt7@<;T$KE5UaHu}8pS{7s?S2E_(MsH@i=~*!tNVl zA!eS>;p({Fp@eF4qQGi^v;AXrk$oOlxz(#_;;D?NJC0sU=C69h?qo$qf$bCk+`gwu z|6G8hVWzVi-~842s|X`$=SR;yyED8vNC&am5N;!CFduL9KW2!ehbE&8laNz44dCxE zK9Q?x)JrN3laR+N-ev$@Ap_0)YikkQbNa76PZbj;K!?`Juse+ofiRQ#d;LoA^)^Ab zL!bA>Kom(a-re!CaY;iW4YGy>O=)ldt&>3g<2^AoK2OX`dR(^@C-1mNI>cgV#;ZEs z21nqGA0-qk+=v0q{L7jBpF#Y8=O9)ketoq!<|(plU{GnYnh@#|m`iHF%Ci?EVOUjC zQ8jgaonvpZ{EK_0*~Q(fJy1b8adYo?S-w-}u|BC{$FWYOCTcJZWxlWxuxRjx>c_k@ zK9=e~tWfjJ95_?aTS`WKx-Td)@;%i)h%$%swWrnQ=BsiuxNor*Scz@FDG*L-o?I#5 ztyA>}|3`0C$1F@IwIDL^P~`OgXCEq=6ly)U0igz|+I9$|V-|loDeth}gZYf~WA@aa z=E;gdjb|5A;^m)T3{+Wyd1=_9;kRjlv}h9l=zx2-h(wWeENZPL+YMhP|9y}2|kTnW$41TIUFtHceV{j%-o8*}gpq3whncB+WcHmV=$1B_fmO&q`D#=8 z#)Ex3QI7?AQIIpyP;VQ|79INh*4x_|lfn7;OqKj&gWKF^hoPr8Zb)s{r4QY$3yXTL z98bH}xSUkW!ruG+Q>6ir)c$>Xnls86O3c?k1cktdfDnl_5GSFmJ^S%)E{WK#2zb$Jr7!bD zp1Qt{y-q}l<+c0mW&RVOjnH{BS8@^~`-V|KXm*;eE_@4yWDuXu%qmIt)Y1Fm=ai{A zEA^jgr&l{q?K`dL1!)UcpyDoA3pmqREkS2bKs(7!vcu*9Cx-9VZfhCP46L3_q`vAy0Z7ncw ze*p?CHXsSWTnk4035YIEuLFH+d;6g$cOU-TygN4-^y|x1)p!dSFMB|3T?1kFA+6W) z7&V)FAO&ZAdGw~$xY?*i{vC0LbimP8&NdLj|1eQu{LvNYF4Cx}U#=vO3zU_2-v3;D zss<}#RG2y7AQd?e&*X9%B}#UAw$8U+Yrt<%Aq+Agb+}h4q82-2=E%rbfs|r3(*lqi zvHRUKI15raj_SA&zk~IW8$gh{#=MBY39B6|b{eqD2Z8#Y_V|LR&Vwe72VlDxGp%T} z248F;u0&LUAoENZHF_N^U>5@2tPG~>&W|qO_;2xF>l)<+?yILk^4m*aT%F4C$|!#k zpv)2i25_h^m3@1l9i&Py`4xWYn843|b8g$HeoWSF;d`BfsOu<-S10ac%R-b6_;B0a2TJ z6l-gW*l~jVPha(Y6*kkLTl|mP5;kMG^BjM93t6_j?}(tc3qyv=Tb-%uRqN9K3rrGb$;U5=oI-4 z;$+KnU!1?EF9~G4YUtD_{Iey>2pSx$_{Tw*|Na5SYa>e_zM>}o`|@JQ@^YWf8_0}4 z1=^U;ISxS9>&Xnz+}C*6kVB3+MKWu(Grsx#oYEh@&y*~=$unp1^T(IDvYyN$pfxk= zrWS?&0Np_LdzCIF4jh>8JC4{^u5S8+ej2|Hr7@})2I2$1%@W0cWB~aZ80nIN1CU0m z3%S4ZwYg)RfXOFi1}JR?b?Us9o%c-N1n!Z9j|DS_(=Lu}mIg4WmX>BW-VS6u1BxXv zoh3%jy_>iLAY1B8zU>C2Q2o|OA{v3{&#+$!IM!-D9Nm(;r~?_uqzm%m#Ze{l`dkjk zLm*4}o{750ycnsu8Z>2zxuy+egwxN!>W5K`ViZ;|xxTUjSU~%T)Q)sSI~>FdgyR@2 zTx~H*i(9oodMe53Q$@Cn07mb0dd7@mX7h9Ka=C2xq1s;~Q%yk#c|f#mwuw zni27c**d4&kHoAPDI4t8=qmWEa5yE?L;axqct#gZAn>{E_d>#ZEsMXZv53b>o^1V< zh`c>Wh>8Q{uW+~fW0xwcbsx2BP4kxcS`KcPB?I%4>OYv5m?dtQWb!5WY}@bXO72HY z;z!GBN3bErYBYMsLkEVxvXC5d{;b)FL-J$jB*dp_ntM=`bQL}7F3E}6>gMI|c3S47 zK@vPObnS7VB1I6{xCaofnpOG;x*qfuQQKI!7K%$&%|XNQYf60NP5I;}?sj7~Q#Vx^ z!bZ&D*uFY>hlEjlaQJW;j*G?}9;fCva%w}g>_XTpM6AwqQLs_kCD9y$&NA3O-8zTI zi^6H(kJpn;ku4is%lU}C7pgtoLF$X-4^z+T$cXV;sNu@}>)I%Iiv4e=U=Cwt9hmd` z+(G)pxhbDaRT=obSOn8hm&?$=t6Yp-+gn0@50BMpm#HxB^v^M7&YuD?dq%AH#1iZU zQBk0tGg)QUZ49fhux630s_RNrr+2j$j;hpVr6C%ooIwhEfYn_E_w9WxUz^@aF)wLce5CuNIiL!j;hn4}hO{CBd4H)oC;~{?Fm`&LC^7BY@81e(>c@ zx4XsIOo%F{W*|1}U5sr=wxq)8%JQc_K538~)3&#CpX+F#1SHedZ{WBk=Mh7V$`F1_ zrD&3x68^wUdyz}ovv{s*e7=DZaQe>6ChLFR7|`G7 z@SQXg#J$$Tar02`4Un##xi=L6R%$qMYX@TqagerzKwUnm{n!~#rV3%AF?-&X99hMD&8+kIajb>L1I_D<>LWdIviu=|Z(UVDO5>DgdzVx2c)1(z5dqRjfG^;aaZ2sv)~@g+_PLRix9wrdo<|w zc^~SU76q;e@%oj9=wfgBZZ}=Utimmm4^8+S|jN;f}*X7*lr!TvFQ^75;Bo zEnsvs6>1A#I6=-!G^?&1PirD+>4IXH?u`_U1@i)Kx}NWG($hOE>Pn@l2M2KV2o`w6 zgyMJs744MD2)HpSg=^z)BxjoJM&Aaw=a|^wtmIf8Ass4Lebxblv&Zn zRi*KTB=g-g4pK>0FSkRpRUhXJW`2y>-IDs~FTX+Td-{SvY9j7!!w~b;r4n|x%jnRZ zM)jY-@w4atcMQbu|M2NF5O=tY0U@b4(Xe6#?#8Oz{Qpzu4?MK#4RSEtUH|jY|FeOZ z|J(Q9J<^|Af>{~{==ZCiTMz3;RkiMzduvl#hJ1Zo)jw&uX7i0c=BU`^9$k5i%O$D_ z@%!B3{}WOB|7BP*O=V|_{u}a%Cx5v?rI(^Sr6qTS zJ|WmvEg9@=-M%k4=gSlaud`&w>$5Wc_*M1Ryh5ewgz6iJ4i8cNhxn`0A;)XUdd-+W z2ANj@H;8Ji##&fI*I!Arky)ohsCjO>u(QqAsz?&G@6M}KaaTmRfLn0rDErk9V4xtcP4 zf+>x2XP6cf@CR5c$jyZtA?DE&`>@jr$7jQ($TO7Q+Rz{S!X0O9y-Qt|16 zl2QyT4ukupX)y(`#SCLmEAPX$Mg5^BaC!_r^i#5AVp=pNlhKO-3%YRENyqaEfex1A z1cyN}T^i6;tuwU@xu`F-Yz^+;lsn&5ss+B!QviH@rI)?a`upodnLht7nXm4g6B54AJ2nnS|0r2_@sR4sL zmpoqH!%g1Wey*oR-daz^>-ot60Iu#20(Ty0{^o9f2GXJS-ay`VcK8>l^CAjdh?-mv z(A2=D&0cVoYUifjuXwH(YbdvciU3La*aQ#C%J>Q1->BD{tQG_!&fp#UCPC9c!E z^&7wxhyM40I3l-K7R{~!m{{TLh$tX1=+Z<`&V@4F;CNn6tPBIy7wHIUCoi0 z2SN$k1{Fruqpa2`kfP9R0g@FRP>%t7j_4jJd~xJHShXlI=-&*qVeJ9xSKOttKGPV~ zE*t_5tgF;GrmD#=Gl0blddoYGS$h0lO_bJu3}IjF!U_<_$Zg*K^6t$Hm}oC9VKk09 z!f7|LDI};$ViklZA?__FFBl}eiieuDNm{U(jPuPqm zO@?acN*ZVL-hMHC^y*)swkrD2w(veoAvtj%U7hG=`oG%y@^Gr#E?nD8rj!hsBO*}< ziAZHCQ|2Kw&^8y5$dIwg)PxX4lOe(;WLA=KN2ZKP64?=%o%L*btMBcr@0{yg=Q`gx z@B81ouWk1mo@YI4-Rr*Z1*>eB);+U>0P`$j;D2i3PQ5n4#dpE56I9jK!sxEUXgJB6 zDV>~G$nCkwK#nK+>cf@9TH|uut@mmi^Sx}z>i`eWRO3*98muFUtjdaqJjo>@oZYjqQ+7YW^ST!#dd|=>5yT6elcBuPlA$rLpl5d|~&R$vs|JIgTaxE_zPD zn8Laa(apw5^03ZQ)6AZ5FRz;5lY0yD5B^h)prJ3P)ENWJXO{sTos&aFJJs;L z6wf5CK|89FisC5KH!i?l{E+(5v#p~RmizAE=s4i;6TCY#f7;}lRSv? z&F+4P=pH{=0PTWNhZAo3jE{}`g#h$P8MqQmy_z%lnICO3hAc<2UbdqC@nOStGhYF4 z>{Mo@wej7WKbw2NY;-?aeJ`*0Dk|5-Ch-Gz20X+f#p>isw4Wd_tJUjB!=_$-YP#{P zNoGg3E&j)WhpvnFb5zTh-c(}c7hci48XFo~0WAq98ghn(w?%BYO)S?@AB6jhs{BRY z_q8!cjCOJR&Y$pliRTO9JiHe*Y6|(ife1VuoM<|`oVO&I_O02qAI}>sVNL-@d{(5? z87O*l3n4y?CLN0i0Q&ihhdlD`X;1mcUk*<*aPd&O4OM4Wk%!!tdE=tuidPqk(N>(P zTwKrM<_*ZpovVlNeie;vx7}Wf<+T-+@owhG2YkoJU0aSJ_V(IBg%2>2CM!FOZ|#dQ zQ~vd;T_~E0s&YkYgO_+<*A}XNl5x{Cs}#%{p&+W*tQx;;E8x8(*T5K4Yv(!AO-@a> zg9L@D$C~b_cBaR*eF{9!GS8LHX*HP+2fDi#Gp$6qtuTQxuO(7S{}P?Lik#2tYaf4T zaz@o_Lkr72e-|fLCydOo?CWSb+y(kaO0X+~F}`7!j_lEDCg>SYtH4)Vq}@-l3L@>iOpptu0PtgN zX89^+4F00)&T7{Pt28^L95VNib`U%43sF~h*i zgCizE$5&B*xv`tWMS}6=m@L5qQ1th2%IkQ{u>|&%r4La9m-f82J&+ksomXjP6~saj zK|)vT!o-tmCYyM{tk4CZ9A9+~@7rTWH&BF{nOyV@@HKb6P$u6Y4@jNAm&4Obw3O4Q zwN-q|t{1#}d80EmWnvZJbfOPWtfOi*d8;$whanqj=VT%qkaOB!Zjdf}FzQ+nHm91??6S0B8(3<`N6I)oy;2 zg+pL6=|TK)G@1){}u{c}^J_VVUT^mHUA-m1AVaU8|Wy@Y$% zw@D!x6Qb2~=A)Qb+Zv+-hizC=4QB!;q1lC#3u=(?E7v4FAxTe5dFZsRq1&k7RM6Ym z{Z88Bx10^IZjKe^?;eidYaZJw`@EDVHJSJRG^ez3e_e-ayx^r8qO7VGtm^C+|`(g>&@fic$6a4Cw*| znobQDGU^P|%TsS>$6E{#$d;B`Vjo3pG8?eQ-N4A59nEbWxqeAGfU=#1f~j_%boT}2 zHRGQ_Nt2t(c#VaLa%cmVz>9jr4u4L_U>& z>9tq+pYk&Oj>4vtTneJ-49nb2^4RYhbz3RDD=&TH`D;|>oc=0!-XdO6Vc4tEmBvpf zVoH5wWr9V6KI`pq(ta4aT|FS&a?ghyKvsAzazYytzQFycEI9j`fow5W+I~lBrJj8K z-rnL9Z`=Y*cGfb75VjxJ*Fb3-d!sb92C;{_YCOefVYXZU@UySbBR@21xZaua;R7}J z5-!&1jOQC7zNq!~uGkxW{nM-TlAH!MZ3z~37iBG0c_0$r#J!u_EUxj{zJ`Fc72(H4 z*SIBdJsT#+4X{j52&530aEv=2-uc$rT%$0PEkJ*gE}#WfSR5!T{ZA^a629JL0J@-E z{X6ClgApnf02&rU6 zDDK>LZ~idu#yB4*0Te(SI;;X$-4op(a{S z&35HN&%s7d5yvljapxY~H$~*ETl(a3i5dc8#p)9>i8`-X=yZI($`?u0vaebu{snMf z0vqw&a^(5=#4B`vqo|37DdGEXO8LfkSo87L@c?({^bd8@-|)YGcx5XZfq%$(|0N8^ zCk|JFE$4*pDwD1@&b7NH^C$(eC-Zc!CWj^`2}DQD0Mk?JP4eIQj=ipg7v6Z~QjfU} zK=Daj^R=4xhZFS|oKSU@aUY7}P9DV7_!BP_7;D{+zWwx{xS_!Lonx7H@T%J3LaRX_0HRcI-!5!iZan+jR8rU0g2jy zh1p3>t(PF_ZA8y0+>zF+{2 z=pbNgS&~a!JKQoG0FA1vjg@}+Ww_;Kj#F1h6!}%C{p;O^n_qB(BFJ4DQ#k;)B8diFU*Wdf>=xM=D28xFMpx8YVblff*p1YTKBoj37NJ@#5**?Lb$m6TD&0{89V) z%KE;^@SThBD}wTg$Y7Zs?^l;NaFb?!C@JcOObDVp+7r~psw$o9wtI#7al?Dbc<=(pGS}$kQbbIf0 zk`b71#GgY>YN3u_^Jw1CbM@;%`bflachAa>zbhMe7Ri(jc`aX9?f8MZOM7 z?cWfgEBA8n51cq;1!Jr70%nFBNDZkuwmTfB`T#BdCuhGPP!SQ!$lu<(!5&G zP1ra2Sx<%^rjA@F-E=SRa2|J(RcW}G7B9jFzt|=BLCq}#17o)WB`2c=<0UL+nj-=4 zCnH9}`rHhR5PpK!@l%8isHyQiVUr7eRVKGZl*l6Qzo2P4x>2kcEuh-`+jMi15gw#(bAL%|Swc7mCv< z$@z=v>ZfroUd+@~)vIb?R>_gUhFi{%;ve-|#E7yJ31$pt_q1TBRu7ZD=B?!dL0{Cn zKSZ6Qk|{V9HC?y=Iy3l)deLJ=WpY7?>4}h%G;n*LO5AEQ+4&dmhv(f5&`Eblu7Wh( zgK;Op&vPJBwN@(Bc_RHP_%vt-HDq!4JMMuu_Jp$98Rl*eg8xXijI;%G0H%smz9fJ~n)C59 zFE)ZA)zu;1FThx}+ZWCqpY5M&k;TDm^to$MjYtysvCRDYp{Np*3WW@zCLt&Ur7*6Y7ImPcyiFbja#_!Zfx@9km8Y?Si z)=_s}&Ajb@qtH6HA7*Q3j-4yz`-nix*+5sOwlFu)EwdHna!dhqxn-v zqkIz&i!Nbx{|pRM$5m1B@mTECokh#v4%?e1+m#1K+&Y;wy~6=xgEyz#1~s&A43U37crYvk z44Iwsg2T5<+VqD@BE=fx9NO)~Yss)Am?7wP2k}Z{@s-W#X05#z>@el?0#q4ZBNvoI z7`R4Uq4g!1ZBw@mYL0E`W_k5pEFPL9FI4CqHL%H}d zqc8*8Q~Y!R80`()>DOE^Sv{8fnk28@%c4#Ipb#;JWglRbpk+a0M4Avp`RFSNG07O7VU&n$s{ax-L%6 zbtD_YSOGhj)(G+krGSmnlkBybSwNHM6x%=Akt>P3v+CsD#~lHA!J1m_=c;A`#MtqN zDwQvia{46l-U4bvboWy)v({(fJkH>CcRY`e(vvBz)sJmWMN7Y^@J5JorMkE*>IvBlT10#4?}Vv&A=L{ZOb}xWPyF=_(fu*I{251 z$xk(l=;!yX+sjyJYYfPcvfAM7haT>0m8~xlb*e*36y2y(BiHZ%r>BcKa8!kt0Zi>g z9&#in`7SNmq^9E@5)=&CgBf{>IiL-b!AmP!mHJUqM>t z&>$6e;u-stcNJW7yw{eFgfB!g3XgAGav7T!y`wQ}(`-$p#AJk2AUmu0p-8FI{#hD= ze5Xzu?08A_@G=OF5gR;xy9@g|#3;H{h_REKZeXeQydg;m+zVDCt&9bI*6zrf@D9(=^yu&$(_)n&KV3}-IQTJg2JG*Rr(+`= z$>lAvs=|n_4I0~DIwe?C?Fe9&1dO1)CkKP()3qEdcYxTe7OCm-HgLfPm@-V6Uw=(x z13ln(*<;s$&LY1*nGW!=l!=UAeJ9BDFNj~(GTSWdWEN|#4ny)*7%NA zSn}*J{}|R8=`zhOezJmh7b5A4cjyI{EvDyn#}?KJ_i!VYKJ;!2V%N9%1WwQiC7izf zGWI zuN_yOxzoB|cW0K@L~7WZSe&QTDjHk}qBF`}14)V`_)cbftgj==?GP_$9&Agc5p(Y8NA6n- zFrZZi4%f#6BzY}+D2xoJMmt+M-5QmjG<4t`?YHFjlESfe?~QH##3G;%FBi@NCPP%P zmJ|XQ_ULKl%j_DMl@5GU&C8Ju@4cr#s)RJ`&^5wRFK-bQY}WYXTJ->N0kUQlc-@Cy7|HL$}@2E+Y=$DZK?D4f>ZWh6z`B;Q!~Q}k>(<(no3vYLY^Yz zb%l;0447SSlma?!b!Ztchiuo)zgRcF}&IbPvX40(z<@rjyG znp`=AqSb2Eu571QD|ujc#4qze6k!TC&bufG*nDjO&qevf=VvFqK0Ub?16G|gh=Bzx z(W6Fd?OGllYw?pZ2QnRzpd>e%^Qsn!RRK%o3ApJ1xfZ+TcEU4@h+w1-?6zJ4o7Q&L zBYnd)5Pf^nUV;6C&I@96-;!#ZT^HrD)ny}K&#&S)qAfqt{QR>V5k~=f1HP-h;2z?3PUyQO z#v{b1J~j=^zk`G5c!l)C^<>D^6TQ<&mnAvNODznicV@`-&*KkK_-~<@zkJTbw}{09 zGT*5nL)nj+RqMJ811;UwB@x&i z4wRcv#u>56IGKO4Pa}Z?H1$!j9YRQ7K?lG~Vg~5W+u$Z7*E{A!T3|{wNN_v*c9P-N z^(jf>Hd?@0I<=F`33~=w1S58o#lUo(99ee{ZLE-w zn4A|#4Jnm4T(b4TxfMpH?#+uDC9Mg$pT(c$(zhES{VX4VEuPyM4c3Vvx8^24+N#sk zAF@gzeb4T~KssBaOOyfV-gxM?v99OgaK+fE)ypn7MZZo<(LPP-4Ot&4A@O{Qk8}I8 z{Y&8C;Aq#H5x?g7b^anFj9GxvS^`&w<>i|9w|t$JJOGBx&D#?1hF8C?zqa@uW*`~L z6hrQiyB}LpZQr?QGUGI@1xaN#_3f`72h*y(xl)Be4iPNmjM63^Vv zO|9AL6Rk#1A3SFyMbDG4CPXh6wCor3NpC?hPZRqu;UuL$Bv0yXkUc6`xCr6UbmCSE zs{udhI=F%ncB%+U&P&fs0`K>FlNr*3>RhMns3JBR3Mo{MV#-PnXf}F)`@;J#dnR{| z6-|uDvxmtIvS|tct5veF?gO-M^2kX=*`b~j&b1TVMSS;<1Gsti$ChxXY8h}Z+XaR2 z>Z?$wt4Nn>bliahe)W}~4|rU`bl)*Y*~Clf`({ECx3=|w)xbz8S2Bhw>BL_92g#WC z>j`)qGB@Ugj);5entHKbu~+$rSVXya$x$!y=`oryyZq_?ix&%e?rGn8T$HMe=rsjf z$3J`H=O=Y-hY2Bm2pXENy1n**0DVg0)ka%*x1|3Pw9-U_1Hj)g zMT9`H7G=JI!lz#=n7_fm&%ha<9EFZY4-YTU##}CUie}Hd-wc6N1QPo7!HeC;Kq zJdTmXs_GBES-^>yGwNMIa{lC<6%~ARiS`?C@(2Gcz{`H-L^S=xiBPB9POt=F$;brq zVu8#cop%oE>1d=-Dz|-kLtJKhp%vOt0`l*Cs+Z9aoln9)SRVgx0qKP1zDl>6A5mQR za?rJmg0)R~>AvorTHxE)wisDDmN<76H)m> zdK{-qDQ0TSsjHy9lpDjxp4CUs5ELlBsh{?>pXd_bPZ5 zI$0cnm~`5e>E3co0<*MAmK!-82TZ-sq9Vjz5!v1&J9+naR#0Nx1>OmZJ_wOsI6zzX zE?k`rp|{ND%7N`$e#_OdfS@okgy)d|IEwt+IL4!nX+c1C6H z_9KFNu4G>s7qIm|4aQ$WnG*$o*qWu8zj}DiD?e&POu}SqV(a&I8)a8&1?Mc9m z@-m15v={p&KQ|DGU66D1{E zcAXCV>f&X8NU*+H-|_9{y&9)DeE-hK>s!Bs_PEuy?7T{+_Ze2B*=_%Gk~F+*s+=bR z(PRKYz8mHz&o6ueXfm(!awZFHXF{gfaQ{VdTyi2B{{VUBHslD?bz9%qkKIrS*W)wS z=A*F^jMn@7K6Evzk=1Xq%7nMDg7W30k~?NT&RDCs; zm}=7+#-)&8_^=XF+aLC1ZPitQvw`03tO_ic=zqHf9(kAgA4`+45^X|so$Xz2uWmmC zZKCtUv-QqxV=&2~$&1A_=eTtP{{U;6RIiRSgJub2I#Z%)4pu?dko{!(@&J)(5YWNR z8XPWdJI*kY*IR-u)Rp8i@Gh#E(*ua`ul&$djVnRxa`rJnWUZ);dz>_%`)x0VS6dOn zT`6Skp`#}1B|HnPs8kmxk}gn=B#dKw}uAF6O<7WjMYusTIL=7R75Bz_t)bre5|)_&PFO7W!4 zCN%0QFLVUQlwo5=|7~Mt$damGe1z&#mpUQy$XVdj7|z%nGxxnPsthEC@-4+GFMO#~ zHZ58~0=#kUm5SHGMISN87UyTCjyWNn;Mowe`6}Gq{EI8CFdNM8+b4k}t~+8%D3{CN z#yYOw?oH6Q{O3nBupdS&{l9IsKeHbeL{!k8Q%>)gA0;8nY@qsC!zptJ`!@@x2pD$RpeZ6!}Y?HS(DW^Xdq z*j>dRZ=5=-e$g2}Uw6hQ$j}$N2tA2)y0a?e{i+~?Ut~M_nhbkyaD9H`{AY`jw2zvm z-d6^lUr&hU%xX@AB=hBj;(7R)c7ccO=jXiH+-maDJ*7c|;bXJMEG&tf`s@VDq!vr` z6q5E{U1ai~20Pr)U6e7CN*xboC}En9cdPiv*{F3r$ul=6=V{XyQDsamcKb^RbtSU( zo!?rWMupd^lW~FYUg%@edLw5VD*d$gM#m>_fSs+%@zp82_VD_ELvVk%vW)_IwEnC9 zd9?pOJX#32NdbZ}sLsoDb_G?kF80^{qTIIw5U45pzQrCAm zaE5Le&rv5Y2ZLw6k?G_Pd9>2wzOQtY=BmD)*cdiDN9^{fa7Nxcz|XWDR=f3cp_XoS zSna)mf35b92xonqAakO*XBqbH58dg=?4JoMo?2e4 z#iTlby+R#$8CHGUXZ2hUwCZKQuXi{diJWTuH(<^YZ zWi)@SdQ@_AQ^UZY;LNvI?8Z=Varquxh`@O9xXn+ts_%Z{SRh+f=n&W<^xki;-i77M5D+vQ z5?bAe@+(GrQxPR%9FY3?sq~3DZ`4k3pk&}YZc`hryNM=R&h>7LyoXc$K#Xky_RN;S?^N?4`GZ0 ze63gF8}W^sPuPG9;2^XkQh6EhB&2>AFCQ%8wD|J3V=~PLo=RBNN|*oJ$dciy@;lKAZ*UtqB)_YT!uK z1(rc%wt#36_PI~1XO>%&H+1x9R;#hVVtqhs`&eWHMEut6|MHxHma^h1U?FFmY32U` zTw*BCl#+cG}I5Y?xXvV)_pUG`FkZ!?cs2#$8<)_0=S-0Ff0OebbR3Y z*v!ZNK+mw{P~u1=>r6oGq{1K?3bO~O%z5+hIh1O)M!Wk(R$`aY7wiq{K(tZvv(%s3 zqS&SMbL?WU^ptdHlbEPnquu68$2%Pn>_$RDZ>zpXS$~CWLFQFE?F_XuOYw7&3PN86 zI3!x0^Y)8C9=U_C@TJ*;F!w zz_vHwa%yu?3`a0<6jE4zK)q{s(608^hv*wIObE7+gQKR<{a+psk7q#Ht_-uYz`Pmt zBm-6Wx6z?rUha$H%fk>@z-1n`JBPa&Jz{OV?JN=}373lNpCxM>+IJpm2lQg0g zEo?40$#N1kiDtmQW(0FQF1yqq!*~*=YuHiFm)5AnRjr&-wIm%INv-+eT(B|U)^`n^ z3wl4F3o21Epb$z?7`c>c^x27G{vvDEWp>GD#X=ZyGqRY{vZFs%cU9mgpxfsP^&JUN zcgFIJ?wymeVj&wpUAA70%xTvwG|op3XhK`+`dMu<01d=@)0>SQp-^=>E9zaU+3OO` zktf+l;l{iA1k1`XEjpW{NnXAej_EgT$=#CZm`?opm=3Y;?sXRc_d|Ns9|}K)ab;eo zr;~XA_ur+xC2#hmK@4bT3}l-jr$Z zhS`kQrL5%F&>k8O_SkBb+YeA#mgrh4P8UBxy3=pJnA)emGd-0Rw|uCDR;W?z;XMT* zB6&;liw6<#3@u*${R%JW)3vQ~Ru*XvDcjloMCWvsNJ52&ura&vW@EWhkxH;^wsu6I z^&)+gze-&jb5KCjbOx~h+*2@Sk(vCFmQcJGKLV#1dxNJhSHk?)Og+BUYC9nsoM*H? zDT)&N)}23x`Ty=D!=&M+?C{u1DBhE>{k&2e3dLNv^u2`OW&_sz9E$&o^E=iZ#!=@< zx?RLp+O66q{1IA^-r?C>_cUuj_Ly<>`@RIJ^FM{)KZPLDt^ZSF|98U|OFceZDQe6? zN+d-~54_sfNCgUeC-2=;A4}|n z(U>Y$t@Hj)@P;6{+PUB|DnOzzx9sAz#Nr)#( z)sFQ#oEuh6U%y36`>S_rPbaR&(eqJ{QOA7CoGu4`y9lGdCnm+(hst)1{w}*N7p!N& z`@+R;+=A0fuZ3d#;G^zvd<0I{le%`5F#UwQ?9Iek-H*YVFJCG2On$|UdYE;8{CaJ> z@1)Pw;GD}fDprS-u+cqb?c^=trZVQH37=*%O7a{_I>!%{Jj$6#{dz|#*-@XHbb?f) zVxFOX<9(mzftAQjrqo$J)G zZw+hcG{z@EDbWwll)pBT8hu=v42$`}SRTz$T4DMaugD7|=oc>02-6?=;uEcu245}Y zC|myOCHU&wPewEXu*_a`MqVaEE_?7N}AMUCl-$?x72Dqh$ z*)#E_`{2{Jua7Q&$_Sq__MeF@)q_tz^j9u_stp&R{o>4x(nIj+*e3xY;xB~5&4p*4 zxms!mpH9vOE`Pc}s-aTyfR)Ap);`Wz$A@@jjhhptqyo-_l`_KL?8@A;VfmqJVN#L~ szA_{CQR$sne!3>}f&bL^YVFC`ZFTN{0FH1}!T - + @@ -38,13 +38,13 @@ - + - + - + @@ -155,6 +155,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +