bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PSclip


From: Pete French
Subject: PSclip
Date: Fri, 22 Mar 2002 15:21:19 +0000

I am seeing consistent memory problems when using a clipping path in
GNUstep. Sometimes this manifests itself as the clip working properly, but
then I get a "Warning: free() called on already freed memory" when the code
exits, but most of the time it manifests itself as a coredump when the
code actually runs. I havent yet managed to track down the source of the
proiblem though, as the debugger never seems to give me any useful info
as to where the memory smash originally occurred.

The problem can be reporduced very simply by just drawing a clip triangle
in one corner of a window with:

        NSRect theRect = [theView bounds];  
        PSnewpath();
        PSmoveto(0,0);
        PSlineto(theRect.size.width/2.0, 0);
        PSlineto(0, theRect.size.height/2.0);
        PSclosepath();
        PSclip();

The following code demonstrates this if anyone else would like to verify it.
The code opens a window, clips it using the above lines, then draws a TIFF into
it. This code works to produce a clipped image on OpenStep 4.2, but coredumps
under GNUstep (latest CVS checkout). The backtrace is this:

(gdb) bt
#0  0x289a4440 in miRegionOp () from /usr/X11R6/lib/libX11.so.6
#1  0x289a4232 in XIntersectRegion () from /usr/X11R6/lib/libX11.so.6
#2  0x288cc1cf in _i_XGGState___doPath__draw_ ()
   from 
/usr/local/GNUstep/System/Library/Bundles/libgnustep-xgps.bundle/ix86/freebsd/gnu-gnu-gnu/libgnustep-xgps
#3  0x288cccae in _i_XGGState___paintPath_ ()
   from 
/usr/local/GNUstep/System/Library/Bundles/libgnustep-xgps.bundle/ix86/freebsd/gnu-gnu-gnu/libgnustep-xgps
#4  0x288d0675 in _i_XGGState_PathOps_DPSclip ()
   from 
/usr/local/GNUstep/System/Library/Bundles/libgnustep-xgps.bundle/ix86/freebsd/gnu-gnu-gnu/libgnustep-xgps
#5  0x288c7c6e in _i_XGContext_Ops_DPSclip ()
   from 
/usr/local/GNUstep/System/Library/Bundles/libgnustep-xgps.bundle/ix86/freebsd/gnu-gnu-gnu/libgnustep-xgps
#6  0x80492eb in main ()
#7  0x8048c2d in _start ()
(gdb) 

any help tracking this one down would be apreciated - I use clip paths heavily
in a lot of legacy software.

cheers,

-bat.


