TWOKEY ------ This is a crude prototype of a five-key input method based roughly on Tegic T9, PBX extension directories, and various Chinese and Japanese input methods for Chinese characters that I've used. Basically, to enter text written with a large alphabet, you enter the text with a small alphabet, periodically selecting which of the possible words or phrases you meant, starting with the most likely.
How to use ---------- This one uses three control keys (left to delete word, right to look at more alternatives, space to accept the current) and two letter keys (up for a-m, down for n-z). I have in mind that the actually usable version will have nine keys, six of which will be letter keys. Run the program 'twokey.py' under Python 2.2, passing a filename of a wordlist (e.g. python2.2 twokey.py sample.dict), on Unix, under some terminal emulator that supports some minimal ANSI sequences. It brings up an on-screen pie menu, from which you can select with the arrow keys and the space bar. (I chose these keys because my Zaurus's little control pad is thus mapped to keystrokes.) Why it rules ------------ It works surprisingly well for a text input method with five keys --- less than the Space Invaders arcade game --- in that I can enter text at 10wpm or so on it with almost no practice, which is comparable to Morse Code. But it requires no timing. Each word is always entered with the same sequence of moves, so it should be possible to become quite fast at entering text with this method. Why it sucks ------------ I've included a sample dictionary of 200 words, sufficient to enter the text 'the input is of no use', but not much else. With 10K words, I could almost get by entering text about Python. Real English use will require about a 100K-word dictionary. I developed this as a prototype for my Sharp Zaurus SL-5500 while on vacation in Costa Rica; I had no network access. So I rewrote xreadlines from scratch (wasting lots of time futilely trying to speed it up) because the Riverside guys forgot to include it in their Zaurus version, added a stub 'warnings.py', and also wrote a tiny toy screen manipulation library because I couldn't figure out how to write Qt/Embedded programs with Python without any documentation. Real use would probably also require some of the following: - punctuation - shift - numerals - special keys (e.g. F1) - hooking this up as a keyboard - some way to cope with weird words (imagine trying to program!) - a GUI begin 664 im-0.tar.gz M'XL(`-VE^CX``^Q;;8\;1W+V9_Z*/AL&N3:7(BGMKK2.`LC)Q5!RSAUPOGQ9 M"(OF3)-L[;[EMAIL PROTECTED]/$]5]W"XJQ?[`ON0Y`AHM3O375U57>]5]/GY_,D7 MO^YG/G\VO[JZP/_SQ=7%L^'_\?/%_.KRZO)BN;Q:7'TQ7RP6EXLOS,6OC)=\ MNJ:UM3%?W-5VXXJ/K_O<^_^E'\_[3U:ULW>SZO#KG#%?S.=7%Q^__XOY(MP_ M'B_P?+&\NGCZA9G_.NB<?OZ?W_]7OWO2-?63E2^>5(=V6Q8CGU=EW9KFT$Q- MV8Q&J5L;EVS+R=GUR)C]UF?.+/BK,8EYR76SIDU],8,,I9/%F;SQ:[Y\:9)M M/5G,SZY-[=JN+N1=V%%V[6Q?^]9-DC,]9>_;K8KBI-UVQ9T<6&+QH6E=/ADW M;7LPNL"<[EMAIL PROTECTED](C>R9\M/:%S;+P^"&`\P`A`)"3<[EMAIL PROTECTED]< MWA8V=[>WI&=\>\NUM[?CZ[#I;WV!_\./Z+\OJJZ]+:OVUS$!G];_I[0`#_3_ MZ<6SJ[_K_V_Q>:S_X_'XCP55"#J],=9LRC(UJ6_:VJ^ZUI>%*=<F<VWKZL:L MR]J(])C<87?:B`IA5Y-#`\,KFU5;NW+M:/23V_ADW)B?7ISL$C`5#G<-%F?E MOC%%F:L2&SPU=^Y0U:YI3.7J</;4=`T1+`NL><$5BHTUR\MS7=(?/[EMAIL PROTECTED] MG1"4[FS1XBY)1NW2KDAMD1P$;U^8?5F#"[EMAIL PROTECTED]'#S)@?;7%X0"_/ M_%=;6>#NS+_9XJTGC#O3^-QGMLX.4V.+U+PV6[LC1`.Z4F!9>7>>NZ(S.UM[ M8(0#;0LLP#5A0<"D+<W*&5>`'(=MC?FA=IO->;.%C=X"\'[EMAIL PROTECTED]; MN.]LLC5YN7.`WT9:*E>0"]8DKFYAN4QM4]\!_[K,C6\;0SUHR:&J]-B6E#4X M7I4J!D##]K<`1GS?M0+U7><:D8G:[EMAIL PROTECTED],L1C&LP0_X"V`2A06`FE;(H?? M!$EE97/(5V4V&XW^B*M6]T.&@,.U3XQ7H#E9SUM64LT$?"^!0GT"I#D;7%P0 MKL*Y5"4GV=K:)I0,,`7^!XM`RP]^!]Y84EQU>O?N'C)C30:IY]]5V31^!;\G M=Z(7:H]/+?[?%)'9`VJ)+E9G)[EMAIL PROTECTED]/KKDB$9W+CK<NR#U/H6\JL$TC0 M/YNO/[EMAIL PROTECTED],R!U%.F%!T^4I)'0`EYRE,LH)T4J;6 MI2C=-75_-!*)N+U==_#8='LA((#U<[5MR[J)(4)[EMAIL PROTECTED] M;BWOIB:I;;-U(9[([EMAIL PROTECTED](6KBY_5O!!3_^5_TX+0KWHB8%ALWR5RA2\_4 MJ?-]PM=\>./]&WT<P=PD;XP&'[EMAIL PROTECTED]<KKZ2 [EMAIL PROTECTED]"T](+6](C:WD13H>?Z/5:,Q[.W4)W)S1&''LW]&XV+`.MF3]S\/L9) M1=GRG-G6-F3*Q.\1B.#!C9>%-V]TH3Z8V0J*G$[V`U(BDK).`ZEPVY/]M'\[ M[65(*`M[R=<[EMAIL PROTECTED],2*\B:^3+H>M*!+:&\AH[C=;2%'2 M=F*N8:UZQ8"P-2YSB=H*\DO4H*3Q.%1BC6'N(*`>ZK;?NN*X#MPP,#9K?T^A MI:+8VA5C6,AM&151K/K6Y3ACYV"5X%].Q#[*/`T`C.<C-=*3J#:PP<2\W3O@ MD/KU&M86VNRI*<"BM=37WBT`1C0QC8,%!"O,Q,_@((Y;%<&[EMAIL PROTECTED];SZ+AK;P]G MP7X4`C[+_$:/&[EMAIL PROTECTED]>E1O6+,_EW+:@%*: M&K4+^GMO?]0PTDX5]#=BJ_62P'R].`?;[EMAIL PROTECTED]:[EMAIL PROTECTED](-$'%* M67^'8C[[0Q);U]Q:=7"+'H$X=(X>N8'A?SV&;VR<F&'0W)#H]($95R%(;=7J M7?(8<*0>"YO5.49#IL+D>3\%F>9$1E.[;:B,UM3E7F37%PF"?:[EMAIL PROTECTED]"WW8 MM%O$"UW[$1A<>`(C=4<8X/[EMAIL PROTECTED]/FIZVG,)<KN\(M^H9B3.Q7 M-)&0"'&,).Q3U!\)5NS$S:7.TC\FF=LQW`'SD[++4BJA"(NP/?.KFO*>V":Q MXLT1>QC&'LT0+'#_][)FV,:0I5\CFFA5[W%QP`JJ#H^).**`V<S,>P9H21^A MU&479"#IZH;[EMAIL PROTECTED]"[EMAIL PROTECTED]@))EE-]7`4_`ZE&0JX?D-*:K [EMAIL PROTECTED]/(`,0`P"C4'(0^H0&Y$'/<,IOR`P$)$-D"V+`9SOC%YM([EMAIL PROTECTED] MI%JP<EM_0J'PG4$:_;RE=/HBZ&[EMAIL PROTECTED]']=#8,&XG<NF7`A%H3<N>SDRKJX! ME%?6R)WL![8QG,[EMAIL PROTECTED]>WM[5BHI$0/(,>!98<L0F4!-4LPN:53>X&6R&&.,9I ME&IIK*I,0F38J:[EMAIL PROTECTED])3&J!&*O:;;'%#Y&>D&05'^.\?,),Z=Z?A0X7#0= M2MR>A_C\Y#RU0K*W*8E?O`^(-=#KZB#'7?4=?:[EMAIL PROTECTED]"#V\/"HO>P2XLAJ(%OB MQ$X-WMW`4=')T;1N8"9KX4RY7G_P<,[EMAIL PROTECTED]@S-0!X%` M*I6Y/D=B2(Z+.9",RF9Y6X(*B8MU(0'[EMAIL PROTECTED])2<2GQ5%#'%GQM" M\B.1F.4)#00+:Z,[EMAIL PROTECTED],]P^9</`3:M&#N^K/%GD.Z--C0MYA#9A% MU9KK'9<[EMAIL PROTECTED];%H_'LG;(CG48#^X->2;\3L)(8&X<[QYDN[0OCX)8*+Q%5M M<_0LXD#3E-0VE4V8FKTJC+M'0.KICE.]=<8`O&-KM`(4+Q#(VQ"?:#`<0H&@ MMT(ZHUFR;PCTA]JNUW!Z"[EMAIL PROTECTED])&"QO##[*J<S%KLD$5Y!&8-4EYO: M5I0K;($;+.N#VO/[EMAIL PROTECTED]:T04N&&>L5K7;^1"&:+:,>)II4$CG,LU@ M-3T\FP9OWGL#IHJ>[EMAIL PROTECTED]/68ACHMR&RKS0&[EMAIL PROTECTED]>P(*1V MJ6.V$PL#B#T&[EMAIL PROTECTED])&]S1A=8X9`*8Q/0:CK?\D:F M9B/)&$]V.YMU#R(6\'?G)%%4:UAJ?G8:[%R/@%#'VP,I:I3D?J1$,(&,-='H M,8.&`"53(X(V'5&NAC$B&%EE7:-"1O_@,[EMAIL PROTECTED]&[BSR>TH1"!V)^/3&BH)T M$FKF\.??F5'#+)I5"U$YX%388![#/=.5:[EMAIL PROTECTED]:O<T4J;(B/:WB^,:Y]4L%:)[ M6#;JUU#;]CYQ*D1#J%,NG,J&+8R!)GI,%2*:M\S7M,3+Q[?,`_8(\&%X`:++ MVI!XA;RAW]9G&F#`2^YA>/H2.T,^IKB]+,Y8/55(>(,[EMAIL PROTECTED]/']>&IN\//- MU+R(1R'KD3+RXU53,SY\9NGA$TN7GUZZ^/C2]\.E^/'^,^OO/[=^\3GX^&'Y M8_69D^S/W_GT=.?J5]F)'PE_I)^!\9A#/P/&`ZXE?PV,9Z<PTM\2QO(A/T)5 M9))!FU)[?63,J>R^7)R=/=#7H>)-8V%*M4T;-6+N7H9'R/`7QZQ?*QTSA+'N M7GYG!6#YC6XY!Y?-DR<!0%^OZ0L$_0E#=(9H_`Q+T2-\K.N,'NV0TL-/I89. MXIWZ(@/\[[K+)&`M)/4SH]/J72C1I5[L,;-[V,:ZDWR.P21?Q\U:8HT!P=II MOIYK[**9&WPVW?EKT+QM\PS1C,[EMAIL PROTECTED])ZF@&TFX<&1:)AV]HCHQ [EMAIL PROTECTED]/1R\7Q^&7G!'+WV4M1>FA^_ERIK<_B^O$?T"3EC-([EMAIL PROTECTED];(XB=Z4 M\02?"XYKYD02`'S)4L&79CG_\7L)WWLWE;M<@@W!&XG7WC?BTAANOS.3WYU) ME/O:[.L2'@N4G>[EMAIL PROTECTED]>4/.9$09!/<7"!Y76I%L4S`#2P&\E*,`0L:345? M/+UZ_K`^\IWL$=P19F4(8S0>]*=5T]-B9L>P!_]+-*S"E`"[CH$KV'GW_8QU M(/!D*#!62RDJ-\16XY,^R#`X2\.$T3&::31`$+IJOV$_0H3K.PEE17;([-&P MZ!I#DAX[+$F<L"R'(OLJ.TB19L3@:WRLEP<0$$^)V^G`9T<OO8[*H[+3J\_C MZNF#RBK5-*B3OCQ5X],2YX?KH"/[EMAIL PROTECTED]/8?L:$09E0)$*35A9^>U+ M??G-H!0I6SY0C3PJONP-!&/W("1I7["^:E>)&)W-UINW=\CW"ZC#.Y;:NYW9 MWQ_>CV=-E?E6>L#EW:[EMAIL PROTECTED]>+L#>VW27MX8>NS MCVQ=?G[KY2=/70VVKAYOOOCLYN7'-S__)-*?.?E*.NQ(/,C_-FJ5X<U\C-GO M?37A#K!\\082\(RPY&^!*%)"L_\`G!E'%T=Q\M#$R9I]=[E_RESF"TE[:2X& MK^!#V?>G['/%`"FIKO,D72`1Z#+V"[EMAIL PROTECTED];2*.""\.;@798&"4?6-N'*.*"` MARQJ!C4<%M)O!-3'=.--H&QKZV:XN=>K/_QBQ9*62/3=BP]KT2"F/PWS1V:H M8:-1_)^;F"KR[\6$WI/<[EMAIL PROTECTED]:`7LI>?&,/P1*\&4O3<\6N;E^)]=HQ?KE(^YQ M.QB2%`2[SDJ+-T,&B>41,NH#KK2W=08>F1W*3QI%\R0"AY2'FQV;T*'I(PX: M6!/@_P+S<G;<I$U0G]R95<TRT/K>O,[EMAIL PROTECTED]/8]8H!-\Z%M.`M'X20<A'-X M#$Z10[CJ*^/'.5Q6$WH0N`XM*[XX9\*MU0R$:N?GYCEK)[*EKP4UP<>O6ZFK M4*XT@>5ZYO;TLI>R9Y`:S_!`GHE>(F<<-U*Y6%E(Y&(VG[^X/L7?D``C%!B2 M8$B#V3WBU`E$S4]MTX-=/!^`=:UE+]DW6^"_3G+3;59OS5VUVYO[P[M/@&TR M5N>E_=2V,;/7X`)8*?XG!]599^[NX?C7FXH5C&1E=N_*;6[>[EMAIL PROTECTED] MA98-4H<(CZU/QP-M*KDX3EA>#N2B2;?&.H]`H<X.>6%6F^K.['?)VKQ]=S^@ MQ(Q4"+]"+,+*QU[;QHB<[EMAIL PROTECTED]:B#D\E*,'^`N/EJ,5M<#3;9 MPF^SI%O=[>[?&;9QTW6^>5OMA[<EFYX>-[W;L[J$E9OW]\G.'#I?5EM<^*K( M'VQZ]A'9-J?"?;[EMAIL PROTECTED]&O37G^)BM-[NA/3_:K/@6OD=[ MEW]F3)OZ-+J94'N5XF5V./]]L8%-VD9#%M[NRL2NV.XX2`R=B28NYG<Q;)56 M:"AR:X;6:%&(]:E81F3?CE&D-#5J!^L=JI#[T_Y$*+F?GOD\'B8%UO+Q%$&. M"]61BI0C#F%>9#":$?&24AN3!0DUMW3$H7NH2!8PH];K[(*6C&@>AM,G#$YA M*"CML:%9=JSU*5_8$43<F")LO13SA'^KDIV)4&Z5$GLX,TX&<:"(/63I_J9D M#HU348J/3UC79[PN:KR<77XM(?4]$.V;NJ<E-J8<(>QONLT&%RW(YZ$4%F]9 MJ0+-,@&3<:*HMQ1/S8K9$`\J<$9U&`P;]?,56BZ66WBN-Q.&//!+'D)_F:R` M)$^UF*QWKI783:='[EMAIL PROTECTED]>RF!TWW1G;5':5IP"X<E)42XTS[OZSY_ ME5>]?0H):^C^L6V'E]*\93'<K==,XH0B;6?H`59ZD8#\)U=O;=5H!R5F;`E; M1J%!GEEL;AMM4^=6&!3:'[EMAIL PROTECTED]/"^,5Q`H?#I?7B4GD>M.[% MB?1\)W,N`=@@D3\%^7P`DA>RO!"0VI^BH(5^.5O4$&Y)!IG]:I/S5.=Z!0\: M2A73GEAJ%D$\*KT!8*<:^FC=Y<R\"EDG!:#L-MMI[,@?1^B`/S0-U](5-/NA M)1,[EMAIL PROTECTED])H%-"6]?SHJ?]Q6Q^BE1(P[$`I)S+DR.%[$V_DHJXAMU(<LM> MU8^##)2[BO7V4'MW;<(>]FL#-#D0)'6,(,[EMAIL PROTECTED](XC38OF0 [EMAIL PROTECTED](D"K)]E!1HANE.$JI$!#:[EMAIL PROTECTED]"(*=C MZ7^$L*!<K^E&CK+?-U9<-.V>W1=H\]&,2$-&UL59"N[T.=2,=R2S!ZM#H&9Y M\34'[EMAIL PROTECTED]:FW)G(=^GP\K<D%7:UR,[EMAIL PROTECTED]:N#73IALY<A M02T5L(7!@;M,[EMAIL PROTECTED]/7V4+G08*PYKF68-YG!Z!QO-4Z53&.; M'(Y+([EMAIL PROTECTED]'D)9D5TBUX%*]?T.R*D+$9E.]=7S-@"[EMAIL PROTECTED] M_)?"WT\5MS'E?2R".\X:J9;"],H#\>SCI,)#"B&`G;@Z]MO<;#/K]U5C\2$R [EMAIL PROTECTED])$($<[EMAIL PROTECTED]@)[EMAIL PROTECTED](>!XE"A8AU*)_X.'<QE0:B`+%-F#AEB!8; M*;T[&OB*X8A=+EN[HI_7PYV0*V7*0A0=*FP?A#6:UB&K#%?*\`65(M-I3F'T M,?A0M;`5.&X3:(JV7>!!LRYUNC(,F(3^MJBJ$NW[D0)6Y&1CK%CRV+WC*&KS MT/0VH]&/B'J]:(<Z+(D>Q(;_]$*F7D1E7HL];%FQI%A%"GL73/_/B%U$ND"< MGO>F[J#V6D90$[:*7Y$+&M!,XR$R$I7#Y(0YX;5M3B)_N4X>DC(4"?8";$M` ME\P:J^VBLS^(_.721HX.6V931)J#I=B5/@PAQ0[G0X<[EMAIL PROTECTED] M\.6UA@/1SC+ND17'NV$@)<8X#M,VTA0U)8=[Y`#8I3X2$7LLE*NT1<A:I^5` M4"_>?6>]+2N.W<79Z;QKDKXRS#&L5J+%9AHFZW0J1&AN')+I+24-ZA'ZT.=1 M`[-2;6]7B<BMRI2=9K4[T%F9W%Z5G`*5<1T%A06_SVTB7MOBPE>203?22#^/ M9?T^KWLPE+?6IO]K2)&[EMAIL PROTECTED]':P;=V&[EMAIL PROTECTED](3!)QE[[_O& M"&UTE>^S;9NI2Q=!`GG-HTD[N`$Z'';):VUI<X1,CF$ZM^J[O>FQCZT!53^I M'>8T5&#BF-4807(Z9I9ACZG#"[EMAIL PROTECTED]'6NH%C;2"_'_].RQ___SU'_G^#SP: MHNZ_U??_\&O\_M]ROKA\RN__S/_^_;_?YO.Y[_]-PQ?NIJ;_DEB8]!^%!O/- M:<&'H=AIS2<4OUV33."BZV'5G!/ZRRM6L/EF-$HR=K%T7NU:Z[/_X>">&R_C MB/KBO++^F(;'&4QU,[#6,ZVG\4A8YG:B,SN(-P]GU_2TZ]G]5/\_`'L^CS,O MM[[P[>UMV+$.Q699NF:)^OBG`)Z'7A+W5G78U;0GV\(W'/%T^'"==<UV$O?" M!5O=/[EMAIL PROTECTED]&7%^8?S?RZ!XU%YAM] MH=!=UB_\A^%"`,+"\WZE%,C+MCQAZQ$_0>>>%;S`:*'AYI_&9_'7?SZA1]8? MXOI#7/3]<?VKQ_3+H0$7V_:LY^.IZ44L[!!DXXXC;V79\<D].RNL+NKS((CW M]]<[EMAIL PROTECTED](=GX$]^I6-9'A_=NGO?AHYI>`3IY?=E188GQR_!#K#`H2U+(/PN MR?$I\Z3TX3,$IJ%Y-7R<<,POY>2P*":239E$J9V,IB`9?G-<.XQ;BLTIJEFY MD:[\2^VVC9=T#WBH<[EMAIL PROTECTED])[EMAIL PROTECTED]&_-U\W4S-E_WK9A!N5=V M3\,7A8=W':&<:@LDD80/]<6O/T11[/1]BMB/<C-:J!/X<=FU^06;(RF3<<!\ M?/;X:H]_W%R?+_22=,Y]L(PI.1LRQT?_W=[5]K:1&^'O^RMX*`I)K:SNNZ2T M5^`NE[;&]?J2W.':[EMAIL PROTECTED]<OVUO9*6$FQ?>B/[SPS)(<KR7:^)`&*Y8<X,^)R M^<XA=YZ'[EMAIL PROTECTED]@[EMAIL PROTECTED]/V;KMT+;MX9WVE\X84G4`MPKA6+=D-::% MN.\$D4?=/%!7G_#X1*H,P`J3!FK+3X%.:[/1--JT?.;?[=PCFLR:QH'*][O^ M3TWSULYIFZ6/Y!<%6_:#"1>YE:EX%!T6(:%)-Q]WANFQ:&FFT5S'&'UH)]67 MI>QNUBW7,!E-!+DP3#([3HX]F!T\F!X^R%7SU+L95Q>_??(U'"=Y>ZP>,O9U M&WRSE"WHX&B5IAQI+[/Q86;WJKB4M,,MW='TJ<6*<3@:?FT&_PUC'AD%.=;6 M\7YW<^O><OO.8ZW"_G/]%`_"M?GB2V?H^-YX'<DTL=D>/IKZ1^5WFE=H%=2. MO%L/#B-\'40`'N%(E)=!E!;;[EMAIL PROTECTED]"PO;!27::I!1+75(6>8>S5"O:*S [EMAIL PROTECTED]>!:JR:DB.BLFTDGCN3%1G$KP*@;Q;C?!2TP/.A7>_&E"MP@ M>&1XFO-VM8:SIHTF4XI5)N'@Z"R]^S,2'GCQ]LD%*?F`6<+GG;K`DX5-_/S@ M'^%.\>1#Z9&YX<@;_7I'%M,@'CSUGD[49!"6?[?&._<7H,Z<R>:=YE3\._;, MC.&`TQ]0S]2I-ASRXG:"H6^>-Y^>,HD^,,/'HXWAMAEF_;"W``),$\QPS9Y3 M?F7$<+!336>YXW%BX[2[)IR-Q'[EMAIL PROTECTED],-JWAG@)[,SN1X?SI#OGC4;/?I3_ M`A_EQ4!J*[B8#G[8T,[Y!9F`_OL6)@'_H3[&N'`^0D-[?NWX2+S/D*J\DU'X MJ9^[KG>"U,B'[I"!OV,8[:CGH[&;WTG`"W-_/X3U/Z%*_Q!ZF.AS;_"?"7S^ MX_#Z'^D$".<_99X_RO^4E*7ROV0)SG\R4O7G/[EMAIL PROTECTED]/[EMAIL PROTECTED]/:7F/ [EMAIL PROTECTED](;>$G*(FCA#[',"*OK834V"W[:_E)A1"S(4J.13[."W0!RK,]=ZCZX MP./_'G8GOO9N/LH,\,SY;QJ>_^8YG_^697_^^TG"X?GO\_0OCW"\N)-C_E+Y M"[EMAIL PROTECTED]((NNP:>$DS.M3W5PP;4.UX4_.`A46Y'F#3\8WJSN>7;2##G$D M-#:T3-<_+[_,XWG)4\YB=^%L.?$G'*R7.")>PSN)=S$=XCJV_/APB7=<DIK? M'\!T:L\#$YA2?V']PNF_AV<\>#M9FNVY&'C64SH.K+'$I0:(_I=X8()/C</! MOYO!6)X868Q6D`F*[)YS1:1_?^+H?CM!O\`PL9+/I8U%2?A]A\T7J:+]6JV; M3KW&AUQ_['X/F\E7&S3#3J5!TZ'ZD]Q`O>^0?M$PHN!V/;EO;QA.$+'=Q^>6 M7"F#>_E3+>3O52U,(R(M5BL^S+1H`-+<#4;NP-&Z>5-R(XM.8!MRKQ?18V0W M\H>-9V(!(O&!$=,/C9CYB/NE>#['V!X\5G9XZU(5F5^9%).KWTCQFOQ.G"2& MM]6]\U!T2_YC'OXAKR)::/N^&\5[Z^)GN_)[EMAIL PROTECTED]';L?7?Y0 M4-IY<9&"0\=[G#D>JP5OC'0+EDQP+!DDYD$$T+VC6>6==%MYQ;&4)\WR7B`2 MW:3C29R,N\D\O0&0SOZY)_AG`J__=U7;,!//Y['_`_Y?M_[3!J!?_S]%X/87 MMI<)/+T^QCNX_<M'V[_,B]2W_S1-N?WCHF__3Q'8,DBF65)B=;66PK3,,G-7 MGV^OG*(H2K-ISU1,S1438GE-'IO+^L*+60%?*153LV"F(Z])9V0Y7JJ8FQI. [EMAIL PROTECTED])*YJ*3R.BC5<%)63PSVY65\GDV,RN7"^I7*5PM=S>N8'E< MS/`=S8K9/(G-;NVDV3PVC(GWBK(P6`V\3.]:PU]XM7.YR5!2YZQ*8IP7;.9: M.2W3.>,-``1QNJ*D9,38=IIB3NO9Y=++R92L7R=E26XT;CQ/K3>CUQ2)62W^ M`_H?JTKFL\+XUDAF5,RJ=>DETSR!?1V*E7^RG`+8X*4T9O\_+\<QFQU.+J;4 M3(V7BLS4/B[:5&K?)UXD([EMAIL PROTECTED]@X#2[\8HB-_Q-WBNHGA<: MGQH:WO6-ZU!)[EMAIL PROTECTED])JR$AU8C)/0DL5FFG.+B5.CJ=3=I=V=O9\EL$]THL< M_>9&Y82]:[U,G0?H<[EMAIL PROTECTED],W&"T4A[#A>004Z\U5IYM3_'>V-ZA+8W_!5#-6S M,C7GU;;R,M45P!=>CDOOV.MTT[(4AW2OH-=W^`K<#^5\#H=(%:=4;3<@*O.J M6<$$95ZFBK'>[%Y5Q+XTJLQ1GUL58WMZ[G->TFC&.;[*U%-I?Z>Y2:?.45_; MWI0TF<%\]C(-6SG""LI5S`NFV5,Y=5[W7C4KX</JQ9+>WEYVZK&@^>1VN=GH MV#48!#NMG8)*R1L@)]/$!R-2Y5Q8!+P<[EMAIL PROTECTED]"Q%D]X<7J<J MSFS'[EMAIL PROTECTED]:4I_.I53(2$SBO*W-S?^EJG>16452K&`'IXD:83 MX6$,FB3/YNJX&RJK1C-.K4V6>K6[T:2SJ3E3H0!_,&[EMAIL PROTECTED]/$(#A[V; M59%[-_!0=U8!R:::C+O:)E1<;;=KE1.@"K36$^1&I9QA(RKCZ:#*J`EO=]HE ML8:Q%YV79_CJH&+&+&1.SJB)X56N<@QN?B?-YC+3!)K"[EMAIL PROTECTED]/7A%=3J M8!-1N;#.[ZK)0/[EMAIL PROTECTED]>R9CJIH-6\$X*>ZE%<.S2-UFT:7(9-A [EMAIL PROTECTED]"%!1![D-QFA&W6&A`D9Y<[EMAIL PROTECTED];[EMAIL PROTECTED]<5B:"!O8(F#Z8;4T4AWZRT MSE(>RVTH;Y=A$JG9[H(I`XHK6N&\G,R9;43E&<UY[?OZ+*B(I.#.J'*.A4K3 MQ*)YX8<!#)YUU8:[EMAIL PROTECTED]&%CQX4]F%--)N<[EMAIL PROTECTED]&.&4Z+WD9W*BB M8.B$RCE2WBQ#1:T"=>75V?4RB)[EMAIL PROTECTED]<JY\):2S*2,X5"[D9"]4@&1% MY40LA""[EMAIL PROTECTED]&?U1>UK+Z4NK6G01`><A\JQD>75:\A4<W.^IEL6##-1.>>N M'1H+:9EA,'7$79!;R*LP>N)@5ZJB\>&%8LKG=E[,&2"N,I+;M3K<H)$ONJI) MR%YISE=WH09HFU!&Y]2>E6)J9Q"[EMAIL PROTECTED](LR(6Q5S4`QYD<:S MF&[EMAIL PROTECTED],H"EXC)X*58&9C=8M9I;[EMAIL PROTECTED]<J%`RJVM)2O:LF9T)*+Z>\ M-JU4IC$:[EMAIL PROTECTED]/?JH[WCF?T_&?N%WO\4E[C_)R[B M?O__*<+W/_[UVU?_C$XX!,[EMAIL PROTECTED]"!X%FN?=+!FEWN*D73(#6 M`A?%]W7(-1_F^_G8_.WK?P"WOVSXDX\;P_727J*`NR]PB<'+JYKOSX#.7:81 M'=ZSX:(%D&^!&@)MBRT/Z`^J37UFT=>KR`(Q`?3#DK.U-+,.K!S<$`)<W=[- M"!(S$L("C0D^V-6YO"[EMAIL PROTECTED]@0VU(VQE0.^R`B^-OW'#LYPQHE#@ MZ9,[EMAIL PROTECTED];&9./'!MA&^CS$3FL!0<<30KFXLQRF\Y82J%60"EE2([EMAIL PROTECTED] MJBRY?$!#"[EMAIL PROTECTED];]KD)[EMAIL PROTECTED]">Y6(6=,--RMY=:5D]NQ\"!#:DY^'C%* MN'/GB0+9E<:/#0WW19#Y!/B1II9+7Y"E^AZ5:MGI$6.Q[-+61*]WC>.J9=Z# M@<<S#<AD!P+0LM2EDW3,WPWD9ANW9G/[EMAIL PROTECTED]>,3\T$YZ2C,:B; M!<B\\]<C1)0KOK>&5B;0+C!,&.A)AVH7ZHZZJ:E/F:_^\N9489NHL*U9R.I( MU<K4S2=[W,UC"^#EVG!04`L?];VHHKW;G;2/XV26AEU48'D?GN)ZELU2C#;I M,HOE&:-T;Q_,OZI=N]L,-M0/MUMJ'=>UUM6Y,%K3>+W%-13G[HH3>_?`*(I^ MO'H`W+'E,Y^3D[#7GC+GWS40_JVE.01G,4#&<FT/#[F]:Q"H0)AR)(_"7K39 M1![B^X9+==J\AX4"!A;PQIM+-"DBUXU#(BMUAY!#;J,DOEO?6@:/%=-"[EMAIL PROTECTED] M2A,P/V&&(3/=42G7PLY1M98H,[EMAIL PROTECTED]@'*7$J#M'=!(4?3*4P%B M8A5F9\=`[]N,.:=#<#"SM#.OB,>/1GMW:PA=MR62D&_H6TF98;!^"@L($R:^ MC<`K=-!&`QZN#!X_5Q;X``%.&4OCV-$%;'879%K7%I?N9\^(7SW0BWAJQB0W M/)4-A.X:[EMAIL PROTECTED]>[EMAIL PROTECTED]<_&P5SAA5)"Q34F\!HN, M8WI!9^;3.=LD-G)%[XB_%6H,+1:@SS19OE_>K+A;,]?H1KBL[?+'`/$'\X96 MGK4=(N;-GT^*`K7!W\EIW7M?"30:/>\E9;LRKVF9^*V%PE/YF^66R7`PO6XV MCL6E70KGIGZ-%!<+&OM`()LA&=B\3MRLA*"&/2PN=EMZ+0#T[8.]HDG<+:AQ M=^M1Y(8TFN$ULR'4&!P[N2<+WMCTA&,*X+LP$+5N7>GLK#R.JG/;&[:[A1D$ MWPH']B83T&5("2HFWZ>$'RS."?>[EMAIL PROTECTED]>'#&JR]JI8.N!7[ZH+T$N$E!D M".G$W[>_>76[6'(6'`%%Q+W:SND.VP[P?.<`$PL#>@3WA"[C$N?8=8R03L&? M6X&Z(F!!(6ES55]LZ6]#;[EMAIL PROTECTED]:BPMZS<HLNKQA^2$?UP9?'PW)$PE6_D]BQA M1<*3`3'#&?4Y&:=W5/[EMAIL PROTECTED]<AK1"76`6U=6WQO\`;*O/''T[_3[<D?>A#'_K0 MAS[TH0]]Z$,?^M"'/O2A#WWH0Q_ZT(<^]*$/?>A#'_K0AS[TH0]]Z$,?^M"' 1/O2A#WUX(OP/P''EU@"@```` ` end