From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18925 invoked from network); 19 Aug 1999 10:44:51 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 19 Aug 1999 10:44:51 -0000 Received: (qmail 1203 invoked by alias); 19 Aug 1999 10:44:41 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7448 Received: (qmail 1196 invoked from network); 19 Aug 1999 10:44:40 -0000 Date: Thu, 19 Aug 1999 12:44:34 +0200 (MET DST) Message-Id: <199908191044.MAA17903@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk Subject: PATCH: completion Whew. Here is what I've spent the spare time of the last few days on... It all started with me not being really happy about _pbm. Then I always wanted to make use of match grouping and explanation strings and then... The monster patch below does lots of things: - It adds the directory Completion/Pbmplus with several functions -- the user/_pbm file should be deleted if you want to use this (and you have to make sure that the Pbmplus directory is searched for completion functions, of course). - I still wanted to be able to put the filename completion in a generic function without having to give it a extremly long #compdef line. But this function should only be called for commands that don't have their own completion function. So I added the `-P' option to compdef (and the underlying mechanisms), which defines post-pattern-functions. I.e. pattern functions that will only be called when no special completion function for a command was found. However, a completion function can still say that it wants those pattern functions to be tried by setting `_compskip' to something not containing the substring `patterns' (in other words: `_compskip' is used for those functions, too, in the same way as for normal pattern functions). - Ok, then I was faced with all these pbm commands that get options and some options get arguments, and some even get optional arguments and the commands themselves get arguments. For some of these completions can be generated and for some not. To make life easier I wrote the function `Base/_arguments' which gets descriptions of options and arguments for the command as its arguments. I then made these descriptions contain messages that can be printed before the matches generated to say what they are and if no matches could be generated, only the message will be printed -- like the stuff Bart used in `_cvs'. Since I planned to add this to other completion functions, I put the code for it in `Core/_description' and `Core/_message'. The first one also does the grouping of matches. They use configuration keys: `group_matches' if set and non-empty makes different types of matches be put into different groups. `description_format' gives the string to display above the matches, a `%d' in this string is replaced by the explanation offered by the completion function. `message_format', if set and non-empty takes precedence over `description_format' in `_message'. - Then I changed `_long_options' so that the arguments are in the same format as for `_arguments' (also containing descriptions). - Then I went through (almost) all completion functions and made them use `_description'. Maybe in some places `_message' should be used and maybe in some places `_arguments' could be used... There are some problems: - I don't know MH, so the descriptions in `_mh' could probably be better. - I didn't change `_complete_opts' and `_cvs'. But I think the first one should 1) be renamed (to `_short_options'?) because the `complete' is implicit in all other function names and 2) it should be changed to get its descriptions in the same format as `_arguments' and `_long_options' (and should use `_message' and `_description'). Btw. I didn't change `_cvs' mainly because I use the `parameter' module and there is a bug with the stuff that `allows' local special parameters: the associative array `commands' in `_cvs' has (obviously) the same name as the one from the `parameter' module. The new code in typeset_single() has the effect that this `local' parameter behaves like the one from the module, i.e. if you can't use the names of special parameters for local parameters without having them behave like the global ones. Maybe we have to wait for Peter here... Ok. I don't know if you like this grouping/description stuff, all comments are welcome. Bye Sven begin 600 patch-comp.gz M'XL("$W1NS<"`W!A=&-H+6-O;7``U7UK8]NXL>CG^%>@MG,E6:9MR782LW6[ MZ>ZFS;G[R-ULN[UUO`XE43+7%*DEJ=A.[/[V.P\`!$A0KTU[SMTVLD0\",P, M!O/"8!2-Q\*;BW1T^,_\^G"83F?Y?7YPGXJOTF'ET9;G>?6*3WX*1^+E?")Z M/=$[]4^/_..^Z)V=G6UUNUU'+T]^O)YS_3/1._*/7OA')US_BR^$USOM[3\3 M7?S3.Q)??+$E/@19>Q8419@E'=$.1%X$R2C(1F(2IX-!E$R$*CT0XKNT"$5Q M'10B3>)[^`@K'4R#>S$(Q23Z$"8'6Z*SU8V*<-HNBO8.#G$4`C3>=*PVG?96 M]YOH!OL-Q2P+/T3I/,>N]\5@7M#3\3P9%E&:B-LHCK'_81#'`!8:1#062;K5 MQ>[CD&KIZN,TH_90-H5907WZ&4<)/IO'(^QKG,Z3T<%6M[,EZF.]X;'FQ7T< MBIOPWLO#7^=A,@SS@X,#'+KX\3K*83P)=C7/85!%*@!L(Y'/PF$4Q,(QL!PK MP4@8>%:W".77A1AF85"$N0A@RJ-)6$#OU\$'Q$:L0#681W$1);("8_?LE+![ M=K;_G)![IV8D)]01%P)^>0&@ZI)>KF&5!%,YJ7HSX8T8#HLKS73WM=XULK>Z M]79O5FDG:LUNFILMQ!>@/,KR`JEC*HHPCG-%)`I/L)+@98@D)#0J)8K>LM[2 M$;?78:+;`6Y*>DN*\*X`*LX4[>6$H/[1<\!,M]_K[_?ZA"%L@N]0U:#/-`\) M&["8BN%UR*,S5\SOX0D0'?Q?$<.6L*@6$*%!40036(A;'LT[G6?%-4\<*L(R M,"CL-H(B?%6.[Z8!!.6[]:2WNM6>C''@P+)1N7`KX.+5"VNUNGR;EVQ4Y&$\ M%K)Z.=1N;.2S%/*P)1+A@,M?+X9J8W21,PBPHP@JYYR()PU$XVB(PTIA2J)'= M1D"(Q'?")JYC4BL,BA8)S)AH_=G9"3*CYTE MJU&8#[-H1HC!O8@8NAX'3!(0>`O-L\E\&B9%[A,<:,J`)YA.D&6PZR'L@JTN MT\X!\G#@W]`V&BN6,(XFC3FNKFX6S.!@"L@;W7(57F:(9 MV0S@--*P[N`L1E$.#>^!/KO!(/W`9*A8(TPF'!T@M>*AKY#T,9`US"X-"O@O3PTQ39H*,PPL:<2^@AT[[\Z M+0F1#C-D.3!^QG7^#G74NMU'\ITGS6^*$M@5@Q$QPM>)F*8YDEL>`GD6UIJQ M6DG.$>4^M@OO`ESK[3@%GB?"NUF\U357(#T"%AN'+-$!?L7V+CZ\^.)R6WCP M`PMS_-5!F:UN72L?B$[OM` M_#6]#3^$V3[5@P4ZQW4T48R`81'$M\%]CB`!3GP+D(:M1^]^M*`54=Z&&I/#*"#>> M>[FSF1"C%02OS)M)68*[Y%O)5A>D]S&\']<]`L[)*&BQBIA8OT:`@@4M4*PH MRQ)<'4#@A34KN'+$$=%K!R$/6*K ML)>^Q%'.@WC?8+92T0DCVIQPW+CG/3\#O>I,=%\<]_?[/=KT).,Q1P+?D0", M73_0\@Y5'Z4A5\GGLQFLQRWN@%#!F&9"R_R\T]JW M]2C$[Y9G40'MI,3WQZB]I'-<)-"QE!T&6F)@]L>0X)'@`P%93FSPW M&0_1V"S-\V@0VZ+.6`_4TW2@U@=3ZR`F2*DN(+#!86%'":>0%LMWP!+PQ5B[3'\?V65YDTO0L5$SEY M8X"T#:7&/DC"V99GLE?B,ZQI\]C,MRJB#H`A`F^'_F[3;(3L9.. MDT)H5C,P&`'2%S M139_;RZXUXP1.4_DNEL>L=T"]A!6YH(*^>)4]4N59*YA;VD&6]U:7ZY.PL6= MZ)VA/U]VZO)?"_5ON>]BP0*-]!=?N_UM[YJ]?? M?`U56UOT#BK49_WKS\L>_ M@F8NQ7^IPVP)S78E7X>UDV41:`H)DJ(NU9J'!N6^N&9I3EI,:B)1,!R&LR(O MA>Q_X%:FQ.U]XO-*L-[R2CX<$1_"Y96CN`-]7@?)A''TWM#+6HHF0<+FOY:X M7ECBNLE:)[J MO+--YAY3N2A76VFN+NS%T-FOBWE2/X>J?P9%J8/6I5&4A4-D1`ZQNV)&UJN7 MT6E:KY&EDLUCJRNE%F7`,O;#!LLW"L*,%5,R@,FZED1M5]UG8@JMK;4<`VRF MB:8LH)&$=-BR9CHVQU4;1HXJZ"C,\B)-4>\.26MD0D9<*)R0,;H##P>LT>]RZ-VP_M\W0IA*%8DPG,7<@PB1]WO M5AIGMKJ6Y$H$$I$H%!'(:+L?A$#3'9L$ET]T@1.E0B-H_`3%L6/,^_5!>``2 MRE;W/IV+VX!57P4ULE"7)%%J*TBP0$[[`EOACS@,/@#S2J7]-YE/!X!,M0Y, M>L/FO\QA%P=JEQ1&]OCRK2213%EO9^TA85.@[`T6!>]8H`NCC1(5A]DL##*3 MVFT@[JU-+K`AF#//Z#46"I$3,@=$M=N<(BT46@Y2OB2W`[)AG&I.1FWVE+$J M0"@FR6#$,2!JH*2\EDRUGB=&#Y>2@>=B[PEV6X.#@XN'1,4\M9 MA)&(Z'EN]@9`EK>R!6^AF4LBBR74AC22L%SC>?QWD$KN&0K#5?;]T M]:%$(NLMJ;@O+325#:K$!`AB#I%7\Q4FH5*!(=PYA%MEI*/WX$81:H>7Y$Z: M1A#LM!`-XR#"%#G5)$H2MF*1^#J-DCD)^P#K&+ZAC`B"_ARW@IPW5;DQOTZD M41(-A/O&T/6,E*-'OI%(+KG72R\D1)':XBFMT,9X>1C55;B4 MEFDP8A',LMVJ^`F09ZKJDN$O(C(&7IVE(&,C=DMC:E08SD+>8SU@3`2NQ)!? M7]H2JH1Z5.)5\BI+]5:N'?>X:-*E@:1T7I7:H&AY<=>/PS'0-(FC?DN\V^J: MI@^/37S^+)C!D/+H8^BW80GB^%Z>=*CZ$S*1>,-T=N^#Y#P#5HE6$I]M);Z? MA7D:SW%(?OOXZ$@\.SHR&OK`.0K&I-E,>!.Q=]">Y0_A+#??`R.9*,G<;W6T M%FJJ2%E8V@@)Y+&VR7>E=3;G/I54!- MB44/4ZV@EU@`4;N-FK:QSZNM6G?5<8"B)!`3$"BUQ*;#G!'"%(3K0%J(G&J;*VM9;=I M"8R\2B9`>H;\JB)0JOX=$!.0K%&8X`ZD]"Q[T!)SNT(:LMHPC5/2O<>IE+Y- M[D?P+U<9"@'N@2"TV%!N(N.8UJ/"!*U.'2T4!Q*JEF$3=OY%WJP%T+(-&16Q MC.'$U&0S!3F^*7G"F3^@V((,EG=QXA'2KLH,P[94*+=M7EB0(Q&&5545-F2K MRVHX)<_!OLDFH:0!-BPZG'44J"-*\4ILC>QPVFDZNM(Q/F90;;7`#*VMECWY M%N:!`;."`F9/>G[/$6!;:V6&V?;\XS.__\((LWV&87[TB=9-%904:2\V1]0` MK(&C=7B>L-V-PKNVBL#I;'E&Q",^(O-$Y9GAZ&:_-/M`<.7E6HQ0:Q3T"Y#, MT<3)V+P)[Z5)`PW-%-N)RP:85)@E01F3N%\.6=='B^ZU;L*T&*,3AHCA5E&U M$LXX5-(^Z7FD*J18SF6HLRA/H%AE`? M/0=TE1AN[LYJ=^+WGOE'9R6.C_:/`,7[QR]>((Z[.RCXQ&DPPI6_HWH-*^81 MI1;,LXQ=D@P,P!?L"F2>X\!@Z,%B&"L89HGE<%P-RC-8,\>`%,!&CB\4(%MC MQ*)(IAQE0R]0SB]@H-A"%-,93^!EGJ=#$,;81YWA.B_MTG$,6RE@CO<^TG0' MRN8GY08:3G$_"U$3\5[B8V#T]#GB3_Z1CN0?^LGO?@OB!ZAPMZ$*@.`9R9Z! M'-.4NH<9G>_"J#]5ML[WYJ?]&A^E`# M<.?U+A^W,1A0X-P_G+>-&KU]J$,5H#R,\[#LJ(-[$8_T.]#>@"WD%3P?'-#X M$`54'0?:([$?.!P,<'>'QC=*L980.Z)JCD->[\'F4.B@#ZH(T[NX@'GTML6Y MN/"ZEWOB\K*<9Z7"GF\6*[%T1^E)AGZ.3#;G,+CW7LMIKT$9*B_[:+1/[$N# MBM%CU^RQ[$)WO0=BQMX2LT=5"U.=E$X6+5P=E'.UX?6S?[FSX_E5F.%_1(07 MNY]V/_6>/O7W'@']7O_R\?(<***WL^<_;JNZ8>SHM.OL-%VG5R8PV9";<2-' M;:2^:BMNT[L\;[7X$5>J#/?=7I5JN/(.RU1("N-J*(]A2+-E0`WH!52W+AZF M)<@N^KA`/R2[4<3Q1N_W?&`PL*@,M\Y[A_S5 MT@C";8!&>G',3,_QTL6O=+Q1+SKUPO)]R/B(QW8K`&*@J-Y?DL56OB&IOX)T MM*1E1#O8;VA<(K0Q()^5%417]$2'&#T#/+^.4/$'MAD/Q.PC M\;_^%P#FS0]?OWK]#X2.Y]7`HQFIVLT-K[LT.;WW/!:\;T,EZJ-N@J^17>@] MC4SP:"Z1>X<0=JC%]B[^Q+A7M1WQSO&]9HOE/F0J9;J[VUQO@31028IR_X,Y M$,2^_-L//WS]W8]>7X)+[ES\+NAKGA117)LU(C!#NV>HN"]O=0!4E#R\20$0 M1?"I'0][>P_"2$ME65C)1)CU3@_LAG*(UK1)T=ABH`TY1QDHX@X,F M@>IS#G3/AHW*0+U$C;6)R\J)_`FXB)O)AF-<,/!GA^HT,3RLIV97Y6N6-,'^ M$QKLOG;#$%TL7@QE)SK4P1;T:%%$DX2WG8B#NTQ10%L\RZZ@]T)ZN_0^1@YU MP3I0,HK#JM\_K\D,BA>$OP+E/CP`5&_SB][EMOA=E1<8FS83R1.D@/M26%H% MJ"Q/5I`,/6X[!;CW4-(B]S&=%"%K+]5113E*>:WD(T*>49&RV^D#5UF'T%5QQ$8ADP*+#>F.'UIC%7H[$I*:PG1@""C==]$^EI;D&& ML5A1`:1_DJ(I&XVJ9B_*X6\%2J,[+85-(4[368Z?-[C5?PBS>S$E3S*>QK!` M+.&TPYJB20Y/\"VOV+%"!N>J8L/$!=5`KU7;WTV'.N*=3_;Q(YHG;D,:%,4+ M2G3C.5Y61FM;'CFQ"VE-]W8M;?31FW;CTTI[XFYP3XIUX%4JAA" MN!">&"O-7;CJQKAL>W3Q3H)D@W24HRW)1)I"MRB?1_.)M(E_")_T_PN`*S@3\DD=VBJ#1" ME8Y.LP4<6!%I7:<6&GL;RK.@T+X`%1D%+]QEJ_'4II=`Z4L)9@_)N2U*6L,4 MM'982^]!F6]5):LJE=$/Z'[;"4ICGV,[>[U5E5[#_6%7M+S5:=DTC/+M=] M+'0T3R[S3K&PH3/RE2Y4U@L MT-HQE*@_.^'IZC.> M_MNF_)]"LHNG_T0J,^XXR`.-W:5B5@FJR]EPHJ+;QV*0F1%,8V^;^%\]V8:Y MAPG1D'2#T<`XD+\42M[512;COPH?K*Y9C$I\\J2LEU8J:LR;P%6[$,L).%KS M,):.:#-F2DYIV*TL-[K+D*XW-V5S#O$4#$5F4`B9Z9VJ[>QP*/MAU2"/?F M)MJ7B&9Y6LQ1@#%V1A,<\2T5.N!B7D M\[NDDO*NW3"P>]8@`*^WR$U%AC&E7OMWM;BG]?;>A:EQN^P:2C?P6%"K. M?@+C/9)DVOJ%)7>U`&[`1L;':.`H5W)]9;Z5)"T1*A-O42'`$&.0D.^[I7@` M*478N,+`\`1]6$;BU:.W*A7LD+!*X9,?YR$'>#V7N3+-W)K+NJZ&`$+K9V5X M&"7Z>[Y/P6%:5WW[MU?2G[SW[M$@'0#@:R[#%/H5. M``%>29K?_!E*OOZ!W[#[[M/%SX^7._J+]&<;)+MNRX>'DMN;R(,E%V8%K>;V4X.;>\SX0,,6WB\H(+6>DH&COD?` M>R@Z0-8VV:1NR/N=7-&N>?#VQYQ@"WD$@$>_?RC+SH]0:2RJ$KW\O':-*_:5>C]Q#_NF:RL=X2\K,?T M7O(,/&A.P3'MBR2]+!XPP:RY[J]D3#!-WL/P221W2?O63TWEJE&)6I-8/QC$ MXD)5R?8;B/:#13(KH8/3H=1@1X]M--"C-5'`;2K@A_];[.88NL)W/ M`&MI3/U-N<#$COA-V<"P_6_,!\8)MW&Y]_OPR;8L=[6O7O^`7;:T(--"`G"\UR_2R20.??/%W<87^\8QTL::^&Y?BT&^ M,028O8H@QBV4\#6AE0D,VFIO%"9!RDP%Q5#[H& M3DPGCRJ/OZAZ-C8\0(@SZY0ZOBF37>&K.$W,`>`>T;\L'9GW#SRBZ_V72D/F M_;UE9^C"3M`ZJ)-"OY?6C]:!*#46/`A$&S]G`.9`0IG*G%_-`AM:74&-&T=W M(B([;L[G=\I>'$WYR!%UO[`706?F>"B`F%$XPMLH6`>RW2\YI6JCL>))&^J; MCMPHA6"WAP+JWK^LH$U/&9`G]!:0VO_+_[O_#[^(_-S?QJZ5.;E2K5*!;4@@ M@2@K;T1]DPGPO_Y^V1%R8-L>%V_O?O_FQY<__&6[\_O?JXK_Z)"9A\;M_<.N M(I=;0540GNBG*I]''=,1SNVDOM=JMRQ1W/R/((UVGT_GL@W;N42')22\/:)[ MI@XOLIUUG_./R\"M6\U'&;OH2HKQ@`@A!ABG%L0)/[P*KH88('XUG([.R2"_ MC1"@`,BR4&UJG0X*ZC)@9;]3:468N_?U[OQFXB:9ZF)/]?)[8-D M/F5"3]&KAK7TJ;B_4546\H^?[??P[H[CX_U>"7CEW55^W,#0<7(5)*`":RFP M8`S(47>XC['XS/\1-O@^_(!.XKZ M;#(KZ\M#*=L5B[X\PN*VZF-1&;/"QU?TM'_B^9:^H+R,+ZD!04VWC(B6O9`, MI1SY9#*6J;K*/#KE?22R2X0UT^^+%W3US(N2;6A'7JH.5M('/GCZ]-WYWN/A MX<7/@??QR#OSZ)BE;E-=D;B&+L^WR\Z3RKK M5M>0?H@R&`BD3N%XY2=L\'C>?K?]#IE8"NSBW39:>)X`L\$RCH@I_84LAM*U M2_VCH_\$=/[3H/D-<.D]([CT3*IQQI(MGOLN_MK>6GVNU8J+)LS3W?V$[R@G MJ.?'_]4GJ:9XW*-'Z@E!\.3Y?N\$0`A"/,CR"$.L MB>(^7SR3N#?Q4D+3;+2!,BJ?/T1J*,E2%8N7DD(?3 M?!]W/^'GN::/ND@Y?+87^>\--ZZP(R,MIVG[W<7#NW;'DH%M M'VB3XW-U/ZFHG&S947[%3O6=MH^S/NBZ<[447^MMV4?ZI'1IJBH<_EH"PAS_ MKNG&M"(\C&];PCPI17=-&=%5'"6U+ZW(!TRMSYFE539"P[E.*V3;(9U3P;D. M5@'62]N>)E%)>6\UYWT?^.RX?%N@ZUW4W$SZU?5;X9$U?%36I>/R>^Z=F^JC]4_3X M/:]X_+`A.OQL'U_%WT]T2)K#2^^?H#Q<75;B3#0_E]]V/_'?IT\OC$8[S.5+ MYL_?=G;LOA^WI5,-/<0]'#?O*_50%7M(V'LE$.##EE>=*ORO>;@7E?Z\%<;J M6>_K+G0@.]W'3EI9$(W4$(>T*`)I$>DTQAX]\T]/:A[C*OWHUN0UOC)T`]Q7 MX'\PJ=9%2Z7#6#&^A^,?5%=EKJ0%_3=XVO/Y0*:LJTU<%]EPU(_7A&/9SEZ' M?6AZ:@7Z/*=`GWX%DKK]2LNQP6^B$GI9BANP"8I&2/Y'<#E1(3 M3=Y1FS*:`]CFFP)TFA+G&G^7CX\P"SHLOW0F^D@]WQ37,L6#'\H0LW>7C;ND M%G$P`/A-XXBVF_>)E7M04E9M`)>_?027*P\!^>#J6,`T!39'ESG?R`,J?FF2 MUUJ`4Y65CYCEBXA'ZT0,DV M'7*Y/I,N5QD;+S8EA+]CW'0PCPOAW?,DO?*ERVA@<>.%Z-_\O9>KO)B1SA(^ M^??)H2?W/1=S+*)X%-8Y&3VVF2(]6I,AUMN<8-1C_ZP6T/I<>U'?XP$^1YQ= MIX,G[O0^F\`\?GU+?F&9AP6=LP>EQW$H:XO?TT?U?`OV1[7^SVX%\?--7'EOC# M'_ZPBT-BLQ\O![;=XO>G3_:DG79XW@:TMZ@N$,.-V&[O8HW.=D>F=C*7YTBT MM`,$73?#FY9D",81%J^<)?8*4DZ;@.-]J`YFW,$"'`GIAA@XUD6GTC.:[Q.> M[O^DB?(BP*Z2>48+^0DSQ^,$@I&`6.A\QN*?T M2`=-,HT*`L<(\0O7'@1#.2_5":CS6):%<6&(YGOO+A^U;O#NDC="K@AC&<:4 MCD9)0;0$9H(3NNW`2W0^-]Y3?E?6>@L;BFFD49T!<1%G[I2*H-YPBS<=ZK,N MXE@;PZ[JB^Q&[1MNU63YJ@M"35M&0[_F'F&%P&X:^>H*<)57"!Q>451H)=J^ M6JBINUJP.I'76E9HO>_W3VMJS#-;^*:F8IYP(*L5_OH;HU\;@A&QF9+@DS72=87;^_BJY??@=+$.0FI1.7L[,D: MW]9.^DB*;RLX>G''O8WP^-0>4B=MJX?ZYC2H&VG=[^%)-^U5KFX6[5[R*IP& M7,IK8>ODP=\V(0_9TB:/XSZH3"5YG*(1]U2K&65N5<$I3U!LX&PN#D"&?RZ] M[&IQ.<4,-749C]=J`BETN`B"PP9>/G1P\>$F_'M8X]S/_=Z1P79(+>LIM2R< MSF/,_>)](S[FU\YH4$R#DI+2V;1R-+S#7\6Q):[N")@PQDTDX:U/.0@Y>CBF M^TMVW_STE4[]IR[N%%E(5SIA]G%1GEV:*9L'Q7AH;$/!>7OWT[^@IT.]?@_W M'O^%?;>]P^^8`/@$.Z>H%/*J)$(E98;-.)Y##T<6EB=".(`KRHTW[GZ"+SL@ M9__TU=.G^LU[CX]/Z=G.GG[V^-B1`9B_`TT+6AF*.\F[.#DGT4E(8+RV#+)T M]V`*N=A9:>72BD0E&SF!9#;/KT>^/!UM)BB1]X=P*$RN+DX;S^.X/(\GH]CP M%`QU)MNP;_X4PZ^ZIR6:,(T8ZM*?VJ](LV4]9$='#[+-#'"@+C+%V/!2)=[] M1.KPTPOQ!$#B[@6HM9?/S]$S8!ZP:^0V,GC8S2GD@;,ZW^&"39B/;%GAU_:![1/D MUZ592*N4B>@OX=73U7BU/DG7P*&G"SFT.E_@G*`LK,-,%FP`,]6R!K.^)6^3 MWZ_F(%'CT38^/"EZ[I)7K(/0BVNI,Z*>??9T+]@S")(Q$AC'1RNUQ_7:KYIK M9_7:M^[:F!>:*MNU_VPL^=JQ61[Z(G^*U%<;*,:8)MU(4G_!>*G#IJ;3-+SK MU=)W94O?E87`)S`9,V*X^56W"U^E`+WP3:N+1?:[Q)9Y)+AI+8;#Z[08NM<- ME]57(C]W+,33)0M1-JRMP][I,H>O'(JA]:)A?2A&\)F*&#V!^&00HS0$DLT0 MOF1EA>L4SR-2%B&!)SUB@1>&IM!J!;6O"+-I1)=(!;-@$,51<>_6EXT(CL\U MND:T)X[^G=QS M]!_DGJ/_'/<<_0>YYV@C[CENX)QC!]<<;\(QQS5N^=P_M4Q<9[CJ8.U9JVX\ M7+[BEJXUE<>BCN#0G7]EN)&P.'2FX;AX^<-/KR]W=IQ).!;(EHI^&TR1NMB! M'U6T"9ITVQJV3LZ6&23+(<\3]=TR4;[:U)Y;!?6K1K#1?8K.J6%)'5CX=`,X M4;,ZB)Y9^PC!J%<1`&@8*YH51[8:;GN?>WB*_+QE>M:L##H3*&][AYU6/::" M8P"$]RO%1IRW&AUF&+$YJB36<1._V9L9/[-HP$:NGQ:FY&DY%+FI/;^973CL/4#W:@,9\U+"Y0WO`1\/*$L4]:B^F5ENS\ECEJ8 M-JH).C=H,'=."$OJT,&G&T"'FM6@T^]9JXK"<'N5S#LT#+U3F$$K9$$Q=@"+ M(+VZ27X7DT8$<8XWT!U?NFF.JS18Y"L=Z&`*,]&2L&B<8(]86&R)6I#WJ]Z# M'2+R;>9_^?TW?_OVN[=>S^]00,IN>Y8+CBZ3,0JS_`J;8!;J2]_;M4OHZ:/H M__%P%'XX3.9QW'GD,Q+^#IK:=E08P>/%D7>&/SF0X)'M<-L=R^VAXZ_0.$K# MV>;Q.%YJO7-;OA3VTYW'IT_%WB-,N4%BFF4IW;C[^JM6D_/D,X]#IF&S?R'6L*V3G]-[;4$&Q4!8`@:*VST M"CT\*+M(IK*TZ/C:!AHI:;,RXJ[K6$;/48VH&RCC:`*BX:9A84#3&&Q M"9#":C#W2<\_ZM6E_DK21AS"OT_L1_]&ZA;\TP96\A&$2CYB82BZ MW$MW2I_`+),;T9U'(]&=X$<&U40WCSZ&U5-7^%\WH'7>G?*?(?\9Q#?4`+ZD M0^@-^UR8*'F3L2Q*%K[&L%93;(LLF+F)"TOJE(I/'93Z;`FE4K,*I1YK%PM3 MZG,7\Z%1K."][G]VVT%%];F1=WS3Z:@+J;1`U2#=84@R"[Y`#V]&2O4= M#:-YQI=V"8.F^V53S2S6V1A6,,\Y+`N_$^S+?R;+`O-P+*M"_]^VT)I M5EB!!U%JR082YZR3M06#CS=9,=2NLF2>NX*7JYX='B,NA2$&]&&,+G(:.P]] ML(+'8'$Z^L^1;ONW^B0^CHL&B1=+ZLC`IQO@@IK9J#@]LM1M2A=OA$>+C^/A MZ(HS#".S^CB>A(7\W296)2,PO;RXM](H=[!U$G(.7LK("XL[CF4+#)XL9&)^ M[+<,H3,2,4-#$-)N#)Z6SP?#5*=+YU\5+5[*=;U+$"0(K!7_"%9I%M)+E2F= MA0EO3#D=38--;X(GLH`"19`/HT@,HB3`ZZ]1?9K-"Z4E.>3P^<`S!`FG6K;) MZ]3QQWDA$Z##/]Q+9ABZ+__`[YA.9.I-FP`_O<%'V10^MXPK?+:,Q$,GY)[J MGZ(]G8/K]MK#T4.U,LRP<1W6I4<(,'2W$(-9[F0FT//M[2`("A:O&?$>ATQ%O M#5"ZJAI[M8X'VR_`P6(Z5X8)`+W]$!2=A\EP]C`*$1@/_*Y&($D5F.9N&L<^&LPX?6STYHCM63H[W^T&VG[ M(4C2Y($)7$51:[!&`EN;P"#^Z+UW0_B MC\#B/LG,$KL]/"=<[ZRS^&:M#?HSDF*5*;'T='8__?/5CV^N_OPM9IGUS^'G M5]__^-7K'T#P^^OWWW[]>'CP<3S@KAZ73K3U20T&QK)K=+S*K!8T-J;`GT`E MC1MX4X3:1U=XVD=G;-K2W;L6F`:;]^G14G/51PI*6R6?S06)5W=QU%&FC@T<++5@?85DV'WM4I0XDR9)-,*6:5M#5K^:IZ;GLX'I( M#;:L!BM6U9FA;"GM8&_^,-\+.O+TF6'!,;$]"<6)&]M__HWQ9G\V_1[J[?-E MEA<`PCP.MRKK7<&FL]!4SVWECE=).O@S%UX99SW]K..@H"]Y6AC*$V$6]7M] MH<<5`MW$_)*JBK:65%N9T);U4\E2UO/[5I:ROL/0X]TD>J?S:'KOPD-#S_H_ MPONK.*),X2LX;N6P5,BCBRC*#JM0S\)#JTMKXI7"$K*5`@L&I_[1+X&6]OU/F=3H" MWN5K&(U;3@TS`-U(<&7>M5AVY6Y1O[WFLGHYO$R1W#MO[])P,)'!KYW^H_#^ MP5\7=W=X^.[=T]'A;O^1[V`K,WLT=@<:U/ MG8JL8ILTK2+'0G^^@#@K;2WRA/^;,;+]/J7)Z>_W3Y3M,0[RXFJ60?-"&A+I MFE.^1PI=_'BE2!#?!O=YB\\JSK,<\T3E`L\WCF0N:[(^0E?"ZHJOTR$)"M4Y M>:-/B/<:X-6]>``OS*)A>5',;9#SO0<@(>_P_\7+.$_WX67EP4%<]D:HJ+Q- MP;I["<\\Y[[L0=01+J^_J<\UP!.H'M^%JS(!TUVL?$V4M*SB'3=X293L!@]Y MJCSZP,E"NA.)KUC*PU_G9*%Z_W34TCE;Y/WN\$T>NQS)G@9XL2[H.5EA79"# M)\K1#ASEQBT[4:(00G?&JXL-9$\R9[@R(^.1P@,%#QD88L/BF^C&?:L5'\TD M:PY>QH3#S:7!+4G-LZNR(SQ7:U^:-@A+L%!G]J%7D=_G13@%J""4;X.D4%T! M0B9T(YFX1BEUO:YWUK37*>H"?DG?SBTF;M,@BJTJ!2T_V98^ MT*6YC+ET/587C%@[L/C?2TRX,LB('[FV))> M+*`?1Z.^?]JS`G$QO34:$,^4`7&++I@.Y?UZF'&#KTPH;SU1-YX8+(>,OTJ0 MHETPOXEFY+S=4U<=FJJ$NVH;N-1#6=^^[]3(BHA:`36T;R*8$6U_BM#3(M.H M@]!`CW;VQ./VEI4(?3@=H<1W+G;_A9%_H"P'F.%*/R-58\H$:^:RRQ$UZ[X2%[JN81 MJT[(L^^[K\BO-E?2KI)JG50/Z[S&+)R;F>-*8JO`WLZ:+R)>M)^Y[B!^YA^=6<>U M^_MXG8V,UM:7999WCI(`;5W2Z^ M]:_PX]-+[Y^/YY\"[^-CBV*.EYIYT&#D!:^!ST@D;B&C?+XF M/HR&-928[NH3C`XG1R5KN^%=D05:W$['2EXZX+N;&"_RKE#4#&1\>'E-'"BC M,:76U'?N6G=OJNYJ]O3%04UDE-5V:"\LR\K]4^9*HE[5!*QK-#W3C_'%MLP[ MV2D'?]'^H?/S'G6PQ[>B./P>*S6U[/+6"\LX%74=8K>S_>CO<%O@LSO(69>] M>\5>1(-X:YQA=%".*JN2HGJ^-BGJAI546"^LVQ_.Z*ZX,VW.!ZZ=!\,ME4>[ MR\EQ?R?0]\J7M';A&U%*QTJ8JUA]3G>/`O<]K##Y.JEIG_:"!+M4$>=AV+B` M,)7T4DQG/>+.NSN`M7Q\!X]#4ISP(3^ZZ%V>>[^^U=JO?9%EDG(X1Q[&(5\@ MQ61,%SL.0KJ?,,AQ>E8[)X:!))KYOE%HX]@H6!/)9LN*]1P;FPSG!!F.2J?- MEXI*2XQU*3=-$"F;0ODBMGP-.0!&VG7X+`(F`S;?WSHP#T^MP;;%[KD%FA4. M4L/P:ON&<\UN-``78FG+;T:M56PCURI:$[UVVQJ"^[W_;Q!L`V@YBEG$^LQ( MM@?A0#-YE>;360T3JL!"K7JX'E*=K7K^R9FV?%$B]3/DRO`I`]J0&XL__E'L M7HV(J6_)0(;MSK;]>*LK"]XEEH9QWK8KHNE+X(\EV@CW!C#RQ'9K]Q.V.#Q\ MUSILO7O7:CVV0!>I#:WK'EI7C=D>K\Q*2&!'XL-TGYCV$[1D$&M^"KD$15+U ME+0H#%R0N4R;,!DE=FBU55##)#YT8/)L,29KK?H8W&!*W\]>4%PU_BE1J>3P M4.C$W1]4_C]Y5:>Z31=T$GR)98>5MG.ZK%U\5:F@U#+M&J"KM/7BEC8V?M=[ M;3AJH87ZM_25FYUA7W0MO$57Q$'*^Z@G+Z4.M26N2C+M`#^P";>S"%KD9$G1 M6\&!_FRLI#OK*6!/^7^PAZ$9H4F,<5[DT2CD=(V]([I*L7?T0MXELJ-].7KZ M4?(AO=%Q[I(>`%$(JT"[-&ZO,;\Z78B'O3@N,E9W:.>EAXE=4IQB4KZ5>FA+ MUPQ-`.]^)R4`UYQN"MI<,!R&LR(<=0B-/Y:71K[WWK0H=14Y4;R9=)I8[U&S MD[L`C02[*;)[HD(4D/BV;]6"B%*&Q)K.')GM'WTZ%%Z68C?Y?'A=-M6!E72_ MY0'E,<8H.6SWWKMIJ8$;;V/HJDMF#?<,^M)PYFZ M4R:9Y:CDWFE?Q39Q:-Y?9+Y/N1/)&W+YOO$)J5.YV`Z2VY=$\$C=2M"A3W2#H%$>8P;)H$:/D_!6/B0+X<7LYK)C>K=QM59] MV!?PXH6UK&.6.^+K+$.[UQB0`8A&(F3F@-@NU=0V!F1K6$^WQ!-N7=Q&PQ#H MVNH4D\W!>X]\&6D>^4^X_$P$DYI)^T]4[DVGW!4W)-289'ZBAEQ3:_& M3I0%E&YV+\O=G&!E%=U`PK9>EB^OF,;\*R+[&WC6PE/S5[T->XQWO&%MZH^*>W' MMAT.AVK+&G6!PAIR5P^9_@)$.O:UK#C4N#"#W!VHGT8Y&=-Q4RM#0%/E=*NWS=$>9IBTRS])BTF>8+1S@E33JM[^S&PDZHM-MK'O5 M6)EMELL15X[(>$L%U/PFXV'Y-F&\33A@3J(FK!"`V?'S%]85PA3<(ZZB*V3F M^F989"^[\+`()IJ_"-%^IP*R.EO>$XE!V91/-'C(6-K)@VD.;ZKXIEH3%XL* M^`(15%=_#-`]";]1E/2+QVTA@2%KT%DC]'(]T4M0QXTEKK:JX1?8RI8JWPR` MY<_Q:@@\U``L.)F:`J&C6$F8CJ*JU[LQ8L[5UI0V*4KNZ*CF^SYFU[>^DJ(< M%*I;I9&PY8W\4?0ARM/,;XF6?QU&D^N"OL+&5ES3-X(0D-U@>L61B0V0&4<% MB(>SB1LPNK0&%UVR/EC*IA6H'+NBWRI0*4=4!4HT#2:A3Y]R0]\$$,E"0"2- M@$@V!T2=/$[\?AT0)TY`)*L"P@.Y/[C%+_DP2*;!'7XEW8Z^VUD76MXT2GSX M%TWG4_1CS4/J`ZKZ\,]^NC*()\ M6=G>W*2FAU,%"`!A``(Z@@"5"7S::B+`"H&M#*AI,)PUDXTNK8%*EZP/J[)I M!5@O_-[S9<13CJ@*+5);T/?H,U!0:![Q^TDU>/JTK(T^>^7?<%:^`.2C MT%$&4]=O),19&5<2+CA',(N&(*CKHW/_G2^9R1)6Y^SR+<8#>V'7WCBP-(.!2%PBX9",0 MR*85$)RZA/Z3&@CDB*KH'\?I/6+?&Y/D45QG87Z=QO2(!53]2`NL54F$NF:; MY4:@+&!C;YHSEKG`B,\W`B(UK/@N7EAY'ANIB,92`V":%#Y^T+[CE]F:Y=8Q MF`(T]GQLNY")%&GOZ*YQT%CH!`,6;`8':EFCI>/GJP""AE.%Q/6Z:$\'D^;1 M#2;N^0XF&TX7&MI;Q^FI==1NP6QAG/QWD,"PJEP$9%)T8J2SD`^[$/G?Z4,0 M]//>^+D0).$LCYKG@*5NL&#)AH"AIA5">&9='+<`-#2B*B5X@P$:5&UZ6$X. M\2_-@XQ_<<\[_F7#64/#VIS[SU::,XRE.F-@D6D\)_P:7]O/85M&0]7ID3@^ M.NJLO4#B!`2ZYBE`:0-4H&13N&F1.ZO+%J0LR.*(J;&(_#L<%Z'79)*+5 MX&5^AD)5^:AJ/"E\T"+*8I30_$%:%.FTN;18ZH8`EFP(`FIJ!X3@ M;OQL!6E&CJB!U-+Q.`\+B]3T(S>IZ6*3U,INU@-EDS%8%;H!Z38%KP+'JB6X MAP;0H]4V!UD($5C\IP&RY_W4XDA[Z\&CKRO8&PS6?#:CXH@CH8PJRSC$$]' M5]?^=9I%'S'X)A8AZ$,S2IA,/7SP/X09G1FU2]ZQV[?EW8&48RRU>_^^<9GY M0!%N^1C5;K\83]W%4%"^<&\=(IS/ADTD`T4N$H3'&U$@MK.77__8M6'6N1@. MI$9?/3*(]Q$L0(6H69$#G1;A-$CFJ&/-,=D24)U+&U.-N+@10I/I$,]K9>Y9 MJ=(ZG%3)!J#232O+U;GO5<4+/:(JP.0R*4W"7"\GFIP$TVG@:[6T1OZ\=HPE M=$_+6C_0M,XK3JT[HGZJ*9\L`/--F"5AW`01+G6!F4LV`K-L6@'SF76S>L.> MH$=4LY4Q2&Y=OM*E-K+)-$FC/&P:+Q6Z8$`%&X&`6]H0P!C%DQ4@P,-9OBLN MG&XV;1Y:-G5/-IMN.-=L6O$J'/?\TY,5UA2-".[2H4=KR"@TL.I,;'_'P:!IF6*]:9`%?:7/(8P#MOUC^GYU#BBH9P$IL7BS8,W>-"S9FTU7[(TK0J-_Y)_VEFHN-\[U M:NMX%15O)5<"EAE.3 MKR9$_?X`)"@\9)J,!#^0J\)A-I`MQFD6-K9@A459X-%!Q5\&-`IZ)+^5V@UO MJBB598%,J(X6C=L-[#\PVPR/-C2!$0N=F,&"S3!#+6W,`"&OX-Q1PZEB!A@, M:>'S08$D2Y%[\[B(9@3)MR[%Y4@/" M,"A6B(U`TRH94UNET`9\@&RE2H*K$NPO4`/+?BFK_8+]T!?5V7KP3)M$72YS M0C3=2-25#2LP/?%[SY:*-'(LM@ MB!.W/6UB&,S\%%Z'-X]P50W>M4&>?$CC9AAAJ1OL6+(AX*EI!?30^F2%-2U' M5-V>^/'<,+L:`%D+'EG:3()0YH0%/-\,$MBP!H<5XA7D6):NZ[5F/F]F9G,W M,YMOR,SF-68&TLG9*K.>UYC9(F_\;_9W)%,RNC=-A`I=D*&"C6##+2O0>;Y* M[)\:3A4^27@K-@]+AV[#)(;^PJ81RV(7&&311H!0;2N@>`&[_PJ@4(.J`D,^ MIT.FFP0T)=-Q'#4R""QSP0&?;P0$:EB!P)EUR57C'D5CJ9EC5MCFX3,+DGPF M8]?O[NO;599B;L2S([+J\)_AD(Y/<$G_.1?)OUBTOIJ=3,G`WP0:*G0!FPHV M@C:WM,%]?.R*'.G5U0`>CZUFKZ)AEU<'\W1IB0JZF&M)E77ZDP'OEO7 MDY>OR,(P6:'7DX8A#G!LRYN?+AT4!W`W7H]E8@53F$^#QC4GBUV4((LVH@75 MMD(-)R`CKB!TJT'5M$(E;^N=VGEHJ#P[LNG!$!A#E(S"NZ;I4:$+9E2P$<2X M905>IZLI*3R5\4D8[Y`,0?/*NN0J%EG-CV'_,"4CM82 ME#DVJ6GR7.H"*)=L!%'9M`+29ZZ@^#I(Y8B6JWYL9.!/T62=\`=I-@)`KG^& M$H:2Q%"C4;CD4A?HN&0CT,FF%="]6"7R48^H*CNP>E:*4%DPBN;YNL"8V?>? M5(I<8)A5KB]9%0;5=GW_],P5`US?RV:<6WHAZZHNN-CC^*PJH7B9)\.T*B6U M8"V/HK5J[0>>BME:W,%Z2,B+L!EN>1&Z$0$%&Z(B+ZJB[$D?!/N5D('#J0>E M4G9X!%!*;!DD1*7NK3[4HO0NZ-M?E!@O.VLA" M%T0V/6FC6MKP.#UR$:)#Q-4';>2EC^JG\P8K^T@BU:542,IK(I_43^IT]/$^ M$^I61$X]:*?*3"JA/O5HH#+0C5YOALI5QJ-KWJ]<\^[>&&WYSNU=:D#.I$WT MH?P:8PB:,(N%3F+!@LV(A5I6B*6_2A2$&LZ2M4.5Z+J23=9.$34OG2)RKYS" M?;SWQ5)8%%%]W>"&N@(HBB@./W,<+G2:CJ"P<;14Z@0`E6P&`FY:`<()*$4K MB*-R1`O.5ACKRGA:QJE:`?#+]GYX1/!QVM&Q9#%L,7]$,QBPU`U;+-D0MM2T M`EO8JU:Q^\D156'K5BV=N2O6H[S9`MC,&B`SVQ0NLQI4GOO'1RL8P&@L-962 M6'CU;*B'9@A.`Z*^91RFE,T3/G12WV+P4$8Z+_!NFD6D*3>J&6JQI5`K%ST] MY>]K8P&/IC6##4O=F,"2#7%!32O8>+&:;5J.J(:/`N36(!N5(%\/"/DD:AXN M%+I!``4;0@!;U@!P\F(E`.!P7$E"0'R<&B1'I@U,U:>2A`33#=9H@66-T\!2 M-VBP9$/84%,[Y.2HY_=/5UJK-**ZN)`02&:@>JIT,O%',C1/*!AL0L%>?0XD MB^*XOOIF63B*:)U_\\^?1/FKW1/]#O'#?-"/<[)[PY_^-!\8@ER6WN:S,,,+ MJ\S$)/B8;$]Z"G"K;"'ZZ M<06*/=>AF>,:%/6X:IR`0G;\/"CFY4%L/,6TO@0SFPZO0=\(FZ;`I2[(<,E& M<)%-*U!YYO(F]$YK8)%#:HCA=/E75,(=Y97Y7Z)G9=YQ1#^BGYC7Z<),/!@[ MJZI)/5W&>1JADN9`5G#RS*:C:-H$.BAR(0,>;X0);%=!PTHB#`^DNL;A&LP3+-8\*C@8,>,+.._7A@"& M>S%`36U(](]<`9_/'9"@$=6B^:,IJ%L@$-PI;U7-;1Z.3"$" MQIU?![#"'%7)46M49L=M8W7TRYJ)T]!-:U9^LNYV.XZ#_+H)>E3HP@@5;(00 M;EG!AWV+82-E\G"J*Y-GL-F:'*=9\_Y`A<[9I]F&NP.WK,R^;&EN#H[IIXY` M%V\8I_,1"[UB$<7%XAK3,+_V7[WZ$>_)O2Z]O+/T-LS\,`X_!)RZGQXX+*V3.!A& M>"!4?A&Z#?43#4-_EL9!)N";&`8SOLC),@`;,@5HHQEO;L*2-,JZ(2SA#%36 M^50&N@MZ9%:!/G)M8:$>^=R;=3*NX>QIU.!U)@7L.Y%O&L]=@9]#IO&C64N..#SC0!!#2N0Z+LVUCHD:"P."6M#+CX+ M&@6K6>"4JV;!9F+5+*A*59BV[]D*:N.L%IWO34"6O`ZFG_K[QX_P2_Z=!J,L M@%+@)T60"."09-+.?YU'$^$-@VDJ//2MT+>J\KC6FOEUCM=H-\R4"EV@HX*- M@,YP]T"-&^S[34F6".'X*:XP/LNM4R,ILN#O!;<.#-N'""+F"H7X[M/@[GC0'W-'HKT*]^W_6B MDW3ZG)X.[ZM&2[7^_SUN)TD#;UE:1'=0WDC-4+8Y06/C"DV?K!+C;HRK%LCM MB&7;6X?X84JC4.E M4N?TJ62S^7/3"@">N\[M.@#`(ZI"0#GTY'2`V\^38EU8%&DP;(8%E[I@P24; MP4(VK<#BS#]:99>4(ZIIW'<#5A;4&4AUU'*-4Y[J*_LS#J0(WI31%H)\DH_0V7WOZ MDZ;@!%GHGOYDH]`$U;*2?/UH-7[+PW%9MC(98;?>S*-AUCQ,*'3/'`HVG#FV MK,R\[PIPB# M+'1/W'WL895Y5P\]T+17LA#S<&H>_I0/Q8*F$F3K8WX:%?E\P6BQN`$$6+0I M$*BM[>@_.G5%.CUW@8$&50/$=9#-$A"U_?(;>J%!?#[IU%>0/*GF.K'&K3J6 M&6T4!2H:A7^T7XJ7)^+E6_A\:U8=IK-[2Y2<16$Y$'$JGHGGXH4X,]N,9M'Q M$1WE*J+D?FT:_GNC_@S(GW.T?*KG2F[HUPT@#(WSF:<^DN M9UPC@##7/DB@-E(2E0F.K"!D5&R`I/@OVW?IZ[U^5(U8OA.U,#89H7S?')B\ M-(KZR7KAT^L11D["=2,2J=A-&E2T(6UPVPIQ]%>Y5J,<5"UNE6\+XT-6:S/$ M8A(T#Q<*W3"`@@TA@"TK\U\IF9T:3BVR%%@%D31L^,3[)@-YB=H&LMT\6D`2 M\ZB!(.;1IN0PCVK$<+)*G*T:*WVYF]7E.Q*3Z8Y=X`WCZ&Y]K?Q^_@'$Y:AH M'KRJX0:**MT0,KIY!3RGJ^J1>G15J\4@R#<)9,R!+S5GW%:E=5BHD@W@H)M6 M<%64W<@>WN6/X2SO+,`@LWWZ,T: M[FR<-=[8N!1VKDOT^LXT@;VC*NC,Q:S>:? MK,B"J&`.A'E1'%&@=%.+1PETX,]L6CUDS=M>'-_Y<7H'**'8O8J$%\?W?DQ^ M:"IUGH[SYMF=/Y_1N62*[ZOT,<_NK6)W)W=\TA&V>'GDD5STJH][67KO*"V[ M,*/_2_?RO?E8!9XWB`>-"9-_.UW"]MF\L%5AC3)5P?JDJ5M6:--I?ZS$W^GA MU/3Y,`#HT]V$_+5V86$];\8MEX9>1=]6?M)@[L.ON+M92S6T5O\);"= M+8+MK`FVLXUA.ZO"%MW^I\O4+CV<_Q1LE:B2#29\)1S]F@Q(+!]D]'`PH5]D M`21SL/X%?7\^-$T&QPOPI$KKB%(E&V!*-ZV@:J4<)^60&FZE;':!TCV/+0QX MJ]SCN#RC"3?E\+<5&I\X&E,TG/,"2Z907E)ZY=N2+3Z>$T7VV[LBR7QZ-F:E>%]7G+@@WFK5I6 MYOW,E9"D8L33PZFGCOP%='AYK(&YPCAUBQ)+[A3X#;<5.(^PE2),-/#S.!J5 MXK;W3>W1REA3`GTSZJP:-?Q9I0XDGBU&HMV\@LFS%4[QVZ-;K)6XV+DW'$;9 MLZ/>(@`MA$TC6#:'2`,P3I^O``PW'%PSY[-G2_:PCV&4+]`PRN(:!,JB]6%@ MM+6A<'+DLM!7H&`,JG:LR50/EJV1O^5A=G@5].W#L.53->7R2>6*PJ/R9LK* M3!N;'/>MQ+?]_CX`KV[ZY`E>*G@-=!B(;_PKLH+U!Z3F`T>&4% MTJ4$O;%AH0&\*.[A#XC&3%G;%[N?B&ROAL'P.KPB8SG>!?Y("2_LYF'"-VN5 M1+G==C;O7SYVZLW1R36?FA3=\/9CY]MG`)YT,@^-M[N;G[B;ST:5Q=30_+3A M[:1.&%TT-'_F;#X'_N`Q,;M]AKSOOKF+\:\W5QBWN>__F*L5TZK;_YBK%>:`]9]B3MA:`?^ M8MQ7Q\"X5QWYBS%O-S8Q[^,/&4OJ+\:_W8G&OZ^^^4OP3RV5D><5[#`38$DA M:SW_`KUGEC^\>8L6GX>OW[SMN'?*P3SY&,WZ]7U.%MC[I7RXYI:I6UW/N=49 MML*[2@Q=!R4"98D06BQ0PQM\Q(3IN(%JFQ9H=H./_595Z75$M&)G69CGP&6E MGMD4UDH=.L'4`"0'B#8!D!L\YMGW27U2]-BU:$S:R314VQX9GZ`3MUEWX/)'B%AL09.1S[U*Q?^P:6Z.X77$WK]04X49MRV#4FJ5H,FKGLHI4[D`+Y_BX(&O+Z= MXVFG*-][N)[-[_:,V'8IH^&8)F%"H'T+4FY+>+\JT465F3@QJ[%X@&-U=W:P M6F<'96M$.A\NKJ.+;YZQT4[/''@_7H1WV:PQ3_+K@OI_OGT#G9W+),3A8B%=1 M_-ZWHC7U/P7>Q\?S3R^]?SZ*J>^=OQ,B\Q\N!#PX\LXNS_?PYSGLZAX`W7P_ M`K^!7]%1MUDXC,;1D$,9MKKEV8$OMBWTK3L*0R9V#,B-;.8/+BQQ217A_'3= MI:Z;V:O]Q%KM;DZH!U)GAO_\[*SPGPV,,$U@#ZY<@U8IJ@)*/EX;4KJ=#:I3 MZ\S\*:Z/4_:<"%.SV$%Q#T4,3W@8%$I?I?8!9;=1<8TE^#>=%Y42?"(+/4L! M`<6J_?5#Y\T/7[]Z_0]4_10B#AW:*%1^\\/W?_GAY;^8)4OS>Y]ZR7=QI>@;#G)@JE??8\3D_,L=[,W+JA@D1^NR^!4*YO# M]:S+ZS;A<-3O2BRN3RSN1!)(,XOSSJ^0?5R57,QX1S,;HTIDR5O*OI:_P86F MT:@.UM'(1LYHM.;:P@;VHGIAG93M[??ZY9UN)0<:N=%B2!L]9.W)AW?GAL"Q M(UZ/\4<6MG(1"*)-(8/8]H64Z.CQO&O;_?A0P3Y,(I$.!B. MHJ&(!E,Q@,G>3VL2=[$:67XW*V MGE)6W&XWZ=)N99CP M@GZUD*0NI+!W#Y'.1PC_X_Q#^H8=5M)04#>Y+J_S5XD M:@XW7F+C*'&L7'QJKUU\LN;JY2;6^NT?P__-]=M_3@;HOKU^Z?7`^G@%PQ+\ M<*X.3ZJCISU$[N)R7OK"7OK?B9;73F\>PKMPB-G-WOW>X`!7;$=TK2"O7#D* M*:/@'I,7%.+3-+C;GT;)_B.G^AJG<8R'0M(X#,9"F1SO1N$'M?=^"O:'^X]) MB*$R]'WZ^`D[**)I^"C"Z:RX%^,`2$Q\&N?[=_N/:"`5DV@DHF0^%7&4W.2Z MKVC_\5,,O6%PN\.5H_U&D-P#?.?"S."_]R=N[+`(XTABO?WFE!J-7A:,G`>E) M2$INHZRZPB.0>B8PO3HT/0:GQ_!4?9AP]1"P'D'68]!Z%E"].E15-P1=C\#K M,7SI3@;A$80]!+%',/8(NEX5O*H?`+/'H"$65I&F" M8'P@#D"%U.>8O=(TA5)SVSOLM.SK3VI(TS*=PEM54:V_I>23WF'Y5&P)ZWBT M*&D(URT?-&\'#\.'#F'P84S@:3\]_PT?_?_=L`>0%I(#:893@9VW&BAX>?^N`1,9U<9+ M^+L1TNS1-2P@CB[(N.GL8>Z>$EM%&NP.C1O$9#2HLW9X:&\/\&#-W8%:V)O# M"^L:[>-]4#6[\,F>NQV0LJ(<)Y&3^*7T+DZ;Y^+]+$=O9=X2H%/0KQAO MC\8GV)X!,@B1B5(7[Z]N*2IR/$_(9750[CD@\U:W%``3PE[<"NQ575^T5G6U M([E\C^?M+[__X>N'M__WV\ZKU]]\W7HB53;MT=L[__H?7W])9;`85+'8:^]U MC#H__OA_6T^>M!2A'@*'/"R*^SVU4'$='CG=?94!^,-4)UW4`^G:`_&1JSAZT!RI8\KLFN/()6(U@[Y- MB5>+:N6;&]9^9<2MQLVK[,CQ^C9"YR$/.W6Q&P9,G!A@Y1Y""=B&U`]E>]>; M\_OI((WS!\3A@U2R'7"K"SH.,P:!^%8.@&()0-8]C MVHW'8O!OD436G*;+G6W]9\+!F'@3*:T-`U9!X$6-\C'MO:1OJ6TC(N2WO5&G MME?3XA.__SUBINV%G3JE5BM23Q?#_.Y25W9U->B4F/X[3&0^@L+3(_'\5/3P MLB$,2(&?_:,C<0S_GL&_'O[HO8"/_@E\G.`W5PP%_W=&3F= MXJ/^\1$^JXRLJR:Y9.69?CWG\G-V/*AT#/-FQD*SARV+68IHR$.S&7@6D.,F M$$*%(`^&^/?VO`W#^]3^HB,3V.P#>3UN8R@-%%ZCH,39@RYZYLTFHY3W\3.R MTIQHIY#A%MH!X7Z"F8-,.4_8U,2BI9-/S[)TB+;PUU^UN"%NM>=M'.NK#@[X MV\S_\OMO_O;M=V^]GH]/QIW=]BP7NY\0["Q"7!ARPJ7O[=HE]/11]/](K#Z! M!=AY9`#X.Q?BR>7.[B?F0(\7:-R'GV__]HI^0N'>[B>$B5\\/CYNB>T.D[!> M#?X38/T3$.:QC;C_Y.^8*]QYT=L?/X]*G8>ZP`SL5N_OVO M%HP14_0WW7@+%Y[E33=V.FT6=0JJ)"H[!$T6H6UQE9XY)-;>(HE5-JJZP8XM MB^0S?8:VM&>`9C/)9G6;I`_@;[_L<,?^.6$B]P50:OL/AV$Q/*22#H#6WT,* MVEG4XGZ&EZU3R<'@'K<)U9`MF_?I'*5G\=WKMZ99>5=I&W6,4,D"<[%NZT0' MA0LXH$C/*^B@9^NB0S:R=0@[YM7MH))#<\8Q7$S^=J'C\>.K_;)C[-1Z3JH^;'MNSIT=K3E^VJ:[7 M_DG-J?.B8G\L9B(9XN<,P_RRV^M49*"OW]'/(@N&(1!^$8HDC]/T!GT"89P@ MBVM8X3027*YRL7X"-NN_*_";XKN\X*DB\->G3]_M(%^]\`=QD-SXESL7/^OO MESNTG[B\W^AT)M4O]E4HLZ!>,=&BW!D;TPC"G%"^"0NJJD[T8&L\T0.; M=D4R$;OMX/9&M`Y_OF#4HVQS\?.[0Q!JNOZA^$1&.K';>VR)5V_/@HC$OO2C;P%RF4!:BF;8`<$%J2:/AY*;7IOEX78`^RH_9U?^%D' MI'TBPB-R5!]I1W53MWM+.I/>;<#E[@Y.A[%I4"!-UTG-R1Q76C#!+;>AO4UR MV)63"*X="+RND,#UNA1P;1%`CZ(KC>P`M(I?2`)@=$[OI]>C*#O_U^&W013K MI]=Q-#@_G.?9(7PYA(%]/I?8CO@Q%8-0I&P)S8,QWB`]"O?%\#H]?^4_O=VV[GL",^ M;>0.V^A%M!?L)K#T=WN_+W_]2^2'[SJ'AQ/Y3+)66?+SNXLV\N#+;N?=Y>&A M^!,,)'F7[/;P/]OO]8P`%8;>+(@28+8`8P#V[750 M_(D,G8AYM8'])"0EP%;FWJ,`V^,T'H49&T2-QB9XS'Z_4#C-C@!11^P)AWCWME3&U:M$A?Y!+[I/D%KSD8-O`WS3=WZL2^N-?_QXW M10$/QPC(\[9>NURA4_$F_J1J2M_A09/%&C%8A,`+<8GJR`D7T%Q=.D&3I`^= MX=#IU<.LQ:AW#&$I-XSGRR\%U)0!A,[59G7B&L%%=GO)P5NN,](VWAWQ%\7^H.\.QN- MZZ(*/+2%'7BPIK1#+6QY]\3*E8#*->9*J(3H!<,LI?S,T$%_E`_I[RS'/W2P MEK\EXQ3_@H@\F,HO.?\M$*YW.(&:S@U2Q;5.O^+C[\I+\!$VU65KO]&V&5%6 M@]&XY117WWSU:IEY2+=W(LYA'ZF:,]S>C;>,I_I\&0O\QRV.74UQE_89<\?R_DL]OQ MK?RB'N!OO"5G#@("(BH?I!B8E$]#O(9HEB<@N,UR*,+8FUD.TB$FIZ:425A[ M.H\+'/9M%LP$;(OP;S6RL2:,CV;YO(CBW"O\)'=SE..%M.G@*<\L'5H:<*H\99+#_P>_ MP,>(/TZ/CN!OC#]`D)[D(/D#*CE.E9#](0IOQ>0#_!^_3/$;_$,@HR!)7PK, M?2VLZS,:J&6=UR_"X`/,G[`X,UU@Q,%7NC60P9@-'8P#'MH(@@=KL@YJ82/G MN=\[,D\ZO,"3#NP"J9[]BE!8-9_@,,D"I85D;=$@NTX!(L]%,D7W=YA?4B!< M,L7J(`'_\.5;_%9V]SMZ@RFK&983XX=6@Z7Y`CJJ6BOV/[3]P@?]:?_#X6&' M/'=+3!5.(12'J(7AE6T539MX%J>3R&&WXN<5S-*S=9$K&]GXM6]_I/LW4I9?K^(^4,?T&F(=I9^X8M[[PCPB*#T%RK,HR@."R?27`M^(+&6"W7D,[@IOZT.?Z%F9XLLRR7FQ'GE>& MM.AE#21%]S/7"8$>VP1%CQSTU%]`3[)-E9R.SY9YH/C]%2;)X5++J,H,X&C8 MXZ@C-S1`"W+,HKBOPJ*X7QL4V,2"Q,F1;F*>9NG58`&O=YUG,:YL,FU\&)N$ M5O(]T!?S\&$4Y<,@&ST@?<[SAU$^SV\R30@LVV(X76`DJ(T\CCX M7V._HOF^7>`-F(S#.EGS1K0NO.ZE=;;&3$8O MX!\J)N)Z/AL"-$E_&DJ++]0M6T:39`#:,_S#=\"O&5ZR&&13>!@ELR$:3&GA M1TD\S+`"?@ZS)!;1?!@/H1_G\I@[Z'I>61KS=1?&O+HLGEF9U_2R.*XLBWEI M#\^OPYB,=3,ZXP8[2R8P=Y5:-$WE6A"P/"@@1GA$^;!A8ZWSW3]U^WC5F7#M M5=2/.PZ[C*G:("+;:`P8A1&?9VE:./8+S$(%8^C:45380$X)2R\9EB=HQNTI MZ4SH%["MA\`$^^;V;CN-OFQHL[U5KM%$[!**R$9/6`'I89)VLP_U'!=#OBX.```[J5"T4$8TS` M\M[S6@=LP[/CO5N>E]XF5GH=L7T%BNTHW'8%6F)P.![>??CR^V^_??G=5QWT M^=N'=SF)SA.H^?*'+__Z^N]?&[ES<%I703:\CCZ$9;WO7G[[M94B:)MWZ[+& ME]]_]^,/WW]C9N&I9&ER9F*ZY/R3[AE33AB?Y^K,256?:]-Q98YR-V;LRSGZ MPIQQ68]F[-=#ZHVIUA)4K3;C%A*"8@QM@S44($H;5P_:8H*W-]XS3*: M$=FAMR#@;`@J;N4?[`A/1D6N15G9*!VLQ!H&/U:2P MWXF;)+U%?AH5W`E(!\F$S-JEYH8WN^3G7C$N]3?]R-#BI,9(8!].1S"WO8][ ME:!2U>[CF%EA[XB\D?"GC*?@#BC##X[[?+<8FY;P*S(D7<%&6N3BT*P=T]WO MS0>)QEDZ%8H@^$I)HRN#[]=[U:H-0^EMB'Y+A%]^G>QCKD)#!GB. MSJ_N^BM!5+!#-.=Y^S!1L?N-+@7MWAAJXQ3@Q&0C0TJ M))-[;4V;&);O,M`IN$MK02G@]W"I[ET4=Y?'SXRS\?_MEY."@F'SLR%KW1'KB@H97MQGZ=:K2L][*>F>?&/J!> M/W[=H,T6X9V#RL*["L&&=^L2*K:H[LNG2[58'`[Z0^]$CA<5W=6M?O#PX<>O M__$`?]'U0']747);/X;_0$K])L`ORRRZ#6]Q07">-&>8*);/UP2KV="" M[JF=&MT-76.H']&]OU+$:BUHUR;;AG0RP`]`GG!,@)Y7H$'/UC2\.1MA,M,S M\T#D"SP/>6(>AX3_H_C\E^_^YA$CTQ$S'$,SQVNP0`%-1L3[/8XH8:%H'SL9 MS`M9=91BA(](,0'&;91CL")HMUG(R8^"6/%.!"5LU*,8N"=MU7+O9?.I8%G! MY$.6((8GSN3REI+]EH>9QFOG$1\>RAHNC-SIRC58WI4O,_&B'Z])I$8[FT9[ MUEV'=&.'0TWU9F+O\!^]WN&>R^7T4DIPN'^#R)X84-[GB*8``["@!=V`DM/@OK4_@,7UY3Z7' M1^+OLNFB^"8A%ASXK_?4Q,_OQM'$@1%X6L$M/%D7K=2DBM'CI6D0Z>55/@[/ M5F':-)TES)JZSF26?'VYQ%;EB\V24A(F`MOFHXP1P,RJ4D6WB\X?.J-)]`,_F4?A$>DPWQM :D^!/QX@M`\5O&'YWA1$C$_Y_TH*-UD[(`0`6 ` end -- Sven Wischnowsky wischnow@informatik.hu-berlin.de