begin 644 cliptest.tar.gz
M'XL("-(]FSP"`V-L:7!T97-T+G1A<@#M>P506^O6*%8DN!9OL!!"@.!.<9?@
M6@D0(&@(02JTN+L56DIQ=RL4*5"@N!0II885*PX5J)P7:'ON.?>?^_[WYKU[
MW[R9+F9GK[W6^M:WG.R9?`[N*#06Z8,5P?OW`5`")BTI"<0#`D6E)<7_>O\%
M,"!06D)"2DI<2DI,`L<6$Q.5P`-*XOT'P-<'B\``@7AH)PS2T\'E7\K]=_S_
M3\'A5_ZU#,T]$&Y()Y0[\O_V'J(PF)2$Q+_.OQA,ZI_R+R$N(8H'A/W._[\=
M4)X.[KZ.2"`O&%<`IF8:\"L&*GH:FCKZ&J8"(@Y>'AY>GL*G=0$`J,#A5PQ5
M##2`BD"_TXH!G'U>,5+55;MR)O^+(>P!`/Q/U2+0:'>4`P*+^E,WWF_X?]W_
M!O^FYO]?Z']14;%_ZG]Q:3'QW_W_GP`U37T5K=/6%;)$N+L#?C2UW,]&]@*0
M\8+5U`2`0EX_*+_H0"$G#,(#Z>^%<0.JH-%Z*"SP=P___]W_9XG%HIR<_M/]
M+R8A+?[/W_\D1*5AO_O_/P$Z.A`\&@$\O"#%2^MKTXQC96#YC.V'NJ48_"AZ
M;KA5H07?^3A-G62K%54%?&^NV&1M4T\J>(KJ<F*90HXB)?L(I[#WRL@U6.S3
M!,B3]B;NH1CEY''GE/)POMA$>@^4PBJ78(Q6_@$+._J;99GZ)G5YZ\E%F@=P
MX$1THQT81CY:9:IG==")G]K'&GP0R,UG'3^[:UEQTWCO@T/KVA$S!ZVY<<V;
M?:MV)VF.Q`&'4I.,5R9MG-5#&[-?5_TN7GJ"*)YG%4XV-WOBM&HQ6%QYC35&
MD2.2N9@LG6^^A\^E-]:-!C]VZ&`?L/TM,35D]5"FXM;`LED>XA[!?DXYAT=S
M(FVO7F^.WD3P6XQD)S.)02O8N]1DRRCQ]>[GFQAFCV96@:&*H>WC]H_7+5Y*
ME1UW29VG_D(<4K718)<)(K\>MBP,%IQ]T.-DDE+4X/9LI%%V4#`I4-R3G.&@
M5VLJKORB[I?:65!906\&%R"_]%N%4>A0C(0KI#A9`_SEW84!.O(WRV+QC6)5
M51NN-"?\VXV&R6IE)H!EV:&"N)3"VA":A]T);3:1%PF/"%[F>?06=XE%M;+;
ML]?=V&G+!Z?&>9#V*;P!B5!@5:.5D4]FPWAW(8J,?8W0CR!5_BE*%8'=>.8%
M'M/0DT1MLRHAO8(X<6,.$V/HS@CD@)L<JJLU/:H!+I.G-!&K8(4G"#2F%K-T
MNV"\=<"Z<DRII8;8I_(CT!G>V@X&>>[1PLV"SS6%1WRD#X<^"-Y6Z)B]!!IK
M9NAK\NB$A5$%&@RL]#PQ:MY/6]:),+NHWCI!-.;0+'3WK76WR8%GI(I`P??7
MP&H?_=119Z&XA(H/\N\-C0`G;4:"?@V*X?W-6*M[T(4.Y8MJ`QSIAOTU@3R)
M+[.H-/3TH(24L36I\30/IM_/8#U>^R]9@UY^\O[`4K'MN\D^ZQ<VJ3\#5K^(
M0$B$',1:&.:#GUR9TZB.%WP44Z>S&%7M&]V7Y)'E-=Y\GRUYBXVJ]WA&X"NJ
MH'[^[L5[4J/U>LTO]RK_L,Q_Q$J>\\ZF@[S=95`^'@NN+W`6K9X7O%/H4MJA
M'C,I=8[/;>/S9E63E\7UQ]:3(HZ!=8?9NXHAXKOCH!JDX0=_YD*C(KPP[@_9
M^:G\NQ:2G,`Z+>78V;PQ?UV_CGQ!\Y%.LH="`-I.UKBA$<+\_(U;CGPO8J/G
M=JWS-W<@XZYM1MICF$>C^^E:KN6M3>BO?XP>/IODYXT9E$W[8CKY->3QUBNS
M.VTW\HZ'V"=!\1+K`N/U!98>F1^3+:?I`052^IY"#^M[F#:C=,C!!O<I90ZC
MYJ/:Z.!EWM^:C=.^6ILF\U#GTZE:P%,NW,7`J%Z8`4H`7[-#-G06T>W2A8^^
MZR_/0/;6+](&,&"LEEV`)6G5CYRN*L]L-$#B.[)H5:^^FM_##ZEBV"EZ>+1S
MMR<<U-?)W0#BH`!"^>(,?=\P$A-KF,OO<GGG"-R)#)(:;$@@2WIAJ_@Q_OSB
M((OQ5F%BNO8RWOU@^PL&OE;B?%:)#I`'2&.92$$I]&3N)#*DKUM9Z$`"GCMT
M8CY).ZDIJS#P-G\AJ!H!H)$NU;R:%P-_K[&8>8[JVSL%56\*5<A%4%2*SE<:
MA5T%+?7^==0=%&D0KH0C5T[:3-PM>`Z<A#32J\A9KB'BUUBE=(ZK6$""?V3L
M13`,<W_`7R"7YC7IE.L+"J@<#'UFM;]11IN[)!1)%",>R=!%YW]YM.#F@-TJ
M?I5L?:[M:C"A5S]^)UBF_EVQ+2TH,O"MQ!-G26Z*Y_FFB`+ER;3DPGOPU&+H
M06^JRZ[JXKO+T3<SQ\RIIN]&[PJHV?B/,P<+.>#S^Q`!UX"'^!2SY!^*262[
M5-<,&9@:1U+`K>$0>GPC_DH#\_YO!Y-RV0/V%=CDO>S/O`$V;T?PWT6\:[[U
MA/BB=-0[H:L@.9H+\\;47._,8OC\B+K>V2BE[Q,'I?&"S&2DI2WC+U03C]VP
M'%KC=@T,-B6ZQB>MG9_D0E@&+DQ;,R\;IES;=JXX,'![]J@_B73ZJBWIC%;S
M<ROU&/I!&'0PABED_U+Y^P6'C[J95H)VCLR4!NKDE'PMK"D,Y\F6X?O"^'$5
M)GB7AMLRZW<ZLH_[U2L$`NIWX[<+V:R:JE(BC<&=3*8\I4T)$^I-9"%#UF5J
M;KOXC,T2'D3*UJ1E49=:[WN")N#<-#J7TTMBI;Y99^K<(%SXP.3@>/7AJT?#
MCF]MKK>>3WDQ=<YLJG@CPD]5IK;T2\.EPG28"$/^WJ(I4Q?JTF04!$36SUA>
MF""Y!DGB>#5A8::#2/M0-1N6?*4M[1[GS-WJM/P7%MJPDT7ZK"RAB?&+OF2<
ML&85T4HB:H)@GXB[@L2VGTH'6%J^*T6'TW0DC]Z@)_ZLL:G\-%L6>67XB32R
M+OP=ENODVXM[[0-<&MC:IH!H=?MO!B/G]F,^JZ9<HB!+JJ>8:0V[!FG;+'X^
M'MCJ[2?G8TVZ39V55FGWXK&0+2+QSI`MOLT<NSFSN]5Y(G0['?Q@9<3JLU9L
MIM$C-%-N,J_C;CHB9RQ5XOF@@EN.T*WK0AL?6BC*+OB/N)V?Q':\3P8T&_"K
M^PFV.K44X.6Q[2TN"AX'!QNG\!%1JV5UK$"KAUEG:/9;]!T+V%->IG.Z<&*7
MR,,R#$F6[Y=OKOC-G_1TNW%WOG[@&/ODV(B#"\7/@3_BK#/RM10RK.@I=3G9
M(-8JDZX1`VE8MPM(FY_<PR-TKS1<YO+9?#74@"^2RBK2??T/"["&EYN_(R:L
M>,]#-Y-B/J9H;<Q8^_.!\_GN\TT](ZX@=/6];:W86R-!VZTF[77F]\IM=DOD
M>Q-32:T?'#M$E4N;WZ6H%N3]I`H=&XP%/`TOO?RNN$8TK2;5"/3">5[@0.AS
M;GZZVOT1`>'PUQI!86X/;[=<=:1[H7XK?9E#P;Z-*]*">5?`-R`_W[?H]@0;
M8CO9U\B+^*W:SN3JHXG;[-\5S.GA^TLVBB%BCMBTU*D5%4#/'\0!S[.F!^&W
MW1_?JHZ<D>^U#*-D-S-<-_EZ>0'\IOXRK?H796U^U7SA$+'Z5[TS`0D#:?GR
M(%W(^HO]3XF;/I=@M=[F,U7F5T6_IE8_^\Z=?S/A7'PM4Z+5[/38)WT9;]N]
MOI,[Z3=:O#EW.NDK9E^<V]QM>1E^URIX9TGIU1KUK4^[5=1'T<WK%2T]FF:;
M0C;%5(U=1D7X)/,`XM7PQ!C144/RN*!T#=Z\KB4+3XM^[;WPA`-Q5\V9!.AE
M,CQO!W>PJKN3R#-NZMFN<@J2).BUZEM]#@!PQ9CCYMZG1)F/\7$;6\5J.S=?
MU7SGWF%^N.ZZ*L*Y:G0D&EXY`3);#`6;[7$JA%1G0/7WHS[?%"S?HI2)="=V
MA72":/2($6:Q[JM9?;SH74WE0:+)>#$Z0\Q'P.6O#@1^PL([1IBYP1YCH4=/
MQJ*RPJ48]7SPG<1H>Y6^#Y,ZZ1)/+O&1Q@>2CLG=&#TXA`O@Z?<7Q-='N-8R
M[Y6[5LGUJ\G$N-QTJEU_&7.;>NFH+N8KBWZ.:JT8-[&?Y$!+5X1[20$X6_#V
M.7N)P>T4VI&<O*`64U5U'QTUFH5<8Y&OW^(,;?2GF%$QW>AIJ1&[>[6D#XKJ
MQUUJ"%#?@RKSWR8JN(Q+TP\@&`AXWT[2E,'WZMRN=XXODO4`'E16RB5?P8.]
MHX?<H!<(F=ONT8>*T[WWC-^;YO-Z]85'*IL;/+OB"M_?90RY1L8C35D7M*3[
MYNU2:3':)(4FH=-SUF5`A@06P=7':3/"X#C*P;7U@;=8J1]>S:W3*&H@G"T*
MIQ)9[XZ$DR<]`2GG>D5B(G;Z'P-N[@O,1>;S4>;K@I[$*53"!%!=KX1B),8"
MSP^NN)976D-M>%7W'AG>`^:K[U:M;*AR<8<*<!C.OTVZY:%ZA79`DC:!$[).
M-^^2T!WGAUBJ/BR_54!10@HE&-&U>!\KR;8D;%1O<4'KNU.?X6/C$"Y*%%2(
M]5E^S$3RTC8LEDX4?-"515/$!UZL#%ICVA$@F(R@%$I*Q??*EGU6'@4]S[DF
M44MCA31195ZW&BYVIK0G%WG'>2QDU<:CL$]S=6WH,<20`49%3>:<*)PO`TDY
M6%`9IJ_6OG<PR$ZJ+D(!<C61\M*O'JTAZD>W%!/I@7OGBJJ&UIYQ7GGOQE\!
MR$2CA<DP6_6E]VK*7\'SJ!/\4O+2YL^]>8M(0.O%G]]FEQL<Q4N1FHQD^C:\
MI5VG_F8J7#"Y`V`21!;3N^#V"$\\AO4)T\A4EBJRNH7;!;XZSM=P2*=%<Q5B
M(X[()\";Y?."EVQ"VP\VQ-?)"4!CS[4M>#6,*&+694RK+;F)7SHJ>=M_8(H/
M$*(AA:=Z"#H8@(1O=J/E/GG7/^@Y`E'$G!?VE?5,*:JU<'?'XZ%`R1VR.GOE
MN@SV;$\]5QM<L'-1E'2XSP7#JC;,VF\OA.G7/TOZI'Q$R<`WH[G$U&AB?^?I
M>7!,_4N)6_OO;]-*>-"$$)?4&I.2:+[V8+;`<NX[3AND,_7DA_-##%1*AT%"
M25OD]:[EMFI[XW*K'@Q#*]^6;BU4]DD2WE*O_6ZS3W?\K,F0;`6]]4"0I+<X
MG]AWQQ/HP\*]MC?C6?SM6?:NE_8-SR:`4!SO$1-[C9A+0PJP04BWMKD_K=RD
MQW`YRC.1)BP:0%0U\8"#^Z%I*C?20.W\R-!H;>/!<J;;=A%W_KX63:_,]+,O
MZ20:AWN,6E'#SL2"/D:,,UCXAX`45T4X3S?5;DS`$V8+8.:+6&KKL!=BTP*(
M9@X]H2"Y-`C7DWA&-/9C+ZE+2L[T<*(\`1_1[GN36"D3'H7.,GPQM8EYR:$3
M$VD:WZT:>*#^6I[9QXM&S\2^J3V\F.39`7AKWA1)'7)TE9%#9B#_JE2\"Z+2
MPJ-<+M8J(XU/U8(=LUP:L1T227&=:^*J7>TF&ZK'J&KHH0#L"0HZ,U5C,]'F
M6%"ZM9V]GQO@Z:&;8=;<;&IK)D$(__"!]AVE:<E#9_(F2WB2EU1M(76L#!.`
MBTK[10J;/&J!.Q4JV^<$-O*L,[G^;2">:Z^!N6%L;<T"P&!-4;*WO*XAZ7HP
M&>&A1FR6$5\IN!85]VY`.74V!@+=/5Q(OW/%K!$\"0AV"&KY4K2B88ZU;VC0
M)8;,^"MG-E-R96B8#UYS41GV/L=;E"]@M6FQ?RXJB2H@28`*V-RX6-:S$2/B
MXY-?MT<(;:X2]&1>37)1CIET/P+OGZ/&\/<I^AZX]"JY+^N/FU_N2FNV^9AM
MHG_!:;S/+GE/XO!9=1*I/BSUMM0G9Z<UL9D4]8H,[A@+U;*CJ/Z[N]HVNU(F
MP'I.11*FV[NJQ/8O?<$[*<Y%G)5F+,;2P/70VTZ//?2+=WD\K$*_EICX\\\J
MG)A3&O+/'E1(2J6%;,"N2DH]=]99NVVJ#6/JD%O:5YHN%/#/Y<E(M&8ZCR+0
M<QR-%Z^@2*+#\Y^QOFR.O%7?QLG$;1&^#70*O:3*A?SX5C,1$&[(%J%#236,
MF:V)>9*/AQ^,^T+G]_+J97&?0FM#7QU5$L+P^ON0O!&*+)9`S>7DN5=.ROJ)
M6HZT4=,)QAP7=5=J!0C[QA0R]8O%9;,US[%'=W)6!BS/O$G`O?JG3%!TNNG<
M-5F=8NGC-.(H&>#J(V,+FFLIZ=.2$%O8EYJME4P>T8)BAMXUSKO[#5-:R-J%
M-&_6R1'([<I%OMKY)-TP:'ZY[>V,L2R[805AM?W2E-P[EO4MF:=\SINWKH@2
M#@U=,9<9G0^U&QH0G!S9%ZM0>*"Y<3RBORSH&V%9^B)[!1,/'/-TE;]F:*&O
M7SPE8,=AYD,6UJ*Y\\6*T2=R<FE+K+Y]NB;C)'I1</YF5?.HR][3!$%G(LQ3
MA_MJPK=:O.HIK>SLOB=Y^65(EQ]K7;R=M=G2QST6XH`?&2.V,Y``5>5<$!?H
M*8V0=ADV7,.#SDO=ZUX?6HWN*6-=H^;Q'/8F:Z!I\WS#*PK,(BXGH[\YIE$K
M6$2HG@MHWWI*$R.%>Q^7DYE1K2M$X:E,8@X2A??="=@3^*[NU+67$!4F5XG0
M33=`W=J:NV"Z%#*1S9JF\ZM@L66"?/Y#,<[.W*%*Q_ZN)(;5V**)>8J3>QXF
MN_Q4F_F<24JF/)YU@SZUF;,%:#W2`K4HQU`V:1V]1]G";FFO(O/P[XGK2!U(
M7#)J$2"_GBB6FWN5?,`SVVX%1OYH9\88LQDU([I?3V(N$[P2$]6[?N\D4*.,
MB*Z\:IBG/U!W8'ZVP3I2<#KQ(LFS]AI)W8/5&7[4IBS*2,([W2)=]P:'3!EV
M*J2:UU.185#2/):W1P][3CO0AF3ZI%J'ZMD%%2/J>FF4%>TEN>17&WT2[[@^
M/J*8ZJ>4I(8O2>C""RQAHU;QX](V\BJOA(H\@^V'S`."IPSP.1@*HN]6""C0
M]5^!O*#6[:DQ-=V6-'QI<*G$AK^2^VN7@3J6/I?1ANXAIBYXS#3N[?K..5HM
MYQGB`O7W')H@63GR0,ZTSR]E@ON9V'@?U;A(1H>#,\5X0O@@4L1QC\J0/)6>
M===UV#1=39S+B]RRZ?-<3/8Y`DJE1M?4X<=T&9RT/2#6637;]C?I0R)BLA`^
M*<GX:*!7>OV+45&F$8\10+WB56ZWG"3V*1N+DXLV-N<!6MID.]\'541UIQC*
M6T\H_?D?3ONBL?816>W>0(J'94:P*XE)>#+^W%$G?N15:B>3E[P[OM35I#>_
M#91O_,SFY4-=!LN@$^^PU'G`]G3@+<`YHU+67W3XA9\G\@M4DJY`8N-=6#B)
M<N:`!"&:4O(09,S>,I4D:Q<OQ"8C3GJ\@.!QJYYS:`JKCC$=>@5.N)G34-!B
M3.6&]=Q2B*H@";OSAO`AL.]U=(=#]86<AH&(L,6^K)26A$LT)P:UT$#1!N*K
M3'7J@<YDNSSJD#FS+'4G!ZLD_`6XL`5FR%IDV_GQ7&$'YPL"L>)RZB9F2IK[
M:8YQ3KYJN6:`+=(5,I[2A'.J>"T[Z:R6`JOFECU+ZVK/R2+B*>58DE=!YF8L
M+[C1LVP]T4R?N?<[92#O4G@=-#4-3!]CRUK+M%1E[.:^#-U(;-WE9EY2(V\W
M!@_+"CX.[F:PI9,2J\PJ`P5(;.;%W;0*@ST/8IYKM5TJ"`_E%!59#P?R09&>
ME*\:TSZO'!.;G8/M?TZD5%:B7V$QX:<ZX:%_3L(W0L@A/<FW37OD(;/:VW[G
M68*FH:IJ"2`F%-NW#J:5H*LJ(N2*]BG7D@[0M7Q[F)(>?1FJNS$W2S'T3'@O
M^O[`-:G]6.5V.AU1N[1/D=3C/C:,ANQ@I9+:?NZ!=UGQA<+&\!:[%S:)85@I
M2443A2UF:RR6"SUD/&T8Y_(^*7OZ'5-+BXQ7-$&$ZN@(2$'-[+EC;T2JFH!I
M<``'.'U&3P9DD<""I(9$S7^T&K-"RSZO[P+P,N9-B-%)M@3!G=/I'@`/BJL.
M-"TK\#D*M)OH1^K1XLIXD??ZF=(HKJ$L0Y;98)%$R?GS!TTZ&^6EU!$BY4S;
M`-0@N*S1L'JJW,OQ^8PV&Q9!5*;*_<5\2"!W,BB]@>D*X["$V7D!W0<I#>I^
MI-<W$ARO>TC8FXHF8I*N:5$2-->3<+ZN#,XL5%R(\PVVJV([*21:9*<Y3!>N
MIE4$>;</JE3(?-:]%F9J(:QAR`:IL4TS$&<2V$B27N2-:C2L6RGVE[[6-2Z0
MYG@'H]F8+<7GRMUGP5/!(D`K6>AGKW@[@LYI)).0YO"J7'7E9`JCF`F]R-5@
M0_A1<OS(K((QC^]`H?A8YH.>!GZS7J(B$2:?UPYEYC2^DA[CZH6$0Q*6<94?
M[<T^#K`?/ZM.?[>AR8C?W7Z2L"&T'-.)A.SA,1<$SFI80WF#7[%(QXUE*8K`
MHD"+<ZZ?-X`LF@V]_=1F69$T&8>&=M*L;(CH!HG(&:]4QHY4$/N<.C2'_):)
M0OJEJ5!Q)\D[K>.)S`_9VC)T[9X_93CQ'=EZS%+;#.&1V%_/9H^I9Q^]<.O#
M\7VDSC(+3\A)CG;WK&T^-,8>8!]5EBOL\$J%^(C51$;0.*>A-6ZC9E$]68)`
MU9F-71>JPY)AJN3IVD!:RPJZ,"TM@30C-*+:9G*8$$_(57O&&6(YZ>_[/#M;
MZ05(W34XLXG\A>!0B%AEN%E.Y'8:6$1([_:A2E`!%6D^JEFK!,OQ;#"9\H&%
MSKW$]8^E\(_C`E?9[Q2Y02GY*4/IAHYW_4,_9"H^;[JO#"7+*IT,NQM\$;E\
M2>;^Y8S!";E7((&;Y]Q%O,V'V73[E49?=_L-(EYZ8UCG9E<N-%C!.UK]Y!2.
M"^Y5OM>Q*RWQLOC0<_/.=&:_V3@]&XNS;KG4T<A\?Z)[FB"?@:9'IN2C>B^J
M(@_IKP>V-(GBO-!0FQ9JYBWZVJEQ-3Z=Z(0:\".AJ&R%B!(]CM**^WUC<].0
M+];]NSR#J\#%];"8?>63:_3$AK2/WMXQ2G]9`C9+\E[:O1W@;W,3;:LJL7N.
M4&[@:;VBO[(?!^%2U$BF[4<'KK23.\Y'ROK;^^9_?#)\]][L^_2*.F7W,2\]
MNWBK2H0M>_)BCB)Q,:77"N?]]^ZJ:`1XNJEUF?/6*#59""O'U,69O0@MLA7C
M&I%+VZW#8^[E<MJ"U]^V$8$^O]<ZWV10/YS/N#I!FW:R2G<]T+1CLNU:2D:-
MF#'Q$#/MT=>53SL\R[WBH;$-\M]`:NM51WB5]"K\J$'9&_JY]G<RCKTR4A&P
MNQV%RA'2]B7`.*(R.SRE>1]:7?Q<00COL5&V-;=B;,V=5OXL>.;C8./.UO[2
M("UPZ"?"=C9AMH]1+V3PA^=D:N<Z=7UX0LJZCJBBAU?#30.;'%:J`!FT:DJB
ML*G"KD]\#2(@[H]W0SXIR;U0TJ5O@=)'Q[I%\1"6#N24$]:VNNZKBIZ75T'?
M!=?PG00FZ\,@Z`&*-%:B-`6UGK)H?*6.TD&RS![A:-['>UHJD^_K1`V`,2=2
M<N^:!.99!0/(%W+SNC=)6?\H."Y3.+2)9BN.MGG+SJX3YBV>)2]1/.?0R_KI
M/(`BUU@E,;5:><JOI<[P\;H65'6G[4N)(INU`OYZVS)"`V;.,'6#_LL]*<'J
M!#:7X!$V,E89ABVUU`U6M6ZE_GN?4FY2M)2SMK<>B=(M/@QYI;R"=Y>FO/G(
M("DUI*%BI;<KOB6V$R36WLY24KMYCAL@WK<.4J.#/Q9,)B.$WYGFBB-\KF@'
MRB6GOBM@`(3$L5DE"0\N0PB*NF,.80&<<O1YS'-)FJ7R\69J/?`Q=05.5N,B
M+3V3MF6,TDEAQV#S^=R2-/;8OJ-S\JRK&K(&"FY6<CJP(@G5JL-ZZ1C@74'X
MTT:'ONA+.@[4O<.T:C?42N99[[S'Y]^BZUM(8'U/=A]8GMD2S<$UQ2'.U7"D
MJ<T0'#54%%>FE'#\5%VF0-V$9)!6+38;VGDUC44NF\MTEX((,WB3_ZER,,.4
M.<&R+D1OHLS$@3K5HIB'ZEP/I8:^E5INUA,Z6'MH`_[R\`BW4DC(G82ACYFJ
M7D/B.GQ9SZ1Y[Q:4#@(DU"J?;`JX-=%Z%^D>U8PBSLN7R0&C+U-4:@FSF[4+
M7@LWZ>HV?1U%*PJUDU2FB+A(OS*\/,AYXR[,V(\P;HIT8QXHH*39,J)O0Q)S
MS8!'Y[Y6[&VJ(?QRF0@E\4NUA)"';$3%/L)/CU_%I:4]W3J@&ER5G'"H?/2\
M%9JGH<=>O3D3>C#;$SVH,8_5SDYZNC#^2.>@/;EKS(P[STQ!2YRA1?!QU;TP
MTKEC_DT9P(I-O(Y'Q5%8!1?*X&;TD]QJ-0;[UO)K]')W2E*-)IB1U*D<19,'
M.;SO![N0Y.UF)71BDEO7HK9N<'KW,GP."@I2RH7+\#)DD>#U7%UY2L?<2BFL
MF*-;@GG=?"M.51EFQ2L,NQ6O>?HVDJ#'&]#Z-,5E"O>B$@TIXAFP$]K<U5)^
MM<%DNKCY]%Y!L3#NU47R0H+JBD3+-":5-"R<&#_@ZW&B.EC#UK>\EXI+'FE8
MDCP8UT^B4F%YM<F%;7+.NT:M8+\\Z;*S?_IEDCME]R%WR)N4*ADK]`]>$-0B
MW&6B5ZF$5*HLUYNO]6*:"'N,UJP5-)@,U'(,KGX$4-E>D*FU$-N#S!`;"+-L
M"?M_5I0C;\#KV9PD]^TY=RM^N^S0.J?'N>;.,/*0.5RLSNK)0NV+4D9.4?9B
M4QFX$I&P,V'FQ$UKNPW5*E3^//\12Z*6'D&4"XOM6R+]I4KY*>&'P^,?/_X!
M<BN7Z`)761]%R8G(SQ[(:9HT9G4F0DG!$JKVDD3\.Z%EQ)6:IF:QW!0GH.FZ
M.BA[K##WLGY5_N@\>W#YF)QVI:+NHYA:98\*]YW<O5BBL0N&A,VA$#SR>#P^
M'7NZ.4$J`HG,!I`\+%;08`L#DJ<LK.,JB[*5`FO2C)`SB";+/F1\4CX](Z92
M<^VH/M^U_B(_EX#XYS_&Z=L?398DNMY:U5B'OGJJOTY_`]`F8<!0J^W":R>L
MDZCKK<PM'G/[')C&/B*_<ER(\SEO?%A/Q2,GN<IM+0Q4TH2_]J6W9BZF?6>%
MV&5*.]O8C+4_Y.FS]OJDR8:Y+(,8!AY&@7OH[D2DC'&,V7K74(^#'*]X8[+"
M_/NMV"M`4PPQFC+\"3@[UTAME#*?J8@1\)!T^K76JV$"_53I*OV@KN&/JEP2
MHQF%D/!V(?5^CSE#MLJ+5[89C:UT/]W5B221-F<H+7>G'*G02IF7"PWM5O$)
MU3.);N1A.'J2'Z4\(2&?GONP9_;!VP'%*G>GU(XR[UI9<T7*R52A_CF$;VAY
MN);Q27TL2$`LI%**<CL]MF1S.J^0V\,-GF.I:<%?-6?I&1UO;_,N.`]1IFHV
MIV/+-)TT&$\1*P(L](["1(:]J-RQO?Y5/K"3U*\PNA-\CZN<.YLOF]/PG"6!
MN=WU/8)O+Q427$Y?0\@]2ZABPU614U[B%WM=A5KS7#R&J*I%RX4G4KBI3LA=
M2NZ'C4K>P_(&TA1FT"G$N<LH,BR.!1B*/^.U%;-<YGV],ULT_)USN76GN*FT
M?%.LA+2YZAOHN[G%"J8;;6<*<1K(FRUVEO]&IZOC"A-A8:]0S#ZOY/#5I?EZ
MR$TFU>XU!W1S<]@K>5U^,HW[0`Q[^:O-T*NHP#A>DZ2)'/J%Z\Z7GJF8-F."
M[XG?7#M&/;RCWQ\MMFSY3N*E--?0B"K"XF8PNC>O:13?%*,$%H9V56<PF+S5
MD[39+A)L>5CK%3E5*NJP\;7:Y-9`GRR['-3JP;V(A3_,C"_<<)[I!SO7KW(>
MM+E,FC"5]]=K`;H[;(V.Z[J=;#9UQ:+C)BM#ND,^$.>(!\0E'47*9!BJ9<KV
M>/=W7X36L]O?;[O%W?^1(.-<U)I#*B(2MLI`TQC(<9_(_(+F0BIC;]!@]!<C
MDWV)N(>EM;5QY)^0H9N,H(&PG2>'GX*J#H`=R!2U9)IRL`@TK'0N9C*[W5UZ
M%\`6Q`2\'!_"Z%M86DS[83,)N.6345Z,Q&-1->)S^,#F"N^3!W?S3;P@].X5
MIGQ2C*(&V/4+[?#M##H*B%A9QZ25,Q+W/0-Z\C,HN_"2[5T\W_)`._N#2CCB
M%6%:#4$JD:9Y+$U-?XA,%;N/V]W#'*>NSY"#A.$*$O!0=$I!D`4_T04-K[U%
MO3L[7E>(WFN--V:S/7_5:03=3:V]I=$*?@HF6WEHY@VO4I&B>3D@CT\['!!,
M3W^]F!6?C&<ELQ(J8-5`Z?`Q5ETUG8XD\RW"T<9&W4`D53PGB49<SS3=I-2@
MW,*4W291:6VU9.+$6US7\?'%WBQ\FI0N+R<R$F[Z%Z#9ZW)]>&V3/!\BW.NG
M@\%+=%_O)\T[C<[;Y+!1.IC2&@J2L(S21RE2)1C&[P%17OB&&&6$-UEO0\@U
MT9[P)+*$ED`9V<LQJ8*QZ5'%,(U""ONR)942(;-8&QVGC!PNO<+>I3LE%IP'
M0E^_NVVMJF1\R#=V6?&HS.NUI2)0LN(ZK#%(/;B86Q^V;@%)B05?F^2KH*I\
M/10=_;%)7`O=\F@>$B]#=&NN[*6>TN#*X07+0214^S;I)BUS="CG/5'B^_BO
MHTL"/UG;,R(%;I1([JA`>Z@OERJZC@OVY9<M9N59MAG`&#4J"S&3C"X&5HOT
M2L!F<RD]#-"=#]&%H;_.WIZIH+K*K'#?-2XK]7S7\ZN%;O?!GEP7,<XWJQA-
M;T2]!NK8$:$9&:Q4#FF;=,,2XY)&;(+3CT)D)TM)>FYXF)<[O6\Q;DY*86.I
M4%'M04"FJ2$4%[S].8,&Y2P=JXVYN+RY5^V61`4O8!)CDC_TIDJ'&+A+"E?Y
M1\JR2IOIS3>\J=E'?!G.\KW%]Z&+1`AVIQ^:Q8*-@,&E!N/Y,%D9A>)!09^P
M2<]M)C+B9\UB8A+6'\\_Q4J\;!PA\8AKDG8UML/*7MVL3J.NO!TQVB$X3K20
MN`0@0N="`[V=\8>(]#I7,D>I?,S5",U[WQ1%*#ITVBARZ\_S6M`$>Q7PD\7=
M9YH-FSU9[(-=-_:8Y_)EJ$Q1*Z>I,A/3:4*FI,Z/EI!HJK4W3,Q-$N!7U2]*
M`=,/IZW`TC7L,YOW2=ZV6ER'W64L^K3K+=F15['"[[1U_#B/@V.GY'V!P3Y[
M`<VB^J,;UXH$"]Y1RX'LSF?$"""ACGVLAF/HV>PGV<FA5['>$@%<8G1+D:RK
MH6Q&<O7^*Q<UM-D>1RDNM,!O*Z1^OR+NULJ5'F[UIH,>WWDXL(UV@/4!TS?]
MRD8F:/Y<1WZ;UNZ-.HHJOSK73Z+W^B<>AGAFMJQ=N9^S.]*:$TZ6X/N9/L$J
MW^=+89Y<7G[>UTZ5YS'**PZ<DYZZXV$2*YX8\Q"Y[83SEYIW25<.ZA)B<\#?
M,CF;]38%$\4]7RQ,MG]F--N@>O/>P,**R6/V<K"5<8@.OGG<HG^F)-?G+/^R
MEXPW5@H/*ABLBY:^GK]],/RMVC&>9E'2BV*CS+OF.$)<^KJAK&;EVXG!U?A.
MG"WKH1ZLXYY?YN7-WO1-26-!EQ<\[I=T(3?TEE:_LP(K#64]*D^<6JP$>]<B
M9@M=FQDU<\W#;E9SN\:(?+<@@Y^4KR2I6Q.">8,G0)9+2DJ&[-\)8_@VQ:2K
MW"?'$W1W(+TJ1]=%8*^]UC>%GVUJA`VZY]X*,=L18=\J#9H=G%W1K@;&:@_P
MZO..%B-BT5+CN7LB-(]5`Z0(0LK'NJAX;VI`M?=W2]T\TT9`=,<&2\:;;H2)
MS0+CC<E+H),NI_BU.(%P6"LW:9703JJCN]UB`@BFI.Y4JQ**[O.R"30LQKH7
M_Y&P8D`Z%N5DLEZD.0V-&`EASQE7RJK9":F%"SS%AHXY\2Q?E2*U"-(8F-_@
M;1PK9][3YW:\Z<[W@K`L,\_1Y`N<`H^_C$'G*<5*S,@F6"!<@,X![5.N0U^2
M?[FT\4.2D\T^A"R,DMX(#J!P;2,D.$`KEU35FE*Z9X_`N8;`>YL2(9.@#2^B
M&UZY>8/-6OEO(#WZUCI;N:41A[1WF$2<N%$I^33-HUU?AS46NA-R'0SK8W33
MAKU"M'NN4.J#9/M?<U;*%+GDS)+#.Q;9O5WT._K"=FL_'SHV,7<W[Y7[\5,E
MTA>5;ND-9!?:4JD%;(U$TP:UDHYY;FPW?ZV"24VX&D0H[PX_`QIWDL7PIL)7
MW[C9&22ZJR1G-B?5YM,14X\-\L>SD55S3BU=SM@%]:COLCYE3S0A;4;M1"%9
MQXI*EPN^"B2YZ.F'W213XX5*N.O-WU)AOVNP4)JBQGJUI?!<3V)]9R?\U900
M11M?C/K8.#C9IJKT(G?T5LHY??[]5`XT<PIO!;M@I<&@I_\2.:>.V*/:S9<T
MF9L1-1`MW0G^1.K5SD0Q>/2&52WO,.LS3J>4.LA*X]#"`\'BA&4ANN3J`+6*
M/WC=0K;45SZ[#,P5[,76H&D'C&GHX+H[MU92J(7JMZ0&3]Q%+UN?2^H8M7D3
MZ[I`]T6T@2!Q>&R.@(R>X`JM0#)#R!M0#WJN/Z[U?>-,0EA1TE<GMTG.D24>
M@SV@O3,K915774A/B(X(I80)P>6EE2`P3!IHU+*G`3[.S2-)ZCDF9HI018?Q
MZ['!3`5-5'<D"-[Q1HCIOR1S_NY2#$<GNI0)K[8%Y3;VU.;0PJ="9#)V.0#B
MF0W3$OTA9F6I/8>FD.\8PT-A&4PYT_U1*0?8"2CQLE7L:UI#:C+^$YY-#@F0
MRXC[T'X,ZU-(TAWJ<`J,C>YZDC=J$-\^5*`L2X52)I^&MWC)]?,`!7G\GE\B
M9(R;@!(/#Y\0#Q\/#R\#=^'_Q!UQ%P$.)\3=ZP7P\`A_TL_A+N*?.`'NHL4G
M.KNWX&08?])/US#AZ*>X-NXZ_U.F"R?#BG_NC#Z`P]E^XA,XG/WGVM,+_!?]
MIT#Z\P\/SY8=#\\4=S51X.$%?07@T?#_X_Z__?O?GT<W_AV_,?UO?O\O(0X3
M_^??_TN)2_S^_>]_`GA^G=11\,$ZHKR$790`?R.YH^S_3O/U1.'(?Z?].`(@
M\N-VR@(HHSRQ2(P3P@$)5$5A+5!(?Z`<T-#T%`'<P.4<$`@`"`%1GBBL)0KK
MHGEZF$`.;&AJ@G3`"IP=+3C%Y'$B8%4C(WT!E(\1&N'MBY0'``'*2$_'TPT\
MT.Y(#Z0G]NP<T7_=Y7]%_0T`F:V/+QJ)^2?1/T4NR0,`9&A?K`^8^U0"Z(!P
M=T<Z<@N<DC%(K"_&$^B#='>2_^'.WVT]U?Y3QEK#]$SDA^FXT``\$"A/,`X!
M(C#.#E"@@PNN!B$XW,_VDL#IPC,"%NF!ML4U#\X*,D-3'0^$,\XH-!""=4&>
M/9R1+5&>CE[^9\2?J"+0$^6.X_T*R2GK#/G%,#15\<5Z89#N2(0/$N[EY0Z$
MH'&?9YQ3KX&X!3\"A'/^E*T(M/VO:SR1_F?AP7'0Z%,1VS/LU\DNH`_.!:3C
M7RB7@+APX/P^6R4"`3I@D`@L$H@`^O]T001`]E<O3A7^?,"%W<OA$H",C.Q7
MHM2\<`7FB3TU\\_,W@#>D(1!<0$+A`)OB,%PJ"0L$!AXNLP'>\T=:8#P<9,S
M-#5#87%)_*'YE'3*MT<XN*$\G7%<U1^8Z:FS)F?V(AU/)1R13DB,G*$1SOI?
MYY9L_V&M#Q)[IE9.F=O@&M#L]*C,#P[WOY0W^1%+1TL7I*>:NQ<.D\/5R:_@
M^+L@L#ZGB0`Z^&)PDP<+]#M-X<6S**&<P+9_4>;P(Q:G.;X$_%5^N#HB^U6Z
M.$U>9\33RB5#NOL@_\;#8A">/FC$Z2X_2OL?R3DUX&QCA*?C69.@$.XH'R00
MUPL_T_6SLFQM?Y7;CUS]4T>=1O!?FGS6;I=.J]SVE\(S)3@#M$QQ_8W\Q?I'
M\-3^L5[NYYI?D?-!GIJ**V*O,^N=,#C1,V/_HL$+XXC$:)YR3)#."(RC.]+'
MYV_[X[8P1"(=?=11/FAWQ+6?F?FK"L<?'!VG4SFDX^GN/"@G7)4`#9%69@`R
MN*DE`H4%X^+)\R/@I^6LA4&@75`./F?F!V!_Y?;G(RX2[KX^+K^$+ITN]71$
M.?T:0=9>OKBN\O)U=P2Z(/Q..\?>'>'I]K-_H$`T!N<&\,?,.<NT,Q*W['2*
MG&7U3^=PH773]'+P]?D5,G<OA.-9L%"G8^579L]FS,\^_'/XH'XB/G]I0A\C
M)TW46>W_>8B(^ZQ9O>Q=<7VI@M7Q=$0&R)W-,5SI<OW2+0"\\6<=_MCLS!`G
M!.KGD"7[-4!A.#SPAP<_!/]IDN"^Q)Q5J",&X?]?'3F;:8K`/_VW]_+U=#S+
M-]P4-\70"*S+:9YP3QY>?DBL%Q@&A?UX=L=U/^[YIPYA']1UI+`_RA'K(B(F
M#(,"_RZ%(_Q-T`6)<G;!GDK^$',X;?*_;'9J]1GZ#[=.[=?Q/!MJ/U5=^EOF
M?#W_FKO_LW+]MU7KOR[74X_12%RIX2H$-R#^'/W_?>F>_1OZ^=_GU+-_U$7@
F[X.'O^$W_(;?\!M^PV_X#;_A-_R&W_`;?L-_!_\#ZQ5LB0!0````
`
end



reply via email to

[Prev in Thread] Current Thread [Next in Thread]