www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - updated pluggable D de-mangler in C

reply Thomas Kuehne <thomas-dloop kuehne.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This version of the pluggable D demangler adds support for
DMD-0.166's "lazy" arguments.

Thomas

begin 644 demangle_d.zip




M"/`K^^Y_3[]K"K5JUVN>*80$<IQ47*\5-NSXE<-8W+K2-(<L6):FXA:^MEAJ
MA,^N>W[YTSTCH4\86TB!VB)IS[\OX$ZZ$I34?Z1>`]X+K)TT&L86D<R=,G+W

MQ(NKRS.8&)JN'R[-AVLD6,`^A-"TFL*CW2U)FLRLRV>M*PZ<N5[./\W/]_C=

M"Y\2O5CG>:)>$VTT?3+*%471%DV_::G?`,ES7CO"J0NYCDIP!AY,VX!]L`XK

MFSL<PRA-IMF^:1TV<UP5(W(/4G(G23I^VE\XWGC"(RJTN^M90-T8 =8^5?!6
M<LMBB,S#ORP(B 9QRT25_C%FNM\K5S103\J5V%4E^B%-(1KC:6S/Z!DV:(VZ

M$_HJ,ZK+IY&VD(-[J-%2MP&!X]-I2I^3D^+4F6:^NIW&SRW[4FM">U' ZD)R
MSWX'2OH`Z:]A9&L4U/H(?.M]3JFE2_U*GN>9Q<K[3VD^^YI`>L6MR]2; LKD


ML_0K$/5M)-F2+-E)VD9UMZJ/U%LG\?.1-,GZZ4$D)&%#D2H/6ZZ;_O:=P47P

MEC<AG\UCTMIKD^U^_P4YGP<+&I%?$S;W&?DA%J\_?1:O/<?_$9;ARO,YC\ R

MXH&QQ'=92.(Y(S$+%Q$)IN+EU9L+\HKY+*0>.4DF'G?(,7>8'S$"_"UQ))HS
METP$'EQQB#R


MMF).$N,^=T#O,QJZ`&;4Z2G=V3J&UQ+,'40&&X444!;Q;&TC8 M9E' Q]V<6

MLR2`3#F![W)4?$%*\4KUTAX9^39&Q"1GT'2I?KZ><V``1OP !D<)89=<,.Q 

M"$#C4E5 T<A6`&8_`XL4N^,&X'+( P"!-X2X!K>0DX L"CH BL?$OF6(1S& 


MC\X_X%X<'IV_.3 [(X=O3\F(G(Q.SX_V+HY'I^3DXO3D[=E!CY`S) P5$=P1

