From 5b9662b94eb5361f0b9fc8d6a89cd3a2411a0ba0 Mon Sep 17 00:00:00 2001 From: "raoxianhong@jingjiamicro.com" Date: Thu, 2 Sep 2021 18:58:50 +0800 Subject: [PATCH] 202109021858 V4 start --- examples/hdl4se_riscv/de2/de2_riscv_v3.qws | Bin 48 -> 1348 bytes examples/hdl4se_riscv/de2/de2_riscv_v3.sof | Bin 0 -> 3541671 bytes examples/hdl4se_riscv/de2/de2_riscv_v4.qsf | 1 + examples/hdl4se_riscv/de2/de2_riscv_v4.qws | Bin 613 -> 0 bytes examples/hdl4se_riscv/de2/de2_riscv_v4.sof | Bin 3541671 -> 3541671 bytes examples/hdl4se_riscv/de2/de2_riscv_v4.v | 28 +- .../hdl4se_riscv_sim/CMakeLists.txt | 1 + .../hdl4se_riscv_sim/hdl4se_riscv_core_v4.c | 1441 +++++++++-------- .../hdl4se_riscv_sim/hdl4se_riscv_core_v4_1.c | 863 ++++++++++ .../hdl4se_riscv/hdl4se_riscv_sim/main_v4.c | 71 +- .../hdl4se_riscv_sim/riscv_sim_main_v4.c | 34 +- examples/hdl4se_riscv/test_code/console.c | 2 +- examples/hdl4se_riscv/test_code/test.cod | 2 +- examples/hdl4se_riscv/test_code/test.elf | Bin 9032 -> 9028 bytes examples/hdl4se_riscv/test_code/test.hex | 2 +- examples/hdl4se_riscv/test_code/test.info | 12 +- examples/hdl4se_riscv/test_code/test.mif | 4 +- examples/hdl4se_riscv/test_code/test.txt | 11 +- examples/hdl4se_riscv/verilog/riscv_core_v4.v | 789 ++++----- .../hdl4se_riscv/verilog/riscv_core_v4_1.v | 612 +++++++ .../hdl4se_riscv/verilog/riscv_sim_dump_v4.v | 824 ++++++---- examples/hdl4se_riscv/verilog/riscv_sim_v4.v | 33 +- 22 files changed, 3342 insertions(+), 1388 deletions(-) create mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v3.sof delete mode 100644 examples/hdl4se_riscv/de2/de2_riscv_v4.qws create mode 100644 examples/hdl4se_riscv/hdl4se_riscv_sim/hdl4se_riscv_core_v4_1.c create mode 100644 examples/hdl4se_riscv/verilog/riscv_core_v4_1.v diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v3.qws b/examples/hdl4se_riscv/de2/de2_riscv_v3.qws index 63563b76eda4b19c3f4f321afd3f1b7df67b8d5e..2734e4bdf9b644cb0e38de661c4a5e8dcbdf58be 100644 GIT binary patch literal 1348 zcmeH`%}PR15Xb*lGl~}V04*XUBJeYuNH6!fkN1gtp_fzI<_^=O>PGDIXqXmE$R%73nJa;gSs60Ma99nD)Dv*+Sa93 zl)`%kD-V5IF>aPYEpbZmxljy5QUxdmB|#;*De>j8DfyP|zs$#>nof=gx{zLMlSU`W zGRt8kpfUJZClFwM4d$qVM-DB`XkDl97Tr2R+J!f$d4ViXtX%4{j0bB zZF#Xm@W_70FV!>hEVath8T)BwNV>$n0Y4&r&)=JYWn>@twRM;9pUeyL|Iq07hlaZP SYl2@ive%O+{Hu}4A-w?sH{J*U delta 11 PcmX@YWiUaTl>r0*5LN-d diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v3.sof b/examples/hdl4se_riscv/de2/de2_riscv_v3.sof new file mode 100644 index 0000000000000000000000000000000000000000..5f4615b65ec4bb84cf26363642f53bd36ae44037 GIT binary patch literal 3541671 zcmeFa!H*SE4SYKuC~I6T_WZ za){+_V`p}uqaE}I^ijt;w9f2PUv#OzLC~Qu0_r9~H{Ey;MAsFmmSa96sTx zLF^w@|LpJnuZO>P_=i8@9JsMF{^FOv{?)(!^Pl~jpa1&b{La7n)t}p$zxqG^{U82k zpZ?$f%m47d;rYM+-QW57;qbS3dicNW@rz&n-p~H>SHJ#~zy8@@|Nig%+h6?Z@JGM? zvtRt|>%aVqfBVZn`OVLM_2+;37yre7`jN;V&1X&rb_l=xyI=hDXTSK>zy9T~fAh0{ z@YTQiN5B1tKmEloe*UMw|A#;M=}-RPmp}jcPk;IkfAM?2{ku2uzk8eDkN(ueeM@e9 zoRDAq@~?mOC%^nhzrB*~x8>`f|K{KPqu*W?`s=^=)8CfA`t>jW@=yNa7Z&i<|M*@q33kmct(()DA7NxlS6ARa2u8bLU;w=W! zx>ZK(ly-Q}qL5M%?L9plUjNpA_1<@{f9roX<4t>qAKBTW_MsQQb@+g`S2z{SnNLU! zZdAE>-ZxTXsis`}A6pAIxNR<)+rAPicKgFZZ3n|%$w7hp5au-;<(~EoqRhz79Zx#2}=*tjRdDy^f*nix6;{} zqPH2}5p-F&ESAf3Bi(F({WS5+(1(>yh09p&MQ4-t)Pgb1%Kxa36tBX?v`7*d`d5o3bYld zz8UKh&nLPQsX!`_3Zw#0Ndb9E&15f^qQLOa)l}Clm!iU1>UedQESV$~NCi@XRN%QP zaPA$frp_a`xTKl=o(|JJbiI3{ChtZCX%>N*zsBa}b=ux?F=2(gVe*RI}m| zOsg}S*v9cBNE4=p;^eC$m|}K<3=_jW=dFnbU=(p5@6g`*N=UC%AQeajQh`TPU|zI7TK-L9*__$$gziUmhiT+GVP2x%$#}lQ zk-eR-i_DY?Tz~?3zun~`jJzj3mHVxrG(s`wCVK=M99>$nH`2*9PjMxqzbCV7v{Wi1 zxC*kw>}C|g-I6g>A!Z%24>lPwLm zp`IjmAr=TjCkd`ibaM62+ZXXGs#y#UMbk}XW)wU&2Bu>dhRj>u1$1u6y z+p3a+)s-?dD3%^5POA%>`?o#1rB5o53Zw$5Kq`<5T#Euqq5f)T^IzYZJ$=#7B{SJ3 z$;ohQY4_rA_srY>ls9w4U%oX{{NWcfDzSe1SZesjN}q6Ows6O#Mv6`Bmmw)n!n%9| zb+n+LnnzUdv6glTBEzlAbBC>!ztP*0MB(wfyvZPZiOX1p-b7SJ{j!_uOy8G%A9X)p zW1$4*0!FNp~!|0>Mk@t5yDXuMS2f;A?*WqJKsZEgylF*~!tFfokiO(9-Q zx$+(3k`52>nkxUMJ-)VwzHh_l_IP8D!{4ySKd?t};ba{a-^oQfut~D5V|!)^x}m6z zAKz(V#btq|x0T^djk4Ijigem?Ed`&_6@uu=u~k>BaYR|pt6lF^H7l-)97~WfRi;VF z6FoUrds~uJ>WGLRbbh{zK8R!2VA+*zO{VL^9gnz|jKX}+97W&c9obtm`A!bp{2vke zh`H~dIw#&qyVJ$1uPKU4Q|zO8baKf|wk%wfV?S0f@j4AxJ2<%DZSfPcDAo;oXqa$s z;=}4v&n;M+q&V2>=H$33c*1J%4PCbZTipa}QwmmlRM?Rc4C}39Hr!;tsUyc!;A#}m ztEn^#O$AbcRNx6HAoLI~S5^zDu68@Q&a{7PC9hgot&q(q^yHR|p^13uJQ3@!)|#y5 zAUK6}xdtVq2a1!gieQS_2{KF!BYIPa{mPbfcmQFjS6WVs?TI6T|X>SmmIwaZrVk3l8-pu?w+47&=LCt>PoIc5&%qaHo zOU6*eE3*!nx04krq}~*~!+%Sx|0n=B-#ks}@#!!Dht4FBwA>YSuCH)+7{C zyHbV*#nObSp*Z=f2qrhJVj;*dF)aJZ%0Xe{po(g5N@(G7>!_07*U0C_FA6UQR`Y5U z_rwJo1^e9iV`6A;kJ(t}P6bkdR3H`TP+(rPc6fHW%nPbc@2#6`PwjR_cVoIsG;*Er zP(|<7`mV<#dwbVf(mxfrY6W(`-#%0gc_=|8UMseTnMU4|p341JkQkv>J4F8e4z5+O zH`2*9PjQ8>vGWmEMsO8`#_VPk!rhWFR3T>db&3lnrisZs1h23z*Pw(nVWEnXuZm!b z*$FaC4ENgyBUJ3sND{jc3xuIwX>q}|iB7Kmd7GcVoe+JQCp?ce#@d47;Lh8lV2arv zK5yX{hI*3Nh1f(YkP4&%sX!`_3Zw$5Kq`<5qynixDv%1K0{2ls2>fZ;e z>@0T`(R4VxINUz7UR>c?#kXdSKSW?gCERZxOAX&x=@Sms z795uvDK@G95nc1}3#N`1^i%VQ3O?54Sc1q9uTER}8@(+_6du3Jn+(F2xQtckO+;nX zFT1(U^nKa)QTOvT7P@iUue3Rvet56)l9+JvufiN2fBEi%#!J;LSYyIlme-%v=BD5o zvojkE6T^t!6ynvC+w3Lb0bWxje^2CVd+7T%d~T07_Bik-EcnA7#f6h~SbQfJ>A)t* zwvO$YCFq8tHhz4kg%y_tmflu|H#N#)`zq3D%e54IN>>P?C&yM@vBnW)Ij?rTSJkYz zDsn7A##EUmB~SF^SnX{|QmG>%e$e^(F8UyjU4vy;wl$fq4|hD`UNQ>vJ#!R&lXqlq z&Ez{d%x~5^vAr{mzH`JS1mwg!U4_%dtFI}FOY^cF&7+e`W-@=B#H+HbZBDMMGfU9S z5r5%r@e?yEE}P0i!-RViA6A!oZo%3l#lcoLC&x{}6IO$7=(-Kq>Lys5Qn1>i!j6<+ zSZ~XPRkHY9Vo9U|sX!`_3Zw$5Kq?R`AeiFi%4&%bv)r5R%rV#s;E$Q$8!cecYxZv7E zCs)qfs*-}$l`=FamL4ch{_GG;Zd%21LGzY!5~)BckP4&%sQ{m=Nt{W6Pi_J6iW{jr)%E_6Pj=ZQY@?XIMGBW zSI*n2l7iKhGBhZb9w<($3tN5~BbeN@iY51NQ6Z5EqynixDv%1K0;xbMkP19Q1@h-* zXS?Xfvt`Oeslc;TKU%{u1uw^omk zI;_hzC?QRl8j6#zieQS_2{KF!%LihWgTlr^6-F*N)RV+6!~$XHB*C?ckIdT1b)I?q z(h4e?ZYndQ*uyUwLlv*gI%M8XR;ZAAQ}7P|EwTQqaN@K|K@Xp|_1;PnAzRo!#zZQR z3Zw$5z!fSmzxiKIC*5w+MkRB*bzAAz#W}k1?6JGb+zqLpqyq+X>Ar=Tj zCkd`ibaM62+ZQ=+5q+5_JdZWT+JfTX&fBA4irFt{-csmp;CBFD6!^8%qwr=F@oOf| zDDaz+9}z=)yLVr?zP-0}w*seI&v$=1@-@*>?9kpi@~2BGkP2Lm0`kcBqsvhuD@g@X zfy-7P*SC9IpJ@-0h~tspPj>4~Xpm;&-KOG#YZIMZ{rg~*%9_RC;O_XGww25%c(^5F zXd?G-4~j@deXpR9Q=|o zRH0@aGjB~oA+;-IXizLom>PKW$siU6-WhAfer=cMQexWnOtOG9v#L#a-A?Q zQHRyuA|BaWD|gycfhVOv-fwrgoFnf^Pvw3qD2-679U^~!2iGdt8|mblr?|q`*!hSn zBe)7eV|FtN;cm$ost~jKI>iMO)5K&Rf>&6VYfwU(uu#RxS4A+z>;xGmhWqV<5i0g* zB#B*!1;S9Tw7B5fL?>7Oyv@(wPKdtD6Q0K!V{JikaOdq&FvaW-pSSP}Lp@3CLTn-x zNCi@XR3H^d1yX@jAQeajQh`(;6-WhAf%_;R1a)pobn$m`_3wjKc9y#ea(8@A+e#KL zP`D*yXky6zEm?&jtjjehAw5u>d{qQf%zi=pU>%hf7n*9K-n9_FxY$$W*w?UZSjOA< z1UC`0Tc{Ae)H88V(sIy3&f7azuq7CFVQ@89Eb;Y1?L;b&3Zw$5Kq`<5qypEkK>i)5 zvt7gE*)nCKR3H^d1yX@4Q9!7(b5o+LrB1Hgzpbh%SY0VYgJS7{;^gl(2_`qKVj;*d zF)aIq%0Xe{pasF9o+Nf576?Np39e0aa^<|ODk)f9DMN!|>4D-@X4)!=U|OBoOiy!| z@Y)!Jvpo=;>Pcc3ViT!ADv%1K0;xbMkP1{4P^|uHXS0N<5@GzJpG)vJY?26PZ!Ldb z9PXZZ8-!~W-K3dq;VsMS&uVj1@Qm4+4TgzfL~jc5YRYXsQ-ue3O_lsT zk+1Ec@7wUXJ>J;kz@M<-4|^0BPS#=Zom`{?n=`YWtx;c(UW7fw&sX!`_3Zw$5 zK&*gZikB;^B}UA0%hJhpru|zhY}Gnrm3{AvK=ZRQ{qs=!vhFIz0%@>YZIMZId7{<3RYLj(4bg)pg8%nLom5% z70U(9TgpkK0;xbMkP4&%heQ6q$g|CYPi_J6iW{jr)%E_6Pj=ZQY@?XIMGBWSI*n2l7iKhGBhZb9w<($3tN5~ zBbeN@iY51NQ6Z5EqynixDv%1K0;xbMkP19Q1@h-*XS?Xfvt`Oeslc;TKU%{u1uw^omkI;_hzC?QRl8j6#zieQS_2{KF! z%LihWgTlr^6-F*N)RV+6!~$XHB*C?ckIdT1b)I?q(h4e?ZYndQ*uyUwLlv*gI%M8X zR;ZAAQ}7P|EwTQqaN@K|K@Xp|_1;PnAzRo!#zZQR3Zw$5z!fSmzxiKIC z*5w+MkRB*bzAAz#W}k1?6JGb+zqLpqyq+X>Ar=TjCkd`ibaM62+ZQ=+5q+5_JdZWT z+JfTX&fBA4irFt{-csmp;CBFD6!^8%qwr=F@oOf|DDaz+9}z=)yLVr?zP-0}w*seI z&v$=1@-@*>?9kpi@~2BGkP4&%sX!`_3Zw$>ra-Q5i(U^{M^1%gz>^2mwMR8O^k#dH z)`UuwrUi4D@Y)!Jvpo=;>Pcdk!$Ao@2ty|cu2nD@JGss?Z^a7o zuMn~uguyKtLltUPf8O#j;xGmhI`IiBNxK! zNn#gbcLx{jqVRHHHLpf-Ph8Vcu+NP@CWiL*n2lxbR3H_&Y6bYCvx##kFfUrqk*Y6; z^ts*3OYarc6Et$2FfUPi${6A^vbP}xCuu5hsR~@>{Z{X(<~zo*_0Wlt_oSzBzx~lc z&=R4TbCW%S4UR4?*&FHPny0vu(chCV2arZGE59hJ<360p`Ijm zInCI)4tNr&z;!4f*HLCxnF^!=sX!`_3Zw$5Kq`<5qynkH6IVd!uX9tPONvge^X%VJ zaoMBURAxrOV`J$48G-*fMtA@AZ5^a+L2wA`at%sI4-_X~6~Pp<&-+gkUXQj9M)KN) zQ_QROIMGDCYaxDdv8T%MD#_-eKjh~Qb#}7~9!otF2g~)~c@sHr?_9yAV&)(?xtc4M z#%#bPkqV>&sX!`_3Zw$5K&XI(mU$Ucv7gJ7e+TMZN*|7A%k;oR(*xr(JQcW91-dtd zF13NI>j^3#^if(ULRX17ow+$|YH6S)s|=L$9z zGY7%R)m*W}*X#BjRB-Ji!L^A_uKc+}RY}3>N*NjyOAiz$e|88aH?3kJ$S^T1``pSw zVdJ0$!J(ccb|E&A3S6H8a(yLd#i_s{=WR}cD^@_My{u1eEjxa^UBWcm{3770EQkDc z(ycoF`hG=_Bmh2H&*(D%bgZRtSSLa^Zu=PO_~E_EOJX9{zY29$vwrtMqb|2#ZSvyq`m@^H6kK9Gy(B!qYpUe$iF|Djg_Ctyd?y#_z$VGIj_sKx z=!T*;etf5e6_*8;-d2V;HOgZ9D$;4owG@0xR|ujf$5vgj#t~&XuXepx)vUNGax6i{ zRGB6vPxRzi?QKa?sUsqO(E0f;`XG*7gJoB?HJPptcRb==G79rOa}<4(cVutP_f8lNM6EiC= zo617NgnJVoR+oBi!P+Fn!B#gX$4$W#R)cTox((RsCRm$Nu-c=-j+9_nZ_9;MviMz^ zp{r3C5~)BckP4&%sX!|592F3nj+ZN|B}SJ%om^+yzqOKAEtEC$yhIXua!bb0M7(sK zi1k-%O;&RdoWiHeF>`7jQ7-Ne(j-^lb zRNz@FFt4+pwFcSz^(m0^_WG__R(w)G80$M9#Rbg)Kjg5ln7c#WKG?Pds0K5TG0sHV#@4 z9O_A87h)5sKq`<5qynkHEd_W-N~8kMPl4(Awfv+zzKS~;KQEhD#@`=u|IlX@d3;vg zX0xfl*%c5nc5X^Ei(@~flj}VDU}6Q8J(^8rX2iiS8ABCn)-j*IwL*o|n}U~*Qn&^s zqzO|)aq?9WOffq_hKb>x`(Q>cgx8bAF2n+1=p@0lijU0N$@S2A`{P-|YCVUSX7;bp zyhIY>-I6g>@ye`2=Ivzl2&u!mT!RwQMEzIc2=Oud!{=?iHzj?1y_T0PUWrs76-WhA zfh$yCe)GSa%4J|F+T?C~_!PWRk3!e-YE*LL9ogH!vXeR$xI6{&e!I&x8F^2768GD^ zo4B~2V~l(u$u4u$A(@On&>EUpWbZV3dv}OOFY>l*qH0?x07q0QA$Q$KEe|> zwo(}}O~mXLDunxKv9vH`AB?2J5Z2`yl#m`MPQEIFDP||gFfnkC+P06S1;L@7Bz7Sd z2ty|cu1$1u_0QWE@hhrX3=aMkn%^1(54U6tO>8fm%cT&NI-0EJAUL^Pp+T|qKyfP7 z+)i>7Ot;T$r>8kgcs=sGrG(wU?*P6i@N1_>;ms)G*G!yI;5Q>bB8K*M@4n`n*uCR- z51jAnyYoUQLs*S;8bu86$k#+i-BX88x}*ZBKq`<5qynixDsVXpOUBT|6Wa%?$f0O~l!l3cd(^gl zEG-BQuI7p*zFwqTzHJqrc9P&)1(UIp>pb&Tte{v2GveTvjG+oO>-NHRv|nY#XdE(s z-M(l;gJNmI)KHv!RRmML1#_72y63#D_NEZ~l`ZM;*d2Us{G#x3U^TBsaZgN~QLxXA zKPHCu_Lz-j?o=QZNCi@X4h7~#Ylr8VTx4J#9mYL!oxtkxF)^~Y$LuR}rvhhJAn&)k zNIvqO^i=M*g3<`ZoSWyUl0 z$%rA3>v9WLLYlBp#mQGiFvaWy8778hV@f$FY#h`unNe`4Cy8B%1;Wrtf@>3bMl zKYu$R`Z7;=9&3!X1;wGvwA)-q!F2mfNvl{MK5tRk)*i;F!~j#o)GKV`^yJ0a3J z_HPeDrseWX94u*-gNvBAr%I?MkqV>&sX!`_3Zw$5z?CY%-+@Y;MSPi_J6iW{jr)!_LJ&mSMDsVXp$mNuhm81gQ3P`tSI;H{_r+`wCzuNJB zHeIj(i+(PdnKnsIhFeR!7l*rN-u~2l=7_(1Yo_?aFJ@F?{r0ic@Qsx|;m~a1j!TUc zo7De^u6g(cQ%4K>sd+>NA8T?fL1egfdG4^a@;7>0k|;cWmp2)NFL4>G(3^B2w=AzetIbWpGiGNt z7$$}hy(z@2DYyNU6)uL?RLS2H`Pv@(z73z-WE~dY$wfM_NwTeD zdu9o`p{R`?-)UjRWr3x)mElc|ve>?gblP$)1)tItg6PSyRadNWL|M+OUGG&jE3S$h zOOP>Drb)>YJvml;Tar}jh=?C_e!h!7h-24a*_CZgrt8BUkGPkN!hFvhMc?Ed*;_OD zP7d>%^-gT>Or!4{aR~uA@lIFabn)tIisI6|Y)A9x*~xBG;_pX zcw79$%!IqQ}Be<;2XMb1Gc&e)}|D!_NcHUB^cJ* za$%J$ewSwGY7~Y_3&0E81tnYjj7yO&(0Bh@uNB+F*Y?tVGwoI8Q6?m2k z2wit>N;CyxKc$oFJo{i`1(iLTO=V`p!7mv@6>8QopTD(2h18pZclhsJriQ}pt0I`( zw2Flw!^CjUeXwe83b9|=k`50b4E0Kj3$9gsWY$iu^UT|qR#2>i8O0uc$r!45W!53{ zb}|Wt)UK4FL9sMZ|5Z3byqi|BJbd2Pdn-wVY;GMG5~)BckP4&%SE|7L=6^ZW%fM1} z7&mW_qcFeKkD_n#j_j?OJRMSjr=&pMZ+E$xBkxI1;(oh#6BqY$jFB%S*=3G8B$IP) zw^Jiu6CFkF)0@p(AsNkZi6?sm8*|XMDmKKKW zgOOAi!n$0864C?3$yY@%#q0zbCWd80RXHeZ9JC-f)RV+6!~$XHB*C?bPOkoW`yzft zHH*QaXu7G)jDp9;uB!eaN3lbD>&TxjsX!`_3Zw$5Kq`<5yqf~KzI`{n zeDBFWz0cXFvc47MsPB9f7hId@%hf z7n-Vq$yo1Nh+kansdDUVST589_HU)iZblqRJrf5dEeAEI8OQA3nm$72MW=~_+jY4H z#j6R^T5<9<7fdlbL57K8sYf{|Y#dZ!lPw z+X>N^dBXEpW2`MG4(_}?3Z|I-;qw-LVW=mGU5K4uIX6#pOa)SbR3H^d1yX@jAQeaj zQh`(;6-WhAfmEPV0l}|xQ=*HqldFFp>>>NNRP65foVJzBD0sLfV`yT?{w-OBA*{?aiWQO*FyZ_Vo#OhRT3uj#M!c8xjCblXAOB;N6c<< zLhMq{#6d~RK?^x=?_9x_VAzGh)m*W}*9)~1sX!`_3Zw$5Kq`<5T)zVOcc9L84UcEb zl!;P-R3H^d1+GK^q0Y`tiLRD9xpM!us-|Fdr3?*=!Br zg^hz21c!Q(*o9ai44ovnHqptI^R}v_V0EPo4T_})ic^_st0aPHb!Ia?&0)f8V-U{v zKya!jiCu_IqynixDv%1K0;xbMP*p&&`m3E=OPC)oYw{}B;fo%wTj|XGR+3wWTg#sp z2O;ULGjD@1RPn7@;|~#-Q3?0k$5O*LR{DfPvxPe@HBxL+|0BBQ;TKFDE$FA_5fyx_ z$*}~H!MzxYrG-XsOA>|0@A4*t@Fgx|6?zj<8THFzKs4TgzfL~jc5YRYXsQ-ue3O_lsT zk+1Ec@7wUXJ>J;kz@M<-4|^0BPS#=Zom`{?n=`YWtx;c(UW7fw_#n3uVnbuLXq$+>$Xg5igx5V*S-xlhqsqr?4*9 zpoH{5aq?9WOffq_hKXTBZwj$r*^&+qAPn_NiwmwzbaLgqttu&4T`5C@V(Ee6_{JOq2>dKLzG>_Va5zJHB28pLIC1^*^GxpE(@s-$3br3?*N;CyxKc$oFJo{i`1(iLTO=V`p z!7mv@6>8QopTD(2h18pZclhsJriQ}pt0I`(w2Flw!^CjUeXwe83b9|=k`50b4E0Kj z3$9gsWY$iu^UT|qR#2>i8O0uc$r!45W!53{b}|Wt)UK4FL9sMZ|5Z3byqi|BJbd2P zdn-wVY;GMG5~)BckP4&%SE|7L=6^ZW%fM1}7&mW_qcFeKkD_n#j_j?OJRMSjr=&pM zZ+E$xBkxIhzjZDVn-v#@kuM|})#)^f7~YYuiH^Fb4xfgLob0EOX1K(YJ%Ww7?tVMD z<{71AjCZO|8zZZBPi_J6iW{jr?PXkN+Ot6XExhi<}l&4F$iaSAUM^N#4f}F zVdx~mwF)Lgn zf(#SGJ?Cw;H-*@*Y)Oa5?%;Fd7loGtt9dnwdt%~@f_-lMF)_5a$80Qfrvj-!Dv%0v zC@?QtJ3P9` z{%uuF!RksG8Wc+p6eoYTNiex-6$?RziDB6N*NjyOAi#MGSgN`1k>uwW_p^#gxAI(ob7?&R8JDS5SvH^Qh`(;6-WhAfmEQX zfMWGmJDVj;l?dY({ak{-VUt8Sdu#dg;&AuO+aO%4_|~lPhX~B5g!}Ddso@(deZryH z!X1|yDK@G95nc1}3#N`1^i%VQ3O?54Sc1rK>+;-TYvphBwj@z_{4Q@Y2w&ndR-rc$ zl~KR!<~q~&W#32L&(~P!#%;gS=4|@my~;~s!pXl1b9nsayAK*KRkvV`32#|me^#5D zf@jRmY%oj=BYIPaS5t2DnJPTMYpUe$iF|Djecy)9?eWGQ2mXWwf7qkAaIy}I@8lvK z*d*E3u|2Z{-B8rVkMFdw;&VrIoQc`wSev9c*y`rwxG8wTYVZwRw*gz-1Zz_YR(n*~ zkrE8+ZMm>Y7Qag~bTtY?A{9slQh`(;6-Wi1qXI(H@p5Ig#OTtelj}_Tw^s71g|cRz zmqi73!1l-lSlAM) z#nJ=C>Du?fgeF{p6w9hTPBhWUmGic$q+oTW3=N8<2a40`!j_-L2qrhJVwu;K6VI0) z1SkiEje`~hhkBCOh1f(YkP4&%sX!`_3Zw$5Kq~O06ku(A@yMT-o$V4G&z30@r2@}V z0io;8O^K#J?5A{coo63Rte~<-v#HFCIQS)Fs6x#;=JU5!sE~S7@DBgI%hXV~eN_aL zn^v(9WSAK4xer$DO(FIxThieHgrQz(aly5UkIdT1b)I?q(h7=oFr(PRFBwA>ugp4R z-cBZ=klK|pG$@uP>c0v{hv-jTgElcz%}@RStD`|U1QbL2hgN!)MuZsOv8jxq9uB)iN}hh%cj z?RIM9Yoepb9eR_~zJ`s#j)P)hW(!Zc`^AyzGT9^8~9MqPZ!>yAmdXwOV@7fi_J_fK?FAuvsIZ+r9hZHF#0T_3houG4eHWH}b2-!UnC@lMt01E;wUhDgi4 z6VGFfv9_Q%_?io*nEitG!8$4}E;LmIGpydV5Wl$CQ{~v#uw1AI%v-6ln-Pan&%{AV z%Rvol#xeW1rjNkA=rmcTRb8$@@oK`fR-Amz1yjsUkYQq2bW#oq8wXVwx!_Pw61xz) zJNVrAMd9VZYF>@vp17v-^x8d#eQx|QG57YEC1mbYAQeajQh`TPfR*S)K?YW%!?U2efjND~&SIQgmwrkI@|!^CjEeK11B z9*rci3$Z{L>XjB3T$||R>Yumy`P&K6mwCeTSYxa$C=TwtJqo6n{o(T#eqpF5iCu_I zqynixDv%1K0;xbMkP4&%sX!`_3Zw$5Kq_z_1%#l^O^Gi4POkoau!rp5Qn9<^bJ|ui zqu}9|jG>7k`?q8jhOjQzpoH{5aq?9WOfmZf?SpkxT3l$ViF(&U{NiFym1AGSvSG;- zpYU7GCTkosb}I~Ny76ca^Bv#f=$KDL2z<4S1j@MLhVEp`IjmAr=TjCkd`ibaLgqttu&4T`5C@V(Ee6RA$;L ziC|it*-TG!nDE*dgtI*moa#wp7h)5sKq`<5qynixDv%0P6;Q1HYG<>AsS;uQqMu9f zH*As!XKyWkUL5Y8c^ial72ldQ{t$r~m2kg(EH!*%rB66CTe#y=BgH25KcZ_Me!4yjOWiOgQ;hVGfVKeD^`)rRo-}G2t!C>(6R)Q}B%0nGJ@CVMK2V@oLI# zK2wDUcukf3J&~{Nq3_%9xjo+4o#Dkn_z89!D^2RJ5qvSy)743$>MiuhOS0o zNTdR(Kq`<5qynkHb5uZRI$o}6y+p3a+)s-?d zD3%^5PX6o=Om14mazXQ!auTUPDv%1K0;#~^kpD08Y_s5awoI8Q6?lFM%Zbn9zhPkYZW2 z$B8C7xpLlCl@zS5l%YYf^gwZ1UD)!|7{TPGRV?$ma^m^&g8=2AuyN3W;80HzyAYd5 z1yX@jAQeajQh`(;6-Wi1lme`+FCO{xva?;HQh}$WK;Cb6xtb&INl)T_yLS^8_j8PqFC^Jzjyfchb8fd&BVQ98 zMefj>oc1+r40aq83o~1I(%mnPOqaW}5h9;iaygdpXyK*QNq%=$nk2Y^fzBBk8z!wF6 z?er+T8Abe>i8BiPX5>f2(BAId7q7vKLauM`UXGEkiMzR++pkyG_Lf*Csl-=I@vkzIdnV^nug3vSu-LcC!i| zZpj#$cw+lt6*&|wE@&T2sK>o8adr1*H*cwL`Ss;ONql&5BO0d5Wt=w01t?$_TE4(0E_P zj6%3uGKMO|tiDch!NfE%nTOyN*5w+MkR~itaq?9WOfmaB=_kCFjVa}zuyIhsWJbZE zo+Nf5mUOX)&K_@FIMKvA6l7cqU+LP7&ClOXh_uWTp1V3JmL4chuI5L<6tfd#m>8CN zl!L;?K?{OIJxT0xnz3^o@FY@!>rgA z=cYuL6rEh>*}tXYvPZM2%#4D^#=y307l!QLl35tSx?F=2(gVfGS4A+z?DPK9gx90( zgWcp7YN%IQTySlolPl+KRY}3>N*NjyOAi#MtDd(#U8YYekP4&%sX!`_3Zw!Tt3duS zoU>h;4D;O)$?|K{q!`OKB>UPD3J5^ zVlG7%k_w~(&p-jCM}M`m`RGJbjxYMTWG34rIT>y(?Oq)2o_YJBj+rC=@~xTT55JgE ziS^sZQo}b^`h-KXg*z@aQfyNHBf93{7fc;3=%?lp6@0A8u>_If*5$dw*2>@LZAqf= z_+8#)5Wd7^tU_-hDx-ec&2^^l%f64gpRcjdjoW^u&Dr$BdzF{Ogp+?2=J5E-cONuf zs&2s=6W+4C{;W1P1<#nB*A)t*wvO$YCFq8tHhz4kg%y_tmflu|H#N#)`zq3D%e54IN>>P? zC&yM@vBnW)Ij?rTSJkYzDsn7A##EUmB~SF^SnX{|QmG>%e$e^(F8UyjU4vy;wl$fq z4|hD`UNQ>vJ#!R&lXqlq&Ez{daPxme=p*L7f9jlgC+$ubufC=zE={qI=F!O|Gug6m zQI7ps!Nlt{TZIa?(tDBSKrr-&y!8df>25fZ` ztW7Cc?NMPzN-(Uqj@fWiL5`_FDv%1K0;xbMkP1W!2!?pMvRX(*9INx4TxZ(9wbE8C ztX9Zo6l!-%#?VB(be@RyS8GjHa}b=ux?F=2(gVfGS4A+z>;xGmh7r9f#C~N77gH@Fjtge)yL9z5eak}<>Frf)o zAjPt3j}uLFa^<|ODk)f9DMN!|>4D<3y0GP^F@niWt5|aX78MeyKq`<5qynixDv%1K z0;#|=R3Lv|cD9RtJX@wrlnOjc1%$5aJ0Hab*DBag>Et@kKA2cR{*Diy=QId|TQY_! z)U0DZe{1y!sl&QlgA&q&si8RestBf-ogl-+uzVm^IVfx#RAJ83I>iaq?2F;wx&tV8DQWQ7W;HwEwT-xBM;3MWph6!h?UTkowT z5weBtV@#w1sX!`_3S6NA^PB(WR4xNc(P7-YL5{-wRzHfq$vd*QX7Y4M1)h=udB5G| zYL2`o<^9&VMDym7V|k=gBVR}|s;6lbF}x#R6CHI=9X?$yf)~wji6?sm8*|rkaB4)QxA>1t)LlZ;x!N@8MVO_343F(32V)prFJ>hlF{acF^ z!s|(57h-`hbduoOL?>7OynT`L7SWe^!t+>TtSu-G?z}w;rkMSL<}HQp27U+dMS)*C zJqm9|5x-{Qi~_$I`4KU+w|n=M>)U%vcPntZ^?diIBVQ98#SZPQBY(Q20;xbMkP4&% zsX!|5ZVKf3_TBXIy(jUlqaRrd2Ei872naTet0FsiNAO66#mBq^pwO z*U0C_FA6UQR`Y5U_r$~*1^e9iV`6A;kJ(t}P6bkdR3H`TP+(rPc6gr2MF!^4Vca9v z3G)(lSnVz1k-fEYr#%&TQVQh#c9+XJ@}Bfm?ze){2({WF+HP=kX~||qC)Yg1)goFu zA8};_S3zjJuVO|a+$|YH6=GIjr?_BZnwZQ(@Cxg44N6E87OFV;stBf-eV+6aUdzUm za!}Yfs9`dr;80HzyAVsd*h6QJw=SG$;vEVyE`_gj?Z)QkZzn`r<_XVTofJzC6em~n zqhN~J2{KF!OFha#VdJ0$!J(ccb|LnZ?(`&wR3H^d1yX@jAQeajQh`(;6-WhAfm9$B zNCo;85M13&iC0+41_v%(aJiJw71w$8Z{4&LXW7Ov2!mTPh9-vW-;z}r!n$0864C?3 zX>&0q&I&`!PLN?@c+7n;%PrJUue7+}+C(Q;&fBVzg4LBWG$@uHC{9;BZ+p5-pHv_f zNCi@XR3H^d1uj;B{5w!*yEMnMWy(aUKq`<5qykr>fKaEq;i6bp+a;W6qLVB4!Kz9M zR#(ci7OWD7*QiOWyl@=FVo9N`qd0SOdu)0!)2F20?#p$Z& z?fm-bX*PXQfs0Wf=k3K@iYz1*NClpO0!okmYG?D&iKZN1^mEBfwn=g_+*;bbINUw+ z_Cp;rNBremGsPc%F{2Xew~wWUZ>;nQhh__RTxz7)r2a>A&BHI4I$F?A%_A!KSd(K3 zBEzlAbBC>!ztP*0MB(wfyvZPZiOX1p-b7SJ{j!_uOy8G%A9X)pW1$4*0! zFNp~!|0>Mk@t5yDXuMS2f;A?*WqJKsZEgylF*~!tFfokiO(9-Qxw6x-q{9Qerb_;v z$k+DJ_igyx9&hY%;7?fahdqi5C+o2IPA<}cO_FUL+cQhh4MlDI_)ZHeE(0;c*MPA6y|&8DEcPv$ljXCcXHt7|A^2>%zgjVIq^=~oi3iY zrugx83DXq&XdWI{WjVAgT*5jI2Qk(IuhVd~gM$mTuusgQST~i0h6(p3KCCYF+=8`9 zii53gPL7*`C#(kF&~+QI)y?+83ZxXQJc-$n5)A9DV>aAWkYg&43Zw$5Kq`<5qymuw zf+1e6td=?v$Lf41*O~Tjt+Z7Os}-^th1%VcF*Fe`ohM@b)moF)90aGZF4v%h^gwa) zRS`@vJ3)qtVMK2Vv0vGe4i6v<^-7Biu1$1u<-DybDOg=8LxW=Jf#T%P4#DK6RV)`Y zZz(5{3Zw$5Kq`<591i*aBF{Dpj%Ul1iBf@7AQeajE?xn-_zJVYRA8%soKBs_`p!pj zIR&(aPOjVss|r~(Uu`(=@bLi4s${vfQR#(ca^ z?P)Z9Qh`(;6-WhAfm9$BNCi@XRA4U!^5iy|5Z3bZ2bzF!-UuU=54(pNq`cocmx%8%FA5`HNHVI^X%sQMBVQ98 zbx$2W4Hr4tPb1B&c8L7_ol`(-=;WGbltS0o`G_lP)pD}O>}D2R+>$Xg;p-F^EKSDQ z;p7(g6o$A3zp`c9Z4Q4Y67n_i4h0#P!dI{KMLZ1% zZX#y4P$Aqc8AB6KY~CJ)j$Jtv3sM>;hGilt2SsBJS`ZxSNn#gbcL%=%_@cnCogRfZ zqljN~O-F&>jQofg+S|SR;x%|tm{%i1YLX$WMmmimhIiy^qNDDq!zW!*fmGmmC?Jn~ zKYAW2XP2o!D)4Xxa((-74Rd|lrJ>-}xhc^_*vU12$E0wUT@*LAva{S(P|R-O0)?Lz zOAAkIAFLvWBE<#mg9-Jx7f!LPE;=WwU@~@cooC*P6|`!Bw39tf+mH4|crp$awY zn0agU2&u!mT!RwQgsGu8`Kkz}n4KWQ#K3#&wtXyB7`fn3PZGNjyF2*Y_(kF6z-nHN z;-0vsqhOyKe@qPR?J*n6+^Ik+kP4&%9SY2g)(+1zxyZmgI*fbdI$>U-4y(OIJhHb| z?zE=@PfCHj-|libN8Xd3%KcVQ8lhG@MB5FHE-l#`>ExQHxLQQ8C$ns{R4OC53bOb+ zKCl~v!7Uj>6=GIjr-qbORx?ia5PQURxdkgBO<1VnV)l8`Pk1etM>!~L9MmwG zQE;dyiCu^V!q7>AYZIMZ{qr_Ie>)-iGEaCOYmBu8#i7i!+gwM%bo)$6t5_aBZ($LJ zdXm_M*hDIj3Zw$5Kq`<5qynixDv%1K0;xbMkP4&%_fbFy>fDs*;_u|@-v@ih{w)=| zJ3goV9Wx3ZZpj#$7_xs$R$&P1at%sI4-_X~6~PpT(QL03$+ueKq`<5qynix zDv%0XzXJJppw4y;k7vu2iBf@7AQeaju0#Q$&dyDVu9iBva{sofreJlY3=N8<2a1!w z+a#FWw2Flw!^E)c7b*vZje`~hhkBCOg;*dAog}z6(aDwbwyLCHb)^gqilqmNQ<-V2 zB!X#mW-~p_VZv);5YF~MaH=PXU5H&?Kd0w8qypEXz_If*5$dw*2>@LZAqf=_+8#)5Wd7^tU_-hDx-ec z&2^^l%f64gpRcjdjoW^u&Dr$BdzF{Ogp+?2=J5E-cONufs&2s=6W+4C{;W1P1<#nB z*h6ZzU6`o0aH+vANr4*UrV{;)@J;ba{a-^oQfut~D5 zV|!)^x}m6zAKz(V#btq|x0T^djk4Ijigem?Ed`&_6@uu=u~k>BaYR|pt6lF^H7l-) z97~WfRi;VF6FoUrds~uJ>WGLRbbh{zK8R!2VA+*zO{VL^9gnz|jKX}+97W&c9obtm z`A!b=oApj??@Xib9B~N&Iq^{823uVnbFOh_v z+>$Xg5igx5V*S-xlhqsqr?4*9poH{5aq?9WOffq_hKXTBZwj$r*^&+qAPn_Niwmwz zbaLgqttu&4T`5C@V(Ee6YVDr{+8tXeB#RdN+I=ONmtg577b)^gqilqmN z)3xt|2~D^HDV9}xoM@txE9Y%hNx|w$85$Hz4-}`>g)Kjg5ln7c#WJreC!Q}q2v80R z8wV{24)r9l3$ck*AQeajQh`(;6-WhAfmGm0DZtwL;*mcuJKH5Xo-I=*N(G*!0z%iF zn-Wcd*iY%?I?q0sSV3ivW>c9NaqvsVP=%Ux%;#^dP$BiE;2r*Zm#Lv}`>F^gH?3kJ z$S^V7b04hQn?meYwxq)Y2t&Qn;(}`xADOk2>pb)Jr4_lqObWwJ-G$+x(egW|PHvWcy*5!^(~ZlOZ>QqRP} z-Hk%dg&49AMmAvx>v9cBNDmYzUlqX=vlC>P7#5wBgTlr^3xY#EN$fI9bBI0E*xwdJ zo-VvYLB^+Wmag5{7n_+}f(ULRX17ow+)az2i6=I1k3z?;9Et@g4HLto&0CW141Ndj zMS)*CJqm9|5x-{Qi~_$I`4KU+w|n=+Yw)6w>)X4RW8`b%ZZ79|a?a(cR3H^d1yX@j zAQeajE?0qE-|lg3raed^j;FG|6&kGXd=wX4o9N`4zhhGP;+?9~2TpSz43U<7C!WU| zV{Jik@HH1qG5ZDWgLPC|TxhBaW>~#zA%1bOr^>OfVYyHbn72}8HzN+Eo{58!mV+A9 zjAQn1O&@`K(P^?wtGZl+;?;y{tvLCb3#OQzAj8D4=%gGJHV&#Va>1dVBz7TocksFK zi^9u+)w~+TJ#kIv>9uqwt2sld}wAn&)kT+5O7q^EMf6_iG(c(R`(T8MJsL@3 z7h-`h)GIA6xHi$r)jx0Z^S2YCFY|=wvBp?iP#oNOdlXDD`@`og{K8OA61xzaNCi@X zR3H^d1yX@jAQeajQh`(;6-WhAfmGl=3J5`+n-X38om~CAM)#nJ=Csm!!h62Y`O zvzeaeFyXZ^2xogBIMtKHF2p8Mfm9$BNCi@XR3H_oDxg^X)y`%KQzgRqML(C|Z`dRe z&fZ%7yg1xF^EL?AD!w&q{2>A}D&c*jo7;y)8);9>2?*48oVVj8*7OL}k=3ySdKvecAU>_wzLtx^dgD zv^kr8c(3x3m~is1!W-kL*KXIb9=n8$ALd#!5{W0E}X2x;ybxW2R2Ezb!^WpK{ph&@#8x!thg+& z^tLj*sZkc&SCLLzuBG5pxxBYHv%D zN*xjLgU-))(Fbwt8Z5iAt;uwKxZ@G`l2MrNnWN~Nyd!&SCf~_nezV?*?VV}#og*$G zASd4GDx5A}eN9nZnwRZp9-Uk=llki;UX^8Sb8=msS%PMc_zQ1~pO{&3*;E!9Cfu9& zu)5T93)Utn4z{{EIc^G`uo`?r*KNR7H^JJJg4G@scBBNudRs26lEv@R3|)=FkVpkC zMSUB=6m)e@sikWQ{M?cZ9-s}{}bQK3G*r!RksG8Wc+p6sK$72NRlb1yU@l z_Bhc*Cs)qfs*-}$l`=FamL4chs|#Cx8Y7t8w2Eb3S57=%eh{D>6gCc85FF}BVi#f) zsX!`_3Zw$5Kq`<5qynkHlTv`S^~EE9UUs%ibUa(82PD!5#9mowPW>ypVC`}Rm(ERz zCL8-Hom}VH2NNr(?9ps0Gb0Xu$r!3ovyS=vtraSy-W0sUfA2Ci6mDM?!Q`e@ECd-Q zhI{UVReMv2{mPbfcmQFjS6WPoIc5%fpm1yX@jAQiY$1?D&Z%c))lmZHPBd4n8< z`K^8weUo=&Z_VWCkP18{1@eBo%heotPkIvf+r68(xSwN;d?Cp$bJQW3oO8RK8u^;& zC~}A1Z_ zcPPmC6wcDM8~b82lS>f6O~mXLDulafF*NbS=Iv4F*p)-EAf;hqc(i#-@}0r&0KO>j zYo|xy%_!p6Oq@~RHzPkHhW2*vzIY8@6morg_i~JUP2A1p98b=3xHvhT$6SYxa$ zC=R~nf+=Rdpnb58N{b6kRly9acP+#(F7{M8_BAXQ>H+gss_bUOq0}>RP||WxgPL*7 z{;laFWL|WdIJjMxYf!wJFs&6QUvt3}vlC>P7?ygJgTlr^6-F*N)RV+6#O@A0H-1rg zIk1{nqqrxo=_uIe#vc&sX!`_3Zw$5 zKq`<5qynixDv%1K0;#}#6cBp;cChA=a@r#Q+RgQfP%Z4RWe8O)zqa4f{^0bba z-QtAUrJjj{B?-@)$a#C`3N{rp2f@kJT(QL03$+ueKq`<5qynixDv%0XzXJKkaL#rO zk7vu2iBf@7AQeaju0#Q$&dyDVu9iBva{sofreJlY3=N8<2a1!w+a#FWw2Flw!^E)c z7b*vZje`~hhkBCOg;*dAog}z6(aDwbwyLCHb)^gqilqmNQ<-V2B!X#mW-~p_VZv); z5YF~MaH=PXU5HJj0;xbMkP4&%sX!`FRY0-&tDVgfrb>kIi+(P_->^v{oV~UDd2zUV z=4}wJReWpK_(KF{RKorCvDEO5l|JFnY~hYejTD>I|A?-6_yto(3;L;fL&IH@LuI5 zG2!H2g*iO_^4$lGm#SN^#)P*luRp8JO~Er}XEqonh7r9f#H%T{`Aiia;5Ak9_e8$7 zhrVya=k|DGj{|?gfW#dmU%4s4Qa>)4)If^H~k1}0rQ==@l zuOgkcTuZ^HbcG;#a%|NVYaCIQ^J>?7Rn3a4BF7SBOqFR;@_`cQ^|oACC5zvs8M+#UA(0BC0;xbMkP4&% z&rt!P>3F%aT4HqR)5&$F{aY(})k0Y_&r2ksC%0q_O~gy*iCBNN)?_sY!6~fEH7FrH zP@H^K1XIjTkYQpN(VIf-SGJ_X0|-OC(&B<^6P;W+Z>vfQR#(c_TiJ6-WhAfm9$BNCi@X zR3H^d1&{JyraU z%{u1uw^pc-dQb_*54-I6ghF=QW%till13bO*Mb2A9U*-wVV~w%4pg5G7cAM)cm~NjbX%))_&0EUZ4g3z^ zivquPdKBJ_B7V)p83leb@*`qsZ};vi*SGhU?pEM*>-p|aN4_RHiXGZpNB(q41yX@j zAQeajQh`+9-4w|6?Yrsadr$u9ea=3W^{pUBednXN;MzndSN}d(WoNlr3=Zy&&uM?h zjDm+-GKMB{|MsAWR5WfXW)6artGQw+T&@cqKp0#P#j+ydL={ZNPOkIJTd{&xEv)u} z&4`0vGKMPDtYhY_NhqXtr3?*Ig_PO!L#L(Uzv$4#b3Zw$5Kq}Coz`SVf@H~@?49ug$ zxJRxN<|XQ|+FQgUdu!!Rdn)jx6v+GSE|+uUJ?W|3Zv~|hYPCb;@9*GR1$!f%T=NuH z_!>JOab*NoL1@fwMj_lS8ABCfR$r&MU}Bn>%tP=B>v9cBND~&SIQgmwrkI@|!^CjE zeK11B9*rci3$Z{L>XjB3T$||R>Yumy`P&K6mwCeTSYxa$C=TwtJqo6n{o(T#eqpF5 ziCu_IqynixDv%1K0;xbMkP4&%sX!`_3Zw$5Kq_z_1%#l^O^Gi4POkoau*%MIS3&NM z&uLr9!UYPqWDHFV*}o;LFobov1|_5iij%L3V2arP1L&<;ujZtsvP?o zmJQ2z8=v4NVs;A^!k2m`4oX@MTF7~O=L)t2!!8W2=87f0UZ|Z&1yX@jAQeajQh`+9 z`W48(19i4*csyICOq2?w0;xbMa3u-|b#`t_bhXsUmHW3S+7>_TiJ6-WhAfm9$BNCi@Xssf7DU+rv`FjXRqU-WYc{)SBw z;q0yD&x^y|GjD@%t>Rm=#vdXuqZ017kEMohtn>+oW(#**YNXht{zr7p!!MXRTF_6; zBP#e!A6hpm;r(c6+l;qkk?$sl}*%UFfpL{vuovYYEn-Wm+wAkyj0zSH72}edHq>!ZVH|;JF~$sF^uRKj{2?7kv=NuEDY^+nP+*hdUl|FBygTo;ixX$vd*QX7ZgJ<~Qq|*xs2&-#OwE z0&?P=uEOc!)z=i}^5fI8qj}km=F#N3rDH%R`RNavSyx_NJ39;$rzf5m(CNh{%Wns zY7T-^SeI*1LVBP$`Kkz}n4KWQ#4w^ah1jobNrwjzhI*yN1=l7zxpLlCl@zS5l%YYf z^gwa)XNO>N(<+t=nzxjbNCi@XR3H^d1rCS&f01XK1;?{x%0#Ka^HX46XFtEjv*YVk zK+5-r*V{u@{`?fMd22Y0^_`F6f`1d8T)7WcRZ_6JQicY_(gVfm+V{bPCR~9O%c?z2 zG||a5&)Zk zsDd4Lh7(C*Pw(nQU6sqLVV1Ql!l36nMle((U^l8 z>b)tUh0Cp@MxM4*AQeajQh^IsU|zIdPL(pS6dlIR8{{a=Z}p?-o4g}?YbH;JRNyHo zkoVhNuI9*l(v!H~?%f36V_p8r_(56ct^e_I_jP}d>Srt+H$b5wewM2aBTu% zm@X5Z{$|PIVh)NIFCXE_VwgBsVk>O8H4(F0s1WX_#nQr%eK3*=Ls*wk6;1(BxLtnB78! za5pW6CZ5>5JqjJWawrz0G)xSSHg8G3Gx#0A7X^Op^eDU;Mf{qHGYb4>$vKy&Qh`+9c`6`}d_Q`gs%O`!Kq~O=3gr6s-8I`rOxsiY zoq6Qrka8lf?}fkL=jGCv91lq-z$cIQgmwP|Qw{Sz%Z=rj&!q z#zD)9fr3LjN$f%_CJcilxOQ!jYkc13=Wh$5uk(cGvBsc1Qyl6{d&qSXpoeE_S_OIe zyoE&=+DT#;V$)KAR3H^d1yX@jAQeajQh`(;6-WhAfm9$Bc#Z->(BP)T5dR?8_&!); zXL+a~cgN?vzhmJ7gl2sVOx?DgB88OAlS4Dtg_AA;48>qCp&{WsjT?_H6 zi#=72eGTh|WxS0~aMxmX3l+lGdI|?MEeAczdHd)J_5=eL23K>8dfmMIgZ0;xbMkP6(00z#dGn-W7U4RYoFZBtDFb)^ge1sO5L z$=_`fAUCao5M)*u*8M`|pt5n$Gr^&qBz7Sd6NW(&T)Q^NmGic#q=33ohJb>MnBr7t z+9rtrZO-hbr#Te7c7Skp!~~~ylGugVv{WD!NCi@XR3H^d1)2&dsK46TEn%8OfWM7% z3I1lgB*NJT%byQ-kI#G!!nJ9C8ybIzz(6J3Zy%&(e_81Thi(gxTw0`H(*6=%^Y9C% zj-Khy<`ETqYRRz%k>SDRdBoPs-|1~lqVV`#-e(Yg#AR$k?;{$c{yxlgp?{bC8+E^2 zW1${)EVvjq%!h$dMs4kpro5c@ukq+A>+1If@vj*K$w8kGF zwXor`z}nje_|l@R*dLKjd#<(MbGk|pJvsI2iZzZX>v^^7y{Try)sSNiGN#5fsd=I& zr)FOe&?o16LxN9-Hg$m(r z$pBr8m(GP)f3?Qh`(;6-WhAfxEl>e~}lP1*eN; z%0#Ka`%_?9XTQJ3v*X)UK<@uhdAki{wE z?t`5_XtK^f;mP1!TVt9(2f1?IHdPc*SIQ7jkP%aya{qQjs`N<(Qh`(;6-WhAfm9$B zNChsS0RKk4dduIJUF;H_E|w`1r2_9#0ikPm!$m6)pbIQgmwkegOP2r?@S>wdCwP}w+WTC+DLv~sz1 ztmMKI*F!-zB%Em44~7nMU1r{Xw1PG*95`=38TXWVTbkF_vNkjZZCd+J;RvzqD`*Y{ zujkF%c5e!Ce7#UREfq)wQh`+9h80-e{I912nOKTWoO0F|W#IzK~>Ar)3r~yfa@D19g`HpT3LDTfvKFHakTA{tm8P z8{}GMl)}f$M|k4KHYy{gYcacp3gLcQke>NEb)@W(f(t`fmkTH%Bc?d{st8cbPLNq) zc-}r3k;2eU61xzK3Bw=>u3hVMmDR<#6h2?WRhSR)G$6QZF}sBd;cGpGgEcMByY|NB z?Mdj^l|wuJVaDG8zAEF-PS3J0vxq-4ab_8R8Tl1$YH!c(i+j~o*|Hj$Qj<(! zHPSMR7~Yw$iGjMyfKR%l0;xbMkP4&%sX!`lJqqOd_K0gyjv$FR-pcw`Xt2HWQC)ED z+8|f%-!_#LP*=(jP>>N*oc!HE0dmtS$QA8_3H7uqtuDAWjmbF3b(wi9R*-*%mbV5R z{E`8hriRYhzcmR3ZdXcbasdVDnyH~U`Kky|%ubM5VL-rr`yfp-a>1dUBz7V8aN~31 zS7je3R`Y2Vcj1~Y)9dgY_PO!bw57M#EFp8J0;xbMkP5t-0?VTH)$;EW%kIo^C-gX~ zM@;wYghwY2I$V~h2eCb!W@c|suO=f>fg4sJ@3)6syqWi;w{pJ~ltw7#T(L*6!7-#I zdn1Ef%M@2K`g=0#MoXhIf}2K`nB71j+$|ZPX=3PpBgo}ah-w`iw5%8?IJjIPpdei{ zPQ|HKvq>UAn=|WGP!NL53d0T%&i1UBgW%Lo61xzK3Bw=>u3a1C8lSiM`P+i%>pbCk ztTAZM6bEro<5cAlKMF*w3WIweV!!3Q`W1JsF<1&E4@ib6K1a>y`}AwJH0zWEF<6E*DTj zMoe+?RS}?={fhR%1}d#CG}X0s*Fya2Vo#N0U&D2l=DaP4ROPVetAHCo4Hz=T%hz0h zV)iSVw-lO|3Zw$5Kq`<5qynkHZ7Pu819h?McDh)mOq2?w0;xbMa3cx`b+>stc}N z8{`_>zh!?k_rVG()6PhN3B%xA!?kOJTsd!>N(!heWe6z9h$&9Fe>);o`lJG> zKq`<5qynkHO)8*N?XPy$e+pC=T$}crp@Uqq5bctjfd@;w4|k8xZ2yt6@c2Lew$t&4 zUkp^@{E|Uh_Lr4jaOk%1$fZRJChafLH4ndF>gbvBQKhKhQ%jCDhzt)d&m*>8{!VXe z5{1X_@;-y`BQ9eTdLPjk_4i?}3;nz7->CcL8VlXH?Kj$7p#Q#Uyd(-v{#97Q;~)Qg z*LkVB1#3+B0Qvk&YizO(EV)x!q?0@xVS)CEq9Vr# z=*g*9SFCYFSD*lQimxh+lMmxr@Gt%-qfd^whJc)S=c{nOc;PwYT&`jh+k5Ar(jkQh`(;6-Wi%p#nnB z@p5IekQ$O_kn2MGw^s6|h0T7TfkIDi$pBr8m(GP)f3?Teb ztgWx!^7myIyF{mpWy(Y&3gpxuQR$|9glY#jCAy8VpEAgGnSC&^g6ba4t}+90@Jj}0 zni@Li^S4&0ka}0}0spuC@OZ zju0QSzkJ@ddsEWK*K2**;+2*PqynixDsY1eEN}kTQ@KnmMW=D|Mm@`hmRGZq8}H2C zCYGJlslfFqkoVg|uF1@M(wn&79^C~0;J+%H`9hLeot9a|@XmZq4Afl)d^#?2-g2<9 zxARe5aP1nxFkK3syPYfH?CN4qm1AB$!jly!9IUYoHr%=vvsnc&b)61yzY+{GSh>|YBa&yYQ#AmdXwYu9e< zhxk=MaMxmX3l+lMv;bXuWApYTbnMEZAV_Ie7+!7OlKf!fZvbDF@n@%J*_TkXZOWx@Tx4=w~sH!%-6)@T+VTE&gH38AQeajQh`(;6-WiHSAksL9&v5T z5hM}ETUp-<4Yqeastc}N8{}I4#ia1XJ5}dTuH`-$BCY#QJdZU7?U~}>Yc4=B`xWhj z4OCiPXsT(7m@AP%*j!a+^TLCe&@Is3P!kC1uQsc`VH zE*DU|x@KA{PQK;>6tfd#Rv6ZLl!MB~LDP&}aA+rqU5Gv0_{{fJ*~f|1e452wxTdqr zJ~#fFHnq3cY%Fu90;xbMkO~Yaz)JM0OeR*N)3|4@6P6|FwAy>bGkfdhPCONOQwrq$ z_K?dt^Pcop?ze){2o>)(RTo^F#@@&v*D}QwzPgLz#x^P=xM^gG*$ouJ{j?x069cF0 zgB2r&Jg&EBz7Sd6NYxB)dknC4RVdo+x+}( zLG*Q=@I2NSv}cNgJ8w?{6tlm4-oh^o?If`av1zG5Dv%1K0;xbMkP4&%sX!`_3Zw$5 zKq`<5JVyZ`XmC?vh<}i4d>`y3`?pl=?)aRyl?)U-+>!yhHf8^otill1Ygjidnc@Y%^^9_`XvovH#q1U*#IE%e4%Q?* z?^@2=M^~_`m^lbeuI367UoX^7O9fJaR3H^d1yX@j;Pw^BFT=UmH9TD`Qzl9UQh`(; z6}S-vggOT|C5BoW_RLi41*-Nc5RR==WSC-0d=Je0Rq)!Ze8he;el#{LOYrgtHHpKOgQMpZOYuYt#NVH2x5Q zfl9dFK1j>{veF9<-4-6Xv`E3E{Uy5Q;TKFDJ=34fBP#gRl4A`b!-LE7h^?2u)7zRv z;qkk?&mjDW%h-h8M>IzLeVFS)|1SGC>VCP#LN{*vjW!qPzi%2ZiGq`V6_)V$$3Ne7 zUaD@v8WTQ1KL661n}TP|&TKF%3^RIDh&NMi_n9g@u+LP<_lf*z5B=7LU+wY59(R0& z1z+q@T{zh`iy!179kxrduVa5^4Z5djjXyqWVZ&vCwYLrMrA1k>KO&v>Tx-GSbd?}_ za_ZF;YaCJ5^J>?7Q_Y5}A;%hIOpR$$^F&Wh&ED1|jXEOY7oA`3qA%h&G*}L0+mh+_ z@W3PPC9`a~XU?MU^3Lq7oBSY$<<0sawkOl*lOwJnASd4WDx5D~dreVYx|i)_9)n!6 zkooH*UX^uib9UXFS%Vgi_y=!`KN+mJ>?#X^f_vA#Z!Y!Rg0)MEgRO4Pj=O>jsF@E8 z-3DxR6Rb@sSnbhZM@np3Z|j9sviMyZFw`gvX{kUekP4&%sX!|59u*Lpj+ZN&CB~3G zgIpKdzqOJ#Ez~vhvP2Ska!Us2TD){F#QLkXE~_~RPGMaxpoEN=;^eC$KruT(W`$u! zZwj$r*_sXyOc>ggRu^2mHprFpwyC6mx>AOKf{d8riv70p}9NlOJ%fm9$B zNCoch^8ZC%Y!;j@mMIgZ0`E_OWu5*08qbbzT7jImH+}iubMZp+?VXS6f@{|XxpE(@ zsic6qQigznjF{qd>-%6r6RtoCvT2VKT^r=edD~P{KwT+AKtV=KaoSwi`r8-*a?>iv z^8Q?SzWyRWIjC$L^h|JQCy8B%O-lt*fm9$BNCi@XR3H^d1>TebtgWx!^7myIyF{mp zWy(aUz`ImH=z4HdqAL*lDT7>>*#{FVsP571Dl-rVzhr=>siAW|e`|#bsdoh*@ZY;k z4TalRMS$G23PO-sVR+^~ShF{U*sp9&hX*DM?MkZ)u1)*F&_S-t%-fGvP^^Q2Vh_J$ zfTn#ibjrLfCZUkpl`;erq-*Uzg(JkfX%*z<^S0evO(JA->i|eg1yX@jAQiY#1(rAe z>#1HQmZH=A6t4fi|9wah3bBQGD}i5uIfjF_&)>=r77 z`)NUXHf0}-q{0x^S9loV_(C1p zg@cE6xq#x;HPc#g@--Krn4KWA!m!q(98@+Anr7sJLpw?ALhRwj=fgeM#(NuE)pv_{3qyGuH{r z64kGDUQ0FK%-(8}e3A;h2L-0wZ(kyuyd=02s~!CL@XUKs^M3pMl7}OY>P^T9S-jg+ zU2tt0dn1Ef%M@4m>Mn{K+o+7-rjaFPH&6)o(}J{244kqLR*V?(xGuL~C8TQ>syO+o z2vE#UkXd1P-aZ(iVvkOe*o9b37}}Lq7hJnG$TdE1^Yga_(bsvx^H^iho+%FQygdm} z%>MFu3%@Y5lf*8>-iFC-l=&8_)VI(?_K*ss0;xbMkP4&%sX!`_3Zw$5Kq_zv1%xDn zn-W9y404U{g9)yM-0N15aRP*NA%1nSr^>ObVV$Kf`MpD%-B7_}t*3CXzBqW^wKq0z8*(UG zT+zJkUYc}B1yX@jAQeajQh`+9Y8A-ufx6hGIbAH%J4ht&pvNm|QLm(qEF%?oqY4Op zxf?+Wve}~IMArtn#`kY?AFLqy!~MBf1#2gPY~Ve1aL0LAQAv=25=X?3BguC==s z;#U`YsvP?o)(cftUC-1Yg1Z*8Tc{Ae)>AlGlkmK2xqtiU3U(DU2f@kJTtVXNh1zMU zz-=lZw^?>p{mvE0dHc>Mz-_m$l;2)cR2N*E_M4%DT(S_Y>q+IkG~Cy z7oi3!v0hrvx9u-0z2MSq;gL(5))s*6FVVGdzhLU zVZj%BR2NRR&Ef~SNQdo`?CaQ{S%dB=TH}w8TG((|VC`)Kd}&cu?2kyNJ=a?BIb9`) zo}7Ah#TrMH^}O2k-c+;UYRIt$8B=4L)I8CXQ?s`n1w`027gq~M{DZf}pA1%9c9n%d!M$tWH*)xY!AQeajQh`(;6?lgV2tCKkmCZtG zNS;Bi3+>-p$(t57`+)`uJ-HdN~;U5T^r=edD~P{KwT+AKtV=Kaq?$}0J&)usiAW| ze`^v7sa+{UKtZ}@YA8;=DgxxDRS<&A3d8z=SmmIyanQ78Z%Sz8a_d;hg(t3uf^0}Q z(X<~79pt*qy!~heZCW^R-hMLfDf6~8udQWmXbjr4_MgHLV%t~H9132~o44)W6yo@L zt-p4`>-tTuzr?pvp}v(yvX4~Y9VoE8`Cm_`GO-k$#?2e`EaP4HHEm{Zui01TP6aNm zK;CZ;k$mPo=}p{kk8Xm0V_ucbd?CrKPRlG}cxS#Q2I?*YJ{=c1Z#mf5+xe(2xONR; zHoHynUXgh!e7t;wCvL37Y{YaeX17ow+)WG6wYaxJ?DO`Dh!lpfE*DTjMoe*XRZ#(o z*$FZ$3^RIDh~3I+x<#5h!L?m!b-}f3gIvp3%eW;vWrULI=0Xd@oT;Cp{VmX2&;&|ovlf!xw8nkBq zPrTc-y5QM2gc;yk{>7vax_dHTH-2I^g1Z*8Tc{B3mJHCfH@1Jo< z3bMKAoM;*|Y>?|R^H!{&O$(dXfPpypB?B}~4V^P@O+q2HD`f~MNY_ja#mQGifZVhS zLXcTu;JtOHT$Z25{NQurS7je3R`Y2VcVXhpGW*>4YueP_UbC^x zoeHD^sX!_)punA9FoE*2gCfJD#~tSeB@Mt@B!{`DXT3ljM_B z;5{fX<$n7T;p8R3omlPQ&xdE;lbZM2=a)Pjc~oygM#wfhM7F`9|1Zd9Q-TvsW3$5J zx>Le7T+0;qfr5M8`FLE}S2o<5M(8eWAp~|aVQ@RZv%;_ggtI*><{&t=lf*8>V!|*;f@{|XxyI*he*U%~ z`Z`Z|9%~HRGsVH3wlGugV+c3F}GT%a#`WBkV9#Vl+AQeajQh`(; z6-WhAfm9$BNChsTfRJQxQ(~x|L9X$Au>AW81>rBT52iw<_7yaTg4bG)a!_~GIOv(+ z&`uJ&5Q_=JAPKHr8{`_Fx4Ykn+$lvYdx_n8zG}Lw%wmQ39l);>hHT339mp&UVO=hu zgp8QtRA<_TOMo_KcGJ@w3SK)vI6Gp3Q#(oQLTp+pkP4&%sX!`_3Zw$Jtw4Sc)Wxpf z>0+7QK_YnvJzhzRdL?ya8L7Y8%uMb)IYWS3A2UOt-Dy%wv#C7P4KEGw@)I^`WuqS~%h# ze;X8kh`>N4)-M^PWq(=e1&3}6k6c=$VAB2)UGwk@rjDNJ&*l*od}_(D29e>x<$1)` z%irm3O``DlUEXI9e#B*LLhmCQqy9e3b)kQk{Tp?^Tw|ddxBW(&3-sSNjh95h$-fFq zc>Lp^?>aA4w_uG4A0VH9Y0XW+GiGNtm=%T@y(z?-DOdl+xTeDc`%IO5pU9u~&~I({ z)gE8$amQC!@Wme0g_CWw_(3kxVY?*zI`(JQpnHne_~WA%He421d)okCT9g(0BhqQl zwHAC%R|%pgr(RvL#t~&buXepR)oi#La;!nd)R-nUPxR!}>}^fbs3RhN(fQ>r`XY`) zgXK`REtzf)4?N;tGRu~G<}CUy@66u1$q#bi=KqSOubBJ!sdM6;wL4$D_L`!)bj3cI z#~_z1Wb493Ird`ZPJnowhN~SMTvH4C$q)tIv4=pxy=&h$mwIl&+9k!oRySwIUBLy^ z%m;>U1Gc&e)~5fnq}pajN^Dwh-PusnpP%HA3Zw$5Kq`<5qynkHUIF1$yj!yh7B8I(vHohU%W4jSQ&^V^C?O-JIQgmwP|Qw{Sz(yb zn?meYwx+`a6NYxB)dknC4RYnYZ7M0Cu9P95AS0$Y`LjcS+_VaEMe~+&uG{3g%X>@J z>04?hdr1XSfu}2w|1a|Cnmse(^vt*nO9fJaz5>fSyYHADslXK}@c&&=Enz7VA_*L< zfF8^@i%xPM3~AkspCQe2|MpH1iZ^cI$%qL~uI36-xm*`KFkx^#6l6ofiLMQD<^F9` zNda}G3;_ihF~wT#%0Xr0pl5s%r>E3V3BzK~>Ar)3r~yfa@D19g`HpCK2)i)OgQ z#U8=N+;G2xT+577GR8Yq>@(%}p%+AYxPcjKjAzdj2Ul|ypqPERSr@$4dX$68#zD^n zhjxCD%}K(SMM8_1t7sX!`_3Zw$5Kq`<5JWYXI-#$$*-@Evyk2(8R*0+Kj?VXS6f@{|X zxyJXw8avC~VsLPGe9qgC1_~Z-$pBq@WBXtYITS6fXdg_d$Gvb0vbpG-Xd07okn1w@ zR;-{+3!A-Q199+6256cZI%nRRgaWrKB{jK#f^^N)P@H^K1Sn=F$gD6t^Y;!$E`+y} z#4f}hZhUV1s_f&$YCg^4E?m=PdL5p_J~#fFw)FOzC1mbYAQeajQh`@fU|F=jTK-*P z*_}D=gdRuri0OWv@aW`0hszT6AhxH|%RgrS`zc3HxqNJ|B7NCCN_TC>ztAQeajQh~<` zl*cD#9kW16d#?)Q)qk&7KKo7uQh|#rAY>felo%>*kZXJ&>?QlRRP65focDJO6g=FL z0lGG@fBUnMC`7dm4tgdygmt-q5;9_nQ>|vhB|w`q>-L+15M)*uc7Skp!~~~ylGue< zOc(}9aP8V4*Sndw`>EZP&>RFOSIQ7jkP%ayZhhX4G@3rCKq`<5qynixDv%0Xrvmvs zP#3!{r;BCEM5#b3kP4&%H==-0r@P^zAe-$HPIPUMEBC>gN(!heWe6z9h$&8+3(LhQ zoD~K)t%BtK?fI7prbLxP?7&y-#((dS`?p-#hbA1fUmURuv1zHm?I|F)S8`UI3f!+{ zQioLFHWg6H_E+hq7ep|8}mi(2d)Eqs;~S@0-R;qTu9Tg(W=x@y~a6 z0vguk0!m2NKL661n?iid&TKF%3^RIDh&NNN?sTl_@W4J(CEq9Vr# z=*g*9SFCYFSD*lQimxh+lMmxr@GtULlF60;xbMkP4&%slZ!R zKxiypu56YVLmCWnEjtei=O#&A$E-`8{i?PG5!|(y-9m+Mw`72>#Y^Wx?An5IQ0w5J zXM#gmmkTH%Bc?djYBpQ~v^leD!5j)+J3u%)VuDjUN$f%_CJcilxOQ!jE9Y%fNda}G z3;_ihF~#ZD=j}+N>5~ei0;xbM@E#P%{}*|&t9-gxrc9Iyygvn4oTsG%x28bO+grP0 zS?{8N@YCIJQIO4c2`9QX$d&tGO(g}?l`;erWW*Gw&4sOd<^trVRgmRAS9qTLw}FPM zF!_6j%{*bw#4`)DXNtqE&)Z&;iKhaoKq`<5qynixDv%1K0;#}}3gqw0j#RVBb!wss zURr^i`j=LGdOjgTysxs^F6kD-KHwnNW%h5y3fi<#cPiOsGZO~4WPqlrp>sZeYxM}J z!@68R3F(@tp*Z=f2vE#UkXd0^w<(o_%Em#{j9hSNCy8B%#e`vy1lOkhVCW#%W#;Wi zE2wI^tIR;LhhH*4(>@v6p11nEYg?>PA@#1{1O8iL`%mG-X_bOrK5yH-)g(f;uzkR^ zR3H^d1yX?WZ=w!GEPqVMv~?5&$T9a4d}q(I(p54oB%?@4*T zbuQ7ex#S?PbZX`cNoMs_W)Z_X^EEM0cNy>*auK{}hD%)R5p2v2_dCe7%qS&eyi;}F z_=zhcxN9-Hg$m(r$pBqz?}G(Wc3I6qa0=^k0VQO_6enL50gBm|n{~nKd3$_B3PU?d z>_RLi41*-Nc5RSreBOS@d5h@lJmGn)F=)>e2Y23{1Sn>|qIpZ9hZ%nZ_^OOQJ3Y(3 z%p(5G#F=IMW#m`1sl7eBuUy|gTe=5<<-zmApU!+u3=})Hw}JfWk_w~(sX!`_3Zw$5 zz|$1S_3hL2^1X|H`k1qCVts4#Opt?S;@zg|f@{|XxyJXw8kKd6!NJ|}Id3Z&D0sLf z19UC-Z|@Y5s>WT#%t3H+HCK?z<+|M6CwvkKtW9Gwy4jSlT|suv2Z|wIH!R~<6mCru zLw9KlA1dU zBz7V8aN~31S7je3R`Y2Vcj21OGW*>4YueP_UbC^xoeHD^sX!_)puqBvtpU#qxyZyk zI*ohgI$>F&POH5~JhQi6?!;4pH>E({Zx6YgGw(@n<$fzDjZpD!Q+2_$Y3z**axGI_ z;q&)o){T}%Wdt{kEHS%*LbzKpK-0v~{YH?>r4ZFRIA~chP;hX$LO?;fW}J#st!9%% zfHr5=tDqnRnH7c|Ae`-4F$ck^og{W4mO5e&T|B0L8Mg< zp2r%4_DpebH9rYZ%ubM5VOZ-?4k{Z5Jrf+-Nn)4tj9u!0CoL7Y4F%*j%FHTLfm9$B zNCi@XR3H^d1yX@jAQgDy3JCoTZb}SEG01h9{aY%odo;Vs3=}+e0Nb)dHf8^o%)$`X ziqq!8axn^Lg~3g$AlI^gYo!SFv@5MHxOQ!jE9Y%fNda}G3;_ih zF~#Yo=k4cAm{DXT#76t6-Wi%fdWd8{%U9U(TT1czm0RrLbgkC1|BT! zKHNP%^Yud=3rGCpZ-e3wzZj^*`t5_X>@O?5;LvU1kxPpdOxjNfaKx%liz%kGPCY=zTF7)rRf1~b~YbR0?kQU1kB?f|a9LpO zZ3BF1QC94aNT)s5TJSktC5WD!dUeGbN0jxv+V$R4v*BvUu?87aW17@F(UViNw>3$l zj)?e0=a;+ai#QGqmP6ULWV$^(@Q8cKEL-lGv*^3LGkfbMKgfZb|0|llV(#as&WU%{ z?tJmuYl`a975ii!gIuzZtqT|B*pC$;UZ>$|2M5=9Tl~oo1>LcSK*7Ch-#3?fZo%3m z#lcoLXUAQ^1=P$3hHeA4x(U{%6s-1Wup=clt+#>Ma9=@=sX!`_3Zw$5Kq`<5L<$H% zyj{C|-bn+2zfWy(aUKq`<5qyks3fLwirSzs!#S3u6E&SQJ$qq>{} zdcz=B?t?XjteS5&oDcYTfMr!O-}*k7(8SN(!heWe6z9h$&9DK5s`F zO`lXC6-WhAfm9$BNCi@XR3H^NN`d@+*-=V%c}`uAbVvnKffpzs#JU?U3bNTQ;Y8Ee z+#2M%%s!Y{L7Nsf+o1;H;Fk>0G&OY2=Wk6yA+;-I2q;L`Obx}!S4Du_v`e)+Ty7mJx$wmGP>>A?Cz|$yp@UqPnYSOUpiK)0&f8DMJ!RgO=C!q~ z4UIvY*8WpCLTvjAnnS_sdGog2n?f94ul3h1c%`KRsX!`_3f!Oq%bWl8R4x-s(P`Yg zQO`2ogs%uKjd@iz^Mxd{IxVw^;hp)K7^u4p z_;g(4jGsrE+3XPc`#a}=-Z03u%qWGfv-1&G)~n@=$Lt0RE^f&HUGsH{3zjb9;&65h z>v91dEq)kYy?Mc;-GBk-`wS;8(V8yDi~QA|YSbo=}i+DSYipKg833;I75& z7Al0hB?ENrjm_JW(6K9rf*_??VOS@Ua!@tqpl5FSCe0 zb4_O%e;N4|ZEA1N?u*ypRoSu{nNpKXVKve+ix}RSuZe-W%YaY1qynixDv%1K0;xbM za6Jm-`u2!xQH~&qINrqi*5;YeAkDMn{K+o-HtOq<ZN>!GwC;3#TBPDaDDVF&PKBE;Db%3fi==d373ygI_X0)6~#8^VTF3 zQoB-yfP!?*)KHv!RRqXQs~`lK6$aj0_w9o;t=XFr>Q}a=Ymz?~!sZ*UB0$!5hM*D}S`B6>R?ab*NIjnH^s#Xuq4 zEg7I`VyLfETre?RE9N11g>|`r64EsbRh)cP1Sn=-CVjzc-I!7iDjNqaD+USAksQdc<$Cpn}7sX!`_3Zw$5Kq`<5qynixDv%1K0;xbMFs^{$I=Cq@#5%}z znf+TTu6s1Q$_x}db^zP5LpEjqmdwHs*5v|9$cQOUzA6F~vtP?TnC-z0R9anVs%!18 zh4|IQo+`(_hU*4l<2ND%cP(bOP$7J+r*Kfya?rD!w~wx1PcU#{a5Yzu_<9ZBPM}Fk z1yX@jAQeajQh`+9Y8A-ufx6hGIbAGMCQ1cTfm9$BxDf?}ItMo;hFTir%Kh7>ngZ%d z83GD2Vv3W$+ay44S_L7gCw|iZICPHZBt1Bb)^ge z1sO5Lsm`=b5&_zr*-cM#D0uAv;p~VBPVFSI3$g3#=lnc}RNz(=Snm6`Qf}6n3Zw$5 zz)dTlRPV2Lc1xIUqrZ)F$wIbEat0nOe?HtjKJ#^PwQ$5g{x&H75P^Y8tlvIJ%l@*` z3l7~D9=Wtg!KD2qy5`{*OdUPbpUopG_|%eP4I;yX%kzk>m%r27nndC8yS&dJ{D{lg zgx*IqM*V%5>q7r7`#0)-xyC{_Zu^Zk7wErl8ZU{0lYbSK@c73+-*sN9ZowK8K0rSI z(wdusXUxuQFe?l*dQ*ruQ;um;IJ>6fIrf<<`96_9?V;b=@T)z(*yE0`u;7b5stYIE zX7Phuq{DVe_I2#ftU>n_t?|c4Eo`_fu=chAzO*PS_D7`Co@*`moURf?PfoqMVvQrp zdS2~%Z>rgFHRM=>jHxkAYM$uHsoC3_q)|si{G#*AUGzm9hX%``Y+Ewj9v*nay=0ax z_sm)JUEZ0!b(0_Dz|H>^O#Y^Wx?An5IQ0w5JXM#gmmkTH%Bc?djYBpQ~ zv^leD!5j)+J3u%)VuDjUN$f%_CJcilxOQ!jE9Y%fNda}G3;_ihF~#ZD=j}+N>5~ei z0;xbM@E#P%{}*|&t9-gxrc9IyqynixDsc4*$kkVv1*QUf1>}6{Jh~e$3clGc;Y8O4 zxpE(@sic6qQigznjF{rIxv+K5T!7rP3PO-sVaWa4K*Lp-{Jq0wo-k+PnFZQ2#o^ZH zZLi71Q-M?<6-WhAfm9$BNCi@XRNzPj^7my&s@dc^HPHl9fmGmy3JCG>zRG61q??L; zz(KCd?B9wNv}vL4RIJd_hb-92N(lt{u1)*F&_S-t%-fGvP}Ou-nSo*tzhr=>eKK^)ye(F! zka|}z=`a`2Gt?W}e+owkkJ(>7Z;O!+B#B)pFfA2G1yX@j;6@c#-u$npdYM>?PUGf{ zdX_D3^|R=^yfb_2CQpY{;4LYT_uE6R=FEFi-fx{tv}`Up$Sa+i`9hLeJ(XF+@XmZq z4Afl)e1=>EFPh;J7kdO7bHn`(axF7T$r$fcoi~2s$_VaS%x@OtL{twjpq?If`av6wInlHl64L9X$6`yuBoqObFW=ds41 zJyRUqd3zF|nEi_8ErlLt{0-o%GXCuJEc-Hx_%jn{mhqR7U(u%a_UyiLefwzcPX*qT0(rkZ z|mVGeWgBz%{y3kbD+Fc9r ztBXBVj(rW+4Z_B6LlUBRAU;KJZ)t|0OC8or%Cla>mk z0;xbMkP4&%sle4LklzD!u}gEhSf)&r3Zw$5Kq_z}3J7%$Zb}TbG{}|vw@oz#)Ri&> z6lBB{Cx5p|fZVhSLXcTuSoaH+gUZH1&jg2dlGueS+5y7Z5fhx+Nn#gb*VoVac@C+-tthbE_iv@#tTPoz1yX^V zRzRuVU+wIcFx^If8|RXRY?tH=JXrpGxO;r&>*8wRh=2TTQ2ZeR1C?06eUO&@Wu+G! zx-C3%X_10S`%84q!!MXRdZs^{M^x~sCC3^>h6k7D5nC^Rr?)kU!sB;&pF#K$m$3=G zk7$hg`!Lsq{$2KO)ctaeg>KyT8*MJof8R7-5(Ov!DlFmgkAJ@Fyj0zSH70z3eEy|1 zHwDj_o!MYk7-saQ5O1a&)1+{AO~-TWGgb0^B7fRLzqR34dwj9S9baL=7kg9}PPWbB z2f0Xx?UL;4*q>R0?kQU1kB?f|a9LpOZ3BF1QC94aNT)s5TJSktC5WD!dUeGbN0jxv z+V$R4v*BvUu?87aW17@F(UViNw>3$lj)?e0=a;+ai#QGqmP6ULWV$^(@Q8cKEL-lG zv*^3LGkfbMKgfZb|0|llV(#as&WU%{?tJmuYl`a975ii!gIuzZtqT|B*pC$;UZ>$| z2M5=9Tl~oo1>LcSK*7Ch-#=P=DG|FQg|nM3Ingv*-6#$|R|pK<25fb+t!9%%4Gq$+ zE#To^3Pi^`3Nm7f)2+|jkw()e6-WhA zfmGl2NrQh`+9>J^ZyuP_Tt1@;Qa`P6xIH(V5avt7c8t_^bK zK3G#p0d=Je0Rz=s)xoH)IAhW`d`?rCHt1$U{hs``;&crhdv}cOLt!yBriRY>{H@g^qz>zH0VSksriS9=t0F)#J3(fJVcn)w z4k{Z5O*3-Ap`9dlAr=#cK@wb>_Jg5=T$h=*AFZIO>8>&Z#U6gi08RU3=#+U|tWY8K zu3*w(E}&nBOgc-yHH?SDv%1K0;#}_DzLoyUr+Tiu@s%g%^USB zTi)tt(RX=g_SQ|F4ynLfQXucQhg{8>_oTevI+tkKTyl_CIyLi!B(r)dvxwoH`I;E0 zyA1erT;z@OtL{twjpq?If|w68&8!9S+|%ryP<-ITQWe`a{u;D5vg9mu43jOIJufD zNab=}@W6z@^-z!v2`8Gy3>)OS%)AvVXw$;xHDDkPe#rn$Q$y#>Ta!@WcBP~y7f_I{ znHq|duZjT0>;#z=2Hsou?SnMU$OVUXlGugV!;R04UzL5FSk0$d+=XkpOs~Up*yqMy z)0W;|vxLl@3Zw$5Kq~NR3M`A(SIfUkEW0zuozUZ`9x>go6CRyB=x|x09>n%^nwh;l zy_$?j1#Vb@yx$&j@n+tW-pc(}P#U2&J4E{pjv+1C8yVzUrnp)}uqU%_v@|LsxM^hZ zcYI(s69%_rfToF|zD^w}o2&*Fdx$;ay4-@5kgi#%;^eC$Kr#C==?h-#DXt@%ZY(iLO1NAmdW_YS(UTe*U%~(mGFg?&_onHh5~XMWoDJBKq`<5qynixDv%1K0;xbMkP5tU z1%&PJ(^u*1_~ZKfNj|!o3ejPW?=~Hasee|#1toA6#31yX@jAQeajQh}>g zAioFdVwdK0u}qmL6-WhAfmGl|6cFlkH(V5Cvt7c8t_^bKK3G#p0d=Je0Rj#Df$W5yt*Rp?Wr3m%3E3GcLc5RR==WSC-0d=Je0RV5w@>d7infe{6y0AP3_Muc{Xch)&wTw* z$HEc+_}ifP!!HIZv3~m?E&Iz#FF15tc;wO|1(Wud=$eOLFm?1ye>RV(;8RPEHHZuk zF3%&jUj9yRYZ8UW@A5u_@FOl`6M7%f81?sIt_%IU?BA&S=Y_yGC*OKWZlo-sSK!K^UM=uIKsOu4$#v8KZV`%IO5pU9u~ z&~I({)gE8$amQC!@Wme0g_CWw_(3kxVY?*zI`(JQpnHne_~WA%He421d)okCT9g(0 zBhqQlwHAC%R|%pgr(RvL#t~&buXepR)oi#La;!nd)R-nUPxR!}>}^fbs3RhN(fQ>r z`XY`)gXK`REtzf)4?N;tGRu~G<}CUy@66u1$q#bi=KqSOubBJ!sdM6;wL4!tZ%y%k z_Dh(q*eCPwxEjl$b>R}$ad#)iddKTDTgMdYE4YA~`M}U^z*aZ=3oDRPu<|5kM@np3Zv(U8zJeT6fm9$BNCi@XR3H_I6cB)T zxw2X6L>!y*gIpKdzqQgfEo@fE1`4&iB?ELVUOE?I{nc8R)f@z;ur3!+LPkt+@>LO_ zn4KWA!Z4#Zh1jobO@{|24DCv*3$9%o(!gZ({_=O{*Ze ze~SufsX!`_3Zw$5Kq`<5qynkHJ5(V5j_AcM`sresGSP?vIrT?Wx+x!_+V;*zb-}f1 z?57NJU1lFltRR2KXZg?r4t~i1O;bbXeE!xX6jHlVhJb=}&D2nwd{qRaknYYF25mJYBxquSVwf3LF5#nQZq%SSE})~_XGdT2IBgBGEX5wr+y^647~&TE%GPZ+VliPDB*C?7gIweD z_Cq`ky2aoS>tLYZ;g$^0wKq0zPeRA8914PzW`$v$NXkLgn1h}P4(%kd3$ceAe*^fc zj6XX)%f8Ga{>(LMjF5>5>Yh z0;xbMkP4&%slfFpkn7tcu0=V5B;t4z>sy;=LW49D?>1EzT)Q^NHNFqlsH|HI4t0-a zSDAr=#|{|&z}y?#2W!Zo2z3?vVCPCkDiuoR+IEe}=uQG9bT@(QoDUR3>IUIU=B*gd zE^V=sXLkD`JavwHepU8yVl|&;aTl)XEVIvzzot#??KKkc&*r zqtm!&t`n9e>a^N>#4~&AVvl}RcyCnlOO$^;{1i4%aQLTf6mK6g92bU`Z6r^j$sW{bY zHc13%b7s8?3PO-sVb}q}*`5`15S-dcVi#hmBlgh6>N*oNjvFF0Y@FX45AXxDExR-uJJgo~$Aj7*Rk*oYE&1xK0I>vi#M~?xPdk4t^Ww zl7(!S;B(xR-`ACXRbuC?HEx=Ii|IrZv_HI69jd9~}ksb<5~kYf!prp7d> zd7>w$W^ZefMja9Hi_R~1(HC(X8Z3vhZOL?dc;FHDl3BLgGiT9vd1v<4O@5FAH~&{O zeZ}0*Pn{F*tljzIwbvBYr7QNyJO;UBAzK$N%CR3SK)g=F)ea7>@wWJrAqu)<4}pSv z*S>Eq_1uEBONxW7ZqAOof(xjb4-DM~Y;_Z?O(|II(O^ePY+7#vv*Esi98-Z*AQeaj zQh`(;6^IlNfOxsGSx7}3oAZNQ7uvtI(l#w@R>%elwYwz)bS+*w7h?U@T9?%v1gEer z7f?b*OmXs65ulizAhW_Sqc?@vuWU_+2PO>dN~;U5T^r=edD~P{KwT+AKtV=Kaq?$} z0J&)uKq`<5qynixDv%1K0`E|P{C(NQF8b+WnKDr-@Gcb)x^C}$ zR2N*E#(v5m*Jbv>#0v6veE2-4nJ~B|12jzyo%8uyt4By3*5v|9NY_ja#mQGifMRxn z%nHN$fmr3BvT@KfBNrUnNn#gbF<}@a!L?~W7&^#xnR)xs3aXm!Dl<^*;g<~1v`>ak znYYCX6;kgCKH$G4w*M4PoK`95<@2`PTTLQl3)=@wO9fJaR3H_&K?RmK|Ldt-CYGYp zxOsz|Wy@RrEc!0*%-*`m(;*djOA6%u_K>SN^PZIVTjvrjn@bMzN~dPNkYrX*Wfn2K zGhY(}b(aC3As4}mX1K(~9>K=kaKD3G%ZySo#yeH#ji0zOg1Z*8Tc{B3mJHCfDf?h# z6^5`b7f?b*OmXs65uliTxmg#yp1FT(kwSPoN$f%_CJcilxOQ!jYkb~*$a#zC>pbCk ztTAZM6bE5>Yh0;xbMkP4&%sld||$o1{h^zyxnfBKlSZ)JTe$kE>U zs4lp6ZIEkxAFQ#n+${zNcgN?vtz@9!;g$^0wcNkGQ$(s7cNH@S!O7KJK`NK)f(IrH zu7`qbNI20nCgUL2W#+9|L7Nsfd%*_c;Fk>0G&OY2yfq1h)UK2vpdei{H54ab6#;V7 zDhNSlg<;)KRt_o~2Tg1Cri4~5w~i+Hb3r~gepU8yVl|&;aThMwEVIvzzot#??KKF&POH5~JhQi6?!;4pH>E({Zx6YgGw(@n z<$f!7cYk$uKFsBQbA+EwV{Zh}H@i*oUXgjKJ$gGIF&n{6BQ)MuF;ED1O9p6~7#jCh zh<)B(5usv_xGuL~C8TQ>syO+o2vE#UkXd1v(VIf-SGK0Z0~3aJrPT%3t_^Z6w`PT} zU1@&)wjk2O3m0pQXU`M|SM!qq#q2Mix9|%?J4x)aghP>*3fzzaaznLdsi{CJkP4&% zsX!`_3Zw$5Kq`<5yj=x^)&@5vhEy2j8s7(N>;?}NKq`<5qynixDsY<$MnBwH`JqnPURza?4A55sHU1@c}wQGZ1Id7Xv3aBe( z2q?&iDNeUOZ$}zUpHv_fNCi@XR3H_2rwS;2`>P%AchhZ^ejDeKg=v@M3_MuceYksk z=Id|G7moPH-v-4Welbvq_1gz&*2~yUt71Em&j12gv7NT60tIjMWVdvDC>E(>%FOF!_|;u4Kk+2G^u%_C#Pm_Ym!DC5%G)8 zFL%)waU2>fhq7(SbbEN<5%-c=w%jvk(RX=g_SQ{)ki+t3eGuD|Y4phv*AS2s?|c=` z7q7jhs4m^hb~2AaE?LO@brP@2y0$sHZqBSh3rGBex5b|fR$O+Kg+Rf*Yu`7QdTznm zCB?y3H)qFP!3EUJ2Zn9~wz>({rWCC9Xs{zCHm$ey!YWz(E)5uJ6o#}^AQeajQh`(; z6?l&d2u;V!mCX`kNS{Hj3+>-p$(t7Hnt53w2|c+b19UB3Iu~O7)moR;90aGZE*DTj zMoe+?RS}?=oglNqFrznx*sp9&hX*DM?MkZ)u3a1C%6Z#VQb1iPLqI`BOmXsOhXA>0 z737NME#;)80;xbMkP4&%cX#>!A}=-zP8Z9RiBf_0r@*q#et(T;$G5A1)PEn|ZVy@c z`%}Q?t=V~O?|f7j{JS>DmHS{#B?Z)#G6WQ4#1yAn-v<+#a0OD3O?#Z^+8|fX+oqBN z>Pi^`3Nm7f)8@j~-^K`#n^r-Vb!FlC`ilVNpt5n$Gr^&qBz7S-Efq)wQh`(;6-WhA zfm9$BcvA|nw!V7H->`O1+f{L3cRiYLi)i?iEgFrrwnpkW*{H+x#q}~;Lz<=*DH56`N6#;V7DhNSlh2fd|V9nkXV!yIA9Uho4 zv@5MHxHjzvLkGDoGjBgyL9q@7iaq?20h;#7&?)n_n1n)VSIQ7jkgm1=6pj$@rd5!a z&)aryHHnbTtpgw}6-WhAfmGl|6L<_&U|EpPR+=)1f#d+R1ohg9G# zDUkQuL$2n`d(xY@-yYq>)%_l0<_k#iYjlqtCf-tj% zC&T^X$aE?82sZgv7jsa&Hc57|4K{+i7PDKZ5Wdz^IC#8K$hpv_?1Pa_7{a<-KnWQ! z#mQGifMRxn%nHM*lX6hmIOv(+&`uJ&EYjS?9%}4g3nI^uJ)t1uQ#fnaZtREMOs+u$ zcP(bOP$Aq+3(&PUHg8Wt$F3X-f|O>3;nn6X$qzRE2JlrGe|CD7eVIl4nTa#Y_{+$z zXj6N8c3->(ugY?L`}lIqd`&#glYE7}JW>Txfef^4P~Cz{3#8|1poycH{G)57L8U?2{D$pB4LL+8v}lTb+Q zN*MwQ(lt{hFqIJOYLM}2fk51#BxlUM?sMBii5zp+cmpk!P z;7uuz_uE4*=gfQ3Te;r~N+Z-}hiJdSF{CA%6@y&M6jzJr?R>biI zfToF|zD{w$#B{Bghu{^~LO_n0=Y_1+R5uN;#-(9JH($C^)o}#4f~= zF80vH>pbDPtCNC^nBwGWeiERVoglNqu-2m-R5lKJ zCOEW{#4g01)19B>kP4&%sX!`_3Zw$5Kq`<5qynixDv%1K0;#~b0)p${ro<5IAlGH~ zZ>hNM(d;TSQ1I9RY|9SWl>J*W3qx3!3n(EYra1Yk2vE#^E&E`$2RBe@b)l)QwYwJL zR~LJ#9Qzus8-$JDh!EVhnB78!@U@=8K~2j+&vM>Ax`I8yz=grpTtVXNHGDgPCM^|6 z1yX@jAQeajQh}>gAioFdVwdK0u}qmL6-WhAfmGl|6cFkh+>{t6&2Xme&aJuCJf-^BhuvTTx)S@83$fS!XJc3Zw!z zt$&3=b~PBeq`tPH$@xg~#vmK7;ThE@KmV zAJG`~_hGIJ{k!bnsQcv_3*ETwH`-jF|GsIwBnnRcRanB~AOC#Ud8xVuYfSh6`TR?3 zZVH|;JF~&8FwE#pA>K?mrb*%KnvUn#XR74;MEjwtJS zwd=j9X2aExV+}H<#x$vUq9>o;1TzdS+?9W zXVG_gXZF@jevkt<|5r49#oW(NofGe@-TC6R*A&&IEB47e2DxM*TNf_Mu^%fyyiUW_ z4i2vIw)m4F3c6ztfr5M2zJIj#QX+Oq3THQ6a-wOrx=|c_t`Hcy4cO{tTg@hk8XBZs zTfoD;7z)z0c5iDEg=bS)z4qM<>5vMf0;xbMkP4&%?_2?)|9H8wSz-)HHORH>JSd!- zBy}CLE_L>++8RV~*J5@H6~f(;0lF41oeQyR3(7&QgM*$44q;s`poEN=;#8~Ia0$@n z%&rA6lBB{r(2)5BaNm{Dv%1K z0;#}zP$2(b0+5OQ7VuMqynkH)hi%ZUtt!Q3hWh-^QrUbZn!A;X1jzFT^r=e zeXypI0_sW`0tzx>iqq!8);)6pa?>gZL1u*^_iqCYS7Gw^4x4$xoQY=^XwMXfTc5YR zCKFEuQh`(;6-WhAfm9$BNCi@XBNfQsmmR5Qlk3z(6HEnCffp(u#K-$8o9&WrD)s>f zxh}JRD^}2^g}PJ8E}NM!xFrKLO%0v%`CF?;NFCPY0!m2NObx}!S4Dtgc7n_b!@5nW z98@+Anr7sJLpw?ALM$c>gCw{%?FT~#xh^wrKUzUm(_Li-iaq?20h;#7&?)n_SfN7d zUBRToTtLrIZ)pE193ebrfBC#EMm~@vcA>zuR3H^d1yX?XrN zw!GEPqVMv~?5&$T9a4d}q(I(p54oB%?@4*TbuQ7ex#S?PbZX`cNoMs_W)Z_X^EEM0 zcNy^MxX2klk2J$2F7^mE=7#$n{l^wDe++AZvbDF@n@%J*_TkXZOWD;i_y| zjZCRYrmz}mnMDlm%-6&~-DSWhT~dKmAQeajQh`(;6}TP+a(#QmwJ1lBL>zBreJeEB z-ub95xOQ!jEB9}kN(!heWe6z9h$&9)KG>ZAxoH*TiuS>TdfJs%7hIdhWE|wW%)AvV z$iG6%TLTV$$pB4LL+AY7!6X#8T`8%_1r(%friS9=t0F)#J3(fJ0Ri{zgEY;^1&4N$ z*oD}`jn9o=m3^F8&8J!1g=@M@ufucL=f+>tmfl{ogv^}^qynixD)2-F&L3WRVvO&; zELwf=HO|V!q&kiJew{Ffep#Z{INtQ#$j$_Q>6Sz>krg>biIfToF|`;8!%OChRtaL}@1 zpy1$gg@A%|%{UdOTFoYj0Bz2!S3yAtGAj%_Ksej8Vh(~+J4x(9EG7(tB$V22}K4SCwOnBC%p*tMR* z!J35UUCVj<=n8ffGY7%R)m%a1>vh}*X~>h73Zw$5Kq`<5qynkHYblW519dUwPZ!IS ziBf@7AQeajZbSj0&cRKIp_T@@a{soerhvLqhJb>MnBwH`HVKfMRzV0dD-7#?p>j~! zIOv(+&`uJ&5Q_=JAPKHr8|2D)+f-6OT`5CAK}Jk*sxxhqM1VGDcGJ@w3SK)vI6Gp3 zQ#(oQLTp+pkP4&%sX!`_3Zw!}1r*d@?L1n-oIUZ5?KgvlxbE&`VR@8f0Uj)WKHR%L zIP-ti#Z_F%g8Xei;|~!Ss5ts1gS6}~E4|>*ZQ+qiixf=SU!rRse!2@`48o7Nj7{i$L}S$7hq*5F@3McR?w4yUbmO+)Xmf%7 z`=;@dC^-37VF{0a{PW$NfQEIsfD+QR&%d@!vJ zeIkF_L%+4*S9^T1#~oi`!54c}7f!a#;s?1%hwYN=>)4-JgYGF>oLx6()}VzW{=wVgPX;S4yUIeK;NG?Gn@c^n zVC|CPV5^(6{7_3w6!BERlqs+>!yh7B8I(vHohU%W4jSQ&^V^ zC?O-JIQgmwP|Qw{Sz(ybn?meYwx+`a6NYxB)dknC4RYnYZ7M0Cu9P95AS0$Y`LjcS z+_VaEMe~+&(o%s`AQeajQh~d>{C|-bn+2zfWy(aU!245RS!ch$#Pi^`3Nm7f)2;7=2~D^HDafWhPIPUME9Y%f zNda}G3;_ihF~woWUbVg=Pb znq6fE;^3DI&@?r4&gXBfP$BiM-~;}9m#Lv}`>F_#n^r*xGAj(v+y`s+rV#s;t?BT< zgrQw&b-}f1KNvd5b(wkl(F%%nFi`B_mkiLfPlisJx5XqBQoB-yfP!?b{ikq*csH$r zynNoad#g!=Y;GL@X{kUekP4&%H>$w$=0Cf78BQ?nIZRm{wLUxg32%_IYXRcz17_Zn-o*X(=q9f2_ZTx@NHRJNpXyhh8t@eV znXid~Iu7Vf&ifiR20IQ4!ps()4EKv8)1}xW*yLMX%t7(mB-zC_*a+@g%xW}5K-b>bygdmWyK*Q9QkoTpSDUvaKiK#i zz*lAb+38vKWft*gCeAG5FC)LAP3`U3eeoK+D$Dil*Y>76?jt$DXt@%ZY(iLO1NAmdW_YS(UTe*U%~(mGFg?&_onHh5~XMWoDJBKq`<5qynixDv%1K0;xbMkP5tU z1%&PJ(^u*1_~ZKfNj|!o3ejPW?=~Hasee|#1toA6#31yX@jAQeajQh}>g z;L5)YrGZ{7|| z*_F^71SeO@5Kxd2Q=D#k-Y&17k!I5;6}S!sq~7m=aPkNm*fmQSlWH)EcO;2|Ht2UI{xsBfl8d;K1j>{veF9<-4-6Xv`E3E z{Uy5Q;TKFDJ=34fBP#gRl4A`b!-LE7h^?2u)7zRv;qkk?&mjDW%h-h8M>IzLeVFS) z|1SGC>VCP#LN{*vjW!qPzi%2ZiGq`V6_)V$$3Ne7UaD@v8WTQ1KL661n}TP|&TKF% z3^RIDh&NNN?sTl_@W4J(CEq9Vr#=*g*9SFCYFSD*lQimxh+lMmxr@Gt#~}I;1t&70!qk;DNepB0u-|oWL6kv^rjH|m96RUz=WY)X?4N1YlB>Gc;5bBn-|A^ zYIh|x2f@jeG6WQ4#1togb_kH0Rza?4-cnB5p$c%_(^7#{AQiYl1>V5_H@p?qPq$KN z)_IHq%WC}*nf+cOEfq)wQUOyyQiW9D1{JuUx973F^HE)fnjGYM6Z>F4?l-xt{r}}Y zSaYV-`P9+Lok=V6Q%KgB=1(`960+Mev~xaC45=I2`%lx!yh z=FZzj!O~@19L|nmT`r)b+-FB$l{jq;vMj|O_3|hOm5qa*2@Y`!mCJSMktd!CqyleL z0qzKCslcr%;BSB3S{GUGyH=p=x@V=9_FfgZmEV`i?gB0U_S>Dm+7qX%t?WTz`rvs! zO$BaC0ij%X$3a0hn-ZL88tc75u4QSc@NJUpHuW0YN(47e42{_h#KA8aplNF8oP98p zP)O}c83GE@HB&=z@>LNaH?4vYWL6k>GugKf(zIr8N~mAinr@R!-MBNmvh+v&)&NLS8|=_fu|b{ z@D4cS+!=ziAT3HiMnf8;C@(Z*6k4T7XF!M^(aZ*xDTQVw_9cs^L`CsZUP)0Zmi=Qi zq9961AeXeE<2b&QsbtJJ*|AsU)g~MJS|YR5maO91+AKHaipN{7Eyl^#GKu53l-GV= zzi=DwtBW|Y!n{Y(|-nHnM^ zx0ULxLsh6=88R8IG?95QdKIo}&|Rc}4*tSzOo3037mZjA?RBot_N zQZJH1W9lUo*0%$qA1B&HK(ME@nb*2fcd`DAqH-(MTZgJpz0xfit#rupwkND{B^*i) zp#)j34lHl!e9Xjm08bV1wbPTL%abxZVB$=Q_-5n-q>0vT+ zq3FbHPjZ})4pAo-dz;}&)~(IA=X(SW6#~A$9ZPdgvQIiJ{jG2|gFrFoES8!H4ks)* zS>b3aO>w2i`k9Xfvg;!ww~?q?ZyijbdS%FDG?IXuk38$0ltmh?f@!e`mio9V16HcE z5>%B!)d34x_138bvRtvP$6Yt2;p)gTca$IrSIv>;A{1>UM_X=rOJMx-x0av}H(Wi& zlx!oVKxKCHgsgh&d(T_i7p|I})QeEplSjZK;1Tc$cmzBG9s!TQm5Ts}wVpfz9s!Sl zN5CU+PzVSeS58Xw$tg^iu%MMHZ7J0Xw%q5z_A-B4>DIC|z5WXKD?=uumC6&Cm9~_I z^6Ix*g@90~(pDvd^V~{~3n_*2XbMh*tU^gP{iftl31qn{F@&WqBou0PQZGVXl5pi{ zgrcqFXv^nqBa%XHC6u)cCC7!7LRWg;x>VH5cmzBG9s!SlN5CWC5tvQ{u9WXU5xxF& zLg*S*&sEUNUGWI;22-#2TKEch1Uv%!fPm0P<%ElpQhr}UDnMKs7cIm z(r!J*86cVw%ba>Jjh=90CNCb*LWg zWMko6grbdfJGhRvBsDbTq*JN8XkyXIQCDiCe)Aky^$)**sno3wnVcrtLg+4~go4>7un81HuUS* z#KUe>6OD$ozIj(+z>?Bhb$mHa`Q2_-k}FZUnSQm&I#h+~mB^9NOs|9ur-Y?$DPUn~ zD_xpxiK{YTZM92*!O14fg(CIV*-#+M)g{)>UCHyV=?@M z1wZVOi?Fbnpzmml?nosk!Q+YbOwI>^6RhF?@ zD;m?{;TVtDmrRP%K66s$TkTG=ZmrJ8B*1IU0g@h|@6lcR#EY?u8?S0i(HS1XB)3eh zVD}(VWvg~L6b(Bm>jsuCg)5$?rI9WfjigZPLP9B3imaAlDc(wRjYGZ4fVI^q1u(ja z1=D~dR9?0#4}qOENpN!N1~9s5z7`mGQ`Kqypc ztCpeUxR6rlO3z!Dih7wg1pIiR4I$6>2zUgp1O%?6-$h;tcs9h?Yv6g7N5CWC5%36H zWeCVsR$pJ;!+}7OxAD4i!bMrl!gL7>TFKGYp_m6dTAsjksD3Mi5D*Gg+NxzJIWD9W zDl}|9;VfiTx>a(h1hQOR-SfA7LQsui2F&&YC0U7PO5C+Mx)hio{j8^h_Ym^}6 z7`Gw@0ijSO=1NX(t5Sp#o;(5`0gr%3z$4%h@CbMWJOUnp{YJq5y=>nQ@9mo>@5m!? zRU#m)b>)nMl2e$JU_m2s9?;R&{>a9}=WVtF$N(xI`3C4v&%}(k?s7n&A+KpI>w9-5z+HK_`kXG8P z#xMhBFY~v{jn=^wEO|VZ2f14wG*KVSG;eK76_j@JTJoTYEFcsLR6<$HP;y#n`&Bqq zPK5fEZk3$9=dEq5Tkb^YtuhWWJdG0pJ5FQXmPf!N;1Os>ARV+e3)ORNJ!?dcjHu_L zrm4^#D_!A=7syFbda0k3`BuA=tXr#dFW?b4ObCp>>)9hZvPbkFSJ#QBaxmL)O)?g@*V_J#~Orb=HK_^aBh(@SVX-mn; z<@AJrrPKlEEkhU^@g2ZZMSSh_r0DXb3=fz% zlOnzu`2cC6bsM=}JO`(W(q4TcG08-%!l<2;VcMPKIpGkub&&BQ9s!TQ)q#NQzCW@? zo3PB09t_7-$xuqQ5&~5U zRR=6&)mx_$$a0m%qdds1@t~1lTqw}&q+W!&V<$d0K2@|l!D#xhefE8G8oYY1;r`gj zvP~yNcy9b4X`*#I$ckNAz5^3<7fk0pS60+M+N&Lb(9DN6{HvR|MX^Sdg>q( z3`Jpk-ppE?{LCyK<0bBJo!=7@lN=|cL)0YD16WV8ZU<1EE7WCR&SSnn&9#W169+L_ ztR>#_t1AP6J@qn^sG>~5XlhfjweJngjTeW8w`1u}#$u$V=7*)f71obHG3P9nnh6dk zEIBvgXe&)|rN?|0rBb&cGAcI`z0_L=Q>b3;mYgOMFc<%R=ltM#rt|kpeYg=@N(yfw1C6MK65_MA= zu8b^qmqJ59Pa`7`z89*PzhxtO+8+dDf7~2uFQEzF6PeDt3V+N!)HU{%I}8XMK_%9) z6s~P~#W)sP$&W_a(NUDVjz^#!0X^F;<0U)-Q-#2c;TO@*r8k*V6`BvmBT$FHk=6GF zk9J?3sd@gEH|CxugMiR%^UOysLeW-owBDinfxYtwWKw=HG0F5uU$|YSLg5ZOaCz$GEk5AfObwa`QG0 zpH=WQG6DgIx37Nx$ogKw3J$VGK00h>OjNQKcUI8)t5GRko zG=B#QKTNW#rYj3648kpkj#no2uFSA~)VoCh!vg+^_Z)A)GSY0vZ#@FjionOMF&9^5 zTEjcMamA4HZlW-=S$Iw)7jZ(t(bnOZ2V4B(AbR18C%31S#_{|uVa_oxH4C}*7?ayZ zN`WhP9xSPza8r*%p?Zl%%i7V_)aPwBWNobOrBAP^zCAK03OJQ=O=%<-X|$L!h1*If zYZ*$83n_*2XbMh*tU^g?3K{~IQYD74)P;mX%}(k?sOxFZ2z(+m!5_RaU@Lgq9|UB7 z+#Gr@?72Mc9|E#}t`4&&;k|(GZ}+{4l^&}{JEb8^YjC%3+rkAD2kk?>k`tkqA>Bo@ zvt)a4MbSoj4$9RxnKc9K?smwHhQZuI=ynb}ja3LN?G!{<&_sflAt|w|ZWgFU#@3+H zWS2bUxV;d~kdq$Wwq*k)hMH%GHFBFMty`NDrH!G;hB7I!F5J|IQBX}Z8rJ$|XInLC zGZbG2?sg(&CCU&OSv&n|UF~TLBwSTipNwXDB{W-5)uSs-PReIZvsG{}&9=l<8L+n6 zrNH21Q*H`H>aC}kTS}E0Ls;5MjdfG17gDa&?_~}KjFR6Ic@m5AJ+80Aav6)^CoK43 zk6eU>%>;c%TXaV%IVs0cF3FS<6HV)*JE~By1;xB>1;*tjlR0mt4yUrMEa2E(ZlG?b z*A`bj#&st1az%R=qAA#FfFo0arG_-g{nYLB8taxhX^5lF@Se)kUUW}3#;Po1wN^By z#ltZku`ihvxm~9wcbHIFHBk=9o2L88^x z(ESF)cZ`#)5fqvLcT@S;CM~HN`%<=v6kS&r0!pD$WVH-S@m9h;nWg0rmg}8Z+6hsu zT!aOUgwc&spcJr8%7z(3I5~9#E3mr*bCY4-;C5SyfdSR+<|$Ysw~?Caw(Ue|qpJEW zKa$+@bJx>I2n2D9TQ;MoeL_I@${3BQT4UcHliRGW*m zT7`g6XgIEXOj^rOa$HC$lt)u=B4iaxGB}hRDuFClC5Eung@i)QPU=OdOA@XejZn0e z9BtL+Ex&DIv1kTN%?&_`VQV}!Ekx@e;i@uZGTLb6w;nOk#?fof(@9StK2vE+X(-PW z9<-5ApwdJ%NpU}OR zgGXRq@UGC#B$DXh>o&C!96&cQwOEW482a0Q^S4x1t~^Z~0XdM%+r+E2uMRdI#kWZo zX5uN2eRX^lJCnHX@!D}x!U-%#Teb6Gg&EfPey3ET48-|bK|!HLDY9CI^KDi#NT%Itwf2LPDWRTeS=&$Ay$arN*!<6|O4XDmhdFS*|#wFXtLLZ6p+Ec2X}w zT~B*Oz}|vq!Cn=ATeepqz5an9;5@K6km$VAT_7+uP01_Leo#7MAD=5bK2zS3M_?EM z3=qy?n0H~gY=wPji6Ah=e=k#Gcq3*fQttyW+B*QByLM@Jt>G1RBJjya zQG)r~{!WHJo-hJJ`;LPIIKW2t^x-13E`r?s>bH`P*d#RF4Cgf~7iSG8(CmPn`bBBi3wPckTA~ zbQaI zdS%FDv{Lr|gzWj-f-R|mvehaCghI7(4KsplW>cx+LQ0`(RD`Ty>*Xpyz*4H3dqP%aD=0Zs0$HvKZgXqow2@Gt*-5g8r~$l(lu-5G!j{Z_?PJt z-!W|)A74+`dMVg;dRX`LuvTne>V-a;?-1>V9i!0&?7eWrT*5~4`;KTGhn}V!fvLM( zI$i8X1XZAy&fnUT_UFx__9Hymh#MbytD5;g49p|_J6A_AZb#5@RvBNf@9c6|&<-Dr zypKu^~ z6>w~^)T9YHZ6p*ZIcd|{!51Evj1(fxMJU=x#M05${^YG7pz0Q4dw_(i;gBV3C^8yJ z!QFZ!jJ|Mm<~b9+!e&!838eJMKW=zBbLCd)85foZ7 zvbgxOB`|8vW=b{^&`=6gqatM0Tc;Apa+SrSJjku_ppjr)C{S|Js5N2cM1BakmzbA# zt!$k&`jE7@s0M$~K_k8%cWB=+19RueaM^sXnCNM~=i`{OwIM;vHciuOsCYcPjOqX> zt=j=c;9VyOoa2lF?#_ZfdLZS6>TIC1ad-3=CY5|1dyl|)5J1i@MrPG!){bBtBqop` zz642D%DnBhoNSOyp^sw#cnpcV-g;)|J^lVoRAC^ zpa~l}rG;B4(5z5$$*iP#n+{Q%g(k?|Ww;ZJn>rj8`bjm$b`D%^{cVTyx7~#qyJ~(oSkvdDbLQIsQ_qMo9|5-gJ41`j zZfR`oQQYj5%kq#8;*f=fQYUbF`JFxY8rB6z){&Hbh39MxvK` z>tG7itKE{*L;};7@cpt2zllu6JlM+0!)Mjpgpc-q^~X2N{htoZ`tz@oE}`6@ojeX6 zG?4{UC{P!dtz;-wS_!I3p*)&`Eg`E=!X_zF&>`*3Dt33}vfT2ndA`myUb>7G{;UD^ckQS(R`oIaC5!u1X0lEOjBFP|1ml zW+s!yksbQ&ZV|Az1V3P2#ffEa>@4W>=euV4V_nn#HFF|(`W71u=Ch{Wt>KdV)J=_- zBJ>4Qfk4_JH^)LD+>`058Q61pYfb!no!i-)AkS>a^qj0T`zUcOOL!;fX^Ie-L`zSq zdY{WKSjy)ZPZ%3t{?;PB5PQU5BXpdud2P*Tct0!iTaSP%0?gblo@B)4Mq_zo1#88Q z>6DUd*C(ZBCOAy?rfS{?{piuUX&H{w_EZ2 z?c4`D;ak?1%u&wY9{rE9YM+ADnRiw}NtbOT6c~;x%9>>-gYAW%2&F?4a@$BLP>qU^ zHSD&W4G^%D%HmNT0t~Ne(o%unf-*ZXCFt?;`!V7?+!|1Ig~Dzg+i53)-seF7g7r4(G;8r zS%s2PdP2Zbs>BeMx{y$)R*I=(PqUv>~1A#afrX!S!C`66f#9zm->0*=s31)4FDef*#gj{#O2CU?PkBjsF-i)+(}l_v8`SGXjH0@%Syi zUxuHZo4!78>n3B*e+wP$A1+}Q_2GA& z=kvGnfhUm2@%-%@?6~H^G@Ey7ZZDUxl|mfN2zLr?UoOeqDrKnzvRsuI!crF!3KiVa z)-FjXUoztJ)(yt3M`kwkx*K%vLv!_fRDOY8}IgzuVleNPpUF9(!ovD6hALI1y`xOu>};zoZMM&vy_`qpS1SOrj5=*&;eKWH$!MlmLbDZEqeoE} z{%odCaoTzbNnv@w-=pU(nnOuWBV9^6?Ao|08QN$wV-8L><)%=q-a4xQvRqZ?J~@q4 zTen87GIPKv`8|;*vBZB~$Gb1hWh{oDu($_HF2cfQ!c3;4ExIF>oRs4zmt;zbiKaC^ zKw79m!4?$rx)m6gn@r}sl^CZ8RgjXCFojYppv(=_?eyB>s>is_WL~al?+m_j<;x|d zY=EVPG|Bzc?eyyER;REpL%>rK$90(;6Cx-r#+btG05=J+}(d14NTT0#3ZNd7s5+#P*ZZnjeR>H_lDO7UO zs_6yBjDR8)Ez@y<$z<6ge1Ae0k1CiWJYd#(@(4^70v)qxW{{znyb6!w6^wj(v4h+_ zx;j;1`d~Z)IRc8`MIMiz2je~Zcd+1jFzKIpHhvz=T>Q|gMVY7ZBOo+cKV0E8FBhR` zD>>RqXC9RH3QqE2951f%Sg=%*D^aa9ans9qT|8Lbq*kMUa&`w;#x);kuM89Wcx zdFID4THy0w?|Ys9U1S+UVNnV5vRq?{kXtgsd{J@=jn0Bra`U zeJ1GL_0#x0FY3Q|FCHU*KQKhz#;2YFwfK23X@xHphy^R5q(CJ@$#Eg2P@!S-otYGOH-87i)!JGo#qMv6j*`BT*1g86us<~A@n!xL% zt!NUfRizbz`&lHl&U&>R&p2cVgyC7#$eID>!jfU0#pcLuaWyOZTFC8^*rm6Vw2OEN zk3ft7a&U9ObRRj7)P2&J6F-e{LWu9~8G9|p2p@zD#|xf30#k;-k9UL4#SmG``P;W) zc{wm&3@!#Cf6r^opNWJUPh&?wXpz^md@cm7kWb!hPjFOT@~FF$9Bmzvd9Z&K>Tf)8 z#{1UKdn!0j&^1KqyoRWi3O=aUrEpp<(krOUSBptK>{k-ZC6d zqatAc9J-y0H{-Vs51F2M5f9TW-)Cg$O=$Y3XQR1`>FAbylP8bB6d@37GATJnu!V)! zDfX3*Snl8<8+-*dC7bQIZnaJ@W~5zTos2K{2s9$lS+k})+lNe^N%0Vf7h7bs6>LYN zJmYiqwD%@M^FqJl5f}*p3$1==F03O_`8NBIuTB8j&TL>S=D|iAG)QdIudW;fru^?^ zNLRBE;O`E|$LK73!qdj!!;z*V;3$?Whk92|s8>a#lS=*Y-amKTbS|DSX8qFu67#oR zJb&Bm{bPy0hyGAM?RrN8nd1RZH3$gHIT*|5LU(MDqT;%Lh~Z<{e}jE5h@t8Sqfb})tdl_8VSNPT3$YySzWug;n9V^68vdRKTW zp1)m*KJ+ipwvTH!9Ib6F;t{&8jf)IoZLt&+hy{&=UlS<>D)Y9%ZLS1ei>2r`w?84biHqaZpPeXW6gvy>%r10b(&S z9m@kest`X&&i&oc&Yb5}cw972TcgCZvu>l<@H%@%fG6sM#s)K?4IhgzSsVXpAkq`d zU|g6R?uGa2%Ii-Kfy30_wxXnoL@yQO=W|ZQzsh+cFae&w?c%=5#`iy|g!5*SeUk5Q zE1H3Wy{V!}o=Ae(qTu7<<>=L!&Cq^YDN(j)r-;ZCJ)LuAxxrF!d76{=UeC8vd=oB#Op z<~Pp%d1F4dXcY6e()rOjV?Xr7IgOvc{UnI2>F&(bY?f7i{n%I-$qj zWo-WpO5e{e>DVa#2TYtv5r0o~fHcv%ja)BYJEn@#UVS1lNj$bX^-UOGTg58ACp&Js zYdvF@;!X>bV`{8IHDfJZM}dr*UR2Mh%7$i4znuUAQ-kiL`dwaN){&qu^Q&cZcxHe(hQ%U%(GBAd zXT_v*9XLZdARGP-Op6f zB(p~1p4FV|UVOUyNxVNn0=_?i6uhZpI+u~tI)9cutj#)2{MlDtiba}Mwu!k{-gYQ^ zwKS5x9Z74a67oz~#>%jXEf&M%Bif23zRU@Coa^goE6pgSZC*=-JC(W(kx{3W>a9an zs9x=soHim(FMRQ&5xoEQd>_x>(w1HRmnK-de6KO@`AhLD?>b65jAMDl@qS+L+n+*Q zb7`~CBN=mPds!{C7rAYu6sSf;$f|@x$)OU+a#e7fTO+59gaRceZCX3{!sC*W5%ZQ< zI@;Qwyk+fjOiPi0NrCE+$!H`sM)6Ar^X)IcAOU_&T`ZTY0FWhgnV1T>UF)u;$rm2Qc;`}MO^bk(O7vqLiHE-=)G?xRJEqxE&ti_3#X;yD76K7K7a^6hJH|$QdZWE0A z5Ss3qP5de{{UdDFBO!~`+=2HeOfm-#A(*~O`+lKwUjqCtq6a~4Ys{fP5m zNvk>8N>g0vkyr|MD&uH~j5>`(FZI^J6slLdC8vo5Oycws=D`&2zcr6x{+7RoTSki_DXEg%aCZ{Xe<7^!;Va8wF&{D&~RM%6_7EqlY~2!x($(0rQk>(;4Z6!xrhbV6c*XZYdY|i5QWou?8u0HH$D?3R2hno>-uNRAEf(t7 z?9B?K=~0PMkn#r}0T%?&bK&n~Di*?hc4O8kXBawitBd+BWU_pv6Hgw2y&+)nAri%i z>vV1=GU3`1Mt`d)8E1~!)C0#4o~9iE{y~143B6#1Kk}aFFPP4=3>44SL`LxUGbHo* zV&qwmSuAxvLc;dgpBwb(AmIvSW24^KEO|rIi~u`RymoIz2iQ3g8YC*{g3*n&z#xs| z6pPE!6$A#u$F2K`MdWIn@yU^9S}e;CvO>T02)H5e>WmtDjr~eCfBUJ8J31!%h&eCi z`P&u$A`mxF+oXg7yw>>n+oX47pXPiyr{EXf5t&uI|JHo$>(OQmOw-Hf?L|! zB?;wAM)E6Ap?XfH9c>+&`CF^sGTrE7a}wTtS7=V7`r-0l;QXx`bLME&DMRT3qfm%Y zW}hjuY+F94LwjIk@BP@3Kw!3#QlikXd7mX@HMbxHETs-IZ`1RKVR#x5fv#EjuBh98 zCFpIu7#%qRE0Oto__o8-H{s2=UpIG;Xm+PsA^mqUueM{Kw_|8=g2>M2<5)CB^ay*f zt+QBJES@|9(}w_hLhU1Q1MKjJH27PYnp3B-BUso0dzt_ON}KE^ggdQc8w%Ca?O+Yr z!XzdNEallF6|Qx{QcyKxD2~O3$PyC`>*v6O+fXSp6j^c~in5)Ip^&N4L|X{mQeYmn zEY~fr0{F2=T1#ZK1K|ZtiC~2AgbD#RIg~g~YZ8{*i_%S`3*e^Flq%mVl_WS>TFjKV zAJ+|A%Y%%eJZK}-t;R{4W|1#EtPdjvC=n@YRvhV@oo%rdK+09YN!~me9NP_+mE=lP zZl+&tvJO?DdS&&=Xr@=fBwP8gBD0}SaoSqOV!6ZbJd_g}h0Syc513J+Hm*vBQl*s! zCz~)A>epLmLxC(;rN$7Jwo+}~S~ZIT14ha3i9Cr#F>hmDhvhOB!&hG3gC!SXVKYJB z(H7m2N>0jgluI(D#6;5?IaR1a!4?$rx)m6gn@r}sl^iE&a1z_f0*>9~2I_WtZE@9O zTxT*bSG0E_nu4tcI5H(zYDkmZPu)(hu5NV-`%<3vqWj{@$%!~gjV7d{sX1t|FPRjj zedeUhx7wX#-CCWGNr2ay10+2_-=n+si5FuRHy*JN9`bA`jWCrQC%Ag4pkUi#D;9xN z^*E^zM=V+>$&{eqObWFwM3iEsTGlcw#an4EAL>PLB6Pw>Y7BNQckwJE%CVc*lJ|$K zNDEEMxFDZ9_L~_;n_k&4ken0;@wssl3CjDO7<1aUH7DBxX0QlDbtm zX;SjMi6GEnB9I1L@jU5@xo|GR-C4#V!;?o~dJsTgE7uvbxtWE8jwlp%m-whzm%WlF zkHAzRfG2H1ui~P&&fD#8Cf|(Q=%3lN!ACoK?xCZ}C3du+Wi+*`Ln{V{@UvsESQ-XD zDR^>}REm?qS3BcVXaNt@OVzVNtYr21B7 zhidhqqpd@fw@6p>A>5-~T1VYk{c|5i51mF#ZuF~k<&&(fs&IpEzchx0&M)QIXUywt3A8} z*L>%%C8qo6XU%6nZ-f55TPrBCN%5Z7GGu|SJ$VF1MnI^^)rHV3Sf&%Yk`5oI+06PB z?C+Ku(^6o~?$)B0-)96ca-4cnMA%)x7fG0^@zXGZ9WKQLOh-p3Zy{cu*;VJ%!=9!` z&Q?-+=S|O9(hFYk2w?OlCR7QLw_9-+%Ul)nz{(Py!98`w*Uwkra3at#TNc-Cy@Z^d zXFu6vJ#j~7?!z*%zL8Emc?3pB;8kOuUH@IPH2eHhOk0w6j(ijw%-;$R$4fF^b62Ld z7zFebe*QMS*J0{$;>U>~*j3Emnz_3>dg)={NGOk*p!eugL1&)x3bds(mW&>_=RiW4 ztXbBu-y4n#48@&aWGR&~lm{-P6w0H?oLH6$SA~*-bt-`@S0#q9)P;mXB_}SLLo&ks zl94jl6mcR)Tj}*vX|o!`448&9$|<0F>rfY(s0^8mRsv3P;WxLCw_m}1RDX7ke?dFP zx_#hrJX3S#fz6cyl)Z0$y47YZAY9kRRmo7QxR6q)8Wka{-ue{fEd%v5A_5kA)-2p> z%=(WEdiotRz{#ekQTo`-XM@iN7t!Aq>05rhTLi=(9S{OcM9aTA;CB^q%Eob647}DK zAuB#iSLk~+?X!l99rk5dhFy3@${l|)WN`ScGXnf+SvR!dM%Qp?lhRVQGrR>Ke-9ps zc<~-49yYqMGqjk55^Q^BP?r$5y z@~i_z;0pMA8DFNP9|1}>MM}k(J9%76)2Y6s_tNnF=5Qkrk8RB#81wS_&*P`)&!5+% zzWv#b`Do{Si22(c^ze@3mP5Ue3D|7MZ({_6YmSeSHoy)CX}l6C7Q_BRxI>Xvq76q| zX}_biS#VN{BmT*NrCcd87B-TATW=jq3RH(oMk6T#0#02$%K6)mZ1pjJyBynEv}URI z6h8QX`CD6nviD^d93dlgP1y{N_`A}yMH*%lQAzj>YoMWISE3?9R=ss9fhFL_Du5p?RKX0-p}T4AqyKqnb;P#mbnH+o+e5I zDWe0%js#*sBh|hx#!^kV8gjeC`rh-_!g#e4diJz`2w?v9hS03PL4R8R{cZ8-u#E5N znCP>Cz3t)~XQdd)`?YvH@)48E(=;QHT^y%1#`L~X&>2Oa&w9gi=yjJTl3SC6L#7qu z3CERQ{3q;X7v^Obvbz=4A%$*egC~tyjfs;TgjEmQeU_i1g_Hl z_FQlyZkQ~-r?W-$QWPxyHr5*nkxBMRzQ3(VaE|V#ibhHs#~KKJK?YIV`2*bKcONvJ z^WQOX-kQt*7=MWPC|*`me*X5S9gN$ZGUJ4GlIO(ExGRoJb*qqZDiTVuGHhatCB7x* zz)5+)(^I(PTwh09X+|k+7o3#hXo!r;tyFIvszUY3kjZGH2sp_W=5M?A{rYP6?*6rW zVV4PB`Kb-*J%z7!m)@VybIDtJ6|SU(_RhfE-Jiva!lAQlkA(JdJnQ|f(){f=lSXefER-0IE6Va@ zC!?4^(9Oak>d21dq*BT?tKW6eS$wIyf$=GDx!&N1DgTq~l zH&_~pWk=HTN|QlAqtFUcH0+#C9awIe(!!nHQ{jZ;pU;O#xzEJTbC(64JOb>L3YpUe z$zQ^^zqkVJAGl9t{DaIaM@zkJnxe z$wV-JYt27jUDQ{i-w5;?bc1-V#$0~4F)z(ad3@UnlFbaid?pC={0|uO%S&C0bUhmW zr1{@M^R<=1pNzub9|`4@t6fy{fYaPE+;Nc52rI+7TP*R_hiEGgc)|;Joa^goD}`EV zyWpf0M?+*(Zl!wbP!+0IhD=5)5vOM`e|vuJ9md@H%2^X_{29FT<0m51yFAl1Uwb&P zWhh&%LO`%AfBo7{^vqc_%S*>h_x$Ttb>%<5G5%x68?WnLSbThA*+PnM;t%*6H^t&a zN~vm8gse(9lpHF7ELS}JMz34h32p9zgtE<%<{}hrB<7r>t^LVcK|s|lMA$*XRb|Lz zG?Idgh7A|8PWGdnNli6^czgG+e+ z{OQ+ObJt+?0vT^SCN;C#BY z@ACHU*!TL0MLd5yqYs+DVK&VFjgt}MgiSJ{1rtP_kpQu1)8w=|*-?Goyc)iAp23`v*a=s=BRn^Lki@!qni>Q`Gl;+KaGGg>PT2lFzDZ&hlb&hRDEYNh zHOim2Uw}=;FWAftQSy6B93_|OQH^`Os~rJ!vi2q1AK+JJClz_d%W2%J*f1~)e{XP%?HconZ;G=IA*bFX1gtN#`L-q16h&aVfbS??b+yXXotds%iT zsrf%!V_sMSkKjItd|nHT%!=S>6gn*Zt+4W0w_$m}Q=O107Q<=^cPP?IRCTnKrnu5( z!3i0brCA(%nZKp6dh1{cmgn=!#3 z0Y^f4o`&)`c+f-^OrZdwyyq|DFJ-@QtZSZr`>I)g;Wy5a@%48`@e7c}h@&TvXT4fUD8aZE&ssBh3G=r%|9NBXdO<81OHYT&j(n8|u($n^T^6*FQlJu* zIKFB)awX_mEF=!lEU&8yq^1t)`yC4c4`cTqHg=pAf z&J>zEkYSgObVTrRG`l`?bO8_fe*3#)1I#^79)Xb%I0r3F|Gpqr(34=nbgqeH2|E_c zh{WzF3iSAV$8@%634e!s<9ke~DDR%wRr-$@fmb`k2=I647I$RWgqvF!&vqir0btzV zJW*Q%4lSO?BIs9;%D4DA_ne{6`!d>YGz z8;!Mb$!M#NS;5~g^enVH%S*{Qa2qpUcAgKT+4ow941v(KK5<9bebuNj-?fU)Hlijc z5CS#dc$ew*F%N(v<7|+^q$E3ExD}5$Y{A|)j%>|ro?HE#c`$nSO=f^!4TtYerDE|@ z@%pM-32Vz9f>2p3G04PTdBBzt?oh;u9BrjnOr_0&lTsWFkvRoaZyoAF6FWn8{$msc zyB9Ej`=y0{WK7T8i*HGbnZy0lSsvELe?-P-G_@#VSC+QVL-d8NyN*5(<@^xM&W^2=_}y zc7mOV45`)cI@+4%yp7wVzJ@~_;MCjtmRU0IduMk^UJJ}cRR4iD+m7J5afA1M1m(6R zwyh+P=zj9)Zg=qmX`amAvliSnSkn-8XRZ^u%Ja4rK`+pPKxg4vbGP}n(b?DVs5kma z!N(mVb2(7V-%44zqNpsy-b`Md!?os13p9#9AU}YEccC2r`2e6EMrHBTOakrCi^zaQF=gI!hL z`$xzzF&8?_FfJog7gK6FOA~_sHW^`rePb;Cd75qnIIlmY6nC|p2V-y8>zdOY#cmX7 zpkg8v+fCe=G0k>ci4f-k(=@_=*onV`rr54w;f*TK5&YwNjMN*WEpKXi5kPh^g%&rs zy#dRB(3+ZCb4yP61)H0xZ1dSu8OcyhJGv2$OJ!B2MIJi|#0b{=tR`HvT%k6lpijqYuuQYu}d5 z-!9MPwNwYQXN`=4({FCc=5rr8(G{Kfl)>}2 ztH{=9@Z^k|x7~ZBOOa=gESMTg)6vDUFui7vMZw2EY~KCAv!~3`Jig}lp8qGF|62Lv zyjl3bU(z^%f;548>SC8Nv0xrep}mCsLP;q-Az&$0VhBrJNGMct;-cwg#)$ytZ)N?9 zrlV|8JbxRviTN-(-}O6_HXg~Fn8E*qBs+tLY5wptFpRn2AiQP};AQ;w?n}m;iv7q) zw!M-^fC!-TVF!lMfa!84K3d}ryQL8+e(WoVP2rd4iILTHV-)`dKX+i4wI>I$zF%Fv z2&g1=w}Em8nTt`uxiqm7)-Kl^Mv3W$%04_HS+MAOVOyBPcxp0Xpx~+`Wvy9x;SSH? z(w&i#xYJ6tb!*iu3Je$}zbEn}7Ug{7>#$tLVsM8M|9L$ZVPP{t-_aJ`kxEX=ag<9k zrNl(j8n^a*LLjd~!B#Efa+ArNx02%|l}@@fQ04~ec6xOIUrsgZF|IS2mn+&kgRhKA zxuld0u+)$yxu3e7UR~Yl6!xV&?M3&+my;85k{V4&M^kgqVqY>TO8d-7nQyf_$-1>V zACmyDH3vv~fWAj}?GrD?E^fShe8RI~=gox4MPh}fRS!%@TawzT9w!yzh(!w}nNn(_ ze#6UR7i^_SDY9CIrFbi02x}=6!ZO}&M<<-N!u*v%d4Tc`CtD$riWrJGT$7HPj;-IS*!srIk*cw!n+9jMUONTM9Yz(DTD`DiO6e>As)${^mMnLc! zqcIQR{7|K7HVJbprgW1W>}oy3ci$SdNLW52xlL=yxftL7ZI}8zkHGE_*fPAI733~n zZIBWU*2LI;c09s1wZ(ppf6@@10c%-roj({k`gsxC^{cBCfsToP&-=Go{RllF>Fvm_ zOTqd1i_GVd3BS|9MA}=UQ}dUO;L)8Q+Z3~WL&!_?;MVxDhmkEG0!3jR>W3>ln{yG0 zwvwZ*wBJzLD>xy;vXuQye0eODDA~^aOucnj5t^zDnT%Fqd|$xxU}o+oFBtZZ=L5l8 zk^Uo63%|h)&R{S{5yi4yOCGe5K%o1{o6YjY{}6QSH?A>q-|J0x}G8ElF;k)y3c zl(*jmE|1-2dP|C*?*@y(?VX=6-N7$kW9*q3W!~!fFP_|e+jh-wziG|9^l#s2R)1(F zIDOxHWpHL-kuNGgdrX!A;EH97Ac5A|UK>1cA*E2BX@&L@vI-@o^n`$=REZ%hbs?cp z$%%`mmuW>nS|xIUlQ(=md~(h#sG6nQTL%cnNXk)EX5nPwKJ(%KY>5O zoxv^MLxEY1^YUHhx6luFyWhP@GwN*13tklnurqKbUO8Su4qf2Q6DF*>=`GXi&JX`i z$JtyWm_#5vIFE(%2|fOl*XnR=yE+eO%hUcLkl#7)pUYi&O1o6^7Fbkg&+Ao|(n^l;GDo>qg9( zgqu!)vEiS`1lxon z%p|aD++>eQ8cN)xz-28P7jUQdK|CW4V-jI(`~Aq`KE0lG(f2YQfm#GQXJ*W|yMF_> zPtQ{(evt7q#{A)IcfHSElJvLGJMNk~e;nGs+CPK0FMcC9zNT;P1opqfX%KcJ`%yoC zOE`%tI|hpd-A2+oC=b|Y2zQ);ceIuELrU8PC#5(VBBOFE)mw+EP`xVT9vQ8~UUX{( z+4;He36FpIZyx`W`6S+}eCM}uJ%9F;iSqX`{zZU_I3j`ka;w!;Q2xX1f&9>i%@g+0 zF+Kj&EtpgL{ZE=je5YsTh`BDsDIQX9PZB%WHcFvtRD`T5IJT7_U@29dCgik{P@v?b zO=|~Vcw92V_E2&P)nh>`Iog``yp7wXwX(!%Fu2C7&fRSuS$ZwNZ*U(n9gGpo2cE~@ zy3X9o2W~Kb`!j<@rtssFM_hq5*oq^`EyUdX4E8 zb$e)&)8T`7W$i5!no;(7(MnIWf7Rw3zMF6)-9S!)DLVDHg&h6S@rjU-J%#y)0MehivZZYaO zwH}%`BKP&ESrMddq?tGeCZ0S3yF$PsQ6nVqT7bWo;h}-}$=em&l_9sJ$Bs8n?_Jr9 zg}0!I9UCVx1_kHPnPWCAgxx2D_$8&Wm|smN0@MEYvW{8orTyb35Y!CC&ca;W7iY&K zY`g5hvthBt=TyzpJYs)->j>srReG%wUf{4Gux>6seIYcjH~nP(mPuvI?X&;xCS5K) zf6H-&6UA0mZnK;HGl@Zoze%}Lp>-c~Y~>uvlU=c&n;BAZWrJ zinJ1KINC~kD5cGUlTsYpMG~1N7 zH7S)_CzK$|72J+iw;Ct3>1qEEST~rzHS0g${i^v6doyE1ddEY&yV-Q_Nj_7u`(T(U zVm^+CANpTSwU_a-kHI_7;X4xH4Vcf(X=pbu^E*?30NZf7X-m`iPIJpEiQpUNs+(u@D}L_W!e(4?9@{0&P&{AnP-3D!|0 z>IU9-Ag9dH_>Tw0)Z)dpouHFkg}Z^`vyt&Lx6oRpW^m&XrOkC7jBrY)mwIX+2o>=- zkPy7n7=d$X{ve4Wa|uPANS8zm=X8a)Q6rE|bZiIB%$AOi?JvR8%RDy{;zR1mJ9pCp zzZnsM(Hdz)XD({uA~d3mrh3Os*K+q4v3!9$>;-v;8dIEG*@5F0f3HX+yYYaTi7V@- zC+NVhF@aiqDE*QRbcEiPr`Ev|D>HR8N+V6Q5_>q2S{qoB$UElZiO!6@Df$)tU38B6 zX%h%p4<3;_E*@3x?viXKfAJcl8^5w{<{vtOG(Bo=wvVmiNt<(#xlxSXp_$xnwg;Ry zb~mv$$qJdQ44c?uNrzU(C=b|r!X4-OI@(GzN@=^`q!dR(WK?dYdh1XXs#k{W)SE%b ze*3{$)BVa<)%5_2I1}10y)L*JBBF4DM-fdZ*l{AE)DQl;H6Q$N z(6vAG-I2`Qb6UDD1Z(D~2Djdi_bB|ck>+n6ok#ay3aUw@s?s;4DhKm%#_L!<$D7`cY^(#YeHw+2l^ldzUYcBkW zsJnuLjo`X&g!d?89_=AMrsPrf)4==q!R2ZsTQ zfyXak7_$76Hncco0!i$I2QH)(%A*;sycM#BOUmg90ZXX^&Rd2sHsbq)r;6^GU^JIA z+nB$#Tkkay+dGPGG-rdiV8X*WQhDMEv3Kp5XcWOtgOM`6zgMrw674 z{rt}lNhbHB`{SQRB${<=3&vb`ZX+7p792I-I}^U+28e(PG#1@NT^6|bxu^67t!X4-OI@(GzN@=^` zq!dR(WK?dYdh1XXs#k_gMk{4F^`mzf`;{*T(bjLzi((#Z(^B^b-;2R7wu;3vj%S~{ z0qb^J=wCeE4ZePT=h@|tnY97_P!>J)U3e|n%lH8V9))<*_t@}<{?l1<+QAndmyBd!7pu2JwS35&bF{TT zc`FF0x`hZkNVuvDIp&aCM+!!a)6>@kdh&U*wDRx`Mt^(WtYPkJV8PWN2EPO)3z`Y> z+zN^4>$gPDbUrp~>}O`oqxYS(A%2psNSKu`KOJ@!f6@lO@x;t=b6+=H$(=MCrcs(m zwiT5ZvMS+FatI~Jay4S!!njbqMMIaxg9@SOce!}jekAQ8nM6O?5wkg?tM*4k zKlQv|obcrf!ZwMiZ}Z)xfIpm+WVe2uD-G~$?b7$ggWBWK;Kw?w4Ie!-dct%SJ-qn} zzE!FCX}UYXgp^GFVWznC&EX4JdK2ajHFeml;_~raj`~5@L_}% z%YO1biF{9n^akCnp`*rK*qS?yp=k6Jy71F*qsL9}+_T1fACk8NqtSKHw_rr8NbGeS zpwQEZ2;}WJqW;*`Wb78V4QjSKmpA`1-n9jmA^LWe_VjF>3wD+TDwSyiy@Ef1GF);mSG%_z74bAfPr&elBl^BPm zzZKRDKsC&g<{}hrBwV*#ZKWx$v_~w3JC$)XL`I!PqL+H>U<%c%-ICKp0w%BA7w{b8 z=HGb-9(H*cJ?)#`Y|V$B*i0_oe*`{76pQ&+zh|UBI7^J0$%5VM9XHYOHyHiJe;S$l z_1KZ{zIS5O`~p~b>fz_E6MN)`LK*xHZq-iwsUaty}$1r->|>LV=PK7Vd(CvLz$sfGFZbj<($Mc9Ei%zDrQCu$6L5OOZiUs9s{Q`c6c_ ztvm2+;M^T%;qHg;lC9sq-1NW%(_t~_w7mO}iW8Sr}@i3mIxf}ZHOqeIX&&&tEhSR~K`TKV;Z9RDec8frl zKaA`|n7@@}JS~eJF+k6_O=2M*wLYKHZ3-E_EWaSnw$ijkt4J zjgPRBY-c6gY1+;qXF>WL*Ac!owT_uziEx0|nPU?Pc7qu>zyU@Mo;(7(M1aX;&47bU zyn+$g)WeT<2Iwt8qVZ;wRm2XLFaC(|CTNZXY_Np{rNID6jrTZN8~3(2BV-f@UT3lh zus_>>vaT)@!S&y@5$10%-1+h~W*LvXkgVy?q&H~DH>S5Ub)S0P41&RpCXnw%vf9Ad z&7&9CQ=cYWGgT?%dzEEXTyg^P*{@y3p)sl#Q>)mZRG*c7Vc2Qi5zXw z9Z0z4*U-N%Yg)Z_vfqkrcmPhWtOKM zM9hgajy~~iqmKMc5Qe{S?P}EdmBg z?s#Y1UgxyUXvU8Pt5FfkRKXEfA#NxLSV~o=2{~;f6eu}q)7rro9+!+{U>8$rhidhq zqpfMr+v>{gEG14~VBzmS(lv7IY!v)lVC1FGncrAr>03Df#a4L`XUgoo$xRdsn&{Ds zLG+fdUvJGX{x~|=mu5owJMRb|-1;pO-Gt|F|K(qc^fUkYwEgBQ*O)NGOG|SnO*S*0 zawm?4JB9X=Qb{R2Az>+1VhBrJNGMcrOIw}}0D)lr4Z#Wh4xUh0K6%#k-m(;5B+SZ8 z{*%ZwsLrf8?Gj(~u`mn;?^)7cQ4_v|skQ$7LC3y1#1ZuWgfVgor^CwaQM5VQ3zuA? z@G@5k0?K+?EP^G@-J7sg9;77MPV*MuR(}S4b%1Vh7Ak8Ui$Az6LkD@QOL)KTXW-+@ zi3?d?p)ucS5d}}XL7)#|=8a&9i5KpeEZ2ETb+>n8ZtW^Gr9 z5i0$q1=Hg=aMog!tQbDy$=jH8!K_3~X8cj^TwJoAFosT$tYCNB-tNS`^c9Lg+}B~E z^=u!BwTZO(Y5a|g$@xjV%bsLKv%c(W=rbc6Y&q9;39tQliqai(^vGG{?s<5)Kf>?Z zVK~D4t>E?wGhs&90mp;`PaXjm1gyE^20e3W5r5Nq5rff}(LwgJ_xttdFKnCWKa7MP zejs<7Ro>HA=J0!;5DEEK>TAu6eXqa8in+A+pwBnyrH?l&B1uj8;M>c6Ist zy80L%DCpk>`CI0Ueq$wpQvdEphoJn*+w6iIyEn$S&2YH%%Ep(>XKu#pLjSS}27Qb} z{>h&+!OMTzm>cmM-@kvXdt2uRo<)1%3_1S^vw}FxMw`)$uiUA|T*#_~L&>2M$Z}Pk zCgik{P@v?bO=|~Vcw90<9F&|w^;pnKj<%*gZwWyg#UIsEN_}Ke`b%HOi1TNcI_A}* zXZfgtJ$ubZHBKptC^Fkf+UVGArqjL8tNAG20ew5(pYYO`khgP-+WD=Oj>Svu%#Y$5 zz{@@JsD+VW{>E_oA>U@J30Ju(G;H2i2wBZ72mwo}1I}B9;Hd%uHmnOJC!qbl&|G*M zZj_e)d;Fy4Es3)9k8NAAF2-`1jedk@BEQ@@YrYph-hJWd@vh8A=gqr$B~n?LqJk-Kl3f)j zYa+ab4QD1oT0@z{sh#kyo;507H`*x;VOmkS-QAX?#!60N2AhP9X7Q;{Gz@5{WP5N$ zMk753F8e8^RD?yili9+q^0>sXiFfkqiH{XpvbU=M!+icgSc(S~*dqp(wzfs$YLQ=0 zGK)WoQ7err%mPkqL9r^}B#wHk2?vwE!vPm<_3Gi+R-&B@K+A)ny791?P`4T<&3Zez z!h-rR3IOfYEgkEdoo%I;Hl>Y%lQdhm;mGoLyChelax?vElXa*H)hnw{Ml-##{X9#A zY!I12g5mGFe2Bt1aiqr3Kr7h@MUUOqnI*-#o`<|45|)2auiqb*78RF9Jiam1p9l1wSJQNQ73 zu?x0Rq!d{#!&1DJFo9qx6dI{?BJuDx6=590I9QPu!stem`!a|OA!4@05WLGeIV}%cf z(Wb@X$s@2!1T6co>o+)mu!zTN(uA|jw464vC;3s!&Z(H+#V;N-?VOmM!ixvr-fWEW zx0cH|7_fxjhw|hR*d+peBrBc=vmu@bQ@uXG`(=v83$kS_`X7Fxf*`EQaST;Z`grKF7J^ zinpt+v_n$bE;uR0(GVGxTdCeURE6r5)hDBsGMxG!nKQPRJ`cA1|E`#M3tfBuPi;@} znlD_0yC1l=)n+X4C|;ak(0gm=Uq&0>e(jp5ciZcO2R@(V?eY)a+3ha=Kxha5%WbQV zpTA{uyS-ejD}}025wa@bP;#gQvRqZC2{~;f6eu}q)7rro9+!+{?NO}W4%O;IM_Y#? zZ-We{?uQ=2-yOb=--!RrakKpD=T7tYVAlNS|8u(w2p;%R4u9jPzN?WNE`9DRm}LF# zV^+?6IKn{SgL>qtTa0;mCCMCM{LoGBLs$DdVJCd*7Q8nfx{8J1w~|ugO3&NYT6%$c z1k#faSzteH&+6N-bLV~CS^Jh?5G%cQZF~tX<_k&Tic_8Mz+yB?gsjl1Ud)Hc-X;>Qz1>S_MM0&n$JE}X+#mo6oD z(-MCVW!sbA^9VR1fF4kzIdfW(Qs(u@w-qXOaj%veK)S}?=SxQrd3ogy)WWmIV1rpT zti<9rFV1>C5_u~eoKE`T=WLMN+C#{dIOOnjH6x&`JU%I{3zrtf%)W@DmjmtV^_C0_ zAJU)iBCV}l3Zei>mR{v!e(fp>`eC>G!i~XwdIs;TdGQuZi=B(!GPnzaS)|?CX&72w z-!yMI(!s*B1c=v7_Gty8J3>1IO2vblqlJZ z%!vwBC|HNO&_rd(WVBL@)7#ff|8e|`7xT9R{+{>f@2te1hZHmXJ)QH<{hsNZhDB+$ z3W3Mg-gRD{y%z7a`!~_j;7c>MH+M_7vxWIvzSr&-k9AHy^zTjY{;%GEFQVYBr8fXG zb+JpCSg;xuA-@uiTnPdeOWr)ngWMVq+DIr+a?+-?gD*TT8S#0$1E!io;xV{OBh(Ib+5TX6{TukK$;F?XHLDl#j`6t% ztv&H>RU}OGrZ=2kyy>4CJNS5b#QZm}-=4p9usn1VDHLZw`Pp19$$AfkSk_lq?w1(C zQWp{m72ML6r~O4h(buS1zs3Z!Z~KB-UVc1Uw!hr948pE|uEWfZN#mw^Ejw)6J`aHh zXDvSD01Hc}gK+bxY}t3mKa=d5??#{ZJ#RF@YjAG)6uBpl!0r$@$IRs8FZdpM+>Pia z`jS5OEtWW0xkdl<|Fic#z;PVsz2G;qv&#VpQUeI0L0YsMASkV9I$koio}%aY^+J#h z$@06Ej#4O>^J+m;vZ6RCCQtUsSNZb+1}W&z*^nZ;s3dw>>Es-v*eNIR?tZ_X-6g=?of&}tAYwmYW_$Yk)7@Wx-P7}R zPftC9m9?C(E;8X1Jy%47z)Y{f+mVk=m2q(+`X%EcEk3fNGmtqml`6W)Wny9F{} zTd+6`jvn+huqq8;I*X<@hdGjHQUcl17#^6FQfl$1r&mUHyMj@g3Xz5wc0S*rubBuX#^11gN>j8cCs`^+gN`q#YGsAZk4iI zuUO+9eg%A3WY>y_E*G=40D_K+*7gS)MtwnLY3r=a{3KTRBF)8XXBO6Hc_5QMq+%9tJK|hqc-o6??7_@|O5nQ~2)~TIZsq!* zCMWy6-~_%bt=nlcGc*}7&%@F1WS`kxJjBZ$^fa(44H!~e990~y7ebfjy~vAm0z)h6jp>5dI2--#$dpAOqN3JA0n7!=gf5d^hTRnNGOO=Fr(GJE8d=`A7oB27|E@HqQIR^_YRZD^FRYZA}cutMzG`Q5}y)OIP<&~7Cz>9*v zkPXQ+Ngh41Nb{jCPCda5&9@uf#%>&q7o*uV@4K8TZ=Cksxp2L~`xmUjgBIOOE4 z)!U3hzg70>g!&&0dh$kJRH(g6#7;(Yadg`G65EYU%U@Q!At4Jxby^%k4X z1~Qj7qpU{lDP^xnq%9u_IU{o_be9fRL-vkYCL$G}r*IBb-n|8_V*Rc0wijgY4@)yu zOWtoR_uo!F2dl%xfgvUh#z8Q+?;Q&x#h=&6p583cZ~nCBM!P{U$qW}q4oGBgc?+iJ zu7dv-vS-p{Hu1_pfWt5VS!Xod9@AzGAh$TWmIJV)Tkq7#J@^jP&cF>oG?Qcy zIl_)wv4%1_s-wjO0*m8P+by$j-eBFW1ij(B6|G&+(wQhbTlqjB`5XPn6t6iMmcQ(F zG*G_|vuZ)KW)E%fD4_4Ik;%Ou|PQLOg8MrNn6tDSr# z@9mi1;%<+vbdm$uPUKR8E8C^aK*zM#(BF5IbKW8wqmlC_Z@C~7UsPy_R#ZkX8fE`0 z(>y^H7C*6-#%CGlmW_(oWU#n#2T~a1Gu}Pu{tVaE+>C(w65clam~)AZV;ljo<9OH7 z&=-~!RzaFo*`cog!{4g@NqILkFWr9ed6-iE{A&^g$tV9jFO;npQojBHi$kFT!> z*gC8#7RVl~T?16^x`GUyTZjB+D~4%|2BKFt`&?dF!~VC%hyV7m+EzK@{okI_b`RG7 z*-j6?0@|hb=|S)B*gvL0XleUK4(yH!aw0zyVtvgaFc}=Dv248mKq)LN<>Jjn%JUyE zL|7ad0D>5^2jvLe9vX3f-lH z)sVeomWfCO=qa54Kk$r>^|vEjf7=KDZS?0Q@xJ;0d^!wrHu8`Ee|R`^2rU;%DlSigT`$c~W27AX}=VY!~EhD$e=)QT;TYeSwHSC+{8&~?QuW%MZS#PPJ zr0A>_LsUm~C^2LLSe}~sQC_s9@gfZj3EC1#<2nm(c-wO~nV)p|~w zD`ddh1&~pb!-h&Tedt^7H8b|fKI}e@v?@Q|q5bpnli#^Q^!o$Ww*{5{iEXyORbO2s zo{5Gwlvka#Vu)(fQ%gFT0G6jU+AYgQ_O?VAd8uICJs%V=peAY!+2M))a?L&zc}H)Y z#XQzFY+$!6eAQ|2d?-v#z41)F;90v2aH>u-5bS0XbWB6H~NQPs4mYrV@ zHo6APsuW-)d<1?lodj3JNvz2rwqNuuZWWAmTZ34s&yHaY_(T@rwg4(L2*a6*i2xTI zU6gQWzw2GGM;`iiT$_He@dFwzdayPPpkr8HVAh_U)Uv3Py$fc8WwO5d3xO=uIry8) ztCYw-4BK)~l`td8oLtF6o3o+-!`Fy#kfRe#ezT3_;fEB{6KmO=_#i9u}+ zG}TW+;J=8D$OEE7Fn&98$Z=jd{ucRnOC>oe98T!{*2QK!T^9WZ((w2{eoRK*ZD6G45APw0&W|@dYFi=yZIs0<`?R_s` z|6B7c{I?POxAIB}gWRtb@DZGUg>Lu9p3HqKFT<~miaGROu63y;3bx3W$%EuSZne?K zCsjW5kSDk7hj6@yE+g~D<@V1Sncph*R(LHc_r8T6sf7LF;BPXZtV)W`S}{a*REH8n zCV=IsvzZW+1Qtj`g0@5$nH7)^L)tbWO+BnEUM8^_Wo5V9b-w;~{>1}VN&b_^C91wu z5&vl~G}u4E*sl$tZr={m{;^c+^-ZGx`0ESCR6OS^NY-Si;b?!PVeV;|>7*U6+$+)a zet09kGwm#=^lv}o&(7~3-OrbKX+ZStMl;Dm&tR3oj&@r$L?zcC2rQ}AX1C-tJhdgl z$gI$4KUv8)3>}r4RX29zgl|sT5A;vUjfGlRyuK#YFAp#D-|bn!IKjw+xa(uOVPfe| zaHIdbYcdE%@b6+4cXa`uRyd(@l5oP~T?cHT5aBQ@J3Si>~bgAJ{L zrYU4qLS#f#rg&>7d=9I;}zFR`(d zu*|S-XjGx$vr*uBL_iUqqNme*LgDV$Y?SWPY}Ib+b@ z-iJ60l`X$5Rm&o=N7K{5at$briT)@|2L!Ovs*KWLJy=t0)vi0Vz}I29h%1sd8DQVC z6=Do}QpFi-Z3m_5)gdZCauMg_ki-P-*++^!=xJaz8VKo}4Nv-k)Q;O{-S^Ajzr70U zZx8n$*u9X)bD7A4W=fWPIc1-g>g*3D>lqTLR=pfd^vJc7qCe3m1D`-ksKB?NhwvyC z)r06Bxw(#B-Ya0$j&3p;L|$$ruFPoOu5+*~9U3%RG}<^032+z&NRkOM%4+mQN|`GX zA;L1YnU92=kt`LuO9!hVd&evjkp@1Uv-)qh`1X_Nak>6h;J*!DDb2|A2Xo^4e=7D$ zkR1Q^hvsGc{u$rYb3ramD)9Mn3~(j4MQ$JYKVk95JQKoyI|=`-Vh{4-(H)`Ow*@cm zV6Lw67gur^B1SXFbtI0kvsMfVI;x|^1OkhrRXxg!mNZ_ZfgwR#B57P_;SI0bg!Jt8 zEH!nxgmYH(TX`cNKaO{AUqYLE%JYw(9`O3AU-6~z_qe0;9i5lq;*}qcVg_vAX#BC$ zF7jH@CVxQkxyJ%I{@=X3y;p*3_N&OZrp@Ax5qaYF$3!3ApV!;^-9SMwC5(Kum{S6d zuw`j0>fVrbMNG5zXfc7n;<(gy%PjO@ts2NZh`aaS_)@c*j3+lx^N{NhCD?mHs0-c97B(5acOWseh=2A21YJcuFR?v^6}LiYcYL` zX@{5@{i7WZWK?;15C#Xk8l0Gd;f=%2J}NS0iAjSHJ*hD`Jc!`FG#nooiVJW7C?1YS zn0z9OAB*^Vu24N!0T+os*1<(eY~3f*(nc$gCCjeA`=SV^wHC+_qCfR3_?>Tf4t%%u z=R8m_GGCpgrAWqjV|Jc|lNc+QPzKE1qH+))ky;#*I+;CB&A7;8g3J!~`dq4{2iZ07 zpfS;jp)la*nYjK|;`O%@VqMLwykVq*{#e8MTLZxsxz@82jiG8v5?p^8%`X>e@ z`~)T%&=Mm0ZxI#Axa41i|8@Z5>QF7)!$t$c0>}3=+~RoQ=ePQcA1}yr(?2OS`fu$k zB`fx81<(6?^qV*6v*BOYAHtozAn&eX**M-XPlX!&xB0()pETZe}UPw%0sB|8to+u%?OlLZ;84=6Spz1m`=KojagPXnvd04;GA2mKy(_Eo=)0}g%x8td29%n|W`PZ6!iel6L4u*;jBg!aVHWnHgGq1{P{d&im?7Y7K}-S{ zt|LK2IxGY!`N|pBB-UUyQs0(jn~>W@9ZC$X0bqHe0^4n$m_#_4?^3ozuCtIxyUt4E z_e751P>jgrY8*>AWD^eFnpz}`Oa}00l*Qx-ZHct!qdlg{6pKhY!=_dgVTCL(w#v2w zv6LjTg)6o6WI84ibx~zYK(|0OEnnD*u}gh*6WNMa)OS;T?S*fTX|o1MN-&dFI^6=* zZe{Dna8cqLz34?rD^nsS6V=*?bZu-IxY(CmC}{MV7fO7p-1AYkOI-%uYc3(^B}{wm zNwd<7Sv&u^a-I*vJI6dw1xguC7Yr~{>@+Qo_8|--6QK%hMp>pIsPi~!MLrzqikK!- zLq_)>1zQBPlB6wX9T0f$2C)`LIusOyN<9Tg#4y;0V2GflDu)nUAPJw#S|rR)3Je%e zNfLnB@W;c?nS6x^SBPlV7xMuspD}5G(TyYQtQ94Do1QFVDZQC@58+mRng~T?I$-3c zq-skfowY}iK?9kLfOSWUMLh;s6lRJ}aG(+16&LHqzkF%~5!cFkLkLY|ndb#vrG}F; zmQoHW7{s8eEhAyY{Q8NGL#CxE;n&##kv-^XAd?2rk@|FV8JLyALPt3Pff-oZmtfNb z1hB2wJf24^f-qe~XM`gG<}gMfVG8o&9*(Au2<0^dg#(mk_|HHOdK$=}0R@c-ZhULO ztq1eJj&Z^w%tyE4w3OFCuoiK4Q=f#-`(~b>ObOyt=TC@d9h*?!iZGJD9foE zRZMv+5^2jvLe5e%lPn!rLyC@BCL$Gfh(EC~h!qG}4`%s3Z?F@l^uv;zvP)OWuKpvU zTvxO3R9+^r9!#dOA7duKx*Ew{J8!+>|CLjV{TTT^ulxo&Zs@0k4^G>Mu^;0kdv(;8 zUHH3)V^wAmt|aQLb3;@|bto}p0$83pn+Y*#U`WuGNE+8!c*E;9A#Bu2%!=YMA{8>q zTF-WytxKdP4(cX3bz*BE4~$@R`;wK>r^}wcj+=M=%UBPF{TRc8>dTAuP2xX*PwrH| ziO5tH3SNTj$L64ePlqy6F}D0Mywbj3g7ArH#XzGz3LOvJvd_rWaJcW_UtC!mMtxN^ zgItp649_bnw$)b{qLOP61eR2n*lwAH9<0*ZOg=Tz)N`Ko-=_h}aCkSq8yyh|2lim;GJM)jUrRsHhLU=f*P zFMDWdAUE!#3-{{x#)gzGvq#a>KvM(W0lZx+HC*zENeqrHv1PhdH9jK(kg$6q1f%h9 z`q_d7?l9%OPvjOHi#QaIfD~bIxDgcQgqyM%wISe5QD8ovpI3-IQ|CowAFS2JH(l-z zCUPZ?g@)*`-!pvos}Cfhv5dv8{so%OOkOesF8gI{OOpb{Jw zKW?!kf6oP~=fZpud0FlroP!1$14DlbGKx50x@L9`c4lDA*m(|7B&pzl?eSC+?#7e~ z*hJ|`a-h+M-{wR{6)bo(Gx+gf_~DGGejf(>;2vMo{r&ujP&1zUJ)DY{x5cSy#)F2zDaE|JdY!vw4ALAJQQn~ z5w={a)8Y^x2S-negQ`D6!iZGJD63I>N_i_1Y0F1K&QdeeQM$Wpvy=eCQ^zb5kp@BZ z<46|o+cLEIfr1=_|F-VIfBX1fmBcT9IXCF%tc2XMv0lF-FCdZX)a64Q5{MQnE;k2 zDzM#5h)DxOg0@7`xX!{GUbhKp&k#v6K}K1Z&~7cuLA3)6PaU&NL@IDU#^ayBsP?Nb zcv^b}^uGmRKZO6*-hGp0BK|(zHKF((x_@}Y%J?ILelb-l2zK|6hozs{Vrq~4qBmW> zSLMKdZ0EEv9jb4onES0rZr$h0hlV37-?*|?Vtv(cWCA7Co84|Rm9$6HO#=_&nd{j* z;G4S2Nd6VEx#L*$V)um;o9||80QgqS_N6=Q3zZLuHv@Ztm1h8q6T}Qfp?NBd}U5%kB3n9+3^ zraKG{1lSt_aF)#?EYI=+zv&P!zcDiJVHwPT42;ntVWL;UV$p#c?-y{1xWKguSoSjG z<;B{dx;C~R*9FqRg)@D8#1xBb!x!xDc+ci**My>~7xK!%>;}=ZCD!Z?5`q z@k(Jnn9owikhUq+O=Zy{j1%8O=YEX#)FChrlm|`8+ws>WST0)zz`FCsIr#$Z0C=xq zo3%Iuk-R;*4nzV33=T)a-$bB{jIu}yP@YyK(v}amn~)`4Th17n2nN{h(t#vF=PVPE z2nsCyx8J&Ni!a;mS2_6)=p}#e9l^(oKPk3+_ol&M^AVBn{a1;eeDniS!xCMo)~+-x zMKWLrup7@^{@-GW?e?X)I@jNR6#mRVe%HT3E6IX^g*KE# z9kpT%QOPw30!ykD$+n~slL!!QNYIu@BG*|+q-_}0CS;9v%jbiPva;K4_ZCIfB|{PD zmQLGp2BaZ>8-m48g&HV^e=O15b(jRRhG9Mh zcyEzmqev_r&>oajowZ_!>ZlGShD-p<6U)(VCd4EG%GO2aNnDp1E|Ym(*fKwe7Zdm7 zyhZzVIh?Nz&29;>_LddzA3SQx_?^@3aPfX^v+UwHVb%<}3Qx^ckQ-O*xUYeH75gnd zawk?Lz|&RUxv7kognhX-kiX`eWd)clp4m*QydJ?t*T6ck&crg~#RSY+sZ`PRnZ0-= zlA~$%D|QnO^u4}C1i|ps=(8B?4vo%Ct#~qc1hNciEu)7FZa`7rQ%nE{??!VKV$TDZ z^C075h{&YFRb-@b^IrwW1tv8YP`*NTh}kdfxZrEf7U5X1GoF-an#AG5ke(%pa)cfU zjSjY!!Ej-#pwtM~dItjV*NR+=10xP>pc@QP(z2?n;xaRU&txXP0EBF6J-E~wU_-U& zZ|8l<58=j8Q(8r!oa(};0F~sPDyP^hVoOj#1n%_XXwiY&7&C6CSnu&^gfLMfq zR`3iYbyC5iVRy=47L{X(Lx9z`c)JI44(eXzU%GOWr~FZ{GlkZbBqT z25eb|3Y*5BDLTG{lLgL$D`KiiPh z4a;_3z)%Vc!z#8ogo;21ai)7PxX9k5Gs-h`ZyCl$I&2dg1_=VXaV z1H9TGrw`;8;J=NEFZ_e2vw8H8pZPVY@{bBRe3vAsVE+VLKe5foS8H=p+sw4mVF>#t z7%XO#y(5)5ya^00_-}&+tiPQ{d2;WO!uCwrl*KI=9lij)xh+Af}twk|170#|9Yso@c0K?Pr;%hSz zB2t0tZ|B|@$ii3O9V+~{I^%^JhQA_Mf1ATl_U+hyS2v0N4Thtyjmmfx??+?;_;1U5 zzW#Q9=BIwy%B>$0um47PCZ3q~^4r7)UwFhnd;*4S`-7l>49{(YP|YN`NqDwa!~$at zPAk+QO?48+7O1ZS-_BJxz3%eESwjLhI=-zE4ZOkZZeuqC)VY0OT2gx$9u)T z-+s;;&)53L_6A=GE8cri#Rq3l9aq42TSpx&%}Q;_lS<*kPt?ek4mk{M>znXiqzOv$ z$QHcn{?Q4wJIOdRxb!bHtUq?MSj;AQ_Tc0xQ)#5cMD)jDz#ax%-Y%fKk8!FAlJu$h={m#=G`U_mg2*;H?Bc&(^-17m}-+G32 z&Dmb@hhbclna##x^Qst7N5Z*TMxaq(fsJb_hCQ$1a9|t1y`P>2OsWcIVhWh6TXi^j z6|PU~~p<6MP0V~GHw<>?&DJRv!JJ1Om1{9|rtW5*#8rBuW7PZe_KiEjH=e@(@v+&=R;#sppV*Gnz)u-n?ogyuB=Y+TC#NA{@ zVGYA946E4UaQ7wNhLji7wqYQ1c{9ptSd>!sibUG-k&rVor$Tq>U^Qg#m}Mf8;b^?^ z{qe^);hT_f*_tr}^Sbqy`dE4Q;#roU&RdyO8YaPt zESqM15RnK9?BYWr`rkIei;9cUH$2tr-sx}u?Yn$y5y43>?E4|6jtk3t9FZ+5MFbK7 zDjee+@$Pro;J#lCrF<_Q$>6{B7pHAd8IgB;c+29%em!*?1|Wrh{kGVEW)fvKk;sKI z+*vDzsN@<1fhAQ_Ps)pyG+rbEgc}khC(@mSyyqP-eY3tG)kNB|YujSFMbt3y$~gu9 zPd?~6p5fpPJTD!%%1+MgDJ!@PjX8je*Wx#}7V$pKJ}Mb3>NLphmn-W9#U>y5`{Ys2 z+*RAvchKAERWNfZ%MLy7=!`1dln{y8}}|p z*E{tzkfH&%F|!2`4j(_TNLBnE%VVb*{F*UZHWqo~99t_~0An-hJ)VYq;F4d!evH`u zCg8Sp#v;OE+_B&rIELN&GMo`Nid0+H?V@_8)oNhfHGH$$60Cw=``n~M#j(I{@1Xzo zSut_~F4dMCe5b+pTbDH7p;8OkC2$iL=|-*4ab%raFjYzpD8Cgq^iwNYqgsEhZ3H99_(Wm?W@38WJQY(w)Smj?8zbP)J`{>5NE) zRb&XVl=3?3kd1)t2RFuUssbV%x=RPIA%Dj#6OjyH!^fYhwbu*tL&5v7JnO@rAAD-0 zwD9^(lTuyE#gnq7FTvZ26^U^vUtwCQV8!I^lUMG(LXK}g6pc-NY$}Rw92k`EO!wa& zg!BGWl+%M)1C9GYeE&&QiW=5nE|6!(q=s>V=!bnNzIrVd$iB}DWXZF!df$o0 zSLe(bpzw;+)0IA`kc$d3n^3zaBnTeCZ*3RG%R4>w#q{mHUSw%tJnS!2tmqyX!970h zXhVS65T#s8A!!0r85m(+Fd3`|i|Ab)M?Ww|t|ATt-_;fr$0P%3a0iSV zdx#njBCs414aD7aV9Y93c7feB13Jj?51)cC&pp_X8lb(c8YW<2@LIudWw91POAv4~ z>?}0c|CV=gXHS;jZ319d#UPV~8M0xUFazn67AN+IKmprx=`BMe=?u@wU8l)*27uc)>UxSY|N3K+{eGI%Gj;tYQz4 zGA)wX*#YBS_`DNt3}2l<6{aBuh$@axfFlVRO^Va%^uM8 zi%JsowzRV}uppSg^7DAi0YjZ!n3n1&q6a4sxd%(gtteXy7Te&n=!gTZ2R#i)mdR85 z5xLV?D$D0{*-;(TpjgnN-4}nHA(VFoqSy@AfA73=wPFe4?o(pOkqiMgX^Om;3&!UR zTpsIhO$8=8dkD*TLVy3OXc0>#S)$M#dRr*AQm#^BmPV1B@|y)~m{E2NEV9LcI*3R8 z$_sWCh5?dff{d~n8dl0&kw{xU5^|O)L*1o=-B85YS@tvbwb0Xdq)#ECFZea?47O=f zp7z9ke?TU2>sF8Np`ZK^RxP|YkU``lI>`Y=7FCX-v)w=Xt^n&8r$Vm3-F#zC>R5kU z3CFSiwxDKytArDHCY1gW46GNC9KxAEN!3{^hN!dE;hq7N7%~AYPo2$#m^3gXNKT|X z33-`zcM2uNisCUM6;_cU$WqE%k;po*TUSw;Y?nlF5#YalH!h0!?q20|NnWgfALCxu z?a5NV>Y-pdF6A3u7EgusM*HQ~J-IzLC{7GUllS6PpBuku9_4Xc< zVCgaSFixm!l5dK&c8rGDgPsO-H7cNy8ys^q)p;D4$-1p!s<`TRaR>nFeB4R{8xuqW zMRb2-yr74epd&Ix4+h^uw@B9BDpi^+yuBL)>;@_4T8o)!pb!hU;#>M}1FqrHVHocm z5YEp^b5e+MtGHl&2xbw?PMnRwVz;KCx&HQUL_}T@{VWhngjAyl;|C9HJojMTXdrz- z;p($$R?pIjW2za6^@j1b97a^~o;q{Fx62*A92-_lTgYU#0(nF1Vy|WZle};Y!+e^X*oEJp{u|=IpN)gP`51!#*h*As#WaYEHMIf|T zp}>g)h40`D7z9K3t+EUgXto8+!j(!hOaNDQ2)29BlTVM2NHp5mnSVT#t7*$FHQUF=d>B&hJ;!g$_*L#$YU;qDW=W$7qx^jG+n{#&lAK_`hvH@t>kVjvkz zB((Wq%)WX1#qWdv)`S06^bq-M1pn;_{kH>X2mNyYIrp>4xmlN3!(6f7aHA<+pmnU^Qg#oMrN*0gN?L5DmxsCwyAQ;lHiH ze~WdDn=v^?|1IoR>sR=$l+VdS5@hIc55W&6VQ%lF6svgk0sh+%{@V|8|AfF(v%MgB z_-_O2{I}ciHahaaeDF6FloXw{VuR@pcr%fdD5Ba;akky?NE${lvxDsAt21x2mzFg+{|_U3Uu5#t9Zi&sV{&vhwOayh8RFSpR`rO1?~4 z!S~BVUcp*05_&as#Tj74%N>jQ$KN95nd@_5@JQdpRP816xa^!Fb7^nEUcK~K-;iLR zd`~wA#(pF+8N^;LBt5%bUXynDMdq-^l$JLw3^xIj2!;J<3a}~{;ZAG^2LGC2m=JSe z`j!pDv%KVZ_X!-f;a)k&$VMYzl;5jMYGgwK?ClKDWHLcasND3{a90l{*OGBwTjTmi znTQ`BMB&o1M5jSBCw2^Co`6Xz&Ay1F@M~$JO$u{6F0ggYU=_a`36zDUCJX~q2UTQo z2-MUX@jDVmCc<^VW|Uf>&tW( z+Q29u+{Yp5~6(d=opVmW4j zQy?Z`oioEV9OQX0`-xE24Lph4N8pje2*@WW;94!(?CIk30%3^YawnWyMWlK%`JQ48za0x*#VcKg?dZQbjiB+fkp)L#qYz=KAOeH3hx~dIAgWnWc zjs#R0#x{<$W6r>z3<|agBucVIDbGC3oP{_m%VbG}LWG-^vIqu=7(R4i`$Xu^@R{F} zAp~0_lg)gvASp0lD3&k(Dr5o36XL@10ubOZOc<+cme&{J(x3$9?mAbpH>5X{l{ncZ z6Di{SoP|(gQUN13B~fxB2_z=A8OrEEy9Shs%?j8)nd`O+0ho-dm|f6rp4CgJ;9%>i z@&PW(Jg*c$I2?cJd=OQPRspG4UuFf*;}AOqXP5r8H&-ux8r`jx~N$fBYv#8#K?y+|>xY{fbET?_7(Ed56&Ag6YKb z4oIj6Jq={lfGQ{hUu7b~dN70aU@CWRv4ZcM;skhKV=1mWN*9%K%Hi8Qi}V>ipYy{{ zfEfER%Be$q$HB@Xh6nYMyo_$y;&W-R+mEM+yX?@0CGv1|AJw)6Wi>nxN_p%h z3zjruj zl#<_!$^Ztg-(9;O4GRZ65$bQ@@n+Jk+gqrd{9UZsg`U@yeh|2iR>; z9Q}Q7I6M^X$M?|jR{Fr?{wJoz-+^%f7E4atx6hlfcvbio|Lu_;dDdD@ml{(z!j`42 zD7+!XikLR@1c4=08^SO)3m6h5C(@mSygf+JK%-$LPyj{k6BLKR6O+iRgECp$D#hT4 zr<^jQ+2Wh%ImItF7WMp0a;1=)ll-e!NxwM(zDNG2ig#j{;Ctx)Gf1phyngEH`apEj zFARiHc&#@o|ARlq1bVQ6G+;WGb-rWlib%WS%0m~n+$ckf*+c1LzXWLRB@%dsmuV1p zhZYS&1I4gIxP0dJxQ|;f2>Z<@!#9E~TMnn1d$4{qz*Tw|6xb!UL;UIH_V{HnrWGE* zGZ}mdv^H!s?apvp(TbH92Vu}JGr;~ggW%@MhKO$gE7{!1H6;vuDR;6F34|%Tu}IU9 zfmkb4*UES?`Rv6^?D9-YTgCG0q2V%a7>}FQSO5llhuTp~5_e(%Uog!A79(Tdhlk6O z8pDmaXG}Z;UCj@&aU_%i*IY)v>{BfxT+wo|& z$dt>mRl~|R4p5&xSgrxf3z|Tv8I9>OwZ^8dykO-S21t?#GRkUnXG)nX5^2jvLe4T}sJnEq8;aX2xE6Ul5E` z2kq1`&+>gRgHGoU>+fjVcpE(u_h#nhF_ZT^4q$Pdo(Y7FELU>D(ZnmC?5r ze8Ky?o<(E<@1c9q29o|o+tuQ&S6OI5?xAcm+EP)uO>R_p_F zb2B%B_R;G!s(mzAusfqD8WH$!^6;0!KJ4Ho{{_{j^D z0UyJfpa>`&0fA|BgmPsQmHC%l5{z@ENDf}yh6DCFNgKTrM-_)16)`1re}{3=gPsPm zbYPB#_ek-vS8XH(S{HWuY=9fd_T!Ff`OSmSQ%H{}v^GQ$VZxT7S7M#aU8$A-<8v zQvi2(s+P9bJRB9=0kpPst0i?6zK2=-nwxP_a>4VZkKmQYXPo(##w-w&<>XB^lE?Kq zLG_%td(3YZ4cHeqg%Uph)`E>9i~Sfw8QP0cF8sIR-IJXORqT9uOjNTF&4TjY45pNwCvcGIxV(ye6_wqp* z7KO!a-OqSC!d(gK0pwN-}WB_&o}3@o1Mlti7iVu=tDcL-yoEx|3v4Am#TU zK?7{34tzOc^WGb%%~z*ockMG#S?-)!;1a|5zT!VY3y{$gps)%e9qY|ZJY>&i@v z-;;r5F2vys@pHSBLK>-vm7Y7QF0wZq7jw7z>I)m62F)~6W=0m zKERw0A#Xw%+3MsX7VI1d`y#gb%E~<#LHKNUx2;6ZAt};TlHVBhs@A&{W zY{Grj(`HvnZtDl*l%zOJY~57@1V2Za1u~Ll5w#|oILm8d?J*^2V0HCM<8}s)o{-i< zuowu0p+N+^0n(4{8i71+aT2a4$OJZ!IVX2kRDIO7wJ=o$?-Cx(kkB}WD8nUOPmYS6 zg>2w^uvQH?Rj-x#LhzXjA+#Y=8@~;673ILSBqh&q$l&9f53P~xNYkufU_uX9GQdvR zE%A+WLIu;k18>1_0JeHFKI>-;BGCf8I)0tXL&yYG7Fb=o%p!4hG%VP;fjKw!PTZ`P zbp_|pkW!~R49)66nWEhW@;2Pi--s->u$Q^=J_-8o%sZPJ@xpna{h3%VS=QA+toxo$ zSl=lW$52GzIysf6JeAi6#7y7%XoXV*<3kHMytQyOH(^F{Z)}z=DN>0J4EpM^U02w< zt~;P|8~nEx`zLVyZIzpjVg2o6zqeJQ3VPjK0WGZb!&b{km#!`aoD2gi3f~^nW({Dm zIJ%e#F==2(up-&EM7ooZmtc6xD1@Y`kWp54yLGP@TBh4pywuE)U~P75GRbCNtE9xl z)#M*mc8BuT_e=Tv=nAV}8S~)Fa$SI3cm}Ou-_tYEz|;=W%1+O(?-;@~9Ykun*qEZmALORJ?yVszxduUCN!3;v zhOt?|kSIBk?j+RMe0&7%!phMDSJJs);{Xb+MS|)QO58x(CyXVv^KcflX2r)X9Z~zV|>=} zL^f%wrmE9k*B!78t}AHt>WO*M&e)KBX$HV2%HrMwePUq{J*|>)4zmR~mI0R%z`iD< zfn|~1f^IvpJa%qE_v*oTBfScwr>Wl{dXZdZQJIUo%_^_sPSAxCPnXzkY+~km$W>^- ztf1BAm0K3kyh!_{s|%0#>gZf!DdM8#Ij|x%T62KIH#nt%YYZSVXa)i1FJhnpbx}}>Oqr#R(0$*yp;tsU|>~;)hG=N{r z7b1@0Ny>&bm^SRz&tPDF=vJJ=X7ObyRj`Gew+N2IIw27+VAkY04^9Uxz~TJv{GNEY zDLvSb8t{cSCvuC(vFeUg6)1hN6NlKE84PDIc!0^mo*`<=XToS69?v~klLlCY>k6D1 zX3f#~z>mDye9^bB_;>nTzmf)_f77pm=7g{P_Ak|VCxYSt9+?E|Z>PNSmZP~^UheSk zJgU*_Ijog?n->Kq{Nv~#lc7ErT%}9Lo-~yq^KD!}f`(jw`|!^nmGQ5> zJF>N(9aRrod~*G*sr~@F%-jWE)xj@;F}wb1|jTY})a zPX(oK*+=IB_-~`iJyK;S{=dU({8JB#+WA=x;J+=Gp7m8xf0;TC5O&kKAu72BL10PM z*-VH@14Dx3M7ooZmtc6xD1@Ymz{<}k>*Cn0L58x}ZQN|Dr_$ub1RH`!U?(zj}+6kuQx({m;25?0phd{n21I_>y6> zsDa()j{d1XzUKkYtKWZ9^fUVh#9y3NgIR|BV9o|3ca~@CIxF(*zp@h51alr)0NQYb zowZ^pBDn@ZU`e$`yM=H=_T)smlaTkkL;BF|yeF9~u$YWK8~Y>gvE8+Ip<;OZPlFl= zbbF}&3E!{Vzw{RL`9LuR8wC29QSt7@WW*5+8p?MDmEqydQ$yHd;V>T9oMRzTw$0DJ z``A)&yjai6%;*g=E>FT#PV5>zC_8Db)?thxeS|l^)I{=w#>%DNj`RIT<($=JmXpS zTn73fc2sF_I4{ARfwcmn319YN>kw{K3OTZOtWo#uVS`a5WJ>YK4(J|iKn)lPC&k0N zF`8m_mMaj;cJaq(yH5Zll?ZY%2b z;YFY#nwaxCS6y`Pv=$Ad*2r3fo(qpz6|-kOv3xG`vOJfezZIQE0w;!Kpz=FXo&Dlg z*$e+|4gT9D`45|I0h6$I$eo*JydOkzt^6Apt<|ygJmuz(>rx?jw^Qd0{xy;hqieB$ zf~SWt9FbGuM{=^${8rw`fl(WUHXN|kGsBeRB3~~3t<$3GZBSmzGP^DUzsd_1(=b4i zR3K|cSq&3c%3P5M5tgyde6)sktr#UbQw301cj>?wifUxpR{tS47;U<9QvMKb*;FuC zr&ZZ0^4B-PO{soA%9aHmKSa2iMY-P1573`q)JYtJ4vI; zC}N{SqX|I`QM7t+yvcd-oSsGQ@@(C!$-a$w(vY2$`(g$QMZmq^7TP0 zb!=Q?@6<})@CWC%Rq;@U*QPLFgsyp{jcQ5g4##HywleaEK-;c z>SE-m%ISMlZV`jX88pvuK9|c6QZ}#W)Wu%4&>g}A%AtSYKGN`?@?c1 z4U`03A%VtgVJQ3&tOG~~U&iLFEXd<9dL0&DU~3j^p%0koyjMc(S?%+GVW0ao= zoLh)FCk!l?_B#b%uo=ojoSQl0R0jYp1%@qN1*2TbS4Q?=18KmS0Y;AfhRazoU{KgY z3Rv+umsNnJ;*S$sPr{O-5D)$G8ixw7B!1_#zYIgBS&2cn`wV-@Wbox{c`4kw2hxr* z8~DbwH-r|2wYIt8JYv!7B6lR zgx@LpZ^PF=DD^73XaD)JQv(0(Ub{~W*7AmYR`PxLf`cE3JhN2BRv@#(PbA1|qWrwx z8VvidU*mgNSF=C-?k#2%>u(3(zr}vLrU?ISgx7*(;7)wJTJhH8O^3be#PW;zKBm3;X z21$B{Ya{bN&S+n5OH?a9&?gi7@L@EpzctQ(JMQQ2&dG@Jt)H7N9MJv)OUBof z%(l=o40YCuA*!K{F4h17ODdGjl|*^blE#ZPFeFG$q&o?D35KVPLP(kl8D*^>yFF9< z>W?-_^&cZK3)?-+|EEJGx<|a@|LbR@c3^w>Oz90wD(ozH@_I@4l^=zGYkpnykGFfO zufTwZv5QUh$FRP>RKeCWSKtGuf7=h|!~@>6{o~Ejhwqn#i_`wgR%$Ys6K~`{1#;WN zc-lL*Ln|jW@McoQHVBlzElXQbUxug^F>U4v0!ykkgkfwJFeFM&q&o?Dd$3Xi1Lbm9 zsD0K%^+PKWU9alf`_(^*y}+s*6TBfNzv$V5eg+r!7R#P|*5}-8ZpUAUy}thMqe1UE zJ;AqfQ@{)zy#fous=Lime9dpcFF$T8wVe63?8NAKUi`-n!|wiNUmeb1?VF#X4PpYK z2OCran4T@M=%;a1U5Apa2*YQ413QcqgtQ*_yi`QM@Br51pn&5Ag2myFF_Z$fg8rEs zGDTlP7k&zRG|f$crG`UCfZ;EYcr292x^Ucq5z&JUrvW45&fo@VXPRDoYhXAQq!uTU zZ8GNXYcRSoY#>!z$M?$?hy^KOE>qXIi=-xI@+3fJ+$^=B zHb8(A%fb9;{F`ugvlGO_KZ`ecEi6}Y<(d*MT#5m%mvEHAIMadGcw#`@nxVR8&K~2X z(*P8IRN%jj zGlQQ*h_L?l*{j|%DlfpFP_01_zhCzK0a;qQU*R?3MEL^xg}L+Ga)7o3<;7G=}tmkg5fEn5R#@sMp^5~Zkxq7hp>NwT)#K6 zCplG{1>nDxdL8S&UKo*~*S>&np1-vqBd1ILl6}M*a(;x9+lMCfeYc7C+9*tWaZq=q z3$9mdFMCG3D`Y%;z#A?9$d`}Zh&R=~Gi@hEu&V6NLXCqE`=PHR!~PDe8?V_@nl3k{ zaD;DmyUkkI%a_hJix!4I%0Gthgn5x3!cy=I&|k*{gPgmf-jpX&5=P!AY~u(9YN?)?u?%{0csCMq~3`3XDhq zH9&d_%e)ybI-0(BA5N5q3yUAU8YecDWE|j@d@M^m3nuJ_yF8KDoQZJx;BOM>FtDu*lX96> zEYdq8eMK#tVIt46>N$e|Z#o#_xiGDQSI?9!i^(mkmWH-dQ&{0xrj;DRoySQlcnx`0#59?RNCX8NZo6kC+mOW{C3`DBcv%6( zkHp6D#3ew1grLWJY2Y#B;o_|jLBy|+4H#Ag zW^rh?PwHS@qUD0DG9JDBA?fFu8G5=5enURt5qxw6p-e#8ObLr*7?})nM9<@>z(%~y z65@qnS(x_)8%pqnkI@Rg1r6H*?8J)++u#vc z^6-(KA7dqMnpEOvmx9Tn-8RH|-XSSnB?0$itRHf`#V09w|1I;u&-RUqDTF2a3wTxC z;Wo<2u%ImR*`r!CWdIdq7|5)ZjIx*D%r!UiA7+su|=u z5=YosD~1FpL9)&*saQ5PLB(;V26>SNh6KrpbSEJ%!SIw(2uV{RqpWpiw{Gj>`Xk#_ z_U~0)*ltqG2?B%f=}2(O9u;r$?nqwy$e`x29&9(hrz3|xhdCJ3t$%X6=YMbOTVb=; z$ZYlCOs0-p%)uGW|HnQl7JtbzQ(q}~(f)xTdi*`yBwxLs#{0Za{c{wYdh!F@k8whW zmI_O=$Wf-gTv@g^yWO%3J#Z~oa`y&-oVY0rP95^touokp`!U{hT7Hl-14r=sx&Ot$ z78k!9&ChHdy3e~eUZWH0A*=Gb3Hi!zNq*d4W5Z5^;iI<(lcoBVW4_rhL&1}S<^v}_ zYOkxmXOJ7_?Y$uvO-eDR;paRfwJYSq*!m$&WDkGYYoNjs`dKU&bh=G$z=ofIfDd$t zU{{77H&otJFb6Ca9ihpI+A1P~41J=-PGIB3QLr8L)b#hufVmm0cR-fGk_Uq@Ah3Ks zLtK`Y;5d4xi>Lt%=q>@MW=+(Buts8-kFy|Vn6?#Sq%3ndB8wB(gTbO_>#*Q7&?-&7 z9~MTCctoZbUZ2Ev20kbkaFJy!ue{!5_&Oc{(@7#}SlL$ByM zQa3P`cc6cc_%a#HsWi)3hW$(ngu7L5n{ z%;itx1L#dd@+SjqB|>><48v-YWdiHVJ?NW*5*%`SNsPVhutLoSb1+cMaJWS7fXf1X za40u5#tnv)nOYkO-^5_ted|qJfb*Djb+Y_po~8fR!spt&LnkMq({RrIAq=#N_sjH) zVdu2+{@7TX#=dfJxv1~T-d`C9mg{V(pG@{q3s z^(k29fSdUZWWNbyurI0M7wnM@10=}= z8D%x@mP(l`5^2jvLe4T}sJnEq8;WRTxp?{kTr~W*j8BDuMSQ_je6Cb$~{E;`8^%`Oim6nU%xRW z_Mpy{J{QQ$$Qv_D^}hn*d;c|xN>4TFD^Y9%sr>D%6+={V4T8XuitVJ`Oo&MXLxSW) zx|5KXV0g+XgrupEQPw)NTd|K~mKWb0$Mf4ik zFtLBY?s?)p2KG{xpUQ>d@qe5&lh6464txiyyuT)&p6w#6Em|4#X1Ck6Qf=gjdky@z zyB4I5_t4p&q=9)6M(IDl2dnPCVMV?f)yH2QG*h+DL^gk~dj~>B^iXuG{2+|{$}9D# zAcd#$X;NiYj?XLwFXt;m6Tc^W>^ zccR~|u5Q(gTB2q&5+nYY+oKU~gzU5=a1_UD-)@b_Ac)f<5)lM%S{M{U@_ZBr+w3mb zcSeI4FtOV#yDR+ceGLY$B4eMiAI>^CK1m_u9GOS*6oP$7j^Ej_AI@RDdHWQ{B&^>i zdB5N7?vaM>t|}o332A;aRekH;?|%2+S6|)w?w{&?#)lyMVhNj+KOs{1A>Q$-+{uYD zYkbl8vHXYNTJ&$VtP@N(OIG8Ew}5lB1}Y~|E=^i%nj;M^-c-T;-~>l#+ZX)BMG^f$ zqx2jNy}QAEvlMI*#z|oicXlLUi@?zs9P(+)#rl~H%ozNm@ofR;R}HB7#r54a^w-_K`J;DVOy};u&K!b z-}67G-27Wnn14%nW|tiChA@FEtYVG((xEhlR{x3nwv0~s`ttl|3mbz$|4?ALPoz0G zF4Yja9P@8I^9LD|ErhmTZiUp|f_Y-+6*NoBD(3xaa0rz!m59Y5&=jKSXtn}fF(8kW zyjtqPlH0sQI`R>A_{>FOeBOw;6BP(1LAVQ5`DdtBzcFb_{mNbu&laHt9qJv*NY>52RgLk( z6~7<(`fP|7uxqRdum@Rf~&W%SyP+Yz{)8u{ z@G!>fF0x_iRrDJY8Iu5g3P;$zRy0ZCTMz_>R2>4X>6-)t=9)zDiS#C6+y%_5flz)u zP}uiS3;GEYtk^^xTxs=1#bubGxHngu__N8n9J#P`XJG^GwOyR~l9j62?oFu@Ka>~Z zwXHEV%HC)af+^T<<@Kl?9F+VqUvHV-g8r~6 zB(Yowf0Jt_^pTk*^~R! z4Pn}O9)ZL4s1t7&+l~T(ynwM31Zq!f?@#v}%qcDXi^byINu&Yc<|J|p@lJq}0ZM&{ znO=c!ZPdIC@LhF8hwtO#!&tfgd_ z;XnpVs32-~mcpD0 zr$la2rPP(kboD(^Pqdb192SPPX>bUIkDWVYXp31kSoEctb>!*<1RtiMN9F>)e$b4OIo=j)0V*KH+l#|=muyA|=mcdaxt5@&>CUB;P2M0q{yz!KdWQB!i0-!$$!J%+vrTVN>3kVvw8#uQ|)M0?MZ`SHNlL zs~C+cP^0rV38grQ&y$j)p@0oSzSSC%#A4EY=cK*~M2I;_IUOCqP_CPITI8M|#+nR9 zG2D$IW(wmD!B!@)fb+8k@c3{RZA}6d^if-v z@a?dLmAuJdMnMJVhj~{-lAjtVErKykt4IzjDMxpfb){Oi0ix{F4kdCmDY( zx~7YTVG|o1uEE$qg#nbdwv#&HnD4QoQ3aPi21^%Fqp838yS52APlb+uOT2 zvEIeKI>KQbbA<^_*c84ru#eFr?xzBfPF zpL?%_C5$^bUWYf~#q5@ht^P9hmf8AU7y=@gpSBg`t6vlho+U!b;Oe7F7gsOw>cy>n zgU@}=n|x*0d;N*^N2KgqQLC=AW5e5h3XtiWya+qn{b0nKOyo-fG=gpY&M&;7ujUD* zh}RW{RIH$R0dQwySu5&4gp4yH;LiZmXEZF*F!zx(Ubr+y9{ zf}xd?(Ob+$`BOpxy$}Il%47vb@kC8DPwLUB%-vY;e99S`_-O>x_CohF2hZaRFqoL3ykt1JZ z3Vm)(?S}0aj8}kz2~FXk&VwkU|GD%BnYzj zBM>}T143L3Mut8lgF#C(I3AS{G74*g)WnBfg3&Cxw%#8?xsL^T7~E!pFDjd@kPW_r zqVbbqHWu*4YT&G^JKe1ul%O8KfCFr!RVQIRNann4K_(zk)VGwZil!2rlo@JP&*0U{ zLfkk9Jy*M-DYkWt9vG)75hVu8!XfI`5k!9k{P*`uLkjSi#!d;*HNj)EQg_qUej9#u zC}e76FiwS-!l#OVvP8*u?a8KaKF0U^Yj_@`zksRV$>rx32l_CMu?WN#J%k2+!@bIe zSmtA7wbZ<8;WGg`TY&>?{U;Lpx1i#Uz?DK6S+F5vYW6wG9%K~1OGI0PNxl{fcyQ?^ zv#G_5vVb>K1Fja|P|VX5NuLN`Uoihx_G3bq-H;-l#S2{J7VnW2&x?GfdYL?&{V4?V z2rLJfnj`8bS?Md~#rL*j>$@8V>Qc)=4iDr~+z`BFj$*TBlQq_kV0Oaup)|K4xpyKA z@!g1{i=L6%`zA1dadX&zbQFe#kLht{Ia!+~Q;^T;1IuHD02pfyVd!avb-jCgiL427$d}ofHo~HfU;J#9-`SzED3LZNrp>pX6n5_mh1-^AihWBGE@P z4ZY`I%N5`FH|lQ>z2uF%*SU3%8xxEb_4nT=_S%mH=9&MB8vk)Md}wfg#RBY=`F=0p?3<5O?;uGmj!nlOyDJ2tUUcIU+F*79S z-a@Q)K=ahja`XtSL50mC$VY_N3Hyy)D~c`a7uv zc>mjUiF|&?ZGGzb!>hz#{%u%&0gEVm<@5Fall16XD>coac6AtDbciSXx(8^4q=F_@ zd?LL`T1`e43uxECuJLMrDWg1WJnuf#+xGAJYc*Q%7BpghljLi;a7dn$pj6x&3`BT0 zQ#-{fAtW&`da~HZ8eJ^nb;xNx zIjN#BuV$RK38~@&3nYU&3ARC7_zaH62;zw}Fp9&e5{jw`+(ctOn8G*LO#lO#hTpAu zxt?LzmI3x-x)yM5*MR9-JP3;2*)^oAr;&%@Zw*9js!0$`J_&OKAHfC!%x!EfcC88h zD#Xl*D`wFe)ufF*W1YsBDo8jrgeUr_NO27PXMRb25GjE{*g(SGGK8(38JobcXJ`+%tyK~aVO+xw7 zrH<|uc~OO*qWw0Qg~*kz4;yAXR)R$t&x8H;iAiOW?O;fBk0?DXW4>?fe(?II2kLTk z5zH3%cxu?1zTFq9qRe=gtKHeqGoz;DRjp3Q>p2$eii^9OPoJi$L384%#D^3B1<`C= zlB7aPUQ7rHn-_#V$d-XOPWpoU*l6Hzf!51-1( z5auxk`&Z^9ylI{ImD!A0{Hxf8G5j(f@zDkLdDw5mlB8NsYf3Y+$odm&j4B#W9r|fT zcK-baUzMI3zz$3P$euM}rMO#3^opm7zYOKP?$96=IkkH-EJ?c8ie^xJ3xdFqs=Jsl zBng@X@rm>%VO&DAtKDszLfx8xn|d7iQAx}b z!&5T*a-TFF-6?YIlFMCNL(9#>!J*Tcgm zTO0eoMk<`|b#VR5qv4LgUh(WDO7{JKVd2`x`X&6@&uf|a%Za86NaPFxOQN^B+_DVk zIoN~_!7hBIX5${wP`OUaxBPqkXeHZowIIK^{3-08@O17ayg;qZDKk5hHL^{4!zJuf zo4FTiA6kQk3D!rYsehcDn+fw_u4PMxh0BL!SQ)}V9Y zKqvU}MpnU<07DL|5N7~ixW+68ye=A^GkzxVocnx$_ zPxNH>fbZ(CXYm}11~v&T`v$aApkvID8C>93w5G;}Ot}jKPv^=}_naCL(|_!h&iF?~GpEmmyAS zWVV7@Rq8a3A*1e2!H=8qDD2zdrZ_3oPAc|7KXL4iTs zVMuw@78zs5&=Dv=!~$$#uXZ#=tZ7yo^dP=zp)q{y_ER$8Rk#7&fkPP3AOnpFl$h73 zDXRvF;lC-i&Xtz`0^K=N1DJoCLvPZkoJ>rmDOKfm?*@4uqpUToQ}mAda`lmd49&tE z)qm5qBNu|#MvOkZ0Q;>f*C25@E7BUDh-Ht&F$Ra1FLXWpoRrI^HoJ6E{hgeW7n1`lPxBJ# z$VW`h7&#HWxg)A(^mdkO9|`>M0F>C^-c{^8CgPi=AC@Iru}rUr)k{i8S1EgG&h$;= z#mRgFwtz2XjQYl{c-%)9$RO;uLk+nA+bSgTl~M_{@|$13xX)gJH9nhPUK&d7YB8m6 zs##2;xH5B#F~4_rJ*t4yGe7-+?k`0$HHnK<_FEG6sB_Jrc6AtDcsS-s1Fj8@&Hzo{ zG|(i9Poy^q;}V*uluSsPh?Km}0=Y#_hc(NC=`YQjaIh-jrm<2E*{ym;1Eqh{kia@>S`x zl6^2JPye<|95kNX@F)M#AAkT^cK0(&!ou)J%b~ex5vD9Glm61<_RvH;&tsvM&hB@! zW>9Y7#%5 zh2)Ql=9`n;(J$lfU8xGqv=e;@_pn7kXw%peNQlGYPo`%*yyKO@7=lXk9R3An3)`p( zUe<1vhVD}`ISbG80{Xlt<%tv$T}KLv>m^c=r9-(*hCV2#hg0Ajn~~d;F|FQtpy>&3o5=gzAh0Y3szx*&EIgl( z28ZyzZr=8AkR%aTfFdO?-D1{CL|I;Ui%TmL&^2cah{Y2KomT`+@-{CxEw5Y2dI;c# z8?E9qBo4In8)kp5o_wrKpW~H9zQIcw^1#%?c0Qb3)2}BqHfy%bcZ(M@tOdN?*@yD> zk?)cQ17?`&-mnnNM-uE1DCROu>f;hIU_0NZi!_iz;h3wZdE6Kp2b3*MB9=Uk%h_?s zHMwj4^v=e-sLdELXZw!SyjW_$@-#1zj_T-9L5!4)-;d*t=$b6%icbeyfg5xrW89NE zh6OBR+=i04H!d0r4kODZXJ8D&MHPo5VTKzxl7WGS2C3%q#S3;|o3qIofLp?f82Gzx z$=t0;k61)lvql2uM$>V8BD%xJRmU86Mgj~^EcLtqP2WV!@OB1{PqqiIt|aXQB8Flw zciD}@W^lsX5}C!}rrd4B?;Hs|943M|gi6k*J|oHDrP!g*}x44(y@!!}rcWbptbq#Sgnz_l5S4)Ml9}SUI`|nJu2k!!t4Y zw*Y}=9;pG?ng)mPzU|)mVQ3;!@@ff>B|i!YD!xZPVsgefi6D1Ps&>vQykIE-%~LzT z?1Osae6Z4g-$Vao?Ec{X6z4UqhGKV z^TBHGsuq%&lA?x8`5*k5@Q&fC)XeO~UgetaNNL#-rN_mtd#2yo;ajoB{i};S_2XaB z?*j#@GF)jZ8r2QNCL0e+@yfTnL6XcEOI(wl^F3C&YVCL~QnN?xy* zTTRAYH`%kSw-JvtzIdZ`t2 z8Tz^J!VaUKy-4}bpsmeS*PF2R(>`_>l2HOl>6xXH9se*4p5M%gx#nh5Egj+8S|pp6 zc>n&QAIO8zw^y0+4a>d!x@a6rDVzExkvR$9@^YJ4%JYMOVq8?%zEhPxC|BYBv8l>k z*?xspOEZN}*Y@@edzcTV)_&1jIy;jQ^)`%TVLfl~%uYS+c-8jd%e@VL_#qjVB$?6s zF~asWtE5^OE!dy&`!XMsJ-FdZdN*Fm!U8tx#eR$pV@nvXTfli-19l3+kRFisNpz{g zF<2m|!F+UHwRZ8bBvM2Cso1%fZrE_{oKzy8_ect0Do*Gb%m*{Dr>%z8#oh}pn!&nA z?PEQ96_=1|jXxE#AQ{V9ceqv~OcKU1cZoT;=M8Y!Wu6lwgIP#?2|kZQ%Eri*lgfs<=SP#5Ef0ZYx_z6FA{OLV zYfdT)y)2mip2#LU98}Qps8^wC#}R#+EFjo9L&y05-F&>A4@K=LqdCq;(`|4R<<-7` z>v{X+ZciSe=1l+yAx_wjQDDDq*yp^dffrR{>KSO<0QOtIlrhs-&kH@gSSq!g)UC?y z=LFaUSPKG-9%sk0jWxdR57C*m*A0!!>cJs=L&6WUzAx*?s!e8(Q+-FagsTz4tI zB6*1nU6uFu&B#OwHI8of=uu_Wstd#)-kJ#y&SZ@2U2d))*iZYxl>FPvWcctWq-YLj zWYLe`r%TnkH(?WUI~VK--|BKZSDFRKsJyydc5PgRx2NKqJs_c4e%qH7OE31OYuAJ_ z)ySEFwJV^AAh-QDVZaMtDAkiYD^+~Icb~w1tFvk;zV?`msyZrqeY969Qr9rkmSv~C zz{94udOQfshWetgY~MFfQQt0WnYlpuvYk`I7I0qFK&zqW6krkE(n*$lJ$p^92SRL3 zpf{0m=2#L>m}R-%FcpHsZ8A;AG`Ntj z!C|qdm$TO5Vx#L1+CeM}gYYF{Y&kMh1epfQQHUq)Y8<=hi<;33xBHf6+rYD;Ds|M8nBN>KHHs<@o~dtx(WYJzf@9W?ynr^Ho|CtA!vz zTwcO&GzB5n;NAK{2!;oE>8*#c)nIE7JjSEG2Ku}pOARe|z)VZETK*NNRfuO0tOx`a z54=E%*PuKjRH6UTKb@Lu?+nyZ^H?A}vo$b@ubt?6^aX$_aazQY z&?6S)k&+il0n5|8L^|@p*P9+WW8_$9g!bl+z|jjhe*g|9a%%&|*PEeiAHLtP2I65w ztKHwzN9+(j-taVH>hCR+#>$+L{5{Ca2DPih@B%lS>*`xxFcM&R>Il&EO$3;062&Ldn}l%*%~MJyB#i~e z8`JViFSjvwRBUD#Sj5q_g9v_^s6^Fyl@w~s?j0|ugZ(9J;|}(1Q>`cIeZUY;oE#Ku0Im=O(d{w2E*v#2)oycCQ-aJ zfWVOIjma&_CYsUX6X{LDxC>wnn07S;@+DuZ(kA0W-pAX%alf9q5k1zWnK0bFS9~n} zs+Wo@n%0{;duGcdlUS|H1A z>lP{=gX0lMnsBPtL)0a(U0JZ1G;jmP@C;Hfq9YMLc#&VAELS}Gg>A?jye4a*e^4VJ zhhQA};2K;!!aSS;=u^Pst;nMF@IQO9enJhQOUSs-%=bg=Lg(UD4_M4JtM#Njj)mb5!;Nn?i4Q^6PNR$~ zj5`?k0$Abe_(cT>muWb^*pnM=;5R0B3z)%V0O_oVc5!fF;pr_E7{)xAGS0VsN^XGm zJ=Ko!X8*d{IoU){bs^9`XBU#&v6Wv|r!POb!WQ^FblL8~l%D|2@a-~1`>m<3#QfXF z;A5jllpTd>)$}bFb>}xO@VA-UaS!0VjP_fsa?eqF#>238oHb8qbM>_OJ_ag+rzdnM zV})r`Rft^>bDu0#Yaqfi6MB_ow3e*}8_%>IdP?M`&FsW~&51{OeGKh7b2zh_@chDI zaNs7!BMFDafwmOUbfhkCN?t9AvgAE4k&b-CYDRBmS=S!RdFF
    GOh zSrrV7#f~qRh4$Ob6lRB)eyXH?X%0I--{Z@neyl_P=qI!s`9U~15q(-X|5iS7bDt{4 za%=_;&14rz@U8cY|I+mX(V>}Kn9E%yTh|}*ccNoB76_s!hWk|_mdN@!IKy_zAmfv)qlFAvh<2Ow3NS}ku0jC zvHmH%)&-KkGS41~n9BDSjTW{%B7W%~^z;OnvaE@)r07~JMl+~g9flX}R-DOA(vTcU@&*wJNk~1 z8ltR}|3x3hv#?P8h32Z@zB2j@f)0Z!sxk89b21)SmvJT$r7QiLoJHP)XBDWbyP`++ z`L-2cXM09H#?Lq>3mxIm&__W@&=YN=0EcNFn!yw{ZxX+W03mat(T%l%fj)N<2@7$B zi!Gt{R1JRP8Oaa8PQitopiTuY(>#MPXE5z^AnA_kqwvA5-x4}DZHfU|Rz%p}AV~rUa}AijXy0I$Wq72FUqb_!KMLEe zHWXCd5B!2Y4VQQ_s1-R&SJ2@@$@z6V=?Iua?fT=vkeS#H9&pKOd{i$XsNK?81l>SM*y12 z_a-=;gwrPpCW&An{Oqg&%Gi#%tmPpKSW-i|An@4rq1VJDPy01)+K!Xb0%DS_lcg$o z!MoT}*)D*=9^L??97+haT?QmXF>UY zu>Y<1wd&>q{NfRfVnE@*Dz7l{DOo!l4fJn*a;Nf?*VJf&np(pa#; zQu0bKw=s8AY-Sj!adfm$&0qweDYwG;*)#WT5g#^JU7O8FAMCdc4wkhD;OYSje>9w# z#IMOAf`+5<=sKfNwvxexc$bNtxnJancfF{q@-XpM`>bY2EV5E<%&da!V=xze*=Wpq zqOS?F8%sxgs{(uVvy1)W@HPql^q;-@wHN)J_;Ugj%a?(u4cq#4wKKoHG=t(>5Cn!) zte?4L=jxatu>f;Tg7`#wlQ8Zn2lUq2g<{w2yjniyeH8EiM;6uZz}Rdkvr0?pgO!UA zY;nY+(G1r7VJi?iT$}SPT}@mdecrtzQ&~R@4%UYCHrwz++8<(JRt4UDGZGa?-%izw z`*!mO?4nsC{-(PJun4^<(PnrTvo-mrKBb#CjJvzxn}lo zFj_o-$ceF8X9I&}6rL%e6h&v;QNyxYq$-<&l+t524yzz^6seZT(bc?muHGjzBA8Um zaLqg-i$Pe!=rg%6S*-oUhhzvr0%x*Ko#(5V#FK;r~cE5Fr*4~yUez>;*y4QS_% zJCzwYf?UErY+i*Cb-hD$C5==mff+cV`x!~j+o*e&kH#QnM zuUUPD>I(e?Jh(@8Vt#fF;yTIz%frJd9vLSC21J&GjG!U;Q}A|TYsm|T+uITRjOKkk z?KChPy@7@6(A^OUH4e<>^}R79G6DPT;i2F&MR+3T%;VIw!q5Yfu8_CO1AiBALN(y( z?u25TW@6oyKencw!%xM#vYHKxc1@q@dsXR0*gwI_?G?&gJSb>axBQKgM00|Wf+KR#`{{MAo8bqF`vIt)NSVeK)wj|`@#=m zxi$l})a>AEfr%ik`YR0?)9}asw|L?IkZ-rl?!g9mzpTqo-zuSvE|7;f|8_<{aWDwfB#2L>HwojiNqbY+7R50VdL-fmG6Y_h{JPg+ zyJAlH{M*{s!J6EGqfchX*Ij+F$meeCpEd)TP(8j@myZ5GJhn+Za8qC~*kDk>81!vr zH4f~bApMw%U=6F5iOiJ5K8A4zL;Gz(e&Nt4JmWFqY1(hgh3QZo{=}p)6B)bHyGRW# zi`2Eu7wXs>{%z5b;QjK24}_P@2~a%aW~k*)*E+9h2F14^2n?xMwz*{IxG^LNngsEQ z^d@0kmwD$nuTJ@GUp6c-YaVlEC;aM@Dr?uMn)kiUCft}&4|=!H&9x#;ci5&k_WjBT zZL;oqNpY`#8{357Z^@P>&{xgKL$zTeQ}8;jlj5j4P8REM?wgTt%~)1O8-ENw7SV!5 z*h{o1K033Ml41J?{n$`pv-N`mqT!KzpLHa(;Bne(01bDl0CT8J-qz&Sz`bj(WTRtV z>Nq-z9%TYB?wsa?$*+OoExYnEYzCpnU(Iw%?`Ko?c9cMMz{HF+(e7Ko-TXwLa0fkBo3`_-xg4xNd zj9C68!eW3>S1D1RwNBwRa1Z#DeQH(yR&jtNQ2XJ41=ddL)4_c z`!OOlpLc`?s|jVxnxz;MeAo=Xt{C_|8R(OVyb$*^*MNo)e2`5JV24k1I(3m|R)~sl zMy)b^5RMcupz)mH)Pmkke6*1Gxwz!%U~rxkh~aX{9nf>(&A={a-U1^Aw}96kIkz8# z_*?h{S-dwwb8AQ{`1=LQYhu@fQQ9~a0^a7e@cSm#KwiddyYUp{DNki4SUTR!L(Pes z&q)eNpq_K`YK~EsytT(Jj=8K6>$<@*)VgJkg}vTY!G@#oTZ7{^WfxCVcmtWmTnF){ zT0?rgzbfDqD%fwyK=ZVKbF&86!o~cnS*zriEZhx$f8b|fzugb}?SOnw1-D`Tt@XCc z&Quj(j8_98*uD*RT=0_@m9s6(Dcu3sZ!JRP;aU!k1NbOevUb!Twy@up4y`t;^?Ur? zh^>d0&spo?vdSV;0~s8y#`&PK zykL!JI#Sn4N?t96XUThBA|3hYp0m7bE5=U3@!S=;*UTpD+5J96HCFgY#*|>cm0Ny8 z-+?5i&F~w-MxP%+U0;a#w^qZ`;`?P9i5xMkK!~!QStPT96yJg%Fr-4+TymBdbKH251WkhYM0%4juB%u6res3WM5N?J0Rk*f zbEWPY_gJlVR23s9qLce&c;1p1aP&!R4YO{ECzou)L;2N3)xzWX%JdCi!R*E+LF_pQ zzbn?+Z++c-U6Mx!n(zD3&5H$ou;2c_co~EJ_K~ZvuMC%NR!S%9TN$3ot`d26sf0zN z^w_sEp~fE2Qa$3^f$6ZcYKh$T=!b%l>tD?b%6EsXl#YmRB_$kTXRR={=BaBdScWhX zV0h|i3{BrO&?Jgaq&ErUp0D`HfNHe>?6>GeRzD&|``&)+GF!%%Z!)OU8-1Hbb@|x; z_F6B3`5~;D52HFmS$j>ZR;$aKX+$6MurMKGvBL~*(*yoc3dUOQJK*mx>i+~@8rv{d z)l}9V@cJ?T*4@R?+eiB3QFTbdCFneiBB75}&ez5~Kg!*@%`HodenJCUBfJt@e?q3h zHG!-ZNG^RVHBzKN0L8;+hp8JsPP?J%n&*Ovty6$u`pn8yS$A^Ds#~7sB7VHQ*YT&E5v)-%eOuV9x^;jpC(E z;{qCye(9hL9(qHFph@3WroJx*Z+GzU@eKm+D%(l2v zGB7?wwp!5JP~S(=6IB>?kyrR6a$O*JOV@z+>u6?s9rd`*{S@aTiy#zh`n>$Ck{tI> zknNl1UY_HMYUFOL0)w`L{Z=@;(87KTuJ0@;xjU~QZ@|5B*o$Cb+l~DbyrWvDk*{s{ z&B(q!^R!tr@fm2|tt#*=K2c@vR(gft6>kyNm#qiyf9|WO#?QcEGDtTa(%g{gIGsr< z&BR$|7RTTa);8{Lv;n|2(R8G)mXy3&wP(qDULqa&h{+ivC!&-4gUI8jE@o*>?E)p? zy-4$OH$unGe$p50e=CE3A-^HTw!GW(`5c!c_oFJK zUl8?jUWW8haBmeoj(wpqbD@l`&SO2pwLv&`c#j0R>Xht0q9bH_@Y%Im@A!LPMSrwN z1=nnw&@=y}>l0uILv%7MNjhtVzM7}_76gGIRd+FAND?#&;uGmj!nlOyDJ2t1V&9J=-siA?LT$>| zAh(|%&{HUzZ)Pe&g*)}NTP1iAZEZ&Lm6_2E%Ir+!iUw&M&RT!qvPrwrNO?1&7oYn` zARj*Bn;c&FP{%9xSHkSrft;uV|H6aP7i+=Sq~I+id~3@sZ@TjkdzCVBfonS1;K|~B zDlqoFkcXe#E@tBwf>F7V-PSa?8`Bzmzb>VQqizJn%ee~}@V9E(iN0NVt)Xs`-NRTl zzCr9DFXCZ__8!7e*%10K#@gl`6n#p(^4$ZtpU@fSje)(EWO?5e)&1|ct{q(>@qEvf z(DPJoonET35gVuh%~y47bI*77xyN6Hp=m(9Ou@3YMso0KN)a#Gun?*CZQ!SQe=>%h zV0=D$OygJMJ}@;TQN_5lL5?Y**gt^|CT)a*eB#h29%UiMnW+IwRYnQ|85DCjcScAjqO#H@!(rD246wgqC5Fgik;e#Yy@53k{B^)3Lv9t^wXb`1gY_AGr zq)ph@=Q50#$gG4`qE<*asw6*#i!uXT(eRrdHa+QCNa=Eq78A|Pu}Yea0f(z6{8}7B zl0;kqij=%`i&;k^F5tL)49DcG#iRGn69}S2S&}ek4Qp6R4sy|-ujv?hqMnrF0!$hH zNvLB0*N`*Ks<8f&S99N5@N$!1Se59K;Ku_c((8+w*^yXi*tjC>*#x$R7PUEE%pyDq z>$xAiRWcC<_@GOM<@f{%=hcd4L?yLj_0;m|A`MN_E&-MyNzizbSQ4=qnvUa|x_8cw zOOA0)ENU}G%-Lcu?GwlbI9YOwFG9Orx)h3$U-DT7#wm|u1$`QG zV^14z>XOri6gTAQO4{)~onfqiC=$>qEo^v6v z7Z~zAt_Yop@V#taRi=0*VP|s7Sgj0Wt{Uoq@tiLMLW504;W(~Vn)!fVJkYy2KErc~ zG`mkY6o0_(l!*H*d9|E`lP}ZKn*x*1OQpDbkxc4uVvqgrs9-c$Jm6cI za&b$GOlaQ)Rs2U7Kd~H^5F~wGL9?`|0p8xtvZE#1UBcJ(LJ*LQl)RW6V0og9Xga#a zjma6~B%+i1BS?p(1oXS5UjK5znBQBE^}GlOI3KL^m1bU=G%;tc=e7GG_Wpa(1wFdV zeNTrO4$Sy>i^jk+?DyY>l{8~ZgfhVSw&1}kt@^g2H-fTBXrT=0n zZm=1s_((Q=9ERPWRPMO$S1uS+f4zKy?WJup-zJ44?5q_AYM#2bf@KIJ0fwjUV#1Il zXcELH(wl^F3C&YVCL~QnN?vDDZtofwAM?Qo{T%wb+gF6xkyHB3U0TTv*Vp}(uel`( ziDkv8>n68YciGUa_!=T*@jY}OWt*-vKB(DI$k%V(EYE;bG&VR8KHX5QwvXpM;l8J{ z`6(G6Hesz&U**XkU4&OL>sgE<4}9sDe69+{_fyf!x$(lOQR;AugO#5MOA2N~(=o5T zI(<6C6HyF~GcC8w!uf@w++WZc%m)J+lN$zAun&*)@0YBW`?E%ETm}ET(^ZLz*na2) zKxPMOF3#FqaRiQ}9! zqX{Rm)Nb^XvG<2D(DtMI0K( z5hf0gF+l)57H}5T03M8|0ZN-TSIXL4BG=%e6bPqHk0^2R05i@7v&arI3F{oljp%Xr;}^kq#xdB;QecYvR0$64ycSO9ZVmKH zzQoc&92%aC6<3R)xQ;-kLl4j82EzIcPDwD3D(dGZG=IQ&qIoGk=ZH1$4hr6sSPL_3 zPF6ebxRZ7Jk?beQ7$%;$fic~R@FFr;X!bz{Gz5GbC6*lsLjopru0x;e1?*bBZ(^O- zuXCn%vyo}PT{4{0`<}^Tej^OK9=@k@)28j_SkIv=o0g|Ba72qIMgFA^u@~;gXz7qV zKO91MyKus*TU3Mn)~ai~Oo~3pUD+e59@H*3exrY?NH$?$hLp$g5Xhkpj{c=S;5I$)!-18pA}(o;AzEr0!WeyDS5RtgC);-iFD*6CTFQK zG>?1!9$#u)&x=yxKhRf0*uISG{jlE}+HVhJFi!PCD$Y_0tv@vpVJ4sd-sZ?G_G4^L zaFHXo` zTx#s29~E8Rmzj_oe^zOsshHeWh9LK;t>_?DiYQ?pU%+#_yaC_2UoW8|E))7n*dc*I)3Q z{np7X<1{{BP<*Mg(bISbLn6BV6+;p$V}qgP=hsc5zV$3S8zJ zoNs`;ib08H&yXR#!MDOmb`x-e+2*$`IbjXgUy$X?)e;Fuhm>_@Ta038J{*)Ajp)sC zA>^%E1E!sEO<{5}C2(@FYy)Cuvy?*P{OM>~vD$IE{8~sS2t6Z!C*l)gW7o-iyW@GUMTL8XgF=SbS`tx$PM5J`7~2GJajo z-R**l1)TXBm>bGEby>OIDlo$n)+&HN-N50h-;v3!uAeO*#*CEILx@+L#-4rVOj4q&uTz_Kc?frY8P6(T7EKhj14|2=23J_Di6=B4|n4Z#n-ql)L+*B?=n-}+j4CAnf(em@}r4TSHo3UZ5D#JGd6dA~oZ-27WV zdOBwzT@nl*$$@0btRKyLBL$OU{;fej;PHo6N$Jr(2{(RF%x2@|GdC>99wL_A*oN%s z7yIbH@x}aye(B%)0qawTr;}UU4i>~`N^X&T(M z_N{}~oWbS&E6cL+gIX*`z|x>{(z9q*8k(48SfbfFAPZV0`}I)0CPfUJLgS zdNxH3M?4lY*!L{XJb=(&h3Sg0prLON>|-^D&8;Jug!WRr>X8fK^3-&mkuxf30dK4Z zG@>bPWC)-cJxGVeF;>I%;7*)2roR80gxKyIOm-lqdkM3ZC3`mMFT22ug)kHLhC_SciRDB-XMC({gsD=kb~!gHQ3b$h>AHKDsF zG+v~JMbkHwtRRWop8yZ`yyewYDiLs`pdN-iHt_3!`@jLiSgk1zNQJ|}mbVF{aL`Nc z-!3vWNV$uTSTJ@;uy!Y+<6^)r4}yNUn9wMuOCqb<&GaSz6liA*l&&O!s|L5Wv+{Soz1s1*P32;E9`Z{5eDld z$%wsB8P_&X`-Ns3RZ%OL9b@r5oiKMG;1q^<7<|yg9`$T7+9g>mxGeU6CmX27F9kvQ z8n2pzLH9_mBK8kt$`8w)CriEKgfX5qd)Q|b=Hye?j)gn3Fl=IjLnwT#TZ_XrhNdHR zc~kOgNt7jTR=cL7YuuQeF-{^nxX(U_j^YcaHu3j71 zn#h*~;cLE~_O?j_Z$~Tw7TjJS_+F|UHP>Mf7FF55;~)Ec8{IDjd`~BsxmkH2OM)5r z{YH6AzO^)z;vtzdHZ!63zE68M{K=FJmmrb1NpASV85R8~W2aaAnl8?@R}yE2Tb?>< z#n4yt)U_2XLl_A#JfUn|#DpP9&?JaYq&G<`k7;r`$Asx6;si1TUY7j2*I~P2hI`*p zjGTxL?y%otg33i2F&mBNU|72Ha>(tHiX6I2`*&hv1v~s&BG)FtO-ClNVr-ENEv;d{ z{r{rW2;_ET|4q=an1AcqwtAm26CT!_J+cg&<$Fpev(8DO0sF1|*H4Qo-tEhHd6_Jp zT)UAh4!!N)Ra!7*e&H$MRy1 z8!wWeNpJ#UVo2Xkj_y+q?zDSWVPluv7_}EuUm9zgK^v|Sy-!t4G=uBC?1^$?g}XU* zD;ZVq-mJ}{6CegpZ~I>$R51Pe_Q0M9^KZ*+&5B_4E!uVD|Fp{_K;Jf(*uRbX#%|aP z`>pt+u&rIvSMRb6yFj34~9yTEZVf=?`(PBHr{A zMlvAGIJjAu3Gwc95SNgz70+y&D2Rp)px%#VjBtA)?+ExLfr?rtaP&hY0}Vkf=Wr+Ckq`tP*0dpH2Xwpk zCGU@kA>|1PucKc$y@hH3O>VS|DrDJem+w#>z&u(DA5NSdgb?>pAv)o31U*lIr!bGV zE%nV#9;WGthSM+>jjV!B1cZ;X5+fg}`-hU$Eh7p=(-TV#&Cv}}268$KA+|RK7T1>l zt6>KVvZ|)`gL=y_PHCXi5G~N0eKo-0fNeOM0yGL4(T&mOrSAl0gtA7NOMwv(29RH% zCBY%KQpD7OV<=Z!ZnE^eV}gE+WWEa@@`cPELYC?^hTt<*_=e>yH*hNBa!g~6Fb>XZ zlo6D|!`+t56)_!5>v!R2t_IRq-dvQ^>u~ZkFNtp|>4%xtoBlU_^6+B<0ur zdHLyffg5SB8kM1F(NI=?E^9nr3Kg?v;1A7*GDkwND*XyhKR-Pt8IIJI(Rui7C%C2? zxA}hQiZ(yaDZDbLgcsyYlMxHUCN?-+1yB`PUa*oi9jVKkl2=QjEP2mMq$3|OIb-BR z%;TQFCseh6r^3E#-ZsIQkG~tkW7t1o`Sg0R5$w0}#pSK_4~dMGXJ2|js|O!gq}T%x zjid1FlDurZ)z-?mC_``C5C2VTs5U>#DTvEZ=Sc`Xt3_4xs!PRQ@lhFgM*71m_Wqj4 z?!Wd`Zte6CzK5P$`PWL9G3F3VUS$9L=quVzfNcuq-5PeT&NZ{9aLoCT<2-4=wZYLt zOc;^`O@jDDdXq3Np?ONlgru=xX;bndDPVbOH+uKD@pZ`fy`d2_pZiBq?RVwf{987M z{+1V*D{@NiSb_!RcZI&;#<=_Lzt6z15D$ysqc31?!+ZScZAiq^@YuigQju?bSi1*$ zwjT@7U<)>nz{IQkT3z%{l}==gY6xmyzQB{r60^3rTjXFh<5j+RX;wD8JYE|{pLfHj zWw3aM!FwRS6qv)yUg=P)Dv^bFAfuKP`0dj6nnCd`2m(W@4uRJ6O$3;062&Ldn}l&s zIcP{at5AG>ZuGk#t@pFin$>SNXj%5T#{~N)luNP~%U)o=HJk3`yHEle4Bvj8s2^Rd zE!}|js@YKN*P0i2<2MGj;As_Q|%PH$V8<+Cw4@21&aN;#!s20)A8s<cRXL0k zRge^=7Sy3js=SCtBo+jkqX6yJXuwUAZF8AVRvH>>Zu@mJ7>h1*&4(_jVgPfmlCiP| z$rEDBkascez%cX#-qVfN%cL5?ltx>@+VD;$ z!oQ*77@h?vh4rV=3(*GRTg^zL7SD4bG^PfUAFeTxPe+h`9n&0S6zU4^>SF4~1^Pa; zSmg@5ij;A!an(n;ur4s}WR+rY)Q@jGv*3fgA^5g$@k?NmY)wj%XJJN_NU19>+LrBN%td;$&zFR(#C^shY&a0^V2+ zob~!v%;2oA=~O$Vw8dGLgAGlOKY47J}o3 zwrt;_)!>RvMIFFvt=#U7LuO4~i#Lt+I#1vt0m?SiQ$~mQ-dU(;)Ox9Ar-R1NU_5zu z*T#Kaz^wNjkswRKE$|uXjYe={O|0q zCct2mr^e^Na?uj;gWc$0e0Y!Cx_5YBaNYmojShwN{QteQVjjIqR!9GH&y;wV;imW> z=vXAMZ3d&Lj&NSB%+tc?=oAx%#K9m?lOR5k-Xx66ChbjOTNKAg=#hvM z$Pjp0^6OrQ?TR_2^KbL_h&*>Ep22^1kzYa5`nf3yue@CQ<4XoiI=C@oVJzhu)*Ey7eWM zt|!_!a)DR;U?2m*ZZU_RU*r{XA5i;CPife1C0zB+DH+~vt{8h}@w&oiFZP1^U$&|; zKF7^a%b%`wUegSUZ$S_kQnj1M@?wq~FOr~15T8hI62^7OImh{PdJmMu-ZEaN);K+m z{Syw$z5%6XOR}zSuc}I8OU54DSulyi0~Y;abE9a{BkiusOq zi&|&aW!gi{Nz50*-;y<8ALFZ$foS*?4=M^CbzV?~{QvB|513rVbtii2_U+M~QA@fr zjN}nUrlvI#Eg{>DzyuTrs)vD0v|76*OSa6zyFChj1UN64kOY5g;_7A)gUoIkR?d^N z_(vI!Z9b{sf~DmGflj}!1U^f7m;KcOX7ea%WDwr zt2Jjxjrf_*_>=?CvEJ;7vY64j0(2HMy~C0nK?87y#`u^A^8~-dMv|JOfH4c_BL|vd zgr=1=+XwlWyk)uWFX2W`k3c5G!UQ%nuq~|qP`WC(;5vlVc!F?|kmeZRrc2oz- zvWQ{i%W@FC%9G(yEL}i_o8@A;7S})0q~+;mVD{&H|WYi|l3lBBtl~AVD-uinyRhuubAgealq~K|Azvm>?GoQhG zZOSHE*a~6K2dQGD-;!=Fb*zou7+&zpqNgR*+qOHkjq z_UJf-b0^(Zm5ilwFgS$m=giFFz(8+mlLT6V_~0jw1hj|(uslsGq%Cg*HD->5HtJh; zC|^DI9?hIX@W18v%hYDr0L-VA-ntw9w{O4AGBF-*{<1Dkz9P)z5gC zCdjy265Kej3Dc4vKj^CzC_epl#X^#SL-c{Gi9fBs+GE)Ht;l>&UwPF139T(4ox{aZ&23$ zGH$*9749s*c`;;-%#48$&b7AkYM9-FCe$>r$5+fNW?s#Np7~hHm@lTZ{O~2;R*+J- z<-I6!FB}jP5Dsq5s<0>ZsFZUXy^(|8nPXqvc8Qw!*58EnE^L%{<)!0#@u-$V*QEOW zzx(8btbU>3TNIKAEU{+hxn@#y4+6mui>+u^Z%l~;O@!z|I-@Y}g$K5_($N1l9BsDU zztWS1JJx1Y3#LhkMebXmAY9r z^%j}dZ*IW`Ae$uQr+eZcRC=Wyl&oBWO-*Z_QJJtbA73;nN`Gjzn9o6<@Aa)5!d&Oo z1sMG%j^b?kTbu)YdmH}VIH)7pm}R0vi(ke&Seb%0f!9?m0L8iF&?L;=45&u5=4ZxA zuuq6?Xe6;nz$2dtpJgFw;>7`RKvX@2->@5B`^BA6Pe9AvD#4SO87M7MMw(wWVyX6A z>G++6^OXaXN6Wh$XCwrO0|ibrfBWfv8;IqWjj@0&6U&ZD8mK-9SNBR4S`uOee*ym{ zN*^B0V7jHiT7w^?w#wyIXE4vfOv?{V1%?i5n9Q<{-BuY~g#o^Fs`F?Fb}lVBBBPy2 z&8D0U4kR*2#Z-&}#s{Tz*rg!*CqAvQXg5u$_VdL7T^f1OYeb9z)`gCwNZ>a}uz~)z@%< zoC26r$UB?$40GVNxe{6|6!_>RtO1Nb+%yHSdpIqlh9Qq1+)c7P01Dko!A*h2trFfw z*v+wkr@X;ZQ>5LBghr&jS_}m{zz~TCkQt#`9ho4mkMCIqcz=jt4VN9Ra)4H!@ZGX5 zjFc?syHsM#!ggzU1wgfj@)3eZJti1<6*#DN_FB5|V zN&U7pH{aIaM+|LkpLq$>*8UV6xPf})*|N4@z|+*Lc`@dD-jIA2&t?O!4|=vfN9--X zuXdGQQ2|k7A-fqGU;T_Pcl|hh*MYxXu>S6w7U30$o#8lUG#b@3i$`ST3u_(>WcTI) zefXd=633Et2$tt*T$${9&7>K7!7`;;b;Iz?V#1U-&_swXq%#Wh5;RWNoxFB>i2@Lc@YPt-KsX2ek6DV`zM$K#nh?D=)y zQe|9;$?Z<1@%=J9{cM9aJPK7(A6rU5W>wd$ z^JwCwn}IQwFaKDnHAgHFIzqoPi@bik89Ai#c);5?&rcuuO7NU`T}9L@yytBr{pAcE z_h7>a1S=^LKHQPkd6;kk%B>6@-;Yj%-H2Gc6WLgwg?uFhtiKvejvbihuZ7ZX0Li=r z7g~3<182-lOd{gOmkRJh`7#|A>8rLB3UvcQS=bKnT@q?tmmqgFzN?e6h)D*G`Xs}h z#X2WAV5yrLqgAV)LzU7LjwWdSYP5UeVG3Wb!t@4OT+I5!HJ0-N(B@9F9Wc-J z>LdzLBVh$nDHfVoWF#4Ha7Y_1%~-(92~+Y8L{Mvxh&VrqG|G`BPFu~GFb+98F2PF4 z5I+X0sJbD}OiiGg)oeb*3O`L0#>USRbQ)-Qc0?}2#&b2VK}&-eD~rRUI0K7*78ZB_ zm~;6P36}Of564VgDS;AzC1?gneM%3S$uWLh!W3%E76oWqbRkn{&0LQLbm$dAH`xY>TZeWnxLSiyRqQvnt(#+nj2P?u|(lV#&itT3-QMM_O} zaHkqJo>hm@xXJ{ygcsO%BtI#HjEIE#qA3+7CMizxT(`wEik%{Bz%ayWOVEssg?(w! zM4DFY%(P}iX%$ds>UhAK&jdI zfmXNRvnO)ZO0YcS>&3{pCXm9 zC7cX`(_tr*@l55>XNoZB+A~I*y5vj&#Qv>O`~_jEAXig1@nhSF(fot$=^uGBh|yvtnhLDWtlg+2Z?c9+on)s zY9wIhW{D78NCXNqUyz_>+_k$UnHJq{>6ijm+PAYyL}(aE036~tEKv=eYg`EZx|%Ts z>{03j&fo$^ScKC}72!mnXtM)ojZR*L`F8hJZ~?QZAD2WB*{AWsB*jo}Mq~o72cpix zTa^QlPOic>pbOi0LkPTgpy#ik6cQlNo`xJJ11MeRV5>pcX|cPURKXcHgmgi*d76YQ zq%cSC#v~GEA*vAh(5oQdVXE+6&|-~7L6_tvFgSQkd$2(%$}n~o&SMVvcLZ1;Wp@Lf zhg=PGY5Id{h5ZSBU z>|e1(2=E02nr&s1Id}~Y@oB_S;q2e3R%E2OO+5jA7xSZJfZbqAKU z&`LJ4wnl1u{$$YkgZcH_ac_U_5>fC6W3G5u{Cc^zGnZ;KA%C=NZ23|>!1sC0?gxE? z_j&vBU(t2?gGuK13|NUk5-9Z+yupWqOiymBCokmRpOc%`==_y?QdRIwfyZj`rUwJ_ zXbQT%w@+R45Ac{wLYFuWv5hN+Nt!26kLI}{*34qUlsM2th%Tfv3iA>)PYH<-H5L-m zI*W2!zc29BPw?Fvc-}sBK&<@_sB`X0ybk#fDZ8HE)7iYl;~O&ZaPL>-Is1Lt9dhYH zQzV|BC;hMD*~5I?ldcaeoiO>YczhGgdhiD`6zF)W5Q-uAG6WCK50+rg;$uHX8T2;E z%~!mnuurqqsIS_*QT+O&m&w|f@RDc#6=N$&2ouNh^j4Q!w&B77i>8K|ZEB+D_4gU{ zKK#Kp7}=??TNvcF=O6jb;sSZ3GG?hxV!>C~k8x2ZC3tFb?>U(C3k!YEJY9JeZeSMv zVB%rR#+Mu+_=6EFMLZ5_WqeLgA6{+@F}p{43u|9}7oNO6(N%u^6qsv-n1dW#$4e^SVrC)j!;=z5Nx(dZ7>PVS)4bK z0|RHGtfH7ou}RqC7k75i&|4tu6Yt;L!(Yq$#oqMnhzgOw_R$ zvj}I419pf#ydHaf;K$+!(feg6OfH+zT^2Huk^)nbz}t#=y2IwljVB%6(ly97gwr5) z7mmgi0xZGuHx4Wi0oMJ7p5#V6X>2OG`(klJi+UbjVKCew!HE1UN86N=nEm_&eSS78 zrd5}R%jez>**e%W#JPbSlJFvI8J@Fyl}>$(&rI(R<$3JK_?rn7t|@F%+B+nsfqS%n zhZL7t-_FMu(g3AA-iMI;s}MYq59WUZYWa{q4humnSb5TvB|j&d!G4S-+Hc`$rb5Xs zeMwg774GhPR5uDGzP}@0qy6jx>4gK-Gth7 z;JMaJita%m7-D%i*bMN3+ar)yadftLLx+sg@m-ulH5|+mA=}ArG-Tv zm!0mpS$WlO-t0kc#cb{O{P4wvqBk!YZtMyZ(^|9hrG>Kn+s1X=h<>40Y33Wn-`dbe>sN}%+NTj!?iDU2SF{A;Un(~ zL+=-02}9=avdTL9YzJ#uiaM&Tr{==tCB;^jo0n z$(0a^jXWwEPinEi$FY!_3w8y83s|-W5|%Qbo9p)6$CcNx2UtXMX~I`aT`2Zs=zjx; z2Pvao7FC4NgPDRy>l%Y^ykWm}_B#)Ti@tI!#aV>6GzYZC^FH1>tgsaj2UQl`+XLY> zkPJSnS4JUo~p2?v+q<|6;T*sHL?zY(ZcYar0$+;jEn<>7Z)#I)UR?= z71*qr7p#&%Z$!w4?$%wXW&>bfkX%KuA7c(h5`7lVAr72@^)erRFvc{5&gV_uhvTB1 zz-`}9J}50iNtd4>JWZfLLV`5LLqqvB3TR&C@ynE^tTPl1K@Ngm;}RKmd}JllScpqo z{^dp2NSYH|ss&P^zY_lC|<)`K8?y`yAXN*I6znf2<5rz8>&&LjTCv zlHV!_niXXyQ8^eKPE}BeSYD9jngOE30%;_q)zn3nG^Z8PRu8vQYKTXLHmzoij0BC; zY1A{H2y|%|R(EfDha+{Qh@0{cu8052o$F1>%rOdnjKx3S5=pg@Xu&gXT35ki+_?Xq z2A}j(p9%#2w`PnC{G01X>o0v*0-%cb!p}&kkEZ1EM)rs^SUB`&^E|z@N78dQiWxO? zq;ymNs9gDqs(BB2{?d;5O!ISxKiee%00B%@fP2khWF`^vw+1$bTVMQ9%5nyAc=a=GPVAl!I}>IKRs=17r*Y-YlUue;vwZwU zbZlo7=Dh#``!@IVyq4A}J6F+$hw);9yTssgKDnGByrI)h1hA znE5|~x7`C3uAUvP=Id$67OwCE5XX1%R_huZaW&}J!`gNQ>6e2Lauy4ox6?>}X^yH% zUS5#IlfeKK+p>|mcEp>F9L!Z<65Er4c5N+>Ij0Z0XEaLmGqb0Be_oH*%|%b}0YhTgTS zoH-w#`EZFLMT&1L_8Kh?-!l;904|5oV3C}1_d18iOUNp64l#g7e5}mjDv*bGExSEv zP!z9m#DEgu+*DbGy5_J+a|xN~V@a_Lc8BY1h*x@1MLJH}A&e5lORq%?V`Ct`^cVuC zm<*Q8!U=Q0AcwET;yqc&0H%@X^!gxlM=8h~ssms$wf#bSlXTAp7Hj8OW`vfQ;HPZ6avxUB+y&Sk$@mRCJagj;{g|4xG~6F$@?f; zX+a~13`a>-!fygV_OlAEZD+LxGZfA~I;UW!fs_kgQ{ze&Sk%_DUlO!Qd*WvxL zkEz1oo?jfAsNfYwr{qmkV_Aa(4YV5ItKm6D^fU)jrgx?sP(M;&;?$i8>WpW(g8 z!2fzrwj%FSMV9AG?qbD^rq$I8*^eOkaR2dQ1C;Y|Jk71{=T{p*6P{&u!dEv049|24dI`4nEjNkH2x8Rfn6 z%InLr_yM>>;)8powVUh}SN^>+i?y1!^j-4g00vooZwkJPmx_PY?i-|%fUZNaJhySh zFjn&v-Ge|d#F|-5m=Xt?2+@UfMrqbDNlhn-u)J6}feL|^CB2z>*kTOjs{^Z;ITqTe zmv-$I^Ws8-yS5%W1jFZ-e^J$b>w|W9>+g2;rnrB?pI@vE+Yt--!@f+sieV19l_8*K zKRZ{OGYa#bc5v&Pr=9945WHrlyqO=)6J5vj5yM6u;t%%N;5u)5qcQ_< zXI15~bdB+`U>+F87R3KS`m3A#Mo+$wHo4Lj1w7)-lM+_b`pj+YRDAW+v;=uKyWH1ryIL;D|mR@LpM9$HX+=FM|Yh<1wcM5k{|1gm4^`3~UN6aD3L|uI+~r z0XgEyDvRH0o` zaB?8{C^7HJII69Kbqx>TB>MI&%MGeO3n$3|EklrJ-OBCn#vLn2OVQwyp>|m5oWb~e zp_Lr-YlsZfm*{?+AZOCE48L{I^cCbkgNreu0D@(ZxTe{-5!2~h>OzVZ&96S$I>L5~ z)N~$!UKyz2hXs}DAPJ#18rOybX>i0sDHdZE;hf|El`tiVB1J(OXDxjTiNo)W=zq8{ z7F;B*qoMKIjD~Txu5}uETm!!~ZEMVtd!+jtB!XBk4~v#Xk?{Z|&B1jO4p!FEyb&T$ z59y$8EH1TWg$V(Lb{5Wa4nQUhbt3?V*NRhP*yXMa^#~1zSOXJlGEv~l7GzOD>v1~Z z_i~z{#Xe;5ivX5o6;4W?m73Je2#QW%PO#2yYduH63e~L8>YD{EyeU~pW6^C0*BpF+ zBcbx7d#rIWdp-#cG#PmkInPiQs=i3D&m!5r4YF#>PElSY3-CC!I6+G^gy@D%`fxuV z?eb=5$nN#ML4=KMKA)!K-4Lz^Ds>qlm|WDM=kKu9ec;OZxXhI&vCj zA#n@u@$SQy1ta!a%xwVL=3u?JKg)0ePz_QEFwY2zIW1JtJDP+P4tBA@A&A6t1~`O6 zpdgN+Fd`Nb(rQYSCB12dwACY`X0es&NS!-`8>HU;?BH`(l^6K3%IMsUXmpUeUIm+P zb6kie?}cAh*hws9pX;iLDc!EZJ~Tg#{S)pfkd}9;SAOygaUB2OMlk2`6L zB%SdWK2^UckiWtr!{T2RIM-kfg9^JBe!^|xc==}RfBUye52KJm*Fq!V%i>#LQQgNu zV2Lp^&oz^xdk_eQSg6koV#1U-&_swXq%#Wh5;RW@*HA`^eV*C1xJ;v93F+4!^kDGvZwuO7V4zNlB3Z9aL}Uulc?! zq4k__+6kX5 z!Ca?|>^6X7d}!z3VSVpBM(D1CD|P0bVhY=&1LGN}fq)7Vix3iziXKNXNL7%1LOM7T0ajey09U+8AOK&`YM36a(b7SWrwVlKj~@do}r zf~w#fC(!N)9Q1sX!s8?Cx$1FLSkCfi3n#|`r)5qq>zT==JCVJ)nLsJBIJ9pcgv?qTT0>i=d_+crMY2aJ zmm&jfyRo}L&VZ;BPa4(`uL8&|FzoOa{5nf4ej}hDy_n)wDnJ>>Vfns833cQmM6HO* zA+n0&NtUSLSz~a4N+f~!b|s;5@;GG4ESwGw)Yz5p13$5fwn{c&qR4qdlKsY|3`9QY z55ENAfkmyKnw2nEfXL+4*Ie9)I8vLD~s zlP(S`*eZ}>Fj|72!&Cuom%LNV!bx&~%si(+C#j83`>pJ`G0428tn69ob=RFB#N@Tq zp%174Tj)Zt`Uh?L00Q*#-B4ee&nAk9(j&$^IJ|Pv6gV zk!uStB<2P% z^FV(zp0jzuW@-i!mB*|JX*EUMlJ>Mh+UgNeGiHti66;JIiJIBV3q1MKuZcGA@T9bN zAvU-}7iL z>(`E?c12S~sxjg(ul0uValGa*@GHK&uzEolu1-n!VeBVOj|cGhb8OoFn=xhhK&af@ zx{L_UAff?TEiu3qs~JGVF%GxKv`GWd4UP_C!jvd5NYq4_R%}}#ol%&VmG6vUn;6GX z7!eC6P$AH=q=#x8E2K?s2ijsLGcj{4v{5hZg^`M^0%#o7KmEey6=|_ zENLbaB?|uWCo*imUxyf7rM&F(ctnCN*gu$2ULl_n1($Bwxn(%0ZkaPInS7sL`o_Q2 zkh>VL5|l<3s_cRJb(7mF%79P1R%d$U@R(n^7)s@{3o73pA%3ekhFx(kaABP`s-QTv#l>Y( zQZ~Fv?ij-De1VKVH#QI^xuI+GNl*7@QbvlO_G{y7{+%d0$4co63)57YeGg=F`>JD$sGK#K)x!wKj=xlt@PJ)L|GLrI=wF_kc=zsAcJZhTGFHIcrJ zEqxZ@T;u@kqB1eSAX~cA8;I zEci0wd$7(n5rdJpBSaU-ili9FtwZG%jDmpknIfZR;R4`*nbO7(;zii%!6|Sl0zpbv zYUSb*oVu`y$Uz9EhWy~6OY09epVTcfk3ij~Kr0;ea0Qe__96sg0oYjD%|lCL15(gH zpwwFjErk>;8}sRoRpk(?Cz{j57CDP>j&s1DUOyv;=h*S`YAdp>8zQhkwpSJ>+p{LP z;Wj-=|Jwz{h0<3!AobwB_w;;j*L*Az5C$ZCtUl)TEw1$#&p*O+v3YxoFZddB>4NjtNi++l&;&e{Z`*NPXg?p0R70Nw0nZlfhAJ6zq~LT zuKH>J!==~f*=`+4(yohK`-&xvN@q526%MNs$H{G+NKtmq2&1fP&2rR|F)-2L7lGq7a&VHO_? z`M*RHzAw9f<7cnagS(!ekl<7A6NB%U(KQw&Tq;2oYi~Qo(%$HQ)}n6jaj*2m(v{mE z?G9xb=nQO;9z?;-F2Z{8KBT%I}baG-z1<6 zu5cx*Q@q%$j(( zbrs*2VK=roHi+c_7pDTHQ^`D=Hz@~B{H{3J!Maffmr!falGw}(ke1Nm<}52xvP>Y3 zu>f%`Kn}wiAL%!MRy~D0+i(kifq5~mT0<+S@uK33m0T=YASf(?1^C7CLZi-$P|x*B z262C=%1Nc5VJ`R?H#2Hmv=@p-Y z4WK1)Q4I|XA9_ycf2+;H31bgHCzdcXh5zjcvKiQKCwk0Z8U(2bzd0<}ZdXB5#)91@ zel4ZvU}MLt6=$?J^um5?VZW_=nBp40cS7E!F@d;o+(@BsIF{gfhoIRaa+Rao;1CZ7 zHJQaB(-OE--O*H z(OlEeI zI>yIVh6u;YEe)X7@d1fhV!U&CIK1^EVm`WKnUVjsL`_`0WQbi73&G|ed;9VIvK>8L zN5+e_=fmA841o~#+iw(+Ii&yX(U**=?wMn)zq0O^{uPZ^@h~tnub}<$-YFsaRx znQKTH0rRxc_%&QJ_GQytJU7i98g@Osr(d(P<3Opvp9tz*QkK2gsT}Bj?FPMBme71* zufjEVrqOZ$Tb^Rhn?%h5|GWV*(h`C1X;fxh*(!21fR+{8(@-~<^HS$wiYul5R!b%^ z8~C&5w=f4fFWH-BtJv$fy-QE7F+p^@Atq}vUNU!xWzYJLGpKR=hKu4!Y4=2Cu`@I; zouD-W@#h{$d(}WJ8znHqP$O3rKUU*}`U+l*5a+UvpJek}huE1bF8M8RvaBOVv}S-z zqCzk@Fr1H@!Z0!tRv)4gAQnedlpybf(2#09c-8u3szfWQVo0o0+5GYco;r8gFzRvTAPd0aiNQWyqgC zLqBYW;sBq)<98b^D@tk5%)lkrQAn)e1@7t2r`vMwfbIDkC`^fjst-gkh?Q{C>aA+5 zJacdmx-nyJiLrFqDcZ#)N1f`6qIj;Eb+TAqw0gnvf*l1gJhdfg#>T?Fbb|@eg=o^5 z5v5f?ovGZf^&T7+PZ)9ujw3i^4vuSZOrkI{8jwFBEfz;;E2O<1?J=!P4H8jjOarGi zp-C%rtwhGjwoNG{VDn*yjf4Emd|F3VdhM(PdZV~Fx>6#dna0Z0v2H>3jJywp*hYU1 zSnde|AXj3+qQ6`0Yj1peOq(>Ig!Z;g@;J8qQj-ZMASTm`i!I?~5Sm)_WU`)_Jo?O# zbyV#cqfK3Mrl6@a&lLGsx@WR&v4x)|1m0`TBG?(r)-%Q?j_jP>(9m#lVl!1Akb=8A zv`R7tF>fB6BZ6nyV)8;Wz)DTdoZ6-^#E66vQWMhBO+syjxP)o-Xpd=SYSQTZV?iiH zvL(utn$hIt;&6fsBd)X<20fJtsS7Y59Q%?Ry0;ek;j+wY34W9T& z);JvX$zofXIwn}A!~$k+mPpZsM4&M9EP#s>SlH@H!(s(R(di=OI4)GW3# zGg7aA>@qF{IM6un`+^E|@G+zBx*Ho5?7hSU7vBb%NCE?|S4$TAF?yf7N=ErUZ%}?; z(2e(btzmZW`XDU+wJKDr^R(>PD#Kg+w?TsAAvp4K*~FU$TPE(o@)Nx63{ z-S<~hzZFzD_Ug~1WN^zRGBDX+@uVs4fSGx&nH1fFKrqB&GbW3jq{fsu&_swXq%#Wh z5;RWEs|i5=`~wFoi<(k9{P7KRu&1d;NNTU(DbSf zbk`A)<J@4>th5$`e5)lTHCE}!{P3tes zq-im2;t2#pthNNr*d(Bd6kSMX6z08f!8V&tg;7iIELZxq_4fI~$?sYfRY1Ef0 z-h)Gm^?E(G`m6gi(0H6GlunhvZ2mLL0VfcxBC6P!uFJQBg{*wkO}v7+f?ev900goG z@v3Q<3;4iQoj|T}9GZfqAZIxUto0gxj3y71q);THan*o2bsF_sAg3YBFnbMReAy!{ zTDlcTFeF;2&EFHxaU6l!%d^1&t`!g5V|mrl`dp?7H%Qr5W2(&lz!-KAWo01vk2fBi7V`e<>Z&RZw`R~$W7mJ_7v$`j>DbRSI z*DNZ2I_UQfpeXx)1r_YaXw+ZL>xKQ+3!lfk!Twi0IAQgK8}0XfZjT!W^?tQ_+~Pf* ziSfaeGMN5h8lTR|$Tyw+)(^6WyS$S9TG_I^^pTal7#9}~XxCJCCMVf;gF|>PW4~G) zR6U{@h-Wsj010U|S#6nRS|M%qh^QGe$3h$Rwa?{i%s@jY~G zPH>w{G!df7zx-0FydCfJ;=3eL;P-UKVF$Ye_S>BKtCWHLR))jdP(*QAQ1o+F>$Tl= zg)(D7hpN|Kwm{{AZ>2`Inorph?6>mxVhIX42_L*J3O_6kNx>nw6T$Mg zjVp$+nkR50n&*aCGm8mR;y@E2x{%H&%uCQbB_u-BSV&0gEXu868=7Lt_t5vOST2jP zAERv9-Yt6XLeJcs^m{t_zZUcOtHD71AO0Y%mp$)~;yY0I=y@g#3M>PnW)5Ghd`=L) zl*vhuJ)~UetU)Af`OzFtUG{#si2v=f@Q-R>Rx#~n17KGbE#~$YqSkuzfF%lt+LEP8jH(g-k5KTk}}`ShTJ10-GSKDXzPyz z(g*wPS8CTnRKGLNNbToGt{Pra-~-y+!(C#D?uTPIA9C7JGh!CbUk(gSX&P*)VQo;f z@DXYP`!NQ$iuSHeK`fl%X$tC0!AB^Y90ntJg1QR7SbYuM8y~L_9o7cTUqFa?u$4aI z4!MZvlLtE(zLaAoKp3VoSx3)GI!DTAALj)4P?X}2jF6&xs^sr1oM#+p&PtB8%GnWc z8}AoCfDSa`+rU7g%rTT?A+?=&p=TOdeb{m}V;n%Xa62bVn8zV@W01MWo!m8IJD#!B z;7_<+8L*AWa%gBgDT@3i4(rPf*l)cW!UpuM64M8B?<`z69Pk@vR!E-e^C4kc%%}%h zz_LT)#SV{xIWC?t8q1*hfR;3c1lxYYD#VrtXAl85Jd@^SxFV^ zA&os7u%Jwfng-VCgVO0EHB0GCa-d%w^>sh@V?1)bH_?L~Ky_`c43`&sUK0DQXFk;H zr~eqz2>Y#(1E^{-ZE~>RHeo@auus0o_j^3gY{LuzUo%T2XqAb+;c$pwn%ol%^&Bn0 zHkXmY{w>hn!6?U+FV|sw{1GkDTf$II#mGvJ^aCIq+@iG1UbUEXN#YvcKX;lN**uGjc_1 zCPnuk5Dc+q789mK0*GrOL>JN-g?R~@r-Vd^8VQ(qC8d>IZaa@Cx0o7Pp&U|Y?4f{c zN18@A+IKD=l3)0qC-@$EAfLThWb+b_O^JpY#`@+jcgewTi>fTrRzLYXL}J%GKXWi+ zr9k=cik=CVOxOx2)iYOx>bAcgj3&xdqvSoezr3(6OBYCb;BI;KxsoSpHTJ@-j_DDM z0yT#BD6ZXTrGD^oGq@JdmXKRlNRz7(Wu#dzfR95nFs<*~W7@U~i;1{h(NsQi;GAnOb;st3f zeYd_X>@_>o0oey@Lhb!nP;T5WoixT0pGA06I6&Dt-C(8?3?aH@Wd~sy2=p8=2A>c~ z_I=(mWOD;Fv<F@?e8zXmyh~evRFZ3-}&7aN9S9P0Ls#s`Gi|@m{$H_FJphcS9ag zrN;JkT|;3`Gz}izd+->kQB~u-#X6HpoC0DOB*fpQ-ek7uPUW$t5IAS6s8Q!av^21t zfaEkyAivw(S%sT(DX7l$Ns_Egowg!`)kJ ztYtOjVG2rAFpvjFk#4@^$wUsT7`+u-J%WQb3FCxLNy^72%fTYgstuI%B=ZF6l5q~cGnH}gO`(w&{kzHp$+ z4%wBeM;=yEsy%8S;rDc6?YA1PgXV$0Z+NiZ{#3Xzs91gv-Od^8lPjIRMXeV2T%k3- z4ULD-OotD>?%CM+twBbw=G!3r5FQzG;gB3kS2g@^H^BcEiM`l$w=DK*>@WQa$IU!F ziW~`HYQqy|Ih|}e#Ky3T4GyPnIBqR3I6O52iQAiyR#T!ZX-_MptsW6IW9C?B zqh31la8s$ew$*E2Ryug%+g@qxE_|3~?+?-IcR$Qs)wfH){SzL8|E;p( z|H%Tqb@A)UJ5=kl>gNCA-YP2DSfWh?AR0LCOzGH3o@=5+_aG1qv8bck#e^wwpotJ& zNM{u0C1{=!5+Q0VB&3yGZi7j#wy`R%V1&C$J(QpTipsyPvn?^uMiMvQdT$kEJlPg=qKRE{7| zv(U!SbjfP)wK)}eYHqD~&4<)uhc~8V?wWN<9v>U9Uf|wa+p%+tF1FMW0Qa;(g}!(A%3ekhEF?8u5X@p$|p(ini=!0cW-8q z75MHR_fJq-pvG1PcR;tpew!gvW8nxehCk%#5OP~9ZVEkrO_$EY|2DAKVW>SZkJ?CH zGPgsvuDNLQ4q2;)#W!J^(J?UYPe?9bUxxm@9FCPE{yM2G^;Q*@fL5rlLT<0{E@!qy zaH-qV&cu*xCeKNRcBZiEiCBB4O7BFMgW{ZmrdFR`C)Cot*wTm{mpm*97Lu?UW>63A zFM^lM5`cC}pcm6wF@ciUFcNiH328l2hAfu-w zeJ`%yj4M(=)Tn1G2qMW&)Nm~*#0?Oh42~E$%W`94syCb5nFHLHpv6D*c3_E`w#p1L z0LMYzLleOS#Kv-LSWmJwW+{W75831sezv%}Jm&e6k9v%qh4YjHIT;N?Wvp$suZG{|)6%H;O<5alCPw~1 zTypxEPSi~~1X zFhE2wm*7Bijywj}vv8hrUZ2-hz*dXE_921-(JepK(IXvFM4GxeIoyDAa zBk1tjLyWIo7^i|mfIxA(BLNCJ($|FEZEWF31*>{C)L{JSfz~tV21X) zSh}m@9XFj--D+R=G6nnXGj@v{^co-KsoJZRW*u|&wGz}n8AEe2Iks7om}ewlP775u zLX!|1!!9;B+?aJe#|tu9GeDF?kdRhWqAY1nE2OO+5j9Ixp*HGUzJHMfAG%oad0gWz zJMpK==z0Gv!N`4xNnP4_&_PN(RAC8zxjskPTdq~TyJ)}t@}*K?6Y7UjUa)(ijJ8;r z^0N}^&8orVDAILoFP42tz0pCMs|EvO!gMklLLxaoV|9Wv@ zBz&#AQo%(Muw`Pkam6rJ^91VAJU7JRcx<)p7&WHEfhIz9A)Qe~EVC!6sU{xFi3N7p z2~-H!mNaMPVT&=*JY@dPppn!@ed|}>CGz=&0TX%D)-N(WZn*4#?Fz;2LVp~IZLmew z;%ySXRG(wsweDKbc^<9*crfH)F9uuBr+m3NG?`Z48q}kzH@A#e$lMW7v_@k324v2C zJgrA3dO}%~3H-xjkSMRN{}S%v10R;Y`afUf><%=Km}fiEo0@=HSYEer#V}U$gyN%l zZiv&Wxo^TJ2K}l-yu-Nt z!Carrlyh2K4Oez?DizdI*pOy%Sd%r|0`FTtC9AL(gUEg9uuI<0;o#Jgla}1JwIeW< z#eiuzk%f7CuNAo(lKR?>7!@gn@1dvCc$YnVWsa1}??R%aN1%qClxh4XfOGpD2>2RK@WS#m2}+jF zIFu$4rUWd9)H)w#2|JTmT$c1$lsD)nKcs7Sg~Q-3TLY z#WBu6Qos-xB`yWtf$fI?Ly~CI?~qgyadE$FqZn3O(-gy zV%uWfv@S3P$N=n%g#8m9f+D2FK$8TBv!F=`6@+Y@@)!-s($zHoLfv6UUpQgr6tP)txf@o<|YtYb`Cxr8%2lx3{ zepnA$Tw-fDsL&Or-WVc4r| zH;9kw0%$>q3y^3Vh{Yia90=9xh_E&A4S_5>g?%ACRBn#G%sw>_hGLOb4#Mzam^w{jpMtNJEhT0dO>by4dsSN0j$ zZ)=}XfzDu0(igs3(StwAI9jHRLgb^+!?mxcy;!j^z+QI$pltlZd0~If$neN6&!*vZ z<~#eXk)G#!vb!>`imE?5$1Hwv;h>r9FVrg<6m&H)+PGpEt9gpRE^=f8}0xQ10?TLcEa%oT15AMX0Z|z?MrPZ0DzRMseAj z^&p)y3#{cN;BjRdaDjgsm}%%tYL7X&sv8pXH_pTEp)1`^T_lr#;xVc1TB$<+cHQcl z$v$F+j$rW;&Xc`+vT#vc*kvDDgD;RARyB?HbV{;cJzC7Knz(|Q8{@zrw05~|YaB7A zfe(%LCHOMm_fvYH)~5sScaaC*FWc@d`INgM)Zf#nXXdE#q;{9foPh4MLf*0$`Yl`Y zQ>?fz!KlHrSaZD8@LZ;G`_$af>BN{q>>{3$q%8G83XW#XDvYxlwBhg=E~v@`DHgL( zTk~b;py#3(-2n_R72J1+Ko9job)m62z-TtGxFO&g6p;#5Ou8vu*hC-xw~~h9GR@jq z$&W(rEF{fYz#th30n$}r7Dc-O)VCGv;T3Y~4I#pr^BaUT$r+v?Yctp{NS|Q@0ixXnKg9hX|EItH`Un2z;r-9Q(SYm4HbeZm z-mjpF{aMN?rv?zqQB0VPTIb0i3HO2`Fov;A)(?BGc0+{pXW_i&fa&(a+Ja+Eyrc`g z|HTsQx4gwSz_bEUzow1{e98TL!%1eJJpkd)L5{E&!)hr$Vtw4$A+`-@1mJ%g)<5xs zH?I5SC;#!s_x(jvS}#@8Sw;5JxOZh+bX8j+g zrKh$IVtk_DRCHS=-4=7sM!2d{>rlxU9FEg$mgNQeQ8Pf4M39gcivw7mrWMjwkC|&0 zGE*XGqkh-_yHw;yAtbKRwtZhv@E63l%RYKHlp5pMY!B(P%3Ys3s}m61EmzZfs=y`q{%{Z49u8!X1R5lm?svdHG!jI z^isHMZOFK$YsgY<#qD@E=Po06ZeMJjFW9|bPq6 zVY+~Ihx$IxE2f^8B2_>QsP2hRzl*(?-U}4`AFimVYo4dVa1cJx>xFi&4Ec8$w-6!fmPV(wFgpGA)E9qB{AYT~ z2jyF;m|l~Wp2G$2D~kTNN0*6Qvx@zH4EpWMqH_E7|9s;oU;m4{fA25;q=UY-o~(uJ zn6wN-9Ba~BDBfO6g`2%4n8*auW1hl5`2ArcFV7Qo@I^NZb`mz(rekH!hR!z*@L`Go zjTk^nmP14Y^s8|qz~3ZbU_zksl0K@CTr-PKH6-6OuP1+e6&~39mv8*!zu(oqnp~*Me@A<^`693IoePnKNM)&TkHI1%S>8#bz^W{6+t3O&I`K zgmE1Y8YmPotG#-WGB)D!K#~#bXK#mW(QrYrY5;7nM(R%HfH2x|ehUn0TQOFN(LLhd z!2Cm?6D;)mN3mDwMv)utQL@egtKf)F7Sbqc_I#E(aHhPPDW*>7EX<*hxzNBd*Rru( zNYf0&fu|tj23WploTV0fI^q&CUqU2=uK`YnBN%eD;4#geA-;XD&a7{T>3=KZ5JZIv z>JZSXAo1LmZ2&SrcwI1oTGwS{dI;z}EA-2TQJKT&@*v%V#Mad{wzABOyE$$1BQE%#5T(S8dr z^3>r)J=^sc#Ps0v>Ru33hL{5kv;4gfAOu?g3I}g91_#^k^pNER2L3S=M#MrwS}YD= zd74&8s~*lEMSU1iGp5EuJM|qfqTbw)O^xiZ-v<7`y~-=y2Uei@9*TAH8%H}+#0H7u z^*IuL?kWkF!~b^ZGiX2j7~y}5NyOh}#1#MIBd(Qx=DNYK_Rp%2d%j6FFP-MM=BeBN zr>aSMi3A`15$uHtahtrqjv}W;pf)5 zmT2}jzF+3AxLb;M?nt|JSqr%>H7n?_I-c-RJyVC=dS8N9jeb6?sKwj78f?M&dVXo4 z(34U=hu#DZ(|@hrr#G(`?;DPs@xA#} z>d&siMB(rMd-{vdb(-HA^o*9FJ1}^!>+K1`bWv)55oFa8zlfB4__Jm%!JU$`z8ln~GIz*MigI|mX3<%h6R)Q&|f4G%uP_1E({`EJia(0%m^g) z)(6Wbp!K2|V4El(28SEplQSox#KH<-OrfPCXz3;~vKxhXme*7APS#@}qGrq!2~Q$* zS`#$UVMuZ{L(uZNQ7qa%*?h`M98^(f!)kh{VY84>x)7x;;u?jtqXhLv**P!#-pq2V zVGFh-+^CnM<=CM>8_-P9=qP0xEkS~tn!EI zqv2~aQSX9AT$5zvSldgxSx9?Kn=}C3 z;OHPGOo@bj=^2V`D@2pVw3@Y0TEy#2#XESgaf81!4qbxd2o9Np;~E^3D2$8-nbY8=}kLF1kbWnY`tcHm71LGwB{6+DTx?V zY9ea<#?W#oz-lYRB}}VFdrT`6@<)ROp%5sRXj59rm3_vy67Vj%7*@HFU>a}c5+MS* zEb>@30dFdT0D?;JMUfV*nOPau9m!AzJFb^yFwbDUr&M^77J3I2=f9Cg?Ge*>U?W#z zArA~9vh^0n^g`NW0$>^9wK6dbu67U;rbYs0Zk7l>4$VMkS~H_C&jks-_+Va5Mw+d+ z@P*liaG+(J_9lB`Trm)VRLVGmh>s_+yz7#T`2FmWX`uSB1E|y+al?A3<9Zn}df9C^ zD$AZV>|z@z$+FT{;3#2)z+qUITZLH4)hwLH9Dsf@>){bdjnjY{WWz4g)FEBXs6;_%`l!y+yhE!#6Uu=55cyqFaq=mYXF)y3+F8dZilrC{$RXg0>bc;E^T)G7s$ZF zs^ZtTJ5gw)#hvj!ucY_%Nx8U5*@q5@R(PK`$9?is2j=N6_=7pX2(cCWVH;wfr2sqT z{^WtrZTxp%`{t&}_siPmw{R-c8sAAV@;U5h_d}H(fIpahZVSFEEtWL<<)=}|QAgh0 zvfcf*ad{z}H5*AS!J%q!a5Q(A{4g~Z64GjF21|NW8Jd9^^G4K+d19fR`lpnP>}`mY zM)uklutX4S^mOSih{B7TG~dBZ26&&>);FfZ;m==XwT3^K|66E7@ChxW&!ti&_=Ay^ z;W((79X}I#S-j7itvlKylKubLdmjM1s_I^NopaBfoVl5VGm}Y}1Ot19Nw^6?Zy;y{ z#eF9O4iN1H14c!A69NY0y)ROv_$qbZVF&|Kd%;M9rLWgC;*e5a)$igVFKj#`E^vUC5w{oLI*;94oP*HU&2W68!aEMje~Fs7nW zw-pRS7zvvk^` z+ym8V61p-NQ4PnpI={6uNGwPNW-jJ$b!k9fcvi=V6xXDj056E&`BRhY`PYK{^`2Rp z4D{WLf2M_r#2P0M(XybTrCKX=C>oP|YSS-0R#dV<%_i!zQSVZ-=75=B5efx;c4pz+4Qxk>Rs+F*%N*2F3{) z{~^zFu%DOps?o-VYZk`L1q+pg^7VgzbL{(c>LisA1FxtM%)0v<&Nwj&tu8a=gK9>NCz4aAEL#+e&*2Cvk zJjkhXu~2LV;=^S|c{w^V%{;$i$iHF=Qv_bk8ZZG`-)=2rDn;2|&{*!#wL}I-+5FXz zR(UW$P~b(QToaNj{WLhJ1FTA(5-4*mHyN@Zx6%;8w6?!SX7}zJ--cxlF3VfYUG$Me z01^p&c^R#cjE8T@E_jpZ67+;;fuJCfO$HvuCI!nB9HTYhNr%1|i@(s&hDB6(z-rNQ zFus@%Mt11|ybqjVNJO0bF;e1L9e9&hK>502E&mRS8@~0w{p271?@xd6zkjE(9*o#Y z$*6whQTfv0XOTyAidkWskJW5y2wh=;U;x2VOu_4-2D~f5tI*$4Zc!3)Kks>k#d1e< zA3C}D2D?VPWo`J---hnCVQJ4@QjoUCBg)i4sn(`IFIqNaINSh<}JbnPrB9GAD z<`7lkG50wtea%%~K7Tb%)*vVMyf}@qT7m=pZ7}-THgV58Rs8KZMFHnA%FQ^}ZhaP! z+o8V=QI-BCI8G+T(lbtXdk71_>-6@G6U+hQgueG9k3Yeh(4LR#O!iiMqVYV&JLjS@ zl)voHKIqHlr`(J7gwrrZJ>M#vhm55f!?1|8wZfQ+22yTb=bBior&=~)NGni8Xr4%8 z6vibe8Zn6wwI#%)^&0YRc(rom{kWb6px9YYTZl76uM(ZVtzGFYSm}xOu%WFA>u+AG zaBIVPZV7B)9(+_BH5U`Pw(H%R=uj>Oq@-m)C`C@``_*jYYFNM-p||h6ngjI-qW&0z z0aRr_XqAR=9{&ZW-!5)(jqGx8ao;Tu7}ayB`1umi;&4BP?@yWuDi_X6N($X0bmkANIO}u_Y>Y+1*Fyw#&SSxkW~(uHkp0=jv>xbL?_Y>-l{?L}3CezkTy& z=x%pOCTXZqKtEs}rr`BZ1ANs{od7u35oayduP7X2Z{LCC_W{Ei1J<*+d0ZQ*@!2ok zI0pCgWFCrY2*7A5BrO)~d)38ukl7WVCcmZ83s}?Idl1*i8;V279*#8k2gtKffOMn(#LIBYgr^XWlp3fv zu~ z2@o8GVomqKlM-Gz0w+T05v2sn6dV~f5R-upCbPT_OsPss^9{?_u;n#c5McSCHOYjK zWg-~GjUg>Qcy1xBWql=D=}5r`3CEUXF-f>BI4z|oPu8a^)mwd1?( z5~P`FJnUl8+rwI3p^<-u@u#A{sx<)ptt^l3cd+T?p~!;8gZ>r^$|2zNWtDfo4R2`p zW{sHcaF)syzb=;yKL!q30`8T!p$ll7<5XUMtI4XGRIsjQl%t21;5-Tr4c;<5rtTZc zIYlSv!}{Bm(BI}=Wh8e?z}~E7Pp|Ptd2Z=JfIbM^BNtUMYY+~0#HZplHbZ!l~x6OK-Ea|0(TEN+aH zZO!R26yKgE`YjiJQhO-|P4cN%=bBhG0gApY0mK!NnkUj2g>earMoc0^Z3-!b#-v4N z1Q;4MoTceoshB1`ifBzCjnEqE;njh1FYZu`Ny8w^nx8gkUk%s#R9e9R zt&(+3drg3%Z!19A>LgpA)})+OP+BE$EQfDQI{xw%n!Ri?d>HMzJ0*VN3M>_j0bw|| zGw2z^x))icC3#j`pN!ujo3Z|uVjF{zYpSPqX}S#!Hb*NkX4LJG?o)ubt+3Y1Ws6QJ zG34p_oYU}5hqp3krEFjx=VrGPDS}qEcES`|QT{5ab z3FF&ahaf365>oJp0Qs4MgRcQL))57&QEo0qK&~8Uz+GgoknS~bfIZr+yrf4%FbIM2 zR0gm)jr=k~8jOZT4mQ5N91hKggOCDnTm+ZwcpV;%!4Vwif#nO(%wCMy3q0@_PCk_pL1l!73t)MQFnyfE3Lh09+AW+#n{6I_6hkai4Us>*Zj{?gE zSeOGA#$Q^rwjF{VBwi9(NP7#Ya^MCcDvDa}cYxj&;3xxg2NL2KWYiWy!C}FoRvdMI z8Sk}(YS~`POdObYwUG`CIP7i{kD_hW8q_QCa)w^O+K3BjFDSH4fUPS-=^{6Rfvkm6o2(wcI{zWPb4IT;(M)` zHcHjK6ZfI-*wp4{E<4r9QGe@V{jJyj37kNF?F!e2{?>q&Dgs?2ADh)L9VZ>dZEAKa z1Ut@r+)HxfkorH}iQbEOpN>60!FQK_>s=+*N)TRqyxN2eXRGbilxjK9@VBN`G<_9~ z<}C;WO|1HC!jM*=h|oNd#wd&{l8=*9MNFm>3l1Vfpl3+4ejQdSCR)x)yo!&ZgOOrE z4fWmEiKn-8*b*s_P=({9ICg25S_!_r7>T6f@~s3{q@0^SvOwCt{DOSx!95^0x6KJK z@1R!xvulD>BFKRjHT`Diva?OMdYcmsrGeQDf-QHPD{}Lw(dqX&-cB<|dQZny4#hRl zk4bPkvhKC7lFMs7UMDm`}j@UrauX&T#nkTs)AXAdZnx^V1jt0ZelHbR&d6Yo_*L)nf%U>`i9 zfIYeuprac(PmBVhXJEtx70H|-M$bkEm&{ZzCtzs{TpzjWMh~{9!XJUt zvnEahvs)N4PLWe)eAAJqW_ZRM!LMgv5GvYXy%r3-c?n~+0xVI$lp8t(hRbeB`c)P& z0_JN(O8BwB1ev0VLotdnWgY=FpyK916H(y_JmWaN^n-u!s)YgWwChZ6_e??e!lMG5 zJZJ%sg_u^eWXM4!sJ_5efyapg0xm~KiuiSvEHC(Aum6tZEPFG!DPR=ahbP#EF@sgu z;V@_}33mHIoK(7Dlw849UpOd?Efb4|ttn^@f~Md#tpR;7saMpsN+;|Gfx`M$g3E@N zPMFZdj@V(XqEBmZ3>B(;i$gJMl3m!ms9@JTKf#n=-UEwq03+N~3~T-jNI!p?f}#+O z`VCB{4@Lo>X=VpHpYE}fB*uUOid3YmC2F=Q#eIQOqIq9kRBfp4R|&`*lOUYrYUDsG zDTMh3#}O>aW4R(6DS`f$>u&)i*@l(g_%3TJEp{^Q3+?4}PK?0@N=Y_c1If2X2HSEc zfv-wkVG`?aM@ZRu$S4Q;+iv$FEGZaUQM}Z=VYu5oti@3XZU!2>?>!LoBsaZ9uix=T zNZi>58BR!t!9H}?4|>b7mHWbsUdLRhdbKC{vS*8*Sn7-xG+sfleg$#&MRlTPweK2s zL`#*-$Cr-5V;fr00@Qdw#2B>7{oar$xk=GdH!i7Z&ET4x(X$oYZmE9(>r>XeF>r?l z9nqh1jDz*Jgo(Qyf3$E?*ZOx|Rg?*hd&iMTF7sa_DcqEH9@T{N6U6N4mf)FQ=}|8^ zV(#w6js%em&Jh*fhn~LUsa`SZBnGBO+$U9f&&)(; z|Mg(haoio@I|{2HFh_Qkl5n@{dXIbnj=ym9<_6Rzd!sfCeQd4JLR!p{#v_WxB%d1g z1cD}3O@N|rO8{|2q~?hm0*LID zqCD}tQYvk8Jb5AMYxu2XKuaiL$YJK<=7q5VXGUo?1|!=xj?Er-u!)QiF7n(A4;N{} zs>q3X!R_(^H*ar5Y1Jz(e9ReSW=>MM+uNLRIUnC@L&nmVuOgkNlD@n5 zi};2-O{>Val^JEO71pa3uF0>jXHY0SWkxJ05-TkVz1$qAD2Rx#K6|HQy0^DVuoZg& z(cr;{Qjcg@fbScOmW6xBjg<8^lPY2VJ3nlS+F)WE`m#-i%FbIRC>n7%`Y3F);`O zrDd_=kvU{6l=PnB;n_%KfKQ;J<`7da!qkDV&SfbN5SH1Ep9ldE<<0 z&-aiooq4Q7`Jeke*}YqVjl00N-#!Cxh1+#{#mXSt^Bp6*TvxBU0CRo!41tjwQ`|2E zS`$O({&n6{t#ieo<}C;WO)R!`Et@c;8E6D5A~a8=F$&`{^Nle~8Dk#`JzBy+WC*kj z>Fr;KwOqQdRwq@}t}|P57HQ-1(KD5l)?%>uIMj4wLyn`bL(N|dmI5d|&)%03@1Isk zTAzfAM9YaVpgCxxRdKBZX3;eH!|Tq|!J4O%^5EQs5CPX?GGgc^=*bdT!0=@W&4cgN za(g;(@*nCPPB$luI`O2hv~{VR_Sn2&H2ps53&(C#@?abGP@HeZUF<_Yc{(OIKJIMU zQ@kl>8EEr`ZqBr#Yr|dNSj4(@o>#*toQ=-tk$C*+cR<$HtUFvZMN1lP)dZK`3G+$Ow4466oyFMHbUCf{Cjrf*_aN5nF%axfKs zcxs@gQLqNT#;-wA26GNJsQN)JW$A{IO@PJyW43?q!@@xjm=n;hbZ4kM{BMF0q zf-dL*u*jxkz-G{uR2~P>DJw^bXWy>Y(!kL0M^;ME{Nf`_df_y9BFOo!VLlazTP*|g z%B<2;6pg0PshS2)1s+@tP_bGE*cc6l1Fq3^BGh>4u<|uDDu}?P+m(zMI%U^*i*D#yc;ccg!340*fD#VRr`hjcCy(7`YU zYT7cmddQaz&?gvg2hPzSVHH6S<_aN5Wg?}-)U8Ug>Wwy7-K!ax|k{@6eQoa<*eTZRAL7AAvYf5D*@HbQg_?*Ec zR+&wg^d{^CRwZrYVNuG->%b#@2*029+;>}RcH2`Mf^q>>U0|WL~P)0ZdIH+VL zlJla^RLr3ngh94Lu;Xh|M8ieM%ox_b5pOth9%z;`ccAx_`!Ljio9} z2g@x`i_AG_(<`x6E7QR^#@#D2eHEly2)75tZVtYKHfSxzsp1rhKR*9o8}TjAzYS#Z ztbCiECZ4<`q2T-kj(M~^1a5==Hjo?D#9XL&wY~>i7q)?`mHh8jZ(i7=W_3XgTLxXR zRDQR*lFa3#P&!+dCcoD^=uv-bc+*tRP8mNl2+RXGv8gyW=-DvMIMCll;EB0+trX8| z_L;_BQ6E%&?<3LIW|bwOkkNR=#Y0{(c+ePl57E-NungS~V$v$V)(m4#N`wJf`d0GM zAZKlH^91U71->lsWY(7bt$H^aIgZC?Xg`Yzhcge z-g7rhn2+tdW^DiKNFi^Xznv%Aq~9r->w2WLJ$JnS&wt|hd}W(G5B2E)`r8XWIu6$r zvr~Vx@~psFdUe)II|<6$S@)s`HH0f(?DPWa=h~lWM{hVzq_0huj=u{t5}xE9T`6Yn z`*5Akg9)|b-rw_wHV?_}0*LKUiOg@^blc3$uJl!IL=$uC07&@vgNJlGBL};E!V-&_^+Kn*`F{&A2I|2#IAEk<)WF+(9jIy>5urq^u$Tx z=l)GeF!2|q_g{YN4PCQtt&9_nn{>?>_}1UF*2ntWq$}68Wfj-oj?KRk-XBNtiwW(x ziD2&1ZCaa8d7jVpx4nCvP!f^6oimF!s7K)Fimm*+@VhrDIeA_VR{+X}-B{0_zxGy< zzs>jtYOv&^9XjY))nUS+=}Q+q@=5V~FmNu|sELs;{=511r~TV*Ei>yUy#x5RNu7%# zjY{)qIx4MT=wMX>G>w`7Mc+7}h}1lh#wd(?6oYXm{-HB={!6&S6rWr<8T<#U>(F`p6$1)2{zK#@pi~GwujXTyA z{B`Lm*(BS#b|%L=J>C0P%1`}u*7ue#!2w}sySF=|NXlG>LFrzMSETo(w|}MUi|>0V zWESdzXKw2@>G5es%$skP#P`|@-otGe!<>&avC1a@7S}OnJ89WVz1tsp1HunJf;PqX zT!_mg6W&ndF=ZZEHSk2#W#eV4EGIC&bd23^peQXO-vL+yIgkCHfM125o0K~Ni}DBa zUgryCzCBJVBL;eqZ-I$11z!=7MRg!b4i2t)iM%=L0nUiQht*a1NK*(boqG4RfBgCL zpyX`;KE_b$HA2_}R+R+cTCXVc4 zRK(T+xpcKQ2Y5Ag;wva)Ra73(+yNN6if?EO1fOeQg)($c+;hnnk3Z{gZ~V%;EBb^Q zc?(p}l0hDW>o^4X7C0AkT;yM?gC#MCEQK2z03Ob`OZryce&&bo#8LQVK#UqF!lw@y zPS%l9eL>p1JE?|83pIH- zes$%$>;QRd$JZ{ld{KjH3@CXa?RSY;Ktc$RL5xTT@hc;v{9HwH2r^<+BcSUAB znXe9Xk>|UxB0Pgr%0ZZfur5d*rv;px#`^*riD#EU&9DUMY=Oovjs*#}Y+tw2+2n6p zMRzSQV^a{L1`bQl&~*~B6PtDX5Af=@Zm1As18wgB7eGzxNBUbEhV{34Xh(;vbFRc5 zu*eJMh5{yThm`9`WqkXm2aa#k(BI~QaF#gG-*%7q{X5RY`rBb_zSLgOo^HpP2g~Jp zw;&mCTlgf1z6`$hh44CDuixj#X2!U@S5_qQ+D1-H-}&cz6^o zM2Q6l($eGv!>E&JmHU1D08R8r%D_U@?EXH64o_+Rv;@2Or1VFSQrRIb{;!qj+Z^q_ zKVf4kn3<3P`C*6jr2o|&+5PZ^z6<@W9_IB0}>-8lx~SLD7gw zgs3ecCar_yTg`MUoNQoM&wNbdCkAxqF;KWe%jn}NcS-sQk#AmI67T&Ttm~-wH~J=6 zKcio=S1TEO39V!sYTccgC(i%UDQACcpfXOVk+)J@n+napO_Q$c+T6_6%i2w0{v26_ zvZ>uq%|eC~((|5QWL0qlH|TZ0O`L^~J791tZ#VzF7xfQjqXtU%w5#sF!*s*?>y3oI z>vjDXjBx)pW9tCzWk!&Q_t(EX&T($~pmD!lD07y4=B>XN|3A9>kDXnW@omj_nPF;G zPMg$Tib0cn_OEjr2?&~4H35pgaX=BNc_NKb7`KuSYd_kIiFOt}1}HOvO$lJ7+|8)1 zZUr?h)KQt6s!{zLAZo+yaNjb+ReLKOkXKrU{fqJgPrlSh-n!x3AaH(`z-hFr)u3~~ zD0h5~&to}ocEZj2l;ukX`emiBQ=^F?(SPiV`2qF~x67g{|LR}2Rw7v*rJa0_N3$%=BplP1Bs1qEMZm*NZ9))Y^F^Ciz>=-41y7+!PsEx zDDheAPW;lM+uykBqh6!&Z8`GM{$p4G){mlvRn0clcx*G+CZ~faEnyKbz#DaGsc6_p z8s+3r(_U>NiWm+^l=HzI*w*KOoRy-6VpwC?ijq(I(pPk-ghmGSKX-(^MMGm>470kV!Etv1gv!<@XZ8Ky7fqRj^i>-c`K zmGbslFNOV=bwQyA*jTIq#ddJAQHC`LGqYYsL#K=2EOzmvk+vyUrT_2dtG}9iN%vVd zK3|`24Wpx!$f=FRcs9eV^E~O$$0kc3TLf0ezDTs!4KNI81u9uhwpk*Ebn53LNLfuGiD=EJYDbN07c)Hustb?NRyJSPpd9UC4rEkyewk_9>Y52wQ&=8WE!63 zc&aG$Yz~MYlNOUB)Fe`yk6NE75;?pTU@VY^1hqv-$pDt7K)i5Oti2r1md!_&HH+_7 z114ILwc)56i#QD}QLZP_%GXq-Q!XV$yfef$Y5~Ygxz2+!Ez`NLS-_eddH~6s?n)v6 zYa5#n&nD7>azwasomZQ>QJq`*P1vMm`uS?vVzFFpK3b-5CCVwFq*Tv7kK%(SLaA0vD7o!_7RmA5(#Ym2hv5J4}y>h7+hm}P?v2(*^S z4I&;U?^jT^!<2(pP9}!zX_iRbDo|x2mEQ_YQ?b>Ddv3LeNPl46DpEt7o8+_0~d#Hf@_)3IOi>1+YjvH?#Kw=u2y`CyzQ0#K5J2OT#` zMN}DsR)=Ci@$)~@dz49ldvM8};6s<3g4^z_e@|YGpEYaSdww{c+P5AotS|$9vHlj= zW+&=h46(FH{s zqEf&vhb4p$SqV{H9>Qm+sUW!4l$+$~M{m+kzi)iBoYha(%$G%oQ|4<@1Lh!8?N;gi z7GHx&Cu~Ot6`r4HI&j8!&XFa0AK5%ucx7&>oLT%ynFS8eg8>y^MhaWd1%@Vf;aADL z=uR`LZxy{0-zE=2c)05s10460FJJM~iylgy1q$_{gstZYQS1o%0`Pu6GD8(Dw+~ym zRZIY4OXOrJDOL8wPsxAFy!KW12bb!7ep9xiwg$K!j1twH1Gf1vgc#O?8HgzGmIUh- z1o;Uthl7Bj(NrNSrJ9*Y%qf8xhkjP&+sYRjJ-FW?T!Z627tb2`G|pqx=9?YH#d+$8I@t_mi zw-CGf0Ye>nw1k+nm>j^+@bD;F>c(x7GsbBNq|WtV=JAs{Wb|c}@;1k$u%9=BfPOsQ z9bm%Nb=bpDrr{Ng)jRJgT9-ul6O99p;NouY9bqf(D0dJ1`-S?ELc!BZb{l=rREr1$(^ zVCUs?$C=K>ZQ|d7{k)8WdP?`aphv?!CwcN5HgXm}=ZzXm>d(Em%zMZG_+RQ@b-AearMoc0^Z3!`H9VFjoneP5QN)N_8 zj}a}DFRdlt-iF@!N$DTDI&ivi9-{(DKE0RBbY=AnAM3%eGohS_cJtfc`|#Cr|C-HS zLwSq!VBncW)4b9;3_D57%$=j#p1)l@eFuc8n;7j_db2JS?w%>5D<6T<^+Qe{(7sxh zw~hE#J8E@7$)96Jdh-Wl+phJqbo+yt6e(sr<2a@CpUvnqo3HbN-Ni&M@wF2%WALKr*>xki@!i@oq_qUVd_KC3bfXOIvqjWWc)xx8at3i;^Gk zI}~>-bUasPfs?A5TzX)f;5<54yWZl2PHkTu^1DpS6PPO2OM^aVkF(NQehu^&{LCBc z>KW9W>Ue+~$=$F0<-_MZ5}drAeWWgwHeTQx$(`Ph^BA#eXG2z8oX05od{M*?XB#Oj z_w$KcaY+B}nVzRV9B2~jM^dJ+N)`{DmM3C8F!emA{C;yaa4>v}T;X~eN)c0CPm?KU z6&t&;PX{t)5*s=B(ZYO`@2I$=eo{b>#A$uIz4nDEqxf{2&fMc>wU0jq=zp|jk!0TW#%I#W!!{K z(Ngj!&UFUPRf%)!(w*`=_!@{B?V#f|SbX9deQ>0VFoM~~EVqFT2#P`#FhRD4k_?l< zg#10f*!^3V%wF|_>-Oz;sEl;W@|Lr^8jpjII+CGk0pQVq$zRa(4D<=48?2#XAQ8#i zmr^GWfd}gY8Ql9Q*ph_NHEsv<17Kh&q^7M8MlT+&0^+A$bT=^O&4X<_ULIZCcI(yU zmqhLO7RU`C-@t#$J5~*t7FdemWu|L^Y7w&*$%qQA1?=Rn0RgfS0j+NMVeWYR76W+v z&Y!3Bi(R>~+-EKv-KW1jfNzPc2E^dclJOu0vA)(b{slN4j5{iPgM1E=^)wvqK*R6n zD)P1=--1J_Tan`C9enc@xPV@X)E84@k;lQHTn@a17#+&wgmENn+$0kq%qPw%?u zFLXk8*|7S?pz1`%z}cLwNE65Ik=L%3=^P`tD2W=m5{e96-hc{ zc)eibvp>9V^i%FIJ4ih+fwMJmdc*F~4%vb;$6x5g%CC0G?KlHHEinD#@6_$)%?<*b zjFO*%u`iM#bQgfhTw<2Fo8|cR^$61s*he)en|o{W6~j8zc+icbvKcxkpcE}ci3Krf zm7C0v=A=Yw^3fn?vF_6$^?R2=?qS}+Ec#D4Bkb48p2sNI&znJ@!jt(?szX74E7ads zi{G9<=h`zz|KQJlcu99<-FU6My>p(Z9qW^hU_WoM^io#F?(Plbd29&^ADQL~@6*X_ z^qw}^X-04#dT!l|2}ecp_Md;2(2ZC~yZINLQumMkvjjcY7u4EPYGD05ybX$HaNT?7 zsPlFNyfB>4>pzrpSDYw%!{gJ24T>VN;-R1ZedB~mzl+8R+9KAkb43!( zTM!7ESoPV2A+10Wp?M;WQ5ct?Xv8E!)RxecmQjpfL4noKUB3=171Mxk2j9V{F@V%d zcOcPe5J7uBl8|sS4ljChf>E`Ck^b=oV#a3n7xsmT{SxLi#x8Y@NKO= zA-DoVg1331u5a^9{}-}eVg5oS(vdacb{D$f1auW!Fv#^hHPHQ5Ka2AikzhaN?f6a6 zNx5*>LeK{$^>$3}D?RlIY2VZ1YWG3RI}~wxIjiH*+x-r(@yM>-UA^*)KMnj1M#5o` zfqE?SccX!N+vfZ;`}nqOvp*IIM*TWh2&p!YrlV3Fh7LvoXc{#EioS6`5vjrhnvVLk z>Y@<+HxKG?C8_63{C}0AX zv(HuEHX6=#R(fxPa;nthsKPc+y2d*PR_B*uDZypET9z*{;-n3Rr2e1@?*Wm$64oa* z*>|nwkX=c%@57ynd)K{(7kY!x-wJkF`uS7jVn*g|robl-a1`My$9Nav*J(o(jR*HdVlhpCQL-J)8JwmshPk(| zCH_vqt6c+V7dtA<-^ z(54c12p+MZTNBmo~Pxv9cDid^exh%F1o;B$>E0PrBa5XLb? z~&7dmyyaTXeaRA~Nr!4tY#GM^7 zG6e6zGP#Oa%r3IHFvx7JL0c48x%kDJExJ57GRinckk_-7g+zMxyu%_nZbnhykN}W#ls&k1!^2vHrFwVZ!nCG+E_* z(;wn}I$~yOFj%i{!}?n%@d=DO(s#-OGFwW+4@ZYJv`U~$#-KkQpElrfSmAEy9pHJ4 zIy^&$0%OwpW<6}urR}mSD|j~;S6`XUx1xD$g)0_^J&;01;}P^oJ2W$NpudZvrEw=^ zXcX(ljlip?7i&|?%tb{wYU$x z`!ifOo*YR0_Y*{I{tuCG>+}(CW~bu^KNi;@cI#HcHv9sUsbA-cLCsqb2%1=v8ly^$ zAx#0q6%m>z(inwt35rHcB1CNpDTKzP)s%0uOr=sW^?Q`JE6#b0Y0yEP=C-Z{e_r&i zz+3W5r+?kgan51NDw28@!e5}j)%VTR$?Vl>QApM!)3zAB2*;rEo-1U~Onh3@m2H0K z(w{q{Uz)$LuWL_-liai0^`O5U8qAD?Ri2wRy3%{3E7OZOEkQd_Ol-wuUhf~^bcDQg z?VNB6&b95bs|cRQ%~Pynwfd84!@1iMK{_>Cx-uq#a>Rk8m|@~oIc-vVDF#jQL3K=) zVsL9b)#fpDRH@O?3{W;vL};E!V-&_cnjt71#QIy`xuZi)8}GxZF6Z=z_zq9yd>JVV zK9$KQt^QW0Zb{;E?O?#nJvopcxO#Z|YVk)(lJ&;XAo-=}mDf2w^taHFrSV~?&XVEW z2{IC!w)0|9wdcBU5>ubAWCDEgaGMSW&IgB#8gfY%&F{*S&|&-jNZN=G)$Z#DN=HFa zDg5ez$=36&?}tGrWrAj?i@QMw*1~a*ODDyN^7FKS<-iLf22U*D`(*;-PK#`k($BA@ z(c3X5ffr`U;7Yk5>tIfKg@h4x1>cqcS&e*Y*$lZph})^PMif5Mqx)bQ{5!jm$O=!i zLdG>br{EB4p#1Vb#MlQH&4pZR8AC-Fnm+}!ZI5Sq(+Z*r%mz6ol#KHvJO$tv%BZ-4(*$=d1S<3fDF~2*;D2@6d!y>>q0h-_eIP9#m zfKD(QuDN&^oAi*FsnC3_LgR)#4QnDB?Q*V(GRA15mY5uS1i?E4c=hN69F$s2ea$x5n*DSh~Z%Xk>h=XDoLp zNO>TDnnuqk!L-_8a$QS+wyT7TtHw3C5`;&QCCAP?KqrFOOd&Y0Lquu1TrvC=q%j2t zUjuBVg99{4EU=ukKW4Xty_P%n_pGri`h*Jm$~^4T5qv5|;J+Wg`?0-lgIYnsuQv*( zEN@j915_8|Ouo8@F~hJ9#6!3^t>uq($P(mvf?TWCg1vxhpoonHh{)Wj2zj>hrNhB+ zz%pgtfwB#tL0LIC%v`|%aLCy)pqzzPg^NMy&`{##^3Z4>axC|dV;+1&4UT9DY#yw? z^|Ag|lH+bknXmFR!(^gQW{#>Tdf??2;5Ob4u)>v*fNV+DA~1TmW_WjMTWZABw?L8m zO+P&I9>1@pdqI$9&b%l5@b&EBZTdo;f{ZK#WR@LFJH9^dZNrMpV{jO%}#BF}=uq z6h#IP#1v%(Aa;3U(kgd&L)w!PsmVv9oRu`=wuXC`^#%6)g!?X#j?v%uCI9n;_+7tk zV=h2B3-_fo&rgsn^tT*S80c?fL25Jfx8WwN48Oid7EC;bCAWX#NP163uG*EEEaYnzT7e=$^F$h>l-W@lV;E4M z%u@7d2?voO&@!aQI!x1oxV5tkJQ_=98N7d0?PR1lVD4R}rSvFJe-DI4Use)+KM^RN z9E;A{2cvY~Vr4de+PJ%~15qU6Va;qj_%=S3!Vs$yuG@&k>G$K<5EkKk9lpP3&otLt z+wS)Sd(JnTS4|5>c^~?{599L4Obpte|L!d1p7z@^u=$g2|IS+>qpv~TEfG;J>qt-!wRrv6-64&}DV-83zMoE;73MB=Y z=i4wmM?e`}0~W$c?So@MC<{lBEy3)=F5i8r!lN!|>+2R3e)|O-4~rB>F5*%!7g}KN z4HzmbgK@$6D3l(-`+|sZ;ec|+jdr;3^x-0Oq|!Nj1;iaT_64Wx%Mn70Og!kwa9A$; zDA=lOwJ2h+=z#a&wuD>3l^DXTR>aI>uHa6Lk|8Wf0i?+MAs+nt3X*&TNxKDjv~(f zs;?5S7j{^!3g5unPg@rbDPpTe+I|MN0#A~f@9|Bp)>tj+%NMYu8}DsJatdh~YE2>d=fYZUSCero+uLH8%vmF77XginzQa{d9;G%NP*GeCI$rKz@H85E} zK*^Ni#@Gk~tlknWaxxBw!FwEh(i<^xIlTFgD$W(76p$dG6{6#`Wpodd!f^*+r$Axb zS{9+%l$c__BO5D2mnLM<6L9`55TiWqOo^{&p$}*W$DGcKR{W$HAB)Jrt;$7ySLh}L zr-GW-z!BHwD@=lxweL|u3yVDD;}-LMB?(p~m4qEoX+VD~rIiDjePK;(3UBc2CAg1l zTc51RP16~(4RZX6<2QMqpJ}vw)JbUh&-lc;1U+F}qCGqQWT3p~U1hV-gsx~86JR$l z4BT;Op4B-RFJCmnEDA1E;tb-%CcU##D%`d+U*?%>jB?+bh=g%7x;Ct3>Mbd}A_V=4 zVpk%wv(nDOurf3rA@i|S4IbOtik8^rjY+Fq_lC5|Qi_(kahv3faasbYmjp^qP}fX$ z-9u2)wnb|S6{DXqUCdQW5&Bu6dzJo_ux?yB$WB8M9^G?ADWJp%RsU(iv%gw4-ZF`*%9k9@XXQdrxrP zObIj5Gwmn@tIb4xb0Xo&=jJ=I^nSi4$nh}%h>hx8F{o}U7>2Ma0h&gAHepCBP()~+ zNMjVnB`6v(i4e6ZkSk)+`pxjILWWq`TaQDwDmlydB{ld~(M<$%-(vAbXLeq#KY~NU zD(z8jBZM~q1OMRLsxKUF86a@S2b0`sC ztvKn3aJP$<;)F;^(C0W#ppEr`frD|iJF#74`bJ8zGPLBb5)k!!T|MvFQ)TD&9!$t? z8@AIY1^p!l-(ib9nRs_+#*!;t;0(wmwz10XR!*hfkA}iyXEATqi*6g1e9$G4yFdQu402X4ZfXJ)k9Ro zuHXE$Dd;&(oTSg?!S46&H@%5QQAUf#t{C|Yidx&D?DBOr_?FgVIAi+4NO)aF@3dAq(G zigO;UFlG`~8HV3hFsUY5A-@XYQFXiugpWy*mZvHug9waX=w%PeKShxXe(AUvj)SS& z+X5^J)1cp1rpC9rBn6WO`_s{85T}Td9fLUH7I>UoKp!CMV}=0(8-)dp>{IY!kOPgF z4^I{?2gWw^oq|KE0k+E#1*)1G&*sgbTkvSaKt71hc&hvB43X| z!C0Sm^)wm9t6X)jI@8x!f7>ZHbhP`W=qsow&vuz0{46)}M5?&PR2h;4;gvvLHm$GC zJmPe^zc$c}&5UZd?G4@JTuwr)m&-flyxni~m&tn*nlW3$u_A93i^|qyt!O;91GA4C zI#^6ai*0aPngRQMOj=PR)Jdc!AGJ9vF%PjCfW(NHVT?-7^521jSp_IOnJZ>E`o7b# zdIcAoRg2Hirl3$?OZP}_*VRe29p@)x;9)-hc*+y#Z)MjFu5{fy8&VNy!*?uD?(Nqp z-4B$eL>Z{XTi17c)|cKlin)8Wr-ojhUcBJE%aj2vL^m8Xw0#4Z7hadh_3oUnBy<0$ zLP!k2l$%BLfUAgKsTEC!qA|&b^@L=jY%>x-)2Inh^lb$i2#QF}6KRaXxPp8%#xP}! zeJJ#32?voO&@!aQ>QJ=Qjf;zr8dVkJv;R_r zqtcmQogaJ0Lz6nsE9MN;Yh{ID2&)pHX&f5gGNz)@JdwsIj9bZvwZAS5!|Ia0Ud39k z!m8PWD$L-s=ayvFDRs1-(W=IDZ*<+B=T05i4gIZsgE+Z4PEUTRWSu7*X%Dfn!s2do zVL7Q&%=0N-jojGc;2deu>2S6LpLacPI$L?{U6Mww!<4IR!~#wRlMhi8UadQ2Fe*?* zd(oKmRLId-0}J;QHZfca2XU>U*+JCyoffmu-o8Oj@e#GnUlk=LDMxecju_tUA{5o9b)#o zJLDZ0X?W7MiL1gfrRyoI3cgc=7S<;uu-?pSaF<|sU=WBu9j)d8{V6y$YruFYSKxie zpQOJH)GdMR!1)R7SAuiLF6a||>2N+?4P189kUV!n``4kr74JE0!oeO(=x-&R+5?`( zUPkh@@!U}v55A_v+w2YcyKq*Ww-x6wN#)L)lbp$XD`Rp7mYhG)=9*sD-QeuaDt}0+ zhvY^a;;g+4^46|F-|2Of3b8qThtrpj+0~krOEn8TvchauQ3dvELNjkHe}Ko}5jM1< zg($HgCM~`;0fxq;L@MvoYCf9ejFDTyB`T4u%dpXYS-g$`!o?Yn6+UKX^ z!ZY`p_3OX-o-g{Qa*f}C@)kUM_N?Kd!iiXr^QhzMr>A*qhB54zH|7pduZB7fcH>u% zU+ACrwOK>+9xUwlxz;M+*@PjjKoOyNB8^cPmysJ|7-CE+ z9z9yZL1YND4Czfuq*{lSiaBh2`*B~AR2k%VVL2nI0~8)pz$(Y{F)^#J!~GwBb{3Qb z@MYI+1^$L{e{}rnq>*)P9%-2^kEa5E_wAy;wLandi?0s`cp#nWoGqh!uF;ZzChISG zT7G)jTNd`r$pt?yj}B_&t-D~G<7B=tLk3T{7V{Xp6GmV9r-8Hd!Sll|UFux=CSBsZ zLv|G|ss7G<@h%DrBf}^F{91z{O8q)l3~JtjK+wcu1=fl;hO`1jgyxAfMq%978Q}Z` z&Fbo?YOJCP$e3wna3WK1Qn#Fj@o6eB^k>7i0!MD_lJ>FhifrF3Szzm6)yHJZnx!|1 zY?$Gx(x;>Lb)UV^Jtg;99M^a)hPvTuC}e}s4D1aXjBl|FCp8CS<}>^IRG@G;B z?w29?psUcY-N8AYi>(!%Qs`KeoOrkP-5lAd+8eEX$~abPAh1UpK&|TIKHGgu48dcD zMdYxNOH`_B59w|N90n*ago)t-7l>t|#px*t2C(eK$7d83ygkIjpjFxmGQQk%9JlQU z*+gZWaMA(aWpbYZ!#?k1O(eKqid=-oC1vII1T~$w*qqt zj-VQda{x!LH+lZaYTBIS|pHVifre zspxzsljV3?dg|TRp76tWc0N}b-%ggdN~9AyFc*aGM=Z|08UFIoFtFL( zE*OT@t{dmI4@~A2gMP&nrU)Fa8bIqu3RGHb>*5?3FjszvUlkE3&wwkk;6L2ndoTcc zm7imq2k-yM#(gh7#Vv$xgX;^h1EQ<)rO(0P1Kc>^}B794+z{5WzY|a6}b+=v=Go zZ!g*_*cTQP9J#^udY+r5bZ#2-vD-W^iTAc|W`b$2bB4VVj`_6E)hUh{!ijY6$42tq z@EUHv{Ylq-vA(<&^nw2=YFTC)F4j2*x1Hjqry+Bk7r3A3<6-&Td)nMVbUh_M=#-!| z1KnU1`U>D^XiuBbS8OO!V4+cX)HZ-+XLTDq;^9%WMD;>j3y4XJ$pH+FNr}|tqe;#f zxg|`d{s~X6d86Y6ZNUg*DjH9w9NBz2W@a}zT3$lg_hV{?Hv}{9#cVz_pVqPtLxJt@ zUm>GUraIKK8LWZHyh$#f^Hwg4k=*7W8T7s3Y^B%S&?)^p%<~_6&->gpnf$JX@>YFv zmMaV1xK%y;`<~G+oT_JSJX7t;e7nHBsLmOI3q9EGT@%wYdgGaaWS$RPQ?AX1xvc~M zu~D5X1~qR%AZTLMXA_3B0!4)8i8MxGT!NwzlL%2;LQGn}QNHa`dz~UnX;%s0`~>VH z++a(hXzrLH-VpV-yb|qi%4Z&s-CM%;mlD}<)0{4MT^r^K&T!04r_Fc0XFL4iJ=<|t zWZPLPz=0#O6=$ByJ-w*y5A~|VPI>&7Uu)a^xaT(1C&iHfeLY&^x%h1 z@|MoU>PC=r9Wk;SmheNa?_SU?{`ku{y5#l4x3Ss=^>g&Y-lz!5{`5Hz7Ng~!1D{>V zf_{2CKAJZ6N-F%OK>Wr8XV4E^EUxX{{?x!g@(gUk$t_R=*`<)%U&@-*6Yn-yU;z33 z$c4kM0aY{BHj>@}t$>`B-6b94jpQx*P}|L7X1gQi%g)W7>X%^koABbfaXP;9ifPg` z!@X_t#zBlE{-5E~<@Xi+tPr%8W7~NB@a^Ol-N&+QUwob`?h?=QXhZzQAKwC5JGkN0 zCnp7Mc>5+L6HsNVpaa0S6gHf}fw6+GX5#{LY2yy~r_Yr(Z&NxgGb{4;zjd>(25pR`78MjT7>8^X(^x*Ts&kdgQsp>ze&y* zrzvbjsHLu9Au}ll^JS+Yk8}VG4LHk*_{xrfHGNw_5#mpC_KLiVL>z;e0?;y*41*SY zHPfo1faqgiSiaztC$3%Mdky5Ra)f`(m!*YtK-jl=b>SJ^sjgUe#9~P_9yk?$nu1lJ z5wTvK=WP;5K_W^AP>-sT=&i3LdS&B$YzG6E#&?6xT3%O+b|i8QK)WIbw)V z(-@k*ibiAVfSVPsT|^F@?JMU;rUxC`Wf2@EE>_?I9-6G+J3^HpO{0 z17FRuy_)&npEln$uOXP%Chc&uJLW`BqiNU7l`l1VlPOfFN02i~&k3Y?T zK3Fl*rEg2XI9ZEf5%{g7Xyp)BDzt1>R=&%kd;mqlftx?~{n-zlpY$8)6EM0#hO3`n z(f+Y=vw%LgpJ^llaPUlOFM2kG3_=@ymkEo|ss)KrlPu~uip$WZfU+4Ppd1Z~P^DEL zg^^z`P-fDoxOuE%WtCKb_2l6qkY{ks2WA8gV*PE-<&|XO7fC9MiQ*6gd~=UyMlxs= zHg2F9M0G%p7MC8OT$;P1U8mlp8p>N9e&;fR7AXjBOhu22JR-l6tB_D1Qj~S@Sq=5W z5R;pNW4H#`z?Lb>WyJAXeFI|X>5XC&tqq&R>5VD_aV$WVhu$(SJ4=&E@fU)d**PpT znI0L!mPuXefzPlXezqv38S8iX=j?4TzLhb^?XBQ?o0S0(g+C*lazIxR&cSKNNN$Go z8=`pV55xGKf@7@)_WBwug|>g2vg^UD^o!Wna6Q-%_VZ@!edyr@!$1*@rzIF!HNEIO zn~(vn2QxqKQ{JjJ`JkDZ6?a$GmE9pyB&}zsW2f&*neBXc5EnB@!Y`JBg1o!Jw>A46 z1c&Oo!N|=;k$Zzdch#+f)M_Ex}UX3-QF9wPTYR_VWg9EG0m((0`Y5 z0vS`1=SiCTZv*U$ zRPHhy+p%snc_NKb7?+@E z#3Vx0mJpNHZwuAyvi|7|hLpDyL?N7y!4m^6g(_lCT2_=+ z`!4R?)4svpV7;`v-+jn&^X52mEnqANJpEaXC9{5?gdg$L>b?u`{a5)eJ8)f%$jJSk zbcLQ0^MIo}94yf>D;09Ca+GrEH!IIz>e&C6oVLp>%rpn7L;}!Sri>%F2C9q~BairW z0T?mLBBS{&&=)$e;ySeZ!H_FQhY-(GS+E1{F-UREPo_0^6zuLgY^!iU7~mWDh?A6s zgQBOmd;SR{`F8(jRe4((G0@{3mj4D2GbrW}>0Dg)D8ei5udIZWB)iN}(U4rZ>BRAdLZCg=m5tQ}CqnVDyvd3Me-bLI?trhO9% z8e(BQr~%+#g()vzWc0P@KltAtADJwk)1@N0JxylmTMi%W*tOjxbu@9jrD4_b%`oYF=-?X%Ym9WDMm`Wi-QBYxVFqxsw zoq~kIjvK6Vj1=%LuMY4#aRJi5gHlnKmp-VMeiN%Lt?dWez=Qqr=r(X5b$dc@Q$RfX!BKSaaiF>7Muhq)&2X^Ny!}?V_K5XH6lpCp4}*oPOiloIKbm?_Boxu3S?5 z)L3TSS4F<^U%ql+PB^8_j80(?=-sfo?R`MH4*Vi;i>xWRp9F>o4P4QTRdh(Bp%)BO zmil;Cl=>1 zqHt0NC^~CSc4g-xEwJB8Au2XRV0ud!zZfe5<11gO^yW6#f8FJdQ@Vbor@qAk@k zk*7~}u{%cOw%ZmvYW!?1JFYH@=oMR^dEXZfe5y@a&u`T)`b7TetOH)}Z!0NJxE;N1 zOT3=dkMbNFlf9!DoNPC`uN$*1=^XvH$`qZ2C4xZ}TJT&kGx!wGb4{#>Plkbr$Mh$H zB1U{6tx=fwchA2~spJ-a=><5NopqIeT|V(v`9Pnp#o2uv+Y7Gla4u25Bm=-rj z?ko{`1Xl@a2X|#4uX+lB(L&`JjkHGmVQwqH(^dDGEojw6qbdf|wIFcBjQi4wuyP@y zSU|J353Aue!_a^PTi07mMS$z5%m-dd94J60W_5CKIvdDI1mT9tErlD&|2S~*MZ6(n z#AuzhISpK8C7O>5<`yYSsnh=9?HjpYJhdtHQ{;hF~EVjTrUfoL;1100mE=b zT|rz&gcdW1K}x`{IHc81J0^F#VtQT&F`GnwSS0)|5OhW=l=2{L=rz`*uO%3yxYC1L z398?)vIE+~nlU`r-GWht!=Z7Qq!~g)i9$?RuI%l|oWhZ1pU-`CIRHCYEpY#B4))u? z#g}PB7FPs};*ty>%g7SgZ+RZ$wy|AUx!RDGK70>dWPdT}G3!m9G=eAGj`jK#IBF!H zjx6oBzS_6K7qiSL*^W1LOuK$SJ|^A0vM2WlY_|~DoTGfZz_&rJaVvT~xyCOM48?YE z%tAS^*ErNGQz^p$*{tXxN+OU(N?Jq(7&>)@G}OcXUTWes)Qpj_ppe=?9rjzh=Fgl& zFc-Z>%TGIHTK}FS3o_^TdeD}mOpOJD)Y1L=f~x)Y+{@oGwgUEBZ-3t825(+0`qopp zbd23y(+iE<_zdO^KN}qBh^5Lzuu$DNIJsc^0(b4Qclne0@s*>&L)Svheg&(#!;)Fn zCKpcuv5ajxid@NmN2h$@0o*Xi(8v|dSVbqk2Z5l8)zBG=v5CO85h=cq)+o$NP;^of zA!;nJOH$HGFSkucly)hOiI4+Ejocbb3-()IgY6oL3YR>7gUHp_BH}h|!TRGRlUCN4 z5DO(pK>j;$&iHR0?6+lk{phdA8Sh)@$}?DdD?igFm#kZAXT4%3u^QohQskbWW79zr zXs}RS;oRvw*cnLgdSC19uIp~?)du!k-RpY;w>!?2Q~1`@-~4Mv%PsG6&_W zEqJCgM5^IRjm}a`itj-nXks0n+}gG=dwe0PB?=RccOdK1LBwSC7WQUAJZtl9MrRiO z5aePWbU9*x3 znNL5e95@PnVUNL$DqW)L-(Jx|_+}&)o>I##Mae{T3?`i_CyG0{iE!eBolic zLJp+pkr$R%s;0P1mW%M~ZwEGKvECAU>uf(_+ey7HUfXJt0I z@^%Eolzp_5l52RhYjC{LH(;4zr3=uDyw|8z&%qP>7nCR!*>6oM)kO)ysSBj0XtZ?= zeE0&x+A^fcydRM^4Uw`0JI8jU?KQ(3Is3bBh9Hq@>{X1xcXrHD>4(1MFNPO%O3r(q zXe_A7r!|wI&{IO%nxrIme4|x6=~!uoYF-f?ZRfVhT=5@ujHbr2-D&q8HqTiTYbyRe z$jSh`%;`=+q%b%PK3J?(&6ho_TMTr z!?L#%#L_^_d7kU#Uy-%g@4O z;R6K^`xqVhgDYJ5lV`Hy!3r;X3eMY~LdoS0$nhUsk?Y<4znme|JslXLRk>2vUy4a} zF%8lH1Wl}l1jX1ipokP-NNbc(9Hlje0rmRkF(MHTp+cZ#NUu2$BgWW=e@(n7#xTH4 zsep+6#I!ZT`3WD~k0~i=g~e*cgfBhc)i-?~Vl$@+w>fI&NQB;>ir%(zfs6AKq%{4b zcA5O{R|D8@9cTDTSId=40~)T(*!?GH(*u*)j*_D!1^5FuqEZjuCX!3uf-77 zxEd1_W7B{lQhXt;QJ8nmf#(SyQ*drWZFqjdYR4bNE!2Akk|jfU3i3NPEE{sL&P!0% zjdP|Uka9H;_m5)BZJYF5|9!6{STkTTJXl)?$vS{jthVC!Z?zZw6Y_+ z-Ss^p2Ug%Prn|FwOmQXP;&J8*D@2*x>5eWgk}d6*w3|S$bd+-mpC{7*UP*c}0c|@5 zfrImyg4sXG5!YH()Hkr-IvQOX7 zc_5fM>!Avzf=WSg9wmkYP(OzOsd{oY-AAVXW_DDQFoh) z2za=%IE#UgOd>zVMqKlD$TGm2{AH-jpHQ;9ldGf+vV2+k^6CW4ILOm2PBFm7bCGMs z#SEhR5yzAYtHk4qpN~OPUwuTjhDwE6ryu1MJty?R6GcL74Ed>X2^mF37+kh56g{ci zo03-8eFmgC?Te{Li<<3tbq?850L4iWuc2m9LUy7_^O++S3SPnTY3gYlF4J>fXlyHf zR&vkei?TnsZbYwpqoGYrCf|2LY3bHiyHeQTlw*l95g2}9QJ?WvEY^~P;jVo3BJYCl zoz~a6>_Fd$42%i(-*!ISDQb}DZC6a_YJV{z2@DaMb44+!flpQH%mmPMnu`fjl0Xq5 zzL3@^%u7&oQW7C*EKnFz(yEc$7Cej?(?V`T9>&(kwho9&5iP3O2>hd@4p4NW1kC^v z3@4JdR=l?Y6C#>i#tDX(O>EhHx#OP$T6cW&M#$PkzagzMX-#xxHGcMGNVOtX7mqzY z+ov2+ufgl*Q=M+`jo-`|@9t~;$;qcXv|t?$`z`&0d3C2oHt+OP{dY%_#g@baYGH_h zdy~d1Ce3C?y%qz4CKeeO6+1(XDX{?JiU{$Av_@gxIfs-J!#OXvCBa-J#nd5?F%W2t#Yv9n`AJ7w*aZ!HH0TxB-i zYsxZu7cwj|YUraf;b7y!nXez~F*jLNj*SV2WHsk++lvUA@_L*Chx(zyku?|3@ka$B zNjIbpc^tMf8OC}zvo-|CtfH5?x17cf2E2Y*0T=r#Dec4f(JA9FU1{6r$UaVMzl2NU zg5E1xslt8X7`K6+76W>6TB2(=Y5%^Me?fR-V>YOA9J z&Dbb!ZwnrtXPHaPcxX+%W%E-#@@w!uxW^Z>^h7-HFVj5=N>RT2T2JUH8j*(bd~u@SK~HmFzWvQ>fHj7??u7MfF@$c$~g^$r=&f7wi9-o5+|N3WgA zJGZPSopnphAb&Cp18KkzsVP?qib+j-!7zoH0GdwJJ%)iQH3pJE5h1>i)+o#y)x-La zmNVKw7(aT=fvg~CHmcDU9CFQ~U_N$4-~%uo1lz9qx{2(JK6_R}?7X<}mF@h;JNA^6-EeCWea_O*YNF_e**WezOcQPrLGMswg1xSFR1EGYi z)l|G4v;lacyQI1iD}IHV2^QfX2&!L<@;b({h~#=@4*Q&Rt?@P`1ah_hp=K zBowR7@yrmi`Eq)c87VO6Y9OToeBu;%iuACb(HLfG!&SzButS1}i$Z3x_tuV_iBZPS z!|}m^N`KB_T`3j1hMx0-!LHsuF~b$LR+Cck8nI_`QSnbfh!kQcb8z5s^04Z{L!8Vu{h!ZOELRSxB4`6D- zXS-Xm@D|{sDER>8S$Rf5^KdjdKryg-A}l0<>r^{BM4h<>lIo!!+plNx9Fos?>kn)g zF&E#K$+N=EK>O~c-4eilTY~+zSDx*m%)%J3sEAYZmr(dZ(2nfQW3_kO8*|;M=ks6m z|KV33f9qNQ5`CZ7F`bZtRo+A%J2N#IF7Q} zy0P^WnynY?w?g}^MjeB@Pt)>_X}nD4d)=_#%2PPQ=E1!S@aDrO4f{(QV5I^>tl3<# zh1Bt>5`!kxO9R3hmoy|O#-;&9q^3MKOle-Ts5oM*Ufaf5!>(Ki3_Y7i4k%t$8>foUu=XLPw8}$pQ+2K#@a< zV2IINIuw(dvcoWinE;wjU1wCOF(nBU5#kGJjl#UgH5C5QK2smPHUwkc9{_vbw|9BV zGRjCXC++vWa-q%kgaihPw{Wiv$RnRuQn)9~TDn-e_1oOQ+#{1}-{t@B-ZjsBY4z8y zeK4FI%%0z30q&>Bxy_S}gRA6mxeu?asSf`_8O~@P5q0L>a(W5dZvDqD@Y_@eWndoW zIbbn zTff4V=l}b%1zjKC`hmp6Pv4{hS^*g>I-<{8=&Qfs1CefB?`tMj-s4 zVh@zmkZC^q6%-QZ0`y!EnWvG!0h5q^WXVQ`mR$Naf4s+xK{T2{pMAQp3bl;$I5crQ zQT?X!YOjyGxKO-2|8`XVSTvKN7t6o%$~$*{>4BTh`{%vQ=eI*dJ{4H`~>agp><1HMvCs;yGAmB8M+K1 zBYU2IZRXV<_|@~qKJ*{a1Z4L7R<=GPW#>&9OlI-;C66uiI;MUdvi#8nUN30l{Dk$~ zf9pOnD7rMkwFZEwpc9g4g|cmcS+(C* z>oG`r>~X6|n%8W{${ewhfzM2eXslTst(t_!=F8>_|Lm{+_S_p*Z!=Fs;x&7o(0ThV zQB#kA&V49l0Qby?@WrQR@(|AZPaKoGU+3`Y%r|?MDDm1U@yg!!U)J0GdwJJ%)iQH3pJE5h1>i)+o$NP;^ofA!;I|q(xQ%44rDL zo91oJ!xA$m0gf!Hw$k9Yw}$OA3C%jHp#H!2Tz=v+^7uq#ziph~PCkJqtjvhNVVPWg zI_L#=b?6(P#`(8!gq5KSk(B+&!}P#4zMMP$Qz+=3%`2a-h9jFGOtgh>|+0| z_jIRp3^Ehscn6Zf~)kWC{u-Ua0==XP+rTeuzPbb5Brpg-jvszt>1_`=&mVa6wJqkiz+%rh+j@e*!Bv4`fTNESWz26U zy))bNW#*iFr6=4w%*&s~N3wLu6wNQCgajX5}{&EenUBn0hwe z`hWiT%KyCnE%%pN+HZ|p85E`;)W@ST6g&gCCX1qRv!M8Dnbo2yC--}|Kji#dIg10s znuBKaq;=u3l^$Uf*l2JTf9U0JwV{8e7#n(dIEKyia4C8yVAK~H7uZr^nqhz_iEsv( zTtiDW&~goFgeaEetU^pfJ$e~q_nX#JD>W>j}k-O+ev2 z9mDvLmM48^#Dp)7#+1Ob3Bn2^0VKjgD*eT5aR9yFq+=E1uuQ`Gk*uX&^7t5KJ=k|V}7uSrddtp*r6b%ivrqXmP&{{l0|!=Ld0 z53Lok8d{0C<_T8AF-t6z-2h)~7&8zZ&o;rq+yLFeLu<5VR!kD?>kS48ots4$6l1MJ zPb)B4rI_a6vh2XQ30}7rH5vZI)Fjx~fuf(~zJT zn+UtJqKFhr`S1Xd$c!U0~t4&19_I+Kk&7}d9nkU%2)pA;S3bWc4L#wW4RjF)6_=w^|EqX*W z<}|Z90&2y9Gk^0s-=FZPTAF}q5|<{b{PTA$*tF}N`Tu*@p62UiLS1sSAk>*hi+m#8 zquI8^!siH~g+QdEZqlK}U?ov7O9yZ8oh`S;kVu;Zy;%8u#=ZR8+rPN}7n2`<>in4p zzNYUxG$9UESuc1b{KCR9B6x;_k3D_bULq!j+2Ae7oTTJyF6kKJc z=WA>#u#a2V)Of+$H|@GeUAMfCxtjoHH-^(n@?6<;il;INI5rqQNLJFTg``pgc@Q9C zbtF{_A!!qJwL-uaR!2P=B}8pVFwBw&m9{nM49%>qYgR2Tv4mO#T^l$wKl#!URLhj4 z1j_pyLq#ScqJ?1jCkvw=E^Rp_ZaWj*a*%J>)(FH z@THR<-_v@%3}{u*@C6k*4%UdFuN8y_msw4k>`&e;&{!}J$2JFy;C!RG1U-wGQ*is+ zpXixr{dF)?$>D2wTnZ4OA0`D+^l^>Lsx=y#7vfS5w(17upKp73^vL~n3Qn+!T7=tiyI^0R>--n#SW zzZ@y@(`45CmI_q4Z_40Q20m5)_zZiFXx{xTw;iI-m(jhAt7M$SJ*}zEUv8k-V2)j? z3ylkm4YdRV{9#k{M8li@SV&1L)J}%9>I!M7M`O)wf9*J{FSZ`l#E80Xs2NZc(Hasc zyutKe{^Y%X{J;L{y zME(T1_5F8?yV>-S_BizIzUv=48#$Uoa299-_0u#XyBjQSZ;}w&dvcoWinE;v&iwcXap~jRXP(+9?q%{ij z5)_@3M2MOQO=*oWTLY^QXPPEx#zu^3lv{(;aUKtv3Tlh3Kid)66-mslGR466RO!1n z{rzhv-uoY4iPU1_ez4Jd#Jw#CE9#Eku5r>*Szqy6yrQ>f#0{HZCN8>Oyq>@C2TS|< zxDK-JngPAF^zESaL}%lVR^auXjPxGt403y~!YTP}r(g@jlRmdYs5=~4axjliK1?nM zuI&DtKZ**MiYPS|7-H3OWro9wNwe8eFP=cq#EQDdFi@q&KoTe-#23;Ug?V2vFmqp0 z9_KM0P0(FpoXHbcYHa>yue5+m5&x~*L~YqBd7}7Si6yxAeR^cG^>IJU)vHV(S6~UG z+^PG@zwK;s2N(Y3JOA_VTG(%qujKB`ZW}0h`d+szTP`rV^cfKTtud1Hb4zphxL;Nl z?9bvr{pGe8ZQXh2IN*SpyE=0C*NLY>L~w3iT~&OV2g9_4?gMy3QJ;=V$23df)U1f z6i+;bftDHr@qWJWK)4E*Vj=iOy3bPQ0t$0MWS+(h2h5B&^pzl6)MbgF6ERvKsBiz} zpS^nOhyHV0{w0Z6z9;PE~Hr_aSs9lWvulNz^0YP{eS;LQg;(c0jF zTn%7HWkYN=LRWqBo+ITzBQH~1*v(;={f8eZ^00!k6DJn7W+e!bQYfg1OEg4t)RUY$ z2!m~&F*XkJ1u4W}D?j&ud&@3&;EK=uQ#c?R>|h4ss(=hIed5WP2ENG&I3u8-WE6)) z8s`a88wtk-(jd;(eQ7)Dcy6Ad(kP^B!F!x^cvUQ)KD=zW)$N_~)@;I7?G|A4rGe{r z!k$pTZ07o1dXj?Ei>=|}4m-g`rMD_!MZNpopeN`MXY4tz+tH7G;`b-cdF{{s{0l|4+favtNOeZHrM=WL$PqM655G};fa zE<2W;rEytCll_JP&YToIsrx=9Eh`(%3TdcER5N_c4)v(k3?~}1Uda%CPp52~P)8kk z74y%oGJbo(kLgeU$KT!hrH`FCepj?_ywMI8d{3nOG_W^d!%O~h#~F99jbP$=>>v2% zD^y3v9ddv_43js%9+QM$_GRGTuES*a4PUbQ_UoCJcChZkZ)JlV&SS*qqorKlwvaAVP{i9%P%1FQs_WP)R}_N=xJjVVc>h!9^$YZT@sC^{*L5H%6f(Nc#lx3gHa`Il5;U5H?nkwtB&8B&`kP;RAk z^1rXtaH;0Apup62)OHl2lsyl!`w>B&GUt>R+?+s#)i+1>jy z*b4SKJW{=lN0TQ*kID9nx2;F|ake8SM2?J3pXnNX4K_XC=<-~fDQv%~3%^7QF@gAh z?7M4a;OQe~YjV}*F^-S}nnN}bH1&c`L_0i$PrGv62-KiIiToapp0i{suJsnIiyvAa z-(b*u`Bu7fmAF_JpP?Qr6XOnCqfn;7B~tJv@xIPJ*Vm*#H4YB&6*d&jM$W@=!2x$} zrSWik-nZ4zV422#S(nx;h0DTbM}|f#KZvlwx@Kq#XTLg3jlEU1J+doIKZ?LMSZ`<# zj2dH3#EIX5v%>H;WB2`xNo`>v@;tmq9Ds^Zb69jb<=s#qq+P?3z=bUFx&^@*@P-j| zKaB{3Yh(frX7$EX@FW4NV}N8dRxU~;>)>F0=-3VgdjfUs5Uz0~ti~OS!gS~1nBqY5 z^|C<9=*yH))m|;}8%UW%QP3dfNH2t_H@Fz5BO<80x{~mGhPeUa`P(o6ORT~4R4+k9 zEEuF>bGgP1mvKfg6)>Zs1P3~CQUY=&fOZ|jFz^J0U~l8xKw)mk%u|WsKw;5b^;S$F zNlAm(LUI>DoM6B8w(in)>dATqvR{1vr@J6nggd+4NqjP|-%QjAwoPm1bdTM$Rp(*9 z-C!0;0itglGvW^DkDj;zvs(9nBX{6DMsa@pY0oo@jcP{Yr5$IROiputuW?~CS7!Z& z0kT=qLzF}yjg+*A3NUo)3TdcEi<)gdT^E=+78FvOQCGH=NF+jImAe?51O^D*JH1i! z2t2Ug?#|x@3v<-`{rg=b_najBamUa7!h-UY(Wigr#O>S_6Az&A1xWdYK!bk--43U~~r4>7>)R_sO=`vU{gY+?>>xb9G2 zGal1TP;{C$pPdy8C8P%btTc>YN^e-!7UZ7=A<}|G$==5nPr6Zs#}4A7Q3G$Zy9$t& z02)@WP0y{6Z2KR}@WIaU+|-oY=RI`FNLSCaC>V;>?StY!l^>S9Kg;-T+Y)RM14)xW zwvvqJIg41=u~l86h}4uF)l5LpxLU{>Q{n(^6GephLRzCRFCejZDrm=^i*5h5?I~)O zdZR9RS%q+5Rl`j^`u$FD(zkl?OurRB3(wZ#=t22FHLUvaTy-+dVCi5$hTWZfjndWk z;`62-Spqx62Sg7R*x}{wGf#I5m_WeaKHwRc6z1Xh;ehc?%F2eiwH0Lx$uwSK4kyjG=S}u5_-UJY9wh;Oo6`3%CM@KLQB=n%-@wk1;^p3>~Sk1tJF> z=kDw6t*o+vILvCc&UT1dA4{BvL*_s#9d*c5qYQO&rBd0!RFpUEy_%trn8QfPK)%L+ zXiCJ!3pm2btAgNK0lEPJ3Nf4jvL|B<7#qXbmf+xJ3(#5)gs{zC#u9X7FsO*8*%9W( zi)|_e$!b~2rB_jpisvOZvee-)2~smx&}78b4U^{O7>MMg#?tLx$k{*zN88&~kW{kdZO>cu^OaVGxbx6S|pcq^hm-p5{YA+_B zZO0z43y&VuHd%|D>cL3>tDF*W8j}s9lEhXNkk-7vyBI9W4By24x7i5?}@&!Wsnxa1zGYM|PQMBL6 zmUh40U*z<|n-Xf7m@>;;qUj?irYs5TvN7x@jmzo;{@xe{I6M_SsoR^9Rwx#RwCf6K zs7F*YQ&%(hu--$DXjOkK70XAJRb#PCNrD4Uh&&AYt>XUM=?O<~x$A2>m-}Hbvgh(O z-lnamsA0>>?qRQd<6rw81uSfNENOrHlP8Y5_?`|vKO$=1GfUlpb=bn2|BCa3J6xpw zwiEW-p#1DoaHYrC`GEmN9ZNM#G`u(Pe3Y?@PJ9mnK@-cx)hH%RNdiTL_(EEvgmp|) z(<%{`mk5VYA<#0U*T6%K$c~6H^=BSbSq0O3Iv}DVYD3Lx60(q{oF-OOEd7bFdZ#P< za`+}5zNh0%e+1iRzOYzw5C6J!={?IGXKGF1zy@}R_3M*;XNCZQSraUhwCN=OWqHZ$* zK@%(DlVPArje#UkM2Ih>H45|2IizCSoR=Cy@Z6ZRBTbrysOW2ZM&w(gzAmiurR{#d z?0bLeUO#=Bl;l3V09IPe-W5N4)!9b$CDJQzbM4bwY}sY@DInN3Aiab4E-W)}6|U9t zQOqEGEx9&)jAW7g20qB=$W?FavVw(Nnwar`--Qrc)(Cm4E8s2tZsOjRZlnvn+4)b%0em8ti$ zmNm9$m4FW^3Je|uDPjg;&jC#>6wRPnFA(O<+%UKm6DzR6=!nz_%zK-sNyp<`U+bG(@B6UOChHAEndffPFcZO zhYQeyk}C^dHi!Vu5QRi1%kGfP5DZu%czxZ4*khLN8i=oll{k>~$BE-&PVP#XUMtwv zGw&SB9MHCMFmJ|!h7Lr(8sK3kO#zzF!f<$xZWY0+6Ximb*7^HrKE8&_cy#Fk}&Os(v)_=(K0SlHiV?=O-wXN4;^ zfNF#KLgPZ8*`Y3m0d|C?Bk52Fk?rF9LiWxH@XY5-ZM=&9?k#+U|aKo*Uwg_tlU2^10Pift&QH45_* z6rGerh#CtNg_N|c)P&4#&cmoNjdDAVVoJjwf=iq@P)O{A0G%lrBgGCa{(2a%o?T$A z!>lP0#CeZHS%ZNIK$7_{LlC0JB1Sd?gUHo4IAWG$9B&7#%$xkr37^Gmh09Y=vSXKs zJwwD?azfwwb*~dy@hA<&NdOw>{G_Ozn>{fPcLr*x=qj~!$&j1>PhWLsq#Nho>Z!a^ z8Zwk=JGCOWwEN}Yr-tXoK0Ip1DmqaUGy_pD7zUULpy@OuD8?oNh$|w+7t$Jq zdFLFGZIg3Sq@AJZ1p()J@sLBZI-s1QfrU!?@RT+&xKa*g>V;?Ytl3mvL$)SBi4yQ( zcZuu|0)NXor$Bu6W(6Kyt7YP|N-^Y5xZ3C?`Xllrj=!&@w|2E7J#ML6&e`T+PJVA@ zpY$y3YA-Fsco^+6n5V1U(t)*aW{Q%6t0&im^o=S`salL<7yOz&Wi;Vie?bpv5ASr!b0 zhO!6|V^)o@xNG5rpsWpeJw+L(%JgDMO&9QHgdUC%THfuZ23jCc0=6q^gkbajyD_r-3{q1IQk4<)JAnv$&*B%m^+$Teh}4XS*j zU5O3j&Fu7;umjq7u&3B!otK|NkAR08OjiuLc;7+xRZvi&6jDa}tpTAT8@K|O8I=NO z&yLs8tN9+J8wmiO-2x!Y!x3=c1=P1P4P}!E3VmI`A)8WU-+l~2y99#v(=+NT`e9Mp zS*d{$f;l_##oUc}qp}N>V88WXzwMSAU_uDN$Tyv$V=jP%5xzPmUomf%lC!gRe1y0S zx2$8lvNAr-Pq+&EZ8uH*W%Dl?9LsS6&LUWZ zPt^UcC;Go&on=)4iq1usVZYUbn2j>PgxzW6R-wMZ^RRC=XTttXG)nE#UNxyDh; z+N5V{8Acmui@SvDz+%Q2NCec+5UDxO6_ct>V1VqfO<*9bx~9J&K`}N7G!PV#;tOew z!n_1UCnXW0CPGSD>E*V%|JF_;BOaOo{In;EfI)S~b0treQ7s4CEd4Dax&se3ZsoHg zitWjuh^h4zG4R+QyYq}r0F5nRd9!?A+Zn&d^KTuzFLPbRe!%CZ@@`j+?tO!A-*GVa zwJE1z!WP7WLF&#MoRYM!;qe~M)^e%Mf&F$&R()-d*>kt|>B$RvvpA&T1h?36 z+DIR1GFvJz#3JhyJ+=K+XozVPPh`=!8WR*_(|{sUZLuwAHAP8Nz%hoSYwM#mR(UC7 zvEVBy%b=9ta{7sj64?`I2kX2l%G#3!+WMJMVB`YKFB8Gwxl99V|ETUMY*k_yfp7($ zU5h2y3ymEI^3{|4^5`Gg-cl;UXnFTM?LK`L?6(6lx^b1S<*{WVrMKe6$PF^q<|;XJ zDYl>wpu)Nx%W1z}QHbp3d3b?2kf?;h`lz~kQE4Oq^tuVKi}iFB@Uza?-xBGj84<(8 z5rPac0Hh!pmZ*#Z@d_1HiKC(o0q;h78avT+C2Y){s7EgXM*2dORyPg91MIgGOuq&7 znu3NMQwR);D8qGLrT|d9Ka8nwplxv8dEq&LE@%bKMY;rmspzs+`6}_sN)~8P3^cBy zD8bg)io8{DDhZK4x;HO3O2r*BO_4n{5w%j^A>&YkI!cA&cTq6Zcr_|YYI4UB(9*3~ zMNZ-sG4R@M4mW2b=+x}YVVc5Lp}7H4n}?&z0avS31)%#4`qhOTVFN6F%nh^Ej*}9? z$}>d=_Xz66I*M&}$KrnAc8U?3y_ydmt`7u{hIx4Ury5P(WmZ9lMzw;j9X$6Lh_C4o z4I3`hwHz^OuET?uKMJZ|$$|7&k$wKE%e4JXKr&~(#`usj(48n;^?~QsT)O3) zTphicfFpRP(xX}(NA2-ET9AzxdZ5$K7u#VGgXT7R5(1sa>HO`?sp-tavBQC&c~xM) zEzJ70Z;mMch|F zZwBa}SR@0Ii)$z|^SV`ZEq_KSC)x1)E}3VRN-r4^MB z5tgvhS zp-(GgmR(9&F}R?2L=-&@oMmJ)NJ)#u0SukGLK^DPqGq(;D&|gtw%7NG`kLcoA0t}1 zsnSa9s9 z?|TNvg^IuSPu_w9AK!@e-0!%K3`i&Jwyi`Z&CB%`%*`#xWCo%qC(X6G|uH+5Oz{2)92<>IqHn40;1S%cgjI9;}#ah;eA zx4T;k1Iu@=ikd&fs$IEMzQQ#$GYvr-SgF*xr7n}3b`^FcdVMGKKT#bJv*gxMQ(52t zJRUp`c4p<_lU?)b3s1tf^Y4f`$@j9iJ6`Dnc*COHpHXsC;M>(?!xGbgA=2?Kw`m%B zEaH^)%%W;+{d~FEh?J=tFk#e7AetR^_BxYmGbGD-(@a>*GR!C^A?Zqdb-;J zwTRe10>f3C#&^X$EA_+_u7T=wP%mS!#(A3l+&O+fcJ z6I#@yCtC;a#kqDtXBW)0qup{%29^eFgFjujnE|I;9=X6jK}xo?CS>NLjy(>X!z!7i zdO?^pa3Do|gbREVK9AdpF;z|llxrYVQK)h^UZ)Gis6SlliV}d-2q>ZoL)5kvpqS!$ zN!t*l*SixwlsKS7p5JlS?H_u@o^|h^W!+BA&(1Q65Ao)_52y?K{omZQEz@FttGF7_57Dwp(IBYpMAH(b?FyhMyPzkz zZK!Y&<@nx%z1ggmQdwsXRtLna`K={6!mLodc%-zCK+3pS8^iR-gTx|E=Mk?xQA)ux z7og{Y$UKb%4#37qiHifxE)O9KyBWQkDet5342B7~nL4qp#_PaSW4an_^ittN=~&AuQo{3HXw z&2{TBh+lwbs7Z14fd}@rjb<+$nUPyfv>9-`UG50aPw1!pR(7v7s{7#khfC2zlvI$CmeoVe3TdcE^O~8> zC)!g6lIrBkwqM0>Z5gldu6P69-o9qL=&xe?DtcKXufk|R zhd1|oea|hhTN+Bp3zd2xBs_b5t9w`9RTQ3|FoONJzP@)sFu1O#XY{0<8Dvxf`>jv= z?Nt6%BYxY(+zAn~68A(f#Hj1oD$f;@!Y0(P1CfR)%mmPMET3>U3{q6gQ^ZDHf4?}e-?~ON7eygc7MI9-JAgA9ZjOJ~{#v}R=H zBje5Dm^hF)G^*jzF|(c|Fa7}vOjqCwd*xGEh$PaK?q#6(&YlCU`3XBA=^>cNu^ z0S<0;HM6lyiGv+TRGiHg;o&wyt>D2zmIU;KZG*8vN_>6IfhR1)-=YRSJk^tV&0kDL z_S;!#Dc-(V}z!44sAq&DbiR>ZG-n-37(MVqsD`JB<_+kTUoU z=R1~V4W-5DXdaPFz>mA%`zR9_2#Ym_fmkTp!xl{uIqX_nLHZ@rviaU-Oiv3L?Nz4| zEs2|~DrDRyv?d|(ETCG5TdFMkR=LuWW|UA~8pm@*v?_H5qFyizu%iH)PD6rXY$EK2 z37bgqg|tRtUP74!Xd~Q$%aErhOZhZ({j{8hL76NK8EvOE?^a z6rFN7WDh@2u31*9idtw@YtMsb-W!-&+!}wY_!^Yv-UqhbcKee1mUTS>scQ<@jE;SW~&OnIQ1ntlU?8K?`)M9aoWdw@etOr2NPhH7Zn zM#DdYhJI5U4%}SQmk*!UY9HgQ%=N+6h1BC6tyVN@dS8ZOd>4)`DOlqu|sZ^PXEx{n0nnbdL!bWsRkhY}Cm!2!d z;zJ48JwPm6QL)n}%ksYO`jgJG=@#|`SO+w7L`}duY?Y-Dg~&Qu7G;zr4B~fEMi$^P zQ2MIoiP`IAo#Gm<5jS$$MtL)tZkNQE7BF%dh^ zgh~%GkAtfwp{56!8VfKg8X~kRq=r^=6y#<7UpQc6j}&y3fU7HeYpW5hJT6R1TyrQ{ z88Bgo*J1N34Yn_4VvSq4`GE8UR|SoNOyeuJ%Y@*=NYPOZAu>1ah_14D zlj~}Y&yfX1$gPoKEo&s-@_h%=q?Fsi1WT7F9&*-?tK{HN2Ha6$egpt1FLXDe%y~F$ z4$z!qJ2IJqRxoj?9vGj3>)F$dpfrZI+Zd0Nl={uafSRQhbOh82)FG6!qV>->YP9Mv zReYWnx%xw^*S`IV{KZd3OBPk6$Wy}cxrPKMxb4!DFTrcvUOe_{_^d=b#`<*@MbE>r z%mH0jIqnBb1D*Q%K+A*J@g-gU8CKM%v5TrM>k?Hr28>NKD&s+xl{Nd;q0a=0_^6G) z8efgH-_yZ$$ic<`tw)zU!=>mUN-9W6i^Ty9ow`CA>QSv37Y1f(X5Z&!OahcVrC{ZHmB|$OUfCusdioVc zg*g>-pYZFj>|W$Jn)Qha>771#@9>h#t{hr(O6&b#x4d2Sy=P~njps4uKkvAlaInJO z)Nbhby_f1?Do1l3HixZyo$ARyS2SmrImMM>8B(qGgNgh8k2`(x_h1aZr=zFz8g)VU zEuu*4Bq#9jT@n}j!SWiNlWpr&SgH$IiF+a#Vl?NuVp4n$0znfi;*(*ZN{xXeP(+9? zq%{ij5)_@3M2MOQDQO*s+}5)S`@zHsr7x~h2JiC*8+*A`>wbt747g?Nv?+u+6|$P* zV(}jReo)q=6ZJ=+I+y?QQdzL!hK`o=TOH*4y#r4#?veZOlfU|dcr1&WU!GVg8t?Pk zfi|(>gq&(ysYE@Q^_A9bXDSxu%slYT+7IR-T|4d9iGHe6i{67be763I@m7DwD?vo@ zUKu`hGJu3B%pBY|T7e!hB$);bk*bmwRai4t(W#4x*kPE$OaM)%Awe-V4JabT7t$Jq zd5>$*-J$3wv_i|x((V<-Q835uw2#x&P5@rMr# zq8>Dnz1)n%GE6XZv~}qVa5B$E3axDt zOxnpoRu=I^#(!9=Cx3s*uYJ)zTq3K&)c^|BFwvONS_*ihLb$KS){kY3z#uk)g6)H& zY9KHl@uG5IMk&=*gTkdM5>gl6Bw#e&g9WNmNG#&&4AmgK1pK^1M7Y^z1`0C$J^$Qd zY3n22&Y7R{a%jm7?O;4<&S1X6x>#^Ik~F;_2~mZxhH1`Hw_^U#oZJH1zc4EMLUOb1 zx8i_~i5fS$Kn6I2&D}|wft`5>1-b+iANB|-+NN!(IxLLz4+jc|lW9KBA#s3Rl-Nxg z-ObL$ji7Yam`P>*b&jzcW9p)$&>!p@3HEItyKH8D8%b~|w|JjdZGy(TNTZl@Av+YH z3ebnA{;*(Z<%>{R441$@O$9f5lTLO;M6Q0L+4;x{LoXYraN!VVELUVO-!<^)B}O!2 z`;Z_osqjoa_aa18Mg=`b52BHD^h!uad4|pD@Q*R90_{{OAlO-h%0@#rhO^gk0V`wYO41Cz|ecq6=uf~v40)D^9Czn6<){DNpVZpg^>%5+NwJ6!? zNO3o$GZ=snlNL)`jf=k+2XPzY(isB=*UJJ_L+>3g&1T;T9;W2o5E0a|1n(b&G1 z*8@hC&u8azUAG35f`q)uQmu(C%Y>`N`(VwpR!wTf3;V6KA3V`5+4C61+dG5t?59N; z-;`ON?8fJ(<$q!j>~zZ+xoqsef9TT_e|ydUj^5KzGubLWyc_J6T-tB9!+y)!IW#j>ZK>R7SO7fP$guAxbJpNh_2bLz;Dk zG}NQ9W)wsje+#oEgX?{;zl3w`eCg}Zog=^NxCLgi;uN-R`G^+(XZ6i5NZ}k;F1X0K zWm9kT`r_<$-h#k>D+k6Fc>?>b`DfK-O;nW%-`nQOuJ`(UF!Rl-Y@cpBudi3#w!)Y4 zxdqGuXzGm!pEmnEM)#b{uXnq?@5zm@-^#w=qyhQCd0K;(>FRW72kSX_x|BDShCKiD zvj>@=44ah(43V1iTrnxW2Z5l8)m%)Nk_3tf@rATTVP1lwladHg6Cow7BavIfN~Duo z$?0`(HUhatE2+9L6&z%CuwCP(aM6A%y+7-&>kkDh*3J(7dp)1LuDjLzRtfC4*lxbi zk>O?IqI_q-37c>B2FvkA=B=_CBBi%|Y_VE8yhGYwf4Sp{Hhgu=f5elYhR&esakkXc|cnt?r%_x_a zALDD~-{h{xU3cIloZ(@~ zmInNR%wvvT;*T?344tTW`sd-8=Q*cU}z$$3M*VC%})bX6re-u0wSQ5@IdvNge~v9A%(uzTg8 zE}2;7pkR5*-r*!OB*L7(zla>LiYBRi^mqY!b^>@BS5d*K1LFh`S)=MA?Ig86rb&o` zqh}uTJf}u*G;24`*U7Za>FR#Lfe2%1283XJp=fiVW+jXOoZG8y#vtHPJ2Gi$!iRHs z)SxvztEeEGZ{B&4IAD^>)q_bGR?`uQ%9bLA^(A98JU8O10lVM?2>}%7_|hgVmOGd{ z0}vWl-$H zMAK?)Dubh@{>*SVP&k}S^LY-51LoT3M5Bakg;QmcOQNC&AU&seR%wa9rmLE7%L?ei zI;G`P=90niJjR}}KPc^j^o~fl|F)8EzwdelPER>ro^ZFy=s!ZfO6krt3uKooIoNN- zEJF6j@PYKw;^70b*)9A2j+|cMy4ZiKoc+!yED6;qdZpx-g{#;~2N!>SG%gHva+<>! zfL`XHub}WA3#5^f7Eu9)PF*1l^=MJEZL3l!7zOH^e`jn!jTTEX*r~H4S2(N7aw-mH zKAR<1+V(ylTT}Kpj%JK){$yr|{#Ypu|#bmcA>rg^5OvZ-@XRtF&5T*E#qg_og-fU-?QCa?hKV^`>)s60>c68}5Bka(`9-l?-;fbLKq(~h zl23Hv(drs!ra$s#kn!J$}VOX6j#K8P=!p&UEVz7G5C=tHM^3UV8m zJS=VN|5~~>KFRb1(0C}j`}scc+cR>~!A>cc7Y)fPFMVYx5AoD|yVzOiX082p0!NQL zajLHB8QL)70dovPjH;wX71oSZbn0Rn#1jabSPcn^u}Ofor71*_PSbiM6>!X_n>VMN zC+KZx%fI9DdmL|?n^v}+q2X2`driMqa-U*Pgy6T?j*WsX?_=11i=Xrf*l#D`p~Bj;GG{!u%M*=A57xZ;S3^CdbHEnKIra+a#?|?)JJaRMzKqVMF zmj(PzA7CjTnIaegg@R}V?RU^i@IYUBzN6qvfS^s*S=)paa(p7v;@gM3cFExd4jwyh zVbq5OPlbW`+u?D50`kHEOif9JDInmP3+@=|mgk2^8JN9~tRQ~YXe3m@=})9>fXs=} zAYO~0-#})qLBT+p0iJ?mBQ$=87~$m0Okq6DB`J1xbvor5dL*>I|3#c zF}z_2vibP3J6c5h?Fg!zN!kZ(ZaNOrj$pTjln#%s73N>c4l3{o(Xu6@C zK{?hznjWTn4MLWn!_`LkCnE|P9*UNVB4nRy`iC(6@blHEbRIJe(*oa}@L{v{tVkmx zPBN!7=Wr=SzikCuI1h)+0e0gH1d8iN&~Wjfm~0fp3Oz0*TR($<##INDF%Q=vfSJM7 zyWz(#_aYWl0aneE5{tE9sG2EODMZV`x|*yTCW)P>6LXHE&JLzH%SQrLW&|rdfZ_%# z!xAy+AgWI~?77D}G#&q;zK8ycHkskT)ffh)_5GSyo}35~b{&&_ z67yTe#DQkw6g~m;q$8s^KVi3wF6_ce1MF+>_Em@P;^jzxbKhstfJgg)`YJEa9O)pj z^mJqn7fT;*#=3myOvMN`hPp`OvaF|4Fbq(#6+Nljo03+jnhj~!71B_T7Bx#{zh&ju zy*XF;E=dMQA^Dq(Xc%1CN;XpAG8=Kq*179-ee;o!48f_6957I`*nca9pAQaWx>;dm z`RWd@<5s*f!BQqOC$x*VOWvR!y-rr7pk+v}IS(U_+2as3@uC>R05jQ&^BxDDLMuP+c&7Ln$@yEL zfq(e+>XRALL{7ZSH&nSgnjdpyYG|QTegqF-`R_X4$cAlG!`oMiv-J{( z2hSD8L1^FIh*0KJBS}P=?khPV;BFroImwg3iJNlX#qU+`v`c&-`0yg8Wg1Cud8p5P#h}e|p1;wPW38EQ@*kKs3JV%-IHzX*=rU6By_(EEvFz=iLHfA4N za4xE&zg`xH^MvxN!0S9>HuPDpSF1_|sP7O{jj*1ulj=dAbsab<2+IHjd&Ck7P?LFuD1mBbz2BtgM(ezZ48# zX*|gpO_Yp(6Gvu6m~c-3{4TthfVLfjVEgTbsh46giRIb8H-X`UIFQ>1!dz-rPEs>W zn}O)$gPE9FKK1{z_bzaj71h1)+WYM8*)ue7rl$uQu0W$E2o!zlqZrAjXVFd9X6d zlP@-Ua+0r=fNWRpVn48%~gD)t`}AD0Qb_#K== z0EH+fm)Q}i!ZJW(8Oq$ZMH&{T!Xs?t>#A!UgRFKi?TJ!x53U4=o?KbSr#rP>0EPsP zcL7ET+b|ThldkqYlleJ-7tj=(Q~b+7ggY_uF@AQDAv0FGmMtDrD66eBW)y)cBIx0l z*aFRR^Q{_c*r!%qE+t;mjWslAeG{ijMjYGewYp`BQ<0oNw)W7&yBB-X41AoDanDr% z!B*>|W8ev;8*`T6BYrMwVlTa#j}gg17$@*OPusaeE{kpyi0+}&ED$tS8fNkH%u7p@ z7CY5ff^JDs54<|#C`{HW#ADE+#^Xe(h>C@0lACj8jGkJDPxAU(r8+bz=482ZER#G$ zX!zjPHQXem&$TlM^4Jm8OMtB5F!WmmCpK6~F6Ub>MotLDCUNXcT|~dn&w8;+R20P8 zvlTQBVcpp`863jqR*ZBRh*{}SQdZdLhC(_DN$8QG*$wYbFF%oMrGEv@1W6-R#K6iDqqxeg8Q4O`b6YH9c<}#imUKP*qHfQPlrITN z+guTadS%$0OaRRwvXfyVmc~R8C=%osl1)Nhf?`lo2uX8+4OUVXNdbmITfKK z8x&C9%ke}MZa~dk>r(&UDp&5pBLRS7V2gcpq^X&R+QSyhj4Uufr24JK*r3(6SNufo znLcy9xAQA6lfSGt9TV0(ODys+`?2xlHSYBNYg~b>+BocV@ph>WaNh+yg_Hk&aCP{i zH;KCET{GqyDC}^vt%dJAtgc<$~XV15jfVhliU|qi9)?NX^)b ziJC)b!8DziL>=H z(CLU);U>_ar^KI#@?@xtSZ&~@`eu44-5iJ7h%aYNZ1g+zLIkscYEZGCqrf)cU-FAZAhqa=tmo2xkTpX=?y z8HN1n2=36{{~piRNJQ1QYhjqq1O-fFCsJ!>@EP9vs0#As4W87VuDa&N_u-q5FEK+$ zV}WkL?H~ks{>~kDqeVtG;AM2ogPn8lL9*@wkrM{__*WWZ4)%W-{@S=2zhmPp6;_cR z(4YXIpCJhprmQxrFrgTLB*W%p0%!(N^B5*#X-wpS22znAzmRMa@)8sS2pNlwovske zDFyRT2=WYN#h_p74}rBC0;)xuBtU z>@U3CS2(JPD%74vE%zK|WZ)DzNM$ric{ULxB2V( zv|SEy)j5vq|E{Ti|~gTr7=+iiUj$E zWRs9L)F6oNZ=pVjmMZ~#bOxiBNs5+1J`I9vzrx>Tg-WmfN^zL|^B8|8bV)7-% z*r?WVMlZ4=EuezlpiMV^Yhkk>za4@_GHp3+e%_Yb7FDh(;RATybrkQN&Vq|8jRUu6 zZ9>wbTJ#VG%=$PWH}aw*E6;7%ip=~lO|6jHf>Wxy2GgXOXS+p8StF0#qM zlRG+817GfxxV5l(jp`Ddm9$TnvAD*?IMi+0p+pv`&G%fE4gZ>|ZVd>Pz3rN1E)Hdf zBgWB~Pw;r{C>&yWn92paWoj3Niqdf;%IKX-TcFc>ve{g%vXNbwj=s~>#h-Q1@6kH(lS0 z3<%pp6(!(B=v^)J*CE!!1cAB;^S1^+{$Clp(u^OuW^3qt0a;r(jXv2lu{k;3T}L)O zaub{w)}87`|z75dqkd&qBvJu-=GK> zdf~pcz+C6TnE4cb&kbXG4AgKw8< ze!qqhP4Q&G~KI9{ZF?z&C#CHbx2y8Q1i{Dj}QGxV**_j$J+ zjqZ8PtNuu_@?+x=b;$*Iv@lD7(p>ZPPm8(t5+nEOtHej1sXa_xfzlO)ZE^d|y_>wK zlTG+731fwA!^SpOM1@rl%>+yA@CKwcjwC`cw+tu}$)bcvNUV=TZcI3l1NgV)-d zQ#QwOUcCFb$N%fP>9Y@tC~WT&ClDE-6Jq_Xwn`o>$|BpV0fLblhD!G33Sif2OQL_V z=Xala`rr0^3YF(S)j|y=AnkhYln5G?ywhbhfYT}bIkzhs_gM?J9`|b zdzmu9K(K0GvS!96Qe5_WbkMQ z^QcYXiLmon`Z!^voji+5Qi>Ti>#nP9Rqcf@VSf9|c%{?03$??r+g z6L}fVXW+NM1M@v(Ct$ZIydSBZCKLUUszxqhnh$;fT2Kgp)40xrE3=WruKre8s*FHq z{m+ zR`J~7dmotkrOp0CO?zov>`y%xJKta%$sMmH1-2^ZNmX4r$3Q4MVeQBWW_h;|VIk0d z^aq%%edm9D;f%i;j;@5x`2^d6M?AgrzP5mIF@GEP#KomQ>NZIfxcU(@m`lL-nPa#b zw{5q?sUYId@jR(qN1hB_pnE>S5^9EYnl86zHo!gez3$}j*g<##_DwTv){GiidzXIn zif2~`Jo}QlrRok`%-@>o)Tt&=QuoQK8fZ+QzpD4kMbp^c(YtNLSXTY^HGv0LfBwiX zuKd_jKmPeYd?8f&O0VO&Lw8C0Yg$opn!{eiOwj)9DGUzra41Fsi!oLJC1r(PV<@eo zkc1u?nr-2`*JZ#;e{@r;mi1w`Di>a9$gCJlpzY+RYVtm_Z+%39s|C%*iPB8U`$Bvqv z+Kw?S*55*7HE{8Xv)=GjpWNF#v}$iBXK~dTs){{L%!E4WhGw-lf2(K^hd~)2VZ!$e zITP-QymW*HCU&3+pC`aD)lnj_--zReG%d5V+rP7e5cmI=L?0?{2JooX?Zxi#k)g31r@1$4!Qt%DG zi7W7+WV?~-4X!7vQQ*mky7I|MTrW>n?EJ0N{@gzPg)&&FJIh|D*2wH{4baKP(9Bf~ z@>>uDnpCV?vU?+@2owqO3&|!S?|uz>P%Tt{K6emKfwse#!&V4@c(Yq+`0dmc+WATB zUeN>qGd6_8Jb|(e*d`HRC0AwBVPp7ynR%@%&i|Ygbeey6+-c2Q-!C)mgb{;1d(JNW zCdes%FsppUCaKoMzsopR0bLdSLUp6TOoH2|L#3nIct3dgj~@BEEAKc#pBE~`nS?#cf3n~z9b>vR@XK+{&o^#cTw_Sd#Fn4BU`C3?cPmc3!GakPbLT2!k)K5s&@a{HS0c?cran=|NotA&iUHh2E|RtMimo`@P`yiGn0ZEDh{3T_vI6|V3q#ntfh$#?}7vk4>40uB;Q?n^Fn878FF7|4K zt-95*-lntqMCSr*Ge?3*o7her3OBjC(kl4tX=rcbOy-IVkl?qn24pQM+3oUL$r73L^4VnQ@oZ0sha%!PWJ%{%NgN4BVt96d<3=)lf$-$A{& zC?$e_O+wqxA!eB9uVSi*kr0rSW|RodbqDX(DF1Fz8S}TscDJ2OrBW9@c>6c?ZKq+9 zErXmL#RB0!fBl_%9(?)FfBVwa>Ei?`?vWQ*a!Izms9VVrmY$5gU?I?@_6m#w`(a^O z#7!FJ>L zMQ!U4Yy~peD&PG1gWuZo^I!j!e-Hh(Ykfi{V`;<+aXdqXX$!>&m7gJx{f1PmKad9NDvPT=|VUtIMzdvC#jiXb^#c$DbkRgnrR$ynTQ&uZArwo72<{c z?R56@GTiKIvS(Ex5Ns%zhoXFx(A@NAxBtod&%d$HkJff~-IsCt%aEB1zre+P8Dn!; z5556;O7Ik->%L6OnZRIz*US!O^tYG?&QaKaJyN#A9IaZC0<{Q?#zaT;nUM=Y-HHk^ zlo1-Ot2iK7{Qe5Awk2am#m>8W<0mD-`Mt$9YI8qFtU_qS+_EPxOVoVSV1 zi#xeZm8NWd&0nr=jy+#R3wsmK%R*twF2OLAuCZR>SlmEz>H{n0HP-9cy%?EpfyQIMrw(L4GCgo()SBu`$S;%t-xGDz8 zxH+7mXng(8h`i*Z8(*cL^OH-SHPTjGXB1o8tvMOaN~JUowH7CiZkRwPTb;lO-y8N+ ztacFjk30U??>}|w(}(}|`!f1l@b_RDEigA=8+3je7)4JMpfAGS$Kk}9x za{62-xO;pn!`tu1yxezBlw%>wKNo6o8PVExefXjjCPL19sV_H9YOndkRk|-y*id`< zQ|t?}&C_VFOuw~+={8psk>7$K(4^`pHkL+A5hxPm7m`gvUV>tfFJvqt;kgjmP)3JUXguPE@R?ICExz z&gpO4{njYZ#&y$7SXsLpAoo^Gcbm7itp_7zwSJC$ zt7}SU@1LMZNT4c;kp!&Kzi~}fW`7Nc;eO?vBqMmk%=|@T;C4BFGC>_>G-h@k7kh^F zF{#zJ;rrNpv2Mn;`HwpueENw!4}Rvqo}Jm>w$b;Z``7}8<=KFd zGSF=Ksf?k2(rPDNAOv3i9iT)Fimp_(xoS9?zugdfFnwY}2Yr}O-I*w(|2{`fV~JZ4 zcsOpHx%h&EJ~XlR&%24^^c2{dxEPF8ntE=EalAmPIP3;zqZrBrmrZyP9Q^dJ-ucci z{M+vx^ud&GDZu*?m6D&HrSOv$yXF-FZ(x_(0>?{!Pp1wiQ}8yC zmfuE`OZ0$lzqKybF4T%=hAnvr4&(Q6C&gyvi+}$3%bytBcu};lH!;42I>Ar*6nMuF zw<7`0hnZ&~z_PO8AWPgqq-@bPUn(e2W7PSeezl{wMaI}T>wsO|r?Z}`ptCCJ8iirhq2twjC+%BUOhT@u7)J&-_n8r9NB+dwe_jp>!{Sz1MY zdnNY_Yk?)&-vevV{k;GUH@q-veZlzI!1bL?mP1i_zb5#)6#bOY z3?h5(`1EhT`Qu;vyKBE1`YQZ3n#W^KK#ZTC{T38{ZT4H`MKFI`3N&Ad?1bTK#cd84 z73QM((_oH{Fyhq@ktaeIC?4OMgrJ%;wb5Y8b>bE^GbLCX28VmYb1!>S{R3YM2M`Gs zWbl1nEM8l0R|b2sdA(~_0U4-7tuzK5${_2j4(4+S^%;8-`OYuC@T1@O;)6f@=SM=N z;i*xK=a6haJ}Ila4Ow^o)M*^NlI`Vam|#bu7zxb7SOJuj75=gsO6w>jp+|;hW#@0r z?h&t51xl|U;ky1^c4vYX;v!6hY9Qn4OTDnaP1;FYJ4IDcH05jXJ@k*M>Y`W{y30gf+tXNtI;X=-8Y|O*C#0Q12O79dQfM3 zNP{Tl)m`~n>|T*GFk=JI$%cb0zB@j;3C+vCRfg{q&)koZsQ0+MUwIWRdh{bdy!4X~ zysv*I5|zCj(JaeavpIuY9~b9t!tfiod?|2g6RM03129zFyQs1A|<2k)s9VA-dn5tM(lY^xs1s z)3X7xq0n6+!_h%kXmedl5fJpk6>NbLE|a3YgS@&-h>J+A9iN=PZO4|4H#!KXn1Y@t z%dUB~u62{{pvg(hNJBTM@J1ZuRX8vShTrX~Kj;~MCdg*)e4yvy^Rd>l(&ERw<>&Q4 z6^}FaF)U?co{Ro=<|8Ny8z}VKp<`TZMnqxVyu!qsnE-+2fg0$otvcAZLK(oi z@i0<&nkl4M@dUh>S3G3>gg3qUsE=1-Tj0YBRM363GUpr9Wf{%{;jr~S4o!j)Kpw9N z#xsUqsz~TqX3ceGn}Umt%WutDCO|R_M+~S}0l0R#P6kmuBY#C@n-!(ayp=I8E!A^j zqIVMrcdNGQ-s|}OHq3#xfs&nVDMWQ=GCO4n74YpBh9y@HPQFaJQ^T{*u2#(&begw# zGZt4A;I2!PW(voc+_To_s74z~1k_foz64KC-g3;oT0k%m)SZ?h&_I`%2$fOZv{k z#hnS5NkD|}U*Wl$iLm-<-&G{K1qM+F@p(?Kf`TmXqNi3nGv8db$sKsR%bjz1rrI+H$10U z1-Xi-_9`UZ69k%63-epltxO?`C8X*>#C{F4PtI$6+g{g-_N$FU!(Z3{(HI$Mr&yf0 zY91;x3;TgAdAObN!+fDsckx`y3e2B(fD_1C~B+Fg}|H5~H*lSUiMq!-n3 zVA;zigH;B2GtBDH-}yoqGLzs)gU*im0_&bJ!3@OIaS;qbGQ_RLFru}8!gx%U8;KRn zrCK^9&9K+7W3MH23a}kZXV#LX%zI0S=7lu3$+K${TI5&!epUJ7@$YI?IJfZmO{PV` zSl087h)P9~{Bz}X?zYtrt?BKnEiIY^!)pS`9Qn%Ed2)$9 zQ!c$g3>0D&e|Xs0e| z#1w%dL4G0GBtesfVM!q@uMkSgD)d_u8OCm1tXXc9W0<(%EsCdNKnuBwWYDZ1#i}j% zF3Fnz#QGF~VlaIzzFTv?*V!H;#1ui~w_LBK6|Z*`LWO-zRw(RT^ptG9>&!mYJogRW z`ubC=#i`mL*gm?BUl$S)+DguIImBu(OHR!4-d|nb-je0vBf23Bg`dEJp8G4-@Ep@XFV}!?^#|INw0e}9p>NuAG zY!$JbfV!SH(m@?35K)#6ezh9ch`ALh_}npf#g|8? zm_%yUE=@o-METX|w?!#?xv(6?%J@?V099j8yXJYTmElEwlrHmz^ z2;7p5+L5Bo3AXEKii3MTJlgf`BA~7CG;cD*XP?$^e%2ckX}FhzO0k#bTk`gim?yJ- z>yik{rvnqT4ReFy(sS8+$dzLO-d%KpE0sz-P1cEOOVOP;KO4YmM6m3o1rxY!QT9gd z1|PXGO0`HbWBk#d#@-)><6G`;qBK5_dJ$ZAD;{nu!ES^ z#SL0Y{T9)?@R*>;aaA8y$Nnth(TF$-K?uIQ65S#nGEBfKRY(6LqBpp=>Y>7Mf<{N{ zoi2^F(l`Cbp*Y3)+vvlnRonZ9n0cN?=1ITE+SqH9(&LFZ!^WN_GCLNP*; zQczM>=uw6;*%c{9Qh9A}qKQsu#>_&kvFEdx*SS~gfN$1Oj1{>ffv_G5T{B4cE8El%td06SP4MT}K z;`QIFo~aMQ^wkp+hMtfM8WXcKyIk)e8FI(uC4q}5xVxIhiU@0w7!oC&0{iUoDO)>V|a&|6@QFw-i+qH3^h9}rJm3KB2ukg`W2r(nml&Z?1p%0Y5e#t>!^NON-L>Iq=f!!ID{^ z%wznjR>A#6pal{g^S9^PtC%DvAkaRSMphHP9bh{`PCm?XoM2alQ;>!nxc;*PvYign zJyWz+hGbYA1uX5y)b%R%h8}>FV zLvDb5nz?_%3C(`*1X1?d(66kC+-ri~$~U#nam+mIK7_Y^mJ@;+?7arI78Dj<)WHuC z8_nQAV}!RJrOIQgm6R2l+JK|8kc1vNnvppdD6FFj9nyhRWKXDEdlK*85|amX(y50- zJ8e0JuQ#;K-)cEV)E75kE3fTRzoCApsD}rP-Uxw(g0*;8eBy3UjvVTbANv;X1sd^< zn7?%~4`$)agO%N2ln7ob@jO_Q8M)wK8jS?$R#8MH%+cWuAkd_uDjf*L+#=8*P$bGP zB%6f1R6d)+gcL0jW)#9a6oM>6dFeKc43n|`mQ1A}TRPYkMMNq`^S82d8|Gb!DT1is z^w6lrO<2Xpz%=LrCe3l$acfmGI463W(>LKCGvG|9KZ^zpIg$DQ>h-Yt$H)gDGrn)HbB9uhOtzu)D=-t6*Lo3D;Oq1n`_1s2*uno zph%QoNH&RWvQQ7o=|Q^%-nGj1^6goPxSFw9?7@vI6S$Gv=D8{&!@?L3ulhK6`heA3 zw;WXM*Vl`ZTL#BV8Qtvi+`g%PySKDBJJCzlv|zPmALXmpdWPo(L8t((SjCIl~ zc2~Fzx*?go z0I^sBM#|9Xuyu`MGAYdz@4BPO*@FYp0({gpZ-5uM?M!1_WP=xnWsRfJd&bD5x3zOI z4hn2hV{n?WD2S!oZqvx&G%&zn2V5-4(sl(VkkFOeOCAswSXKBMdZL>6U6|lF!B|Yt z@hSU5e=qw7H=;<$u5K6TZ1O{9;J=_aeDF`8AsN>((`~kpeCO#l)F+ zVcodk7SKY92gctZIU|a7eZLH1d$2Do0Dsu$@USj7pAacFRP8s?x2NO1(DSgiU;wVR zna>Um8lRaP&^7Zz*T^pSYj1nuF~cvcT<~z{TZ!-K2-e?t^%`n01T`>|^jIjbJDT~Dc z41iQLO<{j~VNQQ5L)iaTysu-{*P7$~*xwHGw-U_XYWdU$IBrg9FTM52 zsGB{5YNdiCnxn)3+D8G0ni4PpW(~@=N-yZzy8mWY_(KtkP|=j+0gW>(E<1WMpe| zm5iP}=nwArx79M#bicNl{q3s3xW9Fpk-OmxkE`y${t2>bKp%{yq1+T-ob6atHtVkb z(g+3#ePdQVrQt&k8Zqi;u#`RNx2%5$7^c##qKHbG1DS@HP?To8t=Kkc#1w%dL4G0G zB;@Tuh6T>NY?a)Qf$PrJL5B7lXv+2l$Y&YxD{`O9_ad4VnZ?c>+I>KY++RE6jL#4L z@+)VWk+*h_Z^do^7|-WFj;q(~$oIZjB@ggGV?bHE_N3qWF?XvU&RJjNHzye&dZ5<@HETvofC)@|GdOZgMF<|~yCiSe5 z>X2uS5_j%8Rqg+=C#&z8xc|v79`nGie)sXvw>C&?Tx!R+w{iaV)T#At;%X3lm0jN; z{-|=e1YN~t#gS^{t$V%@#tzW&t*twMjd&qy9M<%_oDCCfJjICp!D6HcO3DhadqZ&@ zg(URI(X2=pi_ex0v?57D<=KA>t50k;=xVfof()oJPc^VP9%ON|QkW7xcSz0CCmGBo zxP4XU;Q?{ggyU?y^VT1}J?L-m34JTs-)_hJt$Y(5He~q|(B@aSqqD{S3AUp>^I)Hd zs%8aHj?FbVOKTqN<4mT4VQ#ur6j2Ftba(>@G^sj^MTTN-8Biq3FC?3UyadIdq!5x8 zLP=R{TYzDZZo|kh%iy=ypNv{q521S5P__FfTz;^qt?#aiqN}v3e;hoxCUT*{`ooJ? zdG0X-;;D(XQn`oyZ9n_lczoO4-wNh${h{e|T(kPW0zav5*GAU$xgIyTtKh+0aB<*< zEwYoLo)hu-_6#Od!7w-7=8C9R6_DtVP9}h6kU%KrmH|bg{6exx$ZM6ikzUYYfobfz zQ3f>kPw+2yJTd zW`FDMGT4pza0q*GxJaR

    Q3G1K^|MbO|-my#sh?OA`CG_ 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 literal 0 HcmV?d00001 diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v4.qsf b/examples/hdl4se_riscv/de2/de2_riscv_v4.qsf index 6822181..b2f54d3 100644 --- a/examples/hdl4se_riscv/de2/de2_riscv_v4.qsf +++ b/examples/hdl4se_riscv/de2/de2_riscv_v4.qsf @@ -993,6 +993,7 @@ set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top +set_global_assignment -name VERILOG_FILE ../verilog/altera/regfile/regfile.v set_global_assignment -name VERILOG_FILE qsys/pllqsys/synthesis/submodules/pllqsys_altpll_0.v set_global_assignment -name VERILOG_FILE qsys/pllqsys/synthesis/pllqsys.v set_global_assignment -name VERILOG_FILE ../verilog/riscv_core_v4.v diff --git a/examples/hdl4se_riscv/de2/de2_riscv_v4.qws b/examples/hdl4se_riscv/de2/de2_riscv_v4.qws deleted file mode 100644 index e70bde81efe1ec574ca95ed27b2c4f67ceb758e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 613 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 delta 263510 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˻i5#341 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

    _CM<=%V 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 15) & 0x1f); -} END_DEFINE_FUNC - -DEFINE_FUNC(riscv_core_gen_rs2_no, "instr") { - vput(rs2_no, (vget(instr) >> 20) & 0x1f); -} END_DEFINE_FUNC - -DEFINE_FUNC(riscv_core_gen_opcode, "instr") { - vput(opcode, (vget(instr) >> 2) & 0x1f); -} END_DEFINE_FUNC - -DEFINE_FUNC(riscv_core_gen_rd, "instr") { - vput(rd, (vget(instr) >> 7) & 0x1f); -} END_DEFINE_FUNC +DEFINE_FUNC(riscv_core_read_sig, "state, pc, instr, bReadData, regrddata, regrddata2") { + unsigned int state; + state = vget(state); + vput(wRead, 0); + if (state == RISCVSTATE_READ_INST) { + vput(wRead, 1); + vput(bReadAddr, vget(pc)); + } + else if (state == RISCVSTATE_EXEC_INST) { + unsigned int instr; + instr = vget(instr); + if ((instr & 0x7f) == 0x03) { + /* ld inst */ + unsigned int imm; + unsigned int rs1 = vget(regrddata); + unsigned int rs2 = vget(regrddata2); + unsigned int rdaddr; + imm = instr >> 20; + imm = sign_expand(imm, 11); + rdaddr = rs1 + imm; + vput(wRead, 1); + vput(bReadAddr, rdaddr); + } + } + else if (state == RISCVSTATE_WAIT_LD) { + unsigned int instr = vget(instr); + unsigned int func3 = (instr >> 12) & 0x7; + unsigned int ldaddr = vget(ldaddr); + if (func3 == 1 && (ldaddr & 3) == 3) { /* lh */ + vput(wRead, 1); + vput(bReadAddr, ldaddr + 4); + } + else if (func3 == 2 && (ldaddr & 3) != 0) { /* lw */ + vput(wRead, 1); + vput(bReadAddr, ldaddr + 4); -DEFINE_FUNC(riscv_core_gen_func3, "instr") { - vput(func3, (vget(instr) >> 12) & 0x7); + } + else if (func3 == 5 && (ldaddr & 3) == 3) { /* lhu */ + vput(wRead, 1); + vput(bReadAddr, ldaddr + 4); + } + else { + vput(wRead, 0); + vput(bReadAddr, 0); + } + } } END_DEFINE_FUNC -DEFINE_FUNC(riscv_core_gen_rd_r, "cur_instr") { - vput(rd_r, (vget(cur_instr) >> 7) & 0x1f); +DEFINE_FUNC(riscv_core_gen_ldaddr, "state, pc, instr, regrddata") { + unsigned int state; + state = vget(state); + if (state == RISCVSTATE_READ_INST) { + vput(ldaddr, vget(pc)); + } + else if (state == RISCVSTATE_EXEC_INST) { + unsigned int instr; + instr = vget(instr); + if ((instr & 0x7f) == 0x03) { + /* ld inst */ + unsigned int imm; + unsigned int rs1; + unsigned int rdaddr; + imm = instr >> 20; + rs1 = vget(regrddata); + imm = sign_expand(imm, 11); + rdaddr = rs1 + imm; + vput(ldaddr, rdaddr); + if (rdaddr & 3) { + unsigned int func3 = (instr >> 12) & 0x7; + if (func3 == 2) { + printf("read a unaligned addr %08x, %08x, %d, %08x, %08x\n", vget(pc), instr, rdaddr & 3, rs1, imm); + } + } + } + } } END_DEFINE_FUNC -DEFINE_FUNC(riscv_core_gen_func3_r, "cur_instr") { - vput(func3_r, (vget(cur_instr) >> 12) & 0x7); -} END_DEFINE_FUNC -DEFINE_FUNC(riscv_core_gen_rs1, - "rs1_no, " - "x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, " - "x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, " - "x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31" -) { - switch (vget(rs1_no)) { - case 0: vput(rs1, 0); break; - case 1: VAssign(rs1, x1); break; - case 2: VAssign(rs1, x2); break; - case 3: VAssign(rs1, x3); break; - case 4: VAssign(rs1, x4); break; - case 5: VAssign(rs1, x5); break; - case 6: VAssign(rs1, x6); break; - case 7: VAssign(rs1, x7); break; - case 8: VAssign(rs1, x8); break; - case 9: VAssign(rs1, x9); break; - case 10: VAssign(rs1, x10); break; - case 11: VAssign(rs1, x11); break; - case 12: VAssign(rs1, x12); break; - case 13: VAssign(rs1, x13); break; - case 14: VAssign(rs1, x14); break; - case 15: VAssign(rs1, x15); break; - case 16: VAssign(rs1, x16); break; - case 17: VAssign(rs1, x17); break; - case 18: VAssign(rs1, x18); break; - case 19: VAssign(rs1, x19); break; - case 20: VAssign(rs1, x20); break; - case 21: VAssign(rs1, x21); break; - case 22: VAssign(rs1, x22); break; - case 23: VAssign(rs1, x23); break; - case 24: VAssign(rs1, x24); break; - case 25: VAssign(rs1, x25); break; - case 26: VAssign(rs1, x26); break; - case 27: VAssign(rs1, x27); break; - case 28: VAssign(rs1, x28); break; - case 29: VAssign(rs1, x29); break; - case 30: VAssign(rs1, x30); break; - case 31: VAssign(rs1, x31); break; +DEFINE_FUNC(riscv_core_reg_wr_sig, "state, dstreg, dstvalue, bReadData, instr, regrddata, regrddata2, pc") { + unsigned int state = vget(state); + switch (state) { + case RISCVSTATE_READ_REGS: { + unsigned int instr = vget(bReadData); + vput(regno, (instr >> 15) & 0x1f); + vput(regwren, 0); + vput(regena, 0x0); + vput(regwrdata, 0x0); + vput(regno2, (instr >> 20) & 0x1f); + vput(regwren2, 0); + vput(regena2, 0x0); + vput(regwrdata2, 0x0); + }break; + case RISCVSTATE_WRITE_RD: { + unsigned int dstreg; + dstreg = vget(dstreg); + vput(regwren, (dstreg != 0) ? 1 : 0); + vput(regno, dstreg); + vput(regena, 0xf); + vput(regwrdata, vget(dstvalue)); + vput(regwren2, (dstreg != 0) ? 1 : 0); + vput(regno2, dstreg); + vput(regena2, 0xf); + vput(regwrdata2, vget(dstvalue)); + }break; + case RISCVSTATE_INIT_REGX1: { + vput(regwren, 1); + vput(regno, 1); + vput(regena, 0xf); + vput(regwrdata, 0x8c); + vput(regwren2, 1); + vput(regno2, 1); + vput(regena2, 0xf); + vput(regwrdata2, 0x8c); + }break; + case RISCVSTATE_INIT_REGX2: { + vput(regwren, 1); + vput(regno, 2); + vput(regena, 0xf); + vput(regwrdata, RAMSIZE * 4 - 16); + vput(regwren2, 1); + vput(regno2, 2); + vput(regena2, 0xf); + vput(regwrdata2, RAMSIZE * 4 - 16); + }break; + default: { + vput(regwren, 0); + vput(regno, 0); + vput(regena, 0x0); + vput(regwrdata, 0x0); + vput(regwren2, 0); + vput(regno2, 0); + vput(regena2, 0x0); + vput(regwrdata2, 0x0); + } } } END_DEFINE_FUNC -DEFINE_FUNC(riscv_core_gen_rs2, - "rs2_no, " - "x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, " - "x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, " - "x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31" -) { - switch (vget(rs2_no)) { - case 0: vput(rs2, 0); break; - case 1: VAssign(rs2, x1); break; - case 2: VAssign(rs2, x2); break; - case 3: VAssign(rs2, x3); break; - case 4: VAssign(rs2, x4); break; - case 5: VAssign(rs2, x5); break; - case 6: VAssign(rs2, x6); break; - case 7: VAssign(rs2, x7); break; - case 8: VAssign(rs2, x8); break; - case 9: VAssign(rs2, x9); break; - case 10: VAssign(rs2, x10); break; - case 11: VAssign(rs2, x11); break; - case 12: VAssign(rs2, x12); break; - case 13: VAssign(rs2, x13); break; - case 14: VAssign(rs2, x14); break; - case 15: VAssign(rs2, x15); break; - case 16: VAssign(rs2, x16); break; - case 17: VAssign(rs2, x17); break; - case 18: VAssign(rs2, x18); break; - case 19: VAssign(rs2, x19); break; - case 20: VAssign(rs2, x20); break; - case 21: VAssign(rs2, x21); break; - case 22: VAssign(rs2, x22); break; - case 23: VAssign(rs2, x23); break; - case 24: VAssign(rs2, x24); break; - case 25: VAssign(rs2, x25); break; - case 26: VAssign(rs2, x26); break; - case 27: VAssign(rs2, x27); break; - case 28: VAssign(rs2, x28); break; - case 29: VAssign(rs2, x29); break; - case 30: VAssign(rs2, x30); break; - case 31: VAssign(rs2, x31); break; +FILE* recordfileGet(); + +#define DEBUG_CODE_FUNC fprintf(recordfileGet(), "%30s: %08x: %08x\n", __FUNCTION__, pc, instr) +#define DEBUG_CODE_DECODE fprintf(recordfileGet(), +#define INSTR_FORMAT_ERROR fprintf(recordfileGet(), "instruction format error, we support rv32im only: pc=%08x: %x\n", pc, instr); + +#define RISCV_SETDSTREG(rd, rst) \ +do { \ + vput(dstreg, rd); \ + vput(dstvalue, rst); \ +} while (0) + +void riscv_core_exec_alui_inst(MODULE_DATA_TYPE* pobj, unsigned int pc, unsigned int instr, unsigned int rs1, unsigned int rs2) { + /* addi, slti, sltiu, xori, ori, andi, slli, srli, srai */ + unsigned int imm; + unsigned int func3; + unsigned int rd; + func3 = (instr >> 12) & 0x7; + rd = (instr >> 7) & 0x1f; + imm = vget(imm); + switch (func3) { + case 0:/*addi*/ + RISCV_SETDSTREG(rd, rs1 + imm); + break; + case 1:/*slli*/ + RISCV_SETDSTREG(rd, rs1 << (imm & 0x1f)); + break; + case 2:/*slti*/ + RISCV_SETDSTREG(rd, (*(int*)&rs1 < *(int*)&imm) ? 1 : 0); + break; + case 3:/*sltiu*/ + RISCV_SETDSTREG(rd, rs1 < imm ? 1 : 0); + break; + case 4:/*xori*/ + RISCV_SETDSTREG(rd, rs1 ^ imm); + break; + case 5:/*srli/srai*/ + if (instr & (1 << 30)) + RISCV_SETDSTREG(rd, ((int)rs1) >> (imm & 0x1f)); + else + RISCV_SETDSTREG(rd, rs1 >> (imm & 0x1f)); + break; + case 6:/*ori*/ + RISCV_SETDSTREG(rd, rs1 | imm); + break; + case 7:/*andi*/ + RISCV_SETDSTREG(rd, rs1 & imm); + break; + default: + RISCV_SETDSTREG(0, 0); + DEBUG_CODE_FUNC; + break; } -} END_DEFINE_FUNC +} -DEFINE_FUNC(riscv_core_register, "dstreg, dstvalue, nwReset") { - if (vget(nwReset) == 0) { - vput(x1, 0x8c); - vput(x2, RAMSIZE * 4 - 16); +void riscv_core_exec_alu_inst(MODULE_DATA_TYPE* pobj, unsigned int pc, unsigned int instr, unsigned int rs1, unsigned int rs2) { + /* + add, sub, sll, slt, sltu, xor, srl, sra, or, and + mul, mulh, mulhsu, mulhu, div, divu, rem, remu + */ + unsigned int rd; + unsigned int func3; + unsigned int rst; + rst = 0; + func3 = (instr >> 12) & 0x7; + rd = (instr >> 7) & 0x1f; + if (instr & (1 << 25)) {/* is M instr*/ + switch (func3) { + case 0: { //mul + long long s1, s2; + s1 = *(int*)&rs1; + s2 = *(int*)&rs2; + s1 *= s2; + rst = *(unsigned int*)&s1; + }break; + case 1: { //mulh + long long s1, s2; + s1 = *(int*)&rs1; + s2 = *(int*)&rs2; + s1 *= s2; + rst = (*(unsigned long long*) & s1) >> 32; + }break; + case 2: { //mulhsu + long long s1, s2; + s1 = *(int*)&rs1; + s2 = rs2; + s1 *= s2; + rst = (*(unsigned long long*) & s1) >> 32; + }break; + case 3: { //mulhu + unsigned long long s1, s2; + s1 = rs1; + s2 = rs2; + s1 *= s2; + rst = s1 >> 32; + }break; +#if 1 + case 4: { //div + if (rs2 == 0) + rst = 0xffffffff; + else + *(int*)&rst = *(int*)&rs1 / *(int*)&rs2; + }break; + case 5: { //divu + if (rs2 == 0) + rst = 0xffffffff; + else + rst = rs1 / rs2; + }break; + case 6: { //rem + if (rs2 == 0) + rst = rs1; + else + *(int*)&rst = *(int*)&rs1 % *(int*)&rs2; + }break; + case 7: { //remu + if (rs2 == 0) + rst = rs1; + else + rst = rs1 % rs2; + }break; +#endif + } } else { - switch (vget(dstreg)) { - case 0: ; break; - case 1: VAssign(x1, dstvalue); break; - case 2: VAssign(x2, dstvalue); break; - case 3: VAssign(x3, dstvalue); break; - case 4: VAssign(x4, dstvalue); break; - case 5: VAssign(x5, dstvalue); break; - case 6: VAssign(x6, dstvalue); break; - case 7: VAssign(x7, dstvalue); break; - case 8: VAssign(x8, dstvalue); break; - case 9: VAssign(x9, dstvalue); break; - case 10: VAssign(x10, dstvalue); break; - case 11: VAssign(x11, dstvalue); break; - case 12: VAssign(x12, dstvalue); break; - case 13: VAssign(x13, dstvalue); break; - case 14: VAssign(x14, dstvalue); break; - case 15: VAssign(x15, dstvalue); break; - case 16: VAssign(x16, dstvalue); break; - case 17: VAssign(x17, dstvalue); break; - case 18: VAssign(x18, dstvalue); break; - case 19: VAssign(x19, dstvalue); break; - case 20: VAssign(x20, dstvalue); break; - case 21: VAssign(x21, dstvalue); break; - case 22: VAssign(x22, dstvalue); break; - case 23: VAssign(x23, dstvalue); break; - case 24: VAssign(x24, dstvalue); break; - case 25: VAssign(x25, dstvalue); break; - case 26: VAssign(x26, dstvalue); break; - case 27: VAssign(x27, dstvalue); break; - case 28: VAssign(x28, dstvalue); break; - case 29: VAssign(x29, dstvalue); break; - case 30: VAssign(x30, dstvalue); break; - case 31: VAssign(x31, dstvalue); break; + switch (func3) { + case 0: { //add/sub + if (instr & (1 << 30)) + rst = rs1 - rs2; + else + rst = rs1 + rs2; + }break; + case 1: { //sll + rst = rs1 << rs2; + }break; + case 2: { //slt + rst = (*(int*)&rs1 < *(int*)&rs2) ? 1 : 0; + }break; + case 3: { //sltu + rst = (rs1 < rs2) ? 1 : 0; + }break; + case 4: { //xor + rst = rs1 ^ rs2; + }break; + case 5: { //srl/sra + if (instr & (1 << 30)) + rst = rs1 >> rs2; + else + *(int*)&rst = (*(int*)&rs1) >> rs2; + }break; + case 6: { //or + rst = rs1 | rs2; + }break; + case 7: { //and + rst = rs1 & rs2; + }break; + } } -} END_DEFINE_FUNC + RISCV_SETDSTREG(rd, rst); +} -DEFINE_FUNC(riscv_core_gen_cond, "func3, rs1, rs2") { - unsigned int rs1, rs2; - rs1 = vget(rs1); - rs2 = vget(rs2); - switch (vget(func3)) { - case 0:/*beq*/ vput(cond, rs1 == rs2 ? 1 : 0); break; - case 1:/*bne*/ vput(cond, rs1 != rs2 ? 1 : 0); break; - case 4:/*blt*/ vput(cond, (*(int*)&rs1) < (*(int*)&rs2) ? 1 : 0); break; - case 5:/*bge*/ vput(cond, (*(int*)&rs1) >= (*(int*)&rs2) ? 1 : 0); break; - case 6:/*bltu*/vput(cond, rs1 < rs2 ? 1 : 0); break; - case 7:/*bgeu*/vput(cond, rs1 >= rs2 ? 1 : 0); break; - default: - vput(cond, 0); +void riscv_core_exec_fence_inst(MODULE_DATA_TYPE* pobj, unsigned int pc, unsigned int instr, unsigned int rs1, unsigned int rs2) { + /* fence, fence_i */ + DEBUG_CODE_FUNC; +} + +void riscv_core_exec_sys_inst(MODULE_DATA_TYPE* pobj, unsigned int pc, unsigned int instr, unsigned int rs1, unsigned int rs2) { + /* ecall, ebreak, csrrw, csrrs, csrrc, csrrwi, csrrsi, csrrci */ + DEBUG_CODE_FUNC; +} + +DEFINE_FUNC(riscv_core_exec_inst, "") { + unsigned int pc = vget(pc); + unsigned int instr = vget(instr); + unsigned int rs1 = vget(regrddata); + unsigned int rs2 = vget(regrddata2); + unsigned int opcode = instr & 0x7f; + if (((opcode & 0x3) != 3) || ((opcode >> 2) & 0x7) == 0x7) { + printf("instruction format error, we support 32bit instruction only: pc=%08x: %x", pc, instr); + exit(-2); + } + opcode >>= 2; + switch (opcode) { + case 0x0d: break;// riscv_core_exec_lui_inst(pobj, pc, instr, rs1, rs2); break; + case 0x05: break;// riscv_core_exec_auipc_inst(pobj, pc, instr, rs1, rs2); break; + case 0x1b: break;// riscv_core_exec_jal_inst(pobj, pc, instr, rs1, rs2); break; + case 0x19: break;// riscv_core_exec_jalr_inst(pobj, pc, instr, rs1, rs2); break; + case 0x18: break;// riscv_core_exec_b_inst(pobj, pc, instr, rs1, rs2); break; + case 0x00: break;// riscv_core_exec_ld_inst(pobj, pc, instr, rs1, rs2); break; + case 0x08: break;//riscv_core_exec_st_inst(pobj, pc, instr, rs1, rs2); break; + case 0x04: break;// riscv_core_exec_alui_inst(pobj, pc, instr, rs1, rs2); break; + case 0x0c: break;// riscv_core_exec_alu_inst(pobj, pc, instr, rs1, rs2); break; + case 0x03: riscv_core_exec_fence_inst(pobj, pc, instr, rs1, rs2); break; + case 0x1c: riscv_core_exec_sys_inst(pobj, pc, instr, rs1, rs2); break; + default: { INSTR_FORMAT_ERROR; exit(-2); - break; + } } } END_DEFINE_FUNC -DEFINE_FUNC(riscv_core_gen_imm, "instr") { - unsigned int instr; - unsigned int opcode; - instr = vget(instr); - opcode = instr & 0x7f; - opcode >>= 2; - switch (opcode) { +DEFINE_FUNC(riscv_core_gen_dstreg, "state, instr, ldaddr, readreg, bReadData, pc, rs1, rs2, divclk, regrddata, imm") { + switch (vget(state)) { + case RISCVSTATE_INIT_REGX1: { + RISCV_SETDSTREG(1, 0x8c); + }break; + case RISCVSTATE_INIT_REGX2: { + RISCV_SETDSTREG(2, RAMSIZE * 4 - 16); + }break; + case RISCVSTATE_WAIT_LD: { + unsigned int instr = vget(instr); + unsigned int func3 = (instr >> 12) & 0x7; + unsigned int v; + unsigned int ldaddr = vget(ldaddr) & 3; + unsigned int readreg = vget(readreg); + v = vget(bReadData); + switch (func3) { + case 0:/*lb*/ + switch (ldaddr) { + case 0: v = (v >> 0) & 0xff; break; + case 1: v = (v >> 8) & 0xff; break; + case 2: v = (v >> 16) & 0xff; break; + case 3: v = (v >> 24) & 0xff; break; + } + v = sign_expand(v, 7); + RISCV_SETDSTREG(readreg, v); + break; + case 1:/*lh*/ + switch (ldaddr) { + case 0: v = (v >> 0) & 0xffff; break; + case 1: v = (v >> 8) & 0xffff; break; + case 2: v = (v >> 16) & 0xffff; break; + case 3: { + //printf("No support for load 16bit in more than one word[pc=%08x, instr=%08x, ldaddr=%d]\n", vget(pc), instr, ldaddr); + //exit(-8); + }break; + } + v = sign_expand(v, 15); + RISCV_SETDSTREG(readreg, v); + break; + case 2:/*lw*/ + if (ldaddr != 0) { + //printf("No support for load 32bit in more than one word[pc=%08x, instr=%08x, ldaddr=%d]\n", vget(pc), instr, ldaddr); + //exit(-9); + } + RISCV_SETDSTREG(readreg, v); + break; + case 4:/*lbu*/ + switch (ldaddr) { + case 0: v = (v >> 0) & 0xff; break; + case 1: v = (v >> 8) & 0xff; break; + case 2: v = (v >> 16) & 0xff; break; + case 3: v = (v >> 24) & 0xff; break; + } + RISCV_SETDSTREG(readreg, v); + break; + case 5:/*lhu*/ + switch (ldaddr) { + case 0: v = (v >> 0) & 0xffff; break; + case 1: v = (v >> 8) & 0xffff; break; + case 2: v = (v >> 16) & 0xffff; break; + case 3: { + //printf("No support for load 16bit in more than one word[pc=%08x, instr=%08x, ldaddr=%d]\n", vget(pc), instr, ldaddr); + //exit(-8); + }break; + } + RISCV_SETDSTREG(readreg, v); + break; + default: + RISCV_SETDSTREG(0, 0); + break; + } + }break; + case RISCVSTATE_WAIT_LD2: { + unsigned int instr = vget(instr); + unsigned int func3 = (instr >> 12) & 0x7; + unsigned int v; + unsigned int lastv = vget(lastv); + unsigned int ldaddr = vget(ldaddr) & 3; + unsigned int readreg = vget(readreg); + v = vget(bReadData); + if (func3 == 1 && ldaddr == 3) { + v = ((v << 8) & 0xff00) | lastv; + v = sign_expand(v, 15); + RISCV_SETDSTREG(readreg, v); + } + else if (func3 == 2 && ldaddr != 0) { + v = (v << ((4 - ldaddr) * 8)) | lastv; + RISCV_SETDSTREG(readreg, v); + } + else if (func3 == 5 && ldaddr == 3) { + v = ((v << 8) & 0xff00) | lastv; + RISCV_SETDSTREG(readreg, v); + } else { + RISCV_SETDSTREG(0, 0); + } + }break; + case RISCVSTATE_EXEC_INST: { + unsigned int pc = vget(pc); + unsigned int instr = vget(instr); + unsigned int rs1 = vget(regrddata); + unsigned int rs2 = vget(regrddata2); + unsigned int imm = vget(imm); + unsigned int opcode = instr & 0x7f; + unsigned int rd = (instr >> 7) & 0x1f; + opcode >>= 2; + switch (opcode) { + case 0x0d: RISCV_SETDSTREG(rd, imm); break; + case 0x05: RISCV_SETDSTREG(rd, imm + pc); break; + case 0x1b: RISCV_SETDSTREG(rd, pc + 4); break; + case 0x19: RISCV_SETDSTREG(rd, pc + 4); break; + case 0x04: riscv_core_exec_alui_inst(pobj, pc, instr, rs1, rs2); break; + case 0x0c: riscv_core_exec_alu_inst(pobj, pc, instr, rs1, rs2); break; + default: { + RISCV_SETDSTREG(0, 0); + } + } + } break; + case RISCVSTATE_WAIT_DIV: if (vget(divclk) == 0) { + + }break; + default: { + RISCV_SETDSTREG(0, 0); + }break; + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_imm, "instr, state") { + /* 在RISCVSTATE_READ_REGS周期生成imm */ + if (vget(state) == RISCVSTATE_READ_REGS) { + unsigned int instr; + unsigned int opcode; + instr = vget(bReadData); + opcode = instr & 0x7f; + opcode >>= 2; + switch (opcode) { case 0x0d: { vput(imm, instr & 0xfffff000); }break; @@ -398,466 +651,362 @@ DEFINE_FUNC(riscv_core_gen_imm, "instr") { imm = sign_expand(imm, 11); vput(imm, imm); }break; + } } } END_DEFINE_FUNC -DEFINE_FUNC(riscv_core_gen_state, "state, instr, opcode, func3, rs2, nwReset") { +DEFINE_FUNC(riscv_core_gen_state, "state, instr, nwReset, imm, ldaddr, lastaddr, lastv") { if (vget(nwReset) == 0) { - vput(state, RISCVSTATE_STARTUP); + vput(state, RISCVSTATE_INIT_REGX1); } else { int state = vget(state); switch (state) { - case RISCVSTATE_STARTUP: { + case RISCVSTATE_INIT_REGX1: { + vput(state, RISCVSTATE_INIT_REGX2); + }break; + case RISCVSTATE_INIT_REGX2: { + vput(state, RISCVSTATE_READ_INST); + }break; + case RISCVSTATE_READ_INST: { + vput(state, RISCVSTATE_READ_REGS); + }break; + case RISCVSTATE_READ_REGS: { vput(state, RISCVSTATE_EXEC_INST); }break; + case RISCVSTATE_WRITE_RD: { + vput(state, RISCVSTATE_READ_INST); + }break; case RISCVSTATE_EXEC_INST: { unsigned int instr = vget(instr); - unsigned int opcode = vget(opcode); - unsigned int func3 = vget(func3); - unsigned int rs2 = vget(rs2); + unsigned int opcode = instr & 0x7f; + unsigned int func3 = (instr >> 12) & 0x7; + + opcode >>= 2; if (opcode == 0x00) vput(state, RISCVSTATE_WAIT_LD);//ld else if (opcode == 0x08) vput(state, RISCVSTATE_WAIT_ST);//st - /* else if (opcode == 0x0c && (instr & (1 << 25)) && (func3 & 4) && rs2 != 0) { + /* else if (opcode == 0x0c && (instr & (1 << 25)) && (func3 & 4)) { vput(state, RISCVSTATE_WAIT_DIV); }*/ + else + vput(state, RISCVSTATE_WRITE_RD); }break; case RISCVSTATE_WAIT_LD: { - vput(state, RISCVSTATE_EXEC_INST); + unsigned int instr = vget(instr); + unsigned int func3 = (instr >> 12) & 0x7; + unsigned int ldaddr = vget(ldaddr); + ldaddr &= 3; + if (func3 == 1 && ldaddr == 3) { /* lh */ + vput(state, RISCVSTATE_WAIT_LD2); + } + else if (func3 == 2 && ldaddr != 0) { /* lw */ + vput(state, RISCVSTATE_WAIT_LD2); + } + else if (func3 == 5 && ldaddr == 3) { /* lhu */ + vput(state, RISCVSTATE_WAIT_LD2); + } + else { + vput(state, RISCVSTATE_WRITE_RD); + } + }break; + case RISCVSTATE_WAIT_LD2: { + vput(state, RISCVSTATE_WRITE_RD); }break; case RISCVSTATE_WAIT_ST: { - vput(state, RISCVSTATE_EXEC_INST); + unsigned int instr = vget(instr); + unsigned int lastaddr = vget(lastaddr); + unsigned int opcode = instr & 0x7f; + unsigned int func3; + func3 = (instr >> 12) & 0x7; + opcode >>= 2; + vput(state, RISCVSTATE_READ_INST); + if (opcode == 0x08) { + if (func3 == 1 && (lastaddr & 3) == 3) { /* sh */ + vput(state, RISCVSTATE_WAIT_ST2); + } + else if (func3 == 2 && (lastaddr & 3) != 0) { + vput(state, RISCVSTATE_WAIT_ST2); + } + } }break; - /*case RISCVSTATE_WAIT_DIV: { + case RISCVSTATE_WAIT_ST2: { + vput(state, RISCVSTATE_READ_INST); + }break; + case RISCVSTATE_WAIT_DIV: { if (vget(divclk) == 0) - vput(state, RISCVSTATE_EXEC_INST); - }break;*/ - } - } -} END_DEFINE_FUNC - -DEFINE_FUNC(riscv_core_gen_newpc, "state, opcode, pc, imm, rs1, cond") { - if (vget(state) == RISCVSTATE_EXEC_INST) { - switch (vget(opcode)) { - case 0x1b: vput(newpc, vget(pc) + vget(imm)); break; - case 0x19: vput(newpc, vget(rs1) + vget(imm)); break; - case 0x18: vput(newpc, vget(cond) ? (vget(pc) + vget(imm)) : (vget(pc) + 4)); break; - default : vput(newpc, vget(pc) + 4); break; + vput(state, RISCVSTATE_WRITE_RD); + }break; } } - else { - VAssign(newpc, pc); - } -} END_DEFINE_FUNC - -DEFINE_FUNC(riscv_core_reg_gen_pc, "nwReset, newpc") { - if (vget(nwReset) == 0) { - vput(pc, 0x74); - } - else { - VAssign(pc, newpc); - } } END_DEFINE_FUNC - -DEFINE_FUNC(riscv_core_read_sig, "nwReset, state, newpc, rs1, imm, opcode") { +DEFINE_FUNC(riscv_core_gen_write, "nwReset, state, pc, instr, regrddata, regrddata2, imm") { if (vget(nwReset) == 0) { - vput(wRead, 0); - vput(bReadAddr, 0); - } else { - vput(wRead, 1); - VAssign(bReadAddr, newpc); - if (vget(state) == RISCVSTATE_EXEC_INST) { - unsigned int opcode = vget(opcode); - if (opcode == 0x00) { /* LOAD */ - vput(wRead, 1); - vput(bReadAddr, vget(rs1) + vget(imm)); - } else if (opcode == 0x08) {/* STORE */ - vput(wRead, 0); - vput(bReadAddr, 0); - } - } + vput(write, 0); } -} END_DEFINE_FUNC - -DEFINE_FUNC(riscv_core_gen_write, "nwReset, state, opcode, rs1, imm, rs2, func3") { - vput(write, 0); - vput(writeaddr, 0); - vput(writemask, 0); - vput(writedata, 0); - if (vget(nwReset) && vget(state) == RISCVSTATE_EXEC_INST && vget(opcode)==0x08) { - unsigned int newwriteaddr = vget(rs1) + vget(imm); - unsigned int rs2 = vget(rs2); - vput(write, 1); - vput(writeaddr, newwriteaddr); - vput(writemask, 0); - vput(writedata, rs2); - switch (vget(func3)) { + else if (vget(state) == RISCVSTATE_EXEC_INST) { + unsigned int pc = vget(pc); + unsigned int instr = vget(instr); + unsigned int rs1 = vget(regrddata); + unsigned int rs2 = vget(regrddata2); + unsigned int opcode = instr & 0x7f; + opcode >>= 2; + if (opcode == 0x08) { + unsigned int imm; + unsigned int func3; + unsigned int v; + unsigned int writeaddr; + unsigned int writemask; + unsigned int writedata; + func3 = (instr >> 12) & 0x7; + imm = vget(imm); + v = 0; + /* riscv支持地址不对齐访问,但是假定写在一个32位字中 */ + writeaddr = rs1 + imm; + writemask = 0; + writedata = rs2; + switch (func3) { case 0:/*sb*/ - switch (newwriteaddr & 3) { - case 0: vput(writemask, 0xe); vput(writedata, rs2); break; //1110 - case 1: vput(writemask, 0xd); vput(writedata, rs2 << 8); break; //1101 - case 2: vput(writemask, 0xb); vput(writedata, rs2 << 16); break; //1011 - case 3: vput(writemask, 0x7); vput(writedata, rs2 << 24); break; //0111 + switch (writeaddr & 3) { + case 0: writemask = 0xe; writedata <<= 0; break; //1110 + case 1: writemask = 0xd; writedata <<= 8; break; //1101 + case 2: writemask = 0xb; writedata <<= 16; break; //1011 + case 3: writemask = 0x7; writedata <<= 24; break; //0111 } break; case 1:/*sh*/ - switch (newwriteaddr & 3) { - case 0: vput(writemask, 0xc); vput(writedata, rs2); break; //1100 - case 1: vput(writemask, 0x9); vput(writedata, rs2 << 8); break; //1001 - case 2: vput(writemask, 0x3); vput(writedata, rs2 << 16); break; //0011 - case 3: { - printf("we support store instruction write in one word only %08x: %08x\n", vget(pc), vget(instr)); - exit(-6); - }break; + switch (writeaddr & 3) { + case 0: writemask = 0xc; writedata <<= 0; break; //1100 + case 1: writemask = 0x9; writedata <<= 8; break; //1001 + case 2: writemask = 0x3; writedata <<= 16; break; //0011 + case 3: writemask = 0x7; writedata <<= 24; break; //0111 /*ST2*/ } break; case 2:/*sw*/ - if (newwriteaddr & 3) { - printf("we support store instruction write in one word only %08x: %08x\n", vget(pc), vget(instr)); - exit(-6); + switch (writeaddr & 3) { + case 0: writemask = 0x0; writedata <<= 0; break; // 0000 + case 1: writemask = 0x1; writedata <<= 8; break; // 0001 /*ST2*/ + case 2: writemask = 0x3; writedata <<= 16; break; //0011 /*ST2*/ + case 3: writemask = 0x7; writedata <<= 24; break; //0111 /*ST2*/ } break; default: DEBUG_CODE_FUNC; exit(-7); break; + } + vput(writeaddr, writeaddr); + vput(write, 1); + vput(writedata, writedata); + vput(writemask, writemask); + } + else { + vput(write, 0); + } + } + else if (vget(state) == RISCVSTATE_WAIT_ST) { + unsigned int instr = vget(instr); + unsigned int lastaddr = vget(lastaddr); + unsigned int lastv = vget(lastv); + unsigned int func3; + unsigned int writemask = 0; + unsigned int writedata = 0; + func3 = (instr >> 12) & 0x7; + vput(write, 0); + switch (func3) { + case 1:/*sh*/ + switch (lastaddr & 3) { + case 3: writemask = 0xe; writedata = lastv >> 24; vput(write, 1); break; //1110 /*ST2*/ + } + break; + case 2:/*sw*/ + switch (lastaddr & 3) { + case 1: writemask = 0xe; writedata = lastv >> 24; vput(write, 1); break; // 1110 /*ST2*/ + case 2: writemask = 0xc; writedata = lastv >> 16; vput(write, 1); break; //1100 /*ST2*/ + case 3: writemask = 0x8; writedata = lastv >> 8; vput(write, 1); break; //1000 /*ST2*/ + } + break; } + vput(writeaddr, lastaddr + 4); + vput(writedata, writedata); + vput(writemask, writemask); + } + else { + vput(write, 0); } } END_DEFINE_FUNC -DEFINE_FUNC(riscv_core_gen_ldaddr, "state, rs1, imm") { - if (vget(state) == RISCVSTATE_EXEC_INST) { - vput(ldaddr, vget(rs1) + vget(imm)); +DEFINE_FUNC(riscv_core_reg_gen_readreg, "state, instr") { + int state = vget(state); + if (state == RISCVSTATE_EXEC_INST) { + unsigned int instr = vget(instr); + unsigned int opcode = instr & 0x7f; + opcode >>= 2; + if (opcode == 0x00) { + unsigned int rd; + rd = (instr >> 7) & 0x1f; + vput(readreg, rd); + } } } END_DEFINE_FUNC -DEFINE_FUNC(riscv_core_gen_dstreg, "state, ldaddr, func3_r, rd_r, bReadData, pc, rs1, rs2, divclk, instr, imm") { - unsigned int state = vget(state); - vput(dstvalue, 0); - vput(dstreg, 0); - switch (state) { - case RISCVSTATE_WAIT_LD: { - unsigned int ldaddr = vget(ldaddr); - unsigned int data = vget(bReadData); - VAssign(dstreg, rd_r); - switch (vget(func3_r)) { - case 0: { - switch (ldaddr & 3) { - case 0: { - data = sign_expand(data, 7); - vput(dstvalue, data); - }break; - case 1: { - data >>= 8; - data = sign_expand(data, 7); - vput(dstvalue, data); - }break; - case 2: { - data >>= 16; - data = sign_expand(data, 7); - vput(dstvalue, data); - }break; - case 3: { - data >>= 24; - data = sign_expand(data, 7); - vput(dstvalue, data); - }break; - } - } break; - case 1: { - switch (ldaddr & 3) { - case 0: { - data = sign_expand(data, 15); - vput(dstvalue, data); - }break; - case 1: { - data >>= 8; - data = sign_expand(data, 15); - vput(dstvalue, data); - }break; - case 2: { - data >>= 16; - data = sign_expand(data, 15); - vput(dstvalue, data); - }break; - case 3: { - vput(dstvalue, 0xdeadbeef); - }break; - } - } break; - case 2: { - vput(dstvalue, data); - } break; - case 4: { - switch (ldaddr & 3) { - case 0: { - vput(dstvalue, data & 0xff); - }break; - case 1: { - data >>= 8; - vput(dstvalue, data & 0xff); - }break; - case 2: { - data >>= 16; - vput(dstvalue, data & 0xff); - }break; - case 3: { - data >>= 24; - vput(dstvalue, data & 0xff); - }break; - } - } break; - case 5: { - switch (ldaddr & 3) { - case 0: { - vput(dstvalue, data & 0xffff); - }break; - case 1: { - data >>= 8; - vput(dstvalue, data & 0xffff); - }break; - case 2: { - data >>= 16; - vput(dstvalue, data & 0xffff); - }break; - case 3: { - data >>= 24; - vput(dstvalue, data & 0xffff); - }break; - } - }break; +DEFINE_FUNC(riscv_core_reg_gen_instr, "state, bReadData") { + int state = vget(state); + if (state == RISCVSTATE_READ_REGS) { + vput(instr, vget(bReadData)); + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_reg_gen_divclk, "state, instr, divclk") { + int state = vget(state); + if (state == RISCVSTATE_EXEC_INST) { + unsigned int instr = vget(instr); + unsigned int opcode = instr & 0x7f; + unsigned int func3 = (instr >> 12) & 0x7; + opcode >>= 2; + if (opcode == 0x0c && (instr & (1 << 25)) && (func3 & 4)) { + vput(divclk, 11); } - }break; - /* RISCVSTATE_WAIT_DIV: if (divclk == 0) begin - case (func3_r[1:0]) - 0: begin //div - dstreg = rd_r; - dstvalue = divs_result; - end - 1: begin //divu - dstreg = rd_r; - dstvalue = div_result; - end - 2: begin//rem - dstreg = rd_r; - dstvalue = mods_result; - end - 3: begin //remu - dstreg = rd_r; - dstvalue = mod_result; - end - endcase - end - */ - case RISCVSTATE_EXEC_INST: { - VAssign(dstreg, rd); - switch (vget(opcode)) { - case 0x0d: { - VAssign(dstvalue, imm); - } break; - case 0x05: { - vput(dstvalue, vget(imm) + vget(pc)); - } break; - case 0x1b: { - vput(dstvalue, vget(pc) + 4); - } break; - case 0x19: { - vput(dstvalue, vget(pc) + 4); + } + else if (state == RISCVSTATE_WAIT_DIV) { + if (vget(divclk) != 0) { + vput(divclk, vget(divclk) - 1); } - case 0x04: { /* alui */ - unsigned int rs1 = vget(rs1); - unsigned int imm = vget(imm); - switch (vget(func3)) { - case 0:/*addi*/ vput(dstvalue, rs1 + imm); break; - case 1:/*slli*/ vput(dstvalue, rs1 << (imm & 0x1f)); break; - case 2:/*slti*/ vput(dstvalue, *(int*)&rs1 < *(int*)&imm ? 1 : 0); break; - case 3:/*sltiu*/vput(dstvalue, rs1 < imm ? 1 : 0); break; - case 4:/*xori*/ vput(dstvalue, rs1 ^ imm); break; - case 5:/*srli/srai*/ - vput(dstvalue, (vget(instr) & (1 << 30)) ? ((*(int*)&rs1) >> (imm & 0x1f)) : (rs1 >> (imm & 0x1f))); break; - case 6:/*ori*/ vput(dstvalue, rs1 | imm); break; - case 7:/*andi*/ vput(dstvalue, rs1 & imm); break; - default: vput(dstreg, 0); break; - } - } break; - case 0x0c: { - unsigned int rd = vget(rd); - unsigned int func3 = vget(func3); - unsigned int instr = vget(instr); - unsigned int rs1 = vget(rs1); - unsigned int rs2 = vget(rs2); - unsigned int rst; + } +} END_DEFINE_FUNC + - rst = 0; - if (instr & (1 << 25)) {/* is M instr*/ +DEFINE_FUNC(riscv_core_reg_gen_pc, "nwReset, state, instr, pc, imm, regrddata, regrddata2") { + if (vget(nwReset) == 0) { + vput(pc, 0x74); + } + else { + int state = vget(state); + if (state == RISCVSTATE_EXEC_INST) { + unsigned int instr = vget(instr); + unsigned int pc = vget(pc); + unsigned int rs1 = vget(regrddata); + unsigned int imm = vget(imm); + unsigned int opcode = instr & 0x7f; + opcode >>= 2; + + switch (opcode) { + case 0x1b: vput(pc, pc + imm); break; + case 0x19: vput(pc, rs1 + imm); break; + case 0x18: { + unsigned int func3; + unsigned int rs2 = vget(regrddata2); + int cond; + func3 = (instr >> 12) & 0x7; + cond = 0; switch (func3) { - case 0: { //mul - long long s1, s2; - s1 = *(int*)&rs1; - s2 = *(int*)&rs2; - s1 *= s2; - rst = *(unsigned int*)&s1; - }break; - case 1: { //mulh - long long s1, s2; - s1 = *(int*)&rs1; - s2 = *(int*)&rs2; - s1 *= s2; - rst = (*(unsigned long long*) & s1) >> 32; - }break; - case 2: { //mulhsu - long long s1, s2; - s1 = *(int*)&rs1; - s2 = rs2; - s1 *= s2; - rst = (*(unsigned long long*) & s1) >> 32; - }break; - case 3: { //mulhu - unsigned long long s1, s2; - s1 = rs1; - s2 = rs2; - s1 *= s2; - rst = s1 >> 32; - }break; -#if 1 - case 4: { //div - if (rs2 == 0) - rst = 0xffffffff; - else - *(int*)&rst = *(int*)&rs1 / *(int*)&rs2; - }break; - case 5: { //divu - if (rs2 == 0) - rst = 0xffffffff; - else - rst = rs1 / rs2; - }break; - case 6: { //rem - if (rs2 == 0) - rst = rs1; - else - *(int*)&rst = *(int*)&rs1 % *(int*)&rs2; - }break; - case 7: { //remu - if (rs2 == 0) - rst = rs1; - else - rst = rs1 % rs2; - }break; -#endif + case 0:/*beq*/ cond = rs1 == rs2; break; + case 1:/*bne*/ cond = rs1 != rs2; break; + case 4:/*blt*/ cond = (*(int*)&rs1) < (*(int*)&rs2); break; + case 5:/*bge*/ cond = (*(int*)&rs1) >= (*(int*)&rs2); break; + case 6:/*bltu*/cond = rs1 < rs2; break; + case 7:/*bgeu*/cond = rs1 >= rs2; break; + default: + INSTR_FORMAT_ERROR; + exit(-2); + break; } + if (cond) + vput(pc, pc + imm); + else + vput(pc, pc + 4); + }break; + default: { + vput(pc, pc + 4); + break; } - else { - switch (func3) { - case 0: { //add/sub - if (instr & (1 << 30)) - rst = rs1 - rs2; - else - rst = rs1 + rs2; - }break; - case 1: { //sll - rst = rs1 << rs2; - }break; - case 2: { //slt - rst = (*(int*)&rs1 < *(int*)&rs2) ? 1 : 0; - }break; - case 3: { //sltu - rst = (rs1 < rs2) ? 1 : 0; - }break; - case 4: { //xor - rst = rs1 ^ rs2; - }break; - case 5: { //srl/sra - if (instr & (1 << 30)) - rst = rs1 >> rs2; - else - *(int*)&rst = (*(int*)&rs1) >> rs2; - }break; - case 6: { //or - rst = rs1 | rs2; - }break; - case 7: { //and - rst = rs1 & rs2; - }break; - - } } - vput(dstreg, rd); - vput(dstvalue, rst); - } break; } - } break; } - } END_DEFINE_FUNC - - MODULE_INIT(riscv_core) - PORT_IN(wClk, 1); - PORT_IN(nwReset, 1); - GPORT_OUT(wWrite, 1, riscv_core_wr_sig); - GPORT_OUT(bWriteAddr, 32, riscv_core_wr_sig); - GPORT_OUT(bWriteData, 32, riscv_core_wr_sig); - GPORT_OUT(bWriteMask, 4, riscv_core_wr_sig); - GPORT_OUT(wRead, 1, riscv_core_read_sig); - GPORT_OUT(bReadAddr, 32, riscv_core_read_sig); - PORT_IN(bReadData, 32); - GREG(cur_instr, 32, riscv_core_gen_cur_instr); - GWIRE(instr, 32, riscv_core_reg_gen_instr); - GWIRE(rs1_no, 5, riscv_core_gen_rs1_no); - GWIRE(rs2_no, 5, riscv_core_gen_rs2_no); - GWIRE(opcode, 5, riscv_core_gen_opcode); - GWIRE(rd, 5, riscv_core_gen_rd); - GWIRE(func3, 3, riscv_core_gen_func3); - GWIRE(rd_r, 5, riscv_core_gen_rd_r); - GWIRE(func3_r, 3, riscv_core_gen_func3_r); - GWIRE(cond, 1, riscv_core_gen_cond); - GWIRE(rs1, 32, riscv_core_gen_rs1); - GWIRE(rs2, 32, riscv_core_gen_rs2); - GWIRE(imm, 32, riscv_core_gen_imm); - GREG(state, 4, riscv_core_gen_state); - GWIRE(newpc, 32, riscv_core_gen_newpc); - GREG(pc, 32, riscv_core_reg_gen_pc); - - GWIRE(write, 1, riscv_core_gen_write); - GWIRE(writeaddr, 32, riscv_core_gen_write); - GWIRE(writedata, 32, riscv_core_gen_write); - GWIRE(writemask, 4, riscv_core_gen_write); - GWIRE(dstreg, 5, riscv_core_gen_dstreg); - GWIRE(dstvalue, 32, riscv_core_gen_dstreg); - GREG(ldaddr, 32, riscv_core_gen_ldaddr); - GREG(x1, 32, riscv_core_register); - GREG(x2, 32, riscv_core_register); - GREG(x3, 32, riscv_core_register); - GREG(x4, 32, riscv_core_register); - GREG(x5, 32, riscv_core_register); - GREG(x6, 32, riscv_core_register); - GREG(x7, 32, riscv_core_register); - GREG(x8, 32, riscv_core_register); - GREG(x9, 32, riscv_core_register); - GREG(x10, 32, riscv_core_register); - GREG(x11, 32, riscv_core_register); - GREG(x12, 32, riscv_core_register); - GREG(x13, 32, riscv_core_register); - GREG(x14, 32, riscv_core_register); - GREG(x15, 32, riscv_core_register); - GREG(x16, 32, riscv_core_register); - GREG(x17, 32, riscv_core_register); - GREG(x18, 32, riscv_core_register); - GREG(x19, 32, riscv_core_register); - GREG(x20, 32, riscv_core_register); - GREG(x21, 32, riscv_core_register); - GREG(x22, 32, riscv_core_register); - GREG(x23, 32, riscv_core_register); - GREG(x24, 32, riscv_core_register); - GREG(x25, 32, riscv_core_register); - GREG(x26, 32, riscv_core_register); - GREG(x27, 32, riscv_core_register); - GREG(x28, 32, riscv_core_register); - GREG(x29, 32, riscv_core_register); - GREG(x30, 32, riscv_core_register); - GREG(x31, 32, riscv_core_register); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_reg_gen_lastv, "state, instr, ldaddr") { + unsigned int state = vget(state); + if (state == RISCVSTATE_WAIT_LD) { + unsigned int instr = vget(instr); + unsigned int func3 = (instr >> 12) & 0x7; + unsigned int v; + unsigned int ldaddr = vget(ldaddr); + vput(lastaddr, ldaddr); + ldaddr &= 3; + v = vget(bReadData); + if (func3 == 1 && ldaddr == 3) { /* lh */ + vput(lastv, v >> 24); + } + else if (func3 == 2 && ldaddr != 0) { /* lw */ + vput(lastv, v >> (ldaddr * 8)); + } + else if (func3 == 5 && ldaddr == 3) { /* lhu */ + vput(lastv, v >> 24); + } + } + else if (state == RISCVSTATE_EXEC_INST) { + unsigned int rs1 = vget(regrddata); + unsigned int rs2 = vget(regrddata2); + unsigned int imm = vget(imm); + vput(lastaddr, rs1 + imm); + vput(lastv, rs2); + } +}END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_clktick, "") { + if (vget(nwReset) == 0) { + + } + else { + int state = vget(state); + switch (state) { + case RISCVSTATE_EXEC_INST: { + CALL_FUNC(riscv_core_exec_inst); + }break; + } + } +} END_DEFINE_FUNC + +MODULE_INIT(riscv_core) +PORT_IN(wClk, 1); +PORT_IN(nwReset, 1); +GPORT_OUT(wWrite, 1, riscv_core_wr_sig); +GPORT_OUT(bWriteAddr, 32, riscv_core_wr_sig); +GPORT_OUT(bWriteData, 32, riscv_core_wr_sig); +GPORT_OUT(bWriteMask, 4, riscv_core_wr_sig); +GPORT_OUT(wRead, 1, riscv_core_read_sig); +GPORT_OUT(bReadAddr, 32, riscv_core_read_sig); +PORT_IN(bReadData, 32); +GPORT_OUT(regno, 5, riscv_core_reg_wr_sig); +GPORT_OUT(regena, 4, riscv_core_reg_wr_sig); +GPORT_OUT(regwrdata, 32, riscv_core_reg_wr_sig); +GPORT_OUT(regwren, 1, riscv_core_reg_wr_sig); +PORT_IN(regrddata, 32); +GPORT_OUT(regno2, 5, riscv_core_reg_wr_sig); +GPORT_OUT(regena2, 4, riscv_core_reg_wr_sig); +GPORT_OUT(regwrdata2, 32, riscv_core_reg_wr_sig); +GPORT_OUT(regwren2, 1, riscv_core_reg_wr_sig); +PORT_IN(regrddata2, 32); +GREG(pc, 32, riscv_core_reg_gen_pc); +GREG(instr, 32, riscv_core_reg_gen_instr); +GREG(write, 1, riscv_core_gen_write); +GREG(writeaddr, 32, riscv_core_gen_write); +GREG(writedata, 32, riscv_core_gen_write); +GREG(writemask, 4, riscv_core_gen_write); +GREG(readreg, 5, riscv_core_reg_gen_readreg); +GREG(state, 4, riscv_core_gen_state); +GREG(imm, 32, riscv_core_gen_imm); +GREG(dstreg, 5, riscv_core_gen_dstreg); +GREG(dstvalue, 32, riscv_core_gen_dstreg); +GREG(ldaddr, 32, riscv_core_gen_ldaddr); +GREG(divclk, 6, riscv_core_reg_gen_divclk); +GREG(lastv, 32, riscv_core_reg_gen_lastv); +GREG(lastaddr, 32, riscv_core_reg_gen_lastv); + +CLKTICK_FUNC(riscv_core_clktick); END_MODULE_INIT(riscv_core) diff --git a/examples/hdl4se_riscv/hdl4se_riscv_sim/hdl4se_riscv_core_v4_1.c b/examples/hdl4se_riscv/hdl4se_riscv_sim/hdl4se_riscv_core_v4_1.c new file mode 100644 index 0000000..2ccc3ca --- /dev/null +++ b/examples/hdl4se_riscv/hdl4se_riscv_sim/hdl4se_riscv_core_v4_1.c @@ -0,0 +1,863 @@ +/* +** HDL4SE: 软件Verilog综合仿真平台 +** Copyright (C) 2021-2021, raoxianhong +** LCOM: 轻量级组件对象模型 +** Copyright (C) 2021-2021, raoxianhong +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are met: +** +** * Redistributions of source code must retain the above copyright notice, +** this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright notice, +** this list of conditions and the following disclaimer in the documentation +** and/or other materials provided with the distribution. +** * The name of the author may be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +** THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* +* hdl4se_riscv_core_v2.c + 202108261008: rxh, initial version +*/ + +#include "stdlib.h" +#include "stdio.h" +#include "object.h" +#include "dlist.h" +#include "string.h" +#include "stdarg.h" +#include "bignumber.h" +#include "hdl4secell.h" + +#define IMPLEMENT_GUID +#include "hdl4se_riscv.h" +#undef IMPLEMENT_GUID + +#define riscv_core_MODULE_VERSION_STRING "0.4.2-20210826.1008 RISCV Core cell" +#define riscv_core_MODULE_CLSID CLSID_HDL4SE_RISCV_CORE + +#define M_ID(id) riscv_core##id + +IDLIST + VID(wClk), + VID(nwReset), + VID(wWrite), + VID(bWriteAddr), + VID(bWriteData), + VID(bWriteMask), + VID(wRead), + VID(bReadAddr), + VID(bReadData), + VID(pc), + VID(instr), + VID(write), + VID(writeaddr), + VID(writedata), + VID(writemask), + VID(readreg), + VID(state), + VID(imm), + VID(dstreg), + VID(dstvalue), + VID(ldaddr), + VID(divclk), + VID(rs1), + VID(rs2), + VID(cur_instr), + VID(rs1_no), + VID(rs2_no), + VID(opcode), + VID(rd), + VID(func3), + VID(rd_r), + VID(func3_r), + VID(cond), + VID(newpc), + VID(x1), + VID(x2), + VID(x3), + VID(x4), + VID(x5), + VID(x6), + VID(x7), + VID(x8), + VID(x9), + VID(x10), + VID(x11), + VID(x12), + VID(x13), + VID(x14), + VID(x15), + VID(x16), + VID(x17), + VID(x18), + VID(x19), + VID(x20), + VID(x21), + VID(x22), + VID(x23), + VID(x24), + VID(x25), + VID(x26), + VID(x27), + VID(x28), + VID(x29), + VID(x30), + VID(x31), +END_IDLIST + +enum riscv_core_state { + RISCVSTATE_STARTUP, + RISCVSTATE_EXEC_INST, + RISCVSTATE_WAIT_LD, + RISCVSTATE_WAIT_ST, + RISCVSTATE_WAIT_DIV, +}; + +MODULE_DECLARE(riscv_core) +END_MODULE_DECLARE(riscv_core) + +FILE* recordfileGet(); + +#define DEBUG_CODE_FUNC fprintf(recordfileGet(), "%30s: %08x: %08x\n", __FUNCTION__, vget(pc), vget(instr)) +#define DEBUG_CODE_DECODE fprintf(recordfileGet(), +#define INSTR_FORMAT_ERROR fprintf(recordfileGet(), "instruction format error, we support rv32im only: pc=%08x: %x\n", vget(pc), vget(instr)); + + +static unsigned int sign_expand(unsigned int v, int bit) +{ + int i; + if (v & (1 << bit)) { + for (i = bit + 1; i < 32; i++) { + v |= 1 << i; + } + } + return v; +} + +DEFINE_FUNC(riscv_core_wr_sig, "write, writeaddr, writedata, writemask") { + VAssign(wWrite, write); + VAssign(bWriteAddr, writeaddr); + VAssign(bWriteData, writedata); + VAssign(bWriteMask, writemask); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_cur_instr, "bReadData") { + VAssign(cur_instr, bReadData); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_reg_gen_instr, "bReadData") { + VAssign(instr, bReadData); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_rs1_no, "instr") { + vput(rs1_no, (vget(instr) >> 15) & 0x1f); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_rs2_no, "instr") { + vput(rs2_no, (vget(instr) >> 20) & 0x1f); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_opcode, "instr") { + vput(opcode, (vget(instr) >> 2) & 0x1f); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_rd, "instr") { + vput(rd, (vget(instr) >> 7) & 0x1f); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_func3, "instr") { + vput(func3, (vget(instr) >> 12) & 0x7); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_rd_r, "cur_instr") { + vput(rd_r, (vget(cur_instr) >> 7) & 0x1f); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_func3_r, "cur_instr") { + vput(func3_r, (vget(cur_instr) >> 12) & 0x7); +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_rs1, + "rs1_no, " + "x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, " + "x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, " + "x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31" +) { + switch (vget(rs1_no)) { + case 0: vput(rs1, 0); break; + case 1: VAssign(rs1, x1); break; + case 2: VAssign(rs1, x2); break; + case 3: VAssign(rs1, x3); break; + case 4: VAssign(rs1, x4); break; + case 5: VAssign(rs1, x5); break; + case 6: VAssign(rs1, x6); break; + case 7: VAssign(rs1, x7); break; + case 8: VAssign(rs1, x8); break; + case 9: VAssign(rs1, x9); break; + case 10: VAssign(rs1, x10); break; + case 11: VAssign(rs1, x11); break; + case 12: VAssign(rs1, x12); break; + case 13: VAssign(rs1, x13); break; + case 14: VAssign(rs1, x14); break; + case 15: VAssign(rs1, x15); break; + case 16: VAssign(rs1, x16); break; + case 17: VAssign(rs1, x17); break; + case 18: VAssign(rs1, x18); break; + case 19: VAssign(rs1, x19); break; + case 20: VAssign(rs1, x20); break; + case 21: VAssign(rs1, x21); break; + case 22: VAssign(rs1, x22); break; + case 23: VAssign(rs1, x23); break; + case 24: VAssign(rs1, x24); break; + case 25: VAssign(rs1, x25); break; + case 26: VAssign(rs1, x26); break; + case 27: VAssign(rs1, x27); break; + case 28: VAssign(rs1, x28); break; + case 29: VAssign(rs1, x29); break; + case 30: VAssign(rs1, x30); break; + case 31: VAssign(rs1, x31); break; + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_rs2, + "rs2_no, " + "x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, " + "x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, " + "x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31" +) { + switch (vget(rs2_no)) { + case 0: vput(rs2, 0); break; + case 1: VAssign(rs2, x1); break; + case 2: VAssign(rs2, x2); break; + case 3: VAssign(rs2, x3); break; + case 4: VAssign(rs2, x4); break; + case 5: VAssign(rs2, x5); break; + case 6: VAssign(rs2, x6); break; + case 7: VAssign(rs2, x7); break; + case 8: VAssign(rs2, x8); break; + case 9: VAssign(rs2, x9); break; + case 10: VAssign(rs2, x10); break; + case 11: VAssign(rs2, x11); break; + case 12: VAssign(rs2, x12); break; + case 13: VAssign(rs2, x13); break; + case 14: VAssign(rs2, x14); break; + case 15: VAssign(rs2, x15); break; + case 16: VAssign(rs2, x16); break; + case 17: VAssign(rs2, x17); break; + case 18: VAssign(rs2, x18); break; + case 19: VAssign(rs2, x19); break; + case 20: VAssign(rs2, x20); break; + case 21: VAssign(rs2, x21); break; + case 22: VAssign(rs2, x22); break; + case 23: VAssign(rs2, x23); break; + case 24: VAssign(rs2, x24); break; + case 25: VAssign(rs2, x25); break; + case 26: VAssign(rs2, x26); break; + case 27: VAssign(rs2, x27); break; + case 28: VAssign(rs2, x28); break; + case 29: VAssign(rs2, x29); break; + case 30: VAssign(rs2, x30); break; + case 31: VAssign(rs2, x31); break; + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_register, "dstreg, dstvalue, nwReset") { + if (vget(nwReset) == 0) { + vput(x1, 0x8c); + vput(x2, RAMSIZE * 4 - 16); + } + else { + switch (vget(dstreg)) { + case 0: ; break; + case 1: VAssign(x1, dstvalue); break; + case 2: VAssign(x2, dstvalue); break; + case 3: VAssign(x3, dstvalue); break; + case 4: VAssign(x4, dstvalue); break; + case 5: VAssign(x5, dstvalue); break; + case 6: VAssign(x6, dstvalue); break; + case 7: VAssign(x7, dstvalue); break; + case 8: VAssign(x8, dstvalue); break; + case 9: VAssign(x9, dstvalue); break; + case 10: VAssign(x10, dstvalue); break; + case 11: VAssign(x11, dstvalue); break; + case 12: VAssign(x12, dstvalue); break; + case 13: VAssign(x13, dstvalue); break; + case 14: VAssign(x14, dstvalue); break; + case 15: VAssign(x15, dstvalue); break; + case 16: VAssign(x16, dstvalue); break; + case 17: VAssign(x17, dstvalue); break; + case 18: VAssign(x18, dstvalue); break; + case 19: VAssign(x19, dstvalue); break; + case 20: VAssign(x20, dstvalue); break; + case 21: VAssign(x21, dstvalue); break; + case 22: VAssign(x22, dstvalue); break; + case 23: VAssign(x23, dstvalue); break; + case 24: VAssign(x24, dstvalue); break; + case 25: VAssign(x25, dstvalue); break; + case 26: VAssign(x26, dstvalue); break; + case 27: VAssign(x27, dstvalue); break; + case 28: VAssign(x28, dstvalue); break; + case 29: VAssign(x29, dstvalue); break; + case 30: VAssign(x30, dstvalue); break; + case 31: VAssign(x31, dstvalue); break; + } + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_cond, "func3, rs1, rs2") { + unsigned int rs1, rs2; + rs1 = vget(rs1); + rs2 = vget(rs2); + switch (vget(func3)) { + case 0:/*beq*/ vput(cond, rs1 == rs2 ? 1 : 0); break; + case 1:/*bne*/ vput(cond, rs1 != rs2 ? 1 : 0); break; + case 4:/*blt*/ vput(cond, (*(int*)&rs1) < (*(int*)&rs2) ? 1 : 0); break; + case 5:/*bge*/ vput(cond, (*(int*)&rs1) >= (*(int*)&rs2) ? 1 : 0); break; + case 6:/*bltu*/vput(cond, rs1 < rs2 ? 1 : 0); break; + case 7:/*bgeu*/vput(cond, rs1 >= rs2 ? 1 : 0); break; + default: + vput(cond, 0); + INSTR_FORMAT_ERROR; + exit(-2); + break; + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_imm, "instr") { + unsigned int instr; + unsigned int opcode; + instr = vget(instr); + opcode = instr & 0x7f; + opcode >>= 2; + switch (opcode) { + case 0x0d: { + vput(imm, instr & 0xfffff000); + }break; + case 0x05: { + vput(imm, instr & 0xfffff000); + }break; + case 0x1b: { + unsigned int imm; + imm = (instr & (1 << 20)) ? (1 << 11) : 0; + imm |= (instr >> 20) & 0x7fe; + imm |= instr & 0xff000; + imm |= instr & (1 << 31) ? 0x100000 : 0; + imm = sign_expand(imm, 20); + vput(imm, imm); + }break; + case 0x19: { + unsigned int imm; + imm = instr >> 20; + imm = sign_expand(imm, 11); + vput(imm, imm); + }break; + case 0x18: { + unsigned int imm; + unsigned int immh; + unsigned int immd; + + immh = instr >> 25; + immd = (instr >> 7) & 0x1f; + imm = immd & 0x1e; + imm |= (immh & 0x3f) << 5; + imm |= (immd & 1) << 11; + imm |= (immh & 0x40) ? (1 << 12) : 0; + imm = sign_expand(imm, 12); + vput(imm, imm); + }break; + case 0x00: { + unsigned int imm; + imm = instr >> 20; + imm = sign_expand(imm, 11); + vput(imm, imm); + }break; + case 0x08: { + unsigned int imm; + imm = ((instr >> 20) & 0xfe0) | ((instr >> 7) & 0x1f); + imm = sign_expand(imm, 11); + vput(imm, imm); + }break; + case 0x04: { + unsigned int imm; + imm = instr >> 20; + imm = sign_expand(imm, 11); + vput(imm, imm); + }break; + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_state, "state, instr, opcode, func3, rs2, nwReset") { + if (vget(nwReset) == 0) { + vput(state, RISCVSTATE_STARTUP); + } + else { + int state = vget(state); + switch (state) { + case RISCVSTATE_STARTUP: { + vput(state, RISCVSTATE_EXEC_INST); + }break; + case RISCVSTATE_EXEC_INST: { + unsigned int instr = vget(instr); + unsigned int opcode = vget(opcode); + unsigned int func3 = vget(func3); + unsigned int rs2 = vget(rs2); + if (opcode == 0x00) + vput(state, RISCVSTATE_WAIT_LD);//ld + else if (opcode == 0x08) + vput(state, RISCVSTATE_WAIT_ST);//st + /* else if (opcode == 0x0c && (instr & (1 << 25)) && (func3 & 4) && rs2 != 0) { + vput(state, RISCVSTATE_WAIT_DIV); + }*/ + }break; + case RISCVSTATE_WAIT_LD: { + vput(state, RISCVSTATE_EXEC_INST); + }break; + case RISCVSTATE_WAIT_ST: { + vput(state, RISCVSTATE_EXEC_INST); + }break; + /*case RISCVSTATE_WAIT_DIV: { + if (vget(divclk) == 0) + vput(state, RISCVSTATE_EXEC_INST); + }break;*/ + } + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_newpc, "state, opcode, pc, imm, rs1, cond") { + if (vget(state) == RISCVSTATE_EXEC_INST) { + switch (vget(opcode)) { + case 0x1b: vput(newpc, vget(pc) + vget(imm)); break; + case 0x19: vput(newpc, vget(rs1) + vget(imm)); break; + case 0x18: vput(newpc, vget(cond) ? (vget(pc) + vget(imm)) : (vget(pc) + 4)); break; + default : vput(newpc, vget(pc) + 4); break; + } + } + else { + VAssign(newpc, pc); + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_reg_gen_pc, "nwReset, newpc") { + if (vget(nwReset) == 0) { + vput(pc, 0x74); + } + else { + VAssign(pc, newpc); + } +} END_DEFINE_FUNC + + +DEFINE_FUNC(riscv_core_read_sig, "nwReset, state, newpc, rs1, imm, opcode") { + if (vget(nwReset) == 0) { + vput(wRead, 0); + vput(bReadAddr, 0); + } else { + vput(wRead, 1); + VAssign(bReadAddr, newpc); + if (vget(state) == RISCVSTATE_EXEC_INST) { + unsigned int opcode = vget(opcode); + if (opcode == 0x00) { /* LOAD */ + vput(wRead, 1); + vput(bReadAddr, vget(rs1) + vget(imm)); + } else if (opcode == 0x08) {/* STORE */ + vput(wRead, 0); + vput(bReadAddr, 0); + } + } + } +} END_DEFINE_FUNC + +DEFINE_FUNC(riscv_core_gen_write, "nwReset, state, opcode, rs1, imm, rs2, func3") { + vput(write, 0); + vput(writeaddr, 0); + vput(writemask, 0); + vput(writedata, 0); + if (vget(nwReset) && vget(state) == RISCVSTATE_EXEC_INST && vget(opcode)==0x08) { + unsigned int newwriteaddr = vget(rs1) + vget(imm); + unsigned int rs2 = vget(rs2); + vput(write, 1); + vput(writeaddr, newwriteaddr); + vput(writemask, 0); + vput(writedata, rs2); + switch (vget(func3)) { + case 0:/*sb*/ + switch (newwriteaddr & 3) { + case 0: vput(writemask, 0xe); vput(writedata, rs2); break; //1110 + case 1: vput(writemask, 0xd); vput(writedata, rs2 << 8); break; //1101 + case 2: vput(writemask, 0xb); vput(writedata, rs2 << 16); break; //1011 + case 3: vput(writemask, 0x7); vput(writedata, rs2 << 24); break; //0111 + } + break; + case 1:/*sh*/ + switch (newwriteaddr & 3) { + case 0: vput(writemask, 0xc); vput(writedata, rs2); break; //1100 + case 1: vput(writemask, 0x9); vput(writedata, rs2 << 8); break; //1001 + case 2: vput(writemask, 0x3); vput(writedata, rs2 << 16); break; //0011 + case 3: { + printf("we support store instruction write in one word only %08x: %08x\n", vget(pc), vget(instr)); + exit(-6); + }break; + } + break; + case 2:/*sw*/ + if (newwriteaddr & 3) { + printf("we support store instruction write in one word only %08x: %08x\n", vget(pc), vget(instr)); + exit(-6); + } + break; + default: + DEBUG_CODE_FUNC; + exit(-7); + break; + } + } +} END_DEFINE_FUNC + + +DEFINE_FUNC(riscv_core_gen_ldaddr, "state, rs1, imm") { + if (vget(state) == RISCVSTATE_EXEC_INST) { + vput(ldaddr, vget(rs1) + vget(imm)); + } +} END_DEFINE_FUNC + + +DEFINE_FUNC(riscv_core_gen_dstreg, "state, ldaddr, func3_r, rd_r, bReadData, pc, rs1, rs2, divclk, instr, imm") { + unsigned int state = vget(state); + vput(dstvalue, 0); + vput(dstreg, 0); + switch (state) { + case RISCVSTATE_WAIT_LD: { + unsigned int ldaddr = vget(ldaddr); + unsigned int data = vget(bReadData); + VAssign(dstreg, rd_r); + switch (vget(func3_r)) { + case 0: { + switch (ldaddr & 3) { + case 0: { + data = sign_expand(data, 7); + vput(dstvalue, data); + }break; + case 1: { + data >>= 8; + data = sign_expand(data, 7); + vput(dstvalue, data); + }break; + case 2: { + data >>= 16; + data = sign_expand(data, 7); + vput(dstvalue, data); + }break; + case 3: { + data >>= 24; + data = sign_expand(data, 7); + vput(dstvalue, data); + }break; + } + } break; + case 1: { + switch (ldaddr & 3) { + case 0: { + data = sign_expand(data, 15); + vput(dstvalue, data); + }break; + case 1: { + data >>= 8; + data = sign_expand(data, 15); + vput(dstvalue, data); + }break; + case 2: { + data >>= 16; + data = sign_expand(data, 15); + vput(dstvalue, data); + }break; + case 3: { + vput(dstvalue, 0xdeadbeef); + }break; + } + } break; + case 2: { + vput(dstvalue, data); + } break; + case 4: { + switch (ldaddr & 3) { + case 0: { + vput(dstvalue, data & 0xff); + }break; + case 1: { + data >>= 8; + vput(dstvalue, data & 0xff); + }break; + case 2: { + data >>= 16; + vput(dstvalue, data & 0xff); + }break; + case 3: { + data >>= 24; + vput(dstvalue, data & 0xff); + }break; + } + } break; + case 5: { + switch (ldaddr & 3) { + case 0: { + vput(dstvalue, data & 0xffff); + }break; + case 1: { + data >>= 8; + vput(dstvalue, data & 0xffff); + }break; + case 2: { + data >>= 16; + vput(dstvalue, data & 0xffff); + }break; + case 3: { + data >>= 24; + vput(dstvalue, data & 0xffff); + }break; + } + }break; + } + }break; + /* RISCVSTATE_WAIT_DIV: if (divclk == 0) begin + case (func3_r[1:0]) + 0: begin //div + dstreg = rd_r; + dstvalue = divs_result; + end + 1: begin //divu + dstreg = rd_r; + dstvalue = div_result; + end + 2: begin//rem + dstreg = rd_r; + dstvalue = mods_result; + end + 3: begin //remu + dstreg = rd_r; + dstvalue = mod_result; + end + endcase + end + */ + case RISCVSTATE_EXEC_INST: { + VAssign(dstreg, rd); + switch (vget(opcode)) { + case 0x0d: { + VAssign(dstvalue, imm); + } break; + case 0x05: { + vput(dstvalue, vget(imm) + vget(pc)); + } break; + case 0x1b: { + vput(dstvalue, vget(pc) + 4); + } break; + case 0x19: { + vput(dstvalue, vget(pc) + 4); + } + case 0x04: { /* alui */ + unsigned int rs1 = vget(rs1); + unsigned int imm = vget(imm); + switch (vget(func3)) { + case 0:/*addi*/ vput(dstvalue, rs1 + imm); break; + case 1:/*slli*/ vput(dstvalue, rs1 << (imm & 0x1f)); break; + case 2:/*slti*/ vput(dstvalue, *(int*)&rs1 < *(int*)&imm ? 1 : 0); break; + case 3:/*sltiu*/vput(dstvalue, rs1 < imm ? 1 : 0); break; + case 4:/*xori*/ vput(dstvalue, rs1 ^ imm); break; + case 5:/*srli/srai*/ + vput(dstvalue, (vget(instr) & (1 << 30)) ? ((*(int*)&rs1) >> (imm & 0x1f)) : (rs1 >> (imm & 0x1f))); break; + case 6:/*ori*/ vput(dstvalue, rs1 | imm); break; + case 7:/*andi*/ vput(dstvalue, rs1 & imm); break; + default: vput(dstreg, 0); break; + } + } break; + case 0x0c: { + unsigned int rd = vget(rd); + unsigned int func3 = vget(func3); + unsigned int instr = vget(instr); + unsigned int rs1 = vget(rs1); + unsigned int rs2 = vget(rs2); + unsigned int rst; + + rst = 0; + if (instr & (1 << 25)) {/* is M instr*/ + switch (func3) { + case 0: { //mul + long long s1, s2; + s1 = *(int*)&rs1; + s2 = *(int*)&rs2; + s1 *= s2; + rst = *(unsigned int*)&s1; + }break; + case 1: { //mulh + long long s1, s2; + s1 = *(int*)&rs1; + s2 = *(int*)&rs2; + s1 *= s2; + rst = (*(unsigned long long*) & s1) >> 32; + }break; + case 2: { //mulhsu + long long s1, s2; + s1 = *(int*)&rs1; + s2 = rs2; + s1 *= s2; + rst = (*(unsigned long long*) & s1) >> 32; + }break; + case 3: { //mulhu + unsigned long long s1, s2; + s1 = rs1; + s2 = rs2; + s1 *= s2; + rst = s1 >> 32; + }break; +#if 1 + case 4: { //div + if (rs2 == 0) + rst = 0xffffffff; + else + *(int*)&rst = *(int*)&rs1 / *(int*)&rs2; + }break; + case 5: { //divu + if (rs2 == 0) + rst = 0xffffffff; + else + rst = rs1 / rs2; + }break; + case 6: { //rem + if (rs2 == 0) + rst = rs1; + else + *(int*)&rst = *(int*)&rs1 % *(int*)&rs2; + }break; + case 7: { //remu + if (rs2 == 0) + rst = rs1; + else + rst = rs1 % rs2; + }break; +#endif + } + } + else { + switch (func3) { + case 0: { //add/sub + if (instr & (1 << 30)) + rst = rs1 - rs2; + else + rst = rs1 + rs2; + }break; + case 1: { //sll + rst = rs1 << rs2; + }break; + case 2: { //slt + rst = (*(int*)&rs1 < *(int*)&rs2) ? 1 : 0; + }break; + case 3: { //sltu + rst = (rs1 < rs2) ? 1 : 0; + }break; + case 4: { //xor + rst = rs1 ^ rs2; + }break; + case 5: { //srl/sra + if (instr & (1 << 30)) + rst = rs1 >> rs2; + else + *(int*)&rst = (*(int*)&rs1) >> rs2; + }break; + case 6: { //or + rst = rs1 | rs2; + }break; + case 7: { //and + rst = rs1 & rs2; + }break; + + } + } + vput(dstreg, rd); + vput(dstvalue, rst); + } break; + } + } break; + } + } END_DEFINE_FUNC + + MODULE_INIT(riscv_core) + PORT_IN(wClk, 1); + PORT_IN(nwReset, 1); + GPORT_OUT(wWrite, 1, riscv_core_wr_sig); + GPORT_OUT(bWriteAddr, 32, riscv_core_wr_sig); + GPORT_OUT(bWriteData, 32, riscv_core_wr_sig); + GPORT_OUT(bWriteMask, 4, riscv_core_wr_sig); + GPORT_OUT(wRead, 1, riscv_core_read_sig); + GPORT_OUT(bReadAddr, 32, riscv_core_read_sig); + PORT_IN(bReadData, 32); + GREG(cur_instr, 32, riscv_core_gen_cur_instr); + GWIRE(instr, 32, riscv_core_reg_gen_instr); + GWIRE(rs1_no, 5, riscv_core_gen_rs1_no); + GWIRE(rs2_no, 5, riscv_core_gen_rs2_no); + GWIRE(opcode, 5, riscv_core_gen_opcode); + GWIRE(rd, 5, riscv_core_gen_rd); + GWIRE(func3, 3, riscv_core_gen_func3); + GWIRE(rd_r, 5, riscv_core_gen_rd_r); + GWIRE(func3_r, 3, riscv_core_gen_func3_r); + GWIRE(cond, 1, riscv_core_gen_cond); + GWIRE(rs1, 32, riscv_core_gen_rs1); + GWIRE(rs2, 32, riscv_core_gen_rs2); + GWIRE(imm, 32, riscv_core_gen_imm); + GREG(state, 4, riscv_core_gen_state); + GWIRE(newpc, 32, riscv_core_gen_newpc); + GREG(pc, 32, riscv_core_reg_gen_pc); + + GWIRE(write, 1, riscv_core_gen_write); + GWIRE(writeaddr, 32, riscv_core_gen_write); + GWIRE(writedata, 32, riscv_core_gen_write); + GWIRE(writemask, 4, riscv_core_gen_write); + GWIRE(dstreg, 5, riscv_core_gen_dstreg); + GWIRE(dstvalue, 32, riscv_core_gen_dstreg); + GREG(ldaddr, 32, riscv_core_gen_ldaddr); + GREG(x1, 32, riscv_core_register); + GREG(x2, 32, riscv_core_register); + GREG(x3, 32, riscv_core_register); + GREG(x4, 32, riscv_core_register); + GREG(x5, 32, riscv_core_register); + GREG(x6, 32, riscv_core_register); + GREG(x7, 32, riscv_core_register); + GREG(x8, 32, riscv_core_register); + GREG(x9, 32, riscv_core_register); + GREG(x10, 32, riscv_core_register); + GREG(x11, 32, riscv_core_register); + GREG(x12, 32, riscv_core_register); + GREG(x13, 32, riscv_core_register); + GREG(x14, 32, riscv_core_register); + GREG(x15, 32, riscv_core_register); + GREG(x16, 32, riscv_core_register); + GREG(x17, 32, riscv_core_register); + GREG(x18, 32, riscv_core_register); + GREG(x19, 32, riscv_core_register); + GREG(x20, 32, riscv_core_register); + GREG(x21, 32, riscv_core_register); + GREG(x22, 32, riscv_core_register); + GREG(x23, 32, riscv_core_register); + GREG(x24, 32, riscv_core_register); + GREG(x25, 32, riscv_core_register); + GREG(x26, 32, riscv_core_register); + GREG(x27, 32, riscv_core_register); + GREG(x28, 32, riscv_core_register); + GREG(x29, 32, riscv_core_register); + GREG(x30, 32, riscv_core_register); + GREG(x31, 32, riscv_core_register); +END_MODULE_INIT(riscv_core) diff --git a/examples/hdl4se_riscv/hdl4se_riscv_sim/main_v4.c b/examples/hdl4se_riscv/hdl4se_riscv_sim/main_v4.c index 32d4a6b..4306f8d 100644 --- a/examples/hdl4se_riscv/hdl4se_riscv_sim/main_v4.c +++ b/examples/hdl4se_riscv/hdl4se_riscv_sim/main_v4.c @@ -60,6 +60,7 @@ IHDL4SEModuleVar* hdl4seCreate_main(IHDL4SEModuleVar* parent, const char* instan extern int (*A_u_t_o_registor_digitled)(); extern int (*A_u_t_o_registor_riscv_core)(); extern int (*A_u_t_o_registor_riscv_ram)(); +extern int (*A_u_t_o_registor_riscv_regfile)(); FILE* recordfile; THREADLOCK recordfilelock; @@ -85,6 +86,7 @@ int main(int argc, char* argv[]) A_u_t_o_registor_digitled(); A_u_t_o_registor_riscv_core(); A_u_t_o_registor_riscv_ram(); + A_u_t_o_registor_riscv_regfile(); recordfile = fopen("d:/gitwork/recordfile.txt", "w"); recordfilelock = threadlockCreate(); sim = hdl4sesimCreateSimulator(); @@ -92,7 +94,7 @@ int main(int argc, char* argv[]) objectCall1(sim, SetTopModule, topmodule); objectCall1(sim, SetReset, 0); #if RECORDVCD - vcdfile = hdl4sesimCreateVCDFile("riscv_v4.vcd"); + vcdfile = hdl4sesimCreateVCDFile("riscv_v2.vcd"); objectCall2(vcdfile, AddSignal, "/top/core", "pc"); objectCall2(vcdfile, AddSignal, "/top/core", "instr"); objectCall2(vcdfile, AddSignal, "/top/core", "state"); @@ -102,37 +104,42 @@ int main(int argc, char* argv[]) objectCall2(vcdfile, AddSignal, "/top/core", "wWrite"); objectCall2(vcdfile, AddSignal, "/top/core", "bWriteAddr"); objectCall2(vcdfile, AddSignal, "/top/core", "bWriteData"); - objectCall2(vcdfile, AddSignal, "/top/core", "x1"); - objectCall2(vcdfile, AddSignal, "/top/core", "x2"); - objectCall2(vcdfile, AddSignal, "/top/core", "x3"); - objectCall2(vcdfile, AddSignal, "/top/core", "x4"); - objectCall2(vcdfile, AddSignal, "/top/core", "x5"); - objectCall2(vcdfile, AddSignal, "/top/core", "x6"); - objectCall2(vcdfile, AddSignal, "/top/core", "x7"); - objectCall2(vcdfile, AddSignal, "/top/core", "x8"); - objectCall2(vcdfile, AddSignal, "/top/core", "x9"); - objectCall2(vcdfile, AddSignal, "/top/core", "x10"); - objectCall2(vcdfile, AddSignal, "/top/core", "x11"); - objectCall2(vcdfile, AddSignal, "/top/core", "x12"); - objectCall2(vcdfile, AddSignal, "/top/core", "x13"); - objectCall2(vcdfile, AddSignal, "/top/core", "x14"); - objectCall2(vcdfile, AddSignal, "/top/core", "x15"); - objectCall2(vcdfile, AddSignal, "/top/core", "x16"); - objectCall2(vcdfile, AddSignal, "/top/core", "x17"); - objectCall2(vcdfile, AddSignal, "/top/core", "x18"); - objectCall2(vcdfile, AddSignal, "/top/core", "x19"); - objectCall2(vcdfile, AddSignal, "/top/core", "x20"); - objectCall2(vcdfile, AddSignal, "/top/core", "x21"); - objectCall2(vcdfile, AddSignal, "/top/core", "x22"); - objectCall2(vcdfile, AddSignal, "/top/core", "x23"); - objectCall2(vcdfile, AddSignal, "/top/core", "x24"); - objectCall2(vcdfile, AddSignal, "/top/core", "x25"); - objectCall2(vcdfile, AddSignal, "/top/core", "x26"); - objectCall2(vcdfile, AddSignal, "/top/core", "x27"); - objectCall2(vcdfile, AddSignal, "/top/core", "x28"); - objectCall2(vcdfile, AddSignal, "/top/core", "x29"); - objectCall2(vcdfile, AddSignal, "/top/core", "x30"); - objectCall2(vcdfile, AddSignal, "/top/core", "x31"); + objectCall2(vcdfile, AddSignal, "/top/core", "regno"); + objectCall2(vcdfile, AddSignal, "/top/core", "regena"); + objectCall2(vcdfile, AddSignal, "/top/core", "regwrdata"); + objectCall2(vcdfile, AddSignal, "/top/core", "regwren"); + objectCall2(vcdfile, AddSignal, "/top/core", "regrddata"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x1"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x2"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x3"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x4"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x5"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x6"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x7"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x8"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x9"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x10"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x11"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x12"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x13"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x14"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x15"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x16"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x17"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x18"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x19"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x20"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x21"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x22"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x23"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x24"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x25"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x26"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x27"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x28"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x29"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x30"); + objectCall2(vcdfile, AddSignal, "/top/regs", "x31"); objectCall1(vcdfile, SetTopModule, topmodule); objectCall0(vcdfile, StartRecord); #endif diff --git a/examples/hdl4se_riscv/hdl4se_riscv_sim/riscv_sim_main_v4.c b/examples/hdl4se_riscv/hdl4se_riscv_sim/riscv_sim_main_v4.c index d1a2bc8..87c5aec 100644 --- a/examples/hdl4se_riscv/hdl4se_riscv_sim/riscv_sim_main_v4.c +++ b/examples/hdl4se_riscv/hdl4se_riscv_sim/riscv_sim_main_v4.c @@ -31,7 +31,7 @@ /* -* Created by HDL4SE @ Thu Sep 2 08:47:15 2021 +* Created by HDL4SE @ Thu Sep 2 18:50:33 2021 * Don't edit it. */ @@ -56,6 +56,8 @@ IDLIST VID(nwReset), VID(wRead_out), VID(bReadAddr_out), + VID(regrddata), + VID(regrddata2), VID(ram_dot_byteena), /* port:ram(ram8kb).byteena, 1 */ VID(ram_dot_wren), /* port:ram(ram8kb).wren, 4 */ VID(bReadDataRam), @@ -66,6 +68,14 @@ IDLIST VID(bWriteMask), VID(wRead), VID(bReadAddr), + VID(regno), + VID(regena), + VID(regwrdata), + VID(regwren), + VID(regno2), + VID(regena2), + VID(regwrdata2), + VID(regwren2), VID(bReadData), VID(ramaddr), END_IDLIST @@ -96,6 +106,8 @@ GEN_MODULE_INIT WIRE(ramaddr, 30); WIRE(wRead_out, 1); WIRE(bReadAddr_out, 32); + WIRE(regrddata, 32); + WIRE(regrddata2, 32); WIRE(ram_dot_byteena, 1); WIRE(ram_dot_wren, 1); WIRE(bReadDataRam, 32); @@ -106,6 +118,14 @@ GEN_MODULE_INIT WIRE(bWriteMask, 4); WIRE(wRead, 1); WIRE(bReadAddr, 32); + WIRE(regno, 5); + WIRE(regena, 4); + WIRE(regwrdata, 32); + WIRE(regwren, 1); + WIRE(regno2, 5); + WIRE(regena2, 4); + WIRE(regwrdata2, 32); + WIRE(regwren2, 1); CELL_INST("76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", /* hdl4se_reg */ "readcmd", "32'h1", @@ -114,6 +134,14 @@ GEN_MODULE_INIT "readaddr", "32'h20", "wClk, bReadAddr, bReadAddr_out"); + CELL_INST("2E577C6B-2FF1-425E-90B3-947EB523B863", /* regfile */ + "regs", + "", + "regno, regena, wClk, regwrdata, regwren, regrddata"); + CELL_INST("2E577C6B-2FF1-425E-90B3-947EB523B863", /* regfile */ + "regs2", + "", + "regno2, regena2, wClk, regwrdata2, regwren2, regrddata2"); CELL_INST("EE3409B2-6D04-42B3-A44D-7F2444DDC00D", /* ram8kb */ "ram", "", @@ -125,7 +153,9 @@ GEN_MODULE_INIT CELL_INST("638E8BC3-B0E0-41DC-9EDD-D35A39FD8051", /* riscv_core */ "core", "", - "wClk, nwReset, wWrite, bWriteAddr, bWriteData, bWriteMask, wRead, bReadAddr, bReadData"); + "wClk, nwReset, wWrite, bWriteAddr, bWriteData, bWriteMask, wRead, bReadAddr, bReadData" + ", regno, regena, regwrdata, regwren, regrddata, regno2, regena2, regwrdata2, regwren2" + ", regrddata2"); GEN_FUNC("ram_dot_byteena", top_gen_ram_dot_byteena); GEN_FUNC("ram_dot_wren", top_gen_ram_dot_wren); GEN_FUNC("bReadData", top_gen_bReadData); diff --git a/examples/hdl4se_riscv/test_code/console.c b/examples/hdl4se_riscv/test_code/console.c index d554224..880ebfc 100644 --- a/examples/hdl4se_riscv/test_code/console.c +++ b/examples/hdl4se_riscv/test_code/console.c @@ -1,6 +1,6 @@ #define UARTADDRESS (unsigned int *)0xf0000100 -#define REFFREQ 25000000 +#define REFFREQ 50000000 volatile unsigned int* _uartaddr = UARTADDRESS; volatile unsigned int _uartstate; diff --git a/examples/hdl4se_riscv/test_code/test.cod b/examples/hdl4se_riscv/test_code/test.cod index 146ea82..f32351b 100644 --- a/examples/hdl4se_riscv/test_code/test.cod +++ b/examples/hdl4se_riscv/test_code/test.cod @@ -169,7 +169,7 @@ E3 90 07 FC 93 07 00 00 13 85 07 00 03 24 C1 01 83 27 84 FD 83 C7 07 00 E3 90 07 FA 93 07 00 00 13 85 07 00 03 24 C1 02 13 01 01 03 67 80 00 00 13 01 01 FE 23 2E 81 00 13 04 01 02 23 26 A4 FE -B7 87 7D 01 13 87 07 84 83 27 C4 FE 33 47 F7 02 +B7 F7 FA 02 13 87 07 08 83 27 C4 FE 33 47 F7 02 83 A7 01 C3 93 87 07 01 23 A0 E7 00 93 07 00 00 13 85 07 00 03 24 C1 01 13 01 01 02 67 80 00 00 13 01 01 EC 23 2E 11 12 23 2C 81 12 13 04 01 14 diff --git a/examples/hdl4se_riscv/test_code/test.elf b/examples/hdl4se_riscv/test_code/test.elf index 5c15f8b08e4670d2778c1c8de0bc670fc844e09d..cd023ee1436ca3044351d0b98a8f7669496ef4d3 100644 GIT binary patch delta 90 zcmX@%cEoLh0^^&FieI?czyD$qZfED%EW<6&E3d%7z)+M~oLt7hCq{7^}qv1T%-vN~hlWJ6_f0K426+W-In delta 99 zcmX@&cEW9f0^^5`ieI?c+iMwx+u2(-%W%u{s;DwBFcf7LCzmlWN&}fJ0<1-4#zvV& z1qSiCAR-Y+OlA}j-CQ8y!NsUH*-%+{@);!o#)QdtmDCv + b14: 02faf7b7 lui x15,0x2faf + b18: 08078713 addi x14,x15,128 # 2faf080 <__global_pointer$+0x2fac490> b1c: fec42783 lw x15,-20(x8) b20: 02f74733 div x14,x14,x15 b24: c301a783 lw x15,-976(x3) # 2820 <_uartaddr> @@ -1444,12 +1444,13 @@ Disassembly of section .comment: Disassembly of section .riscv.attributes: 00000000 <.riscv.attributes>: - 0: 2541 c.jal 680 <_s2d+0x4> + 0: 2041 c.jal 80 2: 0000 c.unimp 4: 7200 c.flw f8,32(x12) 6: 7369 c.lui x6,0xffffa 8: 01007663 bgeu x0,x16,14 - c: 0000001b 0x1b + c: 0016 c.slli x0,0x5 + e: 0000 c.unimp 10: 1004 c.addi4spn x9,x2,32 12: 7205 c.lui x4,0xfffe1 14: 3376 c.fldsp f6,376(x2) @@ -1458,4 +1459,4 @@ Disassembly of section .riscv.attributes: 1a: 5f30 c.lw x12,120(x14) 1c: 326d c.jal fffff9c6 <__global_pointer$+0xffffcdd6> 1e: 3070 c.fld f12,224(x8) - 20: 615f 7032 0030 0x307032615f + ... diff --git a/examples/hdl4se_riscv/verilog/riscv_core_v4.v b/examples/hdl4se_riscv/verilog/riscv_core_v4.v index 1bf3c8c..b4af984 100644 --- a/examples/hdl4se_riscv/verilog/riscv_core_v4.v +++ b/examples/hdl4se_riscv/verilog/riscv_core_v4.v @@ -29,13 +29,19 @@ ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ** THE POSSIBILITY OF SUCH DAMAGE. */ -/* riscv_core_v4.v */ +/* riscv_core_v2.v */ -`define RISCVSTATE_STARTUP 0 -`define RISCVSTATE_EXEC_INST 1 -`define RISCVSTATE_WAIT_LD 2 -`define RISCVSTATE_WAIT_ST 3 -`define RISCVSTATE_WAIT_DIV 4 +`define RISCVSTATE_INIT_REGX1 0 +`define RISCVSTATE_INIT_REGX2 1 +`define RISCVSTATE_READ_INST 2 +`define RISCVSTATE_READ_REGS 3 +`define RISCVSTATE_EXEC_INST 4 +`define RISCVSTATE_WRITE_RD 5 +`define RISCVSTATE_WAIT_LD 6 +`define RISCVSTATE_WAIT_LD2 7 +`define RISCVSTATE_WAIT_ST 8 +`define RISCVSTATE_WAIT_ST2 9 +`define RISCVSTATE_WAIT_DIV 10 `define RAMSIZE 4096 @@ -52,77 +58,46 @@ module riscv_core( output [3:0] bWriteMask, output reg wRead, output reg [31:0] bReadAddr, - input [31:0] bReadData + input [31:0] bReadData, + output reg [4:0] regno, + output reg [3:0] regena, + output reg [31:0] regwrdata, + output reg regwren, + input [31:0] regrddata, + output reg [4:0] regno2, + output reg [3:0] regena2, + output reg [31:0] regwrdata2, + output reg regwren2, + input [31:0] regrddata2 ); - reg [31:0] pc; - - reg [31:0] x1; - reg [31:0] x2; - reg [31:0] x3; - reg [31:0] x4; - reg [31:0] x5; - reg [31:0] x6; - reg [31:0] x7; - reg [31:0] x8; - reg [31:0] x9; - reg [31:0] x10; - reg [31:0] x11; - reg [31:0] x12; - reg [31:0] x13; - reg [31:0] x14; - reg [31:0] x15; - reg [31:0] x16; - reg [31:0] x17; - reg [31:0] x18; - reg [31:0] x19; - reg [31:0] x20; - reg [31:0] x21; - reg [31:0] x22; - reg [31:0] x23; - reg [31:0] x24; - reg [31:0] x25; - reg [31:0] x26; - reg [31:0] x27; - reg [31:0] x28; - reg [31:0] x29; - reg [31:0] x30; - reg [31:0] x31; - - reg [3:0] state; - - reg [31:0] imm; - reg [4:0] dstreg; - reg [31:0] dstvalue; + reg [31:0] pc; //GREG(pc, 32, riscv_core_reg_gen_pc); + reg [31:0] instr; //GREG(instr, 32, riscv_core_reg_gen_instr); + reg write; //GREG(write, 1, riscv_core_gen_write); + reg [31:0] writeaddr; //GREG(writeaddr, 32, riscv_core_gen_write); + reg [31:0] writedata; //GREG(writedata, 32, riscv_core_gen_write); + reg [3:0] writemask; //GREG(writemask, 4, riscv_core_gen_write); + reg [4:0] readreg; //GREG(readreg, 5, riscv_core_reg_gen_readreg); + reg [3:0] state; //GREG(state, 4, riscv_core_gen_state); + reg [31:0] imm; //GREG(imm, 32, riscv_core_gen_imm); + reg [4:0] dstreg; //GREG(dstreg, 5, riscv_core_gen_dstreg); + reg [31:0] dstvalue; //GREG(dstvalue, 32, riscv_core_gen_dstreg); + reg [31:0] ldaddr; //GREG(ldaddr, 2, riscv_core_gen_ldaddr); reg [4:0] divclk; - - reg write; - reg [31:0] writeaddr; - reg [31:0] writedata; - reg [3:0] writemask; - + reg [31:0] lastv; + reg [31:0] lastaddr; assign wWrite = write; assign bWriteAddr = writeaddr; assign bWriteData = writedata; assign bWriteMask = writemask; - reg [31:0] cur_instr; - always @(posedge wClk) - if (state == `RISCVSTATE_EXEC_INST) - cur_instr <= bReadData; - - wire [31:0] instr = bReadData; - wire [4:0] rs1_no = instr[19:15]; - wire [4:0] rs2_no = instr[24:20]; - wire [4:0] opcode = instr[6:2]; - wire [4:0] rd = instr[11:7]; - wire [2:0] func3 = instr[14:12]; - wire [4:0] rd_r = cur_instr[11:7]; - wire [2:0] func3_r = cur_instr[14:12]; + wire [4:0] opcode = instr[6:2]; + wire [4:0] rd = instr[11:7]; + wire [2:0] func3 = instr[14:12]; reg cond; - reg [31:0] rs1; - reg [31:0] rs2; + wire [31:0] rs1 = regrddata; + wire [31:0] rs2 = regrddata2; wire signed [31:0] rs1_s = rs1; wire signed [31:0] rs2_s = rs2; wire signed [31:0] imm_s = imm; @@ -147,127 +122,6 @@ module riscv_core( assign mod_result = mod_result_r; assign mods_result = mods_result_r; - always @(rs1_no or x31 or - x1 or x2 or x3 or x4 or x5 or x6 or x7 or x8 or x9 or x10 or - x11 or x12 or x13 or x14 or x15 or x16 or x17 or x18 or x19 or x20 or - x21 or x22 or x23 or x24 or x25 or x26 or x27 or x28 or x29 or x30 - ) - case (rs1_no) - 5'd0: rs1 = 0; - 5'd1: rs1 = x1; - 5'd2: rs1 = x2; - 5'd3: rs1 = x3; - 5'd4: rs1 = x4; - 5'd5: rs1 = x5; - 5'd6: rs1 = x6; - 5'd7: rs1 = x7; - 5'd8: rs1 = x8; - 5'd9: rs1 = x9; - 5'd10: rs1 = x10; - 5'd11: rs1 = x11; - 5'd12: rs1 = x12; - 5'd13: rs1 = x13; - 5'd14: rs1 = x14; - 5'd15: rs1 = x15; - 5'd16: rs1 = x16; - 5'd17: rs1 = x17; - 5'd18: rs1 = x18; - 5'd19: rs1 = x19; - 5'd20: rs1 = x20; - 5'd21: rs1 = x21; - 5'd22: rs1 = x22; - 5'd23: rs1 = x23; - 5'd24: rs1 = x24; - 5'd25: rs1 = x25; - 5'd26: rs1 = x26; - 5'd27: rs1 = x27; - 5'd28: rs1 = x28; - 5'd29: rs1 = x29; - 5'd30: rs1 = x30; - 5'd31: rs1 = x31; - endcase - - always @(rs2_no or x31 or - x1 or x2 or x3 or x4 or x5 or x6 or x7 or x8 or x9 or x10 or - x11 or x12 or x13 or x14 or x15 or x16 or x17 or x18 or x19 or x20 or - x21 or x22 or x23 or x24 or x25 or x26 or x27 or x28 or x29 or x30 - ) - case (rs2_no) - 5'd0: rs2 = 0; - 5'd1: rs2 = x1; - 5'd2: rs2 = x2; - 5'd3: rs2 = x3; - 5'd4: rs2 = x4; - 5'd5: rs2 = x5; - 5'd6: rs2 = x6; - 5'd7: rs2 = x7; - 5'd8: rs2 = x8; - 5'd9: rs2 = x9; - 5'd10: rs2 = x10; - 5'd11: rs2 = x11; - 5'd12: rs2 = x12; - 5'd13: rs2 = x13; - 5'd14: rs2 = x14; - 5'd15: rs2 = x15; - 5'd16: rs2 = x16; - 5'd17: rs2 = x17; - 5'd18: rs2 = x18; - 5'd19: rs2 = x19; - 5'd20: rs2 = x20; - 5'd21: rs2 = x21; - 5'd22: rs2 = x22; - 5'd23: rs2 = x23; - 5'd24: rs2 = x24; - 5'd25: rs2 = x25; - 5'd26: rs2 = x26; - 5'd27: rs2 = x27; - 5'd28: rs2 = x28; - 5'd29: rs2 = x29; - 5'd30: rs2 = x30; - 5'd31: rs2 = x31; - endcase - - always@(posedge wClk) - if (~nwReset) begin - x1 <= 32'h0000008c; - x2 <= `RAMSIZE * 4 - 16; - end - else - case (dstreg) - 5'd0: ;//0 <= dstvalue; - 5'd1: x1 <= dstvalue; - 5'd2: x2 <= dstvalue; - 5'd3: x3 <= dstvalue; - 5'd4: x4 <= dstvalue; - 5'd5: x5 <= dstvalue; - 5'd6: x6 <= dstvalue; - 5'd7: x7 <= dstvalue; - 5'd8: x8 <= dstvalue; - 5'd9: x9 <= dstvalue; - 5'd10: x10 <= dstvalue; - 5'd11: x11 <= dstvalue; - 5'd12: x12 <= dstvalue; - 5'd13: x13 <= dstvalue; - 5'd14: x14 <= dstvalue; - 5'd15: x15 <= dstvalue; - 5'd16: x16 <= dstvalue; - 5'd17: x17 <= dstvalue; - 5'd18: x18 <= dstvalue; - 5'd19: x19 <= dstvalue; - 5'd20: x20 <= dstvalue; - 5'd21: x21 <= dstvalue; - 5'd22: x22 <= dstvalue; - 5'd23: x23 <= dstvalue; - 5'd24: x24 <= dstvalue; - 5'd25: x25 <= dstvalue; - 5'd26: x26 <= dstvalue; - 5'd27: x27 <= dstvalue; - 5'd28: x28 <= dstvalue; - 5'd29: x29 <= dstvalue; - 5'd30: x30 <= dstvalue; - 5'd31: x31 <= dstvalue; - endcase - /* cond */ always @(rs1 or rs2 or rs1_s or rs2_s or func3) case(func3) @@ -279,289 +133,468 @@ module riscv_core( 7:/*bgeu*/cond = rs1 >= rs2; default: cond = 1'b0; endcase - - always @(instr) - case (instr[6:2]) - 5'h0d: imm = {instr[31:12], 12'b0}; - 5'h05: imm = {instr[31:12], 12'b0}; - 5'h1b: imm = {{12{instr[31]}}, instr[19:12], instr[20], instr[30:21], 1'b0}; - 5'h19: imm = {{20{instr[31]}}, instr[31:20]}; - 5'h18: imm = {{20{instr[31]}}, instr[7], instr[30:25], instr[11:8], 1'b0}; - 5'h00: imm = {{20{instr[31]}}, instr[31:20]}; - 5'h08: imm = {{20{instr[31]}}, instr[31:25], instr[11:7]}; - 5'h04: imm = {{20{instr[31]}}, instr[31:20]}; - default: imm = 0; - endcase - - - /* state */ + + //DEFINE_FUNC(riscv_core_reg_gen_lastv, "state, instr, ldaddr") { always @(posedge wClk) - if (!nwReset) begin - state <= `RISCVSTATE_STARTUP; - end else begin - case (state) - `RISCVSTATE_STARTUP: state <= `RISCVSTATE_EXEC_INST; - `RISCVSTATE_EXEC_INST: begin - if (opcode == 5'h00) - state <= `RISCVSTATE_WAIT_LD; - else if (opcode == 5'h08) - state <= `RISCVSTATE_WAIT_ST; - else if (opcode == 5'h0c && instr[25] && func3[2] && (rs2 != 0)) begin - state <= `RISCVSTATE_WAIT_DIV; - divclk <= 11; - end + if (state == `RISCVSTATE_WAIT_LD) begin + lastaddr <= ldaddr; + if (func3 == 1 && ldaddr[1:0] == 3) begin /* lh */ + lastv <= {24'b0, bReadData[31:24]}; end - `RISCVSTATE_WAIT_LD: state <= `RISCVSTATE_EXEC_INST; - `RISCVSTATE_WAIT_ST: state <= `RISCVSTATE_EXEC_INST; - `RISCVSTATE_WAIT_DIV: begin - if (divclk == 0) - state <= `RISCVSTATE_EXEC_INST; + else if (func3 == 2 && ldaddr[1:0] != 0) begin /* lw */ + if (ldaddr[1:0] == 1) + lastv <= {8'b0, bReadData[31:8]}; + else if (ldaddr[1:0] == 2) + lastv <= {16'b0, bReadData[31:16]}; else - divclk <= divclk - 1; + lastv <= {24'b0, bReadData[31:24]}; end - endcase - end - - reg [31:0] newpc; - always @(state or pc or rs1 or imm or cond or opcode) - if (state == `RISCVSTATE_EXEC_INST) begin - case (opcode) - 5'h1b: newpc = pc + imm; - 5'h19: newpc = rs1 + imm; - 5'h18: newpc = cond ? pc + imm : pc + 4; - default: newpc = pc + 4; - endcase - end else begin - newpc = pc; + else if (func3 == 5 && ldaddr[1:0] == 3) begin /* lhu */ + lastv <= {24'b0, bReadData[31:24]}; + end + end else if (state == `RISCVSTATE_EXEC_INST) begin + lastaddr <= rs1 + imm; + lastv <= rs2; end - - /* pc */ + + //DEFINE_FUNC(riscv_core_reg_gen_pc, "nwReset, state, instr, pc, rs1, imm, regrddata") { always @(posedge wClk) if (!nwReset) begin pc <= 32'h00000074; end else begin - pc <= newpc; - end - - /* read and readaddr */ - always @(state or pc or opcode or imm or rs1 or nwReset) - if (~nwReset) begin - wRead = 0; - bReadAddr = 0; - end else begin - wRead = 1; - bReadAddr = newpc; if (state == `RISCVSTATE_EXEC_INST) begin - if (opcode == 5'h00) begin /*LOAD*/ - wRead = 1; - bReadAddr = rs1 + imm; - end else if (opcode == 5'h08) begin /*STORE*/ - wRead = 0; - bReadAddr = 0; - end + case (opcode) + 5'h1b: pc <= pc + imm; + 5'h19: pc <= rs1 + imm; + 5'h18: pc <= cond ? pc + imm : pc + 4; + default: pc <= pc + 4; + endcase end end - wire [31:0] newwriteaddr = rs1 + imm; + //DEFINE_FUNC(riscv_core_reg_gen_instr, "state, bReadData") { + always @(posedge wClk) + if (state == `RISCVSTATE_READ_REGS) + instr <= bReadData; - /* write */ - always @(nwReset or state or opcode or newwriteaddr or rs1 or imm or rs2) - begin - write = 0; - writeaddr = 0; - writemask = 0; - writedata = 0; - if (nwReset && (state == `RISCVSTATE_EXEC_INST) && (opcode == 5'h08)) begin - /* riscv支持地址不对齐访问,但是假定写在一个32位字中 */ - writeaddr = newwriteaddr; - writemask = 4'h0; - writedata = rs2; - write = 1'b1; + //DEFINE_FUNC(riscv_core_reg_gen_readreg, "state, instr") { + always @(posedge wClk) + if (state == `RISCVSTATE_EXEC_INST) + if (opcode == 5'h00) + readreg <= rd; + + wire [31:0] newwriteaddr = rs1 + imm; + //DEFINE_FUNC(riscv_core_gen_write, "nwReset, state, pc, instr, rs1, regrddata, imm") { + always @(posedge wClk) + if (!nwReset) begin + write <= 0; + end else if (state == `RISCVSTATE_EXEC_INST) begin + write <= 0; + if (opcode == 5'h08) begin + + writeaddr <= newwriteaddr; + writemask <= 4'h0; + writedata <= rs2; + write <= 1'b1; case (func3) 0:/*sb*/ begin case (newwriteaddr[1:0]) 0: begin - writemask = 4'he; - writedata = rs2; + writemask <= 4'he; + writedata <= rs2; end 1: begin - writemask = 4'hd; - writedata = {rs2[23:0], 8'h0}; + writemask <= 4'hd; + writedata <= {rs2[23:0], 8'h0}; end 2: begin - writemask = 4'hb; - writedata = {rs2[15:0], 16'h0}; + writemask <= 4'hb; + writedata <= {rs2[15:0], 16'h0}; end 3: begin - writemask = 4'h7; - writedata = {rs2[7:0], 24'h0}; + writemask <= 4'h7; + writedata <= {rs2[7:0], 24'h0}; end endcase end 1:/*sh*/ begin case (newwriteaddr[1:0]) 0: begin - writemask = 4'hc; - writedata = rs2; + writemask <= 4'hc; + writedata <= rs2; end 1: begin - writemask = 4'h9; - writedata = {rs2[23:0], 8'h0}; + writemask <= 4'h9; + writedata <= {rs2[23:0], 8'h0}; end 2: begin - writemask = 4'h3; - writedata = {rs2[15:0], 16'h0}; + writemask <= 4'h3; + writedata <= {rs2[15:0], 16'h0}; + end + 3: begin + writemask <= 4'h7; + writedata <= {rs2[7:0], 24'h0}; + end + endcase + end + 2:/*sw*/ begin + case (newwriteaddr[1:0]) + 0: begin + writemask <= 4'h0; + writedata <= rs2; + end + 1: begin + writemask <= 4'h1; + writedata <= {rs2[23:0], 8'h0}; + end + 2: begin + writemask <= 4'h3; + writedata <= {rs2[15:0], 16'h0}; + end + 3: begin + writemask <= 4'h7; + writedata <= {rs2[7:0], 24'h0}; end endcase end endcase end + end else if (state == `RISCVSTATE_WAIT_ST) begin + write <= 0; + writeaddr <= lastaddr + 4; + if (opcode == 5'h08) begin + case (func3) + 1:/*sh*/ begin + case (lastaddr[1:0]) + 3: begin + writemask <= 4'he; + writedata <= {24'b0, lastv[31:24]}; + write <= 1; + end + endcase + end + 2:/*sw*/ begin + case (lastaddr[1:0]) + 1: begin + writemask <= 4'he; + writedata <= {24'b0, lastv[31:24]}; + write <= 1; + end + 2: begin + writemask <= 4'hc; + writedata <= {16'b0, lastv[31:16]}; + write <= 1; + end + 3: begin + writemask <= 4'h8; + writedata <= {8'b0, lastv[31:8]}; + write <= 1; + end + endcase + end + endcase + end + end else begin + write <= 0; end - reg [31:0] ldaddr; + //DEFINE_FUNC(riscv_core_gen_state, "state, instr, nwReset") { + always @(posedge wClk) + if (!nwReset) begin + state <= `RISCVSTATE_INIT_REGX1; + end else begin + case (state) + `RISCVSTATE_INIT_REGX1: state <= `RISCVSTATE_INIT_REGX2; + `RISCVSTATE_INIT_REGX2: state <= `RISCVSTATE_READ_INST; + `RISCVSTATE_READ_INST: state <= `RISCVSTATE_READ_REGS; + `RISCVSTATE_READ_REGS: state <= `RISCVSTATE_EXEC_INST; + `RISCVSTATE_WRITE_RD: state <= `RISCVSTATE_READ_INST; + `RISCVSTATE_EXEC_INST: begin + if (opcode == 5'h00) + state <= `RISCVSTATE_WAIT_LD; + else if (opcode == 5'h08) + state <= `RISCVSTATE_WAIT_ST; + else if (opcode == 5'h0c && instr[25] && func3[2] && (rs2 != 0)) begin + state <= `RISCVSTATE_WAIT_DIV; + divclk <= 11; + end else + state <= `RISCVSTATE_WRITE_RD; + end + `RISCVSTATE_WAIT_LD: begin + if (func3 == 1 && ldaddr[1:0] == 3) begin /* lh */ + state <= `RISCVSTATE_WAIT_LD2; + end + else if (func3 == 2 && ldaddr[1:0] != 0) begin /* lw */ + state <= `RISCVSTATE_WAIT_LD2; + end + else if (func3 == 5 && ldaddr[1:0] == 3) begin /* lhu */ + state <= `RISCVSTATE_WAIT_LD2; + end + else begin + state <= `RISCVSTATE_WRITE_RD; + end + end + `RISCVSTATE_WAIT_LD2: state <= `RISCVSTATE_WRITE_RD; + `RISCVSTATE_WAIT_ST: begin + state <= `RISCVSTATE_READ_INST; + if (opcode == 5'h08) begin + if (func3 == 1 && (lastaddr & 3) == 3) begin /* sh */ + state <= `RISCVSTATE_WAIT_ST2; + end + else if (func3 == 2 && (lastaddr & 3) != 0) begin + state <= `RISCVSTATE_WAIT_ST2; + end + end + end + `RISCVSTATE_WAIT_ST2: state <= `RISCVSTATE_READ_INST; + `RISCVSTATE_WAIT_DIV: begin + if (divclk == 0) + state <= `RISCVSTATE_WRITE_RD; + else + divclk <= divclk - 1; + end + endcase + end + //DEFINE_FUNC(riscv_core_gen_imm, "bReadData, state") { + /* 在RISCVSTATE_READ_REGS周期生成imm */ always @(posedge wClk) - if (state == `RISCVSTATE_EXEC_INST) begin - ldaddr <= rs1 + imm; + if (state == `RISCVSTATE_READ_REGS) begin + case (bReadData[6:2]) + 5'h0d: imm <= {bReadData[31:12], 12'b0}; + 5'h05: imm <= {bReadData[31:12], 12'b0}; + 5'h1b: imm <= {{12{bReadData[31]}}, bReadData[19:12], bReadData[20], bReadData[30:21], 1'b0}; + 5'h19: imm <= {{20{bReadData[31]}}, bReadData[31:20]}; + 5'h18: imm <= {{20{bReadData[31]}}, bReadData[7], bReadData[30:25], bReadData[11:8], 1'b0}; + 5'h00: imm <= {{20{bReadData[31]}}, bReadData[31:20]}; + 5'h08: imm <= {{20{bReadData[31]}}, bReadData[31:25], bReadData[11:7]}; + 5'h04: imm <= {{20{bReadData[31]}}, bReadData[31:20]}; + endcase end - always @(state or ldaddr or func3_r or rd_r or bReadData or divclk or imm or pc or rs1 or rs2 or instr) begin - dstvalue = 0; - dstreg = 0; + //DEFINE_FUNC(riscv_core_reg_wr_sig, "state, dstreg, dstvalue, bReadData, instr, regrddata, pc") { + always @(state or dstreg or dstvalue or bReadData or instr or regrddata or regrddata2 or pc) + case (state) + `RISCVSTATE_READ_REGS: begin + regno = bReadData[19:15]; /* instr */ + regwren = 0; + regena = 0; + regwrdata = 0; + regno2 = bReadData[24:20]; /* instr */ + regwren2 = 0; + regena2 = 0; + regwrdata2 = 0; + end + `RISCVSTATE_WRITE_RD: begin + regwren = (dstreg != 0) ? 1 : 0; + regno = dstreg; + regena = 4'hf; + regwrdata = dstvalue; + regwren2 = (dstreg != 0) ? 1 : 0; + regno2 = dstreg; + regena2 = 4'hf; + regwrdata2 = dstvalue; + end + `RISCVSTATE_INIT_REGX1: begin + regwren = 1; + regno = 1; + regena = 4'hf; + regwrdata = 32'h8c; + regwren2 = 1; + regno2 = 1; + regena2 = 4'hf; + regwrdata2 = 32'h8c; + end + `RISCVSTATE_INIT_REGX2: begin + regwren = 1; + regno = 2; + regena = 4'hf; + regwrdata = `RAMSIZE * 4 - 16; + regwren2 = 1; + regno2 = 2; + regena2 = 4'hf; + regwrdata2 = `RAMSIZE * 4 - 16; + end + default: begin + regwren = 0; + regno = 0; + regena = 0; + regwrdata = 0; + regwren2 = 0; + regno2 = 0; + regena2 = 0; + regwrdata2 = 0; + end + endcase + + //DEFINE_FUNC(riscv_core_gen_ldaddr, "state, pc, instr, rs1") { + always @(posedge wClk) + if (state == `RISCVSTATE_READ_INST) begin + ldaddr <= pc; + end else if (state == `RISCVSTATE_EXEC_INST) begin + if (opcode == 5'h00) begin + /* ld inst */ + ldaddr <= rs1 + imm; + end + end + + //DEFINE_FUNC(riscv_core_gen_dstreg, "state, instr, ldaddr, readreg, bReadData, pc, rs1, regrddata, imm") { + always @(posedge wClk) case (state) `RISCVSTATE_WAIT_LD: begin - dstreg = rd_r; - case (func3_r) + dstreg <= readreg; + case (func3) 0: begin case (ldaddr[1:0]) - 0: dstvalue = {{24{bReadData[7]}}, bReadData[7:0]}; - 1: dstvalue = {{24{bReadData[15]}}, bReadData[15:8]}; - 2: dstvalue = {{24{bReadData[23]}}, bReadData[23:16]}; - 3: dstvalue = {{24{bReadData[31]}}, bReadData[31:24]}; + 0: dstvalue <= {{24{bReadData[7]}}, bReadData[7:0]}; + 1: dstvalue <= {{24{bReadData[15]}}, bReadData[15:8]}; + 2: dstvalue <= {{24{bReadData[23]}}, bReadData[23:16]}; + 3: dstvalue <= {{24{bReadData[31]}}, bReadData[31:24]}; endcase end 1: begin case (ldaddr[1:0]) - 0: dstvalue = {{16{bReadData[15]}}, bReadData[15:0]}; - 1: dstvalue = {{16{bReadData[23]}}, bReadData[23:8]}; - 2: dstvalue = {{16{bReadData[31]}}, bReadData[31:16]}; - 3: dstvalue = 32'hdeadbeef; + 0: dstvalue <= {{16{bReadData[15]}}, bReadData[15:0]}; + 1: dstvalue <= {{16{bReadData[23]}}, bReadData[23:8]}; + 2: dstvalue <= {{16{bReadData[31]}}, bReadData[31:16]}; + 3: dstvalue <= 32'hdeadbeef; endcase end - 2: dstvalue = bReadData; + 2: dstvalue <= bReadData; 4: begin case (ldaddr[1:0]) - 0: dstvalue = {24'b0, bReadData[7:0]}; - 1: dstvalue = {24'b0, bReadData[15:8]}; - 2: dstvalue = {24'b0, bReadData[23:16]}; - 3: dstvalue = {24'b0, bReadData[31:24]}; + 0: dstvalue <= {24'b0, bReadData[7:0]}; + 1: dstvalue <= {24'b0, bReadData[15:8]}; + 2: dstvalue <= {24'b0, bReadData[23:16]}; + 3: dstvalue <= {24'b0, bReadData[31:24]}; endcase end 5: begin case (ldaddr[1:0]) - 0: dstvalue = {16'b0, bReadData[15:0]}; - 1: dstvalue = {16'b0, bReadData[23:8]}; - 2: dstvalue = {16'b0, bReadData[31:16]}; - 3: dstvalue = 32'hdeadbeef; + 0: dstvalue <= {16'b0, bReadData[15:0]}; + 1: dstvalue <= {16'b0, bReadData[23:8]}; + 2: dstvalue <= {16'b0, bReadData[31:16]}; + 3: dstvalue <= 32'hdeadbeef; endcase end endcase end + `RISCVSTATE_WAIT_LD2: begin + dstreg <= rd; + if (func3 == 1 && ldaddr[1:0] == 3) begin + dstvalue <= {{16{bReadData[7]}}, bReadData[7:0], lastv[7:0]}; + end + else if (func3 == 2 && ldaddr[1:0] != 0) begin + if (ldaddr[1:0] == 1) + dstvalue <= {bReadData[7:0], lastv[23:0]}; + else if (ldaddr[1:0] == 2) + dstvalue <= {bReadData[15:0], lastv[15:0]}; + else if (ldaddr[1:0] == 3) + dstvalue <= {bReadData[23:0], lastv[7:0]}; + end + else if (func3 == 5 && ldaddr[1:0] == 3) begin + dstvalue <= {16'b0, bReadData[7:0], lastv[7:0]}; + end else begin + dstreg <= 0; + dstvalue <= 0; + end + end `RISCVSTATE_WAIT_DIV: if (divclk == 0) begin - case (func3_r[1:0]) + dstreg <= 0; + case (func3[1:0]) 0: begin //div - dstreg = rd_r; - dstvalue = divs_result; + dstreg <= rd; + dstvalue <= divs_result; end 1: begin //divu - dstreg = rd_r; - dstvalue = div_result; + dstreg <= rd; + dstvalue <= div_result; end 2: begin//rem - dstreg = rd_r; - dstvalue = mods_result; + dstreg <= rd; + dstvalue <= mods_result; end 3: begin //remu - dstreg = rd_r; - dstvalue = mod_result; + dstreg <= rd; + dstvalue <= mod_result; end endcase end `RISCVSTATE_EXEC_INST: begin - dstreg = rd; + dstreg <= rd; case (opcode) 5'h0d: begin - dstvalue = imm; + dstvalue <= imm; end 5'h05: begin - dstvalue = imm + pc; + dstvalue <= imm + pc; end 5'h1b: begin - dstvalue = pc + 4; + dstvalue <= pc + 4; end 5'h19: begin - dstvalue = pc + 4; + dstvalue <= pc + 4; end 5'h04: begin /* alui */ case (func3) - 0:/*addi*/ dstvalue = rs1 + imm; - 1:/*slli*/ dstvalue = rs1 << imm[4:0]; - 2:/*slti*/ dstvalue = (rs1_s < imm_s) ? 1 : 0; - 3:/*sltiu*/dstvalue = (rs1 < imm) ? 1 : 0; - 4:/*xori*/ dstvalue = rs1 ^ imm; + 0:/*addi*/ dstvalue <= rs1 + imm; + 1:/*slli*/ dstvalue <= rs1 << imm[4:0]; + 2:/*slti*/ dstvalue <= (rs1_s < imm_s) ? 1 : 0; + 3:/*sltiu*/dstvalue <= (rs1 < imm) ? 1 : 0; + 4:/*xori*/ dstvalue <= rs1 ^ imm; 5:/*srli/srai*/ - dstvalue = instr[30] ? (rs1_s >> imm[4:0]) : (rs1 >> imm[4:0]); - 6:/*ori*/ dstvalue = rs1 | imm; - 7:/*andi*/ dstvalue = rs1 & imm; - default: begin dstreg = 0; dstvalue=0; end + dstvalue <= instr[30] ? (rs1_s >> imm[4:0]) : (rs1 >> imm[4:0]); + 6:/*ori*/ dstvalue <= rs1 | imm; + 7:/*andi*/ dstvalue <= rs1 & imm; + default: begin dstreg <= 0; dstvalue<=0; end endcase end 5'h0c: begin /*alu*/ if (instr[25]) begin /* is MUL/DIV instr*/ case (func3) 0: begin //mul - dstvalue = muls_result[31:0]; + dstvalue <= muls_result[31:0]; end 1: begin //mulh - dstvalue = muls_result[63:32]; + dstvalue <= muls_result[63:32]; end 2: begin //mulhsu - dstvalue = mulsu_result[63:32]; + dstvalue <= mulsu_result[63:32]; end 3: begin //mulhu - dstvalue = mul_result[63:32]; + dstvalue <= mul_result[63:32]; end 4: begin //div if (rs2 == 0) begin - dstvalue = 32'hffffffff; + dstvalue <= 32'hffffffff; end else begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end end 5: begin //divu if (rs2 == 0) begin - dstvalue = 32'hffffffff; + dstvalue <= 32'hffffffff; end else begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end end 6: begin//rem if (rs2 == 0) begin - dstvalue = rs1; + dstvalue <= rs1; end else begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end end 7: begin //remu if (rs2 == 0) begin - dstvalue = rs1; + dstvalue <= rs1; end else begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end end endcase @@ -569,44 +602,76 @@ module riscv_core( case (func3) 0: begin if (instr[30]) - dstvalue = sub_result; + dstvalue <= sub_result; else - dstvalue = add_result; + dstvalue <= add_result; end 1: begin //sll - dstvalue = rs1 << rs2[4:0]; + dstvalue <= rs1 << rs2[4:0]; end 2: begin //slt - dstvalue = (rs1_s < rs2_s) ? 1 : 0; + dstvalue <= (rs1_s < rs2_s) ? 1 : 0; end 3: begin //sltu - dstvalue = (rs1 < rs2) ? 1 : 0; + dstvalue <= (rs1 < rs2) ? 1 : 0; end 4: begin //xor - dstvalue = rs1 ^ rs2; + dstvalue <= rs1 ^ rs2; end 5: begin //srl/sra if (instr[30]) - dstvalue = rs1 >> rs2[4:0]; + dstvalue <= rs1 >> rs2[4:0]; else - dstvalue = rs1_s >> rs2[4:0]; + dstvalue <= rs1_s >> rs2[4:0]; end 6: begin //or - dstvalue = rs1 | rs2; + dstvalue <= rs1 | rs2; end 7: begin //and - dstvalue = rs1 & rs2; + dstvalue <= rs1 & rs2; end endcase end end default: begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end endcase end endcase + + //DEFINE_FUNC(riscv_core_read_sig, "state, pc, instr, bReadData, rs1") { + always @(state or pc or opcode or imm or rs1) begin + wRead = 0; + bReadAddr = 0; + if (state == `RISCVSTATE_READ_INST) begin + wRead = 1; + bReadAddr = pc; + end else if (state == `RISCVSTATE_EXEC_INST) begin + if (opcode == 5'h00) begin + /* ld inst */ + bReadAddr = rs1 + imm; + wRead = 1; + end + end else if (state == `RISCVSTATE_WAIT_LD) begin + if (func3 == 1 && (ldaddr & 3) == 3) begin /* lh */ + wRead = 1; + bReadAddr = ldaddr + 4; + end + else if (func3 == 2 && (ldaddr & 3) != 0) begin /* lw */ + wRead = 1; + bReadAddr = ldaddr + 4; + end + else if (func3 == 5 && (ldaddr & 3) == 3) begin /* lhu */ + wRead = 1; + bReadAddr = ldaddr + 4; + end + else begin + wRead = 0; + bReadAddr = 0; + end + end end endmodule \ No newline at end of file diff --git a/examples/hdl4se_riscv/verilog/riscv_core_v4_1.v b/examples/hdl4se_riscv/verilog/riscv_core_v4_1.v new file mode 100644 index 0000000..1bf3c8c --- /dev/null +++ b/examples/hdl4se_riscv/verilog/riscv_core_v4_1.v @@ -0,0 +1,612 @@ + +/* +** HDL4SE: 软件Verilog综合仿真平台 +** Copyright (C) 2021-2021, raoxianhong +** LCOM: 轻量级组件对象模型 +** Copyright (C) 2021-2021, raoxianhong +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are met: +** +** * Redistributions of source code must retain the above copyright notice, +** this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright notice, +** this list of conditions and the following disclaimer in the documentation +** and/or other materials provided with the distribution. +** * The name of the author may be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +** THE POSSIBILITY OF SUCH DAMAGE. +*/ +/* riscv_core_v4.v */ + +`define RISCVSTATE_STARTUP 0 +`define RISCVSTATE_EXEC_INST 1 +`define RISCVSTATE_WAIT_LD 2 +`define RISCVSTATE_WAIT_ST 3 +`define RISCVSTATE_WAIT_DIV 4 + +`define RAMSIZE 4096 + +(* + HDL4SE="LCOM", + CLSID="638E8BC3-B0E0-41DC-9EDD-D35A39FD8051", + softmodule="hdl4se" +*) +module riscv_core( + input wClk, nwReset, + output wWrite, + output [31:0] bWriteAddr, + output [31:0] bWriteData, + output [3:0] bWriteMask, + output reg wRead, + output reg [31:0] bReadAddr, + input [31:0] bReadData + ); + + reg [31:0] pc; + + reg [31:0] x1; + reg [31:0] x2; + reg [31:0] x3; + reg [31:0] x4; + reg [31:0] x5; + reg [31:0] x6; + reg [31:0] x7; + reg [31:0] x8; + reg [31:0] x9; + reg [31:0] x10; + reg [31:0] x11; + reg [31:0] x12; + reg [31:0] x13; + reg [31:0] x14; + reg [31:0] x15; + reg [31:0] x16; + reg [31:0] x17; + reg [31:0] x18; + reg [31:0] x19; + reg [31:0] x20; + reg [31:0] x21; + reg [31:0] x22; + reg [31:0] x23; + reg [31:0] x24; + reg [31:0] x25; + reg [31:0] x26; + reg [31:0] x27; + reg [31:0] x28; + reg [31:0] x29; + reg [31:0] x30; + reg [31:0] x31; + + reg [3:0] state; + + reg [31:0] imm; + reg [4:0] dstreg; + reg [31:0] dstvalue; + reg [4:0] divclk; + + reg write; + reg [31:0] writeaddr; + reg [31:0] writedata; + reg [3:0] writemask; + + + assign wWrite = write; + assign bWriteAddr = writeaddr; + assign bWriteData = writedata; + assign bWriteMask = writemask; + + reg [31:0] cur_instr; + always @(posedge wClk) + if (state == `RISCVSTATE_EXEC_INST) + cur_instr <= bReadData; + + wire [31:0] instr = bReadData; + wire [4:0] rs1_no = instr[19:15]; + wire [4:0] rs2_no = instr[24:20]; + wire [4:0] opcode = instr[6:2]; + wire [4:0] rd = instr[11:7]; + wire [2:0] func3 = instr[14:12]; + wire [4:0] rd_r = cur_instr[11:7]; + wire [2:0] func3_r = cur_instr[14:12]; + reg cond; + reg [31:0] rs1; + reg [31:0] rs2; + wire signed [31:0] rs1_s = rs1; + wire signed [31:0] rs2_s = rs2; + wire signed [31:0] imm_s = imm; + wire [31:0] add_result; + wire [31:0] sub_result; + wire [63:0] mul_result; + wire [63:0] muls_result; + wire [71:0] mulsu_result; + wire [31:0] div_result_r, mod_result_r, divs_result_r, mods_result_r; + wire [31:0] div_result, mod_result, divs_result, mods_result; + + adder add(rs1, rs2, add_result); + suber sub(rs1, rs2, sub_result); + mult mul(rs1, rs2, mul_result); + mult_s mul_s(rs1, rs2, muls_result); + mulsu mul_su(rs1, {8'b0, rs2}, mulsu_result); + div div(wClk, rs2, rs1, div_result_r, mod_result_r); + div_s divs(wClk, rs2, rs1, divs_result_r, mods_result_r); + + assign div_result = div_result_r; + assign divs_result = divs_result_r; + assign mod_result = mod_result_r; + assign mods_result = mods_result_r; + + always @(rs1_no or x31 or + x1 or x2 or x3 or x4 or x5 or x6 or x7 or x8 or x9 or x10 or + x11 or x12 or x13 or x14 or x15 or x16 or x17 or x18 or x19 or x20 or + x21 or x22 or x23 or x24 or x25 or x26 or x27 or x28 or x29 or x30 + ) + case (rs1_no) + 5'd0: rs1 = 0; + 5'd1: rs1 = x1; + 5'd2: rs1 = x2; + 5'd3: rs1 = x3; + 5'd4: rs1 = x4; + 5'd5: rs1 = x5; + 5'd6: rs1 = x6; + 5'd7: rs1 = x7; + 5'd8: rs1 = x8; + 5'd9: rs1 = x9; + 5'd10: rs1 = x10; + 5'd11: rs1 = x11; + 5'd12: rs1 = x12; + 5'd13: rs1 = x13; + 5'd14: rs1 = x14; + 5'd15: rs1 = x15; + 5'd16: rs1 = x16; + 5'd17: rs1 = x17; + 5'd18: rs1 = x18; + 5'd19: rs1 = x19; + 5'd20: rs1 = x20; + 5'd21: rs1 = x21; + 5'd22: rs1 = x22; + 5'd23: rs1 = x23; + 5'd24: rs1 = x24; + 5'd25: rs1 = x25; + 5'd26: rs1 = x26; + 5'd27: rs1 = x27; + 5'd28: rs1 = x28; + 5'd29: rs1 = x29; + 5'd30: rs1 = x30; + 5'd31: rs1 = x31; + endcase + + always @(rs2_no or x31 or + x1 or x2 or x3 or x4 or x5 or x6 or x7 or x8 or x9 or x10 or + x11 or x12 or x13 or x14 or x15 or x16 or x17 or x18 or x19 or x20 or + x21 or x22 or x23 or x24 or x25 or x26 or x27 or x28 or x29 or x30 + ) + case (rs2_no) + 5'd0: rs2 = 0; + 5'd1: rs2 = x1; + 5'd2: rs2 = x2; + 5'd3: rs2 = x3; + 5'd4: rs2 = x4; + 5'd5: rs2 = x5; + 5'd6: rs2 = x6; + 5'd7: rs2 = x7; + 5'd8: rs2 = x8; + 5'd9: rs2 = x9; + 5'd10: rs2 = x10; + 5'd11: rs2 = x11; + 5'd12: rs2 = x12; + 5'd13: rs2 = x13; + 5'd14: rs2 = x14; + 5'd15: rs2 = x15; + 5'd16: rs2 = x16; + 5'd17: rs2 = x17; + 5'd18: rs2 = x18; + 5'd19: rs2 = x19; + 5'd20: rs2 = x20; + 5'd21: rs2 = x21; + 5'd22: rs2 = x22; + 5'd23: rs2 = x23; + 5'd24: rs2 = x24; + 5'd25: rs2 = x25; + 5'd26: rs2 = x26; + 5'd27: rs2 = x27; + 5'd28: rs2 = x28; + 5'd29: rs2 = x29; + 5'd30: rs2 = x30; + 5'd31: rs2 = x31; + endcase + + always@(posedge wClk) + if (~nwReset) begin + x1 <= 32'h0000008c; + x2 <= `RAMSIZE * 4 - 16; + end + else + case (dstreg) + 5'd0: ;//0 <= dstvalue; + 5'd1: x1 <= dstvalue; + 5'd2: x2 <= dstvalue; + 5'd3: x3 <= dstvalue; + 5'd4: x4 <= dstvalue; + 5'd5: x5 <= dstvalue; + 5'd6: x6 <= dstvalue; + 5'd7: x7 <= dstvalue; + 5'd8: x8 <= dstvalue; + 5'd9: x9 <= dstvalue; + 5'd10: x10 <= dstvalue; + 5'd11: x11 <= dstvalue; + 5'd12: x12 <= dstvalue; + 5'd13: x13 <= dstvalue; + 5'd14: x14 <= dstvalue; + 5'd15: x15 <= dstvalue; + 5'd16: x16 <= dstvalue; + 5'd17: x17 <= dstvalue; + 5'd18: x18 <= dstvalue; + 5'd19: x19 <= dstvalue; + 5'd20: x20 <= dstvalue; + 5'd21: x21 <= dstvalue; + 5'd22: x22 <= dstvalue; + 5'd23: x23 <= dstvalue; + 5'd24: x24 <= dstvalue; + 5'd25: x25 <= dstvalue; + 5'd26: x26 <= dstvalue; + 5'd27: x27 <= dstvalue; + 5'd28: x28 <= dstvalue; + 5'd29: x29 <= dstvalue; + 5'd30: x30 <= dstvalue; + 5'd31: x31 <= dstvalue; + endcase + + /* cond */ + always @(rs1 or rs2 or rs1_s or rs2_s or func3) + case(func3) + 0:/*beq*/ cond = rs1 == rs2; + 1:/*bne*/ cond = rs1 != rs2; + 4:/*blt*/ cond = rs1_s < rs2_s; + 5:/*bge*/ cond = rs1_s >= rs2_s; + 6:/*bltu*/cond = rs1 < rs2; + 7:/*bgeu*/cond = rs1 >= rs2; + default: cond = 1'b0; + endcase + + always @(instr) + case (instr[6:2]) + 5'h0d: imm = {instr[31:12], 12'b0}; + 5'h05: imm = {instr[31:12], 12'b0}; + 5'h1b: imm = {{12{instr[31]}}, instr[19:12], instr[20], instr[30:21], 1'b0}; + 5'h19: imm = {{20{instr[31]}}, instr[31:20]}; + 5'h18: imm = {{20{instr[31]}}, instr[7], instr[30:25], instr[11:8], 1'b0}; + 5'h00: imm = {{20{instr[31]}}, instr[31:20]}; + 5'h08: imm = {{20{instr[31]}}, instr[31:25], instr[11:7]}; + 5'h04: imm = {{20{instr[31]}}, instr[31:20]}; + default: imm = 0; + endcase + + + /* state */ + always @(posedge wClk) + if (!nwReset) begin + state <= `RISCVSTATE_STARTUP; + end else begin + case (state) + `RISCVSTATE_STARTUP: state <= `RISCVSTATE_EXEC_INST; + `RISCVSTATE_EXEC_INST: begin + if (opcode == 5'h00) + state <= `RISCVSTATE_WAIT_LD; + else if (opcode == 5'h08) + state <= `RISCVSTATE_WAIT_ST; + else if (opcode == 5'h0c && instr[25] && func3[2] && (rs2 != 0)) begin + state <= `RISCVSTATE_WAIT_DIV; + divclk <= 11; + end + end + `RISCVSTATE_WAIT_LD: state <= `RISCVSTATE_EXEC_INST; + `RISCVSTATE_WAIT_ST: state <= `RISCVSTATE_EXEC_INST; + `RISCVSTATE_WAIT_DIV: begin + if (divclk == 0) + state <= `RISCVSTATE_EXEC_INST; + else + divclk <= divclk - 1; + end + endcase + end + + reg [31:0] newpc; + always @(state or pc or rs1 or imm or cond or opcode) + if (state == `RISCVSTATE_EXEC_INST) begin + case (opcode) + 5'h1b: newpc = pc + imm; + 5'h19: newpc = rs1 + imm; + 5'h18: newpc = cond ? pc + imm : pc + 4; + default: newpc = pc + 4; + endcase + end else begin + newpc = pc; + end + + /* pc */ + always @(posedge wClk) + if (!nwReset) begin + pc <= 32'h00000074; + end else begin + pc <= newpc; + end + + /* read and readaddr */ + always @(state or pc or opcode or imm or rs1 or nwReset) + if (~nwReset) begin + wRead = 0; + bReadAddr = 0; + end else begin + wRead = 1; + bReadAddr = newpc; + if (state == `RISCVSTATE_EXEC_INST) begin + if (opcode == 5'h00) begin /*LOAD*/ + wRead = 1; + bReadAddr = rs1 + imm; + end else if (opcode == 5'h08) begin /*STORE*/ + wRead = 0; + bReadAddr = 0; + end + end + end + + wire [31:0] newwriteaddr = rs1 + imm; + + /* write */ + always @(nwReset or state or opcode or newwriteaddr or rs1 or imm or rs2) + begin + write = 0; + writeaddr = 0; + writemask = 0; + writedata = 0; + if (nwReset && (state == `RISCVSTATE_EXEC_INST) && (opcode == 5'h08)) begin + /* riscv支持地址不对齐访问,但是假定写在一个32位字中 */ + writeaddr = newwriteaddr; + writemask = 4'h0; + writedata = rs2; + write = 1'b1; + case (func3) + 0:/*sb*/ begin + case (newwriteaddr[1:0]) + 0: begin + writemask = 4'he; + writedata = rs2; + end + 1: begin + writemask = 4'hd; + writedata = {rs2[23:0], 8'h0}; + end + 2: begin + writemask = 4'hb; + writedata = {rs2[15:0], 16'h0}; + end + 3: begin + writemask = 4'h7; + writedata = {rs2[7:0], 24'h0}; + end + endcase + end + 1:/*sh*/ begin + case (newwriteaddr[1:0]) + 0: begin + writemask = 4'hc; + writedata = rs2; + end + 1: begin + writemask = 4'h9; + writedata = {rs2[23:0], 8'h0}; + end + 2: begin + writemask = 4'h3; + writedata = {rs2[15:0], 16'h0}; + end + endcase + end + endcase + end + end + + reg [31:0] ldaddr; + + always @(posedge wClk) + if (state == `RISCVSTATE_EXEC_INST) begin + ldaddr <= rs1 + imm; + end + + always @(state or ldaddr or func3_r or rd_r or bReadData or divclk or imm or pc or rs1 or rs2 or instr) begin + dstvalue = 0; + dstreg = 0; + case (state) + `RISCVSTATE_WAIT_LD: begin + dstreg = rd_r; + case (func3_r) + 0: begin + case (ldaddr[1:0]) + 0: dstvalue = {{24{bReadData[7]}}, bReadData[7:0]}; + 1: dstvalue = {{24{bReadData[15]}}, bReadData[15:8]}; + 2: dstvalue = {{24{bReadData[23]}}, bReadData[23:16]}; + 3: dstvalue = {{24{bReadData[31]}}, bReadData[31:24]}; + endcase + end + 1: begin + case (ldaddr[1:0]) + 0: dstvalue = {{16{bReadData[15]}}, bReadData[15:0]}; + 1: dstvalue = {{16{bReadData[23]}}, bReadData[23:8]}; + 2: dstvalue = {{16{bReadData[31]}}, bReadData[31:16]}; + 3: dstvalue = 32'hdeadbeef; + endcase + end + 2: dstvalue = bReadData; + 4: begin + case (ldaddr[1:0]) + 0: dstvalue = {24'b0, bReadData[7:0]}; + 1: dstvalue = {24'b0, bReadData[15:8]}; + 2: dstvalue = {24'b0, bReadData[23:16]}; + 3: dstvalue = {24'b0, bReadData[31:24]}; + endcase + end + 5: begin + case (ldaddr[1:0]) + 0: dstvalue = {16'b0, bReadData[15:0]}; + 1: dstvalue = {16'b0, bReadData[23:8]}; + 2: dstvalue = {16'b0, bReadData[31:16]}; + 3: dstvalue = 32'hdeadbeef; + endcase + end + endcase + end + `RISCVSTATE_WAIT_DIV: if (divclk == 0) begin + case (func3_r[1:0]) + 0: begin //div + dstreg = rd_r; + dstvalue = divs_result; + end + 1: begin //divu + dstreg = rd_r; + dstvalue = div_result; + end + 2: begin//rem + dstreg = rd_r; + dstvalue = mods_result; + end + 3: begin //remu + dstreg = rd_r; + dstvalue = mod_result; + end + endcase + end + `RISCVSTATE_EXEC_INST: begin + dstreg = rd; + case (opcode) + 5'h0d: begin + dstvalue = imm; + end + 5'h05: begin + dstvalue = imm + pc; + end + 5'h1b: begin + dstvalue = pc + 4; + end + 5'h19: begin + dstvalue = pc + 4; + end + 5'h04: begin /* alui */ + case (func3) + 0:/*addi*/ dstvalue = rs1 + imm; + 1:/*slli*/ dstvalue = rs1 << imm[4:0]; + 2:/*slti*/ dstvalue = (rs1_s < imm_s) ? 1 : 0; + 3:/*sltiu*/dstvalue = (rs1 < imm) ? 1 : 0; + 4:/*xori*/ dstvalue = rs1 ^ imm; + 5:/*srli/srai*/ + dstvalue = instr[30] ? (rs1_s >> imm[4:0]) : (rs1 >> imm[4:0]); + 6:/*ori*/ dstvalue = rs1 | imm; + 7:/*andi*/ dstvalue = rs1 & imm; + default: begin dstreg = 0; dstvalue=0; end + endcase + end + 5'h0c: begin /*alu*/ + if (instr[25]) begin /* is MUL/DIV instr*/ + case (func3) + 0: begin //mul + dstvalue = muls_result[31:0]; + end + 1: begin //mulh + dstvalue = muls_result[63:32]; + end + 2: begin //mulhsu + dstvalue = mulsu_result[63:32]; + end + 3: begin //mulhu + dstvalue = mul_result[63:32]; + end + + 4: begin //div + if (rs2 == 0) begin + dstvalue = 32'hffffffff; + end else begin + dstreg = 0; + dstvalue = 0; + end + end + 5: begin //divu + if (rs2 == 0) begin + dstvalue = 32'hffffffff; + end else begin + dstreg = 0; + dstvalue = 0; + end + end + 6: begin//rem + if (rs2 == 0) begin + dstvalue = rs1; + end else begin + dstreg = 0; + dstvalue = 0; + end + end + 7: begin //remu + if (rs2 == 0) begin + dstvalue = rs1; + end else begin + dstreg = 0; + dstvalue = 0; + end + end + endcase + end else begin + case (func3) + 0: begin + if (instr[30]) + dstvalue = sub_result; + else + dstvalue = add_result; + end + 1: begin //sll + dstvalue = rs1 << rs2[4:0]; + end + 2: begin //slt + dstvalue = (rs1_s < rs2_s) ? 1 : 0; + end + 3: begin //sltu + dstvalue = (rs1 < rs2) ? 1 : 0; + end + 4: begin //xor + dstvalue = rs1 ^ rs2; + end + 5: begin //srl/sra + if (instr[30]) + dstvalue = rs1 >> rs2[4:0]; + else + dstvalue = rs1_s >> rs2[4:0]; + end + 6: begin //or + dstvalue = rs1 | rs2; + end + 7: begin //and + dstvalue = rs1 & rs2; + end + endcase + end + end + default: begin + dstreg = 0; + dstvalue = 0; + end + endcase + end + endcase + end + +endmodule \ No newline at end of file diff --git a/examples/hdl4se_riscv/verilog/riscv_sim_dump_v4.v b/examples/hdl4se_riscv/verilog/riscv_sim_dump_v4.v index 606ba9f..5876e99 100644 --- a/examples/hdl4se_riscv/verilog/riscv_sim_dump_v4.v +++ b/examples/hdl4se_riscv/verilog/riscv_sim_dump_v4.v @@ -14,18 +14,25 @@ module riscv_core output [32'h3:32'h0] bWriteMask, output reg wRead, output reg [32'h1f:32'h0] bReadAddr, - input [32'h1f:32'h0] bReadData + input [32'h1f:32'h0] bReadData, + output reg [32'h4:32'h0] regno, + output reg [32'h3:32'h0] regena, + output reg [32'h1f:32'h0] regwrdata, + output reg regwren, + input [32'h1f:32'h0] regrddata, + output reg [32'h4:32'h0] regno2, + output reg [32'h3:32'h0] regena2, + output reg [32'h1f:32'h0] regwrdata2, + output reg regwren2, + input [32'h1f:32'h0] regrddata2 ) ; - wire [32'h1f:32'h0] instr; - wire [32'h4:32'h0] rs1_no; - wire [32'h4:32'h0] rs2_no; wire [32'h4:32'h0] opcode; wire [32'h4:32'h0] rd; wire [32'h2:32'h0] func3; - wire [32'h4:32'h0] rd_r; - wire [32'h2:32'h0] func3_r; + wire [32'h1f:32'h0] rs1; + wire [32'h1f:32'h0] rs2; wire [32'h1f:32'h0] rs1_s; wire [32'h1f:32'h0] rs2_s; wire [32'h1f:32'h0] imm_s; @@ -51,14 +58,11 @@ module riscv_core assign divs_result = divs_result_r; assign mod_result = mod_result_r; assign mods_result = mods_result_r; - assign instr = bReadData; - assign rs1_no = instr [19:15] ; - assign rs2_no = instr [24:20] ; assign opcode = instr [6:2] ; assign rd = instr [11:7] ; assign func3 = instr [14:12] ; - assign rd_r = cur_instr [11:7] ; - assign func3_r = cur_instr [14:12] ; + assign rs1 = regrddata; + assign rs2 = regrddata2; assign rs1_s = rs1; assign rs2_s = rs2; assign imm_s = imm; @@ -70,123 +74,6 @@ module riscv_core mulsu mul_su( rs1, {0,rs2}, mulsu_result ); div div( wClk, rs2, rs1, div_result_r, mod_result_r ); div_s divs( wClk, rs2, rs1, divs_result_r, mods_result_r ); - always @(posedge wClk) - if ((state==1)) - cur_instr <= bReadData; - always @* - case (rs1_no) - 5'd0: rs1 = 0; - 5'd1: rs1 = x1; - 5'd2: rs1 = x2; - 5'd3: rs1 = x3; - 5'd4: rs1 = x4; - 5'd5: rs1 = x5; - 5'd6: rs1 = x6; - 5'd7: rs1 = x7; - 5'd8: rs1 = x8; - 5'd9: rs1 = x9; - 5'd10: rs1 = x10; - 5'd11: rs1 = x11; - 5'd12: rs1 = x12; - 5'd13: rs1 = x13; - 5'd14: rs1 = x14; - 5'd15: rs1 = x15; - 5'd16: rs1 = x16; - 5'd17: rs1 = x17; - 5'd18: rs1 = x18; - 5'd19: rs1 = x19; - 5'd20: rs1 = x20; - 5'd21: rs1 = x21; - 5'd22: rs1 = x22; - 5'd23: rs1 = x23; - 5'd24: rs1 = x24; - 5'd25: rs1 = x25; - 5'd26: rs1 = x26; - 5'd27: rs1 = x27; - 5'd28: rs1 = x28; - 5'd29: rs1 = x29; - 5'd30: rs1 = x30; - 5'd31: rs1 = x31; - endcase - - always @* - case (rs2_no) - 5'd0: rs2 = 0; - 5'd1: rs2 = x1; - 5'd2: rs2 = x2; - 5'd3: rs2 = x3; - 5'd4: rs2 = x4; - 5'd5: rs2 = x5; - 5'd6: rs2 = x6; - 5'd7: rs2 = x7; - 5'd8: rs2 = x8; - 5'd9: rs2 = x9; - 5'd10: rs2 = x10; - 5'd11: rs2 = x11; - 5'd12: rs2 = x12; - 5'd13: rs2 = x13; - 5'd14: rs2 = x14; - 5'd15: rs2 = x15; - 5'd16: rs2 = x16; - 5'd17: rs2 = x17; - 5'd18: rs2 = x18; - 5'd19: rs2 = x19; - 5'd20: rs2 = x20; - 5'd21: rs2 = x21; - 5'd22: rs2 = x22; - 5'd23: rs2 = x23; - 5'd24: rs2 = x24; - 5'd25: rs2 = x25; - 5'd26: rs2 = x26; - 5'd27: rs2 = x27; - 5'd28: rs2 = x28; - 5'd29: rs2 = x29; - 5'd30: rs2 = x30; - 5'd31: rs2 = x31; - endcase - - always @(posedge wClk) - if ((~(nwReset))) - begin - x1 <= 32'h0000008c; - x2 <= ((4096*4)-16); - end - else - case (dstreg) - 5'd0: - 5'd1: x1 <= dstvalue; - 5'd2: x2 <= dstvalue; - 5'd3: x3 <= dstvalue; - 5'd4: x4 <= dstvalue; - 5'd5: x5 <= dstvalue; - 5'd6: x6 <= dstvalue; - 5'd7: x7 <= dstvalue; - 5'd8: x8 <= dstvalue; - 5'd9: x9 <= dstvalue; - 5'd10: x10 <= dstvalue; - 5'd11: x11 <= dstvalue; - 5'd12: x12 <= dstvalue; - 5'd13: x13 <= dstvalue; - 5'd14: x14 <= dstvalue; - 5'd15: x15 <= dstvalue; - 5'd16: x16 <= dstvalue; - 5'd17: x17 <= dstvalue; - 5'd18: x18 <= dstvalue; - 5'd19: x19 <= dstvalue; - 5'd20: x20 <= dstvalue; - 5'd21: x21 <= dstvalue; - 5'd22: x22 <= dstvalue; - 5'd23: x23 <= dstvalue; - 5'd24: x24 <= dstvalue; - 5'd25: x25 <= dstvalue; - 5'd26: x26 <= dstvalue; - 5'd27: x27 <= dstvalue; - 5'd28: x28 <= dstvalue; - 5'd29: x29 <= dstvalue; - 5'd30: x30 <= dstvalue; - 5'd31: x31 <= dstvalue; - endcase - always @* case (func3) 0: cond = (rs1==rs2); @@ -198,19 +85,191 @@ module riscv_core default: cond = 1'b0; endcase - always @* - case (instr [6:2] ) - 5'h0d: imm = {instr [31:12] ,12'b0}; - 5'h05: imm = {instr [31:12] ,12'b0}; - 5'h1b: imm = {{12{instr [31] }{,instr [19:12] ,instr [20] ,instr [30:21] ,1'b0}; - 5'h19: imm = {{20{instr [31] }{,instr [31:20] }; - 5'h18: imm = {{20{instr [31] }{,instr [7] ,instr [30:25] ,instr [11:8] ,1'b0}; - 5'h00: imm = {{20{instr [31] }{,instr [31:20] }; - 5'h08: imm = {{20{instr [31] }{,instr [31:25] ,instr [11:7] }; - 5'h04: imm = {{20{instr [31] }{,instr [31:20] }; - default: imm = 0; - endcase - + always @(posedge wClk) + if ((state==6)) + begin + lastaddr <= ldaddr; + if (((func3==1)&&(ldaddr [1:0] ==3))) + begin + lastv <= {24'b0,bReadData [31:24] }; + end + else + if (((func3==2)&&(ldaddr [1:0] !=0))) + begin + if ((ldaddr [1:0] ==1)) + lastv <= {8'b0,bReadData [31:8] }; + else + if ((ldaddr [1:0] ==2)) + lastv <= {16'b0,bReadData [31:16] }; + else + lastv <= {24'b0,bReadData [31:24] }; + end + else + if (((func3==5)&&(ldaddr [1:0] ==3))) + begin + lastv <= {24'b0,bReadData [31:24] }; + end + end + else + if ((state==4)) + begin + lastaddr <= (rs1+imm); + lastv <= rs2; + end + always @(posedge wClk) + if ((!(nwReset))) + begin + pc <= 32'h00000074; + end + else + begin + if ((state==4)) + begin + case (opcode) + 5'h1b: pc <= (pc+imm); + 5'h19: pc <= (rs1+imm); + 5'h18: pc <= ((cond)?((pc+imm)):((pc+4))); + default: pc <= (pc+4); + endcase + + end + end + always @(posedge wClk) + if ((state==3)) + instr <= bReadData; + always @(posedge wClk) + if ((state==4)) + if ((opcode==5'h00)) + readreg <= rd; + always @(posedge wClk) + if ((!(nwReset))) + begin + write <= 0; + end + else + if ((state==4)) + begin + write <= 0; + if ((opcode==5'h08)) + begin + writeaddr <= newwriteaddr; + writemask <= 4'h0; + writedata <= rs2; + write <= 1'b1; + case (func3) + 0: begin + case (newwriteaddr [1:0] ) + 0: begin + writemask <= 4'he; + writedata <= rs2; + end + 1: begin + writemask <= 4'hd; + writedata <= {rs2 [23:0] ,8'h0}; + end + 2: begin + writemask <= 4'hb; + writedata <= {rs2 [15:0] ,16'h0}; + end + 3: begin + writemask <= 4'h7; + writedata <= {rs2 [7:0] ,24'h0}; + end + endcase + + end + 1: begin + case (newwriteaddr [1:0] ) + 0: begin + writemask <= 4'hc; + writedata <= rs2; + end + 1: begin + writemask <= 4'h9; + writedata <= {rs2 [23:0] ,8'h0}; + end + 2: begin + writemask <= 4'h3; + writedata <= {rs2 [15:0] ,16'h0}; + end + 3: begin + writemask <= 4'h7; + writedata <= {rs2 [7:0] ,24'h0}; + end + endcase + + end + 2: begin + case (newwriteaddr [1:0] ) + 0: begin + writemask <= 4'h0; + writedata <= rs2; + end + 1: begin + writemask <= 4'h1; + writedata <= {rs2 [23:0] ,8'h0}; + end + 2: begin + writemask <= 4'h3; + writedata <= {rs2 [15:0] ,16'h0}; + end + 3: begin + writemask <= 4'h7; + writedata <= {rs2 [7:0] ,24'h0}; + end + endcase + + end + endcase + + end + end + else + if ((state==8)) + begin + write <= 0; + writeaddr <= (lastaddr+4); + if ((opcode==5'h08)) + begin + case (func3) + 1: begin + case (lastaddr [1:0] ) + 3: begin + writemask <= 4'he; + writedata <= {24'b0,lastv [31:24] }; + write <= 1; + end + endcase + + end + 2: begin + case (lastaddr [1:0] ) + 1: begin + writemask <= 4'he; + writedata <= {24'b0,lastv [31:24] }; + write <= 1; + end + 2: begin + writemask <= 4'hc; + writedata <= {16'b0,lastv [31:16] }; + write <= 1; + end + 3: begin + writemask <= 4'h8; + writedata <= {8'b0,lastv [31:8] }; + write <= 1; + end + endcase + + end + endcase + + end + end + else + begin + write <= 0; + end always @(posedge wClk) if ((!(nwReset))) begin @@ -220,237 +279,278 @@ module riscv_core begin case (state) 0: state <= 1; - 1: begin + 1: state <= 2; + 2: state <= 3; + 3: state <= 4; + 5: state <= 2; + 4: begin if ((opcode==5'h00)) - state <= 2; + state <= 6; else if ((opcode==5'h08)) - state <= 3; + state <= 8; else if (((((opcode==5'h0c)&&instr [25] )&&func3 [2] )&&(rs2!=0))) begin - state <= 4; + state <= 10; divclk <= 11; end + else + state <= 5; end - 2: state <= 1; - 3: state <= 1; - 4: begin + 6: begin + if (((func3==1)&&(ldaddr [1:0] ==3))) + begin + state <= 7; + end + else + if (((func3==2)&&(ldaddr [1:0] !=0))) + begin + state <= 7; + end + else + if (((func3==5)&&(ldaddr [1:0] ==3))) + begin + state <= 7; + end + else + begin + state <= 5; + end + end + 7: state <= 5; + 8: begin + state <= 2; + if ((opcode==5'h08)) + begin + if (((func3==1)&&((lastaddr&3)==3))) + begin + state <= 9; + end + else + if (((func3==2)&&((lastaddr&3)!=0))) + begin + state <= 9; + end + end + end + 9: state <= 2; + 10: begin if ((divclk==0)) - state <= 1; + state <= 5; else divclk <= (divclk-1); end endcase end - always @* - if ((state==1)) + always @(posedge wClk) + if ((state==3)) begin - case (opcode) - 5'h1b: newpc = (pc+imm); - 5'h19: newpc = (rs1+imm); - 5'h18: newpc = ((cond)?((pc+imm)):((pc+4))); - default: newpc = (pc+4); + case (bReadData [6:2] ) + 5'h0d: imm <= {bReadData [31:12] ,12'b0}; + 5'h05: imm <= {bReadData [31:12] ,12'b0}; + 5'h1b: imm <= {{12{bReadData [31] }{,bReadData [19:12] ,bReadData [20] ,bReadData [30:21] ,1'b0}; + 5'h19: imm <= {{20{bReadData [31] }{,bReadData [31:20] }; + 5'h18: imm <= {{20{bReadData [31] }{,bReadData [7] ,bReadData [30:25] ,bReadData [11:8] ,1'b0}; + 5'h00: imm <= {{20{bReadData [31] }{,bReadData [31:20] }; + 5'h08: imm <= {{20{bReadData [31] }{,bReadData [31:25] ,bReadData [11:7] }; + 5'h04: imm <= {{20{bReadData [31] }{,bReadData [31:20] }; endcase end - else - begin - newpc = pc; + always @* + case (state) + 3: begin + regno = bReadData [19:15] ; + regwren = 0; + regena = 0; + regwrdata = 0; + regno2 = bReadData [24:20] ; + regwren2 = 0; + regena2 = 0; + regwrdata2 = 0; end - always @(posedge wClk) - if ((!(nwReset))) - begin - pc <= 32'h00000074; + 5: begin + regwren = (((dstreg!=0))?(1):(0)); + regno = dstreg; + regena = 4'hf; + regwrdata = dstvalue; + regwren2 = (((dstreg!=0))?(1):(0)); + regno2 = dstreg; + regena2 = 4'hf; + regwrdata2 = dstvalue; end - else - begin - pc <= newpc; + 0: begin + regwren = 1; + regno = 1; + regena = 4'hf; + regwrdata = 32'h8c; + regwren2 = 1; + regno2 = 1; + regena2 = 4'hf; + regwrdata2 = 32'h8c; end - always @* - if ((~(nwReset))) + 1: begin + regwren = 1; + regno = 2; + regena = 4'hf; + regwrdata = ((4096*4)-16); + regwren2 = 1; + regno2 = 2; + regena2 = 4'hf; + regwrdata2 = ((4096*4)-16); + end + default: begin + regwren = 0; + regno = 0; + regena = 0; + regwrdata = 0; + regwren2 = 0; + regno2 = 0; + regena2 = 0; + regwrdata2 = 0; + end + endcase + + always @(posedge wClk) + if ((state==2)) begin - wRead = 0; - bReadAddr = 0; + ldaddr <= pc; end else - begin - wRead = 1; - bReadAddr = newpc; - if ((state==1)) + if ((state==4)) begin if ((opcode==5'h00)) begin - wRead = 1; - bReadAddr = (rs1+imm); + ldaddr <= (rs1+imm); end - else - if ((opcode==5'h08)) - begin - wRead = 0; - bReadAddr = 0; - end end - end - always @* - begin - write = 0; - writeaddr = 0; - writemask = 0; - writedata = 0; - if (((nwReset&&(state==1))&&(opcode==5'h08))) - begin - writeaddr = newwriteaddr; - writemask = 4'h0; - writedata = rs2; - write = 1'b1; - case (func3) - 0: begin - case (newwriteaddr [1:0] ) - 0: begin - writemask = 4'he; - writedata = rs2; - end - 1: begin - writemask = 4'hd; - writedata = {rs2 [23:0] ,8'h0}; - end - 2: begin - writemask = 4'hb; - writedata = {rs2 [15:0] ,16'h0}; - end - 3: begin - writemask = 4'h7; - writedata = {rs2 [7:0] ,24'h0}; - end - endcase - - end - 1: begin - case (newwriteaddr [1:0] ) - 0: begin - writemask = 4'hc; - writedata = rs2; - end - 1: begin - writemask = 4'h9; - writedata = {rs2 [23:0] ,8'h0}; - end - 2: begin - writemask = 4'h3; - writedata = {rs2 [15:0] ,16'h0}; - end - endcase - - end - endcase - - end - end always @(posedge wClk) - if ((state==1)) - begin - ldaddr <= (rs1+imm); - end - always @* - begin - dstvalue = 0; - dstreg = 0; - case (state) - 2: begin - dstreg = rd_r; - case (func3_r) + case (state) + 6: begin + dstreg <= readreg; + case (func3) 0: begin case (ldaddr [1:0] ) - 0: dstvalue = {{24{bReadData [7] }{,bReadData [7:0] }; - 1: dstvalue = {{24{bReadData [15] }{,bReadData [15:8] }; - 2: dstvalue = {{24{bReadData [23] }{,bReadData [23:16] }; - 3: dstvalue = {{24{bReadData [31] }{,bReadData [31:24] }; + 0: dstvalue <= {{24{bReadData [7] }{,bReadData [7:0] }; + 1: dstvalue <= {{24{bReadData [15] }{,bReadData [15:8] }; + 2: dstvalue <= {{24{bReadData [23] }{,bReadData [23:16] }; + 3: dstvalue <= {{24{bReadData [31] }{,bReadData [31:24] }; endcase end 1: begin case (ldaddr [1:0] ) - 0: dstvalue = {{16{bReadData [15] }{,bReadData [15:0] }; - 1: dstvalue = {{16{bReadData [23] }{,bReadData [23:8] }; - 2: dstvalue = {{16{bReadData [31] }{,bReadData [31:16] }; - 3: dstvalue = 32'hdeadbeef; + 0: dstvalue <= {{16{bReadData [15] }{,bReadData [15:0] }; + 1: dstvalue <= {{16{bReadData [23] }{,bReadData [23:8] }; + 2: dstvalue <= {{16{bReadData [31] }{,bReadData [31:16] }; + 3: dstvalue <= 32'hdeadbeef; endcase end - 2: dstvalue = bReadData; + 2: dstvalue <= bReadData; 4: begin case (ldaddr [1:0] ) - 0: dstvalue = {24'b0,bReadData [7:0] }; - 1: dstvalue = {24'b0,bReadData [15:8] }; - 2: dstvalue = {24'b0,bReadData [23:16] }; - 3: dstvalue = {24'b0,bReadData [31:24] }; + 0: dstvalue <= {24'b0,bReadData [7:0] }; + 1: dstvalue <= {24'b0,bReadData [15:8] }; + 2: dstvalue <= {24'b0,bReadData [23:16] }; + 3: dstvalue <= {24'b0,bReadData [31:24] }; endcase end 5: begin case (ldaddr [1:0] ) - 0: dstvalue = {16'b0,bReadData [15:0] }; - 1: dstvalue = {16'b0,bReadData [23:8] }; - 2: dstvalue = {16'b0,bReadData [31:16] }; - 3: dstvalue = 32'hdeadbeef; + 0: dstvalue <= {16'b0,bReadData [15:0] }; + 1: dstvalue <= {16'b0,bReadData [23:8] }; + 2: dstvalue <= {16'b0,bReadData [31:16] }; + 3: dstvalue <= 32'hdeadbeef; endcase end endcase end - 4: if ((divclk==0)) + 7: begin + dstreg <= rd; + if (((func3==1)&&(ldaddr [1:0] ==3))) begin - case (func3_r [1:0] ) + dstvalue <= {{16{bReadData [7] }{,bReadData [7:0] ,lastv [7:0] }; + end + else + if (((func3==2)&&(ldaddr [1:0] !=0))) + begin + if ((ldaddr [1:0] ==1)) + dstvalue <= {bReadData [7:0] ,lastv [23:0] }; + else + if ((ldaddr [1:0] ==2)) + dstvalue <= {bReadData [15:0] ,lastv [15:0] }; + else + if ((ldaddr [1:0] ==3)) + dstvalue <= {bReadData [23:0] ,lastv [7:0] }; + end + else + if (((func3==5)&&(ldaddr [1:0] ==3))) + begin + dstvalue <= {16'b0,bReadData [7:0] ,lastv [7:0] }; + end + else + begin + dstreg <= 0; + dstvalue <= 0; + end + end + 10: if ((divclk==0)) + begin + dstreg <= 0; + case (func3 [1:0] ) 0: begin - dstreg = rd_r; - dstvalue = divs_result; + dstreg <= rd; + dstvalue <= divs_result; end 1: begin - dstreg = rd_r; - dstvalue = div_result; + dstreg <= rd; + dstvalue <= div_result; end 2: begin - dstreg = rd_r; - dstvalue = mods_result; + dstreg <= rd; + dstvalue <= mods_result; end 3: begin - dstreg = rd_r; - dstvalue = mod_result; + dstreg <= rd; + dstvalue <= mod_result; end endcase end - 1: begin - dstreg = rd; + 4: begin + dstreg <= rd; case (opcode) 5'h0d: begin - dstvalue = imm; + dstvalue <= imm; end 5'h05: begin - dstvalue = (imm+pc); + dstvalue <= (imm+pc); end 5'h1b: begin - dstvalue = (pc+4); + dstvalue <= (pc+4); end 5'h19: begin - dstvalue = (pc+4); + dstvalue <= (pc+4); end 5'h04: begin case (func3) - 0: dstvalue = (rs1+imm); - 1: dstvalue = (rs1<>imm [4:0] )):((rs1>>imm [4:0] ))); - 6: dstvalue = (rs1|imm); - 7: dstvalue = (rs1&imm); + 0: dstvalue <= (rs1+imm); + 1: dstvalue <= (rs1<>imm [4:0] )):((rs1>>imm [4:0] ))); + 6: dstvalue <= (rs1|imm); + 7: dstvalue <= (rs1&imm); default: begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end endcase @@ -460,59 +560,59 @@ module riscv_core begin case (func3) 0: begin - dstvalue = muls_result [31:0] ; + dstvalue <= muls_result [31:0] ; end 1: begin - dstvalue = muls_result [63:32] ; + dstvalue <= muls_result [63:32] ; end 2: begin - dstvalue = mulsu_result [63:32] ; + dstvalue <= mulsu_result [63:32] ; end 3: begin - dstvalue = mul_result [63:32] ; + dstvalue <= mul_result [63:32] ; end 4: begin if ((rs2==0)) begin - dstvalue = 32'hffffffff; + dstvalue <= 32'hffffffff; end else begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end end 5: begin if ((rs2==0)) begin - dstvalue = 32'hffffffff; + dstvalue <= 32'hffffffff; end else begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end end 6: begin if ((rs2==0)) begin - dstvalue = rs1; + dstvalue <= rs1; end else begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end end 7: begin if ((rs2==0)) begin - dstvalue = rs1; + dstvalue <= rs1; end else begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end end endcase @@ -523,47 +623,91 @@ module riscv_core case (func3) 0: begin if (instr [30] ) - dstvalue = sub_result; + dstvalue <= sub_result; else - dstvalue = add_result; + dstvalue <= add_result; end 1: begin - dstvalue = (rs1<>rs2 [4:0] ); + dstvalue <= (rs1>>rs2 [4:0] ); else - dstvalue = (rs1_s>>rs2 [4:0] ); + dstvalue <= (rs1_s>>rs2 [4:0] ); end 6: begin - dstvalue = (rs1|rs2); + dstvalue <= (rs1|rs2); end 7: begin - dstvalue = (rs1&rs2); + dstvalue <= (rs1&rs2); end endcase end end default: begin - dstreg = 0; - dstvalue = 0; + dstreg <= 0; + dstvalue <= 0; end endcase end endcase + always @* + begin + wRead = 0; + bReadAddr = 0; + if ((state==2)) + begin + wRead = 1; + bReadAddr = pc; + end + else + if ((state==4)) + begin + if ((opcode==5'h00)) + begin + bReadAddr = (rs1+imm); + wRead = 1; + end + end + else + if ((state==6)) + begin + if (((func3==1)&&((ldaddr&3)==3))) + begin + wRead = 1; + bReadAddr = (ldaddr+4); + end + else + if (((func3==2)&&((ldaddr&3)!=0))) + begin + wRead = 1; + bReadAddr = (ldaddr+4); + end + else + if (((func3==5)&&((ldaddr&3)==3))) + begin + wRead = 1; + bReadAddr = (ldaddr+4); + end + else + begin + wRead = 0; + bReadAddr = 0; + end + end end endmodule @@ -612,6 +756,26 @@ endmodule +(* + HDL4SE = "LCOM", + CLSID = "2E577C6B-2FF1-425E-90B3-947EB523B863", + softmodule = "hdl4se" +*) +module regfile + ( + input [32'h4:32'h0] address, + input [32'h3:32'h0] byteena, + input clock, + input [32'h1f:32'h0] data, + input wren, + output [32'h1f:32'h0] q + ) + ; + +endmodule + + + (* HDL4SE = "LCOM", CLSID = "76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", @@ -653,16 +817,32 @@ module top wire wRead_out; wire [32'h1f:32'h0] bReadAddr_out; wire [32'h1d:32'h0] ramaddr; + wire [32'h4:32'h0] regno; + wire [32'h3:32'h0] regena; + wire [32'h1f:32'h0] regwrdata; + wire regwren; + wire [32'h1f:32'h0] regrddata; + wire [32'h4:32'h0] regno2; + wire [32'h3:32'h0] regena2; + wire [32'h1f:32'h0] regwrdata2; + wire regwren2; + wire [32'h1f:32'h0] regrddata2; assign bReadData = ((((bReadAddr_out&32'hffffff00)==32'hf0000000))?(bReadDataKey):(((((bReadAddr_out&32'hff000000)==32'h0))?(bReadDataRam):(32'hffffffff)))); assign ramaddr = ((wWrite)?(bWriteAddr [31:2] ):(bReadAddr [31:2] )); hdl4se_reg #( 32'h1 ) readcmd( wClk, wRead, wRead_out ); hdl4se_reg #( 32'h20 ) readaddr( wClk, bReadAddr, bReadAddr_out ); + regfile regs( regno, regena, wClk, regwrdata, regwren, regrddata + ); + regfile regs2( regno2, regena2, wClk, regwrdata2, regwren2, regrddata2 + ); ram8kb ram( ramaddr, (~(bWriteMask)), wClk, bWriteData, ((((bWriteAddr&32'hff000000)==32'h0))?(wWrite):(0)), bReadDataRam ); digitled led( wClk, nwReset, wWrite, bWriteAddr, bWriteData, bWriteMask , wRead, bReadAddr, bReadDataKey ); riscv_core core( wClk, nwReset, wWrite, bWriteAddr, bWriteData, bWriteMask - , wRead, bReadAddr, bReadData ); + , wRead, bReadAddr, bReadData, regno, regena + , regwrdata, regwren, regrddata, regno2, regena2 + , regwrdata2, regwren2, regrddata2 ); endmodule module adder not found when declare instance add module suber not found when declare instance sub diff --git a/examples/hdl4se_riscv/verilog/riscv_sim_v4.v b/examples/hdl4se_riscv/verilog/riscv_sim_v4.v index 629465b..b06edf0 100644 --- a/examples/hdl4se_riscv/verilog/riscv_sim_v4.v +++ b/examples/hdl4se_riscv/verilog/riscv_sim_v4.v @@ -63,6 +63,21 @@ module ram8kb ( output [31:0] q); endmodule +(* + HDL4SE="LCOM", + CLSID="2E577C6B-2FF1-425E-90B3-947EB523B863", + softmodule="hdl4se" +*) +module regfile ( + input [4:0] address, + input [3:0] byteena, + input clock, + input [31:0] data, + input wren, + output [31:0] q); +endmodule + + (* HDL4SE="LCOM", CLSID="76FBFD4B-FEAD-45fd-AA27-AFC58AC241C2", @@ -98,8 +113,24 @@ module top(input wClk, nwReset); wire [29:0] ramaddr; assign ramaddr = wWrite?bWriteAddr[31:2]:bReadAddr[31:2]; + wire [4:0] regno; + wire [3:0] regena; + wire [31:0] regwrdata; + wire regwren; + wire [31:0] regrddata; + wire [4:0] regno2; + wire [3:0] regena2; + wire [31:0] regwrdata2; + wire regwren2; + wire [31:0] regrddata2; + + regfile regs(regno, regena, wClk, regwrdata, regwren, regrddata); + regfile regs2(regno2, regena2, wClk, regwrdata2, regwren2, regrddata2); ram8kb ram(ramaddr, ~bWriteMask, wClk, bWriteData, ((bWriteAddr & 32'hff000000) == 0)?wWrite:1'b0, bReadDataRam); digitled led(wClk, nwReset, wWrite, bWriteAddr, bWriteData, bWriteMask, wRead, bReadAddr, bReadDataKey); - riscv_core core(wClk, nwReset, wWrite, bWriteAddr, bWriteData, bWriteMask, wRead, bReadAddr, bReadData); + riscv_core core(wClk, nwReset, wWrite, bWriteAddr, bWriteData, bWriteMask, wRead, bReadAddr, bReadData, + regno, regena, regwrdata, regwren, regrddata, + regno2, regena2, regwrdata2, regwren2, regrddata2 + ); endmodule -- GitLab