From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20656 invoked from network); 1 Mar 1999 12:31:36 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 1 Mar 1999 12:31:36 -0000 Received: (qmail 19900 invoked by alias); 1 Mar 1999 12:11:07 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 5564 Received: (qmail 19892 invoked from network); 1 Mar 1999 12:11:05 -0000 Date: Mon, 1 Mar 1999 13:10:23 +0100 (MET) Message-Id: <199903011210.NAA14601@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk Subject: PATCH: completion parameters etc. Due to the wonderful weather we had at the weekend I haven't managed to do everything I wanted, but still... The patch below mainly changes the special parameters for the new completion stuff. I think we already agreed on most of this, right? Of course, changing things will be easy... Oh, and the patch goes on top of Peter's 5561. There are also some other changes, in full: - The code now uses an array `words' instead of the positional parameters. Currently indexes into this array rely on ksharrays being unset. Bart suggested sticking a dummy element in front of it if kasharrays is set (side-comment to Bart's 5551: yes, you were right). I haven't done this, since one would have to do this by hand if one changed the array directly, which would then result in unportable code. Instead I have unsetopt kasharray explicitly in `_main_complete' for now. Maybe we'll find a better way some day. Also note that this array contains all words, including the command name. - Several parameters have been integrated into the new special assoc array `compstate'. This contains the keys: - `context': the old CONTEXT, no more `argument' context, but a few new ones: `parameter' and `brace_parameter' for completion inside `$...' and `${...}', `array_value' for completion inside the `(...)' on the right side of an array assignment (previously this reported `value' which is now used only for non-array assignments). - `parameter': the name of the parameter for assignments and subscripts (unset in other contexts) - `redirect': the redirection operator after which completion is attempted (if any, if not it is unset). - `quoting': one of `single', `double', `backtick' or unset (is there a better name for `backtick'?) - `quote': unset or a ', ", or ` - `nmatches': the former `NMATCHES' - `matcher': the former `MATCHER', but now it is zero if no global matcher is used (so the canonical test for `do this function at most once' is: `[[ compstate[matcher] -gt 1 ]] && return' or however you want to express it. - `matcher_string': The string of the global matcher in use (this also answers another part of Bart's 5551). With that we could try to implement a function in `_match_pattern' that tries to turn the given string into a pattern using the match specs. - `restore': This is normally set to `auto'. If a function unsets it or sets it to any other string, the other special parameters will not be restored on function exit (note again that `other special parameters' means all parameters but `compstate'). - `list': May be `list', `autolist', `ambiguous' or unset. Can be used to control the completion listing behavior by setting it to one of these values. - `insert': May be `unambiguous' (for non-menucompletion), `menu', `automenu' or unset (for listing-only). May be set to control if and how the command line should be changed. - `exact': Set to `accept' or unset by the completion code. May also be set to `accept' or unset. This controls if `REC_EXACT' should be used. Only too late I thought about adding a key `exact_string' that can contain the string itself. I may produce a patch for this later. Ok. Some of these are still quite experimental. There is still the discussion about information about and control over an existing set of matches (and the list). Plus I had forgotten to mention that we probably would like to have control over two other things: beeping (probably not that important) and glob-auto-menu (currently using globcompletion with a pattern always starts menucompletion). One comment about the implementation of this: the assoc array contains special sub-parameters, directly connected to C-variables which makes the implementation simple. I have implemented a specialised `sets.hfn' function nonetheless since the default just exchanges the whole hash table. With this one can simultaneously set multiple values in `compstate' by saying: compstate=(context foo matcher 8) Note that in this case the other elements are *not* unset. - While we are talking about parameters: should we rename `IPREFIX' (e.g. to `IGNORED'), making it differ more from `PREFIX'? - When I mentioned `compstate[context]=parameter' you may already have guessed this: completion after `$', `~', and `=' has to be handled by the completion widget now. The example functions have been changed to do this, using the new contexts and two more completely shell-code based ones (`tilde' and `equal'). See `_main_complete', `_tilde', `_equal', `_parameter', and `_brace_parameter' for more information. If you look at that last one you'll notice that it would be nice to have a way to set things like those set by the `-f', `-r', and `-R' flags to `compadd' in `complist'. Suggestions, anyone? - With the arrival of `compstate[insert]=menu' I could be convinced to change `compadd'. It now does matching unless the `-U' flag is given. If you want to see `compstate' in action, look at `_correct_filename'. - And while I'm at it: `compadd' didn't work with `globcomplete' and a pattern before, now it does (if the `-U' is not given). I wanted to send this as a separate patch but then found a little buglet in the first attempt and couldn't easily the needed change from the other changes I had alredy done at that time. Sorry. - `complist' has been renamed to `compgen' (still looks funny to me, but sometimes I like funny looking things). - The examples have been changed to use all of these new or changed things. Of course, this required touching almost every example file we have. I haven't tried all of them, so I'd be glad if some of you could... Especially I haven't tried `_zftp', `_mh', `_rcs', our biggest completion functions. If you test them, watch out for off-by-one errors when accessing the `words' array (it's the command word in it that makes indexes into it behave differently now). - In the examples I changed the simple (non-modifying) tests to not use the condition codes any more. They are still there, but they will disappear one day, I think. - The special casing in `compctl -K' has been changed to what Bart suggested. I.e. now a underscore as the first character of the name makes the function be called like a completion widget. Also, this is now documented. - The completion widget manual has been updated, of course. Bye Sven begin 600 patch-comp-misc.gz M'XL("-."VC8"`W!A=&-H+6-O;7`M;6ES8P#4/'M_VS:2?\N?`O'F8E*B7%%^ MQTE:U5$:_\YV7%O>;3?-N11%V=Q(I$)2=IS$_>PW#P`$*"IQ]QY[EU]KB<#, M8#`8S`,8:A2/QZ(]%VG^W=\GT7=A.IVM7XOS+#0>5]KMM@W0.$X3<1QD0OC" M[S[=W'RZN2/\O;V]E5:K5<%>A-V2L#_\(-K=W4UO1[3P8V-#_/##BOBN*5Y- M@JMJ\N?+]X, M^@+^^2MML_VX?W*!S:)KMY^\.7]S-H#V3;N]=S0@<+%;H=,;'+Q&\MLKK5HZ M7;M=T]FTVQ4=H-]::5G3S6=1&`<3,0NR8!H549;31%L&@=/+O[TY>WG.E!U? M/'LF1,>U``XNSL[Z)P,#P+M"YH.&[2>"2DXV.FZ^V!>6@3=DM`( M>9E'Q3R!/PHX3@I/P!]$:)'QFJ7P"#M7%*D8SY.PB-,D%UGT81YGT4@,[\BH MA<6$C!K+DIH_32)IU6A89'YOS_-]T?([7:_+UI'^(0$VA=F^AF^'UR`#XC), M@8./A;?2)G#9-IW"@-Y*B^&H\3;-1KDGJ5+++`.&/EI-^7Q,30:QF,%@R@MM MGMDFF7"`9G*?-`>^,*G5,@Y)VR2?4*\4#:93&(FW2%V=@GXUFYI:?WM38KEY"1$4 M<8AV"[.I&/:2SG*PK;37P1PKW*DK^)*KXS/([ MD+8W#*5`$02$RCN`I[&SP].@3[V7B"IJF%P03S1G]A/HHO&4E9W[)@D+QT*Y MRM+YK'R.4!F$A2:W MDJ#/DA4IP;$`-XC+@J(6C\#.N"!NDN6.WR%9\B?*LM$8BR\PS#$&SABW[&/; M,(N"]_B-9A?DD5B[6'L*5J,1$+0,XX%E;'GR7/RA^5R&?PKXT).C1)^`T.7J M[FSNH:6DSVWFJ,0)&$>/"2&\2;YM@$ZK[#$O[5I>CDU>ID02E6"5Y(E&A0+_ M<1P&Y$]@_<`*@9,(QFB=,13V=GO5\]XDB[&U?]HYZ)P,ZG@G!\W#MYN0R!'*O%$R=>]?#L_BQPSN3JP=EW M6N"'7R,?&_05_RI%6R*C1&;L%HY,RI:@2%M#&'+1V*R!@<(OU*Z74PWPD/$5 MCASAX>,KC$O03=BM]=(IPPT+52[ZMS5"(>@=N&2-5;>%I"*7>AS5:Z%0=%,/ M3UT+P$MG+CLK#%%\M(P?ZK00,!RHA\8>"Y1#K"4Z2GT6.(5@]=#496Z`BJ:! M)4$WU^8$BRR,';UQLFCDQ.K8XZ1WW,?%AUT&9BU:195=9N":*ZU@-#*(+D*$ M,PIA:`?5]4I?+G.5V4P%N!!6MX03SB`?+^E3;DNDT/ICKQ$.Y_LBG+5?D)V% M;ZV6JXPG`5=[/3&3,*+!H\\P;@G!!Q81$704@D>H:+'%%UJ,T_[!8>_H"WP] MZQ^_^6OOQZ,^LM;`@.+1;.I*%TH$'2+NLG\J@F'[Q554).DHB9[$55,]\?104&%TAB^RB&OEM#`;#@=D/?CWM.THVKHZ==K>[GK^+OGYG MV_/]+7;V%%"4=NNI%E+[!?":K\=C#`K!-\(PT#!.]@V(JRK$%4.T-`0E*WY' M-/O61-E M$D1J?U]FZK@75UKU&U3J\#?W3CA3L.R#MVP7X,/KWOGK_DL,C$#X#]X"%GU7SD1J=OC@O6#EY6\KUN,= MJ;&2$L@&]X!D0*6PRW9#V4M*<4W+#%\OM:$T8?(2)E\<1;#(#U:UA(@T?X MFD2WZFD2.?[.$KE5EGD&IM17?08U5@]##Z6=UPJTTK*FZ"@[6:JE5.B2WUJ" MK-]Y+2W/T-?KXD\H/!@Q0^%/0)W$=6*DAO&^1>@FF,PC<:,D3#$Y=&FE(2<1 M4S8M8O$,>&F_N,[C3^`N8O`3H,P$<8TKAGVHO_G;^-T^CBJX.8%FC(JD#:ES M4K`4U@V"AXFAJ/@]"V*)XT(\VJPPB7`Z#WJLO#JB6VWXQIMLM3-EA,A@[*BN]R`(YVY(#'!^T*;@SF/@F%XML MH#E.0P9P(,-8\7DTBZX6^NX$J]#T%;SZE!3:8J4O;&=I-RN MJ-YL!74W^B=0F_*:27)!9&M[R%(8-F"?:'SYPBC\].(%Q#>>)"(?5)1+"D'$ MZ<94:?$R)29PR4T]0IT(#37G,&]WP^OBB=3>WJ8ZTEEVK`8ADG05OHR(2(D^ MX_$ZGWJ&Q4>0/GQ.1_@!J19^0*:/'S$=@[44+*9A]4#PV4SI/`0C,[(X:3C/ M:,YJ8?G($'97CK%`P_`F&!NC?=-WU5_,6^DOQ@WT%^.R^8N0`C2NE[\8MY_[ MRG>85AY'QX!U7TSWR:`#1VI5H>?9,WD8V=+6U9G28HDG3^"[9:'T4E',U>!) MP@KR_'!OD,3L"X!]>H;1[,BY0RA0:*3EV5\)D1)BBT5-`,P'RL8)T( M,,1T5`/`9T)$F,^2;0!Y2$/]?+QL]\M3'^J/ZPC$)068W.M^[Q1VV9L#+<54 MW.>A!)(0;=B#8R$.0UJK!#MV_BUA,R21/R5D@*!2BRDK65 M0ZH*Q+[!D8(F.;H+6$I*"DM=46FLZ:B*I.?-./HR2:%`0Q5%"Y-1]&V40H&& M*DI<&29>&"?F@=B^F,H%.JOB%/.&4TA=*Q6]3JJ6%[.F6^(LF?("JIYVB;ID MZ@NH<C%S7WF;7ZW9$J]O9V5+WSE;DA@2R."PNLR"YBB@Z&,K(S8C; M,,N`X2)(,X=FYJ':,.^R+KZ:Z`'*,$M%-)!W8(8FFJ(2VZ`[^X!_V#N51U\? M,"_T.&\H,PL>$#(?$;?;GOA@)`NUF*72`6XMGF@T/Y3:C5Y'WLO5FZSRFKUB MM=25QO"=`BOW1GD&01UJ.L!FW5C:J&J_:-J,]G,6@NLNL[JK078UGP+LJB)" M"KL,6LYD587A2[9T]>9_9K29O.TO1%%[N[M41^C[6_*B\7,91M$&"J^C\+WC M\E$E:2(M73*ZA(3("3S1`3U!M7>"MSY>H9E]H%5/Q9!L-J).V+Q,HD2+W1,8 M]=IN'JN@5,QDH)137HXDY#GH4+S`\CYY5M9N\SU@M^/+Z6X^>+HI3LV)1V`- MNBY-KQSR*8P!ZVU+XRN3_>JD,+*0!P/E/%+Q#.?!S'+>SZ]-\\:>FC-'/'+>C>JD M?3GI\N".7-;BQ)^)R;Z@["I6J?(BSL+<%[`$G[7]<_,F'T-SEXI`+84E@"VI MR3N[N@#)OG0;SN-)$2=B".H7#&5I`"G[CQ>'1X/#$W)56"&T2M>`JN`(&NBY M[>O;0?[KRFMM"UW>91KXG/KX]01:"P2NHL3&AX:EZ(OL!Z.1C0X-2]FOF3V$ M4Y7I0PLU\'^K`RQ84/CW2OJ[6UAJV]WPN[8=D0*D*XL9I)ET:8%*AM]EY^PK MQ7%VV_(R.:NIOEZ.&.WZ.\QHU7DN8_1_IW@/ZT69K%&_9S::)7QF>TT5W^YB M%=_7,!>4^3*]S!GV8$RM=^CO8R786P_ M[71+&>]L8!4:_/4[9MI$@=IX;)89@]PQGL[2"558T M3,0P`H.:1.L"$>_`L49T&`PFJBF"\9B+RH9W1"B\3N.02/W]J"]4JH'_`T`6 M3:*;``]SKR.@F\ZH6HQ?1OEOHT6DYGD$:<0<:Z,Q52U2T47G>%N6FX%HLD+@ M$0<"KB^I@@8_9LA04O7PR]4DQ;3R*[WTA6I!Z-LD3B+Y1>:_L!*/P)%+QE"L M<4(3G\:CT80F'@B:AK$LQ!0E)UV*1?SNME$6"RL$4\:C1RX+3]J?HBPU1E"4 M8&L$8A84182QW&U<7`OD679'[N+DXUR"V[/6S1Z(M@21W-RF:I"<"]1OKZ,$ MM`G'Q_':YG#P37B5C+I(-A4:ECG+# M\/S0]0DG6K]:9XDH/50*B_A5FK=!+B)\"03$*(F-YJ3+.!*_O-:VEBQ`$A!- MZW<+5$3+-<&@7[*03;WX)G$/I@S`'^R(-RCD;6WXRH"7MVBH,"@O616A3F#4 M'H3@*LU4()"87*HBG]=/3FQRH,I15XP[7V6[&& M60D@@OT1ZEPQM[&]8:11]GL#W23$OH_Y':;7;I+8!-G3^6:L?3^K^G=?U?3GLG M+TN=V]SKTDM!NSORY;=[*ZI`J\A77WEPA\:QUO=(1Z=\.ENS69I3_;B`!!"K MXX2J,&7O\(T7EEH&!6\!W]-$R]=S2.*Y)+[@[\!?TW4G?!(=V^U5>SURA)GY M(A=??NE:>(,9B%:B+"C2;+UTYUL^16VMK!N%['=<X\'V69=NGYPO*&]. M0E0#BIL@BZDL*1BF-]'Z@UYGV^[XF()L[6U[N]O:7%;2)Y38`9Y,5>)%M3,L M#4)>U;O45OR`[T,"C4M9JZH.MV0A0UF](%_>*8L74(ED[0\^HRIE=_329XRQ MK_C]\9J,E\W*!#P`([U)RA;3WGU<*C(K-6!:\Z5"NP1.NYZ)8E('6L M`7:#Z,%,#A.4#)%3#<,,5$ZSKZ(T2.$FH$N5C9Y%.>YTX6`T]M@![7;1(CQ^ M"]_><>RD*AC01E)5'K[S).A>@`\6$WE\F/'A4$O>I2*"8B0&.%?*XL1ZY1H4;LA2[.=S'H5VCO`&F"!)? M^P_R$TG8/>Z\>UUII;2H?70*\1_NA!+./_"(-_?GO(F"$-0B5P/\^QZ`+I1JQO ML/+&$VF??OXY5PVJ$(J:U[Y?@^\::JVY9CX]QLX%E+:-\LA"^4%/+N)%U\5< M\2B^B@O@W540[F`6L<]1,0)6L=3)A83FFB.QU$_26SK" M$OD\*]_MPFPC1X^2*Z=2LQIHM>CZ0+39R%`#W2S(A@2[._:^PK33V"B\U,1IGSI8PP"+MI?C>M8I0%3P*V=\K]ZDI#28:/=BCB++N&1Y(UVC M9A.J4PT7D#8(0 M=Z6Q5:FL1;+1F,RJQ3>ESXS,(UAYD,H%E&3&UG[KK.U+&G@_`OAX/T(4&2Q; M*-S)C8ZWM"+O3$H+\"4S&1=\+6%HGA3I>X@//D6.59-Q7RYHCWZ;Y1]SV*6W M0UPSCY)B4H_@*H@38V6HL2UU1M&ZI:LQ:)='7[(5&;[%:VA5&-`P_:Y:4O$] M_/^4"[/-^\*AM+"+KPW(X]I[^7L-&`!.@4O,V,&!T\\WZ-^>40<>E=]EV.YN MT?%=IR,C:PY0E@0D\@!KX9C`N8D#?9Z@?M*FO)`/9*[@X`E^[TRTS$-X*-;PW4:CQX M%(`MQ^CN&Q+J4_8DP-M"6(VG@V,P!1!]YFHKD;APNUDG3F`V]#YLJI^GP'V8 M7$40W8]2D:1B"OC_Y"\H[.WA`5/+[^RHE]=+V\R1SMIOOZWIL`9+L9SW=(NE MWU-".RO?3)5N"!;O'^JF"[548N@B%XK$:8EENY#O'7QTGA33F9FZ*IJ<@8,< M?XURSSB-5+G$NIJ0WY'O7G=VM_5)?E/\#6S^]]\+^+PC^T_?([S>0:N,Q[2@ ML4.,UB=V--UD?.D@>+!<'@5.HH\1;ACHN(IO(DP#<#FNH\GL/[O[]K@-%\U-%#A+$U9@!;D@X8B'"(H0@+93=$4]/=(^EUY_'CKJ>*(GU37[O\:[^1 M,86V&!B!SE9%L%C0&!46T:RN7^!'5,A<]$OK2>D\K2D39O<:L=^HC4E M\A.F4WS]/RD'(8"^WY!#G<(]I8]IP*Z)7(_$KEI;-!I&7YL.3I.9(2I8-LT^ MP;DW,+MIY_'>+BE3MGO[G=ZNO1C#^?C30>]FN;,>W69@BV?\(AM>(.VCT<1C M`N@0QHH+C7O;"RJ./*[",!7V!/`T3H[_"TM=0)BL^5U+?3ECZ[L>G-34)?XI M1BW'RP/O\R>73:C842/-1?#U_7CR#BL1L_*Y<5BM85L%*4\/UE37O`D32WD* ME"2;C^(I\)#>6&KN`F[CA5`Q4ZY4DN,*Y5S MC2((ZGC`W&CK"_DKS#K=$4T=R<:'4;7D4Q8V!F0&R8!/W9[76Z MB)3=G>U.3Z)94,\/%J*EC.<[WB0Z"`5?2PA@V="]69#MD+.LPF_H19H,/Q-F MD3D5;&%X5.`C\B4H6HS!QM>#6H523#=T4\VQ-N$2^RQN4-KH4!EHY"^C?J?GP M66CM"+"AA:/=8X#JV!T5QN;(6R'>B/L]M'^&C?AP7QM"RV#'A;/I2#`=J;^J M.(V^&:<9$.`6!7"QOVGX_K8QT*=J="TYEK6P;E038DGKBF(?Y)8)*XU4W[Z- MOL'H;+CN,BQ806]8_!MO(PX-=9D9>)#_&E$D;9"%*'Z9`8FCY\#$,1&0F5AL M,*(?L`T?5WF&A%-M]$<4<0<1<#;JF[>BY2U* M$C1J$64'MF&=4"`M]&U0=_LQ7P=M&_$`B`%6QF/`X^%7K);2C6=U[.L1HR/3E"56`#DCQX(R* MQ^2,B(;NCISQX8@ULGJMV!9\M_=HQ\P\O!>_LOO`(KSLFB-BAIU]&$0^D@-1 M0=%$@C`9M5Q^R5G,.U16FL[A8#A"B0GR9!XQ451R/.@U!T:`9KYG3'GUEBP< M47*D-ZRS5T?.9G4(3VF[FC?&EJ1FW];NOUNVGK_SE$3PE/79JK MNWB:,WNE(PQ;+W##Y9YE+3+/T%>H;T#6>H%^F214G%R2_G*&RG**:]=2:!HR M,N+#[J-=,JK;?;S;[70YE"<@6S9$J_RA_B(2S0,=2HA#%0`HS[E1]L@3"R4R MG(/3\:LC%30\H((:5X2Q_^GY,PKTVI+[;Y*MR+/T4#?,#(3NXXE6.#NZ(=;Y MX+H'=$%(CHT#.+_'YT]???OR[[_\\,L;?+\#.[W78J<#K;GS6.EM]AP$,+\R MNFJC-/!%-QHP'8URDZ[T^!X8%>/&#AL54M,I:?NR`=U('ZAA MXOZ;2+1I7D:0`GL[N(Y[>X;CIB-EE,13@5Y7QS8YS46!DF0#ME6,:&2X;$?! M91-=^U<:_KQ,%`')#O@I:3#PJDJN4$[GERK/0,9'_4W!VG*&%-L=%^GIF2-% M%&?Y!6P[&6W40RIGF$AS"LD0/%"]E47PC)$,J=/!MM0WZ*H"[/E3THXYJ MS&KR."-3+RJJ=>6F',RIKAB0ND'^@52,\WQ>-,7'P0MS8`9P)&Z_BMK^`4'C MMP:#D^N5KV*I!`Q8/Y]G+!<0-3"M*5L&R06="C"8`H&8-)T&^,N[[6-FHHU] MC].$<+*Z]['M5E]-(`>B.VJ['8U+/>"QEGV*1^D`Y$E#(83]B,ACV?,C#!3F M7?;CE&+IX67]T^OL6CI.-AH82P-5R-".'%3VN&H*HJ+%,#L2#S/8P=#X7P;S\?CR M`P<(0R?X[X%4?D\487H:HIX/M/]@A]08VGTEQA#S=&,,2(\!/;I`+?I#BI*D M'?`[*B_ZQ$"+=QM6AO]#5>R"XO!@KQTUI*/B@5Q%4S2$>W9@O.KS_L3(6Q2$ MN"W.FOQ8HF*@,H9U,1*MVSA"BE$UUV/?_:@+O,CO32_"^;47S_S:!B^_=L*4 M$QQK'+27\L!>73T4.IAF%ZB;PSOYU\@3_8-Y)]='V42[JWBM2D@[[;:Z()8O M=M@6]184:[E.TL93L2D72WREM$HF`A]L+#XXJ)S(?"W_ZC8T#4=A(_9`0I#\ M;E?Y73J9K3)#[8'J4SS%.SH8D/YV(+.AZ!M'[,@M;&G5TF%22^`5*"!P[9QQ/HYO:/3`;8R6D"=7 M[<4+ZN""N+T0Q/"V!@;.]*M-Z#$>5L9B!JD"L[9Q&0\=A)@.,&!.=;7I^:'N MW4%@\\)?0KU3#RO.;:P)%\1T!H=.'("CSU__Z\!V;P9+@8$6H.%A`##DQ/M! MUY3W=1@8A+P6SOJCBTGN"FC\P`@ZK@OSB)T]N\=:/'_\\"&R8VB3M]/9V]/B M;GD1A<5;K<8,'B3#>#Z:'6A5!:`81?*\TMQ`9=[B_GSH%S"1T,>\9I&C3&I[ M3;M;M@;3'OA:J)KE6K2U'5E7`PU8!]%\>N,U;UDW5B&I_GOBC_A0ZXI:"(,A M.T^T$B3H#UX^-_A*P=HDN`D+JI8)6,.Q2V`=?TV<#_U2.-J89/&O:*#7U\ZL M6BW7#W)B9PP"*98^1-L_'2@H>B`CMB+L!G<3&E>`1=#7$MK#EMU>;PEW(@GE!MRWT1L=8"X3YJ,33J$Q\05RL`(?AX+'/HI0HMU/.XU@< M3H:#[08>XF6_85R][:W]RF.REYW;Z>S+Z=7J1OW MTC@8,V=UU5)!$_J'"<83HOYXF,(&EKUL52]WJ;%M^K>RMAH#A>!MXHR7A#** MSR#,B-9CT`H0)[)]X";/`+Y6AWS[75(:'9;BSW;]"N1F72[3\\N@>56PW$ZI MG%8LN`5O!#I2R-G,9G;N"G'H:8=4:_U)V^/*1._F(+<##)T^1*W.L^"83(5N MN0(V&BS9*Y?4-F?ETC?A;6(KKKI,J"P4IY9RP67*.P"K`DQNTER M_>\&$$>K0I>//OP[.W+[_[^G+CUU\_?8ERU-P0:-%)A MKH(]>XR2HR/J.^89MCN.D6.@E`E=SKW?J!^^_XXZ*8\E+T@3GV2#\MQ1`\,Q MY\C)VH-8VA]:0_JOS!Z0\5C5\;8G&KOARGB8O&M;U8K=VRIRD#/D>6I>UK7< MN[5EW&CU39MM&&A[1[<=!H0!EN"_6XI4^/7@DM14AA"L&OOO1:4"XZ1^NAW' M^VR)3HD\W-9.]_9VS*+5C]Q0H]NZZX5@3<5*4W,O/BRQ*$7/$W]O0V:$T_MB M#W8,+UFO27/T;Z2>\^,%B3(3U9J?C$/>WO8N.17N]78?86(W)_1$V=[.-[<; MZZ!@'+BSX`L]UR^IXSPV#DDOV59S?7-S4STQODBD4R5.W7%\*HPE"C?#P;>L M<=W;A%R\T;$)Z,6E]MA@8T#MG%RKYE&0XFE@B M`YA\:JY?0.F^AVQ,V>JW$)@^W.YT":@/]Y"+,E>5*BAJD'6<( MM@WS*/H&D[N1Z3$=@<5F6:ST_/ M^/:)'3'T>/F6P":,.&25SHESJ:EAYC!/3O84S3./K>)J7&QZX#9/P^O$>/$( MC?,!+1Z9O:9=1\@&E-`9^?LLN4`+OYF3#(FE*D!B86723`Q*;1LERSQ8N0]F MBDUOQ:*J].FEIA,6QF!)VS4_XGF248\Q(KFE(4=,T1?+S:=C_-929_W0)HCY M+4%^>/C*)8M3)]8AF0R1[ZKHJ?FQ:8(T,TX@2-R2TY*.Q[?\ MU_HATVK7N3:-'OA.D>A2AKY8_./(_7'E_KAIB#J)?)2H97/]*#Z>^XC8X#K:WQNT'WD^,B6=L@T5K:`H4?OFB7+XH ME4]+':25'M))*8K@J+"&U]JT#)B!';0H;^_M]AYZ!YASVK/.F,-R6QU;1ZXR M4=&GC*E5'(CR-M:;*/4J`?LXJEP[6,:/[^CIYRL1^*07&G-9 MZ:MO!=NU98P^T^FHJJWS]9-UBLG(;0#:='IB+?QA6>TKL.BHWSQ=9C>DR*S$ MG)=5<:I6JXGY9%5U;#&+Y>0'WF^HYMJU\Q-/(=HZ+)F<.TI19;WOCG#[H-7K MQ"*-(^?U-$0X*:9K1,,'?9.R^4;&<%??W&AS;DE&Z++:.M^O<]?7J4DQ'.K!)1&>8&Z!`U_JBIZ6+DL-IG>3"`-O'N**/*8H#4'+'5JIX MQ]K1$9IC%R/KJ.J22O9/T%9?:+TC(H?.5&E<<`OU\?<&V4)]A,-.7+I.DM,T MRV"@)<^C%#%@HV@9WW9R/.I;5_B6XPYIL0:.[&7JHI$6E?(XYKL%J=C4X:$6 M1I6([A-5(JJ+*A$%HDI$MT>5B&Q4B6CYJ!*1%U7"923N&U4B^E.B2D3U426B M4%2)2/.(Y:@2T1^.*A&5HTI$RT:5(-Z,`7+'J!)1):I$M$14B>B6J!+1HJ@2 MD9-9]PY1)2(;50*G:M;HMJ@2T9\052*Z>U2)Z$Y1)2(;52(*1Y6(ZJ)*1!+K M(0I'E8CJHTI$=XPJ87IBJ-\KJD1TYZ@2436JA$51$^$!QA:,[A#9^G\\P`,W M=8\8#Q89Y,PS+04B/0@C%@SVX+PKQWL0H-PKY$-4OH!/==83-_B"X?&7#O\0 MA<(_1,'P#U$X_$-DXG:?E'K/JNAWD=@3UJ=U+M[T\:C^2[__@>Q(C;0@OS=1 ML4819^%?Y>4X+E`E\^P9F]M0.I!G:%GUKZ<_O6$Z[+A+6$X"]U9`^=K5CB,Z M[<&#^T^N_:`\,7P2G)3SXI8)N;Q9KCEG9IR]P"Z:P7&..12$*$(#CM[8TN\] M>D@A$?<>@\3_B+E#8DTUB[Y16,;P@?2X;4Q'2[[BY5N)4!E[;6!+ZFE99@V3 MS@H07'!T4$2I<$R&*33!$,KC)HS=+3`2-&6!LUF5F'X>`?UA`#%W?UP MB'[V`4=6;(K*HBD31?5@$E/4<-U)U(NGZ.,M)A;DFB^$.D9LRD>/0+OL4 M-N/ASJ-';G8*BTS/OG.B%3S[#A.VXA8Q<4!@.TTPAR=G%[6Y6:-=JPV*1&?, MAL.JV>^CQKC`\""PZ<@^YL7W3_^.WC(1!@YQ'XJP!_(;IZ*]7QN.^LROB!E0 MOVNQ8\#3P8#HRD"Q[5(^387&"*@X.._#G<").MRM+R:BNZXO@!C9N[`>&B;P<$1LW+)"7^=M@YK1^&MRGER2>D[ MI6>2FZ!:P=%'"HK@DAD^2)08T3G'JI8H)$VZFW-E+"!SL;D.9$7A9CFJ8^_Q M#N/+;M?DBW*9THUY,25?1^.(AT]0"M*.H25AT0?J+V^>+T`#?FO@#2@(!X&/ M`B4?OB7AB4MF;PST$U(VPOFE#$^/L$[&DWP:@T1_AC#;@]7-!]Z9X#U7, M+D?N?:<;@*W<\@<3@TZB6!G)W1S6PIYXEQ@84E-^YNH4-/= M2=9C]<"[D]*(P\%F"A]7_DFX8NG$[MXCHO1[CWKFI/<06M)R$$;/,*F9LW1- M6+OO7KYY]NJ[-]?(D/P;O]G\/!Q:`1DJ;[6?__MG+F>7._F,)P-JCE@)65C0 M,BW'E-ODK(BLL%509Y)M>YB.1CQ<\Y#@XD_%O/NS9O+3\S=O_8E,$T!7\;SM/NGFKO=_<>!K.Q>?YS?O1B5&],Q/J/F",XZHV/;PLH\"PAJVH, M!`VX=Y&T')5CN:(]AFMJRME#8:WI'/?4924^DF]@9R;@/!&&#L=EM[YQ+8I$ MQ;H6&Q[L#)CGGYX_8T,P-8/M7:B$H=R,\8T$H^-<:@+XYL2#Q<2-C3G,(7VL3.QC3O2.W8=_;>E.1BC?/6 MN[B*T`S=AWMPE@%T'V_[:`Q=I3/*)B%.L_?YIS'9'DXXMV^?/_^1#H(AN:4[ M;.F2WOGTG.-*DC6*D3"O9AN8YOR0J-==BS,U>=:&&AA4`\Q.CN1H<>\=TG''$Q M6)+\JV>*+`RS/)E.)9_A`_[!Q,4D&!IL_4]QMB6<3+%YF:OO\G[Y&:<7JA3U M<@5M'^SN'W2=[$*!=DH5NH\/MMT$3CT"*_\A-@!.2RBL;."\X=[,<_?6:[%2:$ADN8&MVC/:38PZ0YUE!66^@02,#%$@X5R+*G$6( M_S+C^P^R0J>C=3:;IB>H7F$-K9C`?T=B!428(OC:$ M'T%U2A@UA*,9((BHA\58^EI10"C263)N8L%_M@@)M333:C57HF'V MIO`(A26>7>1*>XH6!^Z=@\E^Q&FS9;GIK$?I#,_Q%8_G+'1<5B!8XPF=VL"B MY(2/+`+>Q=BT&SP`K&'-;/TR,)"+&!IF:/*BUME.,Y M\+%F5`K>;*/\]#091%`=Q6O`W2&N-VZ663PZ;S4\O,#'%S`(6.6&&L^+V8IF M10#`Y`/9P8"Q6&R:3$:71Q^IT8]0^D*+N*BRG*)R:A,MGU\.G44FC_F:99M6 METU+RP#7E38M#M8'WD;%!4O/9?FY@X%65MKI\`MP9TW\@-5M?BG.OHR25NL] MOLGH%5KTXBM$2U3SO`)R(45:M!DH[`DRT],Q1=\H[8E_\)Y`4R20KCRU9P2BK M:/VW"Q(LGUTX=CEP9IC4[BQV@KB:U7-2;FU*/I;IC,#76HDT&&$K?B)R(G`C M-(_+)YC.0T<'C=Z\*L\J@3E7(C,.1@KRV!@;5;&(>)3 M7$,0KPHG0K%=2S0^]C!$\M`+5K`<3*1K/CY![=Q0[W"RTN,;F7036"=#=KP; MVY5(BE+D'!T:68.01P@3J"G$\Y%2[C&``Z.UQ.$AN8`F>/-VD".3ZN?%&56% M)D1>TLG98&5HVF9%G_WP^N?G_Z9I&VC^^-/S%R__;<%IM6%F86$L:/$=`@N_ M-76`$-`VB@O7,CSYE%"H>-EY'#OY+!8:?9IF1&XV@7$!%$-S%*0G:6$8,`?# M:L=A%MN8,D$QIDOTWMY56X(]=%9Q4[U%[%S!]"`:-"\=V-#;N+Y_`0&"_812 M4.(5/F:T5-[^\^-]$&-2/,;K@,=LN.[M@AE4&RK(8 M0_O2.\DUH+*!/W/R5`8I*[&3I[!B,/HB[X/T#<>HD",Z/S'9!JIGSI-+3Q*8 ME0;.O&].Q["<:D#+M`9M%X-C'^EK)_Z6/'\F^4D5)(+BM&-?.(BQ'Y MYY1_!M*)%NR+N"Y^SY<3NN.5=KDHO^8@^69XS>!@46E%Q3-<&^G>.[U,;(3@ MH(B#C(-IV0X9!(YL"/)G\&"7XY3HF4B%[O&.P?;C49'[T",&,IUA=D"]H1G6 MR0BU(+,J6!8-UINR"49#F%A==#*8BHGU??>NM;FY"5^.CX'Q-15A?MJP$4T\ MTVPE\J7DI3@)/@=M/](,_&8*L8?)ZIWT: M1$##@7*>7^?L@CFZ\%H##:.$YPS2-117'EAB/1^6= M&$U$YVN0S6]6Y*_:V?XA=%#N_-Q%,*&Z:DBA[(I`9DAEJM9.T*UG2R,[F2!N M^N>$#>MB0*95`66PUR6K+'&JKUYA=DZXT10W9VSM0(=1.>XN#GG8Z_^68\0L8&IOX\BF0Q4YH3_H(0TA; M095`,D\#>M&3.QN`%"V13-[R@'952F'Y[K\VPK7A89S@Z8;<#;2_?M7R5LWR MR]&?P!I&?XXL$?U)LD1T=UG";A072HY8$?TI8D7TIX@5T9\A5D1W$RO"Y.-G M!SM]\_O@46=W".\>.D!OH?B^7&Q%FO\5O/5%FNA/$&FBA2)-B(\DH`<)8!#F M;DG=B2\LZ9A%6Y5:;@TQM&T M=#8GORUJ@`O4-Z"C8!4E<@O$5-ZT8)X_H%QUD:+;`)4B(X+J_!.K.JCVY$W8 M.V+P#!V$ENT4'81"O*\$94,0&8;QU!\0C^/V-/A:HTR91\T;U;:M#MH0P%>ZJ]D%'0I5S(Z MV[;KL6@9_Y4VDFRT[QMP6FQEU<`=Y:AS.\[I1M]?FA\DE3NDG@\S.5=EQG+R M)2FJ3))/I+L1?83FFE;:9L+)9Q!UD6!?!/\2Z:(Q=&C^.O)3BX@$/M!61"W=E^Z#6A8:8!KO MX"T-7RWHD?(+8Z##AA4?V(+B)$%LHYG@X>S67&G;NOR"0]IGN6?;5(DNHE>2 M4@$X]BL\8[3.00QB,[5-'=0GG,(.%@EFZW(RA)(TF,+>HTATGA`]BRG@.^N9 M@7^:YI,I6N$833Q>OYPD@#N5\T%"7)E-YJU[2;6F>TNUG`,;C6Y9AD:7:-17 M'D)(PL\J1C@0%L2@('L&*72:50XXA.WG66A99-0P+;&.LLOL&B":V9EB.-R2 MN1?*%<*DLZ"AFA:GT,C))GZ081KS)P?18`XK;0\'/+!S'+T:TD:G%\\9]S>: M]LGP-3_H''`5-2XMD1VQL:1T!J=8H-0<`_<$]3.,M[8T"FBT` MA-4&2[>%Z&F=?+9A'NVY;AZQ@0*9GJ#G+@+?J76*Z;,\'3L^J=:!6?Y=J)XA M40"?7/3=N7.3;>JVM!X`UA/!R;N;61-QJ>`^T*@DG]J%5>Y9+Y9$5F^+U]B4 M-':/+(=Z76W4%KQ=)O&`%[=DTB#F#$9`TD??BJOU@C6;IB?ZZ",9H7!R(:B(?J1 M\5""R>J[<#)TB"4`EM,?#=B!00?W.F?XC5,WRA7DZMC1-+`AC2MSP3,/9T@U[ZV M@/ROEC650S`^O1UZS`[QS&K]@32%165T7_;I7:^1$NV\C MA&M`&?.2DYJX.2:Q%(7.^H;/+B?X M%A'Y9!1GYV2>G2>,<8:[$^=RXB-6W!$03A;,]N0Z29%M7=N(!3OE]=FE]=G9 MUNOCKL-;.7+241+9_%-12-1EOH;$P;14V1!29FI%(9 M1TH@0)+%'6CQ`B9">T/H07D_QU8?JY/4N>MI-XXF3E5A0$N!HO)9W(Q0IP6M M<,S%@LPB26JVE.K`/<1QM2](>A)JSZH)0^=69`,E)FE[^:X*AC1D#_06G1#^ M";!24ENBTDHO=CPB+[$9"U`\"DM%D\_]T1S0A1=O_W&GUX/5V]G3.?WLYJZ8 MM?[WW8X)7EFYJ"S*<%W^I+BE';U")#%P/'SBEY)9[%B2"I2=LY>)FS!?XQ5= MPLM;[>G$HC'-_[76*[AR>3P8>(A%P>8]J<_E!?%>,)ZQ.F^:Q(-+;9O'(3EU MT!UO:Q@5%K:3%JS=68GLAJ+T\'/`/8T'`553#:NW$ED2X$[`9.>KU5TA*PQR M@^9QRUH]$9\+YFLP-QY0:.&^32Q-HG]BVHSKLQ+I06K)DTY[F)^&-I.8(C=\ MPYAH*C9D>'IS[>&"%NU(+#Z_XN.%JA!773E=,$3?!;G&&5N@4=ZO`X5A\R/_ M-.+K3ZBRX&#R]@\PZ/=N@$2WP)GDVC!J=8^FRD05K?4B(#J9@&N\`_9#,Y8[ MVSL8DA8#I`J],#M`HQ_:H5`7M*Z321)/G;WE9KW$C.T^A?F%+Y=#^%]R2T/N MIJC!5XO.GCI"*Z-"!)ZOT<;LL(47E)+J`/5,Z.-IBF^*@79U>R(*,WGQT5?K M"_"@MU*)K M9M'`;.:@NV'\?!Z2S-E1%U3V!424\52+HKIQ>3*M=1.T]37V97I?ENH'>0E! M6(4<17:GTBHDV:#PHGFS!H&B^$S$'0)SCEIK*;8O2&>,U7L]\NK?!>P6MV,X M;!*9G]9DDSH=8X8@5B#A.$E.D7L@A3#^AE&T+$*LV,(P]5.@\S/M>&,JXP#= M4N*O(442"C.J3G+D'89^+=.?Z$KA3)B=P9F7]EV+)ZVKOD1SGL1I_DLR+=\> M:0L7UT8ZD8.-6O=;6EKFLSA+S='0BYYI1LX)XM#3)Q@4<#78EPI#Q0#YK9>$[]Z=V=789W.-^\U#4B M@UZJ$;-D^HJ%%LZLFK]H?=B&@!COO&Z.Z1>_TNOVF`)D[>YJ-TXKVB']+6.U MQIDYA*.C'MOAT*O90TV M")[DI5*%JA#`=';(^@6ZD^-P$BXSHUWP;`==V3.T*FZ_JDE'%4&X`$QBTJ\U M4+3QHEI+4D,;%T#X))E=)/HB0J#7]7[U?)";"K'@$Y1T1RNEHW4R>H= MB5,V:V8Y!E%I6CT2!C@05S3UO6.EJZYL=J[H'VI;-1KJAO*3+%D3&"*_(CHX MBZFX[SB6DD6_A-,K^5GI#ES.$&5FQT1IT[C017"$][>^C8MDZT/)3E'9VZAP M`7:MJZE=\ICK=8W'''K8W=9TU=^NNVW][;8[VZK=[5#.N?8:B*,4\".B-JQ! M9X1L\)IZDV)7A`[(">?PMYC`["^U0I.B`0&<#NP:?%+1&]6X40UL0OAF_0A! MUH@.GJQ]W3YZUU`J4JOK5\V_M=:O\'_-86N]B?,!,*V M1]WC55Q#[F=U'_#ZY(WATXH:ID'4D9S*U966%S[:R,,[(DVX%J),SZ(,1^N4.`5KCJ:" MM(67^=S$H<'<5:$X;,C^49`;/H_Y%G=-?81U9H?UAK:3Q]:09;RUQ53KLJ$9 M$>D;:I`.,#[.1,))F*MKC*?P4HS6R>7"CL,=Q$JTQMS%S&CMU$?$6)/28!LI M@*V@W?-I`,"V-#:1SC.G9^)NF69"!`4)3;!1;,AM5T(%4-PN4Q:>AC"'&;/* M8M-C'VOHT1T/R%`=Q)B=RK&X4SH6J6;DT=QX')P!P>>#9I^S/R7@5V MP\Z"F2VJBS-\Z)!1"M]A[IW62DIOUV@SI9L?5B>M,1JR"I&<1DP@#;8TU?SA MI6.MQ6(5JFA(`T>*4]J(&2?>8N?-(D$*[MG&8W@*]L'3>D%1CD%GP,=KA12A M/2N;M:)9#X156:,T.57XNM;ACI1),20@\UL[-48,FL8J@4W@TB,TR[>>>L`E2O'O4`&[LQU8/&:_- MK8W-+?P2;6U$6S?00EM:L-1!;'J/0XWU%C?&(_W9&-L1[>&K>QL`NPQ9(HD1 M4JP,92/T62ZP&1O9Y^12?1P?T'%X1$=CP\,YZ@4CC`#7BTW.6/MY=CF!]2P$ M5>WUL"A+3BXU=A1V2$BR*S%82$/7P798N$*J/853>S,Z/MI0\.UH`P=DS#+1 M>C*?GI9UUI$1GO\&OC\VF7M,W&$&_IUJM!J[5;94"RVBJ MV]719SM)!+@'8^LUY*(B2MGH1[.Y@$KB?.IH&;X+T4=\?B_B&*A8IHQX1X,? MM+7(O#B/!RNJNL]LR)ARUAG2HE9KA\G/62[RI>&G\;@H;G6D?H(FO9 MJ%J3ZT/?!/'+(E(MI\,PH=;]L.'V:AX=]B:/HR$KTS#1S'R6I'=_AS=$W4GX=VM7XJ4UNQ-#'4 MP<#$'I:$6M@29_.)RE*0!N@$G:6`B=-Y$9^BV0:E:\ER":(#3$72Q\5'EM]X MRG51`CT^7FD79^F0E58%X8(6.B-%^K'H@YC?K*[_#4YU^16$H'50K,S7.E9[ M\#./[PB^NGH(O<!2<]]E>&'MUQLX;JE%9$-FIWN[13J:KH$]\2UTSJ\DJ6`2*2 M-D*[0CW^IIM1:Y;GJ@!6'1M"NH],M''5F";"F>.A:SQ@QD'QW`BJ`O,A=(\W MXM%O;[8:Y."5`[3IW!;N#;.8_,QQ`W'L=I38E#<`;;1@+=4^2O,-'=\N'@R8 MA?:9+RMAMR@QO1E@-N>18:63!`#``_+HGI0)8L:G>!I0B^)3'R_PR1TW:Z`* M8$5ONZ+[W"GM4]Z.`,]\,J,,;@-Q)_D4D[F>JQ']M(B^2X34K0_Q**7@"NX8 MRR_-?,LORM-^?+"W'9[V+35+P>W"LY]G5-F?9>RJ&.IG26'2:D9$[P)SI.?W MF6*HXE(SI(/'G]]39WY/Z^G'_Z3G]2LN+RL@D->W`,:X9JE.Z0P,$Y. M?3!\4=&/JO&U.W7SJ':Z:38X3RYKQL8O`]/E%_>9;K!F9;K[@?L;/1I[]4"V M&WT+..M4%P"IN2]65XF_W6:E@S>562CM1F94R MK'*/666[)#Y+7"Z^XQ5OF^(A8";?>M"$GXO`&9)/RB^KX*R14)8`9[V(N-5X- M)JS#H*\&F!5'`:[/@1\9J9.1Z@]4/U%]^#*U!_"P`^N^?>#%8L7?^%MZ8,9=F=.5AV9PZ6W9F#97?FX,_9 MF8-E=N9@F9TY6&)G#NIWYK!F5PX#.W(8VHW=6Y!BV+\-(?:=.P&-$,.^R^YY M2Y+4<'9]QXS$J_'NZ4]O7QZOK?TQ.Q&W7_=\[`=M0*I].A8@"XY3>[,1!J9^ M'5@<_>H^:U13%Y=J]W8AVT3O\0CG"X?8O:B=,*9W"P\*WU2GB4_O,<-`M^]=BI:FPTHRV4()3A MTUR,!\#^1@9_1XV2>M-]@YER4V3T;NO>L5IKH-5:4'(9^WV:'MWGBQ"\7L8. M"]@UTO5MZUTC6M^*S,-31>/P,/D_5?GZ/[?)U^=H_!H%ZGVS-4@^;67ST:BUVO(;N@0I&[\U M2.#^Z)=6UVH6IR/5[L&W_AS/AFZT]]%'V/NUL`BU1^D8HWP%UXG?59>=G]]C MX8,52TL?1G&J"52;_I9Y75C&J^9_#M1!2ZR$J13:"*N-&UQT?\D7EJV#4T&> M#<%9T:LJE.CQ/8`4JH

G2K6I7&4;[N$Z&;S'P]<3LD:SNEZB&1S&H&GLP" M4$AF]X%!,KL-`B$&C!R_@AS8NZA]7&OO6V/*^[2F_-/[L&*E`7A6NT%F[&FX M\-.%N[F@*Y-:F.:3\`KEDWLN4CY9;IT>5=8)AP)+98W9==3.VPSN_L_^7*V[R+K!B]XMLGA.QY<<8^L)29[="^N/$H?X,WH3&SS<85F6R9H2!J M++"SU:V6^*@E6Z[%H7P^[==(W_PN@$/T_#XX%*H8QJ&2GE&&\G]=S;B<"#2; MQI/P#/%-%6#X]![@"E2K6#Z$@$6#"("J6RN6"IB$JAG+S:`L&>"9SI4P5B6. M2S]=!,MY5B]?\;LJ//GY/2`:K%B!:4C](T/1ZA]?Q/+W>E8N$U`/Q>4R`^FUHZ>]]@M54K1@I[`>7__^?4^S_NS,,+4\^0.O!59>754R2%_=`I'#- MI8Q=!DE_A*9!G'D7`R$DI\E4A%XT?>'L1.SW6#)]<=4:KH>E>5H'GXLXK=EG M^*8*&7QZ#[`$JI5@TD/2VA,SQY*H'X5$\(``ODC\_L/"]Q\4O6L7@**VAH%& MR5ZK2X"/[[,&@7I+(28/$3U8^CK\&F)AR1\U=C6F^*MNQE^&LQH."=]4YXM/ M[S'=0#6,P^KC3>Z3:\.DC73$_Z6,P"\TDK8LQ)QQT-/2RVE2.5K*K\`L8 MI>FZRSWYK!:3.O)]'F,FBHSM]PLV'ASEF.<%H:WBHI^F:$T2H]\Y1E>:`'J] MM^02V[A/`W(VP(]X1J:+\%_,,:;08Y#^P.]1@5:8AAR-,:++^!P?3&>9^E%*V"E8?(T\._+\/^ M@"WMU3J'*E'K'$6?5JK95.MKE&X832_E_).5B]YL(;5=I]>T)O6EN6BD"V// MAY1`'B<(P&]>Q[/6]6E_:P0LE81%Q,DO-PJD1 MG@D@%,]DTI^T6A*%@X):/C*QB+$8))L[>,QR%5_ MA+YTE$UA#D2&HF\YQK8E`83JE\0/?N:.MU5/L.JNH+^$[I^_C.XC_GX)W3SW MNK>)BM._38` M8GES'SB'JU:`39Y>W6X)VGI$H0NU9KPQOYYOQ"VQYW-%O-)R1'72]K?N);!I M8+ZQR!I0#PK-,^KD/;W,6ESSQ^H)>MY0=\L:$;.PW[JJ2EW='6C%J-`99P!M MV-AU3-G//S@FKP?35J/25FW!*K+I6/YHR4:N,*3"(:\M!S_J2VGDJR]1-87? MVPTBX=)-E(U]]FGK[XO<:2Z^$H0\M+`:NJ7-U/K;E]_]_?G/- M3)*.G=GTDI"#_1S$B['K0"`\26\]:3UE/6&_ MY46(BAD@/P!^)!EC2!B'RJ6JB%HN<0]$O:6)BG\L^5KM&J)YGEQJ2U".RT0D M[?VSZ/-8,]L\=/P\:J[_SFNQL?X[\RS-?`QL]6OT4#3[GV[WZ3GN=\(3`E*) M.QDJ0K$*D*<(+^+/VWUF`^L^K8-S9J0'CPHKEZ#6[.^3H!W^T.+*F MG@X&7CQD=&=*XOZ9R:YE(TKCJQ1]B5;7]5-`M=5#8)?<3;&Z3KD`\!5\3SY/ M1O)5O#X+^8D>"]P./8@F?",%OU>1!J^NIZL4E0F]>>/I%`N5=M<]>Q*!1O15 M_@Y=9A#D]U^[[.2$%UPC?%-=2JW"F;,XBILW`T0E-W+Y-\O$U&T.3R*=-CJ+CX5;=@M?4"T0M#CWA^QYC MMQ\=A\F&2%1]#BZ=\WTV^(3-,[6A>RNPL\R// M\DI'=^V#.\"FPGT89:<1 M4]I1B22-2@;"T4MZJ8/"D)\E9S2FB$IH6J2]+"T229K,&;KX0:..*5FSM7E? MU;IGD4;+8K4Z:W"P)VJ;&%Y?M5U2[S@%%^JN+0_&PT)%.KHMLGQ)3JT2Q8G\ M0VT$)XE.@#%M2+M+,2)HR(,$-]T)9YD,HJ>0%QB[ M9B4R%S_C>(JZNX+>(7''^!PD,X)`-E-93B4EH>7R%90.P5Q(8$AS.#E3)AJK MX\]^_)UC?7P\:FQ:4=5:];E6GL)@\`Z4=HZ/./B7(XXROR!Z+[I]W-ABP=:T M^ONMK;)#?!MM3XD3TRDM^3BD&$1PZDC04(D01'G-J8!)@O0SQL9Q=I`3_`6] MS1%D?)@5Y^FDH?,R^360.C]U/\91@_A5>*':;-(`9E_$C-24MY^Y#7XW:<='N\ M?3;Y6*'U;S1P[DHTYGJ2*S3*(N2XC<"C5);TPY$Z*STJ8-WDEEVWJ6U56A!`Z*8S>WK`Q1;I!#]>G& M:)LO*,U1*71I!YC!TCY(VQY(;P%LVP-LL'`)O&T/O.H6($-I(LP?ZI>$WI?J M.`L3[*&Z/#;!?;B&CCG$@/\=32)T%#*[ MOSJ<@?12]HWFSC5EU-R=TZVT@=0T"E0@?MXGH@O*!#4^R$L)R:GP6$)*/)Z- MG]V160M6JFAN>J2ZZ>U58IM%#NO1'P^Z^-'#>%.(?,R,M-TB0A;#196XL#/_])"&@.Z7C<5B1A(1'T[^U]+5)K6($C6[G7(5OG:K/4 M)O)>GGH6FK.55YWV=-2D@QGJ7FUK`H?@(-O^(+7/>=LTJBO+(*O-5@?9-H/4 M19SVKN09#=)>9%0GI8?5.UIOBNU$-#'&!*V:7FIJ29&6L%:`L6^2Q(\HY&:S M-?'@'%7(IJ2FH[R=^@86R?4,9Y6BUP,A"0R`'F!`]55[HP##A-$2L-9_QSW- MJ`4C=9[Y=PVKZ]"614[]@!G&V[C,&C[3(#%.9H\TSGLZJ)ZBW7ID"'=@2SDT MG2P4;M]4B[94B)X["H<**;;O?+ING]^1MM=4W#G8WCO8>>@J=_!RQ43T#:IV MTBPBBNJ'^RO8%WS0XRQ1F%T"APA!H#E6J M,V(5E]DL_BS9UKV$I1_U-2/'=D5)XWYMG":9-$$S&.MQJ5`P;%) MGV624R8I:7%/+K$A*&1R54LT29VWE))7I0!52AAV M3!(F8E;$;(;YLXM-]8+0L9PLTXR&LBJ1[D)'$=ZG(,+[GEE4-J:DJ+AJV"MI M/0AAIDD\HB^H>:BC"OR*/:A3L@+FYN+!8#+\C'\*^(/XI-F2ZAN`:GJJX6"/]7:GU-5MG0?>)$N[U.]Q'PHOR7R;HB;#EJ`M7`N(<&#=&P4S0. M>.*LJ=?Y!:N4]70W\>`I/3]-6%>@2LID5:](-M?J>!(@VJT&KM5IEZ^N,[[I MRRW".OE1)J$8]3 MG)M+'$>'3I(?$"!`/'VW,,C#9YIFIDOV[#;U0+L4M3QDI^XF*E",8BZF=S"T M"8S(3?;P4>SE*.4!7_F2T3/^T=P8.Q$S&44N#/;]UU]O;=QL$2R(.=3D%KA= M75)&O+JNWR$1636OM7QK=71,5+#UM8TMYO(T\29EDC*D_JB)B9+8>J_[:)O& M^TB[0`0:HMM7M=)&$BMO#HJM#4K*TUZ1K6A"%Q.A-,SJR:6YFBP'/`:0\:'" MM'!UQ3D;CE97>7B/'Y,-NV/H/H8EQ/RER,FQEPXP0(?5K!4PT30O&< M2^+$5O6BNY'B\3*#4W-KL9-$QD(?MWH8'Z$=][JRI-_363V$6^>S>']7'%P? MK*DFJ3^!^=)\DL:YHB6Z#?YG#`+6Y935I@"NKHA-`NZX8^D>7B/7NH87/'\K MFYEOY[=(B("%1VN,U75&?FY`D<2!B+WJ7O=[U@-W'-3[E?:#A88#H0%[H\06 MH`EW%HO&;?H2E,>U>2LJB/_,@<:BLJ%`7W&=_,JD8S;W?GB3%)_DF-"1Z`4O M^F-R,^L]WC=D00Y`(97$!2@?5?77]2LLLH8SVI)2C+?(>PFP!9.O\O+^=VXJ M4:+D#'E#&C:V[>M"*.=Y,IE97AIYRR8["U#B2(P4P=F->V3ML+/]6-\#*L/M M`8'!';W^*[%TK=(K3ONE'QR<%IL;&YL;F[!:5!+Y1FS@ZG><]0W\M60!?^F* M-XH",.@+76(W.3\-D,55.G:09):U`('R[FLA^]1EQ\V+PSQC,K!*I5@,>9!Z MI'@MB$XB>-^EQ++.KN"[B/0<:DNH=F"1,49%C[5"?V0;#PFAJ_O"-_?+B2FE M6_+P+N)A,E)M<7&\R&/X?.OPAS9:=:NFC"^P2.K MGDRXZO@2G:B!B$RJPDK]^=133BASD+OO*\2(]@;BYAK1A9L*).Y#1!=`IV[@ MI8%I2GSKA*H3$'XO8,+U"VRNK0]Q;^*I5>Q3K5"Q3P+&X>'(Y;55*J%]>SU2 MDI?RRU'WCDLU7S'#<*KQE1B4L'W%TC[R(Q@YAHF-9A2=@.2(J6(BF-,*%P%?H)CB%/F)`@M!9,DCG8YHI=0'?J,>(VHLX%Z[OPW'GRBKT+XJ&.8"H2+\D4KZ()LD4 MQ(93?(`)>_@!OH(F'C!J1[/X1.I@:A*",UIK0&L@..-")5D_'Y!JQE1)9R.L M4,S@.2U./LI/Y_CH+#T]&\%_LP@=6T:V#JIW)OP0?N7S&;IL1=$GF`_>N>'5 M)[2"!>FDLQ5I1,F4@#))"5,P$RW^Q:D1EB88)$97R'+O!3K]NDOUFP/N>'I* M$SA+X@%U@5JGZ8A0;)0,9SQ3;['N45W5K->4X*2!216&>^<31/+XCA:RK5[%L?8R&K8^%SS.7 M?>RGQH8<;/J#EV^\&("Z1UA8SIJC]2O^\O771QLW]*;T8FWCZ,9?MJ&W#$/7 M!N/O.AN0U<1J11]QX!:$B)2C2<#)QOB`<@EU7?5OL6Z@I@SRLL`%8CR[1#7> M-QK%UJ]JXST@R+LHCKYL1X^/-]ZWWB%N'G6.-S?6M]YWMR98,.C+PLLP&%27 M9C#PEW@PN./:#@:+?5!*YLI&'0,20@.S7-/]%`K;!65&$ORU*=RU?+"I6'V. M#5`BJ'B$4@-I'T45#]23TV5OZGMZ"?G7P5PU_OG104?*]_ZQ(,]POU.06O)Z M34[Z@[2OTI.Q.AGE_7,US_COB*Q)YO197,28,R>93M&L^C+K\^XL6Z2E0SC; MT,7+/,F'P5B$(3\G\L;GD4&[@(GI2:$PJ"#\OP__T4T8$X(B2S"ISY^X9,[8EB@2B64:J]+_%4YJ&%*0<1O#[6EE;0ZH;F* MFOGY-:8^:J%*_7"!K9=GNU5:\*C>^VX07Z+GP4Q=C>//G7&:=6X&(!*?J6&. MR2(!F49)/%1R7*O/@^13"5WOW0B=:%=QI]^YR9(+H*;T?7QSA0U@+J@;SJ^G MAC$@H;H:%IW/G1NRT3Y-,8LK<$S`TYP7IJVT=,`77M(0`ASZZ]S0\0I?MCLW*C^'E9O#5A\5 M;L+D6^,/G:K&IMK<=%(5N^&=@MZ&IHISII[BL8RQ2&N"[#:;\77_ND60O![2 MP)O7V]?#EI,$.9@L>8EZ3K+D8'2Y84&K4A>[LM&<#PNUN]F#_W94!M]!5E)C M^/MFK_M/^.C]LU67@YIOS.I:IK=UHR)WZG#->1`4Y6F4N:)E9A%JMS0'OUF9 M0JB>/P&WVKR6_I%7>)5VL;.X1P'IT1U)8*C.+-T8%Z-WYU#`WAMO3"@O[QML(@S4+`R,H`S>X,SVPQ.%GOVM-L6^BJ MV[OAMK?]TV1B#-UZL)V:?XV^V;@>92V/)D`I5+_"./!XV&K"EVL0G-+5T80J&MJX[8&^'Y91\*HQO[` MZ!>4-S'XGE\'T>(LL*1G):0XNRM.G"TV]=S'NP7M2\YK/;XGHW2DZ.M>3'=@B];X[/E>+`U3(!WDJ@\$[.:(7RD@Z2C^F<),-QTA9M\ M3@NQ\$_%_4,;;:)K468SQJ)I39&,/G%$E36%M`!&3#@8[9[U[Z/G>*D\87;:]MFU/ M;ZU#9NCPX>^JV'K?VMHZ/>2.F0KJ-[^^?]=$:GG<;KT_WMI23^`@SMYGZUW\ M7%4'_'/UD#M9KJ[=X.5&H(F;1BMDT&I%LG9)1/L;_W8YG,$T'LZ`QQYX?,*R M33F<1K"ADNJ#WY+V8].Z"#(6.W&B1`&"/DO8CVE-0B1@=O>='9W=W36.F,1I M!BPFH"+@)/K,/?%YMK?2EXJV:GG@9)#.\NEU$ZMG^<7U=#R^+L[@RQB$^=9D MFO=;2R2O\%A;],P/5QG6#@-5J-?Q'`9S#?7)(2#(QKE3"O+F=YK/[4DQ_,GX MVJ9@_XLFPI>'"4A->"N&Y`@=&$>QJ,DTF1)[PC13^1Q.CHL,2^H(5Y?<"BXX MDA4BMS.@:/$4?1)/IO'TTL,U2B7(ZIQ=\O;=?:C=?96AMTCUA=I>R1G`U!8- MX.`W@>U0OZ$_!V>'BNYNI(NCIB';7*!55OR_U44EGL/F`LDLRZ];_7XXPL>8 MK]1S!04P5DM-!I7IQ7$_AN.GKI')_&24]I$N?<(%R#"XE(J+\PJZE<<<7/;R M@!W2[(TVF'BE.E2G>OU`0]K.(OEMC@;D+L%!.@1$B/[B^@P)'1[NHI7)PX>. MO<&:&B4QV9KJ*JQ-`*)\SCEW7D[[`<$3'OKL(#RX(S]8K5')+QZ,==4'-$T5#H#C&CM1$.$Y.U/J M!SAV21G`BH[;8][*>:>M+ZTU!A"AGYZ]P6^F@Z^H2[LA2C$793C.D^IXC,"Q MP*K/[]PT5^K=;"7DZK54`97*0D3G4Q,$"&":.I^VMEID?G*;!%%?@@O4H@X' M>:PN/3TO(1`]NRL.A2J%T:B4AT&&-BW.5.$E(KI5\:=5%-%"O5_UYL[)B;I$ MR'*C&M&]+!'VSG034._/EU0T%;/9917.^-1?+GQ2ACNLU_:"Q0I5*8?1[Y(A M0[=DR$#=A[-FO"^'"G2D/C18QYW0W(!SITBN!VG1!Q;D&K?9O+@>%/-B<@VD M=7J-Z7Y`P@OW;'+@B0&JDN=>D_KXN-B;((*TX9M5>A,W_5HU?HP9\G.'' M$_SHX\=N?[89STZ1/)/K3!7.0-&,%65+ M2D#(3/*1U>]CS;M48^5Y/NHIO@XH9CFL"0!/$0B50$L)?-'0'ELA>.KJY/:! M%K73''KO%X_@/VCF1)W-)Y20$<.K]$6*A[*V9GJ:G<#I"/]A'_`+7F.1,3Q, MLTD?I6`T1H`?H_X4"^!G?YJ-5#KOC_K03@C18295%(6'/IK#@SMB>:!&.51_ MMQLZU[#O8#09-1L>K:[W5L-1%/DM_]PY=N+(-&VDQHT9QL%W@S]N?,8GK7+\ MQ^XV_EN0K0HD>`3<;*C69\.6:JT&XD)N]+'M6UINZT'J((UFC.9!:(B[U89* MZ;*J(ZS$@PP,L-INZ'+$)3R5)GK!"YD049*J-13=OQS:V,3I7/_\]*<%MZ.? M/VBE:04=S2L?K\WC.V)W;3T_3"DZ/K:U]R-%*5%%2A&\JOZ?'59AQ:AUTX&^ E-GU%^G\9LP@^XX#03,@LAZX$H\_3L9<"=JGB_P>E(1W(!`%9A ` end -- Sven Wischnowsky wischnow@informatik.hu-berlin.de