Path: utzoo!news-server.csri.toronto.edu!rutgers!sun-barr!lll-winken!unixhub!stanford.edu!unix!hplabs!hpl-opus!hpnmdla!hpmwtd!davem From: davem@hpmwtd.HP.COM (Dave McQuate) Newsgroups: comp.os.msdos.programmer Subject: Re: Accurate timing request Message-ID: <15770002@hpmwdjm.HP.COM> Date: 8 Mar 91 22:26:41 GMT References: <1991Mar6.145414.8747@uwovax.uwo.ca> Organization: HP Santa Rosa Site (NMD MTA MWTD). - Santa Rosa, Ca. Lines: 508 Here's a re-post of a hardware based timer with resolution of ~ 830 nS !!! It doesn't change the DOS timer interrupt rate, so ordinary time & date are still good. I use it and modifications of it a lot. From cahalan@iris613.gsfc.nasa.gov Mon Oct 30 20:04:09 1989 Relay-Version: version Notes 2.8.2 (with RFA) 87/11/24; site hpmwdjm.HP.COM From: cahalan@iris613.gsfc.nasa.gov (Robert F. Cahalan) Date: Tue, 31 Oct 1989 04:04:09 GMT Date-Received: Tue, 31 Oct 1989 19:31:55 GMT Subject: v05i034: tctimer, Turbo C millisecond timer Message-ID: <1022@cirrusl.UUCP> Organization: Goddard Space Flight Center Climate and Radiation Branch Path: hpmwdjm!hpnmdla!hpl-opus!hplabs!ucbvax!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!apple!oliveb!tymix!cirrusl!dhesi Newsgroups: comp.binaries.ibm.pc Sender: dhesi@cirrusl.UUCP Followup-to: comp.binaries.ibm.pc.d Approved: dhesi%cirrusl@oliveb.ATC.olivetti.com Lines: 483 Summary: tctimer.zoo, Turbo C millisecond timer X-Submissions-to: ibmpc-binaries%cirrusl@oliveb.ATC.olivetti.com X-Questions-to: ibmpc-binaries-request%cirrusl@oliveb.ATC.olivetti.com X-Repost-requests-to: ibmpc-repost%cirrusl@oliveb.ATC.olivetti.com Checksum: 225051232 (Verify with "brik -cv") Posting-number: Volume 05, Issue 034 Submitted-by: cahalan@iris613.gsfc.nasa.gov (Robert F. Cahalan) Archive-name: tctimer/tctimer.uue I've seen a number of requests lately for a millisecond timer on ibmpc's. Here's just the thing, written in TurboC and placed in the public domain last year. I've used in on a Toshiba 1000 to redo Shaw's "dripping faucet" experiment, and reproduced his beautiful fractal time-time plots at high flow rates, triggering the timer thru the serial port. Enjoy! Robert F. Cahalan # Laboratory for Atmospheres cahalan@iris613.gsfc.nasa.gov # NASA-Goddard Space Flight Center frrfc@scfvm (bitnet) # Greenbelt, MD 20771 [ Includes Turbo C source and an executable. Source contains embedded assembly code, so you will probably need MASM or TASM or a compatible assembler. Checksums obtained with the 4.3BSD "sum" or System V "sum -r" command. checksum size (bytes) file (between BEGIN--cut and END--cut lines) 50275 27450 tctimer.uue checksum size (bytes) file 49474 19901 tctimer.zoo -- R.D. ] tctimer part01/01 BEGIN--cut here--cut here begin 644 tctimer.zoo M6D]/(#$N-3`@07)C:&EV92X:``#%Q#T2$T"52A5$#Q`HB/*`D>('#1DY:.2@B=:&"Q@@5H`M MZN9,"C8@=,PU>C?%#HE];"K`J1-$&39AX,PI0X8D1Z)&0C6K9Z<@Y/R=J"!!SY]!AVJ&`Z*%9,IR+(,P(<>O8*VA1WL% M&P.&\;<@5*1.`>(%"(TDR=6!61/>.3`-2:%I])1QW!'%=JL*L+)& M^:8ZG#>YQ:"`@0<&C1DLZ,.80<.W`I1AS-$&"&JT0=L<:,!'!PA.3,6&$G48 M&(-@#;+Q8(1PQ*##:A*QYYZ"\NE'`PSYU6>*&$-5HH8X8YKD?EASZ*2*)^)ZZ68I@L(J@@C&K> MF.:9<.!8Y(X]TA$BD'.:2*1@1RI`UU%1A='8DW*8ER1ZZMW)$QMII.3II\TI M1T0:NG"M*ZV*[H*0)1HLQ#OP@`.E M))12>(#:[4?FIH$NJ`)K6FVN:20<,;X@3!&&'0EYA^I)1"01J[P,GU1O?B-N MFU*W0[3GAJKIMM""#R"(@4?&M`ZX<<])"25QOE,(<3((0C#Q*=#3-ORR?;ZR M3"V]/2-L-,A-)+VT$$@\':VF;KRQ8,\?@QHJ@V4P1NL89;@!5%T\V8SSR@LO M/;4,,;9,/"M-1M6#\TXS/=RJURD.Q5U!PAWP+?3&V:( M^V3JTPX-DL='@V"&'&\,*$023TP!`AG[AO%EI,^.K?K0NK(`D@Y;P&##$&AT M$3O6LRN>_$>:185J&^DNWWS(*J-T^8`%M]YWPK#G/5FG:@-9$=Q@*M24#EVG M@]7]KI:Y70%E?>.10QK*$#F1<.=BQ%.1JB9SK?S`H&\@JUD=;M81$*#!9##X M@;JT-RTUZ"$E#'%#0I*W)E0%KVQG$YO5QL`BM.6'Z8=S*LR> MU=1@O5R99(8@(\(3;2B9-P1P@0,9P[L"N+8BL&$Q=1OAY&Y&KCBX`&\Q+$.; M$(>KV?G,<9(9C_)&.`;KG"0X71%8=C00$-RGQ/T"`;D+``#H!```"A&.I#]3 MR@L``-$&```!````````````=&-T:6UE:-'!!HTIQ!TT*.Q#=L'*9YXP;$PS80SX!X M8P9$&3MEW-"96/$BE3IRQ+P!,:2!@A9`@PH=2K2HT:-(DQ+UZ5-*FC%HPL@A M`V**BZIAR+RY,V=-'I\X7L2`\0('#I]6RLB9,[)D#!RD M@Z8,"#AUQ+!Y"D)KFS`0F2H0$F1*$2(@GC@!004*08,N@DCIJ<#GG8Q00=RQ M*UI.&CIT8H(0DP>$$--A2AH!6:9U;*I+TK0!L>3-FC4D5;.DC%,GE*UJJ[*D M,]HCB-L^/=*UB]?DWKY_`P\>4_C-88@N%#^!*<=.FC)W?"I=S[Z]>Z,^GT3\ M*^>-X#*[QWAO0Y)-:S-AC%'=9ZK1(4<>*5D'@AQUE"1&3%`=)L<:$Y'T'`A0 M#`%"&A/Q%08=+*SVE0)DE`%@'6R`:!)V<^0Q1VKYL?'&&&ML.%&`8^#TH5_] MM:87"#&(A0-?*[44!@AWZ><&&5=1@9U`EQWD4X.GT?>&>27>B*1N<-#UW)(@ M*`F3&^?)!$(;=;E184LG)?A23#.)=AH:9SY57Y(DD>%3%6[0-<=$>31T$1SU MG2%'&+MQ*)I%:R1XQYPK^G526ZF#X:I+UU,^N1D3"&^*=.-SDU*%6L& MLS'8M0O618:_HO55$K+/.>=15C[N]*)4=+SPXAMP^-3FM5<%X49KA+ZQ[&X> M9CK&P1/=^Y"^:?#K+\`"OU@Q&QFO[-'0*?CT8$V2JH62&ZO"#$)59?A%11%3 M4!&E"QK6=.$6H215'LT!DD@D MJ?""8HLW[A(;8+L2.H%1XA::>>7"J&C2,?CD:LPA+XY MLIZ:2?"NWOKK(*``49T6X_KY'`$_R%S6)4U!!\I?4N4]RZ8/KD#J5/F<[[[] M)HX"^L0K(#GE-=]L>>)A9G3ICP=O!>3FG?MEN8^^$%. M?I.3R`(EA1V.56I_.SG-1$@EA\,@[62I*=^TDD"FG[&/"OAKP\!6XYL-V!1,4S0S6E619(YJ`2Y/[TP(>WPRSX9>+9\UR$$.&.K0 MJ\F3F+R,'IZ6-(<73"V&":VH0H="49%>+:(NR($O@:D8)REJ#K-"$56B,A7_ ML/!"-;M/&T(TJSN\20XALE:Q8A-+4=+R(K;\$D8$Y1-0SJ$.AQ%,:[0B$3>< M(%,1Z>1."B8Q.66N!2CAG"$/"B8((@"%[;Y0RN&ST<>!>\XL6! M#(&*^5,BI-6@E_V=)WI7 M[-X,@8#`WU03"(Y@A1DH&`4QL,%]^=M0&=R`QQH("-RGQ/T"`2(-``#V"P`` M"A&7I"_NI@$``"P!```!````````````=&-T:6UE.0CH8)5($T?,-'(P:.7H$*9*D M290"7Z@8\G!,R3!T/MK$">)ES)D'430$T28-&S9I9HZ92&9."A!BRM"Y4Z:, M&Q!3?,JA`R*,FX-YC:IXL9*@01`-T]A\F$:/W)MEY*`P3`:J`JE2RL"1\^:, MG#!M0-!!HQ6R'(1HTL`1_:;OV3=W0,0@FV8,9[5L031]PZ:.S8F#"[?4/9+. M&Y%;(T]N:1ES\>-:28LVC5HU:\1TYH!P<[S-0Z(^LP97(%!H19%A:II>;K"Y MBLSI14M/?OJ.8C2R:=M^@_LO\3F\^98&<(21IX`&`0'D<3.&31TR94#PF$.'3)HW+M#X:*!`($&#"!62>3,GXL2*`PL>3"B" MSA@Z:=J4D1-1!$4[;]*0`=$FS$`4*2CNH9B`S1LW9T`P#".'SA>4*ED(I?,& MSM&497;PW%A'#)N$*I"6^0*'CARI"GAJY>JU!PJJ5K&FJ,G&YQ@4<]+H*?/& MS-DW5:^F2`$VP<`T*,.PD5M&JQR24"4/& M,.*I918WEB%900*&32^7R;RY,]3#I1.$#@-G3AG7*N'2(6I4JU+43GV#&-M5 M3FF><.0,I&-7!!<5?`LDMU]QST=DVDU;68:>= M&]R!X)U*X*VH'E.:#0A6'QH$!-RGQ/T"`1!-```4#P``.A);=4"B*5(``/P] M```!````````````=&5S='1I;64N97AE````?W],0"DC*```FVBQ%@`$`!$` M#`(`\._?LP'F%DISL8RL3`.6P!-WF(J,;&NW;MX\^K=R[>OW[^` M`PL>3+BPX<.($R?6]=)%(@LQ:<%H%F*1"P$`%GE@`<"1ME%]`#`RL`=`(@]W M3+N(!."8@4`,_Z&S!X"8CSJ9CRW"ENO?'Q.!>N"X42>#B455!`#2UZ,.!$#F MOOU[#0"0ORQU"$R'+<_5.!Y#3.`H4,<:H&:`[F5+Y`!W+LS3Q@T:!F'0.'BG M\XB6MD+=(A]`#!#(/P`(,,Z:!``91\,X\&C)11CP9VX[DI`KQ9T&BPN!1!;ZK$&$,LJKL.X M!IM5P]`"Q"Z8439,+AXC=&&!``(\[@<_C-C@0P.<,B$[ZXHN4 M`2P%]4,`12^"`#^C"$FV\40BW,8XW4@$+.R!&'5RPB6R@ MHY+NV(0W\E%)8%02')K,QB:Z(4<`'$X")(CF$$?\!@ M`LVH@1O\T;PN?&`9FA#'2AQ%@Q+L`H6(K=O6Y(785K(],Q#&X@9@@/BV M`$#Y'45\#^?>`&AA&%&`0BX0L*9-Z*Z4=RU`)>]11"QDP;S;$`<4%$$`19!! M``P`@@C``0AR_`$1'ZXD";"PN&$PU*&`2(8^FX$-0Z2#/90(`#IV(9L1H*48 MG]7$)&3R`3BM"17_&,8B@E&"DY4`&@'0(W:'@8YC)+F2RF7N)IQK5`5 M=,%R$5Q)&IPR$1W^\"*088]HB"`=^/R!"LJ!8@&H6!'%4`$Y+HP+`6AJ-!C( MEP!:(@C&A!71R!*]@=.[0`^J9SWI74^(V+>>P(ZP_>P)C`G=EY[`HO"]ZUDA?`+;(O;V M,$(!`('136##!X[WPO.^(`)A\.`(=7"`"0#QAW_`H`X'6,(.LG$'>JP#`=OO MO@O"NP1\5Q$&Y!.<`WH0%CL`"`'XP`+#C#U#`,%[`#U/` M,'8`#58P=F_R"P0P"<3@!PK`#Q'D&W2``!'D#Q57`>M0`KBP`DE0-_QP5P(` M!$"P"KC@!$:P"NF@#Y>R`DX@A$1HA*L`"T'`A.A0'21W5P,`"RV@"OSG?U\P M@0^P'-S5!H.P#_W`!Q?G!0[P!V.0ABCP!UZP`-OP!P^`"S#@`JN0"Q>A<;`` M`ZHP!'7`#[FP$#;`"@J0-`J@"DM0!_8`"RZ@"D&P#O``.PXP`$[@#SL0#';0 M`"L0#&LV`-@0B$6R!$R'BA,`"'8S6@T0AHO@!`IP"-^`#L[@#X>P#SL@@YD7 MB*JP#F,`"3;0"JH@B0I`#G30`6!(#*J0B(M8!_G`BBM1!Z_8?[$XB[78";BX M#[```B(0.PQ0!*KP@RVP!'U``(9`#/>P#:HP"4`"`SU0*G:0`3UP#@-@!PJ0 M";L@$OWB?NR` M`>1C#$;0#@"@D>X0`!KY#AWI+R,9#ZUA!/*P$+1$#Q=!8-1@9]O@!_:P.`;@ M"]7Q"R%C@2VC`!&#`/]@!030,TC3!Q8"&Y@P"?;@8N!G#X]`E599!3H9,3QI!SX)E#W#BA]9!Q;`BB)) M!Q#``TE073S@!!@%2^D`#@&0#A\@`!X)`#S@`G0@`SR0`W>P`CP``W)P`BP` M`YAP!']``XA@!/;P"Q?QC+%P#]\0")+#?*G@!.M@"K!0!ND`"2=9,?^P#FV0 M#H8``)Y9'770#BM@#POP#WZP"(MP#^MP"(/P#P5P!Q0P";C01?=@!O8P`,,@ M`=;0+PEC!?B0#FZ@._\@`7=``\1IG&;`#_U29EBAZF'?0`8\I!Q>`"9>@"\8I#@/@5?_P M=GY@#3/P#QH9#QSE#`0``P"*E@*Z-\10H/*0?"^*49QI#UX0#XO@!>I@AVB' M2>N`!I`0B^BP9`-P#*RHI'2P`&OZ#W50`F**`;C0$,Z)GN'9G;3D#SKX&^R`_N`!;?9 M!Q*V2>M@=:O'BAQ9=9\4@P[0I?)@`@'0`3$H`5U*#R:0"!UP`.D@(C)JHFJ9 M!2$J!W=9!].)DD]*HST3HEO``P)X!:1Z5P=020:`#`*P#A+F6,00K4@FK"6* MEB=:K%7)!S#``T%0!RR0J]JZJR&:`;]:`NP`P2+``Q&!P_@IQUK`MOP`XO3@Y_FIPQ[.`Z[ M";@`#W\`!9\&!6^R!AR[@#I-`"TT0*/T`#>!@#^2@G(.P,8,WO)EQ@0UH M`(,W`,+`!Z70`TKQ@;B@%+NQ`L)P:I5ZJ=CP)@V0#YQJ#P[H6J&J2C` M#_B`!P-WY@*'ZP`IK$,DNP#B1P04CP)M&0 MONNKMWR["?`;K@V@!$M0-_K[J08Z!)7$#^PE,:0[`/MP!1_4#ZK0"!*3"RB! M-@!X`0#W]010(`@0#SP``C?(`PU`@3R0`'6`#A^T#N1`J0<@!*KPC`$P!'CT M0?DP#A7`"DG``B)@L@0@`CS`!>`'"#P@`A!JT[,V#.G`"+A)D,P M`-L`U8M`#WVR`NL@!^30/(G@`FC""!9@)N,0`18J&E8`1,5``,X(#."@#W30 M#C?2+Z8A*%=K`KX>E` M`O!P([WQ#XGP`XP`4,[4'>)!'O&0"`>0"`"5*U,41YT,`G7P@!>Q#A4P=IK1 MR9^<"(?@(]/1R3="-*@?8MP!.=D`4XP`*/` M!"#H!'QB./T2XE8P MWJ/;VQUN`!_NXT!>``Q&-/>=.MIA?Q%#`.@0"@+0,P[>G743,G40@BX.Z7,.@H$S M=FI>X25XX;-J4#]>XWFNY'R.WR$^."EG`."WZ.F0DAI.``5P`6L.*R]*7W;* MXX/#;V\;YH\>"I*NX@N1?7[^Y.@P!?_0,^EPB&%>W.\-Z3_>G;J^#<`^6A;" M&A:^"`'>:R+>M/,!`X,0#0"P`]$@!QJ0'3LP#')``<,.QV!C!_R`#NC0#[NS M>=>>[8MP`#L0.'*0`J.]`X,C!R+0[N_.!?W0,Q8^"`<0`"8P"`&>&:&>.*,N M`Q:^W0S@W0\>W@Y0W)J!W#2>.-->=>GP!@WAY+3<`M>1!:0^VWU"/HM@?T:P M`C90&H]<`#\``+%@`--PIO"P`S8`!0/@'+LV&B)R&HMP*:6M!3<_#>;P'ZSQ MR/Q5&CMP#/:WFS!?&E;P):6!#GX0`*:&#[\)IQOPR$F/#J/@\T%O`$/O`44/ M@>N``>M@`2125<]^(3O^+`O^]..EH];+@VQ#B=0WD5O\>`] M,G90,G:`#^B`#/Z0=PC0^YJ?3@__W#`Q!W$.K<+8,IHB*ZE`%P!(.#,LB!!_3[$,`4>!-' MP'OI-E-'/@;<#1AGT^8>`!0!0H$>&?#3;E^@XGVW$D3(XIL%DF^`X``0*# MORD3I(#8D0&L@`*8-O-$`'P!?S!MQ!A2Z&W8SFX%-_XFY'[;A_L8=@`1SJAI MHPA`'"9X$[(`!)6#05`RZ@!H:0BC3?,)@-@&`#Y?%6ER?P[*10,41:F>7T/0 M?$P@8>4L1N@(WX0:&`"[@]`%.5[3!CV0VIM^A0,,5@-_D`EVPR)0!EA`"PC` M#7!3^,3T2WGXYE$0@:9%&1X%`)`#!,#A1`-HL`-7WA5H>:G*#S"``7<$8!50 MV@&);0'\)@'P!UY#R/@#]F>270BCX@,Y@ M;Q."`L!@08!IPVWL%K=!`/*/`1B\WI8'Y\$_Z(-'8)B\N@)0`&I#(51O1X`0 M\IH.1]^$VSBD`V)@UM@!+^`:6-D0R`#[+>5,P0\P5*0!/AAT=K!?((`%D'$6 M`!XL<"A!6FF^&A#A9.)\.X33IL/!1*N8".[7;X)*">`I"@`&PPG]WFZS`KX` M)3`"+^`/:`D_&(CK8`-8.(P($MJ4P(MW@BX*)0X*,&OJ0#B82*6N3P0"=N`( M``#+,P(*(+!@!LIS(]+!$,@0-N>3W8-#0`Y:(O.I`,,*#+8`HT(,$$`ZD%I- MZY,%@E-0&?]!/_@ M@,SD0!18!.81/>[&?[`>"95[/#56@&$8`MYX-:#,\,E,@9(PPZH@`#9"`;D/RB0Z"`L($A\H"`99-'Y!P_R]QD4Q&@A,>08 M1(Q;$#!^OM`X#B9C900`"$`N]1DWD;.(G0K8ND`,/``HP MR4#P")XD!&`I!N!-4`/STPGQS9@DC07`--("(1`H7H?-B472SP#(P&AU`-Z$ M*J`'F:`:YAL1$'_J%HY+0R3@#G`!AB(`Y,`UO$"QZ.@D`Z@CC>X*`T!B!:`% M'`'U4+RR`0``8=Y@'$"`2+`"I$$_B@3]R`8@`@I@!,:!`K!$I3)5KDHCD'?H M02-P`MX@BCD#?N`$7!@+4`#DCP#H@%`E``:'*A`'ZP,`1"3`8=^09-]3DL+` M4'PV&30%+T>@/)+[1AKD0FU%\A0`+`@`4``6A($W004HV>>C?)DQ$5:/<#DN MT4$-,)?X!EUF*Y^4"/G3%"1MDV,30D1Q^29NDVZC708@5.F""O`C6B(DL!;8 M8DJ$@%Q`%A"%!C``UH(RI`,>4`XP#3?TA@0`'%87=;@,7"(MK'E\H`P$08#" M8.H`!QAPAC"XV3?EQNV&00%`@3[@'NJ`/O@3/*9O`V["K?01@/GP,J-!'=`` M]]`"H$Q!&!.SHB&L;[&M"PRX^S5M!L`-,`+][098@:%Y'(IF(:R)#*!PL$(" M\`C1`17@![MC0=*1D8D9!$#V$8OM0O-U/J(A?9+A#?@`Y`87S,.K$0JK!@)X M$^D@6K7)*8(:EQ$G+;WDP=?6QP5*:3Z`6(W#\X`'T`AAD! MQNDXA9L)H'A+(#R^N<9I`C!BR0H!K.@?*(#J$CH;0!W`C-QR262"DT>I#DY# M2`=`(``$BG\@)=(!#C@>G/,?/("^B1%1TP#BG0`%,]2!WB@`(#-SM@#+D(&35A5X]Q\T/R)#O;![BBA=V4-5=4@!@A&D[@D5$J#D#Y M/@=/0HS-\0!TS0]`1`U`#\"$VR`=C`*;B1&)H!-@@]&3#MA/0)@2%^0),2>*(`((K"R*3Q M`S@BY#R97N"*VBWGR!$M)^;4G#S4`E312&J!)FF?1`<$CT!]43B%"XS@L_Q[ M700\0@[:!I1$V`/8!4O``/`#16`,I`$ZN`9@R!B(@&*`2Q6!,+"EO508[%)< M*MLN&0"8(H/1$AC&*T!+5,%"T$BM``JL@QYP!1[;.7,%VR\)?(%AH"H+P!'P M!TZ@%?@!$S`%HH`40'M&P!7(`$D0`N"`"%`"(L`) MB``I(`+P@0B(!2/`"8P`.#`",$`).`)W-:_Z@1"`"$)`.J`'#P6VW`&OYPA8 M*D?1!(!`L%*1POH/HI4C2*P4C<3X@IB:E0@`(K`$,34=[`'=80I8ZC>H!04@ M'<0!W<%800!H30=G8((*UDVY4AOK:"$!@X"Q(H!:T)<@1CK8!/PE!CFM`C`( M!H<`T"?]P$`D@$1@"&9J+;`01RJQTA9O0%R#HS\H!NF@!*A6`C`'H$$M(`"I MZQ](@L>$"1*K`+@#&Z`6"(!#4%PO'S#@`](@&H"#AZ9>U2OS"@#E-1W<`W^@ M7.N`*""OP1%I\`%:H%[9*SAPK\(`O@;'=)`-*")CA0"G]1GX@T#`6*'((.BL M_^`=G%:<]&!9ZCM@L"P5F9W65^`/;@$"T&2WX%4N@%L``69!WM0&QL`0Q-2. M9`A$'@"XK--)MQZ'`C!3UH$$"+$I5N0%`!A[$OW`;LT$1^`(6"@$<`]::[O` M*,>A`@39"44`&H$OV*QY9P8L`&E0!UZ`B`R.HZ4%+`*$N@@-P!&\QA60#P[! M,U@$A_8?B+L_$*&B03H@!J8!+?%8&;L(>*MO+;1.=K,JLUE5`+19.OB>0W;8 M^M@BRU(-`C4Z#CV@MQ(`<',`_.4"N)S9=G#00V"P`([!:$,VOX`(+(DZN@,< M07"$8UUVP&Z"8(L`I&V(<[>7;U):L95@`*Y`%&`8GF"S3H'Q=!%&0&L5DZTU M%2`S.B!(,,.>BHH7X+HP7%6SI[K(^=E3#`87K(0WP0%L7"T)`(,#V3[9?T!M M_T')F@"X=J9.63^P`-`!$+!GT<#')@)+0!NY8TQ=1`UQ^_2`%D`'',`@<`6T MT:C07`+Q!,)C1LD`-NX>;%F#N@@\P4Q%%@#`X++4'M`2W9(B,`73*7"]`><@ M(DED.3P&%+*TE8[`A06;?9,,=EU[:W8?;VJ: MMP%P.9,@\0MOF6[##>"K6-]>79G;BAUO%C+@G/E_X=M+_'`?M@6)V&CA> M`N9M,S&]86`'?#4/H?[]A)\#_6`[`W?OIDT`2#81(,#=.-!1Y\;N*NHXU/?L$@<)EF]#KL@-*W10B4Q-8-R_BL_$:08Z9P%Z MW:^#?*-%!7R)1_X!A-'W5#<0GA;N/%MC89'%^DLQ"2H#9>N M`-/#)1CDY-L*[C4EX"+0EX7`%.L`%KB+R4`=F!H'\.@T@Z2+P#>8`XSAD>`: MS/!=VP9I>!NL84LGZ=8!\91OVXT>QCE+A^+NXC]H!]`&`WP)$_@ M.`O`.3E'YYYP%;&*@^`%*+Q!\`4PPX`#PHL`P7W@(0PT5!\^0()S^.+58=_& M@@]`'H9-]07O0(,Z4`047R'V`(=X%V-A.@`#4&8QMG`OV`3$X`@U_3X'/D!O M1.[,M;CX>6G7P6VZO^@@#A0\5>P%OO$=OG?'>`\KXSJ@@8[?V$#'ZD#>#=(G M/'92'81:!SG@U3VV77`R>+&^8">#X]7M`#$W@':``4!QHPT=@`!_8([!H#S@ M)4\8%[Q-NOGDAE758`!O`IL*RK:W:RP0KZ&DH,,"H1\=<`#P**-S`-,F"HZ6 M;\#V.J$PR+@P(`+<@JP@&Q(``/"E_B!%Z+EA0#ZV&@LX`,T``EB&HYQ!JH63 M8`H@W]0.'9%,TB3Z&!< MY1UV4R[SSF+6EZ(@,E?FQ)P)*5>H>A2X8!0D@UA"FQ="]1`%O<``B`)>8`!` MP932#J+`%T!F`_`+#``&.!T6"0%H)-@B,`Z`E$!/Z.`1'(!8@`!RWG,V`OH@ M'7`D*]I)LVAEZ@=2H@7\A!ZP$N[`,FRJ5@MK35\'H`(Z@`K8`2K`!KSG^/.7R,U?0CA_B>+\+=]$,9!83B#VQ0ZJ MM!0=2CKP$B\Z1NN#&7V5`P!_UM$\M/H)@RXR17`!,$@!.`LBP"+@4,C`!.N`"X(8YNPB<01%IUBO@`'P`OT<$B,`P**?G5%>CB%UP0++H M8XO6.D`8*`ULK:T%P)Q5#TE`(P.`2#!3[D$\<`&CP%:[ZX8`K^5U/ABX^OI- M@(%_$`RW`+U^(%?+`=CJ=;`-^*D_Q3?DHR.3/'JIPX9`'`,&V2&V,;&XLP)\ M;!6T/W$Q8L33)S=4V`#FN`+H(!R`H&.@7D$N`S`".P`?^0%P4)/-XJM>!"3; M9+>\@+D!6#8ZP`&80V5'#`8`LT_!S*[91N!FYVP%L+-[=MND!0N`,F`"BV0` MD&@HY*,<.R\/`$H%`I:VRMYOLX,`7%^0+"&-P?5U`&_"$8QMD+TVN8"%$M/B M)''LJ8N0LQU`'TA5B#%/N;L]YB@`D5OR$'0;`WQ$`/[`._AZ#0:;L`!1LLPD-\MZ%A9Y&%N*;L"(" M\%8LQ`IPTU';*RD`KX0`O))@SE^/Q4(4O3HI)39,U.[>@6)!>V\$`+X1HY0( MT8&"`71O="`,B"@#$)`+VWN+[_1=ON?W]Y89#ZAN!+^@!]K_+MP(HWQ'\3=@`_5TCX[<# MA^`6'(.O[T"@C]]W!^??";R"RXQ9X`\&^`=7X=[[@B/P#(X.,D$)7P<90!'X M@`YM!AR`X%0$;D`!*(*J%*,-0!A"!_$@'WR=>H+?!,`*@F/1P!T\,D4@-`V` M+<@,VJ!?SX/*]*;]@92@XE/JB@L;:Z`"H`$BN'J*P`R\:4H&+;T@._#!B^`" M3)L=<`&ZRTZ>T>A@$O2LF7@!_($P\*5R>4I!0W]@#&2!2T0_B>`"^.YCFCH4 M`/D`+AF"1QZ#\`0[&(!#GLV9L+3IR^Y$J1"A(N1KD,TR[;=+KNI.\UNK)9T< M>[K+4'Z@J\"5NRL8@'6,H(:A#][$B+KC(#$`*/&A81&)W"*X`;W5``"1+92, MJH8]F.78^4V\RRG.#;39'4\`&N-`6T3U!LP18X0:'%3I8]>!T7<-[GC`F`7X M@`O.:4;.#B3T-*H9/N!"WQ5UUT?G)1AL%#;6;+MS=/P/_`$J)>>^>4&O&5`` M4*7$3D6,G>@.!)WX&=!'0&ST=P;@#X2]V`$.A=/8:>@-8)0/#@?$]O1E,?W= M?6+L(`$P;L7+$Y"BS9;#Q`F#_FH!9G,Q=>/NC'R`@LA\G?V!VG,"!&`<:(&Z M50SL#S\067/@=00#).!>X4&0DG><>[00@'E0"D*6+M`&`X"?89%S!U'U`3N` M!LA`#NR#IXX,?,6M%_80+EF9.EMGO9Z;^[HP M^.L;)"_4`&&`!D*`*-`&#R`9^(,?L-@;^V./[+(+``@!8$`@D`!G!P!*X+,O MA!]0",C`)ID!\X``U(+,7AW^0"R8'`8@%D0K`>`@CLL4:01J7&^QG#3^#ZQC M$7,!@"`?F,VTXZ\J"3I8!QZ@Y^Z!Y%'<78!C$0J5A!RL@^3A#42)LI`-DD$EP0?B500\]7:@VS-T4`MBP!B``W( M07V'!M"``/`#_![:V#0:U``"0@`/@0#Y5.AA?W4"49`-Y$-S_2@I`!0-` M#UB=\EY)@H'S00:5Q+QC`PSO#2Q\-M`'T``=A'@94`Q,538`):`J!L0P:%#. MYXH,*`#W``3)\=&_OR>;@=X>":"AR5P'3`"O[`$D,%["^^FQN#6@QXMW(#\Y5$`E`>^6Q/E$@_;^ MWNE`.*@0-CX;S(,YD#RV?!?1)'"F'@@`>_"E8SR_,N[GIY*P@_&5#=A[>9\B MQP6WVP.]->C3^#VPCDNG`-B#:F4]QPOG:U-[(`%4^>N^5Z([`.LD,FO0!P+. M+;OH\:8?0@^*QX=Y;W!;LT$^X/-0`!*@#)F"\`/OBSG=0@:VW.OX*TDOZ MYNY8.(!WW^ZH"=BOGB\?WK&!!3`(OEZ!Z>@@T*8JR=H:]<%@'80!XU[A*PG) MJ23]`!`X@7YPLK*!SZE@@,`,](-YT'(LV#?X<6D>E%#X;-`/1HDH(?6;/F0\ M@#\@GPT6"7S`%)O^5)0&\Q[]^@EJ3Y@I_@_Q1(V3L//]5_/BA@!3Q` M\CD`("6;U/0(103^`0N@`3P``;#Y0>`.!$`@(`#.8!18J&B5R$S`HA=M%;KF M[WQCX#A@&#$H`<#@`(3XI8\.:``&*``F@)\0@`_`5+K`,QAI=R`!T'P!($1: M%H9D!XQ@`(""!C$`;,$`:`>M;``D``+@``B`#```-@```.OG[0D"0([)!&XZ M`(B;!"``]@')-P!\$XRU@B'+`[B!'-"]\$"072U*P$:ZP`%@*@J6&?`!_+R0 MR($E.!QZP.>Z`T!R#S;!,*A-_D#R2_IMH`9\KC%XE?R>>P1Y2/`MJX"89`?N MWI2TO.I@!@(`/T``1F!UN0'OGDFX@3K0),%@K+6BMY!(H&T"^8__I:!["_J:Z#:E]I)['O!2I0!^2`&'@# M+6`(@(`6``*&P!N``WE`#J2!,X`&8`H*&`,I``3$@!R``W``"!`"`.&-'#9A MW)`!D<0-'38N`!!)8R<-F3(@RLB1(["!@B!BW`AL$X8-"#@8S\@)TP8$'8MM MTK@)0R?-&S<:`=B\B3.GSIT\>_JTJ8!.#!`]0)1@DX:%2AE$C2)56H8@G#EE M#L9L0[%H"3,*`)`L,V<.B#`@UI3)H_(-B#ETWL!1F0:K'`!!AVI]NK3IT:05 MI5*U&C>K4:X[X07)">01$`F#@*GJ1D/&X9^4*^_DY`&*%5P`X#G"!LB'OW_] MZA@@)X9$@#HN<#T;\!F4-0"*3%`#X.##(!^!;/K2$(`.@FPT-BDBH(B,`'O$ M`-%)8`^:"&+J(A&PZ07+!P?H"@!P\<^%A0#/-ME,](9+ M=%1TD4`Z'"UW]\\\??R#)Y#_O+-DDD_[\81,P5.H$2``W`?*#32!,AHP0 M-NE!!`!`<&`$`%`,PDP#Q#>,I`-(,D?H,@DJ03#B33Z=[+..'ZI$,<0Q MD3A@BBN@9##.*$924PUU(V@0`"$%"``0B,2T$%!4SPCP4%1"!`E.XB64`! M[\[[SP/_C-"NO4RB^X^W!3S0+I+\NCM"DP6C^QT$+B@,`0`-6^8E"!)/+'$( M%EM,<<8:3QP`$!Y_#'+(WHY,L@`A>TQ!RBH3P'+++K_\\LD8S$SSN#;?C'/. M((,`<<\^_PQTT$+GE(``EE%Q'5T":$D9&DF/7!D?20\AP`"509*T$-]61DK2 M-FW[$RY>`P"V3\R,779/X*!=&3UL4X:`=S>ES1,'_8B4&V:145,#`*#@1AULL)$"`##$(,,, M--1@PPTXY!"$$$,0442:*0=0KLH4&$W!``10D$"\XH^O??DI/W#!`PBH?``% M%IBO<@/PJPR!`@_0$`9```(XAD)6V"C4ANTB;6N4DB;7*,+-ID`S<1ARH!P(&;O..5 M';A)(;@8QILL`I>/M(D)O.BEF[B`C3;1H4WF`4>;B.`F+Z#C"&Y"!CJ2X"9; MP",`2G"335C3!#<)AC5/8 MI$U8YP50G M`P`1\,PF8K))%+8*@"'9@V8!\,!8MN*S4KC)+#X[A9M4H9\VH<)-(,':#MW$!P@%@!5NDH?: M7N$FPZ@M%FZ"CMIF`9H-M8D6;@*'X@)@"S<)A'*Y<)-U"$`#5NO"3=8P`.H" MP`O4!$![`/"%FX3WNV"XR1B\:[4PQ!&]`!##==E[7INT@;UDN$D^>P;!MF$2M^=KTUZ\]T:V80^ MWWW#30[!7CCHDKWWMTE@#?I8]-R%&`[^+')@PPP'?Y8Q,'V-EJ`+() M+_8,`!"?!]"(N`DW`)T((@-:$3=A!Z`7(`&"H@E@J(J0)BJX`8*R#6"HBY`F*O@!@L(!8+ MB,D"8K.`&"T@5@N(V0)BMX`89RR3"XCI`F*[@!@O(-8+B/D"8K^`&#`@%@R( M"0-BPX`8,2!6#(@9`V+'@!@R()8,B"D#8NBQC*`V*LMDPV(X=`RH@#`//B@`PEX9SU=`48`T!@?-B8C M`'"41@`:II\A^D>0^`A`(S<@@$R60`"5A,%T`7`#`;`2"`*H)=4>J04!Z+`/ M`E@F(`J9D_6L/!,`L-H2O3[R0BJ>B``@-^7+#0!KZB1I3#,:()CD9;E!,6F? M1]*55)FT5^H)],!D&C#G=A,P5AXH.4$2[0&0-#3BI$EJ'%LR7^^PV^?9)JI7 M:Q-US[1SPMXF7`2^&0$`?,22T2;/="(G9X8(0E3D$(4'F@$)0S!_?!70A#H;Z,DS/_]X/T"'>H@!V+P!D-@!S+V M!5\P!@5H!F'@8.M7!/@7?^W'?^M'!!"8!/?'?P?X?P$X@"72?QLH@#>R.C*V M?E>`?P=8!GB0!@;X!2_"%@)1!GI@$1[V!6$@@!Y(!$<@!4]0!5``!.!E(#6" M@"1"!BX1$N`5%6$P%55Q%?GU!2ZQ@FD0$FD@@TTX%RT(%FWQ(E8(7B\2!F3` MA0=8!$U0!5)0!%-0!*YU@$8`!46`!V-0!B+&AD40`VQA(VU($'9X@&8`!Q9Q MA5_`ARY8!BS(!$1`!5)0!4X@5E_P.G<0`Q1R@%@P!%:@AE^0!$_P@#M86E^0 M@BO8?U1!!R1R!CMV@*"8('8@8C6X$BIH@`RB(>=U@'`@/&P`B"]2!E\@!J_H M8(!((J[X!K"(BW*PBU\P!V(@C&H2!$1`!#\(!5-0!4+`C$/`0#](C(.8B[^X MBV9`%660C2LQ/.`E(S!!!T=6C71@!V)0!_UU@'A@!AE2!W-`8%]P!W*P@DXH MC_2X$N#%!MLXC$SP!$YP!%3P!(?QA&VA7E\@/`:ICPH)B.X(C^`U.@JACH`H MBW0`BWQ8!Q8)7AAID6A`(OW'AE5`!9)U@&88!$PPB95H!5`@!4G@!%3P@!MI MBQM)(F8PDQ1)CQ+9?U8`(6^0$"PX!C`P!B4"A4!)E&[@B0XDH>XDU(0!(]U M@'>`!A:1@N3HF)`Y9/+XF"]R9&4``SAP`U]0!`HA!YFYF9TY!6@@$!:9D?WW MDS!@!3"BA:JI$#30FF/PF@?XDS4PF[5IB0IA`[DI$/TGBL`HBJ1XBFF`$4+( MB6Y@!TS0.OUWBE018"BHG%-`A?8X%:GX!1%@JR(CA/9B5'I%@GBG*Q8H\C)%OMIHP<($S,Z M!@K1?Q>ZG2R8ARR($=K9?[29!WWXB73@A6W08N39AVY@!O55BG10A&XP!>^Y M$EA*C%KZ!AG9I23RI?T7$1-!@T7X(K29IF5`@U\@!640$@1(![[YAU-@.FZP MHF2`I\"YBBM(![G8?U]`G6?P$FP`!5`*`&70!G%:6OO:KS')F2Z9!*XUAE70GG,HB47`67,H!:7%AF:( MAJZ%!%5P!$5@!2<)`(5XB(DH5E#P!%?PB`!@DBA)B0`PET'PDD]0)I)XLI>8 MB4]06D6`!06+LFEX?T=P6Q.[ERN)LE2P!$RPEP`@F#1KLT;0!"?ICV)E!$(@ M!8750,JH)M+(61,K!$M;6/R:!6V8?T*;6NOGM1)E!&A8!(7%?H))!<,UL58@ M!%60)EA@!$;`!%4P!7AE@@7+5G<+DX?!!&1;6$P@D(>1DD80!(45MW-;MVK2 MDB^9)DRYKR1;!">9DK;%DBX)DQ!K!'IYAXM+!6DR?]_*EZZUE)R;)A>[KWA% M/4P0!,-U!%`PF*ZU!$*`!#;;!$]@!6E(LZ[EN$.`5WE9EWF2ET4PM%.0!$<0 MF%1P&%:@F(]U!4CP@#0[7`$!W*?$_0(!