From 32d8056f4db98acaa5b1031fc03f3f043ce00491 Mon Sep 17 00:00:00 2001 From: Mouse <937279156@qq.com> Date: Sun, 20 May 2018 17:23:33 +0800 Subject: [PATCH] Update --- requirements.txt | 1 + source/_static/1/hello_world.png | Bin 0 -> 14254 bytes source/_static/1/intellij.png | Bin 0 -> 44917 bytes source/_static/1/maven_project.png | Bin 0 -> 6659 bytes source/conf.py | 3 +++ source/first-steps.md | 41 +++++++++++++++-------------- 6 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 requirements.txt create mode 100644 source/_static/1/hello_world.png create mode 100644 source/_static/1/intellij.png create mode 100644 source/_static/1/maven_project.png diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..52b04f2 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +sphinx_rtd_theme \ No newline at end of file diff --git a/source/_static/1/hello_world.png b/source/_static/1/hello_world.png new file mode 100644 index 0000000000000000000000000000000000000000..7f33aa44629451dfbb32b101bbde9b947cd4d759 GIT binary patch literal 14254 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

@Q5*0*pQ}|;;eEKAR`!PiS zJxA#})X?GJjS%`OA`>S4PZ%rZrEJT$vh?m{m_A)dIIo z5ObTpk;dj5_mLWt+rLY`Y}8z-i=c#8bz7bnkTBjjoU`5zY(Gj&w`y;WsP(-Qt|5MAJfwj*cNV?8IJg8gHvkM zngDkvVMb{|sTwiuV%|-C{4)JDq_dK>_RFrL3GS_ijs1XDtUV*6eAX{i#ss3q<E9n6;Z#;bf|N@(eGHO|S7TeWAlDdVOK7R@W7-*DRtzejQue z=A?(3chcwfo2MR7*Ha1e>t40ic%Hrwgv>fj!yvQ66yIxdqi+{H6G>}Q(sR9?){|M6 zwa;7Ao~zKMNBx$^K&QUfg0Y&fzZZj#5yM5%KdXzU9(r40pD;0>YYMVgPGo1k{%WoG zyRFGt3WG?6%@5P!FG!EnYyFJV3aS*TO;1RXiZwP({RdbFzGMjFNK5>1~>YMC>Be%fWP0FF5@McXPma48AnEX*o%G8Y1tTCym2ZU=p8hU0OSL^MQxRW#Sb*?g0BAh^2T!MdEs3|U(x$oG`>efr z-F0e%p6s>JgF-9U8faC^?=gDnw;s`kGraUvEV14}wso)i{DL*ONHf2TIzjg`FZ=GW zGj{xKVA)y&_=8O~BtJr(8Tuzb1euWwl@>K*#G!5DQH1_&GBT4Ezix)@5$VQ{p6+^g zsEz_|?QzEBD5)TJmN1IGfXq~Uy zX=x`XW%*bXr=C-qOF4uYgu)5SavuZD>LyE8&`eZJt%Ye7bHv+5EFf50g*jJ~}{y(LE^O>*=-blZ)7Tg1Whvz-Fi?P>c}6m6E-$ zCZIL`7mC#1dyPH-*UeeB7VW$iB=Zdn8ItxqS*kjjO%&oJ)C|_C17P5J@)2^Lvau7I zyZ0Qmo%p+*GUOTKzvN#URvj1z$=JeDM90JpCLn~Imd$EFJ!}cK2~PM=>-8ZD z00il}i)kzMd!3c~e4;xciF5{Fr-r3cQVVuS|*&$o(f6C?Q9GQCV9 zesm9qhRG}hF)2syv_5W@LOfLqB{q&`(vD0`E!OSqb#ayC1AB#11fAGOqUKW$6%o#Q za=*N43{#MI;yQZCev5V`_Nn6aHU?aS#w)81YU-_Ck4pzNm4{-9&KiEuHbWb9OTsFt zQikbcFi-l?{6jJ_k07RCh{r1pB7ZJW4y!-6m2Oeha#l=PMD0uFa|(e44oC4nSrBYH zJLg7qWvoHOHP9h!@K>K;{I$u8IlM^vRIbkcVuq{v(60i6oZo&e@%P76BCNcO%lX!6 z{DLRQHVpVg28OrsRq+VhoVFH8IMAfATa=|VV-77es)39Mud(Mc_=JXTWrn1E;j9d2 zKeA2-xcM>sMit=|)pJ6`N(KTyQ0Ho1Dp&VZ#tZz_M}ZDOS~tTOo&Qjq6VI2qGGu!) zI75!$d*Y5~%&D8Q^g9z(2+lh5f8P5%P@Kq~wN+Xwm28z7hoXM|&H*u5r7CEflt);= z#k;79gtwNPM>y%M)=;q)Ylf;jO5tlzIAg!A->ht+Ne3eHuKhm46k*6j;*32j>n$N- z;&3k4r>}|XW!W$>yxrTnM93aT8knBl7>J6ahj2F5LVF4fuYvs?)2Ge|Qf3yg?Arq* zUuTMDT@M|S=6*Sy=WFp7Y+#LfDkf6UR^(>Fe=yg1Fi-9i%##8XvioqwA2V8&TFWQY zBxH=4PW8;%by+#K=y2=xr~MV9XKr7Nlg%$zM!>OCUMT-+jj#AeRjS>z-EuCA+N)9) z<&9rzNl&s|Jjx<%GxvzvxEOM}W^u4wbG|%NbVD4(QY1kDa-s?{>aA+JVbFe5kC9pG z@PVsY2*^Tp+%=YzdH-GVvcQo-*cPQ0K%|Wa#kT$@D(#zCHy&TO-mKxR&vv$A+~TUw zsk+>ih;H6ugtYSgk@_L~S}{tkh{!wQ?_$}z9xlZ_0Ks9c;0#}&;TkL=Du6)CFgZDn z(jcLB3iW*7)HMsMCUfTU&R)V5HUvA)$w1+S*Rq6E!%MaesgZJ3F$PiR^9#GfI?qW8 zRUy1?t|dKUqXJ~ZL}3!;ajU(|`GD#v-Hd2w`9BsVGcuU?vDC+voj?K^lpwI(D|A0$d96GxGz|jlxERC*Zm^ znWbf^se1ongj6JH@*>q;J)F4#ZrDSF_VrgS3f;NfkZo6Xo~RmFQd4sfn!fV!58MP% zyE--h!V~IHcsBkOmE(IdcFnb*yVK_^C3etSrh}ox$WmJFbtJjd!e{$EC-S=U$0~e2vUl#-Edb zAET!V*GJP@#XYw}6Ej+FZxuzE65oCxT#h_(_fd2m<``3;XYe9Yce?`UEwVk`#c<|MMNg_PK^uvEwr zhV2K~=gPRm%E>iVY@b3j2Mz#$Lc8x#o!Bd4J*v!r10dzfjlsY$qGqAY1E#XJ>M$=G zq)KZb3QU=5`xZ17a1{6x$91wh1Czzf1o$#(&9;vsE7|JrgN1r@APb4b)}z=Hn3$pE z%P#u=oe)p<1itwq!O9Lpi2Sb&g$0`h04+9qeSl zt|9JcS-@co6y3Z`D508!14!*@0EI9u3}UI0m)IWQ7z}NQfX}=8SmO}C_Q|=x*pD6b zoV^?wg<-_yawGD<#OSxT^c;U$eV}yM)|;g?EmK~ZJ`gVS4KuyDJ1`O5^LpLc;i5B; z2?i7R5+qw87^s!%Pv!g(K?Rib^(U80g|#_^u|_^7^_5D+n59u|)HTt{^r!0cSo1*u z9Q5P}TV>O+`=UoeXaSo+nST&zQI%Th^kn3fdbGadiXfbDgB@bjY<~WF!TD3q0yy}Z z=6?5b0rv10cO~dMQ1UbMl<~MurAO#S8JrHxG1n%{QBoQr50-1YE&@3Hgf|rH*`$6V z1K_9#+j|=jnisNQvM3`E1Nee8zr2_8f_vpJ0%K+Xl!l?!*njChrQA2$7Hw|*29y*= zL^f+3;grZVf~(ri&`e|o6alfV5hG3lReLgh5NRotIwdb1kz|e$uKW>caq{Km_>d)T zWy~vb)CQ-SIb|hj{pb>;c&Kn#ES<-g9Wa!ca(5`j*dPn?wab3=&x4T#Rc|Fp8{}!A z_Pdz}DA^qv?_@~5I*zDWtWRn49f20TEO4U;+_i`L5bQk!z&lie?R4?xzUls@KO_3q z;;xE0a1<(#Kr}tR8-5W3HQxhVz3IXaGw1YiGi;cjl_&RBbB&&e0B=|Ko%_8s7x^Zz-jV0}yG^iw$#huxt)5{VP{-U!t)NUW(thm&at+g90ps>0k$5QY^R%8}QE~@x7 zNVX@+^fk<^BuA6K)8pbk!ODzFo<<3b{@U6Z?fN|06WR$A%*XI`5e8i`nWX)?@I$2Z z*t)NOtpTmT4dh#>rp*7)A1`ll2*Z%-(HDU+>nj@3xv!}SROtlUYaEzl{|*o==YnB^ z(@B|zXWzJ5r7E`zu7pW1Wty*-$v*75Q95{a$H_*M5KeAEpW)GQ0_%X3VCqRFj5~7H z>VUUxzTxgN0m!{$Dw8{1HYUdB`2WLBk5z_xcTq8+-p=&6;nsYfibJ49rrTtqW7>o^ z`|{t4$YC*T8Xvdf@kJ*-b>jN3Q}EQX3-&*HN!V-l->5JF2YnnrG0f-;*6+hTsDOId ztbn3kngw~aVyIvj&w($%7ub9J#xy*$4^n(b7GG#Ej!&AHE?eLachh2TcgoLW!B;fP zO)!%g$&9}!v*ib?@R=HPVnxFOB?(y6z_6k*@J2y}-Um5m@dG z2e!bg*o6c;ve#gi7y>1=Fr-fJwdYNT1X=Xn5H8>UenYCckTH)1l=eefR-fSoBT3axf*4TfE6Q6QiUm%{ z_X}_|pj?f`iie$!)DqqX zmWj`5Xh7)zB#loUEo?6kwwXaYq~bL#!Kc@XZ7YB^LCVL7nZ zEZRR(6-FN0)U3rtQ*r!qdzF!Fou+DF%5^^5%=atE!K5xU4&~!d85|(s5moFBObq=x z{z!f0|3fGkW7cjL$paViXonKq9L0lh@^(pZ(LqP|GLk1f`x%vS6lH!O@|#?}6~!TN z#gmLfg72PsK8Pr#Q(|Wgn|okUUDu(F2nUnNsSBM#J?@%YHpqS{fq@(TbtIny8S2qe z$d9_PVt;YE%x|OeGr49B%L+`j-{iZbea zcDWpi%1V|U14ec+2^GQqVr~DPW7ub)*C5c+gJF)$qpH#un3&iRj0LGuADEbO`63JR zGc~Ks3^@AdxOT0r#UB0q%f@9gn6pYscRKu(*2E41W0j}#CYhf8hjW?#1vweQ4eG1z zP?!VZf-?O8Kg&~Md-Hgp+r4OwfN=iN1e$6UaA5LX8G(sh+xn&l9R3=c<8L)xQ?7X+ zi$Du2xS;tHnBlu{XxR#8I)<_bn8}BeXQ>J+ zzUT7>;hGs#4`9nuVJW-t!Jw#ig4w&M1muSZFrgBzcM<5H{g;BFtcMxo07q@?cLFew z{~L$`73POEQ!WJ#@9%fgr_&+sKLfO71W3YYOH#3-FF_9hK?xEuNU&nKDJwGL}*uH|50yta7 z|FTUa1#6Q36(RCHKRL13G{HEwOpS#MkO5aZl?m#QQg%4EhX8CTZujFw#A3tvpO5GH zArcsT1Lu#A1ilmu1@`!V-!y{Qa;gIyHi$(?y`?J5Y*_33*thdR)GZ1}q@~%wS^teL zi;ATz-zJs%pIX9hV<>DF?B4}{AwR`T|AJsdz<~($&bmNmj=x$nHZ$N4&=5|(Uxoxr z*@F!-!vMsGtkMD2d%C2*egou&bEh8w$#Q*xv2}9?fMg&nSY?4rrDQwJ^dIa_ngS2; zco7IN_)NE1?v%lB&v_H9vHMRziMB6wi=Fa8Bma*&a5rymx8z|q*aY*tcAG`Zksu48 z@XZN9^FRiitGF@d6>7@EQ2dg_#*{Feqwjq1jn6gqMuBpMq*H!B*)P{JBS>arf1yfn2t`iXksqz&+ zumpLBA$OAFD^{mq%9|+DUNR;H`(tG-UL7w?Lu^S`I0OVH`Uh}Pr1>T383xAs82*xN zv>?TRsmQhrZ+V6%1nalrasun{KbAnj&Sf^4Sts>lJN^8Lmnrcb*UckMFGQ( zk=m7>$-uLm%AL*@D7iI5+o%k!Ci4wGDVRW$OtCow)hnTH!MZWyg?{hcf)l*iE|2oY zPSzU2sS{3!7x2zum=eC2Nc-TW$NE5zJW?XG1YIe}+pV*7{@$CP4?ZbFWgH(w1yKdw zM`_{xWinW>v)T)OAmXmbSgp~+q~05hTmZ}9(9JDVO8x#(7>4GqO4PF@+n?RGdoPVd zTorw6=}^>#Ti+|)VXao^5(qRo7@+j3E&AFT^EcDdEdFzhs$v5oNO0%8(gZ4;y|`QU z@o5Q<(XCp7Yxwse!>>*Q4pK+ek+7brcr%RvhD+`Y+=IN?M0f62X5Mj7l2T82Q26oz zECo{om_&g=p(h;0rFsAa{BDc##o%B|PK5z|d@SIL|3tCo7kJSw#l~HzL01N=g_r;S z@IbiT`QqhhWj+iJ=M5c`OJAu@k>Q_EREvziRbR0vEZd@rwF zY@j7^W}NvcyjD-3iBFQnPHtiSb5^mFY2^R)QE*GCV$TPyAu%*GI5;FeG)OgaKL%!z zc))4YE-aYKk=nQf*tAnP7+M+f{QoOo$cLlByF@SD{CdH`K0v*ZkByCsjg60uuN=KL z_!%Q2whP)qI(Q4^B!TXqzk%+cQjdYTTmS4eLN-vt3Oq%54`wSYoc1+(kVx5Dg9SK_ zy-kZAS#r+H_4G6gwgM#9teq2GmY-vE4bkV;ozA{0YNo*WiswycF#7?k?K>Qz{rr4%xF$;{9$gr4FA z_$>tKzpo0zEv6CXf!iNnKCMa{{p}ZCO_@&jN8}a&F*Sk~ye)s{`iE4o1-QwpfKlN519sP@N;3N>9bGybB)9qJax&ceNvF9mBgR2A>rG;2o21o()+rB?&+_9aBY){k-y70jj9y#ZrQZ;jgMxm`02R_TaK zrZS0P-HfY?!pww41j*Ckvh&3{IUfJz?Z1gYU+0_?kHylH!tc*t*-A~453 z1Qst#Ok6iAuwT#GDwzaV(iPeSY|=_ng?dx>EKTIlMD-{xKjSIJAzyz@>3vg~S!9@1 z4GHC+@mFEKZMf$ALE}B&49RvdYrGxw zZrbwwd?#!9Ecv#EA>*?4TGf8pc2hzR&|hhmwsH6vzM~12IGc@dPO&vh}-p1K*e;j*gSyH^u@`135p$*a5tGmch=gQ4dyI zlb#p%3<_S2_u^hhpgg2@ewH;=jg7EgNE0ApS<&|S`S3U($|#L*oC)Jmyh)yQe16e# zf)9WCltGk%I0>De+1WfwAMFMroY|&q4ZE^Y_77$KSD3zZ%LWZ$_RigtsLM)Kv^Ce8 zuGh=go+;meI?jaKn=7xU_!N@I@nCA~iqG92zaCZ>#0{aZlPoyspA84_#R8DfwvZe! zuM4R4lBH}@V3<&$7wUSQ{UERPF9#G9GCBU$Zn=+Sd}&9?#g>;fEiqV^XQAc_W|G;Z zv~EvCWo*ZM6mN@xrW6S)qAGhRCGCT%>1?JQIr{60tUB;Fh4%6FZ5@h z0a}A7{>J4k0|amk%zPWHXI;^RQ9*)jjhh}`kZ6}JV7bw6$ah5 zd;P1on_C?p`>6sVD&^>9!ePNWG{m`~$&abg)PqxswyU-^mRoaOG#JBAr=Ju4>XKEs z!RqMI1SzTKZEw&1GTEpE%`4wsae%gHLm}YBmU{B_v2#iGV!;*YCv>&>**Im;eJ%}iCtrb@`8}c zdzmF^_L%zt&-AbIBAHnqE#=|&Ac2|J9e;DC`{2nd>Agfug~j&!b?cH(L#-XuEDJB~ zNHN~P>E+Id{jCuhp87P!1Auj{i6f<++JqOSJ!NJU?Vh-`vvqkGADv(_wB7p8-qO$C zSQ#+PG(=GgWR#ur3rVre+Dhp(k=)zc50kGNkrZxABSPd%qSTBig8a4=^HJ-pftYAR@M5MSa0+OG@Tm|* zQF6#lZZ42xa7kf_b2(5WirW2ygR)NomxZ~4r_?9RjY#H6dcy;J{QNr*b2Bgza#>wE zXyp6ee|~x|K158(XpI4fzVk~QN|ayJWc<>WQGJOk_xJk9%)=A#eNHB-;(rw(d)s(_ z(yB8ap%J=4R9!Y7OJ>yR^mw3%5pb9j-cqVom-oCnksx+%aE?`Ccrvbs<{q&YJgF7G zEs{ikvUVbKOcq?3$0vCR6PZ|nQub(x(xPuh__>ntLmtbrjb66jcv7R=VWNcT&A32!<*wNk8~o7NQ(TOf=o{0vRaNU@ zSxL5bz3GGqy5Rl&oWhp#6>}pF;BzA|qO;{9T7P#XscQw3iMF+`33wSB554IgVk6ef ze_qoUc-!^ViH>vPrGP-dz}FQf1|H1ll0M@Nw$QLb+Yf&$j*#? zXY7O7e$UYRe&7FpuFKV)k2h9)05?J}zc`Z4kNjadC0mMF05*SbT;D8L0$_1^me6pTg1{U2*OP;Z7Z0MIZjc zpE$Zw37iBLO8Lo_-GCln>2Uahj<50sp8fy<@qkVo=#=*kZiuA=|n2WAUjXg86qz3|Atd z*otU;knBvm$cZ|RPgbrk=Yv|6EC}Spz$LN`7*Vo!6LI?JQ#uh}wn>X|0Tw2yn>?o%#Gw9T zUvF^}3wOwioUmgBW}nlTC1L_tF}#SYiMmJ*P84~il3@werC$aDc`|iM(Q??Mkqt8sbrMBYp?$BLNzuWR0cj`eIh{Y3pvwx6# z<4D`l=OjXLux)4g8UqDW&7~)yIw#5J<1*y;6URW;Mfm;kT@b(T#M9XrQk2rokj;aKRXW-R=&0o^;@TWIb}IxMx_`c9DyO`@8Rwhb<+c#_Q`| z#C5ZvA#$USTIR6dWPzayQcH}o3Ia+zfa1|qRGd|+pKwwk=J=eqGF(eTQHaZ!iMo|U z*C~H~(nqB4+@6${F|S$O8(@cu`(!(Yjx9Ad`LrK7Y$BL1SI13r_0Dxr98{kvi==QU zT}KR6oYQ+}chI`U(6Cj5d_p|>Mr?XB1lBYe(2(#v>n8smZL3yixny>&ArgNP^Vn@B z2g&}Ow$6j`GRDwzLMjna2U+h{hswD6(@}lHGwGIc)#@ zGBR^#AE)%<$9~;2g%+tRkJp83dufM*?#$sYKv79`b!H^HD#~HmeWl>oPD)Z}%|}{`qRN6E?3xvq4$#=@1`1(w}E893Ec|r@hdZjs%E4&D)Fz z843@Vu|&EM^p||nhAnSHMTtr4Oa4pfdV?^{d4J)D5j*7hwUD<%MA!{C4KYwR$!{$v zvi9-O9X{o$zQIX7dT98{&Nac1f6uUy(7i8)#-9@eWAN`>TlDLPGC%c!aZ(BE{x@ZrdNsVPq!GOFxTgY-eYbO|M2cz z%^}|q#O+G^gOMIcc4M%A0#=Fo$B6(<-n4Z(KIHx*SJ9&{s|auIlENAeg7pME-g1{H zpWharsSG<h=>!X(OcYATZX;@|Ihe#p>wOnsjFTOg)-ru`%%?ShIDwu_0O*r&>Oa}&-o6`L_-0U(68JHK`Gm1w)^C1TkStxNhx zK2;|Fh)vcUazVu@m4ni?*Qs~P4oE-DS62grI}75QS7Zgr*M&j&{)0LJQ>#12iof|b z3n#U6P2j3`X~G*mirP@k>{*-QOT`Y-8@gjb2Kwuh_`i)6r}U(v_Kjcpg`<7|peA)5 z`KaI$Xq6JssiHZj=ZWE(XJgZy_(qug-`oa?lb+)kxaVexA@viwy*`COO#JYSdId?W;iiY#6g9kNb1a2&#g>O5 zhi=^8pAru!lb0x9yU3#3cdNy(G-RhcoaUg0>NPK?=&_Z1NI9#%vVik;_q_)*&HJdV zasg05j-e4}0NvmD9U`x_Ln`AWW(*QxQb|MSNWFbr(Jwx}ko|^aGJ=S+h`um0-n4!X z?>lE9uZ>|bd|&X?~TNRj>}2{!>4bM}3= z4U*OM3eZyvxJEKLRk$0m-^|{yuX-@u0AdeVgnO|2gIYWh@mTA?rp}qT=yk-K_HPU3 zDm4e_Z>P2r^%OiGoW3$iEZKv0u)qJU%`-E6#Uje4BAI35#xa&wO$@5oC%WAyF|w4Wj#o@q%xR#;`6>AGD zkv?RbnyeY18r#fnpNzPQl<0O%8fKON&=moS*F(Du2YEL^F}D8imShDn42c{zfprcb z-8+zo!>zxi+rt_I0p^@cu?Dvt-_%}$YReiae*NQlYavxlD zq(sMyn+l1%>Z^=R1OOcuDL7@#03R+$2tQ=I%L==-NMi7C9zAoG zpB_sMK$Cx^vHF5oEPOf|L!Y;LV*gh26C46tqkfm=nm8<8T5ey7XsEk_?VhevON(77jXaRSFP0vC+*)8lA@PJI*=;~ z5~nm?J1*rH8A|Tu4c2~5{W%wgk&kzttL=r4C4cQM*c)GuO@SB@!OMqK zCQGMG!I_rd5?4Ps?Kg~iq;CFJ4Ew}$U8!2mJsH=Z&g8`DjDQqN=4Gg*QQo{1$7(64tDn2elZtwOQWe z7&pYD@tDC)nVJWdFn#IiC-&VDHZjgVH! z7I6%5K2gB#K&#GkKrIQ2`7@_v%)T&(G=w}Af}?!}1lOPe7;^OtMD;*xU<;Yh>2YC> ztfJ0Xe;LwBVi^ADEP=^sZE3ky@kE&Rw4y#rLoTPUQ@8q`?pU8jJ*yMM zj!0+YdDrIK+P?W*rRKeh&3$_Om}hNHl7Mv4{nH*EZIk?btJ-&F3XBo9uw)Zi z38$RFpTn%N)uSWp{+Q2=j~P1B&|BYSgR%E!XqF{@);eLcTVu9V!u z9FU2{WCq_9EW<;-KY<>vF`777cjq(X4E#mV>Hx1o0Awqnj;HM7E2HfC{DdZ_fX;W{ z!kBmss`XR&2pT-4D#`En)xDL5^1gt3WBziYCWX=*aF|o1 zs%2CHfoh^WSMt|B>TgZFzQ@t-7ZblGYV8#4>=Kn)KyIeUX2wXx$tX%&8ybw1 zG1;5us-60oZ>v|h5~^I0_P596U7Fcb;%qb*n{e5T{~*WR=zAS4zOu_a2kkm|dBoF> zn)Y2)Q(#@2Pq*>_bt5>=KVlS`$mNSmOuI`a5olC!TIXH9B{Kzt)*U=OQ<$U;R{hd_ z2za4gJ>+NF=!~N?J3K+=j?-n>9XBLzzY@Mk_3>an6WjOaH9zooZBB=C<;zr#xwP{v ziNxeQSyNQu4(Bt z1Kza{Xz@2Zrsn-B?`acav%Y!9rd}^XT(5~@c&QMcUdsBrML3{7RV?L4Pe2foqcJn! z%b%ER1bi@%t|ipc}9dMegyWcSj$n^LM7qkS0OcG+k^ z3wjna#7*@r^Cr(meBFgj($(d9{oa_ZvThF_^3r(_-Qyc?QTUu~lU03(LZ+grc4fNQ z(7eKLE*EB`?T|M~gZ{K5EYn*B2TfSR?dW{EYIR-hE7x?zZ{=P8;uX*~pJJMJLd6L= zi#wQYWQZ{ zB~yG02@F2$s++;OT{n#Df zw(J1yT9b07OX9i%qe^*u>Qa?HpL_T`6~pGxirxUsxB39*U9#R)kc4ht)Hhxoz`a=CsjKNth*IX1Mz4?S=FHJ|P19x8W zf40TS!&ld>KT=h)d0>=pyXy+)+SLJVhuGOHo;rKQSeOUbnWHR?bN$byhW!yN7O*qT z(bqGZzXKfz#RhRGKU$G%h>r^bd=Ym5m%D3~BGGtHojU}zU_#9+5_h_QZ<^!9PhUN! zdtYCLT{NVx_~o$!ZjZYt|l};Xrin2#17L}>iXAuw%$&oaVcMLYn!dL zIv_o<%N6btAbd^?6l40VWjCd{Os8e3-i;eTTipffrbO5ObDr5tLU(He^#nBT zXG=9C-#NmoZbPM)DV!mOsZ?>aT(gwRWl)sPv;9!qD6Vn5_nMLEmGyoR;$7^f0bU)l z>$dVBjF-05H_IL?U@s8)A{&H`h$1z6!qdfyJ|aWzV><>0tXYOeEnm6IMLT@epD+hl zW2;Ca_t-wuGqNua3-T!gau*p_mDbS5{`G$EwXHjLam8;c<|Ch4?%PxU#9nqxVt65} zZtc;ZtrG2Bw=Ne8>trlCYAZ$iRw||rXR#v5>t;jPb!sf`p~#sVk(KKh*?sjo!a{Vu zR`fcDdS=z5j<)-ZAz-H6AJ@(($_+>qPHUxdnq3JQvPs!DIr(kx!P2*G{gTp7Z?*Lx zEBRAKv}32!5T}8n^MmFDq;MnW8^bX1=Ih^@9iyvdpFIC=&+BO$NE=8NycikKnd6bK zZvKzP+pBNj|4-wcfaoYb;(U)r9Jkz|Zj?#m`SVndls(ZL6W@s!-pX_XU4$n5^Vf*; z_fu&nI9{}LvW3_!ftZ&_CEQzGaXnb9F;XTmK>VBg=Y${K{PxYMPCKt`zCd)^XGPpf z*B?A+e79N-9=wTn)-Eix(2Wha6|TSBzJ-4e=TcWbTPnJ zMGb)^!P$LzLZai|7Ka*~3c%4T+7OsT)1I`z-eRlPJM21;8x(KHk(6h0@ztB+6XfE@ zxhhr9g^>O%S@^a$v|?J4O-<@B8C{zY^RP``m6OI5Us(5~U1!RTDq8qIhE+#*JBiW1 zOGt=Pi#^RQYb>CCLb6=0RF_7pQc~9`S6FWXO15hsy;?-cpM=u%zO6dsm9knU_*dUP z5}0;C5%PQvBr6x=MdQFwFg){xCC*7D`MItz4~yB9@>jBepGvtLw2->QDlx|n;DX5%_gW8--_D4i)}G~fmx!J*L| z5{oag?ZBSQb9Rteb0&jx&PD%Bx?vsG1d0w;dF2M#8VIQJH$r!@Il0%d1@CVqyR78$ zs}BGLKr&ZV=P31{gjE{jliQGml`ocy+S+s1-X&aquQs|2q%8(&u-%{D1{t&Hr-X;C z)eiWg80u>xYw@x;yP?ie(>O$IpuIvwZ!`d+12*^Kh1737zglc*y$G$tn>cVSM%H=H(xK?%U;m`Q}uf*h@qaubVSTo$;OwzLaW^%FB$K93$cDJ{iJYRL~|jMX` ze^Pzze;IKl&L`gq6d;{*whmchqZsx#)5JKF$1rh?Gq!_=>-> z_f_Z88@y{jYVz(@=s3=NSDxe2eZP2K)pSi4R~P1Pt*Ur9+#DY}A)u)nFN&aa3_RjA z)?$bWrwGnz7H!wVY-KNTpp#mjy-2QEU1w7z3CaVU-C^yg-3xrd&FmBV#SWB+18Bq0 z6i4Ry0<;Y3PJM{k>LRtt5_XtCK|#`1NdmYx9iv>skEjb(3ecfbDE3uTGp1ja#jAxx zjb)-Y!M%?7u{;%Rr0vf{ zyX(6)OFz{r!24e%CG~f?$**0E4L2WK~)=25DvwrVie*eSUvMpq*(_5LL@o(>cX$tFc1V9@cY&=&Qt^3TYo( zLJ|5=g(g-tr{aOWR9e=o4W_^#(N;Po`iDScpR#cq&MNK8=y38tl+UZ$QSLRT%QHBAXWCh_Gr78V@-9vp>N)BI>U>d^1I~64)gLP!9VgOB@=gN84~Wl#02>8 zcH@`C>25ua*!P9$<`KD~XAz|evy@i*JF)mhAW>ODy7#G<<932@CYz}^*yojc7sA=! zfjXmmAb0GqED_~^-I>*8c!k-NH1$uO#;)gGgXw2_hF!>$pJnRhLnTKRxCa+brpH|1 zw@j+!q3;+K3W(<2fU50&d30cT@roVlgOvo7=UhdebzHoWR9jy9K-#KO;JHSmpgYh1 zEo4IX0t>N1#xb73IT;@AU}^cH&!F6_gebysoxktdJ1R5AAC&xcSA(;$0GQW3o3Tvr9)41`p7?e+#e~kK(CSCin(h0eepwf(yH3jP! zae03Ex^=##)5Q~|;vCw)s3wA4rXY!%qIO8{M-`z?(SNfCL=Ek?7Z?^=*cm9mcwWb@EN;hh7)w~f?sW6Z%=0F@Dat7|+o zp_$!*@OX)Q9WB;mf`<9~K^i^D=0)Q&$+BIJ@zCR8i&SyZI@pM<&J0Tv;X|t{VwflF z;O*wnIR2L422=>WMIt{H(~4TJ#QH?X<7sXjE=7p#z65NF!x}MR3`xfxaiyz$R*L^l@ zn+o2X=a?rV3~2T>kEkm3%Cnm0hXe9?pT3Hvk4B@3GAnYJ>o4F z{LEW~Rpd2Ug+o|!;Dw_>k=HhnbXeE@mu`&|;*^X7*Pp>wPK#iX+XI1a1H=!-ftsDg z{as`aJH9w*9?rnD@c$Iwh+nC(4*y3qza+c^IFZdbcTpuYY$4r;=~QB=dDEHtm=7;% zePjAw1_^%z@Xogj58G5Tdf|nLCu@o!Z8sQcmcozbLOwmnS|-wmYdv5^Y9Hz``DdF$ zd-mli33#(cq|?=O*DQ4F3?FLLo+S)_e) zQf~uvnwV64ZzG*DP(<~+``I?hwVwXbUbRGbF)J|DphV$RLt0(wx6>%ZYVnsG(6OR3 z>isRg;gJw8pck(LoxuL;Q_>xw#(OOZgkl+wY;Hb07ANI2Yl4A{lf@iP}g9 z>DNF<0`OU~7#MxIe7!$_-4q8aNa!tIud!U*OdOGDYFi}gEFryCsq2*~GEk**oTC^% zX|LGmJ?JKppR$@GdgF+#p4j(VA~PLXKW1;vblnR%u8HFa%!!I`GaK>8ttc0wTo;JA zr-f7gM-w=o4j9q+mHA61IUqD;^9{<`RQ}mrkgPN%iajEAqVY6=kFzn0#0w~xkjK~{Rz6LAe$y&i|k!DfV?(Iq%3 zB=~(t_`=fOg12RkH;F(yL$REtR*raR9EGa^ko<^%SAB36n=~bYb;Y6fk{4wKP4Vlb z9!Ivt=RGwbnsg-j#2{gJb{4hDCam{wV`1)x*8kldO*H1!zAnJOFSf!6L0oO@zHG+M zfVN)FPtk-o9<70lZ|PxNA&Cc8kn8*Q_ELAG{gEL%m}t{}*q_V)T|@;MT?rgzu2WooAAaj2QF-g1vMAmda*p(DOnNEl`Q?rS{?Tt7_8vI+Jwxs~t@9vUa zC}stAISS)!0hj33iUMDsXQ9YK{zv*A18r}el;S7+gxRQ4XMdm%`Yz#(#Bee9KYyVL zF2cd^1tiph4>RCv@uU!jx)Vpp2Fo65{a)P{1s)=TYJZgD)lCqAkTF=jo3K+D{4f4J zid?r^tXxR=U!5qYQ(zvL30Z6fnk&aXmsKbE6GdDwyTv!h5Li*s@yPS}o?ruhKs=xu z4NLeRg)*OH?W*qy06~w&3L5sSc3`Au`j8rP@(zf^fNR^Q!osECxEICW@O{XiIc)l>3^~0o!m);?L$xk@ zAq}v7emL}BzQ7@oCas_6_N3LxNLw)BWdZ!Zi<8C<9eAS;i@{xRpsu>t-4}&Wg^e`v zOcM2hUDm?g)CL$Yv(@rVoS18!mv0XHDj-hDHk6x~-8})2690fv`3<_*!x|k%S6n9$ z2$f2upc_v1kwstA$njQVb`4qeft)07D9lXE<*-=l1MM|gZ*+0;)W0Feh(WxU!-Df8 z+$e8&GrMClhU?hwW!9#MOn@jz81#MFI&P_aYR+uMANg~$en{w24yX{v3V2Wg4KV;t z0Rburki|SP>Tt9mX~FeTKeo7gpGOn$V%RaIdiK~A*A50Q06NBGte7oTt$%Kq19iz> z8>DRfzY)!-tNzFfRVRK*!1@jPE?l@y@x$n0`6zG_DIFP%Q{PC$fpFt$G!rmjyRr!t z7}3j1J{wS)C9>2%bd=iMf<6hHOI&F}`me#IGO!1~JK8dUi69E&4#Xbj8O&zE$2DXp zCG`gGh6xN!U(ZE8+Zv_g)5>-gpuqGk6vrUGQuoY0`*D^4ZT^EN_OlD1i<4Z#3A0$4 zF}9U)WxkTOo5V5b?mVawF9M*Hzc-kFAW-M9?)zS7l4Lo%*)_NCV8uhS2wn%`#fIVG z9Q->lkS^_Ck)OZ3@mZcm=vL?6`b3?hLFc8?2Ub}h*ksiFs7h0Yif2x^0Se9Fb%DrU z7J83z6*dSX%sLf^GstYcJ4#Yaq<^2pR%Q;{Jh|%&!-9n8sxji(_-kT?YnZH`T39a- z2lT~tioLjPK>3LqBwsmC^3GC!^IL{hjMk6j`S;Rhq zv>u*tXO(ktZ4cY7q^ul%Q4GrxOdQ-=+hFZwAi(45NHv5?;^`SFHJE+4w#mb&Fr0}t zjuo2I9 z>GI`Go6wnFY3wXe_XSpqNG_9pu{)mGHH`b?u_iBnVf*MVi4+IsP9 z+2op$BvDhxN&nLd3Z|xP2edZ|zy1m-I%(DSod$N`2t1Zk5ST#$*LVi*Xi>K$U9rU$ zUq#RVioka&jU%&QL#PZf(hT|OV=RY+-9;0p)5}^m=G*zd7VLG*@PSY8OAIT-b0`KZJki6pkG=5g>m6x%Z$>7{EH|%6$qp&3SWEB>Ue&($ zD1A2W&wBewh<_HqUGhO6Y`*NC;3-53SqV31G?7$CBE0h_`95o>U@2gkM`=iZ31&m) z+Kebl^JEz`)S?pB zfIk}old|>2<;WvU(9l;YnLEH(6gk*c)^0+FPGH(v20j4H|oESW9ht zhm6dcVt{8=093nnbF&Tp4{Sy=IoDQUVT zGT;o|E#&*TTVh~=lS4y-w{A_ZxHzDF{q!phKpu&}eX)|1WS2~hh0`YfM0K|<`OuBn zTl?d!Z6KI=*=j>;o_ zN@INzp*o{=uu$x!$*}%hEoF~|5vRxPz^JSo6B8>Ir{(|R_u==PDhSfzmiBqojF+IP z1^Gs+{b2~K8NPkJjtrh6#<=hQ=CayT{KWl$v}ZD6Oc@YjHSDeWs1V;l3-8uRF6WrKA5m1Ofu zx1Ks%&Qzo{(L%a}4oo_AMft?>YqnPR#yS6$ z3mJ~L*_U`1Ry=kE`u-y7I>Fb!f~#b2ztWhrByh4)aq-;tzC~kf^wp}aD zvGNLN={T`XLfBJ6^voo2`I>As4kTsbu1eGU@xI%1x+i*su*UBDB| znZ!!zI8|rV!n-)bBEFQJ30wZP8LVKLD@xq6x0{dPRr+dkx+VTP&62|eO&3wBXA5&x zSY&=bd^KOHGtelH+#CEXG;N*+Eh43-qQ8t0$)?xD^nh7k`2uGOY5@`jwiXN1k$${* zS>0nBs&w)%vanEiBpV@D3+5Xx&Y*~?za%hMt~j)R;biAU=lA!k5RtI?*iUnjGrELKt)>au;$dk_bTHE#~;MCT7?O~}kzNUiC;1jb0 zGc#(7k<0H#32Te1O}Ry&r9*v%koWT);O6vd#%-cc4^AuZD{ILx#-W1T+Y+R=aQ(yT zInRs**E?ev7syKw`eMIq;oH7~MNidga)PJ@uJ5zPhxMeLN?+*zNpjvM7CU{D&eE8u z)+{4Hf=0j&#e(!{LkA{yJ|{T>6~Rfaf0qjj>DIr6_2GutW?%vjG&f21U5g*Ce@+(w z#{+ypw#&l2Tul`zZT=8p+~=b`Q%@D>Xf#RJ)s;1N5*LF^I@4M1(N z)!>ZO1JGZ-c$*dC8z8E;Sw>w#h4Du1h<~Jn8|7u9c@77f`0IXpW)q8=Cs{DbuxV9a}lO&PHY3%(Uq77K)zx2N|Hn~L}4AsT+jyqnIxFSS(MQlo4dSqicezKO1k<3lPU% zBVGQUe3(wX>saAfc4;3xZdjSy`a*m}yJvd}CrLd@ul0RnqEuQAe8s&=3Ry_DJ6ojc z9gj8q#QZ>M`=okEr8$5dD%?Q8*1}xTMe70KMT;|-z3CUID)K52DZ!pPTm9Xq7*FH% zvcWBQWE`>QdqNDgbK1QcpS5Y2;%OH0$Jj}P%$GIOXvRzAPPqR{zD5jCe%tb|7dkr? zPTb!s`Ry;wU&>-BU{3HTJd}ZmoYlb%v}!w>-ptA?oIUyYH=2Yvnn0j*$6Oj6fkuDPU{pJ@{+g z-*Z(fzSbV53E+aH)t@`02SL;ecI*8DUFAtm+v&B4@ypcJ%oAc8mHpn@hc2!YEGMXR z!fES}Q!CH^oCX5%Ji50rX-cYrz>p3b*HR+decRD0oHj{WMv-Usqb14vmD${hVvOvOM-kKXv@C za_wK-ih=w0^HdzG+t#Jz=$85gBDouCe%pppZ1Eca~pW? ziPj!|x<410aN8k!*@B=xRUOY7blSN)vRVVIgGobq{w$uH0XdOVCuM(a5 zvuNH|Zu4@|D`Lq3YEp-l4Xafvj_5uN{oLWoH6+))c7D+}*!sfEp@{>Iq&X2ACo zk?UU0ez>*7#d4%MS<+dtjKBerBQQ@BYYr|{1s0KLfd&B@FhqPNY`e=$EkLf z2O?>SVf3t;AMbz0oQ(!WEV5j_9AlCMR1$HEvWN!h+mvz{$f+&^P06-*Uo%z)CRHC? zO4Kio1hsr6=A$`o+`Jihg{~RDSK8)RwL*uL9K2%NFTqLlr-sJKo#kV-fAa%*xTw9R zIysufXSq}w!f@s1?BVVT%^r3^Z2Ch!PF!ywuHVb-wY_JV> zO;r~fmozD;<(&-W3j8@vr#L3kiH7n2)=P_AM?e~AU{yFNVPjRWw@48#@bi1`cMEERl1(hf}p3JJPfvfpAPN>cKfpLQLDdSP>CoHSQE z0?7@zZBP4yw?2=vV;U4k4%g(yy!&j#&R>|#Yv7=vl~nP~>tR>hvfrM}BFcWa-LnAX zE!whmGiUU$xo413CiamK(&too7?ZEVGMc_#U9D!in&*&MiiFP0|Nc(Q{$X_8@Y40c zID^GUL(dv+``WoP(_x3sELv5{TeU%daK$e?FMq#|x)KRlMaU?-;qxb{J^^qo_rf0u z8=VPmP}ZL$_MDTZ7$tBF;ya~yh-ywPP!C|y)XTVYuI}2QH!t$!m*@Wc`6H~XT8kVjLenlAR!@$r548p!lT2IBiy+V4`kc!IAVH^SrY*BlR;SmL_ zq($p42+lbSq|nOqMBPI&UyXOmV_&2rlk~~Je7Bcm(oMt%AbX**h?K^{^}Zu6`NGPM z%Ts^AwxGVSA97|qJS82J6RNM7M1gX(0jfh0eVVv@l$}arS+aqUdk07~JJOcpnt459 zfrJ>~9!i0VZWi%Z^A*nSTrJY5p_Wn)HsDQVdJFu?^J=73wpWU#rW5O?HQ&H(H@}L$ zc+H_vyR>)KZUVKNnMLPKx`>c}kIm>L;r1rEX~cLUW0oK2<^Ohuia zpMP-`I4~Lg<|~9;uKtJoEa};?cmU8}&IU!{IKE!^piBEg$G{+580OXffxAYi8uNg1 zux>gy7B>`lSn+c04~q|)j3l$*lqWS-Yca%`S|%)m5Hb5>bp%Iy)JGsfd~w2>{d6*H z7ky}`?KVY#kgfwaP~mU%hcyl5TClGQw4~$6V!p`A1Go9dK;G`P#IQio_cb)fy<9DX zY{240*a@qPOCawZJ3YP2$JO?=sXC-f%d5vDmO3vWWDuc`+(cybWu5>6HqgJS>D&my zwVmTGe+H9|*g^dMRmlxJGdA%ynj;rLzGXDh`qdC@pM#u)=h@(I#_I(WUBm;d&|)!A z9Z}N|TpLv;325ScsyHc((sFtCopMT*SKPc7G~cwps5pTiLK2v2F)P{DP)09GBgnZ9 zf%whopox$*t?&_J-ySe$*wWY2dwd9N3h#q+5Lq|huSu7@uwY_$1Z*F%0d<{OrKJDf zXsj@i{E=SuJ>TjbutjxGK!hLnp_RbJrM8e-;F*se`(g$D8n`eP${c1c5~a%?3J1=b z9?x65eFtT>K{U|hnG%D8yz>@qKv%*CJF3`Rd99Vyk&eW^WA_a}v#K z!AVdZ7X&R9F4p|EFI}c9!E zi;3IaC~f2ag?~;pfu8{N3T+-YnE)~fSPGR~Sz9@d*{&M)H^e{R7iN#NeaC(v4seXc z@<#>BM@qqxxkG-wSBXQy-Xm&&?@&?oB&gIP+}CvCmq@qJ$ZrddityPuK-`C*?ngH? zzJp5JAXCTZ$R7eT6-pAIxq@k8SIq|=6mq|E1KMXv=^GYL16++(Cr^JMA^wPDwfm+p zM|=|j8x|_WVXtq|-hmd?(f~JY#;4sHW;i~z&Zz)o+hNOFv?yYeAGwtUe|rgh8qgC^ z)~X|c!`$j1!3i77T1ASK5JZg}9twATCqdqTT?CQuIs3**uItOFuA28keT-ss#E;VkG%5qClhZ(raIs zL<6avePN)E3>P92R*%RoyKl{Cyx@@NL9UEwME$cHwaDrB;43n+G1th!$^tPIB?Cr& z1fk{t*a7$kY+?i)=XgICFYQb2g_^zx9<6nv9s&6q_#J$&NuUr1H({9+0IC+?lOB8@ z&{|(H;>y1R>+bu)+;C4P_El3Djx~7H7@)LcDD6Hf+Ra^PuxT~G|A;}hL?-qZK!-yR zIBA#MfS0)dSkX&lK^r6o?HW&lwb$7`|FdroIS(iX5T{!s z3?723>Dn+ygB)GiK$nl6k}7m|6H3oD0VI4N{}Kb0Lk|4P3u81e-Ogrp?m2Y-QnF5%*S3wCtP&g-73rc;7^b7mur#r zhh55fKyCV1gCx=`G>6imsuA?!F)cl>3Cun)-t;wFCXOAF9!mlIk!=&cu8%&Y&6FC? z@5@@Xr*u#cpqGL5u^eRY@8s3DLfv;1bZnYMCrzt$4@7BtJ{n5Vv zeqnzXfEvBT>vhPj_hc01m@PG2D+pNEH1S*m#i%L(-TkBcsXhzVA)Xl!4_Z{=x3OYf z`$ZS$1zP*wW#V89(wLD+M&k;n4%UfB`(`%Q@f1X_^dplT{eR&-v102P z9Z|r8%6??769e9=_EFlRz}H^wks{a^?m+++EzW(};uHo;*i$|xi!8hc|EzUpRny!6-Hs#8S#!YYcw zGLP@udZwrW#PABiWWM8O2$2y0gMi$l1H=-Rv5ol1aIv!M0J#qM-mejS7Q-H0rmHaM z2Ho-Ys+`1desIyQjL22!$2 zZ&zm^7QB#43Exz5;$Pm@kq;AAJV>{jEC^gniS~pFkZ_U z^qCd*>`LZy=LWCB9U8#ErnR%$O^%LN2bAY9#Ao$&&;(G}!Cjsb?6um=Eh|iThHXC40Lz^PxX4%Pq(M2K%2S&OF zwtAF(WcL5L>3EF&@^zs6m&i~1gWQYtX8*B6;E*fxnAXVAp?e*Ed&(^4jXIFoHQ7R8 zX~Vw0M-(dr%$nJk9EJ?IB1usW46^LnH$l8B;(S<&G8KZ^ZL56+-t$oT46-}&@}Mp+ zJ8mmVAL`TR_+y;)mR6b?GS|1m7xf}zpHIvbHi9v%j&?_woq5E5>lBB0yfXdVXE1#g zaZ`$vMJH%f>2+;yTeQi<=bD?4$VlbyyIb?3u<9!H-oENu2(wrgRIO_<@ki9bSrJQ< z-*?yBj8#|e$`*B*fR?ug8ER^a5`3V)=h9hgo^sCNP2G*EK6feT)DQ7#iILHBraGje zE`-s6sK`Mf!7&L}-#;e?ya+)wPUT=h6gJQW@`51ZVG;=)*@ROf&;K85Zy6S4*tLzK zAR#5v(jp}(DJ>vfN_R?^bcZz3AT1zLBHfZB-Q5ff-7$0x1N$C)p7;CSpZnN*esCNN zI&;-p*SXd@&vl=fu*2mb>{_k0=w%Kp|E@74aeNPdv8534RMAhjn+WBr3dD3{M>}ub zW@AK|IPRp(z>iN*nHk?IEzyP%KPyeXU$AD-bi=N+`F!xU-cQtDh#gagv@of%hK2l; zg*hZQ$c%tB60+YduTlQ+xNo=LEs#&_;IeOZMu^g^ZTV ztoJUTrYU8OD#lgmE*84wuo>vBI#J zMEgZx9sACCx709b-a@MH9c+$Rrh%p@6wt`~EA|5={7)N8mJOZ#?pBqs9JXBm76FCg zCu79@7D@k>I3U>j{<{AKK!-~_Ba1RbkZLmWmW%+JoLRSWzM(nb1BnsE>^Q{Rw!m+E zq@v6qs^+?h@N>{GggWUCt-78J;g%mllwujs&&#kRphi;;bcI3x$xiU^jzFRrgMj=! zLtYI!0EGG%AfZ8^2)O%?4g_kuqC*hCfFI_!$%tkQVmtMSt}^~U_MXtQsrNS>sEALu zMZ_c>UO=e|>s}=3INr3Rn^o>dmdC zY|Ul4pG~Iyf0;*1pKjC7m=Wf`1lX5k>XNSs5LT$5o?|7hZ z9zY%fimd~EkwJQ<9X8t&7N5dNWJE@{q~!s2wEM=5^vFp33lM@w@vqXKd-XL=0R=r{bKLmX5UOhScSuOlwN3P*-eEyU8L~}lbIm}50*$!! z;Dghoa>}8kV6Xc^|GCwN4g(G+2tJ3uM=x*|?xIpO&h|l7dlfvfF^qQy;kB_*jMqcq zt}4)(d;n`As@6I!qN_cg(GaS+wPqdNy-iDJ$y7tU#i5* z_PxvvEzX7X(cAK6_*aA#Et+5THj9b@p8GE>mjQqc>nDyZrkY#16t}F(KwL+Sdewg- z@Ve((^3cQgK(duQt_GO%3fvgL&)K3M6Kx}eHFh2t9?bL?x5w9J<;{)F;L#1`D6KJ9 zl%%^J=@MQq(6jy6Ge?6q7_H~`8Nhr=MJ^!a=_`o=M)$bgH-21;v28vk;?KSPe*^fK z+WL3oO+PK53UJ>p6CP^%yfWBaa^ZI_yHHO7O?7u zjF&C`@N(U~XPdD!MLY1?EuaI!gxLF(6pdM7DP8Zw&co+AJw*v9r-^1yW0NEg;h)rf z1TD#q(a9|9)QDYDf^T$1lj<-2oU5)B>xeeY_}QRblq&ch}SBhKq( z?K(B~V1ZNb*OF$fZ+Au6rJTr2o`eU#Lz;f9(Trf90P%b+0p(L3@oDKw1M8Oc+{_>6 z;qaoO>M6&4n7&J2U5gz{8Kq!P-3mLu`{uW*5Uom)=)2J!~pb|1@gFz-1`R;p=<;C`K}OVL{5%}Yu*Q$g@cGpJMI3hgD3A_w>k zY+MMxqaUga?72%e0m{`{bgu3I@a3ix&RpbRdaDpXT>zKxXW8B=)=49MilQUaMBDNF zMe`p4d6Q)gK*6lx;qk#1MBWCI#S9Z(Z*Hv-^dcrDw+f9Km8aaOvy!Z?im768^8bFS_+vU78U^N;A-F;tpJo zzpf5umF!eGjqj7b)}^EqgZTSMs{^=9e4Og~v}xtJx74}z`9-#z!3%-=YrNAevdRD% z|9ZTT_cuVkEM9on=Gbor;adJ>CuzODYXVZ0ylevfOT1-ek{El|o=Rx!$C1*NS>A#1 ztV5f`d$L!hdxD7_YBYJS?9a+1d7dm@dmFz&BksBwcylOhIOmW^O=KzYn(yamQO(x#5mIK>rC|IP%_YdaVqykQiXOIevaG`+rribUkO44}? z&aT=pXIjq_?XGQ=&6eIoHrYV#_roOtS~#CcM9>*C5Mu)QC@=p{v8PWTh!w*KcAK6j z&{-*4xmmwi2^g&VlKRCSK*vSV5>x;0S{wR4}qf+p$`GItzbm%tEgJE1{g zFk0Xoh&(k_()&#B)j?|%X})xg#j^E?dPyxkoz{z|@A@lWO1wRw7_Uuwdz8iVLa7Pm zqM;z$)(QkD3p*|EoTzZ!SlMN>NztG0=jT!MVq5t}Vlm4hmO~9v53GipzSEwPk|Gb) zke0r%Pgl?&p)U4o-lclknx&d0VY!#h_fUq`X#^cmxxF(hw%hi)=IFzDpS%yU?c0yO zMTYi{oo#n+bNLE4#}fL+`S)A+zH85x9R$c1b(HcTBN$vwk9z22**L8zmfq0Mf>F+O zE?K#SrZxrDj+*n6^CfxmBa;u3aYAVNatUkS+Y#%siEl=aRoKR_o1ngvb3AH^xwXX| zZ{kQ#ggk#*U?s%dg{Gg6`#4RcVYMfn+J*Hbo9vl)ks^Pxj$$QcrD)QnN=&Bv72BMq zy5&J)6ER8Per1zaxbmgWja+4qV)QUK9+2DXB3AjI+b2SHpY(LR-}PxD`_XZ~QyW0b zT?!VR?0TpV4FBhzZO6){ifNhlyg7$YoueP|v0AHGzf_nZYsvyU%1%c{oyW7tk4iJ` zukj8{aCZLSXc}iDDp%o^6v|oV zmQL3)o~slny9Q3v9-3c={H;9I*h!$P*Dv7dI^4w@-s?K6v;;}YJ%7FeAArpDMlVsr z`x0j*TtL(gXk)%sBC$`Crc%)E&$+scK-BPfAZPX8lX~%BQUK&$vv_o;ihjg^CZ}Re z|KD*ZclGKVGVc#9VZV$de9ih*qURdt`R(I(&4K9E#rr02ep!JZJ4RA^6h?uN-@P`u zc9GhECx<;DNBdlPRU?Me6=BbE{1gAl=<{l{2pJlliBBKbQ#FUwAPRH8g)f2&SD zsC-o!vBD6N5iN`H)du#Um0{^k46FKHLM9*M!u0F1AR51VBbjAl+!7yWVVQ-N``H+F zT7~`ikZT^q4APDP0Hr`xZKl6MY=7#h_N(O1d{$a8?UG>y*Y(YR3Tpo{Z`5#L3%KMo z3Av0LA+zTTG4d+9QCjk?o-xcPNs8E_{q-2ebg!GVN^)a-B9UYWSw_yKPH*$C#GJ>a zzQTdtc0D?dz7K=UomLg7n>-$R7DGm0Z$miKhNqfw#w9)J*W=(TB)QPy-x0N_0!Tg( zxO&Y%2ajQqSWCsLU%g@pz)(N}*7v*S(Z8Ay8>f#S_r*MrfzMWd`8Rtq99|;c{>Ouf z;5n`7jI$t{tlb+E*6XQ3W64A5+v<{63phF9u9NW&ct}Not|W_$-MR##mND}(jD6hx zEkrkeihN24XSQZj=q!b;h4W42DS*B-f5cYmG#n`e+MQMP0H4bztg~+iWQZrmQ{Fyw zUZh#WmG$S25PpAYv1J!a?<@MaOb=6mMTq2o!6N|e{mTVMkNbl=ZP1UrpS;2AE&%Zv z?Re^obpM9@&uFLT%6e}Y_2zwBPLdBq5Dnz=Z=h^xX_r+;u*P<|_Je0%wWKMoi5|sq zYH|6#6x~x7i9%($BxgJIVX6J*#iUw_QYu|q=we&6mO(@Q?-bAmE8K?Ura$et*z25u z-TSTXdC*_TAi74%(lmUv{k+?zb0dm)c>JCG>=Zg zZaj`;KMSE7 z!)|+)%_^%t3)i1NPIT+ZoiFdR0j+1@HEO(NlRbDzJFU`WiE5*r@B_HQIUULYQG9AP z_*;~;lf*z+4OLm8cb)5&(FV}yX|)<<(pp>;U(ehAva0fCRJ=4h{de3p(z~zJeE!jZ z+I>tG_P%BE{EML$8h8rb*CpSOGH-EVWurNbu1Wd(FGhWP-%nxV0D!srf;lttrc%F0gwDx?m@zWOe)B4(7Oy9pVdgV@4Ls>SPkqg!6%yC=NH zeh&fm7`)yHP2Etjp4Lk`R-4S$dra(Gq z?n8z4UHe<{3rNZcW8~$4MzLA9S4@%BOH;1zAcG;8#KVIFyAUz2Hv}3lJz2&Aa;m_U zLF0#H4J(}4!~ts3l#UuN5nTm87!r#4Tli*C+lm&_O#eI1wUj--{;+n_y=sR|l~dAp zI;aNa4PRx7t!~5j%=aUtO>oEH*qDioz)&~sgo_{O@j&AI4T7uiK#7Vtru~~eu10M3 zhb#|r(biZYTz~qcdlYbfOf(SoSnN;f0xf(kGL^7p6D-qp z>u9X8N?=I94EwF|I#qEXEVT4}C~(nS{hr<`x=WzkDcaPW6}sIMRI~JZ`c7`1qQycc z<;UmFN}@+xY-YT`bcOZ`y9?Pn3^;d$SHPkhjE zTlWx*j=?=CWdZNqpnFfLSg~|~2*TYnR!q+xjOCQ(@6y82)V^Wzr4vI2`CLr~^x#2P z9rlr%pj`DV-9|Pchrccn8@F2EpP?l1(%U8$^C|kxrH@Ob59EoP(M@HXWHrez6eBd* z3SP+Sx?(YbLJ{G^rp25{-1s%I;ri0~)2bhPO}a%GhV*BMXkzS*-W6q6|Hli~QsNx! zbvDto6gnFO_OD{Zkmc3X%4y=_MP3!=UGxmW+)IU6xPYV?=UO2mh4vH1CGGGU?7>Or zy41@zvkTEvGdn{RnrpofzF-oTnSX!0vot)nCmjGvlkop$4YY!!KKsH4e>9OQrm6C= z(PyQ7BcE_y*_e(euU5wtBd-OIr~ZN*p3lAkx6+~w86<$2A_b)2iO}k3uHLDd7|7*O zK_|bss5M_Qz+TDhu5ckmnhL>Bhh}?NF`|<)UR*piNhObA!ZXNpl)zA(ppV zFP4167oWF|$9_wM_u1a8Zb`GJ2Hn4-nZC7Bk^1YLsROkd!kyT+v-ekL%;-mmLLdOf z$vVOkrd_T3g~tZMBQL2S*GWUCO^wIE_0}kwb2(0z=$^?RpAHP_^RFA7tq5rr2vy$$ zZ64@y4f7YcI05hZY)rZSryH|@^o8>`G25P>@{d+m;Tgn!hu;BoexLX;Rap zc!kf$1MgjUBEngn0W$&QMSRgMXTyyE{&|>;Ymu;lfT`9DS`@8Ft?go;pVkZk%>~5& zqEiyl+&KGNrS(Mn(-Wd{l*y}4dy)?fFW?doyJ=D?mka=820#fIQy@ymnG}Qd0s?a0 zz|+5R_GZ@>@FX7dMY*EgjI=fc%~|LH)lV)TnFi1OE{uQQjFcx(d3pDwAs^qH{Tlo$ z8pfLyaM<%TO_#l)ACbb=zsXMZyY48RdA9se47bDqNDY?~munpxHs}6&E)W3NbNT2* zm-gwq6aHI?0CP#bti314relzKH+*I3XZsA@_mgMxs`Umgu&fRMJ;vR0fK(J#FHm(=O9YS| zD$KS@;yXgI2Xqbk3^U$VeQK{T#!n_+VOP{+^voW7>t@XFPZ8srm<32B6gQvWjU)f6 zPo3h{IG>$n>w8t|Yd$V=SEX$#oJx&Rq?cu}i4tqGWE-+3ZgT#acX2Oq!`6)6k` z;Y9W*r2c@I6u#nxBECYnb#?zD?=n7Il$hFTWL*c=V%{EXsk2{M3RG5OSAb4j z2bq)60{-AK21p>~>rS#(C8J7BUnLZ!d`MbRK#5KL@0ul(g3^ z_wD^9IC&8iH$E&}dP{9n#cRf`vM881vSrU(6Zd9%EWj&pETBU57o*{d>tH06GvY<- zDBqg{f7?}@yYzRBCsyU6;27WB#k$3{mL3)X%iTFwe0m;+bAXfLb2J7qB}#6(tAm~H z_)>YU$B)_gFlcUE_Gd1eLWOX(;o?Qz@jhSWy>{56xE-j~AZuTSYpz^({uTUL;bk-V)HX+j8s z29LcJxb)~*=AmGiBh`!fmr6n&Bs6fV`L;Ar{|3E~jjTCZsVV~@+G$LMU115`;j0MN z{SAdGmQ}5tj`8dBz!E3;OW!ARQ|213AnruWrq3=Nth6;;K6L!^ z=AuI{IuD7!BBHD=ra#8bpXtt~nG0FOD(s2js-oR2v+zT&qN`RIIq>;h&Awq`a>@){ z%ysSWqc@T8)HN@r4H6x4nRVVpO^#G7Gj%JA%Z?O%_-MvgL0ofh;ecu^*h6saXkn*-t(=qVk-XiP^5ItBlvk)H!view9m%X@KlPnX{S2=&#!d^%>Igka zBlGlq+D+$t<~4Wq)aZSsoE=zXmd8SUn{!$4Enm>ZrQO6<=uWs|MM!)Zm!Usrnb(1g z7e8%{a&|siPVt=NH#>|V8@;e7?NCdVgJG+A*Fp&;#?FnOUC9H0+-Dgs2b1{UBLB)es*Ni!`Vz3lGo|4g zP;FZF{#dSW297U1+maOto4R+Q9k`C-h9oIe_!2XFuEAc*%T7t3Er9#`<))+aPkl z7?x`{Eq6EXHekm$8Bm-{UPgzq_awdDyxt?^7uo#aS)k4BZ?T{jTG_H+Ss6<64u9@3 ztFZ>!hKP%we6-~XXSJ;t%&KmyzUaGcX`7kG{a*K-gU@o+gdmPjS$^Yxq(~WmqJUE*qaXGT~)BcC9oY`*-ei^SBRE%IWGS zGmi?+D{Dgzk>74gT@j5rB<1g!2zDJmUf*R5v%=`A>S5epNcfI!>j(c}$yL82~o%fJM98_GpuSV~VpOlxyeg4EV zH~UpB7DLvrvUwY^MFJvxBJEQY=!}y%7SH~$%=Da=h$_LUY^mNyJHFKC{*3b{l0)i0 zF9wGbv=gQFJUI$bC=1!K^V|5l;B`72B&&;d$dhh%&6mR->&ALQS` zo|SVB+=fEhw$*s@FjhwUFDmkk<2+T?b=y<5X^MtaD2}tw>YjL!EwFUBfBv|gBa|L! z>+xN?7O)5{C5x>0irIhj(hfStn?&2Is}vb1_ZI#fSN*MLDk%Mv`niH_Vm3nO*$7t? zmr90xZkP8d_Uqqz@z3n}EK?70_Fp&TU0C+LV$D|p?HNg{Kjtvd&XAe~rI-E+vCBx=QvJ1Ff?R9cGcl%>mnU75T;@6+pk_zVXl{cuN6(ZM%&*%k%rwAS^m&G`x zCV$9F5pqLnY^hITSATae>Af@fVqS23`9)I^p#QlTh-(I*m*r`@Y{#5LlUH4hb%vO& zap5<=RIShRC+J1%KA(7MdqY-~V{S~^+XP-n$SekWWX)x|+fF`dAhw|zSO&H?e)SJo zpk>PA3!DL`2pt&Dl_DOf%W*d$=ocmNsfb#p{Ch`{jEz(V>6rs51X=IL)YZseFMdP%&uXd;(m%&X2=G5{>LR({KVA#01~0~*e#7sx zIvE@3NhRgQO}Hih?%zocc&=cEqXL*7>BR-kJtvh&ByDTjA3>dpcs!-3VnJN0ZUrWmA}U6v&~`EbDdPR+n?mUSz)z$6n5 z`{iQh=mZnnX0Js}q)v-wK|f6(Zm7#p)$OwM!B|3s&Ry0DR*f+2_1nh8VSA<7hF5Okf-q}_9Kbv3cE7xkTZ1NQ{1|Jv!ED!4nx0EPy*!3s zqf@fR?;Km-yENe;Sb@LVxK;fK(Z7ONI0(o=%@dfW1!KixD>Zs{pD*h&t29xWt08f? zZnuDsGPkOo{eWALGo>wAXg^ohV>V9g_gWc}7ct-ADLDJ#Y;&w4NtdPJlP=k>s@RgF zNX0M_d}4dH@)DM%=Fh9enUwp}(QLvsfZ-jlCSDMNbaVPZ5(KG)`-c+p9 zRWi56U1@9`)!dJ(9f_ch^lj1SM>TaFR%F`dLqQ|T6B!mZGW(efXl4mEuN6CH>Kxz7 z4-v=MrUe1FfQF#kxFdyzjM$;+elJgO8wvbFGW-~OTb zGR<|r$y~fW$qGLIv#*lJ&136~(a)N!SCx;grd{*|5QVL$cWhCo;2da1gq-)ehq-Vz zkZf_{k5WhGA}{LBI|SW)>uedB9KU~|5-(HK=ASU z?=$Ox6y-_(gA7{I!SS7_JjQHednKR%@GOvl1>+L+Yg2$NJa04>4M^NX&QzYUW*YSJ z+}eMgU#Z=f;A05EOS*nOeb9(_9H7jzR?NcJOvc&f>x3KUmhDA6O`JH4d@0MbCVYRi ziYr0gHHx-S2CjsLUp;>vr+YE%IiR=T$D+_*7>m6MfA1!nuNL>0(i*G}|?* z=deS2UxzXhy**#x6WVpC_DTEgbUBLN!Q&|rTCI_Sxp)eQjPh5Rt!moofojAMjK{`Xq0?ZiWGxy z_$h$G&iLH=!mJuLh<}Tn{J(e>;=A{j67Lv{DvbFRo7@2QcW87ic1-Kn8yK(+W+pGcF3?6B5e-(uLGkI(vJYQ`3@C<@~q@OFjHI(aX;{}S~s3*rSst6%eOhW^(#OgH!l^gifrkeHr4{MSS|JJCd zvuD1>YN^#%NR(62w*2Ecnj$#uFD!!+0W)8w*U8%$&@VLC5e0-dR8Z&IW$*%Gb(Qam zgMg~tQO^l@WF#Ouch69>Q5P%&z-*kA2C$ zh3&TRMOyLH7ONR?Za zK;9NnE!pH5fMjzryLT;1ZNX*uMT$A4Xh>S4PCoMmBXm^MtcMPXd-%7OFdVjiw@W5J zUTDo^g>#29|Kb>dboK>}?8pTOV?0$OD56g{~ z@3lz7+x<=;NFRY$eA)7R(gFvpi6QLrEJs3f_m7z_>0S(YwA`97Xz{gG|BYnwu!f}( z*Y+QT1`Cair7tg{>b3Bz=W&msqy*Q4*J z3)5K|-7G|Q_ON|_`(?69*z+{#xW$JQWYzhAUrekF_GMM<5W4QY~6| zQ<+4XTm-q4`~0R_+^~yR{7=a9!{Tp^LVFtBIcw&7929(z(&zJqBjd52JWYx=84d4K z`Dz925eXqmNG;io8V>YYT>nLe5e7!(lkLQi6qKa|1=H+)10A-hWadAkIVTxt&J{{Q z`Wl`5;F=M=mwxw#!hD&N+zXzW)n+C9bXpLct`P{ayRew|_3Qzk$^O&0tx zl@Hn4rRC3?*aGWb`3|TF+8Z{sj|FhA5i2NuYZ=f2cR_5M%O=OP!ozU3&yT*ViER@a`-?~NX6=tor~ zIqv)^rC(X=PmtN+xR#=>c%)HI;&Mo8$TpT?bk*=2QHwI6 zfZ9R+xjsQVu z*daKxK0gK%=L%;}j`Orce(LC}{z}PF)Z9xAHhZf76(eIa?DHEgu$- z>zj6s##vDuvLOxodYqUK5vE!F26N9#=ncPos*=dac!oGDL_{+2ZUf@8+ow#6y#w}8 zyV7qax7r>OKV-s5@iffGiZ4e)d_?es9W=H-)V_@tvh5@)dd_Pi#+d^w>p=OhcD1h3 zqbtN&_~L86|HkYq*bf*bg~`~72WTCC_kSeZQ=-AKGTPBx1AX2YpXT&`MA zmxYJiYkKOy_3N||=<=L;-$@J5zgWU-hDJM`QJET>C(89K zLD7Tg4kb+ z43m;Qul)9>U4ao%?k-U7}A$zOU!OO*0V>p z3i>aKtzMvi0TNB_3ig$wMb*Q18)88+?yMrZJw3O0*|Eitw^oBap|U1n{p?-cj|9+t z-qB2S1-hOkC!gd{2&@PD8N8dfs%{ltP^&Hd(CTAp%($X$f)s$dr~FE)*BD9$(yTdt zW6TL7NX%;IppSv5KEtB=nDL}>CzXZD``_L1Rk$qFO>oR}l-h}wu0V;2O=_Xv!)4*b zFKLL%+`9Uo)i8+DYKdlM36@rTo_=)`NuOt0gN0m*>vMYs;PtV|dF{kd8;L8?t6T1s zr(Lw%dGg#{Q6z2IkG9X+NvcHJ0ho`qfq?nDNu@J$MiM)Wqa``E2N$^~6Ex{NuVoZ3 zB-q-+$EIDMX)RIu{qEObG!y~a$4G+{3U_`?b&Q9Z-1;E}R?OCsyyIv$?a9%j+L6}f z)TTlPO<;Cd74j;=NLgUVu&yU6YJ&88Jq9h%q-7KHe9DxztVDVllU2FM%BB8US71`= z8KSq7=A(`XHL39ta2pPInM9*e9Y~{nNY>x+VVKzi8UDh%jh4aO*J16B3LG{3v@Y8B zQ;ZE`e&kbVoPkA>2G#e8E7eRC_$9f7%uL&jTYiyoz4-Ns7>JiNkLnAWH=y`3(mD~# zs~Gu4DU$40vyr%i>#PbjjT<>iRcG)`j{P4D!)(cfbml1?4ntS zVbqXDcgN0H+)4pmH(tc8<}f-Vge0|^!#pDA_pwF zlrsg5eZd*focM-=x&81*@z!P!H#6pyh1CBizBOnB5ke z1p5;jG9`khe=S>MRCNosuzK}#{04Twe9R0MW%LKxO8u!7YN^h!vz)c3$|uB5PzF9U z?UQm|nT+aFO)}^kL~Ri0{IHU?A5jkYYEL_e-Ppt+tW3F?GJ?@<@`eo!p9JYXiL;yfKyltOoA zG+c$Z9!!K~fL@K#T;lDMh2K88Nx}d3l`=s z_G|mm1Jn2RcikBra|rjm%&R0#PI|j}2^JpND=y_>^&A;wNz#4j!-_Pjcbsr(ll(m? ziIDuUbWpk@2kVliv(ZN0nCi4)fde|ku*GB-#(bHT-*8t;c-j+hW|=5a`#VL61E z80x+Ouk|L1@;5zG(B4(NUikhf%~LWo2`jrnxaQ5zOK_CYyvL_D%Xy7fev5iml5)}M z|4ao%*%L(HzOxz5-^QVJN7nE}cfIedRbubyNomI&i4AGk^hh83d`A|V+le1%J->)D zjl+a3Eq;#9W>UE4H9fT4Ak)GxD}^nsT${{0+^)v+i00oXzw#LTCp|?%!uyX_9Etk; zKf-9FxSRjTsF7rVNa^4I$P)o>%!ii>6>yC|yo&zcmx5L1VUed3r;)7wI*h|q+8>4i zkArwo6CQ_NrVvLd@Wnm2kD7E)(R%`jp|_9s7>pm8>*`iqm(kX(k8Jg|UGXeiP34%o z!E_^CX1I^-xm`lT=yv`5DoVS2J5O}EfQcixuoN?Y#(O1WuRtdD% z*0msR8Llex{Z)3Cyi$&RwEU3KKBdcl>;8AZ1Ly(8gQl^GJCHU&p{{nq0fBeGtP<_uXwp;eWPg%!*3xE zx@M$2^sGUsvNF|M`{|1xe35d8`*7l9B@%AWAh8DD{E5(cPd9W&x^KJr_?(5d&-dXI zvZQ&w$e~gFhDMhtfu@8z;yl0k6#6KIZDMIYmm3QPO~UMmR>2~^SAW`bZwVjvScYFH zZELNVzpBW{hZk3;>C{g}chb1&?;jxQ5-j4hF)FxA3P$lHYzmn^WFmogU$y%ZwYXb` zm{r>nuYRunH&7Mi^3BT(MZfm(4}tw-PjWMxMKzB7_D-8y=XDbKp=oJ!yaIZJI}+`! z67r`I5@Dd%(U;pIlh8g`CQ;y)=fj7nP&s({9~>)IcVn+O+AoFn1%5Q%3W7HGh2@U-yYX1Tr zN6R$lus$b*#FEw)a0nm9%;A&M=5jwJ{&%!_j?Mi*ab$)~7Gi8<*;~;If#WZGgs1|I zg{X8uI>etEU*s;5ad?6pmRROW1EHh4MQc^4b-fim<3&L#gf zmTv`2>*46C=@oHYU%unE@J?g1lmgEk+x_k3HjET!#HQby^ckskKdz5 ziC$y!E3|)m#l9Y8VnK}b=23U{dYozJ{Rs}@jTB;pXM34*X4@egi5ysy^GcUSS}t`p zB5>0G8NQsnJhT;N&t^l-L=zTqzriDveuLyf3%V-aj5VSg}S;AaiQI zGKAy-E4E*9`VX(C=3|LNMXlAGwk5|H|obZq-zmW6XrSzonIZz5>Bz{-BxLdtFyEVCUf62s7GWTjP zI<;W_<6ntyS$2PenhjXiXE9WTbU4~^(dDhIm?+oJ$=ClLgPLO*q^?HziNDn^g<&-3~CGzwohU*VMc`A^0@ zTBkVWUn%DQz{zzP{itn9hb&l-f={m%5>6v1tkb)KU*J&_2Uc?9eN4SEo-a>QH4zzS z+H-#*vR;>%8Qm9U(Y*A_supoyW~Xs!YRdBW9l#|xou6KiX7YtJFUhz%`k4=({fLM0 zDw6&OOQwG(-Y~-<(e(J%!m!m|n26=PpDJko0YJC=rMV$%s8|^_C-1Q5qHBBjhRB7D zdcP^ov#}Z)e5iq6_4{-jggzP%AH{e~khmSmYkpe+Y=M;BQo4iW7d(quQ?RE_oY7+b6H*!}Y(|mXp?``~lt?%| zgIediyC3lQXo)t2yAkaxufh}&_cC^)@6;_}5wEMn=f#@&{;x?;vO1bcmZc(B)j778 z@}o=C(G=Ph&{1oFSX)f~sr(7)*y(&jo6jGH_&VV}{HVm*Qh_aRR z5+0HwuX^igDSTcXe0{k zb5wVPy9OzA4ywI1%OJzM^Q^&Ana%}hw6n|%*ko}ldF=$P!a9t4xHnCiJk22aN(zmYM16i&QLB3@r7Mk`GjGBfN# zsZ`mFc>gOx3My>Fp#cL`T%eR zUT4>Vr7r?ju$=@=YwTBtn$z;q&G1tr@tOD{8UYY5ZG&zlebcL5AVh~(B{;`NzgB<> z3P86Ddj#hQ>8daP?BjN4O$kpKvM~743G)RP;^HQ1p+o`GI2XtH$u{|cPVk?9H)1fUCW}^3~!~bFfzw3Y1A|)Jv*lVsh5eJq^#K8uff5=kJp$U z$zK=6OKxO!$fQ0+^PK$viHxz7zsN~Kad;a37uDHkzh2ogV=hP{I?g^YSwZ4%3ll3x zoz5XDwKi7WE!fYL(@JYIPkHA+ngF287EL8Wdb56R(Mu8m&{ja~z6|Xb2b2U@Ubc1W zr>e~c1%6+?_y$CHo^CpVA5#XCi`{8HML58!L@tbDgXX30CR_2Z5vwNF=*p-8?VTvkW~eYLx?!#=vK%ra*VY!4%UNrpy0cgn#SJO*vMTtA<}|u&Zu2>%gl7Hv z5m#rHnxW_xZR#hQwdIQImpQW+LjK