MD/`I;E2'7(<<MR4H!B]<GL:O#CGRG5Z
M#J(8(5^/".EO#P
M'*EO;9`3G`=_AB'!'-JNDMD'4R;QS9()#PQ9G(1R^Y8!]S%2*GFF/(S`T0A 
M$>-+``4%.G,: ILC(.C^S<7QL= L,)]H[+-(6-84U*R>D1`B:;'>K"=<>(6,
MC$:X.D9E !%O31/?$38-<M$%T`G;:*Y"2A?P _!(=Z..S(\19\L%_!WPCB1$
M11KB[7H-3=R?C3$"1/%0,+RA`&'K?(O38?T6>4.&6T\D!/GS3Z(>/_4O`9M2
M$`HZK!OHE $AN[ND.6ZVR=.G1(\.Y.B^'%WQR.4S'NO9;42+B*P5VY?D":SH

MD.Z/"<9!I"U?`=FG=$+RT4,^!(]TB2%W["A]XPP 4Z.^& 6*`H]Z0CP(M<*<
MHJ4G,R/XHC2K=D:)_47J.`*O<^8M:R.,5AR(XZ1YU7PI&<2=1&84*XVK +L-
MVR"&$DXK9)<,U, D9/3S4".<-%^2+<R[P,X=$9\C\"S(N%[O=_N]P;/O2`O3
MJVY_N[O]O(T664I^PN-UJ*^JQ)D$ ;<.PEDEPIN8K8-P7H4P61=C5(41`G>X
MEA;C2A[71LFK4$( 60??YTH6UT3H52'$PVL=A(M*#M?%.*W"./4"NI;0;A5&
M-X!3?"UK9%4H`6HM#PPJ+6=ML9>5*->7^W^5.-<5_/<JC,[: H>5*-<7W*G$
MN:[ M!(CI"#K
MQZM-]],E:>1(V;F,G>5M#DK80P

M3-:3UYM2FQXVJ9B VD$6NN+1!C)*,3K!?.MNU<.R!V ]93.?+WX2^6(^82SE

M:K7BM*54(P>.6U+<B5AEZ26N2:G*K0N[(+-I-9\?S)E]1F7[.M?U&+8B*C05
M\9GFG,_NT96HU,:ZC&O!`EMC6#R5")B:`Y\I&<43U ^5XFK8PNA=`I]( 76%



MG/L:8C5-[5A2\^ ?-Q7$Q-3?(=B>).5X$(H%+3E\)H?!EA(GML8/Y#CSDX4U

M?P/R ID`XB*&ZEPE->M'NF>JNYQG]K,'G9AM$CPA[A"P)ILA1/1-A'G?*B,W
M>H=W<\ +I`VY"]*C:MHHK$5G98O4'E6O.BA;)7:P>LUYV1J]O\5E7^[?K&+2
M4XQJ7QO*OGX_LE[VP/W(+GKH?F17/6P_LFN^;C\>$S3NS.4&TOM_3ZC'IWB5

M(T140)ET7LE=TN/M7V8:PGVKO6N%%7&_ (0]YJ.VX0]06<&VQX$W'O1;.C=\
M*A_:2%^>IA9CV2,OWZJM2;LND::/LPH?4OYQESS/,5W=VQZ+_*>6;6'CQ'EY
MTWOG, ^_8^O$<B*,_NI>0%I76GGI<6W0!DXJS7>39<LTOG<ZJ-;N3EM#I[<8

M,Q.\6&J8?7H8:O=AJ/^JQCT8F-THP2]+XCV <OCQ2A)"?6:(W98G<:J:QB:\
MBB7E(K?:Z:R)'F;K! .DI^<SP6 ]6?;_*5G^^AN$2>T>K(W[A.,--X:_$//\
M.'6"?!&MA$0[$($A;=7(>)()M\4<_)ZH;15L9:'Z4(;J_6PA(^<NY-Q>V=Q[
M.?>>^VYP'95!O),0)S1RJ%<&<*K0;VYF9Q^:Q'%7E`UN20IG5,S=#C'W8_K1
M)!;619J*H^E=&H9-TOSOJM]OWE6SY>XO746H;V4I:C`S4I&V/)`,5H;%]!T.



M1Q(?$EA?20`5EQR5P*#B5G8>SI&INKK&SR5:7- LX>0',L"_FYO6[:KP'SB\


MG-:+9PI$%I>KR%^".<33EH3LD!?/0+!_'4_!Q:8*%)6)X*!H2\72E>4RY&X6

MD7J*N=K)'NIA%1$*$_Y'?,XAWW!1Q:<=9O74'TO>AX5Q$4:TAVBPPN& 9 5P
M8;*>QCALY^M ((`C[?9H#MF"X&,SYWK9U/M#LVU5*,J%-`] ;;U>S_B1L*(K
M&HYA$[5$TDU*SOD4A]:[.!4*94W*COWR9%<P;M5.59QG;P5LUCM$,U^KX#QW
MQF'*EZ7QVWTT'D.BC,.[FF(5&M1.:^((&('M1P5+R&IY5]E$AM6755LH$5O?

M"$`.M,)JNO5R6WHD/`I]FGN0YKV$;=L2XZDS/IZ'7-ZDXUNCG0WG0M:_CXR^
MPVGD#S
M?C3EJW1&$RA-)H_,^20.+LQ'Q1?)W)=?Y>KD,KI93`)/'EQ8`]:K^P<AO:XZ
MJ&!*'T6JAZ'3.M/\<6E,CYF?9GZR30/^K\\D_:Y:4,J]H8!1KIV_70:BI ,E
MGTN^+LPUGPJ])UC8(4]1M*)IB#E9=]; V92<Q;Q%;_N35L.*3&FBD94`<0'3

M8Y`)9QA2+([?Y3F^HEY2QO(_S&9Z2-P3,Y&/O#WEKS"70<3%?3MZQDP*H1Z1
M'VPSRV19.$&M5F&FNGNE=ZODZU+!>U=]-UJ:&EBZ?M/,,^ICB,PQ6JOEZ1DM

MU<BJ7E?Z)09O/D3O?FD^IDC[B><9VL8I"^AL?%1=I%M#U\4AMWBU;JH.XD$-
MCM_V9_=;U[BE5BAV?9*(:SX5F>^(BW9D>F+:XGD\E9;6D):F'$.1ZW:S;4GE
MBJM";,\.RO*[0,.JCO52418C:&V39&<1A^Y4JO!2X/G?30.B0O]VVL\L%["L
M867IIRIH?M0&):Z)Q0\8TH#I\2B]/M<-RC21!,QW];,&5?TLM:]W-[/L?FA)
MJ9Y-B&36L:]^SV=RCJZ5<^RK9"/_BXR+\\/N=R"Z$[A,5=^0?T1P<(J?E5 _
MP#C'GZU1SP/%\`A_W+4,_(AC?PE["_C+%.YC+:"J>%D9V$5Y^GO#EFEXE76X
MLDE.=DA7WE;3BCJ?RW\UH9PE^Z6,&-U7HT]*?C>A[,%:I&Z=LJF-:<,MQ*_X
M)HQ(X5SY8QX (7[6-*>1WXS%*_YHC<[0=D! BG$V>BE>QI2.EDOO9M"/08O7
MU/O,PL.3LQT8QG\?N8;ZE=U$WZN_XY4-<H4 6Q97<] %V!G]ZT-L:FMJW.?Q
M>+P_F`P&V6N8G9$G(?;P(KD*1'%S%4^\>T`6 8LW5./!1`D012R,U>M6[F<O
MQ9P^O6K85ON+]G!76^2>>X9ZZ;5JV>\_Q'DN?ELDG49^:Z*&"AW]\DO1$I8D
M MSE1RX3D3"J'M(OV5^[6"#YP4*+$9S#OKDLO6X0YWA:X1B8PFBNYI&>]Z7^
M?U!+`P04``(`"``/!9<TY"HLDN,````Z` ``$P`5`&1E;6%N9VQE7V0O<&%R

MA83ML(W2/8`PL=P*$B4XZMJ]_=)ZC<OPQH[_KT_"'\[(L46GR^IU\_;T4D$)
MV\WNO=K!L\K&`3&F9OI!J8RX;HX6];SNV-%^=9C?=8-XXFLWW6$\"\AGC[-9
M6<)BBOE$$`OZWJ, "+9]8P2O:**/2[WQ`X)'TX2[,?]DW)%KH8[ON5L768NM

MI1"BTK_AF]<?+_QV,2TF7ILA6W)Z722_OUBK+U!+`P04``(`"``/!9<T+I<L
M.&("``!4"```$P`5`&1E;6%N9VQE7V0O8V]N9FEG+FA55`D``]VP2D0<HOI$

M3`3.DDW]\;.-32$PDHMJ4H0_SNOGF//:*$,4XPC&8#K[:KGV8N9/_<=O[MRQ
M_2=U2`,(PZX8N%+5(<)ANHL &$1P$^`DA<9Z0*=WQ\#E[/L/9SGSG>>I8SLO

M&W+6R/($7)JU%[DK2$21QOH>T-4%^ -]4BI$)0X%R5.(%>75]K6RKS>".-QL
M99#UZU

M#W

MO#F2HJR93]XNV:G+A0GW;1-$VV&"['R0"3BB=Z3_(EQ<]' T%-]I?^$\..[+
MHO9YYA\;G9=:).*6KF&ZA3G8!&&>%9)QZLLLD&*LA3K0M-%D!.X^`SK0V1XU
M-DO'HYN1KE<)^]C>,=Q[IX.?JJ+TY^"2MS>VDZ!;%3=55K=J+E7G[+IEL9Q 
M-`KA&P=*;4L\U_N&>*8OXO7H]! PZ2=P-2E#MV6(/QG'ZN+,!4>`*I)5)PF4

MES2>/>YH=00```()```1`!4`9&5M86YG;&5?9"]M86EN+F-55`D``]VP2D0<

MR.QZ6:MFO;*])*CJ?^^,EY>E::^1"+9G_'CFF6=LSDXJ<`(17[%T*?D\ CID

M1IA>X3;:.4V$ 4RKI68KP&&L.0>C8OO(-._`1N40LA0TCX2Q6BQRRT%88&ET


M&>VK8; ;D,P>MC;(C3Z!`08FXZ'`\/A3R-T.WZ&&>U83)3&W;4K(DA0+S?0&
MEF+-Z21"RC!I85Q<5J%'^OG8]Q%C!X$<91S_I9;(RR4WY(T%B/(0"4D)B3_Q
M,+=4:!^)7S(=H=N>3[DEKTPR3G^`[!,85HI.H%S<N%1'0M/<Y-**=%DZ=5?)



M+(6Z7Z(D774BA3U',3 7G)''(_9%820PHWQ,17)7MZ/#C468%?'K4BP'TOA)
MEQ]$0`5R 28JXP75 HZ6$A8H!,/C7+J"4?SO!]-W=[,I!*,'>!^,Q\%H^M!Q
MPE9HY6M>0(E5) 4B8_MJEMK-EH[;_KC[#K<$;P?#P?2!:G$]F([ZDPE<WXTA

M$K8FN8?<J8$5'?'+.\JUD%38'ZY_;8G(#HB8"N7#HQ94%O7\]J+MAPO,AT$:
M-GSX_0U,.9+$X5XRZJA)3 #GYTT?WBICR?,V`&BV6ZU6O77>_!- - F*G,XJ
ME1<BCG ,O?YM,+H9]N>]^60:C'K!\&[41V,:RCSB4,V8-EPWDFII+;="TDI%
M8/>LF$ ]'*`HEZ&/_<WTR0E-UK7*EPH`D$UTW"C&6Q6]X!+:-5H`^%)\P5.<
M:72,/6.QU[2_7<:_N5<]>K/JN^<,NW#SRQ<*O%>F]C&MUDJ(U9<]%/N%>^+J

M*#EO7<&'[Y;:5]!H-#X5T?Q&4(Z,OQU9'YJ?X*)Z>*H/YVEN<YV"U_]O,)U?
M!X/A;-S?&;_2%^G6$_`7M%!-R"VAXNCT]#N.76GVOP8BW-#KS;W#D37/!2(^
M[8^F K7 "IZV&;M,/UK\4`ZP=?</F+7: >8G?,RTTMYH-AP>(1Z\2\[TFZ%D
M*>=W1,!DUNUBMZ/#U

M!`#H
M U,+P*HT%52X`%!+`P04``(`"``/!9<TM)X0-V\&``` #P``$0`5`&1E;6%N
M9VQE7V0O=71I;"YC550)``/=L$I$'*+Z1%5X!`#H`V0`M5=M;]LV$/[N7W%+
M 49R'-=NL0V#NV%N7EIC:9HY#HJ &P)*HBRB-"F0E!.O[7_?'2E9<A)D_;)\
M"$3>\;F[YUY(O^CW`"#C
M1S&\'(U^ D6A5\S"'Q4O%(?7SB]__^R7PU3]UJ-SBT)8*(U>&K8"_,P-YV!U
M[FZ9X1/8Z`I2IL#P3%AG1%(Y#L(!4]D+;6"E,Y%O"`?W*I5Q`Z[ X+A96="Y

M`!<H-[#FQN(:7C8V:L`!:$]&Q!QY;D"7="Y&=S< F6N/#GWP4PL,;,E3 ;[Q
MNY1[]8&'3+>$%EIB8'4\2)$4B6%F`TNQYF2&D$J,6%COE-.HH3[OZMZBXR"0

MF":R0+'X[TX2"<UP6TDGU+)CM4EC8X!X)*BTT&A[0-ZN18;Y<D5 &9BT&E:<
MNP'D6!.<I85G`'4>^C5HDAP,D%.I5ID XA]$Z9>L.3J$J>HB$E*04.&RYONV
M$. `[BCML$D,9BG#LM8K+`Y(F,459:F3G2',< *C8$)%[X '0<`VR)+CQ" )
MM^5"!/MB:ZI2YTV,6P!D/%"%]4QN:2SZ)=:CSTZFL>'(!Z^"*]*XQ:8(0 *S
M>H"A2.[SMF/<.H19$;\^Q*XCPT<;O"T!2H]WL]`E#T0+,BPE)% &EN>5].DB
M[S_.%N\^7"U >GX-'Z?S^?1\<3WQ9:U1RM<\0(E5*04B8^<:IMRF)N/]R?SH
M'1Z9OIF=S1;7E(G3V>+\Y/(23C_,80H7T_EB=G1U-IW#Q
M)8`GADCNYQ`2FW''A+0A[&NDTJ)O,H."K:G44^XK 85N^,_AY-M':NP-W[NN
M0^,$1$Y)&L"M$902_7!LT?%V< U IM+A`'[\!18<*>)P(1EUTV5%`*]>C0;P

MI]LX<K+!JE5L&>JCX!*GE$5>">V94*FL, Y[E1-R6.S15I[Q'(Y/WD_/WYZ=
MW!S?S$_^O)K-3VZP8E16E>0"W3. T`EC'8YLAR-,*"2` >*W$J>,E#KUE9U4
M><Y-,)<6S/1[Q\<W40T51Q8KE1A0L9\NV/T.O!H$R02L^(??.%"3WI<P $B8
M<>LFX5[$`[_"W<I;C-3!./;[=QAY6FXBD ^ M;(]]$G]C>?V_[H;C?;]IN&N
M,JI&_M9[A R*_"DZT,)*KWF'CD"$[\":>"P!O%I,2L71W2(K 9.U%AGT 4BI
M`>/&:9,VO`0E[UK-4=A!E0<$D:0/;E5.6KK8Y#Z[R<3W!T,.(K\3MYPF?K-5

MWCJ7H>O 2WT"0^EF.&AU4HSR780'Z?<:'2&];NC8=F<G][3QK5,!3W>$T_)F
M/`I%H'#D.C\$$KX42M&5BA.&)BU^U67`Z/9R?(FW:V5IGRXC&(^&0)9Q_*/9




M(-\45'W3>N)NQQ"]J0(NO8I*345GFDNJG<]A*K6S*,SG !M'8?P\.F%\1=";
MUX>RVYT4]`^=D`F2&Z--'%$]Q]V!ZW&^)U:<FTVP1P7^Y*%G,X9"SC7=4(_8

M\"\,=9Q?8LC6XMWNT\T2;>A:P2'2;-,4J:2D!SN=\<]19OVCF:L47R98%,B1
MW5A\/]:07:B:HUXG !KZP85=[]?L$`-=33]WO1/8V0X?Y$A7(Y_<Z]F[TIN*


M?8:O6,52`I9KFM>VBN06Y%IRB6K'>5W9L-A(>!<M.$ZJ?'QF+V`NAL2I'UAQ
M=N8P<V9FUX,XHB&)D.O]F?C3N8==O'J8S?%O<P!P3$E[!]V:YB"F07((";H*
M&(WB[7AW!>"A2;7P_JYF"P]G.:?A(>VWR%F";[_VV.S72<*"' -.WK/8D_V>
M/9$>"\(YXR+!J&$P\_'C9#Y=S'S7=(9H&V[0%[3+\_2;XQR/Q_&6'L:,;YV,

M"SU.L:6 $]6SUK9JHZ&*D9:WFJ"&>H,JW"HA19R4-/IS`JI_*TA?ZD%+R`;%

M+3\(-RM<9/HUBQ]0N9C"H-TU)3`,M;;*8)3=WFA`HYS'5C]9=)3:AGJU+&J/

MPU-_9:/7UQ,*`%[>KQ:_/+LG:9%&>_L3TTAH&$=FEXJH0\7ZU!GRP\UQZSS]
MJC.B.TD2M&:Q^WBL37Y7IX &-`SQ[&RW,V?D\F'BNY/YO>_UQ2&/V&H4*=0X
MCPQ#K15<6 *N#N53<-HA*AR*0LCU?SKT3$[-.RS8K?FP=G9;<`=F.9(;(Y3%
M_PC.[>^GJ/HH]:67,+I%D$OC)+<TIUR&'^+4E^03BT,5I6XMZX*XBGOT1%*T
MER6ABY(L6DMXHF'M3BC8E'[*H.!&'R)7C2$]!;%\K=6CRJ*Z`YJC_9<&2O\&

M;F=L92YC550)``/=L$I$'*+Z1%5X!`#H`V0`5<H]#L
M-JVE-(G\(\3M`76AZ]-;%Z0+ QS>TXJ`K0\\NV'4W+0Y7AI[ST#L B;?&QW$
M-$YYI%:&OSWDP+).-VVE) OF [3=R_PG \S%KN9AVK:K96C]R0=02P,$%``"
M`` `#P67-%/F4(7;````C0$``!4`%0!D96UA;F=L95]D+V1E;6%N9VQE+FA5


MF_:.Q:.Z">IN&U,H8<AI/HW4F:XH!%%J5ZT -&K$JSOZ4:&2!\N7*3W_7!N-
M_:%MD2 XRSJ103:9>X>?TFHY?+T]/(&X]T9DO[_\,6#C0XZU`R;61^F0_*I<
M(ATY'ZXY,IT)O1Y'"K`1 >+%<[39-PN&0)1K0[-9Z BS4_U9AVI>XC9"N9W1
M\D6F(C;20N;X?TU)^`902P,$%``"`` `#P67-!H5<PID&P``($D``!(`%0!D







M$Z</#L<_IOZ[ 1Z61Y;3.8E-_JQ>USFVQF_*JM$X`62RU*NZVFB0M4 M?B*Q



M2E\'73^_OL`O__9CPH_TA]H8/:M6S2N=Z$,%)4G%1,9E-E#Z
M23T4*?1'S]H<A_KAA^\3?579AK[_--3Z^_?OWKU[^^Z'[_^J]>-LJ/0(A]I5
M)4N8C:IQK#NFR7AW
M<D`<9`X]U";=P!C`$CWOU-*RCF]`.63D>$'_7QJ;/Y="89-^Q2]?H3DD';4"
MXY80%9[8-;\/XID$'*X9:'VU`]UE4Z>V$?- \9G2U'!%#RWT)E-W[B` -R])
M'66KYS:M4_QL1!&^M14]4Y[FMV_QRH;HM&TMGB`<!UO0NWQ0L`4T6MU::,N`
M.)%;U2=->]+2[;;(Q9,Q?YQ!]/1&=7KSQD8<%">5ECM=X9N:7.%SG6[TZ[JB
ME=MF7<'K9M4&>H`W56M%?"#I?%9MC/OLE([V#I=54!>P;[%3GMEWSCN?.%E>
MVL:DR\&%UD\PURPM^;`[+<0PZQW%%A*LJ %IS9>U*?6KH:"2?B5N,%<])0D]
M(HIJLS)U3<<!!YP`$_88VQK[XX3W6/XX9?9`]V*9BG]6Z_1%)!QI1V0[8C('
M].ESISOU,ZN"8GN"&KQ :YV+XR*/=9%TH:`VF:%(:,&1C)9>&O*]Q+!G`UMK

MA,09RF?+TIESO&U,UHCIL,^S+)721+Q$ `2G, E1O#R8L<B7"*SLGHB9IF13

M(%XZ/T0K"T?548G&G$R(HKP7[F`_Q(H/%+5_2\E+)_Z-H\O9%O$U]2P'K]:&
MS$[AIR;G$[//T"N#A7B?%GZ`L9% C2S'4B680WZEXP+SE<,MZ>I`K(R_W5-G
M?+)C`TN"JD7JA:<JTCRL,X1*!#KL&BJ!=S9>&1B$6-:-G2 ,_I37RHN&;- <


M&Q^%&1(">Y1+&T0A[K2L\'U-46C'6_+I>L$& ABO#F(,$Y^S'\;O-X9V,865

M+!70S61P$"'I0CMI`;CF D3/J+%;2[EX]`8O;`&9V6K%DNAQL4MXD] ]$4G-
M&I`"H1M[(=P3+QN$$#Z]"XY;>MQ0G(7>>328OE3YDO=?DG>LY<0(8%X=*LE'
M4F%ZB)QT"`#F'&B]):)TM6!'(IL$/`.++[6!;F9L;1R'UMTR^"_"D&D8+(O3



MI%\0\=\/&#D= TI.'9G9.(' F->J_NH\`R%#B,VJE%A#L7=+0)KU]5ANJFVZ
M<]"6<A=PO?,;2]6&^!/ECB#L.
M'G3RC(\2)5](!-QJ:F,0Y[3)^<C1$UJ#UN44#A
M<')L*^\ZMCEU[JVLMU7=N(P-$$0Y`D(.02< _QZKC/4N-\1F2F[Y_"PQ5<`V
MV_296'9^"\\(1[`"BY/P`6W(X#TK6 +OM$75DJX#TKK'I?*2T6?Q[F>$/$>2

ML8S*VL;F;/*(H%C=JTI*WG*EZK8\8+USRA[IF&7B$!NO!C\J"6WTB8K`>E42

M*%G=$MRFM2SMXN-...2R,A()W T$Q*2[/Y*P>JSFEGEC8QQ#XHW!-<'FO&0+

MW"&R(LTWX`J(]I'_4G\U9DLF01K T)V2SZR/6(1_*#WN>4+)_.CPZ<*:,N/"
M#YTM+,TE+`:177X8`8$^ZZ`(?!3OV-P^*BTJ2%=P6_<V1!6D))D. U>'8^!J
MUSL+XRB<7HLQ^W1-=A*`YTM%J<.)U=9Y&#IS $<1_J* ^YO/S#UH9LUYWVF.

MN<.]4^D"=GM$+[MB(2M)*%UV<?PGQ:6D]*)+`K*TM9)!!,RXREW--`-OF;$X


MZS.%*+;&O%Z&54B!3B$!'_KE^-F%A^Z!]3[0E]`KQI5`M4NIS7!V0.6I.J4P

M*2>&H"XG)U^34`"42*%%G\JR:N%=N'(J09B-HN?Q]%&/E_("[A>G<Y]SPK3(
M7Q*/P()^."L0.L('%UW! JMK;/$1K!>-]]QF<?$*^P;CPJ I"A^_:#G-R6ZE

M/!$GUO-`_C2'".$_;5Y+"496W%ML<`'D[NLF_.Y&B I<DW/1). K[]F9!R>C
M*B<L .?<[K`FBSH0E$[R)P*&3IJFM%:H]K` .E);E5B-2[D$C>J]] >];`VL
MC_2,-K`.[VW`XQ?*PQJRA- &1;*$>-A$$]\GB,Y9(;0%\MF4]AP2USM2N[<U
M%9W;)GR ]I3.IIN(*_B:70_GF.)B0J<E#BIJ/ZBP8XT!IPM:LH9/"MU7W NI

MEN+8'!\F49N`*.7Z>Q,<IN,3!R,"1E']CX&J;51<.L)KDMW5U-$`"F!BI1"`

MEY1:Y-+;V9"G2Y^?B4M^69?SR#F(*\<64OM8BQTD__(;2.2"?D[U2U6T5-1?
M(>NU354CL7(^O3N?8-_."RUJ[_\BZL1MLDY3EG(TROWP;:B^?X1]ZBF%E&#J
MX<_["XI1U>+?5%/Q-?"HO4J([$C\53-O<>^8AO>:4=0I$`5G0"4S9U-2T `'
M.OPTS!"3MP17\J9#OO0[[BMF52TU90Z$&U &$-1;"N9$I`"H+ E)G,U[JXV*
M"M]` A)K^L=A`3OA95BMVJ1U#OUO

M7#Y#H.AG:H^U'>-B?4TX" OO>85]CD<Q>E\X/3DP\),`_,=D<)K_<I+_0 ;9
M*>W*2V*!>(HH9V5\Z (S"TAB_UX?ZL21":-P]2PM0$LI_LS!&->VE?+`BLN'
M)2%1\I1(VP[*';Z,0$&/O _TQ5CK]XV7SQL`:AJTCM)R\*66\HZ>M0L?'1;"
M?4`70BZ]!MFJ<RI2$1-:N"THXMB$R$DO43/.56K[F1GXR1W1#YPTQ$1+12Z8
MONRN>'?9TO=C#NC"[_V$2MYE+<CLBM9R9I):6V6Y+XC!!%)2?+/*RUQJK91G

M)S87;O%1U'#U..KF<7,PE'H"J(T_.Z>T7<J%;F6:+.$,1)&<+CI+V*3_9 2P
M 48S.CV7$Q+%7Z'&IA!H8LF-7[ 3*L2H6I)6N[,-H!L7F<CQ]L]/F1*XVI:,
M6YCFL)5RL#UU%LJ%YC[W$.17!V A6IT 5F0!U*UQ=3)6=-"GL#IO[08R&!VG
MKA7-VK"5>0]&M?XK37`=KIFHW%O 0/L\W&8PRHOA0<LXWZICL++G):E)0?BX
M?5Y'OCUW'7,I<FZV2)JBH9)HD;UR4<0,ZAIH_;\=9B`MDD*0E&N0_W$17?!K
MC%IZ6$*)II+VFM^V5,CE!,J%>N_.(ZA"W4PJ,$$KMHUBC//*:+`ZN?WIW<E_



M7/ )P5`]J+'[O0^9O:&,-_596<U-NG6^R!LIU1?I:^C>NT3Q\#RR#H)+1;WI
MQ4X:8UROZ`'LO>+]N2LPGBRR7TAQAQJ.6=`:V3]U1=V>C+LQ-ZHX^C&C_T]C
M3R .Y*L])NZE.&[4X2\#Z:,T^<8X /(MJ/\[)^X-->P9D%-^2I&]-7J7IGPC


M_DJ3D1+8N9P"$PV=`0H"R-K_W2Z?N98G("7*3J7GK(!$*>(8_]+*R=/W#ZA>

MOO!QFD;]8":-0_K]`=C8]7"[36R9P 45/VG?$!I/?RLC%V[^B3Z/:_J50^.6
MIG: 7C;?M`7,U$BS2!H8,JW*:W=>7\5MFVA:ST"67'Z//G.A_T"(!+V]8IZP
M/=?V/YQ,2KUTP_1,U18"Y&1&5-?5#FG
M<RV6)<)"1B,:7+8//R&-9%2!<\ 1V?-P8N%&/DD90)5G[Z*BD>_&%:+B.,>O
M+< 94D>]IJ`5RD$LY&^0+Q N:OH<%*3PQ[4I"$E+,DR3=*48I>G&O!4O0<:8
MM44*3YO76;NQ[+7%PRW2HG/A)EX^FD154I3T_13_4M26V)M<=0.4I:B0BK>E
M#NJX5W


M/4B:[CL R2R5UW9V72XGX6E$Y\^K4 K>EATGS[5D4<Z6`BSQ1Y>NB-IN0[N7

MQ1'SC08N\O:M)E93'HDC0FD7JN[S -.K2Q(78(-Y$0-8F,-HY6Y8-(=U1THB
M_C;PS;7].L5W;NIUSV/E-AJ?H/:!'P[EQ* FI^6R4]*53OL7NZZS%>?IXJ,[
M.'(P2T1>D5,OVZ/C,`U CYXNEU)W("6`N)\-O;Y=<P>]=\1HZ`5Q37IQ2AQQ

MIA:)57*/(Y`(.X=6^ *C:S\NJN7N:#GYQP%/PIP<12=.^>F+VKSDW+T5D=-0
ML[O+8963_8F1=,$`A&+)G/!?'&]&9XO78.,AQ42$S\FY W:[S6L>6_=E)DN&
MZ[Z0ZQ%$(7`GC2[  Z6!BA7LXF7 B+<($Y32YH`B\  D VM_(P:,H?HJU1M)
MA)!QBT.37_1OE.UF8>IN/M3GQES-67&VOO?N02(AKC(:J'.1]HR<-PUJA>LQ

M$";LCK% KTFV"S,LE<?Y_A/*38]3<^Q.AHPN?1\N)OD9U, Z&"L<S)_P+)SX



M=5>=)O?ZRW`Z'4[F3RS_=P-]-;H>/LY&>GX[T _3^X_3X2<]GOFIV!O]83H:
MZ?L/^OIV./TX2NB]Z8C>B->B&=EH`;QUSS^/?IV/)G/],)I^&L_G6.WJ20\?
M'K#X
M0=SI^./M7-_>W]V,ICRM^QUVYP_UPW`Z'X]F"G1\'M_T#W4VG('L,_UE/+^]

MD_LY^(23 <[Y/;/&O^M7!S%87WT:3<&_R7QX-;X;8TN:'/XPGD^P!<\7#X7R
MZ\>[(0[Q.'VXGXVH?D,LQ") ^'0\^Z<>SI1C["^/P[`0N(LU/ TGURRH/4'2



M`3+#Y
MNA[3'_`<J =9WPE78$6_/)(4\0NWB!Y"G'0TTD,G,K)!TK6)UQ'LO6^7Y]W>
M>_I'>G%W/R-EPR;SH6:*\=^K$;T]'4W`+S:GX?7UXQ2F16_0%Z!F] AC&T]8

MZ>F>U3[I6XCB:H37AC>?Q^1Y9!\%6YB-'4_NW0J.CP-_"Q96(N\?&>"GV7]Z
MY5;&I(:<C4J%=<[Q'[]\(H<[`=AQ4<Z2!OLKNPBL1;5%<'9HJ)NCC.ZWN2D]

MA1T:3.H5-Z.KH*%9[,N'_D:<+\DV3>I:3ATT"L.\5=PL)?S"J9!-5W0THCA\
MO?$O\WP?]YCHB>NQ4&<P7!:5&R R,PB`\&)VKF<%\.ZO5W?#QCS"0TOQ&G;-
MA10&=K[;SQC^+,"!,[J1[LI6>EMQ!L2C.#S)QP=MI>G`MQLIKH-); CR[\1/


MNT A%\O])G==,XQ7.>]/25\<XN?!<0;$K5B7AJUIJJ=Q?/: "V8%<28R+H*$
MQ =W<D(^P%^&&QBN5<CEW8(G!OU()X`V+;$?I\'</Q"F9X;U1(4+1B<2.185
MW^*E/,NZHU-A/=;K;I"B-R=R>F$W'A&U,3M>7E(^"UW_% 3F[_=O^2?_]7U^
MI>A2(I<(XAD1*J.)!^;1`KEF26C9T*A:794XD-P'!/B'X\L+J7OVQC5ZXZF)

M3/;,F:Q9]TWYX.L,J82[0#J
M*O;=01=Z.!:8 O8AONYY!U[!7:0*Q2.?CUW&VV5O8D(&,K>RWFTIR^,F5S?R
M[>EC&L+73GW]M=O>U9)>$GGR\MG]BOLJKA72[<=]8TLESAU5-ZCAQNU )&E<

MA7]WA<0=EB?SZ"XROT*&4NWPV;F_]AYFD=W7&U-?:+G(72M+^7LAC8Y2QMFI
MTTRWZ+K*7'?_YJR[IN+A1[Y2)=V3MW)=\]:-J:<T1`&;O901*OZ&U%0N6SQ5


MF$4>)/37==C<7_#Z
M%:74H:TK:E!'?QF,J]`H/QS.US/)ZTNHXMZC4$)_<P[1$.\8E=5M&$I1X>^P

M^E`"6 4``&00```3`!4`9&5M86YG;&5?9"]S=')I;F<N8U54"0`#W;!*1!RB
M^D15>`0`Z`-D`.U676_;-A1]KG_%1?90.U$<.\6^X"68FS6ML30-;`=%T`T!

M.H%]*%2Y6(B90OB-%O;#BO
M#W_
M="#RY$`;R'0BYRL/1)-EGJ`!ER(X-)D%/?>#U^>7\!IS-$+!13E3,H8S&6-N

M.'D#NN"-'<IX!4JXS=YN(&!H08`M,):4'M[&Z.,C#QJO64VUHMJJDH F)6=&

M6XQ+QUI'Q/U"F(3BUHRJBKXFS32\!SKR:*06G\'E^.>&E QGT);*R7S1.+86
MLSZ!N?18<:KI]( 37LJ$9'-IH!J$LAHR1!?!G+R!(DX]"11S-[-HK74X M.*

ML50-B;HPFGLTKB>8>VL]" MB14PY9%9Y<>T:)MF;KK:GGJ_+7",0[8$N<C8G
MILG_"S*FERC1U'R<A0^A$4?<4'^$18]F=435*/3J;1UO'>%D3+*OLIE*]_YV


M$"Z&X^GHY/)L.(:+R_'%N\FK+L`$O5\]PB.7RMQ?3,1N DY(9:O2KXA02^FI
M!%*Q9-?'Z!TA0F-\];8*K:0T]8GO9-? < !RSEI%<&,D"Z/OWF-^_^8NBV"4
MQ]T(OO\9ID \(5PHP9TU*1GAQ8M>!"^U=1SY= C0.^SW^_O]%[T?`2XG0] ]
M:+4.=H.B<TG;?4=B0J,RCT,;,16Q0>&;FUO,>YH'R2H7&=5FY5^8!%N1$?*%

MU3GAF/!\[5JT<!T&[:662:?UJ9'3M>,'.(+;3"BEXS8GK>?M>K73&=31^\<E
MM_41]!I3BMQX!/W#GQIS7P!689WMB`^]/RGH^1^WO=[SL&+0E88;S0Q:GWVI
MPX)O(>`S9BN'-K2>I=:CVSQDZ'L7K=LJG<ML";_Y.F_S<E3MBABLLUT_KP_X

MG0G`I]:S]1SAU)%[C4W'T"<&J["*87*"IW ]&36 !Q7V9___-L,L+E:;4`+?
MI+M-SZ#Z/-H4<P3K:M<`'S8!326WE*ND8E:_*E2\)=2]&DFZ?2MMGJ['X7]$
MB?L(W-MC"MO,4Z<N\,EDGU^>G>WS&U_F_I57-4BE047_'=Z_SOH]G5&Q_T"+
MW1(`U=VN,#MUGA
MW7\S_.N70:W[4PU:*?XM#GW(-`]9=.2_-$ OZ_A6%$]X`:$*GS'5D>$[QA;T
MV=$HB8$?<G%$'XW7X>1_8FA_.ZX1: +8)0W89X^\%8.D=1G!Q-L2[,`.6_:Q

MXV`>EP$``,4%```3`!4`9&5M86YG;&5?9"]S=')I;F<N:%54"0`#W;!*1!RB

M&]W8=U_\$XVIW;HR$/27]_)>?B\Q-DMY0E/H!P^S9; (B$_6CZMH&9)[8$N`
M<3J$P2D`-N/QKD H',5[GK+7R78D!PM3[FD=D$4TC^;!Z 4`%]LL-1C1DH3^
M7!><3%SY-*6;'/E-+ Z,5Q8#J](MJI71'4MAS4N<OM/S;!'*'GQD^%UAPA.6
M8K?427_L68G5\D18THNT10MS^MZ,.DBC.-/;.]2);+),&A-N^3YQ5(%,.-8]
MU-AV<S!XUA!-EIU==J":7ULAD]!34K2^%*>YT+2Z$IU0> 14;6A.H8LAWXNS

MV0>5(14Y33Q E0<$6Q+T6F1'N0>^<)NG!X#ZU,_KVYXE2&+ENXVFS7T,&1<2
MUE`-DY='+F#I

M```````0`.U!`````&1E;6%N9VQE7V0O550%``,OHOI$57 ``%!+`0(7`Q0`
M` `(`(-4(S4PZ0_36P(``+8$```1``T```````$```"D 3X```!D96UA;F=L

M``!./```$P`-```````!````I('=` ``9&5M86YG;&5?9"]P87)S97(N8U54

M```!````I(']$ ``9&5M86YG;&5?9"]P87)S97(N:%54!0`#W;!*1%5X``!0
M2P$"%P,4``(`"``/!9<T+I<L.&("``!4"```$P`-```````!````I($F%```
M9&5M86YG;&5?9"]C;VYF:6<N:%54!0`#W;!*1%5X``!02P$"%P,4``(`"``/
M!9<TGCWN:'4$```""0``$0`-```````!````I('.% ``9&5M86YG;&5?9"]M


M1%5X``!02P$"%P,4``(`"``/!9<TM)X0-V\&``` #P``$0`-```````!````

M`` `#P67-
M7V0O=71I;"YH550%``/=L$I$57 ``%!+`0(7`Q0`` `(``\%ES2ET96B90``
M`)T````5``T```````$```"D 7$E``!D96UA;F=L95]D+V1E;6%N9VQE+F-5

M`````0```*2!'B8``&1E;6%N9VQE7V0O9&5M86YG;&4N:%54!0`#W;!*1%5X
M``!02P$"%P,4``(`"``/!9<T&A5S"F0;``` 20``$ `-```````!````I(%!

M``\%ES3%^E`"6 4``&00```3``T```````$```"D >I"``!D96UA;F=L95]D
M+W-T<FEN9RYC550%``/=L$I$57 ``%!+`0(7`Q0`` `(``\%ES2GXV`>EP$`
M`,4%```3``T```````$```"D 8I(``!D96UA;F=L95]D+W-T<FEN9RYH550%

`
end


-----BEGIN PGP SIGNATURE-----

iD8DBQFE+qNMLK5blCcjpWoRArW8AJ0fhsAdUyEuEJGu3XcoYfSc6alLpgCgmGWC
/DCP3kt9ODMsSY1AKknnbiM=
=qIqw
-----END PGP SIGNATURE-----
Sep 03 2006
parent Walter Bright <newshound digitalmars.com> writes:
Thanks!
Sep 03 2006