home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!darwin.sura.net!udel!intercon!psinntp!sunic!news.funet.fi!fuug!kiae!isknews!izhmar!newsserv
- From: Paul O. Lazarev <paul@ars.udmurtia.su>
- Newsgroups: comp.dcom.modems
- Subject: modem stuff (was Re: RS-232 and DTR when system dies)
- Date: Thu, 28 Jan 93 17:25:48 +0400
- Distribution: world
- Organization: Scientific & Production Firm ARSENAL
- Message-ID: <AASxzPhCZ7@ars.udmurtia.su>
- Sender: news-service@izhmark.udmurtia.su
- Reply-To: paul@ars.udmurtia.su
- References: <1jp7ssINN52g@smurf.sub.org>
- Lines: 215
-
- This opus describe small library, what work with modems.
-
- After some attempts of using standard serial port DOS
- routines I find, what DOS routines is very silly here,
- and decide, like many communication programs do, use FOSSIL
- driver to control port on physical level.
-
- Really, the FOSSIL drivers work better, especially with
- multitasker and network. Moreover, one can control multyport
- cards. Some part (~20%) of fossil interface I take from UUPC.
-
- Based on FOSSIL interface, I wrote some modules to work with
- modem. This is "caller", or callup module to call (initialization,
- dial number and wait response), "answer", or callin (initialization,
- wait ring, and answer), and sipmle terminal program(recieve chars from
- modem, send it to stdout, test keyboard, send chars to modem).
-
- Main difficulty was with response modem code monitoring, but now
- all works correctly. One work with word response code (ATV1 command),
- not with digital (one byte, ATV0 command)! The terminal program with
- callup was tested and work good by calling some BBS (without file transfer,
- of course). All modules except terminal use only Unix-compatable functions,
- without anything interrupt handler. Terminal use kbhit() to check key press
- and getch() to get key code from Borland C lib.
-
- That's all, Paul.
-
- begin 666 modem.zip
- M4$L#!!0``(`(``:(/!JZTT9&CP(``#\%```(````0T%,3$E.+D-M4^]OVC`0
- M_5PD_H=KJI4`49N0_D!D^<!*IR%!M:E=-6U4D><X8#6QD>VL'ZK^[[,3DAI4
- M$:'GNW?O[A*_DY1DE!%83N=WW<X)93@O4P).P5-2G&V<;J?;H4Q!@2AS#4!B
- MC3W`&R1@H/&_/T_];N>U)@FB$JP+/4@Y(U&W4S))UXRDD'$I:9YLN5`Z+)4H
- ML=8T/9(4*51#G?DZ7]S"@)5Y9!HW>K&OCSH89WQ+F.MHZ'B.K]BI9MA>Z>
- MN5*E1`C/6;&;Z6(QOP,J`<%6\+5`A1Y!U&T`,?E"Q!FLV*K;>21"4LX`*?@D
- MS;-BCI<D#_/E;9)H,)L^:%`WHIE;[0^?801Z;0!X/6S^4Z(UF<!N`FMO(]R/
- MS#LJ!8,@>JM&?\_'2''J5J\T>#+]:`;N<4,01!*F3!=>*L_6[>M!CG:JHZ;,
- MO*<$\Z(IL/C>Q=CWO=ZRY_7N>E[@]68]6R*L-JT_/V54^8E4>L-U[$P?OOU>
- M"2>RLX&5O3U,CJSDCU\7C\'I37`Z&RT/>:'%^P*/`=P'?AR,X?XZ#GU8^"'8
- M%:G@V[9@.!SJL?;2%.66WNS[\<@?AU>7-D<0N>5,DD31@O!2Q1<1P/E`$LQ9
- M*@?G>UH-Y\K_F(21$)2().=2M>31Q]P71%5B1FN)H5_+PF5!&;PS[8NQ;Y[=
- M"D8$\Y*I.&B#>FV"BKC^YFW4&*=Q5,:%:[P9^]%QY='J%K]65[FU;XQ1GE/F
- MPFGM%W,935Z^4(4W;LO;60`J@2.,)`%_HI$.((DI3101Q9Z*257M@]WAKQ[X
- M.6JJPTF#KEITW:+QY*`F)1DJ<S4YT*U'>C-`__$LVW#^O#<&SKDDMCWV_*0)
- M6<5P69F;T\X9S=HZ4GG7_/X#4$L#!!0``(`(``*(/!HIQ9X#N@(``(,%```(
- M````0T%,3%50+D-M5&UOFS`0_MQ(^0]7JA62H!:2KHW"^-`UG58IC3KU1=-&
- MA1PPB36PD6WVHJK_?;8)E$25HO#X[KE[SA>>'*4X(Q3#[>7-LM\[(C3)JQ2#
- M5;`4%R<;J]_K]PB54"!"'0T07R<N)!O$8:CP[Y_/@W[OI29Q+.-$%;J0,HJ#
- M?J^B@JPI3B%C0I`\+AF7*BPDKQ+54VO$*9*HABKSY69Q#4-:Y8$6;OJ%GCJJ
- M8)BQ$E/'4M!R+3ZR!H:6E5RI9XZ0*>;<M2)Z=;E8/-X!$8"@Y&S-4:%&X)"@
- M/"=T#7+#6;7>U+(G$-&HWWO"7!!&`4GX(/0GHI8;QP\WM]=QK,#\\D&!6I%D
- MCED$?((QJ/L#P,O^%(\"K?$,MJ-T%@`I07E,JV*%N=(8!'IO%:?@!Z_F.F_4
- M$$E&'+-F_UE+DPR<PX;`L<!4:D%62;<K,5`S'6R[CILRO;LX8453T.&[9U//
- M<^VE[4Y=W[7G=K?!Q%RY7A6A1'JQD.JJZ]"Z?/CZ(^)6T,WZG>SU?G+<27[[
- M?O;D'U_YQ_/Q[3YOTN%]ABA:^O#DP[WOA?X4[B_"B0<+;P+=LI2SLJT:C49J
- MMIVTWODVK1X)TGLS#R4QO[-<L^3Q\\"U5-F@K>-8E(P*'$M28%;)\"P`.!T*
- MG#":BN'I3O^&<^Z]3TH0YP3S.&="MN2/[W.[;\&N>^K\"E5IJ'^VMRLBB59$
- MBG#:AH1DI0GY;:A$G,A_H;VTV]!?1D-[;G>J.$9%6+\F;53[KS%FQKBC+1YZ
- MP:&QNO'`BS%"^R\0:K=5I0/'I@'HI>J\^$-DLG%:WM9`8!H<)$A@\&8*J0`2
- M"2&QQ+S8Z:)31M[?'E9JX%]!4SV9->B\11<MFL[V:E*<H2J7L[V^]4BO&J@O
- M1C>,_=J9(LF9P%U#[3A0$3+#<&B5Z]/63<VM5<2XO=_[#U!+`P04``"`"`!&
- M63L:I@4&D9````#-`0``!@```$1%1E,N2)7/30K",!`%X+W@'09R`3V"B[IR
- MY<\!K)FT`S*!M$5Z^V822Q*S*))%>6_F(ZDBPQH-3,3C?@>@?"#&D&'B@3I&
- M#6&HD#49_UW)T%M7HM`D]EVHX*M_NL))D5@<5^IMN2N4%$G%\:]JYQ%S)'GK
- MIH]U.C>2MW_JK^?)6>7]^FAR*!F.]0WGT^56+(8"#FES`5!+`P04``"`"`!L
- M;3H:T!KWJZ$*``#W+```"````$9/4U-)3"Y#[5IM4]M($OZL5/$?&E]!;%9@
- M`YLLB^-<.5@FOA";LD5@"SB5+(^P@BVYI!$X2_+?;WIF).O-0`BYNP])I2AK
- MNJ>[GYZ>GIZ7?SBN-0E'!-X$=.1X6^.W*R\6;=29DDQ3CL>V7#K)M!'?=[-\
- M3/[$&>8:?<>]RC2.O("W)-LLS\UJ+ME>$#A,=0E9;SQG!-0WW6#J4&,6^E>D
- M#*$;.%<N&4&EOO+"<2FXY-80W0SZ94:@`7K_1*NC`"1+4D!-&@;EN+<=//
- MIY65%W<K+Y206>)"7SL<@./ZY"I0P0LI_N!R%-&X-=XRQTQ^>V`<:KHQT)OZ
- MR:"^(,^W1G-&EJ*1X!,:^BZ4F52Z][K<[@T&G2,5UB,EZU)+!<%\BTR.(5MC
- MT\^9K`(V@_54T_5^LSOXV-&-@_?-?L)ZQC%A'-;/!"1B8QFD#49FJ`#N\`^@
- M#G#JXK?M^:BU48,Z,+9SYY+]<'[[K2+(D'%:+%CP5J04:;X0FC?/]6Y-A_X\
- MCW=[I\V._M_QN4\LXMR0XAAZ*I*^=J!U/FG9T%EJ\T,6)PV>$7)MF&-BCI[-
- MW&--^V`TWVO-UG,:&UOG,UN-X<2SK@M")FZY-5U*1E&(#T/[,6B4@/JA16'`
- MZ0&YNG=0FBWCW5'OX,.]*&."A01A%=<DA&^1`,4=&P/ML(Q6IH4Y@MAKMR-B
- M<CZAY^;+7<=^22UY)][Z#B7_!UX\[7=T[7_@QE3T?9\/^?H8$&I/O-L"W^&D
- MFGONHQP5]YZ:P;7TD`UET5U1L#6=`<YZW:_)U,:^40Z9!"3=X4!GG?3!$J^W
- MCWJGQD&OJ_=[1_F\R*5\A=J\77M@3!XW<U=>8!G@6"#C@HEP7-N##;@BE/]\
- M4NI9%F9*L3;\<T]9T>FV>_>B+8JT=12Z/-8*R#Q\`^=OXMEE3H5-V*T#5#?@
- MO6E=PWNMKZVNKL+$#"CL@NMAI45&9`0;U<CECP[719BO2_1R/!(5VLPG`7%I
- MN=TYTG@I0,QI(@$\83SBX94ZE9"K"PR?W#BL!_LU->>VJR(CNH(W>?@+N7FJ
- M&8;V^<ZKUY>)X40A(\_%2G-S.V;<"!;3AE-7D<QGCX2.K8)']FXWCP:B4%66
- M%K'Y&.ET.[K1ZG<^:?<OP3%AB`0^@:2+6)LIVI3J!GPTKPD$X]`GB9&]?S))
- MF"EQJ]RX0>>PV]1/^AH"YX6<4H`M`J[DT?6.6EF$C[%(>=@@88QBSWPFSRY'
- M`5:Z<`],]R4%RW-=8E&@'@A5@)Z$M=&%>_%'28U<"T)=9E`5Y1L'S,-:B0*+
- M08I,&F\-)W5!XM&7)HWKTJ5QSS=H_,?F6;LK#<_9G9XV^_#1G#O3<`KMT+6H
- MX[F-M3.&Q8-@:DXF"PQ<O,"0@?!-YB3;8\;%"3&:=])X/D\8'6F;;YUA:/N2
- MXJ4H7D1!5++)O#&="30:4..8JE5%&8975U\,28AC_F&P?WFA'PW3V`Q`;.^`
- MB=L'(4U8PW3!^4&OW]<.=*UUR=U0D6#CQ2IO/!<A`CUGBM!ZLQ:JZ/*V"VMG
- M8Q78]Q8VK6WMU=K!A5M247)1LI$ZIN;G&^+'7XZ;^')*3P^$..<-Q92#%+
- MV<3?A[41+Y!$-BPB1(8I^93']<G,%`U$.D+B4MV;$=>PO.D#N3K1,C3#J'B;
- MF;Y#O_#9@O]4GDY-:@X=&HBB):#>3'SQ#D^M891J%3,[JHZ66PKS):-ZC%/;
- M<1VZ#\GIWU@+X5WSI-7`L3UN]COZ7XTU2X564V\VUABD@=X[YC_.>EU&20Z\
- M<(%`+E&K":0+E`B0FU6M*M)@:$#2[F22S*;3?V86!=A?DD>_9Z40L_;^M+O:
- M*$[X?+LN_`N1@TL=UZ&..7'^-C$WR=0:`O%]ST>G)=-,8F<1KQ0\M2J%8M/I
- M.H3>AXQ`UE'6HS7Q%=PZU!I#&5TLTJME!@1V]WZOU4[V5Z+Z]2M?07@KSTI#
- MII,'%N?>_G.G@)NW%G#_^;J`&1L+>'_?*^#%QC3OB-AF.*&<4<;,CC25B]DI
- M0K.S!$PAEF(H14B*@>P6N3/+^2TQ)&4Q3<28)/!Q:2^[+[/"NKUC<1"14?RR
- MEV/MM5I%C%J.4?ND=>^Q,)K`E2(3]_;CO`8)D7A<LE=?D-(V_+&\TQ]+.[U>
- MWNGUTDZOEG=Z5=1)%NGQ?(E25O'X;.=<WM4P/1:X?2?+JI_V\JR1^ER1.-!T
- M`[-R(GDE=HP/Y+K'5+<18,S,Q;'8$G$S3U6SQ;$U3U8VV:"2N_=HN9A7BE(^
- M'Z,/\68[#_N'M\<K\5HO+4WLSYB-?$WZL=5>$6M[\4HOUO=[E_=8.!<;C7,B
- MK]^[IA_W^OICU_(GK.&9L/FUKJS\6E=^K2N_UI5,CBU(L?P,UYIX`7G$ANI)
- M]R"%^X665KAC2#7_*-YL0BY=N)E*G>,>K>;*=3E`W#<CZAN>^]0K(25S?9S>
- M%>0CH*7W,6R[A]GCJ8D\_FYV!AIR)<EY[SS&/=6J$DP(F96WTP?Z'+!M/Q7Q
- MO8`?P)N#>]0[U?H1W!^+_65P^:SDL1^=SOXTL`.MVS+>];5F\H9G`7:@-_MZ
- MCO[4<NK[M?>.GT?YPK<^L?`*6#CGV2Y53_J'FM'I'I\D"]$?M#0SD,]K:^]$
- M?RYCQ5'_U!N1J>&3()S0<B@>!XQ5"&5I.K<879@LKPSBJX3+1@E*3!B>K[!6
- M>)-@QR52KA!)!0:2SZTQ7D&@B-IEP\+S8LG*FB+CJAM<R*GI4#"'S'3`YPP&
- MOOB!@%A@NE@]$^N:LY&YPZQS+2*L<]SHR8`\-.1,'9O)"/CQ.#))G9O;0L(D
- M($P,]4U+TFW?F\KNJ&UE<;M)$^(`3R\#,@)M<`#EVGQ[6(%K\@5&(;X.`;27
- M&:_&O1GGYDZ]2,`!]2>;9US&7D6%!?NN8&].)LP.CXZ)+\X_A87X+LJ%6X=1
- MAPR!2<EH:^4%WGY@"N).*WYZPU^+"//$^#(=^&U0)NC*<;FOZ\EF*_1]XM($
- M(8J7NECD)&MY?2%`WJ[;GE^NUZ,'+G<XOK*0XC<%J7=-T3R!]?A%`&YKC.:G
- M9N>H^>Y('L_)T4B]#4DD3?1`0D7B148LG]]JP:.D24D"7=(/8O5+*(*R-6Y<
- M$6J5^<A4*JL-K=>NI(RY'HX=6JYPS7=<O>PS+LM#0^1B;0T>4"NI8T0>/HJ,
- MV`3?7@6J51%$F0Z[O,.WE`DCQ[8YFB08-3%N\+:1"`]E4?%R$4)8/(6P^=>T
- M?>9I*Q^8/712$3\W8\S!^256;"!.)"(4DD4^2;N3F1_S[W:M=JE"<+Z+"9D_
- M45.ML8I7).IGUB(>JN%GH\9DRHQ=4_'M6A1-=7#>R*MW?`4"Z^NPBCT2=/FR
- M3:08#/5%5HI01)%6EVD$HNV4-8ZGSEVT,]K<%GNT?$V.1R-8C/LDF'DN8Y5R
- MQ=D\E-?PC8E5N7!+BYV<NG!EP@HE'=U2\<XRQ1A&442D8RA6R@>5$;Y/^<Y"
- M^>XRY3($?XK^W7A$HDF_9&BD0'%B<.&_W&?V6;,OY4`M_?MCJ5)/YX^8T4TQ
- M_JN`46ZA`?8#62]`<+Y]V:AE.:5YN7N5M:"D!E$2QQAV9-41?__&Q<6/,\N?
- MHZ>9?$I]OF1ZH?Z9AS&_36(4]A_C75TP5=*W1CC;&@LJU--)N2:^O\G'F\EF
- M]OD?4$L#!!0``(`(`-EH.AK\A7[Z8P4``*<0```(````1D]34TE,+DBE5EUO
- MHT84?7:D_(=1]L6)HB[8<391T@=LQ@DR!FO`R:YVJQ&QAYC&!@O&2=JJ_[US
- M!W`8P-JJC;0KSSGWGOLYP*<HC)<L1'3L>IYETWMZ?/1)`%',%$R@4;Q8[Y8,
- MG0@Z^V5UHD!)@12NN2?2WO4+Z5O"'M6O>YJ&-`7K7UT(K*O/;V\'IRJC:1W4
- M[36)2TGTFX0.\JA[T61Z%Y(9-)F+*\E<-IGK2\E\*1B%<]R906J5N*8)^=[>
- M]E4=_(`=H=//"=7%P9[OSFI"_J,KT:Y^>]NKNXSN#3*H.0!VB?0&]@7U&M@5
- MZM<4?6(XWM3RZ5?7J8OX'B6^UU%E"!YAZP?>>J)D8,R\/4]$E-R78?,9&X
- M5O/P?(/X=$BP,:GY0!,*HN$E4).:AF]0X\&P;&-H8Z2]:ZJ`-!K.QV,1VGW`
- M9"RR`"NUG'W]#;E>;2ZE82&)IS/_FS"[4,W,D8FTKU=YQMLT>-X$:!LL7KKZ
- M*3K[?'R4\72WX"C,:!2'"?KK^*B3K9*4(T%DT9\WXKR+L^@Y9DNT6`4IV@2_
- MO[*T!8_B5CP4_\ZB)8OYS5X[>MJ%:>48O`;1^N.<J'2RIU7E["U:\E4+OF+1
- M\XHWB:=@MQ3HWS>U5N2=J%\IE_A(>Q^/:SM([!&"-H\':J,]Z\XQ_#F!4>G7
- M@_K3QL,^'1ISLP,C;Q\D7`AP;EUO2<(6*.R=4/5\$=8#W;YZG6V36@YL$A$"
- MI"-R;O`F5BT&ZN[X!.(Z=QC4+]6LK2DF=&808^I!7E\4=C8G=YBZ<W\V]\'W
- MNH6UG((TVMOAN(^&!2,8JLX83ZAQCPW9RI'"P96B(]?QB6M#4K79W4_VZL#J
- MM3G(BL9S9P3"NEIN?GEM=S21Y)5"/A++QQ56K=;#CID_."2I5@L#M)RQ*RFU
- MT.ID@%5+528'M%E;N*GQ=>P@\5>)`B:?S]`F6;(-2EFV6W.T$`<DW2(>)7%6
- MNPM3U\13ZDZJ#_D<&[F.@T=^]3&9$\1R[JK/^AQU7#HR"+%$MI4]S3E,B$M0
- M93V5",6;M+*;>T73,FS?=3"J3"LGAW/O&ZHLY=[%<+Q'D4-E@A]90^*5X:E9
- MR+=V=6=46KZZ]48S2EJ^O_5&5X:&26U+%*`WFF*[[FQHC"9(;S2FI*@['B.]
- MT9@R9E_3*,$V0M571[.UTJ;72*U:=V[22+%:>VYR<(90?VXRJ*Z7.RF&7VF[
- MP+R9,<*HW\L_]T)!H*EA.<='\CE^)A>8Y@M,88&___8KO+E.W,F/]$=\<@Z_
- MB\@?`$SXX^2XJ-C'#TRFTE!`T"3%L5R[#Q#633')UTP-KL0OQ:&]310ZVD2A
- MB4VTKVF?";;;\VYG(&@[`X';&0BN,B?B/_DR9>N,'1\AA-@[9VF,#DY)&L?+
- M*#P^BF*.WH)(,,*XNX-CF-%MDO)S!`<>;5BRXZ<W%=.,IU'\W!U;-D9GXL""
- MS3E27?/0N6'V_3>184?1*RW`!+2;J79W$ENLA'3QQ?,.V8/U:Q(M$4^#.-N(
- M=+:[])EUT?XCH\PU3+(L6HML`[[+NGNZR+&TVLOD#:A9%7DN&M9%#P[8EV4I
- M+G$"W?MIB)0M6/3*VO,IC;:,O=!@Q8)EJ\D>2X4%?5HGBY>6N'OD+8@Y6Y:Y
- M/^U"1>,MC3C[CR)R4AGCX3IY:W&&4MZ3&"QK7\!GZ)EQ^?-@#XKY;E.6L9C7
- MU_&`4[)E,5TDFY^85Q#X7"VJV@9IQ/\X/NH@^7<.@LN`!T\1S_)3QI,MG`J'
- MHC;9A<4ZR=B_"+UW6/*4)G%K^1]\&!XV>!(!7F3$ZN7<TRE;P)[EU^>@2.V:
- M'>IKQCB%3OV_OA8/B;*G^:GL*80J'US_`%!+`P04``"`"``0@#P:L^6;R)4&
- M``"))P``!P```$U/1$5-+D/M6?]/XS@6_[F5^C\\<F+4E$!30+MS]#(K%M`L
- MFH5*P&GF-(RB-'&)(;4KQQF&1?SOYV<G;9I^&9CE6+37@IK&?N^3S_MB^\7^
- M!V5ADD4$K"&/R'`KMAIU_*-,0A@D239J0BI%%DK0`GX4R`!:^K?=J-\;24&D
- M'ZHFAW8;]3`.!+244A>!VBTX06&@C$H:)/2/0%+.H-5NU`WB=,<>*@U&0L$.
- MFEI@\YW"(L'0L0X%'\'AQ=DELVP%'DGA\\%8:L#3E";^B`N)O6E"R*C9P9\+
- MX,Z)A"H<6X!&O=N`2E^I4G95R+`L<6;%39,O2)HEQBV-.@`X'>>-4D>P=@O.
- M"8N,1ZN.,8\`<-%#"YFS:`_64\6\((`H;LX/GR%%P-+A#.49GK.:"Y[Y,6"2
- MJ*?V/N3^6N"47/[Q?LDE5?N(LY3XD@X)S^386^DME6$,36IK^7O]'08I@<W.
- M7NEFQ]P`9F,F&.QV2YW;1><5EQSF)9Z1?AC;#Q6#P+ID[WD^#,!8`6C%WGIJ
- M.3E7JM343_6/%\?J?;!LSW/M,J='QK_S]/AW?CC^9<U5_%]%_+>?'O_M'XY_
- M67,5_]<0_Z='?^>'HU_67$7_!:)_J!X,HY@S`BP;]HF`-X#.A(/>Z>G1P85&
- M7I8""%!)@4@U_5`&5!2_DP`YP_]-%F@J?Z<,R+UEV6N>J^G?8_P;]6.`B(0T
- M(B#C0`(CWPP6T%3=D`@4R5LN;D#9'C?J5DJ$3ADN)*0C%+C.4DD'--3<+0?Z
- MF:)V9]BEBL@5XX*`-4\8`A9!,)!$*.0BXSZICP7%,#1D0LXD91DQ5#AKU#6<
- M`VDP)*!X5Z8NC-Q6HWX2W/6)`W<\$[FWM'Y$!P,B")-*GRN[E:DF`6YIDH"@
- M5[%4RICT[19&:H$OX9\_N:YE@_%H+0]V2J3?#[*H&K39%%0Z8#Z.AAK+C`)!
- MY=WX%E]T^E2F9?DQ.!]AEPV_@`M[T`&3/$"2E"SDO?OVV7@CU(OQWMY]-MX(
- M]6*\.]O/QANA7HSWSK/1WGE!UNZKIOW**(%>V_&:LW)UQT.C/M?'O_[[_#^3
- M)62L]'-W@?QI#PZ/]W^_Z)T>S5'[:8G:P?[9V?'1V1RMG45:1V=GO7D*NTL>
- MLW]Z_G'N4]X62OE]1]<8ZF9/?V-3L=>D>A[,7A4NJ)QMQIS?Y.M-,P[850K9
- MR#8+RE=.(^`,);ZWG57>O5I8"1Q]HW(M+X'^Q+Y0:4NHM%O5;C^B=K,V-C:L
- M)]9Y@H]FZ[RJ<=:)]F#O=/.W7N_#T>$2,Y^]UO\SE==4-K3VSP^.CT$2,:0L
- M2$I)$*0AI3YV/&9?,XP=ZEP[$6?$R<GZ02CI5\P^(Q`(?\@9E1P]T\WSIY\-
- M/G=<]PN.=]3S)?3)%67:8DUVP$4383VW`JP:JJB>"P[UW"ZLH09TBT)23R0(
- MU%V[Z<=4-NVN7<POV%_30V]$R(T?Q"2(YFUM@N?!9L<VD]=],8>AWMHT+WLR
- MOZ%8#2JT<:2JUHF9'GXU78Q-H?A0_,RGY`(/VNTP)N$-&@/X8LP'!;P&13I8
- M/6K$'-:9/,F&=UYN6A@(08GP$Y[*(KW`UB#XJ3JV,TM.7R;\QBX)8T^0D"A3
- M?419L$UL9!>\0JV'EA/&$S$TJ\)HQLLH0]^=['_R3WJGQQ>]LZ/#PIS[L5G5
- M#.HN-+C412<W#_J:&ST-K5.9?O'"N%MIV^A\*</I1+SV7.C"S.C_?/WE,PZ&
- MZXV-22S*ZX("G)TSE):MQ6N:3FWBUU1&1`C'6C=O$!`124*)+R9]08(;B/@M
- MPWE+J]5JSEQ&H`.!L&9A,7</)7X;&R4'S4N42</8(!RAMJ%1K/5A[%T1&<9-
- MNUL25*V>^ZWSUH9V"PZD2#8_3=[Z:V-*)K[%',\X3L/SYGB35WD1\5`^P:'L
- M>S-=Y0P'J`.8+&EW=9:S.LOYZW?S-+RWVRUOX*CFOV!W9W5RLXKVZISF_SG:
- MJU.9OT>LEVA_Q',8?!$Y.SY]G^,@P-;6EI4O^+=3(M-[YCI#N&CJ"LISN_H*
- M_RJVA/#6#WG&Y-1KW+-$K10XC::?58T<2E6B9^K]2?1JD]C5*I&K3<6M-HE:
- M[3L1&U?)U=T@=*%EVZ;BU!5W7FZW6\79&!\81Z?TB@5)6BKW`Y;>*H$EH_*2
- MK4>+M*6X*Q`NV>7/EJ,Y+"TR)T/<VK_8OQ2/W8(I23_YA*V<<#/G@Z_S^.WU
- M#/7'',A-D79STE.<'TPZ\BG_.Q`F7)F2<#[2L5AFB?E;LI'Y7U!+`P04``"`
- M"`!V8CH:K"UM^E`!``!6`P``!P```$U/1$5-+DB-DD]KW#`01\]=R'<8MI?&
- MA]TT/3H$`ME`('^@]-";D*7Q>H@]8S12DE+ZW;MV<&*O-R$Z>9[?2#\-^DKL
- MZN01SC3ZFHI5=7ZTF$"2/1:IP9D6B+=[T`GO]RX]EKJJEF-4BBK5/=SAG4",
- M<'OQV]S>WUW_NO^YN833D^[?[I#D(C3BL3'>1@M_CQ9?7&4#9,043\Q+C'Q"
- MOQ^DIP?ICQGU0=HY)%N/('$$"*BML*+IIB,IYM"O=:;HA+UFZ\'LNZ?6.Z:S
- M(1`&4XO&4<<!\\E2-%V>Z<93,['2EM'#R\1-*R'F8U[8Y(<+=?,M*.I0:Y1V
- MJ/LIM#90_/-:/@L/:I_#2>+Q]799.#4%!I"R-Q0*+"4@6-8G#'W"J^N;#60:
- M`]HF?ZTYU5WQ+^\>07>`LW6=VF\P?Q!9_WV<OWG$'WN/0AZ$*Y&'3XA6'9&)
- M&)J/Y?]02P$"%``4````"``&B#P:NM-&1H\"```_!0``"``````````!`"``
- M````````0T%,3$E.+D-02P$"%``4````"``"B#P:*<6>`[H"``"#!0``"```
- M```````!`"````"U`@``0T%,3%50+D-02P$"%``4````"`!&63L:I@4&D9``
- M``#-`0``!@`````````!`"````"5!0``1$5&4RY(4$L!`A0`%`````@`;&TZ
- M&M`:]ZNA"@``]RP```@``````````0`@````208``$9/4U-)3"Y#4$L!`A0`
- M%`````@`V6@Z&OR%?OIC!0``IQ````@``````````0`@````$!$``$9/4U-)
- M3"Y(4$L!`A0`%`````@`$(`\&K/EF\B5!@``B2<```<``````````0`@````
- MF18``$U/1$5-+D-02P$"%``4````"`!V8CH:K"UM^E`!``!6`P``!P``````
- I```!`"````!3'0``34]$14TN2%!+!08`````!P`'`'8!``#('@``````
- `
- end
-
-