kOt}HzxY>jHfU*f8cF7!OJxN?tw^8kyh2> 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 Pf!x)(uU(^Q6a7B`u=3P8 literal 0 HcmV?d00001 diff --git a/source/_static/1/maven_project.png b/source/_static/1/maven_project.png new file mode 100644 index 0000000000000000000000000000000000000000..2e054916c266566b3a63bac0873986b45a63d678 GIT binary patch literal 6659 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 literal 0 HcmV?d00001 diff --git a/source/conf.py b/source/conf.py index 9fe3776..8f04115 100644 --- a/source/conf.py +++ b/source/conf.py @@ -15,6 +15,7 @@ # import os # import sys # sys.path.insert(0, os.path.abspath('.')) +import sphinx_rtd_theme from recommonmark.parser import CommonMarkParser @@ -90,6 +91,8 @@ html_theme = 'sphinx_rtd_theme' # # html_theme_options = {} +html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". diff --git a/source/first-steps.md b/source/first-steps.md index 983b250..71a68b1 100644 --- a/source/first-steps.md +++ b/source/first-steps.md @@ -1,26 +1,27 @@ -# First steps +# 事前准备 -In this book we will learn the principal techniques involved in developing 3D games. We will develop our samples in Java and we will use the Lightweight Java Game Library \([LWJGL](http://www.lwjgl.org/)\). The LWJGL library enables the access to low-level APIs \(Application Programming Interface\) such as OpenGL. +在本书中,我们将学习开发3D游戏所涉及的主要技术。本书将使用Java语言和Java轻量级游戏库([LWJGL](http://www.lwjgl.org/))来编写示例代码。LWJGL库允许我们访问底层的API(应用程序接口),例如OpenGL。 -LWJGL is a low level API that acts like a wrapper around OpenGL. If your idea is to start creating 3D games in a short period of time maybe you should consider other alternatives like \[JmonkeyEngine\]. By using this low level API you will have to go through many concepts and write lots of lines of code before you see the results. The benefit of doing it this way is that you will get a much better understanding of 3D graphics and also you can get better control. +LWJGL是一个底层的API,它像一个OpenGL包装库。如果你是想在短时间内开始制作一个3D游戏,那么也许你该考虑别的选择,比如使用引擎[JmonkeyEngine]。使用LWJGL这个底层API,在你看到效果之前,你需要了解许多概念并且编写大量的代码。这样做的好处是你可以更好的理解3D图形渲染,并且可以更好的控制它。 -As said in the previous paragraphs we will be using Java for this book. We will be using Java 10, so you need to download the Java SDK from Oracle’s pages. Just choose the installer that suits your Operating System and install it. This book assumes that you have a moderate understanding of the Java language. +在前文我们说过在本书中我们将使用Java。更确切来说我们将使用Java 10,所以你需要从Oracle的页面下载对应版本的JDK。 请选择适合你的操作系统的安装程序。本书假定你对Java语言有一定的了解。 -You may use the Java IDE you want in order to run the samples. You can download IntelliJ IDEA which has good support for Java 10. Since Java 10 is only available, by now, for 64 bits platforms, remeber to download the 64 bits version of IntelliJ. IntelliJ provides a free open source version, the Community version, which you can download from here: [https://www.jetbrains.com/idea/download/](https://www.jetbrains.com/idea/download/ "Intellij"). +如果你需要一个可以运行示例代码的Java IDE(集成开发环境),你可以下载为Java 10提供良好支持的IntelliJ IDEA。 由于Java 10仅支持64位的平台,记得下载64位版本的IntelliJ。IntelliJ提供有一个免费且开源的社区版,你可以在这里下载它: [https://www.jetbrains.com/idea/download/](https://www.jetbrains.com/idea/download/ "Intellij"). -![](/chapter01/intellij.png) +![](/_static/1/intellij.png) -For building our samples we will be using [Maven](https://maven.apache.org/). Maven is already integrated in most IDEs and you can directly open the different samples inside them. Just open the folder that contains the chapter sample and IntelliJ will detect that it is a maven project. +为了构建我们的示例代码,我们将使用[Maven](https://maven.apache.org/)。Maven已经集成在大多数IDE中,你可以在IDE中直接打开不同章节的示例代码。只要打开了示例代码的文件夹,IntelliJ就会检测到它是一个Maven项目。 -![](/chapter01/maven_project.png) +![](/_static/1/maven_project.png) -Maven builds projects based on an XML file named `pom.xml` \(Project Object Model\) which manages project dependencies \(the libraries you need to use\) and the steps to be performed during the build process. Maven follows the principle of convention over configuration, that is, if you stick to the standard project structure and naming conventions the configuration file does not need to explicitly say where source files are or where compiled classes should be located. +Maven基于一个名为`pom.xml`(Project Object Model,项目对象模型)的XML文件来构建项目,它管理了项目的依赖(需要使用的库)和在构建过程中需要执行的步骤。Maven遵循约定高于配置的原则,即如果你遵守标准的项目结构和命名约定,就不需要在配置文件中明确地声明源文件在哪里或者应该在哪里编译类。 -This book does not intend to be a maven tutorial, so please find the information about it in the web in case you need it. The source code folder defines a parent project which defines the plugins to be used and collects the versions of the libraries employed. +本书不是一个Maven教程,如果有需要,请在网上搜索Maven的相关资料。源代码文件夹定义了一个父项目,它声明需要使用的插件并且声明需要使用的库的版本。 -LWJGL 3.1 introduced some changes in the way that the project is built. Now the base code is much more modular, and we can be more selective in the packages that we want to use instead of using a giant monolithic jar file. This comes at a cost: You now need to carefully specify the dependencies one by one. But the [download](https://www.lwjgl.org/download) page includes a fancy script that generates the pom file for you. In our case, we will just be using GLFW and OpenGL bindings. You can check what the pom file looks like in the source code. +LWJGL 3.1 有了一些在项目构建上的改变。现在,它变得更加模块化,我们可以有选择的使用类库,而不是导入一个巨大的Jar文件。 +但这是有代价的:你需要仔细地逐个指定依赖关系。不过[LWJGL下载](https://www.lwjgl.org/download)页面提供了一个为您生成POM文件的脚本。在我们的示例中,我们将只使用GLFW和OpenGL。你可以在源代码中查看我们的POM文件。 -The LWJGL platform dependency already takes care of unpacking native libraries for your platform, so there's no need to use other plugins \(such as `mavennatives`\). We just need to set up three profiles to set a property that will configure the LWJGL platform. The profiles will set up the correct values of that property for Windows, Linux and Mac OS families. +LWJGL平台依赖库已经可以为你的操作系统自动解压本地库,因此不需要使用其他插件(例如`mavennatives`)。我们只需要配置三个Profile来设置LWJGL所处的操作系统。Profile将会为Windows、Linux和Mac OS系列设置正确的属性值。 ```xml @@ -60,7 +61,7 @@ The LWJGL platform dependency already takes care of unpacking native libraries f ``` -Inside each project, the LWJGL platform dependency will use the correct property established in the profile for the current platform. +在每一个项目中,LWJGL平台依赖项将使用当前操作系统指定的配置中的属性值。 ```xml @@ -71,16 +72,16 @@ Inside each project, the LWJGL platform dependency will use the correct property ``` -Besides that, every project generates a runnable jar \(one that can be executed by typing java -jar name\_of\_the\_jar.jar\). This is achieved by using the maven-jar-plugin which creates a jar with a `MANIFEST.MF` file with the correct values. The most important attribute for that file is `Main-Class`, which sets the entry point for the program. In addition, all the dependencies are set as entries in the `Class-Path` attribute for that file. In order to execute it on another computer, you just need to copy the main jar file and the lib directory \(with all the jars included there\) which are located under the target directory. +此外,每个项目生成一个可运行的Jar(一种可以通过输入`java -jar name_of_the_jar.jar`就可运行的Jar)。这是通过使用Maven的`maven-jar-plugin`插件实现的,该插件创建了一个含有`MANIFEST.MF`文件的Jar,并且文件内有指定的值。该文件最重要的属性就是`Main-Class`,它指明了程序的入口。此外,所有的依赖库都被设置在该文件的`Class-Path`属性中。要在另一台计算机上运行它,你只需要复制位于目标目录下的主Jar文件和Lib目录(包括其中所有的Jar文件)。 -The jars that contain LWJGL classes, also contain the native libraries. LWJGL will also take care of extracting them and adding them to the path where the JVM will look for libraries. +Jar文件包含着LWJGL类和本地库。LWJGL还将负责提取它们,并将它们添加到JVM的库路径中。 -Chapter 1 source code is taken directly from the getting started sample in the LWJGL site \([http://www.lwjgl.org/guide](http://www.lwjgl.org/guide)\). You will see that we are not using Swing or JavaFX as our GUI library. Instead of that we are using [GLFW](www.glfw.org) which is a library to handle GUI components \(Windows, etc.\) and events \(key presses, mouse movements, etc.\) with an OpenGL context attached in a straightforward way. Previous versions of LWJGL provided a custom GUI API but, for LWJGL 3, GLFW is the preferred windowing API. +本章的源代码是LWJGL网站([http://www.lwjgl.org/guide](http://www.lwjgl.org/guide))的入门示例,你可以看到我们没有使用Swing或JavaFX作为我们的GUI库。我们使用的是[GLFW](www.glfw.org),它是一个用来处理GUI组件(窗口等)和事件(按键按下、鼠标移动等),并且与OpenGL上下文进行简单连接的库。此前版本的LWJGL提供了一个自定义GUI API,但在LWJGL 3中,GLFW是首选的窗口API。 -The samples source code is very well documented and straightforward so we won’t repeat the comments here. +示例源码是简单的并且有着良好的文档,所以我们不会在书中再次说明。 -If you have your environment correctly set up you should be able to execute it and see a window with a red background. +如果你正确地配置了环境,你应该能够运行它并且看到一个有着红色背景的窗口。 -![Hello World](hello_world.png) +![Hello World](/_static/1/hello_world.png) -**The source code of this book is published in **[**GitHub**](https://github.com/lwjglgamedev/lwjglbook)**.** +**本书中源代码发布于 [**GitHub**](https://github.com/lwjglgamedev/lwjglbook)**。