Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucsd!nosc!cod!kirkb From: kirkb@cod.NOSC.MIL (Kirk Baker) Newsgroups: comp.sys.amiga Subject: Zoom routines Summary: fast 2,4, and 8 power zoom routines Keywords: Magnify2x, Magnify4x, Magnify8x Message-ID: <1675@cod.NOSC.MIL> Date: 19 Oct 89 21:25:05 GMT References: <12905@s.ms.uky.edu> <464f0d02.14249@mothra.UUCP> Reply-To: kirkb@cod.nosc.mil.UUCP (Kirk Baker) Organization: Bonehead Research Lines: 394 [] Again by popular demand here's some more Bonehead Research routines. These are the fast Zoom routines I talked about before. They zoom in powers of 2, like 2,4, and 8 times magnification. There is a nice test program that I hacked up today, that shows how to setup/use these routines. Again, the routines are written in assembler, and the test program is written for manx/aztec C. Let me know if anyone has any questions. NOTE: I am sorry for again posting a large ~16k uuencoded file to comp.sys.amiga, but there were far too many messages written to me by concerned individuals, that I decided once again to post this way. If someone has a better idea, then let me know about it. Kirk. kirkb@cod.nosc.mil.UUCP begin 600 zoom.zoo M6D]/(#(N,#`@07)C:&EV92X:``#F]O;2YA,B MS)PV(#)JW,BQH\>/($$L22-G#8@@+D`(";.FC!R.*AQ"E-AF#@@Q:>C`81/& M31F;:=R`D,&"!@L0;U[B`$$G39N?(-J$.>,FC9DT8\(T?2.4HQ"N9="4"4,& MA)2?8^6,00,BYL.0<./*_1@#1HL8.5K@R!'2[=R_@`/#]\(5,& M!&(0BN'DD9/F#!HZ(/#NO9E')$F3*%6R=)D21)8W=:*&Z1S7KQDY9_'8LFZ!#&'SFJ;?64&M3Z& MSM&>97UK=6RF.0@SL1TG1A-&SIDR9GX8JT_&"9SR6V6!E' MB8=93CE)E5G=3$W[E15A+-S6&2@2"\F!J::D:E(&001DC'&TS)%F&;#SW5G!BH M82;H2S]>25%&3)1!!V]RV-1>8U=-B-P=CI8FF$:$K>KJJ_^]]1&8H(TYVDNP MYKI1JQZA8`->*8!``PTWM#`##9N!4$,-,[0@P[,W4'A'4FL$JZM'O'9T`PS1 M4N%2<2`PT=.)U\*:+4=%1#A$&&IP==0008"0@PPPX%7NJN?>JV]K#C'D[[\` M!TR0`C)58>)49>B041-3565&'C+@@8()A,<<_T?%QR"-_5++#>>"@E*'HV5TS-:B8FWLY&ECAUG&1AEJ M1E@&'COUI-5^;D@MJWPOH9`&"#V``,,.CH'``W4L@^RR"T24`8=O@*>QP@I% M:[1'S1OA3:$:?/L-..:#\^PS'"Y((>,>4>3R_J1Y2B8U/??()C4>>$9 MNR!&'KS-`85+HM\!^!JF4^Y1ZG\9X>E:L?O&&6_G"8<1SS?E)!4/E3U(`7%&!XM+CK31!$3H548X-O\1J$++EW6&^6I2,;Z3#&ZAO+R M]V=?S-&CP_3:YY$FO.]0_:,?DFQR/^OD+SE!:8P89(.T_;$E@>4)6@`'J#J/ M](&`&3D#H\SG$SQ@1CAW`-\'.QC"$3*JA)B)FT]JML*/%`$/"MN(YX8FF*!] M#H0;64$+?.`W#1E10YFIEQ+K$L06")&(1XRB%#<4@[K4RXI5U%`68<"#%GAQ M!4#4"!\TLL4M^JTN:*S71L;XQ").<8J9P:(@F['O-?!,2K8 MTY[8NM<9&63NC7N4BR59V!'QO:U\C(H(^O"@/@=Z\HU2G`LE0[+*N!BP4"KJ MWW88Y4,>$O*8QXPD+_$8QE_VYC<@$*8;2/@VS.!H0B!`IC8#J4R0]!(NF-3D M\AK3MS2F,2/7RUX:MI$*'2I*8)(8A-B7I4FV!4G6'6 M%)6+:O2$2`./CNC3F#D8IPR4&ZE0VF#2$=8'AC[BB:FZ5IWV8&8J/*J;ZH[G M`KMMY&D/2QG7RH+4G)%O5-1Q2AIX(H>CZ`8S)6J,;`50G-@U`1!\+8P=&X];N9*EG/:55+&)T&O28[ZLL($- M1>55$IH`!2D\P0I%:$(1G$"%*>30"6]@'J#F=*2L-<4GHH+->2SBG9OLAJ6= M:4-E+L.@_%*N5(AARYQ(`@*O,H8R74H0WI[9&)RJJ9%8H=*->K*&TACF,3\B M0QT46UW5+>@$9N#)'`[3I1-PEJMEZ,Z04I,5H9`!-6-M@6YP_)+#ZH$F$@H4 MC)`RHZ,DA7++[;%CRB8<8-8'0B*DC&\VY=CZ]#4-`+S#:A[XGI]FK6MSHAR, M94SC,]BX##CNCGH>^&,)-0:%_COR1,XSGR`P@0D!'&QW)[AARHDP*,SAC_D. MBU,4'B4HU1G+_,JC9P5G.%$5'IW_QH(\N0Z6CAXM33.BV#B:$) MF^B2!"K70QYL[J#E4BLPS:IC$H&6&LVI1D@J+1FN?R/HM06'K3-S4`ZJY)!> M@HFA#5\0`NY^LCLY]`X$18A"%?RF@&=_H7?8Z4BVMRV#;D,[<8MCB[BUK2QS M?P$*J0ZW1L9-7()M!`I5$`(3DC`$$'Q!EORDY?H(]A!I,^]M<``/?!X8/X42 M[-\TZ:=U=*``C9!A#"ZX@T9*@,LI5CPC%\_XQCM^Q"I^W#X8UWA&.$[R+9X\ MY"H'`8@][G2IUA&*U*=Z%:7(]91GG2HE]SH4T?ZT]_(=#I^?>MA M;SL,WFYV(S*=Z70/^QOS'G4KGIWO9P_\W-5>=;O[_8ICAWGA!1K0M&>]['IO M?.*U7O>NNYSP8#<\'?&.>;@;7NI'?_S:^W[UIG>^\FB_O.@7CWBQFW[UF=\\ MVD-/]M&?7>Z3ASSI[TY[Q<>^]7=_?>T+#_HH`K[Q83]^\54__,POO^;*/[S4 MHR_XW-L>^:WO/>4%+WOK$Q^@1Z0^]KWO?(`RW_>>[[KLQ2]W[>N>\;@7/OJA M;GFTLS_X\M_^YP\?_M/?GO]7%'VEYW[7UWZM)X#@-WBPEWZI%W3^MW^R1X#? M5W_DQX`&*('E9X`52'^\UW@(6'\?.'L*V'P6V($;^'_!AX$EB'_YIWO%)T5\ M]X*&%X,`R'@TR';0]X#/UW\+R'([&(`Z"(!R=X.[=X+C!X!$R'AN%X35YW5, MJ'D'^(01Z'@DZ(/2UX!)"'Q.V(-*J(5&J'X>]X3/1X0#.(+S!W]7^(7F=WAD MN(9M.(5OJ(5M6'QS>(5U:(-BV(!JV'ULF(?Q5X=#Z(?X1X,RJ()6*(-J^(.$ M*(0YR(79!X6&.(5HN(C_%XF/R(>4B'V6&']_%X1@>'[ZQXE1Z(CQ-WV>Z'I+ M2(IZ:'^GR(>)*((\6(5\F'RG6(:+6'JO"(:;:((.J(JEN(6RJ(686(NP:(:A MB'^=Z(N\N(LI.(K!R(*FJ(S-F(O(:(PN"(V(5[5X_<-X,,"8D>^)!=R(^45X;_V(\**7DM^(X969``28$; MN7&XB(02>8D"^9$-J(]IZ'H)B8)]:)#[UW4M&9.L").N6(X8V87T")/J.).* M^)#^&)(KIXOH")0=*90R1Y0>F9-'2)'CN(8[*8]*B90E\(D`Y9-KN(%6>9$5 MF97KR)0@J9)H&'Q8*8-ER8AG*7AIN7]KR95/.84R:93U)Y:/2)9R68QG67IY M>95W"8)]*8)[&9<\"8UTB8U:68Q1B9'DF)#JJ)+P2)476)0#N8^068Q+V95! M>9AE&(N*F9'?V)GY:(T<:9$XB9DKR9FF68DG"9HTZ9@KZ92CF8"H^91$^9FI M>82N.9&E29M0286L:96,Z96YJ9&P*9*KF)BWJ8&5.9<1.9FHZ(R_V8'#.8W+ MZ7J7R9LWJ9F(Z9NFV9/U&)GN:)S@N9NQN9FB*9XB*)CFJ)SA.932*8??F9+< MZ)Q3&9Q6Z9I;69W,B9_/J9UA>9[N^8O%&:#O.9OE:9GZF9[`V)GLF:!$:9_R MZ9_'":!)68UV29\%2J%529@.B:&B"*&_"*+O*:)_&)_8R)_8:&\:@6_ZQF_^ M!G`I4TOL(Q/]@W`*%QZ,LB!<<@8/!Z,"-W%"]RB>1W)$.I]D)Z1U5Z1%EWM( MJJ1+]Y)'RGI.2I-,*J5%&IGNUZ13&I#KAW1:NJ5>"*4A]Z5;:I@M2*9$BJ5& M.J96VH[GZ)1HVG(*ZI9Q^J0N6:6_]Z1J&J1MRG75V*6/5Z=+RJ%9VJ<'::9\ MFJ>[-Z6).J1^ZHW0B7&"JIH'.9N3RJ5%N)N7*HDF::F&:I(-VJA)NJA4*J:2 M^JD-RH*BFJ9_BDNK*J?->)"OJJ=S:JHNL*EA>J=GBJJ&N9"!RJLGRI9>"JQF M:JNX6JR#.*R*JJ9$.JNDJJ1P:J7,BJG.2JF#&JW+NIU[JJR.RJG6BJW=VJFE MZJG9^IBJRJVCVJ#-BJYN:JW_5ZV8JJ[<>:O26JNZ"J^K"MZJ8*&ZO/:HT$N["EVK#ON:V_VJ_R"JC\&JX(>Y/D MRK&MBJCL^JB$ZJHC>Z@2J[%LBK$A"Y@GFZD.>ZX7"[+(NJ\K2[/%^JXOJZMF M^K'IBJS0Z*S3JJ1"NYVLBJJ\O.[3B6J@9>([?JJD32+7C.K!7 M>[1!^[3::K1:.[7M2K),^Z;V&K9)2[)..[,<:*[;6;9N&JI>Z[8."[YJPNJMBBZG6:K?>.K%SZ[>%*[5IFZ__>KAZ.Z*.&Z\&&[D>2W*$ MFZMD2[F8RZF7V[%AVKD"BYST&KC9V;AY*[DUR[>/"[2`NX)@VW%E"[4Z>[J5 M:Z>JF[6TBK1]JZ86N[&[^[4C&;O`"[FTN[DPBY"'F[$F6[R>R[M6.[7*N[3) M>[8W*;PCV;LW^[O7:[J^JZL\Z[+,V[+(:KT9"KO3Z[`,>[[E:Y+DZ[P7VKVE MJKP^^[TC.;OP6[K;2Z=7V[R3&[ZI:[[^F[.9&\`]2ZWJR[_OF[WT6[+S&[^A M&ZFCZ[JLJ[_0.\$)?*H$"J8`[+NR^[>BVL&5RK<@?+P?_+H/Z[,C++=LF\*M M6L)[B[^MNZ&0"K4NC+6)"\%("K7*6\-B\)`++XQK,,/S,-_B[<_ M_)B,BJ[N:\,XC)YC&\***\-F2[=%/+SN*L):C+I9S,2X"[%2K+8.K+M/3,-. M/+Q/C,0H6[]F\<+++-+C+A;FL+,AJ#+Y_S,AA"JY6_+CKNL*%O,9IC,@!2\$5ZLD%2\BB M3,>0G+\K>=#,BLJ\HC#,M#3,JK?,7&.L:U2\*M[+V"^\:U_+BRC,J' M_,MEK,@+G,F37,SIJ\FHO,.[K,R&R\RU',2^W,?<*\>URKK#;,TIVLHC;+,8 M',KKR[4U/,BW3*#F;,G43,5K&LY6;,3!Z\VS3+Q_#,]=*\U/C,S8C+Z]K++N MO,Z??,[BG,_17,^1;);R#,?"BL\'3<_[O+ZOG-"+;+D23'=!^C-'9;,+EO-*/V=+";,`DS](%++HY3,0( MK,BC7+(P/!#]P4&\O,W=S3W=#13=S7'=<-W-S(';&?'C=/H^K=YWW,WR;=UA3=?DK:C2G=]SK+ONW=:)?=[W&^"&7=G9K=SLC:N[ MG>!7FJSWO=YC7>"[/=D,'L;=[=L6_JG<+-[$O>$L^\*7?=P@CK/_[>'!7>(_ MV]<97N$03N'%K,3#G>(O#M=0_-L7GLCTK>`3/N,:7N.;K=#[':X2CM@0#=W5 M7>3/"]C<3=$1[J0JSMAMC.(_ON#E7=F\G>/7NN28'=X`#N7Q#>/SG>3U;=9D MSN.6K.0@+>9;ON8^SK78Z\YJ?L]L'K=O6]U*3>!OGL1W?M]Z#>3M#>=]SN92 M_MT13GN57+N*.SM]E'NE,?N,%O>>)3.F8;>=N+N=@;MD[KL>` MKN4`?>`B[N`T;>A>W>0US>C'J^E>;N:NGNH"'NM4+NCV7>?:?>:B;N62CN9< M/N:+NRC?N@PG.:?7JS;;>G.O>PR[NF-7N:H'N/!7N:ESNL=WNR+KNN* M?NRK[NS+Z^V]WN-!+N[##NUO?>Z<+NODONTG#>^S;NVT?--RK>WTSM--?>G2 M_N#CZ]_[_NS`GNLV'NO-WL3S#J8'G[#XKN-X3L?%KNZ='NB(+MS]CNMTCNG& MB^/U:MD1/^U$[>?P[>LF;L(MGN\?_^H,+_+AO?`A;]?]S?+ZK>J5/NEZ?O$5/^XVWN[I#O(X[]@>O_,4G\L<'^Y_3O(K/O.U7N@GC_1.3O2???-+ M??3X+?,G7NT.K_78W?`;G^@J/^5<7\G@7O)8;/53K_%+;^Y8W_;*+O17#]Z$ M3?--O_4/W_)Y?^1,G^/?M>M3NB'S^6QKO@]'^6VSO1`'^8:'_.:S^)B[^*BC^VDS_.9;O1T M;^]1W^89[_IF#^I[3]U>S^HCKO-DG_L!W_O?CON[C_G"7^[1;OBH_]Y%__>V M#_6^G,[7/OSK&^J+3_D=#NN;3_#/#[3:O_P^W_W@;^JV'/?(/^@%[_VPW_%U M__1>SNU(GO"!#/P67/;M#O__+O_97OS=7OJLO_K4+_G%/I.7^O+=X[M^Q>WT M53WZ9_SP'[-C@/U/_"W`G!?<'*``O'PV#P+&/YCG^^S>Z,M_'#``3K_SQ_TH MF_IS?LIO`E(]O,?_-F#Z&W\:$`2^0!7X\W:=_$-X(="WV3]J%^\T6-G;?SFP MP8&]"&@"F]_0`WQ&L-:9/B3(]P0?!K2!"E#V13\":/%2(&>S?CZP!RH\+3C_ M**"_IN#//`&!L(@R.>^W,!S=V?P"YH_C`?ZDB#C8W^ZCQ!VO2CX M];P@QK.`Z.\-*L(1V.$:(1[TA.9MR&TZB<<'T=W9&X6'$`M*O3LH_=(@%@.% M:A`6\K[O]PE/(?3+?(GP$L;!!@@(?Y_DNX)<$`CZ/SAH"7O>#O2%DC#L8;]" MB`@U(0+\@2[0&1I#!D@'I>$J/'X(4!:6OTQH!8.?*E2&V-``VL+MUPS98"BT M>W"/&^K!/C@.+9LPM(;@\!N^0W-XU=IA$XQS]'`6KK\P2`:G(._3ANV.%G(V M@=C0"&+HDX?1$.N)P7RX#4N@EKM_P3`ADKK6QQ`_(!@DIY! M;(BUKQO*P6*8[#@ARMN'-2\C+D)QV/?((4`T@_"0"*Y#4]@2W:%$?()RSQ^" MQ)>(!DNA141\P>\C_D3.=P(C7S*4B9?O%EZV=.@0D^+[VX754"'"1(;H]SS@ MA[.'=C`/(KMX"!57WKO+=^0O*@[`4]<54>!8!(EAT2LRP:R8%LTB)$1P9?$( MPD.QZ!0=(2N,A5@Q**+$C?@,XV+22XD]L2W*1:H(\?:B4OR(3+$45D7W!P-_ MH1HD?TA1Z9'#8S@89V)BI(R63S+:1`"X"2>>99R,0_`F:L9[:!*O(6($C<4/ M(CK&D4@)>9]@S(QH;X*]QD?(#XGA"JR$R5`UWD;6F`NGX6I$BQ%1!IZ[R^@7 MW2!AW(P:42EJ0^+X&^?A9T2.0/$@[D+GN!7IXFADBV!/-]9!;Q@:B=]NY(7Z M3S16.J6H]JK@B./O(XW2DB&!?UH2CL?(:10";`[>@:WZ-W9)#@\3L*R#VH$0/P2)(4TA)TQ)-Y'N)@:U>)PQ)"M$3@V1_%X][CCBA2.(E$V.L@' MF!^MXWS4>S5R$&Y(%ID83R../(H\\D.Z0N/G(VG@B82.1%%([L<'>22-Y'&L M>C*A!TC)*4DEJZ25O))8,DMJR2W)):>DBLH(H\U%?8&F$C5D`IF4&%,@L92! MW)(X/,;0$!FT[4SF-KA`4]0$11!2(*=9D`$;\`+"@`QH`6'`*+0`%#`'B`9< M`!PNI5#`AC-07>)"G50U>#(CS``90"B)!@OPDZL"<*3).J`6UN30"&T?X5%& M,(TP`VQ`I4P!ES(&9$H0T":%AD,!E1[A4<8!CS`"8``+(`,S`%9V!%$94"8I7V8`;>R!DA+ZA`&T$-+4!RVICR,`!32*.GD`9F5':%6WDH:<"PW M@J@4`QW!VZ`;WQ`L9<"P?"UQP5C&A62Y+"-EM7R69`!@O@K`H2\5A_)0#F_@ MH2B&.C!-ID./2)CU4B/(2EII*\E`N>&6:B+I^$IH8W"H#>^0$?UR6)J2CC`M MQ\!-()G31G><3(US,84/2-B8\;)CVLQ0V2U[94;P-B539EH;E!D&8L"P5)4L MDU4"$*`9,ZO-M;F8'Q,ND`4R4##CI;>!-^,B2V#*8DD=&`EF4"#MH3AT!@6R M.$+%`YD"U%+09$QTTBT-II^\E-$25OR.V/!0RN;93)OQ9FTV!S)`-;WE"+B: M\295_@5$Z37]1]@<,V03-]@61M$J\E39@7$*/H.DTD0;$E)BHH6+*`;U),#^"LP2=XS(XP(<DJ``=Z MR"1L89-,F^:Q9Z#'IYD+%@&]1,K7R3[E)BA1)^R$?7J/J!D7UL:"Z`BU3>*$ M@4LY/@\E"$">`$>!EL^]20:8I?ADH.,2G\"2?2)!YP*OW`C!$@:@RF!I-+N) M7``!:)#[&1>,*!+UF=^2 MB9(`)\HYT6@-@)94-&9N;`%[LD_^20I<\I:@TE:I2*_DE15N^(6W^ MIJFD#-4F2]&DFF23,>-SP,DQV3!.1LJ8D];C@$S2C7!),ZF?!)2"\E0ZT$1Y M9\H`HWR>(=-@3LI323Q7Y:;LE#^DCTI34UE)JV=@`!RM,IM&TN^Y$<+GMHRD MC/17CHZ4"4A/*.NT$563(_#/N,E&E6>UO);9\EM"T\X91<$E&1"7_M.EF$NZ MF2ZK);OME'T>=&:)CIAITF3'%MA@%ZJE$MIX_`G.;#GFY.JDRA,T8!*+6OJ MM?FHJ?.+5E1EZ3K':.RL#;3SH^).!:`[>>>NA)X@=*Q2SZUI/!^HI^BJRW.P M.$^P&CT#Y6A=H]_4M&*&O=H\<8,"V)Z>5:>6@80:/AMHIH2AW=*A4@AAN3Y] MZ^`\#\H;3%J M?6#0$RI;]TEXM0X3](Q&R@LZ0S.HGG@E^L1'I38/"EKM`\*LKH`!<&05^[`A MD,/4+#4T1<4H!PKA6&6$R*"OB%6&TM"A:D+G:@HUKRQT@P8-X)I@,T((194M M@`;<4/&I0^>J#^4>T^2%5)-KF2"(*/[DFQ;TOHK.-;!.8%O7N":-08X6UE1# M8?FIA9VA&%;#%LU;"0,ZK`/]L$!TQ.*9(2HCTBN*7:\J-J"RV(=B/F:`'"@+ M,-9_S%$:BV!M['"EH1EVP_;8.[!#04(/?;#Z!(Z6V"([%Q:IS]R3>A22]M4H MJEC)*!NMHHM"P(S.IKE%(2LB79UR(8S*4\M:1N6">O6E)(K(SU M*W04+IA9SPDNFVB?7;-1](\22_\)9P>Y)/'E)-Z64]J14&I,Q6E((&4JK952FMKK:WUDJ$M3):VIJ(S:&DO M?1@Z`P5<4\6"2]VD0]FEO!:'[--A:G%.K29%IC54F7929NI)GREKW0C3M)N2 MUOR:/&_II[RVI)*;6DI!6UK#Z;<=ISP55_I4/*I.L:5$):L\])TJRXO:3NLI MM;26E_9BGE-1BT;]*4!EHP*U#%C.@DI(L25"3;?2J:J6W]JM*&S0E58CMRBBEII M*LI5JO;UX(K<-+IN5^K);:DS5:+#.-TNP#&IQI,*>IF->J<_;F/ M=>-F6LE*<>%I986=_E-V,@:7J5EM:V>ENMX2>([6F,IMD:<]99X.$\]"VM`Z M/8=GV8VMUQ/O9M[;RCU%+6_MF/AU<-98VQ%:_65QU:CO4YQP$E+A/+`HYDVO MT75_^M/4RS6OZSH1&]JUWLP%[XI``6RJS=27E@6,%1+ZX,U MOA'6A5:']+L1="P-U;%&,[8"V3`[8G<4_0VM-!0&:%D?VTGW;XAE$$)6B%*0 M%%)E1Z7]197XE\<2X%5K@`OMCCH*0W8!9U^0\&>W+X]=L2VVR3Y9CA)C,XCH M_;\*%E4*X!W+8;FL@XV8*O3ZRB@)^T(;,)Y\P$5A`+O@'PMF#S!.\;_/-\5^ M8"4;@AD%#7B8Q.;0QA`J*Q>@*`!6P3JXRTK`J_7QF,/_;P)_[#H;@`:^)";$T.<1!>Q8IX#;MB'!"+ MXW"BW;PWM@Y?XES\A8>QF/7$M#@C@.)IO(.%\2CFOZ7X#)SB3JR!S[!;'0$X M0*ZNRD?Y1D>L!ODQ-F)M%%%.>V:7J*,EGUFXPH*<-AM(6VU+::POUW0*7I!* M>`LO916CB!:-S(D57829,Y2D4R%O MW)1!4R8,&1!2,%:5,P8-")H053@=2[:LQQ@P6L3(T0)'#J=@(YJ=2[?NQ[AB M05)!DV8.B#%OR)0!T??O&SAYY*0Y@X8.B+5N08C)`\(D2I4L7<*4PQ)$EC=U M0+0)0SDD7J)RRI1A0SDUF;YT%(NI0V_X,.G0I"#91=_J^79BJU9@@ M,I+V>[>FV)QTPHRAPP)$&#=7;X=QG,:,=:*J"?OM&D;.F3)7B\J\/?AU1MFT MTT0%\<;[3.<@B(\/7*:Z=NZ.B3%8&""X45%.8;!!GU0@H.`'"36X``,,(%0Q M10J=?1;::)35,<=@S865'VZ&"4:8&R#D`9I,;]R!(AQUB,%&&AR145$8.?'D M$U!"S9$A:**1!H*'MI'8T6F`F9@C8&VT$=,8:22HXVX]5N<;<#I9YY=E*:W4 MTDO(%79&&G:4@:)'2+J6!GD&W4D:"5V("2A94K_I0CDF&6*-N!?"2I( MQQOYK:;@D?@Y:9T8H#FF8ATRZ<9C&YTQ408=MIGKJJ2-O1X88.E9V4DF;(U6K7K2'=`,,-(%PD M1U`@,'$=B,(.BQ])12@X1!AJ1%7=$$&`D(,,,*P5;:G3CFNN6<2"A((-:Z4` M`@TTW-#"##1$!D(--ZXZ9YKL&G.-:3PP@PO_%!8#486W`P<:EJU$& M4QZ,EG<5&8J5>2:Z%9.$$4<=S1Q&F7ZY6;)0%J37$I3RTB5Q\(>E`T MU*`@R("'1TX\0441O!KHF)M0WXQFT'/-YR:<3BK&T95U1?H32\'6T3H>$`^*.*2XJXUAK#3D(.$PN M;+HSF^%8>3[=X5$3;_3I^%"E.R8993'0)]-D[X)PQYI>S<&7Z8&709F-+A*K M&&.G+_MQ1ZR[[OGQCT:$.9K`/X?)7F$`MJE&=N8*A[L:=38'@!*E)T`E@5C1PE:L1:&E#&4.@T*,2-]`A M#2VPPDD\U"#WQ"8-LZG-#$N#L/P1H0QVN`*G4O"#CM3PACQ<(&7NX)/:C"B! M$.S,RE+S,@*=((MC6(.-C++"M>5/:2T3"@KFX"ZWZXLB-7 MH`J*PBB'.J#(#M>2W0;E0CT[),$-RKFA&7RR-;T-@0EV8@\E.]B2)SBA"$@H M0A"(D)S=T8%6>0JC)WFIQO61X2H)=).9RN@=-S%I-'2:D50Z4P0\G`Q_O(R! M#T#@2V!&YX9D,`,,>"4$9T)3FM3<'\9XN9?"[.Z&RI'#!;7G)DQJDB)RJ$X> M1Y8?N:7DH`HRFP!14IUMYF5(;IC9'/P21A@Y:D6B`J"U MRX^"DDIM&*6[/.6&OG@%.%;)R1E(%4LS@0P$-DK.&ZH31HQ*AJJK&A0;LH/` MDT(*K7U)"0*QJ!H4Y228,[N*-;U"H%9%T"I8H2!7O+*JZ[RQ!7:8(Q8I0@<9 MO2&3GZ(5-[+1HQX9+'WN"IPRL>:!KI)@8F6UV-_\ MA%`HB(V''.,A_U!EF7XQ$&H[XI/'F7(PFZTL<#))%/,1*+*U]-'`SK6J*:2A M#38$7&KFX#@`$FJI5!8$- MD9CI& MR8.[\K0Y,YW@=`NL@V"R0Z@)ZPV=<6+#X%8UR8Z9,+F69:Y[EO*A-L@(.6I< M(!N)(`0A/-(Q;E55N68\TC+8>&;_I:QDEIN2'-D`!Q.B4!NDPM2NCN'`,LD1 M5?#`$BKD0:8@X+&/&WM#W.%M-=Y13THI*1CRXI=403#;;PM4EZ$?GH.J^GI53?X%4:MSX MVE*O(;U1Z8P2=LL3VK#R1""321]YF="%)J<,<:B#F<8P&!0(5RILY%HM_4J= M8Q=&#<0^XW:Z,EU9J^RW+OY.4'+"*-4!QM7(F5%&$.TR#O,7!'PJTH"F0Z8R MK(K6JU[?6RO]1C/X;+L[<]_\0C7=J_+UJ6D%<%L+ MI@4R>U9$?ZR[>U\0J,G>Z!HVGNJ`KPHZA"(0!"6SII`S2./3]LK#=UP&*/R- M02C8]K'#<(:%S^DJ+P?RO;<[*$JZJ>-FY1H=`$9S.M@<(RZ8;IS38SYMPI>I MJ4F=7\QPG>W0:`Z^724S&;WSJTB-#F2@C+UO.#,Z@!%(Y-&)OE/4@OJ8X4.= M?6FG6!-"IZYT36HEN:@`];-5G>=T(#"6Y&1``PI!O4V$"B"3IEB;UT9V#GB< M66>><%?`OU$G[X1P1]X>]Z[M=$2%\5UWO*O>6IOUJ;@#%T_2@(?5^*@C/J_* M2I?]4<"X43J\]4MWSIK4`;D0!-'FM'R`.=]:58Z^UD_8Q+;/?80\;`0Y&0,; M1#P8$92A]V-X`1V^C'4TB$`!X`_P^$UD?O2_("8^T90+W`__\,^__.=7!NGG M)&"7!_OW?O$G?N0'`B(`'76P)M/W`@X(@<'&?PGX?PPX(Z!6'FF`$2]@(SYB M@?ZW@"*@@4&A&!X(@N=7&]0G@O)'@H(16=0V!Q+H!B8%2&:B$2ZH@/27$:_Q M!@>H`/`G&%PU&$P@!5/P.XXQ`T+X'G4P'2#@!&5P!U-@>RC2!E48<"#0`QVQ M!SOU>G1A$X=1!&1P'M5A*:9#AN?A20=C`Y7'`N`"AF,1$5>0!F1P&]6Q,8L1 M/7UT,#304741$7\$![=!+@IP,#L5`X!H%H)X*3C"!E!@)M4A!$P6B2@"%@># M!$D@!44P!8LXAV(A1U/(.H+!'$)VB`8S!!9"!4_0!%,P!)Q8!$[PB1YA$^Q' M%YAH,$Y0!4S`!+3H%!&A`D80%;I$%KEX+KO8B[]($L'X1V37752P)DC6A[K( MB[X8AF*A`D=@%8]GBJ=X,,G(!'T``CO`B-DX!+M5$35$!TW0:B(!%DVH6U`H MA7=0A]CQ,6U@C\2SA5WXAP!$60!1M9BV*1!$0P M!$T`!1UA!']S!GXQDN,R!4T0!%)`!5_`B4;`B5.`!'P@!$$P!$M`!%+P!%!0 ME$\@!410!%+`!)TX!7QPE%20!%80!&-#BQ%YCZI#DT1WDQA9C$HERSY%9(!M7!F6Y0D8T1FF&` M!YXYD>V(!Z3I&(,I+*HX!:SHBK!8!+(XCN4($K8(9H:H`$XXCU.8A;:F!\)I M5EP(`EZHD8$8D`-IA@:)D&O(/P2B(9YF'_DD9+8$B%YB95)F'TY%Q$ABG=`BA@Q%J]9*[$YFZ\8 MB[,X$KM)592)GHQ9G^;X%B8$>JX)NTXF1CCF_+H&,7Y,W?1CCDQH]6A`DB!A5:8 MHT\@4VXPHRB0`CL`H[4$A?K8/C6Z<$EZ!SX*I$TZI$7ZFX[Q2Q>4!DV`$>NU MABK@)"-%=`6))D=P*4TP!V<@I4;ZA(ZQCBTZ$EK@-6S::H"H!9(3IW`PIZ%C MIU,:HQ&7$5!@%-_YIG@@!7^J4(M(IX-:J-WF$5H0.H0*J$6J`+SH3$<0)`[& M`G<`)D4*'6LV&%RHB#OZIYO#CZ^WHUA`JM6QHUE`JD6*)3MAI0_X1E'A$A_" M`D=@!GA`J_WQHV;"!'AT@GF`I@JP?C)%A,G!IUK0!,B)H)RZFEC``JN9!44Z MCCNZFI%:K:U*!^_*:?+J$?VZH]R*'7,0L!U!!$%!A1>400B; M6#OZL`=D0]4&=F60`@B*KB,Q&@[&C[7#`SS@/DR:$\33`CY0!1\B!XIJLC'S M!=9U!NN8FR`0$3CHH)!)!QR;$L/T.+L#EALT$ID*$_PH2&N"`CE+I`<3$9F* M>&IV'9310'I3L[1G8H/!0V30I,=ZI"9&G>$ M@Q3EI5O:*<14)VX4J]/WLV,QMV;AM8H+IB9[KS2VA5Q8DB>9DN46$=NE.'3" M-72S71]"E@A*%I1;%SO*0\%ZN>=!I*L[%GU0NTZ1%3*3!V5ZIK)[L3)+%J)K M9-_C)U^ZACM;3(/QN]`G;0G7GQ]QNR,AO1Y!O1UQKY!6%?I*N[>K`*\K/'=+ M2FD*A;"*I7C+I5Y:I*UK(4CPE%00/)3!A5Z:N?Q1I!_!ON[;O%(BOQAALE&0 M8MW1@7(0J1\Q!]9$*RAP,W'K$:W[$6JT4C"`!S10`SJ`NR!AL:QJP>.30FM@ MOR+QP(,1P3`@`Q5,%J&Z.!E,%ED1L;1+%J!6%1ULP2`,`B),`R4\%B<\JI_J MP;E;!BS,PR3QPB\!Q`Z\%"&,!S"``S?L%#F,'%PH`T0L$BNL-0\[$D(H=94^RC.M#+J%J#AO$:;0G2PF-QQ5'<$5HLP67@Q1TANMZY/:DC MN4RL-5+@G2B`QFR@QD[!QC)LQ#0LP6,@QS,K%D\5QGA,$CM:!7#0QRD&R$', MP6T,*!`LP62`R!$A/XP\QAVQHT30(FX@R6E\R1L,PT!\N]T[Q15AKJUKJOS8 M(+(\3P0+&@:[!4TL!UW@`L[J+H5TR]WZK;O9!<"LK>HHS<1:!G!`B45;2AGT.00R&8Z4 M((LA%3,4F7)J':4K2YWS.(@'RO8Z(P4](_%:MF?K`X]JJ*;*`JK*`B8@J"-- M'?X8`S*``RR`%E^(!]Q"R2/1CF?056:0!UZ#`BD-IRPJIRFM-3-JLG9JTR(A MR%E,R#&PQ"0QT!U=M"!-LBUBLBMMTEKSK">=TI)SU?[HABQ0`S-=TZB\.D2G MTWD@.3Z-J':*TCM:U#YPU&4]/Y8\R"M%PAKL$5!MT!_]MR4KTHJ*U16AU>;L MUHX:V/XX`S(`AS7`4S0=!$@=$CB-UJ&SUGD:U'JT$S?S>SADT1Z27O?L.:P-`F%[A$DX>POP\V"`0LCT%`H5$(>4\V*N,H+Y7!OV=U?R(`BW0`K*,X-O, MX-S)!=L,Y-Y,S15AS;Q,Y'APJ@WNX0_^$1$^X09. MX"NP`C\NS+D\Y+^LX*$$:OJX^9\X#2\X< MX1?.S!H.YARNJB#NPU0\XMZK-:/L(BCNWNU+YRGFXAX!XRDFX_A=XWTNZ7\. M`CHNZ'Y>Z+1\Z-# M[$T>K;XNYET.[>),[)J^YIS^RIX>$3WP[>`>[N(^[N1>[N9^[N@.[AND`$5T MH6\0='?Z'BSP0H`!''*`L53:IW2@J%\A!W!0I.0A$RKP'IOJH/3^!O:.ZAW! MJ6/@1BQ`;:8UP.C\SP[*A>\Q,Z7\'I0,\9E2X64+UZGI%3XP3S'@+IB&`@WO M&"#;-93\=D%@B?#^\`AO%)3\/C'/\3$Q[Y3<[C$O[RGOZ0H;!@R+068`RPB: M[U*P%/L.J/VN/5PXU8`+V)#*K`Z:!@2,.2]O)C$?`S5`R6HF8:Q*&(C^\59H MLB%?CFF@XSA@X_[L/642\VG`4Y$=9@L+]]"Z<'#=FB"`:25O[!WQ]6D0]H%/ MMGA?]C[0FFBOXS3`]A9L\_ZND6DP]T%_!S%/]@%G]A+I%7S/`I'O]R#P=@K; M!&00\TH0!$W0]PC:[@(9\R*P,0ND7U=@%',5`B+``C.0B#N_@JO_^"+`Y!W^ M,J`&&A;)-6%$0Q#T*K.U%5U1^V\H`[EO1+M_IR)P!8J!*6:%.UR"&5^R&;4O MUK;__.[.^@()W3YQ0^4AS=8!>=B%'2W`*&=P!K.='#*%'BQ0^S:P4XL/Q*K_ M[KR/`A@A4U`B4%"&]4<&VM]/@'^Z+>:XD)E#RM(+@1`I*8N%T(:8D`)JG[$( M:^`O^M4_TC)2U(L2@E\4C:Z8%8"#\!1$CIANJNW"M#874/N@#`NP`1F0_TF_ M*0`'NL-.JPX`PV^0`>)F5Y(#:2@D#>()R`0.$4#:"FB8*SR0)=B)X5;VL%.*@$_:# M#K0I?4)`F)7A-B!<$XFR"Q%A\U"L_'!="M)$<2`=!$4(GT4B)-2,1BL+$2&, M<`TT0!&:S"Q!*:0,K>0!UX9=.,)V20-Z(+TTLE01$6(;&9@9020-N(`RP!+\ M!X0F9B&JB`C610]0D2="_FP-@C$#K.%N[$*6D",(A$(2%A&A M;G`J-.)*SMOU0%"_[EO!@#/'CRQ?7\%\GZDC\+V7MLSVH#B\=N6P\%V^P]>= M+!+?FQ!7+\SINEP6`\CATY.'Y]`'A#QU"`+<4#O'BC#)_>PS1B M+1\ZNUPF`_RAR&J(\W`@[CT0H-@.8AL(L:NNXJ^T!KPR>OSJ<5$@-Z"K^!&O<@.^:@/)@6#5@'3B"C1! MY2$/U+Z>$KPBPD]T7%>JM?V&7Y44&YG7"@'EJ[7I*G>Q!W0$="AZ(J`*N#;O MQC4.@UG)BM.'"[@!$8"TL%>^8@-2"@1TKX]PJW(5(>-"/S$H`BL4(`)X!!S@ M"U?&!2#%H;@4D18P$@M/\0@$A;]X=J:B4*0,(^DJUL6MB)R\HAL!BV*QNR&9 ML@BD0(!B;#6`<0ZH1;98CMRB]H*+2&LNFK62:)Q`P$\44B:`1P4$&-G M+%N?SPI91?H6`LRAF>"*EI$.8,:QN!D)A5E$$;[1#8S&MHBO3F-<5(T=(1]1 M-2@XHQABD+)"0`SJ[2.\"*6FHT^3CF")-D)"VVA6<"/6BHR\43NV".#8$[XB M7\R,9-$XWD:_UB*68VELCH'B.4X\?2@;;0UW-!.PD3A9(?&XG%SC?,P1U1$] M-H@0\-8&9&5LCY?Q/1)'VR`?S4J###CV<:-EK_R8&A$4%KPL!`NS'2Q/QZD^ MY!@(D>RHU8Q(._?BJAX0@P),(`@\$RA`!:2`2GA]8R#I9828L*\$%DVT4Y8M M5V$V%B">%%MUH$ZT,2+TJR@Q(Y2A`E$0-TLR)8W,P[464[\"DEQ-2*;(.R6> MP-J]8(J'J6:)ANY"T$0*?2@G>@.?;2C'M2:PI*!J:W_(I<$TF98DQ4)BRC[[ ML;G(!+#'A6``VD-T`8XP9#G&-Q*NHC,#:EO2!?B<9_&MTD`7X$`H(26.E)0\$JR)-4SIV33D6ZQB MJ8XW.K/+EB@7I51HE(^2"T5*I<'H/J5I%14:\UKK#0" M&1(BPM;1'>V!4&";JQ`4,H+B4"ACQWR,)&.I])!EEER6P8LCB04WL=<\VI`" M%`M$1+TE'[DFCB6@"I+@,D^J-$7E`NP4/_II6K)%AE=;.6@$I=\J?%U*@2%:!*F%MR8=)*?:D`NA>G M,@*K!D6VJ!79NCB5UDHRPV_'`)4@;E4 M!5JA.%J*3!`"1<`(=$'4H!K2BT8#F:H!5]9**K=(X8JW5]39&I(A^6UU*/=\!=F,8HA3B9 MY5SZ"\WQ(J*(GK6//(6FD!T*TF^Q1C>@.)NCD$J.CO,PB9_L)3F;X0@40`-D M-]ZZS>8@3:.0NI!])73.,;H4.?%98LJ<:'%6&;'.F;WT8E)$`;F3)^Y.F14) M(V?P[)>/476B@,FX._^F[QR*RQ-7;<5]"9`@)^GTBZ'1,0*K-7E^BI;5[%X1 MH0@\`2.P00("W*?$_0(````````````````````````````````````````` 4````````````````````````_(,` ` end