From:	SMTP%"munro@icf.llnl.gov"  7-DEC-1994 09:37:49.10
To:	USRC
CC:	
Subj:	v46i100:  yorick - Yorick interpreter with interactive graphics, Part30/68

Resent-Date: 6 Dec 1994 12:02:09 -0600
Path: decwrl!sunsite.doc.ic.ac.uk!warwick!slxsys!pipex!uunet!sparky!not-for-mail
From: munro@icf.llnl.gov (David H. Munro)
Newsgroups: comp.sources.misc
Subject: v46i100:  yorick - Yorick interpreter with interactive graphics, Part30/68
Followup-To: comp.sources.d
Date: 6 Dec 1994 12:02:09 -0600
Organization: Sterling Software
Lines: 2342
Sender: kent@sparky.sterling.com
Approved: kent@sparky.sterling.com
Message-Id: <3c28v1$evm@sparky.sterling.com>
References: <csm-v46i071=yorick.215239@sparky.sterling.com>
Nntp-Posting-Host: sparky.sterling.com
X-Md4-Signature: 7061bde8e6698fe5e069f9960147ba12
To: unix-sources@pa.dec.com
Resent-Message-Id: <"kAqvY2.0.q57.4gJvk"@ftp-gw-1.pa.dec.com>
Resent-From: unix-sources@pa.dec.com
X-Mailing-List: <unix-sources@pa.dec.com> archive/latest/348
X-Loop: unix-sources@pa.dec.com
Precedence: list
Resent-Sender: unix-sources-request@pa.dec.com

Submitted-by: munro@icf.llnl.gov (David H. Munro)
Posting-number: Volume 46, Issue 100
Archive-name: yorick/part30
Environment: UNIX

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then feed it
# into a shell via "sh file" or similar.  To overwrite existing files,
# type "sh file -c".
# Contents:  yorick-1.0/Drat/texinfo.tex.U.01 yorick-1.0/Gist/events.c
#   yorick-1.0/configure
# Wrapped by kent@sparky on Sun Dec  4 18:29:22 1994
PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
echo If this archive is complete, you will see the following message:
echo '          "shar: End of archive 30 (of 68)."'
if test -f 'yorick-1.0/Drat/texinfo.tex.U.01' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'yorick-1.0/Drat/texinfo.tex.U.01'\"
else
  echo shar: Extracting \"'yorick-1.0/Drat/texinfo.tex.U.01'\" \(50010 characters\)
  sed "s/^X//" >'yorick-1.0/Drat/texinfo.tex.U.01' <<'END_OF_FILE'
Xbegin 644 yorick-1.0/Drat/texinfo.tex
XM)24@5&58(&UA8W)O<R!T;R!H86YD;&4@=&5X:6YF;R!F:6QE<PH*)2 @($-O
XM<'ER:6=H=" H0RD@,3DX-2P@,3DX-BP@,3DX."!&<F5E(%-O9G1W87)E($9O
XM=6YD871I;VXL($EN8RX*"B5'3E4@0T,@:7,@9G)E92!S;V9T=V%R93L@>6]U
XM(&-A;B!R961I<W1R:6)U=&4@:70@86YD+V]R(&UO9&EF>0HE:70@=6YD97(@
XM=&AE('1E<FUS(&]F('1H92!'3E4@1V5N97)A;"!0=6)L:6,@3&EC96YS92!A
XM<R!P=6)L:7-H960@8GD*)71H92!&<F5E(%-O9G1W87)E($9O=6YD871I;VX[
XM(&5I=&AE<B!V97)S:6]N(#$L(&]R("AA="!Y;W5R(&]P=&EO;BD*)6%N>2!L
XM871E<B!V97)S:6]N+@H*)4=.52!#0R!I<R!D:7-T<FEB=71E9"!I;B!T:&4@
XM:&]P92!T:&%T(&ET('=I;&P@8F4@=7-E9G5L+ HE8G5T(%=)5$A/550@04Y9
XM(%=!4E)!3E19.R!W:71H;W5T(&5V96X@=&AE(&EM<&QI960@=V%R<F%N='D@
XM;V8*)4U%4D-(04Y404))3$E462!O<B!&251.15-3($9/4B!!(%!!4E1)0U5,
XM05(@4%524$]312X@(%-E92!T:&4*)4=.52!'96YE<F%L(%!U8FQI8R!,:6-E
XM;G-E(&9O<B!M;W)E(&1E=&%I;',N"@HE66]U('-H;W5L9"!H879E(')E8V5I
XM=F5D(&$@8V]P>2!O9B!T:&4@1TY5($=E;F5R86P@4'5B;&EC($QI8V5N<V4*
XM)6%L;VYG('=I=&@@1TY5($-#.R!S964@=&AE(&9I;&4@0T]064E.1RX@($EF
XM(&YO="P@=W)I=&4@=&\*)71H92!&<F5E(%-O9G1W87)E($9O=6YD871I;VXL
XM(#8W-2!-87-S($%V92P@0V%M8G)I9&=E+"!-02 P,C$S.2P@55-!+@H*"B5)
XM;B!O=&AE<B!W;W)D<RP@>6]U(&%R92!W96QC;VUE('1O('5S92P@<VAA<F4@
XM86YD(&EM<')O=F4@=&AI<R!P<F]G<F%M+@HE66]U(&%R92!F;W)B:61D96X@
XM=&\@9F]R8FED(&%N>6]N92!E;'-E('1O('5S92P@<VAA<F4@86YD(&EM<')O
XM=F4*)7=H870@>6]U(&=I=F4@=&AE;2X@("!(96QP('-T86UP(&]U="!S;V9T
XM=V%R92UH;V%R9&EN9R$*"EQD969<=&5X:6YF;W9E<G-I;VY[,2XR-GT*7&UE
XM<W-A9V5[3&]A9&EN9R!T97AI;F9O('!A8VMA9V4@6U9E<G-I;VX@7'1E>&EN
XM9F]V97)S:6]N73I]"EQM97-S86=E>WT*"B4@4V%V92!S;VUE('!A<G1S(&]F
XM('!L86EN('1E>"!W:&]S92!N86UE<R!W92!W:6QL(')E9&5F:6YE+@H*7&QE
XM=%QP=&5X;&)R86-E/5Q["EQL971<<'1E>')B<F%C93U<?0I<;&5T7'!T97AD
XM;W0]7"X*7&QE=%QP=&5X<W1A<CU<*@I<;&5T7'!T97AE;F0]7&5N9 I<;&5T
XM7'!T97AB=6QL970]7&)U;&QE= I<;&5T7'!T97AB/5QB"EQL971<<'1E>&,]
XM7&,*7&QE=%QP=&5X:3U<:0I<;&5T7'!T97AT/5QT"EQL971<<'1E>&P]7&P*
XM7&QE=%QP=&5X3#U<3 H*7&1E9EQT:65[7'!E;F%L='D@,3 P,#!<('T@(" @
XM("4@4V%V92!P;&%I;B!T97@@9&5F:6YI=&EO;B!O9B!^+@H*7&UE<W-A9V5[
XM0F%S:6-S+'T*7&-H87)D969<;W1H97(],3(*"EQH>7!H96YA=&EO;GMA<"UP
XM96XM9&EX?0I<:'EP:&5N871I;VY[;6EN:2UB=68M9F5R(&UI;FDM8G5F+69E
XM<G-]"EQH>7!H96YA=&EO;GME<VAE;&Q]"@HE($UA<F=I;B!T;R!A9&0@=&\@
XM<FEG:'0@;V8@979E;B!P86=E<RP@=&\@;&5F="!O9B!O9&0@<&%G97,N"EQN
XM97=D:6UE;B!<8FEN9&EN9V]F9G-E=" @7&)I;F1I;F=O9F9S970],'!T"EQN
XM97=D:6UE;B!<;F]R;6%L;V9F<V5T(" @7&YO<FUA;&]F9G-E=#U<:&]F9G-E
XM= I<;F5W9&EM96Y<<&%G97=I9'1H(%QN97=D:6UE;EQP86=E:&5I9VAT"EQP
XM86=E=VED=&@]7&AS:7IE(%QP86=E:&5I9VAT/5QV<VEZ90H*)2TM+2TM+2TM
XM+2TM+2TM+2TM+2TM+4)E9VEN(&-H86YG92TM+2TM+2TM+2TM+2TM+2TM+2TM
XM+2TM"B4*)2!$:6UE;G-I;VYS('1O(&%D9"!C<F]P;6%R:W,@870@8V]R;F5R
XM<R!!9&1E9"!B>2!0+B!!+B!-86-+87DL(#$R($YO=BX@,3DX-@HE"EQN97=D
XM:6UE;EQC;W)N97)L;VYG(%QN97=D:6UE;EQC;W)N97)T:&EC:PI<;F5W9&EM
XM96X@7'1O<&%N9&)O='1O;6UA<F=I;@I<;F5W9&EM96X@7&]U=&5R:'-I>F4@
XM7&YE=V1I;65N(%QO=71E<G9S:7IE"EQC;W)N97)L;VYG/3%P8UQC;W)N97)T
XM:&EC:STN,W!T"24@5&AE<V4@<V5T('-I>F4@;V8@8W)O<&UA<FMS"EQO=71E
XM<FAS:7IE/3=I;@I<;W5T97)V<VEZ93TY+C5I;@I<=&]P86YD8F]T=&]M;6%R
XM9VEN/2XW-6EN"B4*)2TM+2TM+2TM+2TM+2TM+2TM+2TM+45N9"!C:&%N9V4M
XM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0H*)2!<;VYE<&%G96]U="!T86ME<R!A
XM('9B;W@@87,@86X@87)G=6UE;G0N("!.;W1E('1H870@7'!A9V5C;VYT96YT
XM<PHE(&1O97,@:6YS97)T:6]N<R!I='-E;&8L(&)U="!Y;W4@:&%V92!T;R!C
XM86QL(&ET('EO=7)S96QF+@I<8VAA<F1E9EQ004=%/3(U-2 @7&]U='!U=#U[
XM7&]N97!A9V5O=71[7'!A9V5C;VYT96YT<UQ004=%?7T*7&1E9EQO;F5P86=E
XM;W5T(S%[7&AO9F9S970]7&YO<FUA;&]F9G-E= I<:69O9&1<<&%G96YO("!<
XM861V86YC95QH;V9F<V5T(&)Y(%QB:6YD:6YG;V9F<V5T"EQE;'-E(%QA9'9A
XM;F-E7&AO9F9S970@8GD@+5QB:6YD:6YG;V9F<V5T7&9I"EQS:&EP;W5T7'9B
XM;WA[>UQL971<:'-I>F4]7'!A9V5W:61T:"!<;6%K96AE861L:6YE?2!<<&%G
XM96)O9'E[(S%])0H@>UQL971<:'-I>F4]7'!A9V5W:61T:"!<;6%K969O;W1L
XM:6YE?7T*7&%D=F%N8V5P86=E;F\@7&EF;G5M7&]U='!U='!E;F%L='D^+3(P
XM,# P(%QE;'-E7&1O<W5P97)E:F5C=%QF:7T*"@HE($AE<F4@:7,@82!M;V1I
XM9FEC871I;VX@;V8@=&AE(&UA:6X@;W5T<'5T(')O=71I;F4@9F]R($YE87(@
XM16%S="!0=6)L:6-A=&EO;G,*)2!4:&ES('!R;W9I9&5S(')I9VAT+6%N9VQE
XM(&-R;W!M87)K<R!A="!A;&P@9F]U<B!C;W)N97)S+@HE(%1H92!C;VYT96YT
XM<R!O9B!T:&4@<&%G92!A<F4@8V5N=&5R;&EN960@:6YT;R!T:&4@8W)O<&UA
XM<FMS+ HE(&%N9"!A;GD@9&5S:7)E9"!B:6YD:6YG(&]F9G-E="!I<R!A9&1E
XM9"!A<R!A;B!<:'-K:7 @;VX@96ET:&5R"B4@<VET92!O9B!T:&4@8V5N=&5R
XM;&EN960@8F]X+B @*% N($$N($UA8TMA>2P@,3(@3F]V96UB97(L(#$Y.#8I
XM"B4*7&1E9EQC<F]P<&%G96]U=",Q>UQH;V9F<V5T/3!P=" E(&UA:V4@<W5R
XM92!T:&ES(&1O97-N)W0@;65S<R!T:&EN9W,@=7 *"0D@7'-H:7!O=70*"0D@
XM7'9B;W@@=&\@7&]U=&5R=G-I>F5[7&AS:7IE/5QO=71E<FAS:7IE"B @(" @
XM(" @(" @(" @(" @7'9B;WA[7&QI;F5[7&5W=&]P7&AF:6QL7&5W=&]P?7T*
XM(" @(" @(" @(" @(" @("!<;F]I;G1E<FQI;F5S:VEP"B @(" @(" @(" @
XM(" @(" @7&QI;F5[7'9B;WA[7&UO=F5L969T7&-O<FYE<G1H:6-K7&YS=&]P
XM?0H@(" @(" @(" @(" @(" @(" @(" @(%QH9FEL; H@(" @(" @(" @(" @
XM(" @(" @(" @(%QV8F]X>UQM;W9E<FEG:'1<8V]R;F5R=&AI8VM<;G-T;W!]
XM?0H@(" @(" @(" @(" @(" @(%QV<VMI<"!<=&]P86YD8F]T=&]M;6%R9VEN
XM"B @(" @(" @(" @(" @(" @7&-E;G1E<FQI;F5[7&EF;V1D7'!A9V5N;UQH
XM<VMI<%QB:6YD:6YG;V9F<V5T7&9I"@D)"5QV8F]X>PH)"0E[7&QE=%QH<VEZ
XM93U<<&%G97=I9'1H(%QM86ME:&5A9&QI;F5]"@D)"5QP86=E8F]D>7LC,7T*
XM"0D)>UQL971<:'-I>F4]7'!A9V5W:61T:"!<;6%K969O;W1L:6YE?7T*"0D)
XM7&EF;V1D7'!A9V5N;UQE;'-E7&AS:VEP7&)I;F1I;F=O9F9S971<9FE]"@D)
XM(%QV<VMI<"!<=&]P86YD8F]T=&]M;6%R9VEN('!L=7,Q9FEL;"!M:6YU<S%F
XM:6QL"B @(" @(" @(" @(" @(" @7&)O>&UA>&1E<'1H7&-O<FYE<G1H:6-K
XM"B @(" @(" @(" @(" @(" @7&QI;F5[7'9B;WA[7&UO=F5L969T7&-O<FYE
XM<G1H:6-K7&YS8F]T?0H@(" @(" @(" @(" @(" @(" @(" @(%QH9FEL; H@
XM(" @(" @(" @(" @(" @(" @(" @(%QV8F]X>UQM;W9E<FEG:'1<8V]R;F5R
XM=&AI8VM<;G-B;W1]?0H@(" @(" @(" @(" @(" @(%QN;VEN=&5R;&EN97-K
XM:7 *(" @(" @(" @(" @(" @("!<=F)O>'M<;&EN97M<97=B;W1<:&9I;&Q<
XM97=B;W1]?0H)?0H@(%QA9'9A;F-E<&%G96YO( H@(%QI9FYU;5QO=71P=71P
XM96YA;'1Y/BTR,# P,"!<96QS95QD;W-U<&5R96IE8W1<9FE]"B4*)2!$;R! 
XM8W)O<&UA<FMS('1O(&=E="!C<F]P(&UA<FMS"EQD969<8W)O<&UA<FMS>UQL
XM971<;VYE<&%G96]U=#U<8W)O<'!A9V5O=70@?0H*7&1E9EQP86=E8F]D>2,Q
XM>UQV8F]X('1O7'!A9V5H96EG:'1[7&)O>&UA>&1E<'1H/5QM87AD97!T:" C
XM,7U]"GM<8V%T8V]D96!<0" ],3$*7&=D969<<&%G96-O;G1E;G1S(S%[7&EF
XM=F]I9%QT;W!I;G-<96QS95QU;G9B;WA<=&]P:6YS7&9I"EQD:6UE;D ]7&1P
XM(S$@7'5N=F)O>",Q"EQI9G9O:61<9F]O=&EN<UQE;'-E7'9S:VEP7'-K:7!<
XM9F]O=&EN<UQF;V]T;F]T97)U;&4@7'5N=F)O>%QF;V]T:6YS7&9I"EQI9G) 
XM9V=E9&)O='1O;2!<:V5R;BU<9&EM96Y (%QV9FEL(%QF:7T*?0H*)0HE($AE
XM<F4@87)E('1H92!R=6QE<R!F;W(@=&AE(&-R;W!M87)K<RX@($YO=&4@=&AA
XM="!T:&5Y(&%R90HE(&]F9G-E="!S;R!T:&%T('1H92!S<&%C92!B971W965N
XM('1H96T@:7,@=')U;'D@7&]U=&5R:'-I>F4@;W(@7&]U=&5R=G-I>F4*)2 H
XM4"X@02X@36%C2V%Y+" Q,B!.;W9E;6)E<BP@,3DX-BD*)0I<9&5F7&5W=&]P
XM>UQV<G5L92!H96EG:'1<8V]R;F5R=&AI8VL@9&5P=&@P<'0@=VED=&A<8V]R
XM;F5R;&]N9WT*7&1E9EQN<W1O<'M<=F)O> H@('M<:')U;&4@:&5I9VAT7&-O
XM<FYE<G1H:6-K(&1E<'1H7&-O<FYE<FQO;F<@=VED=&A<8V]R;F5R=&AI8VM]
XM?0I<9&5F7&5W8F]T>UQV<G5L92!H96EG:'0P<'0@9&5P=&A<8V]R;F5R=&AI
XM8VL@=VED=&A<8V]R;F5R;&]N9WT*7&1E9EQN<V)O='M<=F)O> H@('M<:')U
XM;&4@:&5I9VAT7&-O<FYE<FQO;F<@9&5P=&A<8V]R;F5R=&AI8VL@=VED=&A<
XM8V]R;F5R=&AI8VM]?0H*)2!087)S92!A;B!A<F=U;65N="P@=&AE;B!P87-S
XM(&ET('1O(",Q+@HE(%1H92!A<F=U;65N="!C86X@8F4@9&5L:6UI=&5D('=I
XM=&@@6RXN+ET@;W(@=VET:" B+BXN(B!O<B!B<F%C97,*)2!O<B!I="!C86X@
XM8F4@82!W:&]L92!L:6YE+@HE(",Q('-H;W5L9"!B92!A(&UA8W)O('=H:6-H
XM(&5X<&5C=',*)2!A;B!O<F1I;F%R>2!U;F1E;&EM:71E9"!495@@87)G=6UE
XM;G0N"@I<9&5F7'!A<G-E87)G(",Q>UQL971<;F5X=#TC,5QB96=I;F=R;W5P
XM7&]B97EL:6YE<UQF=71U<F5L971<=&5M<%QP87)S96%R9WA]"@I<9&5F7'!A
XM<G-E87)G>'LE"EQI9G@@7&]B97EE9'-P86-E7'1E;7 @7&%F=&5R9W)O=7!<
XM<&%R<V5A<F=D:7-C87)D<W!A8V4@7&5L<V4E"EQA9G1E<F=R;W5P(%QP87)S
XM96%R9VQI;F4@)0I<9FD@7&5N9&=R;W5P?0H*>UQO8F5Y<W!A8V5S("4*7&=D
XM969<<&%R<V5A<F=D:7-C87)D<W!A8V4@>UQB96=I;F=R;W5P7&]B97EL:6YE
XM<UQF=71U<F5L971<=&5M<%QP87)S96%R9WA]?0H*7&=D969<;V)E>65D<W!A
XM8V5[7"!]"@I<9&5F7'!A<G-E87)G;&EN97M<8F5G:6YG<F]U<"!<;V)E>6QI
XM;F5S(%QP87)S96%R9VQI;F5X?0I[7&]B97EL:6YE<R E"EQG9&5F7'!A<G-E
XM87)G;&EN97@@(S%>7DU[7&5N9&=R;W5P(%QN97AT('LC,7U]?0H*7&1E9EQF
XM;'5S:&-R>UQI9GA<<&%R7&QI<W!P87(@7&1E9EQN97AT(R,Q>WU<96QS92!<
XM;&5T7&YE>'0]7')E;&%X(%QF:2!<;F5X='T*"B4E(%1H97-E(&%R92!U<V5D
XM('1O(&ME97 @0&)E9VEN+T!E;F0@;&5V96QS(&9R;VT@<G5N;FEN9R!A=V%Y
XM"B4E($-A;&P@7&EN14Y6('=I=&AI;B!E;G9I<F]N;65N=',@*&%F=&5R(&$@
XM7&)E9VEN9W)O=7 I"EQN97=I9EQI9D5.5B!<14Y69F%L<V4@7&1E9EQI;D5.
XM5GM<:69%3E9<<F5L87A<96QS95Q%3E9T<G5E7&9I?0I<9&5F7$5.5F-H96-K
XM>R4*7&EF14Y67&5R<FUE<W-A9V5[4W1I;&P@=VET:&EN(&%N(&5N=FER;VYM
XM96YT+B @5'EP92!2971U<FX@=&\@8V]N=&EN=64N?0I<96YD9W)O=7!<9FE]
XM("4@5&AI<R!I<R!N;W0@<&5R9F5C="P@8G5T(&ET('-H;W5L9"!R961U8V4@
XM;&]S<V%G90H*)2! 8F5G:6X@9F]O("!I<R!T:&4@<V%M92!A<R! 9F]O+"!F
XM;W(@;F]W+@I<;F5W:&5L<%Q%37-I;7!L97M4>7!E(#Q2971U<FX^('1O(&-O
XM;G1I;G5E?0H*7&]U=&5R7&1E9EQB96=I;GM<<&%R<V5A<F=<8F5G:6YX>'A]
XM"@I<9&5F7&)E9VEN>'AX(",Q>R4*7&5X<&%N9&%F=&5R7&EF>%QC<VYA;64@
XM(S%<96YD8W-N86UE7')E;&%X"GM<97)R:&5L<#U<14US:6UP;&4@7&5R<FUE
XM<W-A9V5[56YD969I;F5D(&-O;6UA;F0@0&)E9VEN(",Q?7U<96QS90I<8W-N
XM86UE(",Q7&5N9&-S;F%M95QF:7T*"B4E($!E;F0@9F]O(&5X96-U=&5S('1H
XM92!D969I;FET:6]N(&]F(%Q%9F]O+@HE)2!F;V\@8V%N(&)E(&1E;&EM:71E
XM9"!B>2!D;W5B;&5Q=6]T97,@;W(@8G)A8VME=',N"@I<9&5F7&5N9'M<<&%R
XM<V5A<F=<96YD>'AX?0H*7&1E9EQE;F1X>'@@(S%[)0I<97AP86YD869T97)<
XM:69X7&-S;F%M92!%(S%<96YD8W-N86UE7')E;&%X"EQE>'!A;F1A9G1E<EQI
XM9GA<8W-N86UE(",Q7&5N9&-S;F%M95QR96QA> I<97)R;65S<V%G97M5;F1E
XM9FEN960@8V]M;6%N9"! 96YD(",Q?5QE;'-E"EQE<G)O<D5[(S%]7&9I7&9I
XM"EQC<VYA;64@12,Q7&5N9&-S;F%M97T*7&1E9EQE<G)O<D4C,7L*>UQE<G)H
XM96QP/5Q%37-I;7!L92!<97)R;65S<V%G97M 96YD(",Q(&YO="!W:71H:6X@
XM(S$@96YV:7)O;FUE;G1]?7T*"B4@4VEN9VQE+7-P86-I;F<@:7,@9&]N92!B
XM>2!V87)I;W5S(&5N=FER;VYM96YT<RX*"EQN97=S:VEP7'-I;F=L97-P86-E
XM<VMI<"!<<VEN9VQE<W!A8V5S:VEP(#T@7&)A<V5L:6YE<VMI< I<9&5F7'-I
XM;F=L97-P86-E>R4*>UQA9'9A;F-E(%QB87-E;&EN97-K:7 @8GD@+5QS:6YG
XM;&5S<&%C97-K:7 *7&ME<FX@7&)A<V5L:6YE<VMI<'TE"EQB87-E;&EN97-K
XM:7 ]7'-I;F=L97-P86-E<VMI< I]"@HE)2!3:6UP;&4@<VEN9VQE+6-H87)A
XM8W1E<B! (&-O;6UA;F1S"@HE($! ('!R:6YT<R!A;B! "B4@2VQU9&=E('1H
XM:7,@=6YT:6P@=&AE(&9O;G1S(&%R92!R:6=H=" H9W)R*2X*7&1E9EQ >WM<
XM<V8@7&-H87(@)S$P,'U]"@HE($1E9FEN92! 8"!A;F0@0"<@=&\@8F4@=&AE
XM('-A;64@87,@8"!A;F0@)PHE(&)U="!S=7!P<F5S<VEN9R!L:6=A='5R97,N
XM"EQD969<8'M[8'U]"EQD969<)WM[)WU]"@HE(%5S960@=&\@9V5N97)A=&4@
XM<75O=&5D(&)R86-E<RX*"EQD969<;7EL8G)A8V4@>WM<='0@7&-H87(@)S$W
XM,WU]"EQD969<;7ER8G)A8V4@>WM<='0@7&-H87(@)S$W-7U]"EQL971<>SU<
XM;7EL8G)A8V4*7&QE=%Q]/5QM>7)B<F%C90H*)2! .B!F;W)C97,@;F]R;6%L
XM('-I>F4@=VAI=&5S<&%C92!F;VQL;W=I;F<N"EQD969<.GM<<W!A8V5F86-T
XM;W(],3 P,"!]"@HE($ J(&9O<F-E<R!A(&QI;F4@8G)E86LN"EQD969<*GM<
XM:&9I;%QB<F5A:WT*"B4@0"X@:7,@86X@96YD+6]F+7-E;G1E;F-E('!E<FEO
XM9"X*7&1E9EPN>RY<<W!A8V5F86-T;W(],S P,"!]"@HE($!W('!R979E;G1S
XM(&$@=V]R9"!B<F5A:PI<9&5F7'<@(S%[7&AB;WA[(S%]?0H*)2! 9W)O=7 @
XM+BXN($!E;F0@9W)O=7 @(&9O<F-E<R N+BX@=&\@8F4@86QL(&]N(&]N92!P
XM86=E+@H*7&1E9EQG<F]U<'M<8F5G:6YG<F]U<"4@7&EN14Y6(#\_/PI<9&5F
XM(%Q%9W)O=7![7&5G<F]U<%QE;F1G<F]U<'T*7'9B;WA<8F=R;W5P?0H*)2! 
XM8G(@("!F;W)C97,@<&%R86=R87!H(&)R96%K"@I<;&5T7&)R(#T@7'!A<@H*
XM)2! 9&]T<WM]("!O=71P=70@<V]M92!D;W1S"@I<9&5F7&1O='-[)%QL9&]T
XM<R1]"@HE($!P86=E(" @(&9O<F-E<R!T:&4@<W1A<G0@;V8@82!N97<@<&%G
XM90H*7&1E9EQP86=E>UQP87)<=F9I;&Q<<W5P97)E:F5C='T*"B4@0&5X9&5N
XM="!T97AT+BXN+@HE(&]U='!U=',@=&5X="!O;B!S97!A<F%T92!L:6YE(&EN
XM(')O;6%N(&9O;G0L('-T87)T:6YG(&%T('-T86YD87)D('!A9V4@;6%R9VEN
XM"@I<9&5F7&5X9&5N='M<97)R;65S<V%G97M 97AD96YT(&EN(&9I;&QE9"!T
XM97AT?7T*(" E($!L:7-P+"!E=&,L(&1E9FEN92!<97AD96YT(&QO8V%L;'D@
XM9G)O;2!<:6YT97)N86QE>&1E;G0*"GM<;V)E>7-P86-E<PI<9V1E9EQI;G1E
XM<FYA;&5X9&5N='M<<&%R<V5A<F=<97AD96YT>GIZ?7T*"EQD969<97AD96YT
XM>GIZ(",Q>WM<861V86YC92!<;&5F='-K:7 @8GD@+5QL:7-P;F%R<F]W:6YG
XM"EQA9'9A;F-E(%QH<VEZ92!B>2 M7&QE9G1S:VEP"EQA9'9A;F-E(%QH<VEZ
XM92!B>2 M7')I9VAT<VMI< I<;&5F=&QI;F5[>UQR;2,Q?7U]?0H*)2! :6YC
XM;'5D92!F:6QE(" @(&EN<V5R="!T97AT(&]F('1H870@9FEL92!A<R!I;G!U
XM="X*"EQD969<:6YC;'5D97M<<&%R<V5A<F=<:6YC;'5D97IZ>GT*7&1E9EQI
XM;F-L=61E>GIZ(",Q>WM<9&5F7'1H:7-F:6QE>R,Q?5QI;G!U=" C,0I]?0H*
XM7&1E9EQT:&ES9FEL97M]"@HE($!C96YT97(@;&EN92 @(&]U='!U=',@=&AA
XM="!L:6YE+"!C96YT97)E9 H*7&1E9EQC96YT97)[7'!A<G-E87)G7&-E;G1E
XM<GIZ>GT*7&1E9EQC96YT97)Z>GH@(S%[>UQA9'9A;F-E7&AS:7IE(&)Y("U<
XM;&5F='-K:7 *7&%D=F%N8V5<:'-I>F4@8GD@+5QR:6=H='-K:7 *7&-E;G1E
XM<FQI;F5[(S%]?7T*"B4@0'-P(&X@("!O=71P=71S(&X@;&EN97,@;V8@=F5R
XM=&EC86P@<W!A8V4*"EQD969<<W![7'!A<G-E87)G7'-P>'AX?0I<9&5F7'-P
XM>'AX(",Q>UQP87(@7'9S:VEP(",Q7&)A<V5L:6YE<VMI<'T*"B4@0&-O;6UE
XM;G0@+BXN;&EN92!W:&EC:"!I<R!I9VYO<F5D+BXN"B4@0&,@:7,@=&AE('-A
XM;64@87,@0&-O;6UE;G0*)2! :6=N;W)E("XN+B! 96YD(&EG;F]R92 @:7,@
XM86YO=&AE<B!W87D@=&\@=W)I=&4@82!C;VUM96YT"@I<9&5F7&-O;6UE;G1[
XM7'!A<G-E87)G(%QC;VUM96YT>'AX?0H*7&1E9EQC;VUM96YT>'AX(",Q>WT*
XM"EQL971<8SU<8V]M;65N= H*)2!0<F5V96YT(&5R<F]R<R!F;W(@<V5C=&EO
XM;B!C;VUM86YD<RX*)2!5<V5D(&EN($!I9VYO<F4@86YD(&EN(&9A:6QI;F<@
XM8V]N9&ET:6]N86QS+@I<9&5F7&EG;F]R97-E8W1I;VYS>R4*7&QE=%QC:&%P
XM=&5R/5QR96QA> I<;&5T7'5N;G5M8F5R960]7')E;&%X"EQL971<=6YN=6UB
XM97)E9'-E8SU<<F5L87@*7&QE=%QU;FYU;6)E<F5D<V5C=&EO;CU<<F5L87@*
XM7&QE=%QU;FYU;6)E<F5D<W5B<V5C/5QR96QA> I<;&5T7'5N;G5M8F5R961S
XM=6)S96-T:6]N/5QR96QA> I<;&5T7'5N;G5M8F5R961S=6)S=6)S96,]7')E
XM;&%X"EQL971<=6YN=6UB97)E9'-U8G-U8G-E8W1I;VX]7')E;&%X"EQL971<
XM<V5C=&EO;CU<<F5L87@*7&QE=%QS=6)S96,]7')E;&%X"EQL971<<W5B<W5B
XM<V5C/5QR96QA> I<;&5T7'-U8G-E8W1I;VX]7')E;&%X"EQL971<<W5B<W5B
XM<V5C=&EO;CU<<F5L87@*7&QE=%QA<'!E;F1I>#U<<F5L87@*7&QE=%QA<'!E
XM;F1I>'-E8SU<<F5L87@*7&QE=%QA<'!E;F1I>'-E8W1I;VX]7')E;&%X"EQL
XM971<87!P96YD:7AS=6)S96,]7')E;&%X"EQL971<87!P96YD:7AS=6)S96-T
XM:6]N/5QR96QA> I<;&5T7&%P<&5N9&EX<W5B<W5B<V5C/5QR96QA> I<;&5T
XM7&%P<&5N9&EX<W5B<W5B<V5C=&EO;CU<<F5L87@*?0H*7&1E9EQI9VYO<F5[
XM7&)E9VEN9W)O=7!<:6=N;W)E<V5C=&EO;G-<:6=N;W)E>'AX?0I<;&]N9UQD
XM969<:6=N;W)E>'AX(",Q7&5N9"!I9VYO<F5[7&5N9&=R;W5P?0H*)2!#;VYD
XM:71I;VYA;',@=&\@=&5S="!W:&5T:&5R(&$@9FQA9R!I<R!S970N"@I<;W5T
XM97)<9&5F7&EF<V5T>UQB96=I;F=R;W5P7&EG;F]R97-E8W1I;VYS7'!A<G-E
XM87)G7&EF<V5T>'AX?0H*7&1E9EQI9G-E='AX>" C,7M<96YD9W)O=7 *7&5X
XM<&%N9&%F=&5R7&EF>%QC<VYA;64@248C,5QE;F1C<VYA;65<<F5L87@@7&QE
XM=%QT96UP/5QI9G-E=&9A:6P*7&5L<V4@7&QE=%QT96UP/5QR96QA>"!<9FD*
XM7'1E;7!]"EQD969<16EF<V5T>WT*7&1E9EQI9G-E=&9A:6Q[7&)E9VEN9W)O
XM=7!<:6=N;W)E<V5C=&EO;G-<:69S971F86EL>'AX?0I<;&]N9UQD969<:69S
XM971F86EL>'AX(",Q7&5N9"!I9G-E='M<96YD9W)O=7!]"@I<;W5T97)<9&5F
XM7&EF8VQE87)[7&)E9VEN9W)O=7!<:6=N;W)E<V5C=&EO;G-<<&%R<V5A<F=<
XM:69C;&5A<GAX>'T*"EQD969<:69C;&5A<GAX>" C,7M<96YD9W)O=7 *7&5X
XM<&%N9&%F=&5R7&EF>%QC<VYA;64@248C,5QE;F1C<VYA;65<<F5L87@@7&QE
XM=%QT96UP/5QR96QA> I<96QS92!<;&5T7'1E;7 ]7&EF8VQE87)F86EL(%QF
XM:0I<=&5M<'T*7&1E9EQ%:69C;&5A<GM]"EQD969<:69C;&5A<F9A:6Q[7&)E
XM9VEN9W)O=7!<:6=N;W)E<V5C=&EO;G-<:69C;&5A<F9A:6QX>'A]"EQL;VYG
XM7&1E9EQI9F-L96%R9F%I;'AX>" C,5QE;F0@:69C;&5A<GM<96YD9W)O=7!]
XM"@HE(%-O;64@=&5X:6YF;R!C;VYS=')U8W1S('1H870@87)E('1R:79I86P@
XM:6X@=&5X"@I<9&5F7&EF=&5X>WT*7&1E9EQ%:69T97A[?0I<9&5F7&EF:6YF
XM;WM<8F5G:6YG<F]U<%QI9VYO<F5S96-T:6]N<UQI9FEN9F]X>'A]"EQL;VYG
XM7&1E9EQI9FEN9F]X>'@@(S%<96YD(&EF:6YF;WM<96YD9W)O=7!]"EQL;VYG
XM7&1E9EQM96YU(",Q7&5N9"!M96YU>WT*7&1E9EQA<VES(S%[(S%]"@I<9&5F
XM7&YO9&5[7'!A<G-E87)G7&YO9&5Z>GI]"EQD969<;F]D97IZ>B,Q>UQN;V1E
XM>'AX(%LC,2Q=?0I<9&5F7&YO9&5X>'A;(S$L(S)=>UQG9&5F7&QA<W1N;V1E
XM>R,Q?7T*7&QE=%QL87-T;F]D93U<<F5L87@*"EQD969<9&]N;V1E<F5F>UQI
XM9GA<;&%S=&YO9&5<<F5L87A<96QS90I<97AP86YD869T97)<97AP86YD869T
XM97)<97AP86YD869T97)<<V5T<F5F>UQL87-T;F]D97U<9FD*7&QE=%QL87-T
XM;F]D93U<<F5L87A]"@I<9&5F7'5N;G5M8FYO9&5R969[7&EF>%QL87-T;F]D
XM95QR96QA>%QE;'-E"EQE>'!A;F1A9G1E<EQE>'!A;F1A9G1E<EQE>'!A;F1A
XM9G1E<EQU;FYU;6)S971R969[7&QA<W1N;V1E?5QF:0I<;&5T7&QA<W1N;V1E
XM/5QR96QA>'T*"EQL971<<F5F:6QL/5QR96QA> H@( HE($!S971F:6QE;F%M
XM92!I<R!D;VYE(&%T('1H92!B96=I;FYI;F<@;V8@979E<GD@=&5X:6YF;R!F
XM:6QE+@HE(%-O(&]P96X@:&5R92!T:&4@9FEL97,@=V4@;F5E9"!T;R!H879E
XM(&]P96X@=VAI;&4@<F5A9&EN9R!T:&4@:6YP=70N"B4@5&AI<R!M86ME<R!I
XM="!P;W-S:6)L92!T;R!M86ME(&$@+F9M="!F:6QE(&9O<B!T97AI;F9O+@I<
XM9&5F7'-E=&9I;&5N86UE>R4*(" @7')E861A=7AF:6QE"B @(%QO<&5N8V]N
XM=&5N=',*(" @7&]P96YI;F1I8V5S"B @(%QF:7AB86-K<VQA<V@@("4@5'5R
XM;B!O9F8@:&%C:R!T;R!S=V%L;&]W(&!<:6YP=70@=&5X:6YF;R<N"B @(%QC
XM;VUM96YT("4@26=N;W)E('1H92!A8W1U86P@9FEL96YA;64N"GT*"EQO=71E
XM<EQD969<8GEE>UQP86=E86QI9VYM86-R;UQT<F%C:6YG<W1A=',],5QP=&5X
XM96YD?0H*7&1E9EQI;F9O<F5F(",Q>UQI;F9O<F5F>GIZ(",Q+"PL+"HJ?0I<
XM9&5F7&EN9F]R969Z>GH@(S$L(S(L(S,L(S0J*GM3964@26YF;R!F:6QE(%QF
XM:6QE>UQL;W-E<W!A8V4C,WM]?2P@;F]D92!@7&QO<V5S<&%C92,Q>WTG?0I<
XM9&5F7&QO<V5S<&%C92 C,7LC,7T*"EQM97-S86=E>V9O;G1S+'T*"B4@1F]N
XM="UC:&%N9V4@8V]M;6%N9',N"@HE)2!4<GD@;W5T($-O;7!U=&5R($UO9&5R
XM;B!F;VYT<R!A="!<;6%G<W1E<&AA;&8*7&9O;G1<=&5N<FT]8VUR,3 @<V-A
XM;&5D(%QM86=S=&5P:&%L9@I<9F]N=%QT96YT=#UC;71T,3 @<V-A;&5D(%QM
XM86=S=&5P:&%L9@HE($EN<W1E860@;V8@8VUB,3 L('EO=2!M86YY('=A;G0@
XM=&\@=7-E(&-M8G@Q,"X*)2!C;6)X,3 @:7,@82!P<F5T=&EE<B!F;VYT(&]N
XM(&ET<R!O=VXL(&)U="!C;6(Q, HE(&QO;VMS(&)E='1E<B!W:&5N(&5M8F5D
XM9&5D(&EN(&$@;&EN92!W:71H(&-M<C$P+@I<9F]N=%QT96YB9CUC;6(Q,"!S
XM8V%L960@7&UA9W-T97!H86QF( I<9F]N=%QT96YI=#UC;71I,3 @<V-A;&5D
XM(%QM86=S=&5P:&%L9@I<9F]N=%QT96YS;#UC;7-L,3 @<V-A;&5D(%QM86=S
XM=&5P:&%L9@I<9F]N=%QT96YS9CUC;7-S,3 @<V-A;&5D(%QM86=S=&5P:&%L
XM9@I<9&5F7&QI>UQS9GT*7&9O;G1<=&5N<V,]8VUC<V,Q,"!S8V%L960@7&UA
XM9W-T97!H86QF"@HE($9O;G1S(&9O<B! 9&5F=6XL(&5T8RX*7&9O;G1<9&5F
XM8F8]8VUB>#$P('-C86QE9"!<;6%G<W1E<#$@)7=A<R Q,S$T"EQL971<9&5F
XM='0]7'1E;G1T"EQD969<9&9[7&QE=%QT=#U<9&5F='0@7&1E9F)F?0H*)2!&
XM;VYT(&9O<B!T:71L90I<9F]N=%QT:71L97)M(#T@8VUB>#$P('-C86QE9"!<
XM;6%G<W1E<#4*"B4@1F]N=',@9F]R(&EN9&EC97,*7&9O;G1<:6YD:70]8VUT
XM:3D@7&9O;G1<:6YD<FT]8VUR.0I<9&5F7&EN9&)F>UQI;F1R;7T@7&1E9EQI
XM;F1S;'M<:6YD:71]"EQD969<:6YD97AF;VYT<WM<;&5T7&ET/5QI;F1I="!<
XM;&5T7'-L/5QI;F1S;"!<;&5T7&)F/5QI;F1B9B!<;&5T7')M/5QI;F1R;7T*
XM"B4@1F]N=',@9F]R(&AE861I;F=S"EQF;VYT7&-H87!R;3UC;6)X,3 @<V-A
XM;&5D(%QM86=S=&5P,PI<9F]N=%QC:&%P:70]8VUT:3$P('-C86QE9"!<;6%G
XM<W1E<#,*7&9O;G1<8VAA<'-L/6-M<VPQ,"!S8V%L960@7&UA9W-T97 S"EQF
XM;VYT7&-H87!T=#UC;71T,3 @<V-A;&5D(%QM86=S=&5P,PI<9F]N=%QC:&%P
XM<V8]8VUS<S$P('-C86QE9"!<;6%G<W1E<#,*7&QE=%QC:&%P8F8]7&-H87!R
XM;0H*7&9O;G1<<V5C<FT]8VUB>#$P('-C86QE9"!<;6%G<W1E<#(*7&9O;G1<
XM<V5C:70]8VUT:3$P('-C86QE9"!<;6%G<W1E<#(*7&9O;G1<<V5C<VP]8VUS
XM;#$P('-C86QE9"!<;6%G<W1E<#(*7&9O;G1<<V5C='0]8VUT=#$P('-C86QE
XM9"!<;6%G<W1E<#(*7&9O;G1<<V5C<V8]8VUS<S$P('-C86QE9"!<;6%G<W1E
XM<#(*7&QE=%QS96-B9CU<<V5C<FT*"B4@7&9O;G1<<W-E8W)M/6-M8G@Q,"!S
XM8V%L960@7&UA9W-T97 Q(" @("4@5&AI<R!S:7IE(&%N(&9O;G1L;V]K960@
XM8F%D+@HE(%QF;VYT7'-S96-I=#UC;71I,3 @<V-A;&5D(%QM86=S=&5P,2 @
XM(" E(%1H92!L971T97)S('=E<F4@=&]O(&-R;W=D960N"B4@7&9O;G1<<W-E
XM8W-L/6-M<VPQ,"!S8V%L960@7&UA9W-T97 Q"B4@7&9O;G1<<W-E8W1T/6-M
XM='0Q,"!S8V%L960@7&UA9W-T97 Q"B4@7&9O;G1<<W-E8W-F/6-M<W,Q,"!S
XM8V%L960@7&UA9W-T97 Q"@I<9F]N=%QS<V5C<FT]8VUB,3 @870@,3-P= DE
XM($YO=&4@=&AE('5S92!O9B!C;6(@<F%T:&5R('1H86X@8VUB>"X*7&9O;G1<
XM<W-E8VET/6-M=&DQ,"!A=" Q,W!T"24@06QS;RP@=&AE('-I>F4@:7,@82!L
XM:71T;&4@;&%R9V5R('1H86X*7&9O;G1<<W-E8W-L/6-M<VPQ,"!A=" Q,W!T
XM"24@8F5I;F<@<V-A;&5D(&UA9W-T97 Q+@I<9F]N=%QS<V5C='0]8VUT=#$P
XM(&%T(#$S<'0*7&9O;G1<<W-E8W-F/6-M<W,Q,"!A=" Q,W!T"@I<;&5T7'-S
XM96-B9CU<<W-E8W)M"@I<9&5F7'1E>'1F;VYT<WM<;&5T7')M/5QT96YR;5QL
XM971<:70]7'1E;FET7&QE=%QS;#U<=&5N<VQ<;&5T7&)F/5QT96YB9B4*7&QE
XM=%QS;6%L;&-A<',]7'1E;G-C7&QE=%QS9CU<=&5N<V9]"EQD969<8VAA<&9O
XM;G1S>UQL971<<FT]7&-H87!R;5QL971<:70]7&-H87!I=%QL971<<VP]7&-H
XM87!S;%QL971<8F8]7&-H87!B9EQL971<='0]7&-H87!T=%QL971<<V8]7&-H
XM87!S9GT*7&1E9EQS96-F;VYT<WM<;&5T7')M/5QS96-R;5QL971<:70]7'-E
XM8VET7&QE=%QS;#U<<V5C<VQ<;&5T7&)F/5QS96-B9EQL971<='0]7'-E8W1T
XM7&QE=%QS9CU<<V5C<V9]"EQD969<<W5B<V5C9F]N='-[7&QE=%QR;3U<<W-E
XM8W)M7&QE=%QI=#U<<W-E8VET7&QE=%QS;#U<<W-E8W-L7&QE=%QB9CU<<W-E
XM8V)F7&QE=%QT=#U<<W-E8W1T7&QE=%QS9CU<<W-E8W-F?0HE($-O=6YT(&1E
XM<'1H(&EN(&9O;G0M8VAA;F=E<RP@9F]R(&5R<F]R(&-H96-K<PI<;F5W8V]U
XM;G1<9F]N=&1E<'1H(%QF;VYT9&5P=&@], H*)2!&;VYT(&9O<B!T86)L92!O
XM9B!C;VYT96YT<RX*7&9O;G1<=')U97-E8W)M/6-M<C$R"@HE)2!!9&0@<V-R
XM:6)E+6QI:V4@9F]N="!E;G9I<F]N;65N=',L('!L=7,@0&P@9F]R(&EN;&EN
XM92!L:7-P("AU<W5A;&QY('-A;G,*)24@<V5R:68I(&%N9"! :6D@9F]R(%1E
XM6"!I=&%L:6,*"EQD969<:2,Q>WM<<VP@(S%]?0I<;&5T7'9A<CU<:0I<;&5T
XM7&1F;CU<:0I<;&5T7&5M<&@]7&D*7&QE=%QC:71E/5QI"@I<9&5F7&(C,7M[
XM7&)F(",Q?7T*7&QE=%QS=')O;F<]7&(*"EQD969<=",Q>WM<='0@7')A=V)A
XM8VMS;&%S:"!<9G)E;F-H<W!A8VEN9R C,7U<;G5L;'T*7&QE=%QT=&9O;G0@
XM/2!<= I<;&5T7&MB9#U<= I<;&5T7&-O9&4]7'0*7&1E9EQS86UP(",Q>V![
XM7'1T(%QR87=B86-K<VQA<V@@7&9R96YC:'-P86-I;F<@(S%])UQN=6QL?0I<
XM9&5F7&ME>2 C,7M[7'1T(%QU<'!E<F-A<V5[(S%]?5QN=6QL?0I<9&5F7&-T
XM<FP@(S%[>UQT="!<<F%W8F%C:W-L87-H(%QH871](S%]"@I<;&5T7&9I;&4]
XM7'-A;7 *"EQD969<;",Q>WM<;&D@(S%]7&YU;&Q]"0DE( H*7&1E9EQR(S%[
XM>UQR;2 C,7U]"0DE(')O;6%N(&9O;G0*7&1E9EQS8R,Q>WM<7'-M86QL8V%P
XM<R C,7U]"24@<VUA;&QC87!S(&9O;G0*7&1E9EQI:2,Q>WM<:70@(S%]?0D)
XM)2!I=&%L:6,@9F]N= H*7&1E9EQT:71L969O;G0C,7M[7'1I=&QE<FT@(S%]
XM?0H*)2!-86ME(&%L=&UO9&4@:6X@9FEL92!P<FEN="!O=70@<FEG:'0*"EQC
XM871C;V1E(&!<7EY;/5QA8W1I=F4@7&1E9EY>6WLD7&1I86UO;F1S=6ET)'T*
XM"EQM97-S86=E>W!A9V4@:&5A9&EN9W,L?0H*7&YE=W-K:7!<=&ET;&5P86=E
XM=&]P9VQU92!<=&ET;&5P86=E=&]P9VQU92 ](#$N-6EN"EQN97=S:VEP7'1I
XM=&QE<&%G96)O='1O;6=L=64@7'1I=&QE<&%G96)O='1O;6=L=64@/2 R<&,*
XM"B4@1FER<W0@=&AE('1I=&QE('!A9V4N("!-=7-T(&1O($!S971T:71L92!B
XM969O<F4@0'1I=&QE<&%G92X*7&9O;G1<=&ET;&5R;2 ](&-M8G@Q,B!S8V%L
XM960@7&UA9W-T97 R"EQD969<=&ET;&5F;VYT(S%[>UQT:71L97)M(",Q?7T*
XM"EQN97=T;VMS7')E86QE=F5R>7!A<@I<;F5W:69<:69S965N875T:&]R"@I<
XM9&5F7'1I=&QE<&%G97M<8F5G:6YG<F]U<"!<<&%R:6YD96YT/3!P="!<=&5X
XM=&9O;G1S"B @(%QF;VYT7'-U8G1I=&QE<FT@/2!C;7(Q,"!S8V%L960@7&UA
XM9W-T97!H86QF"B @(%QD969<<W5B=&ET;&5F;VYT>UQS=6)T:71L97)M(%QN
XM;W)M86QB87-E;&EN97-K:7 @/2 Q,G!T(%QN;W)M86QB87-E;&EN97-])0H@
XM(" E"B @(%QF;VYT7&%U=&AO<G)M(#T@8VUB>#$R('-C86QE9"!<;6%G<W1E
XM<#$*(" @7&1E9EQA=71H;W)F;VYT>UQA=71H;W)R;2!<;F]R;6%L8F%S96QI
XM;F5S:VEP(#T@,39P="!<;F]R;6%L8F%S96QI;F5S?24*(" @)0H@(" E(%1H
XM92!F:7)S="!S=6)T:71L92!S:&]U;&0@:&%V92!S;VUE('-P86-E(&)E9F]R
XM92!I="P@8G5T(&YO="!T:&4*(" @)2!O=&AE<G,N("!4:&5Y(&%L;"!S:&]U
XM;&0@8F4@<F%G9V5D(&QE9G0N"B4@/S\_(%1H:7,@8V]D92!T=7)N960@;V9F
XM(&)E8V%U<V4@*#$I(&ET(&ES('=R;VYG(&9O<B!A;&P@;VQD('1I=&QE"B4@
XM<&%G97,L(&%N9" H,BD@:70@;6%K97,@86X@97AT<F$@9W)O=7 @=VAI8V@@
XM;F5V97(@:7,@96YD960N"B4@("!<8F5G:6YG<F]U<"!<<F5A;&5V97)Y<&%R
XM(#T@>UQL969T<VMI<" ](#)I;B!P;'5S(#-E;2!M:6YU<R Q96T*)2 @(" @
XM(" @(" @(" @(" @(" @7'!A<F9I;&QS:VEP(#T@,'!T?24*)2 @(%QE=F5R
XM>7!A<B ]('M<=F=L=64@7&)A<V5L:6YE<VMI<"!<=&AE7')E86QE=F5R>7!A
XM<@HE(" @(" @(" @(" @(" @(%QE=F5R>7!A<CU[7'1H95QR96%L979E<GEP
XM87)]?24*(" @)0H@(" E($YO=R!Y;W4@8V%N('!R:6YT('1H92!T:71L92!U
XM<VEN9R! =&ET;&4N"B @(%QD969<=&ET;&5[7'!A<G-E87)G7'1I=&QE>GIZ
XM?24*(" @7&1E9EQT:71L97IZ>B,C,7M<;&5F=&QI;F5[7'1I=&QE9F]N='LC
XM(S%]"@D)(" @(%QV<VMI<#1P="!<:')U;&4@:&5I9VAT(#1P="!<=G-K:7 T
XM<'1])0H@("!<=F=L=65<=&ET;&5P86=E=&]P9VQU90H@(" E"B @("4@3F]W
XM('EO=2!C86X@<'5T('1E>'0@=7-I;F<@0'-U8G1I=&QE+@H@("!<9&5F7'-U
XM8G1I=&QE>UQP87)S96%R9UQS=6)T:71L97IZ>GTE"B @(%QD969<<W5B=&ET
XM;&5Z>GHC(S%[>UQS=6)T:71L969O;G0@7')I9VAT;&EN97LC(S%]?7TE"B @
XM("4*(" @)2! 875T:&]R('-H;W5L9"!C;VUE(&QA<W0L(&)U="!M87D@8V]M
XM92!M86YY('1I;65S+@H@("!<9&5F7&%U=&AO<GM<<&%R<V5A<F=<875T:&]R
XM>GIZ?24*(" @7&1E9EQA=71H;W)Z>GHC(S%[7&EF<V5E;F%U=&AO<EQE;'-E
XM7'9S:VEP(#!P="!P;'5S(#%F:6QL;%QS965N875T:&]R=')U95QF:0H@(" @
XM("![7&%U=&AO<F9O;G0@7&QE9G1L:6YE>R,C,7U]?24*(" @)2 @"B @("4@
XM36]S="!T:71L92!@8'!A9V5S)R<@87)E(&%C='5A;&QY('1W;R!P86=E<R!L
XM;VYG+"!W:71H('-P86-E"B @("4@870@=&AE('1O<"!O9B!T:&4@<V5C;VYD
XM+B @5V4@9&]N)W0@=V%N="!T:&4@<F%G9V5D(&QE9G0@;VX@=&AE('-E8V]N
XM9"X*(" @7&QE=%QO;&1P86=E(#T@7'!A9V4*)2 @(%QD969<<&%G97M<=G-K
XM:7 T<'0@7&AR=6QE(&AE:6=H=" R<'0@7'9S:VEP7'1I=&QE<&%G96)O='1O
XM;6=L=64*)2 @(" @(%QO;&1P86=E(%QE;F1G<F]U<%QH<G5L92!H96EG:'0P
XM<'1<<F5L87A])0H@("!<9&5F7'!A9V5[7&]L9'!A9V4@7&AB;WA[?7U]"GT*
XM"EQD969<171I=&QE<&%G97M<96YD9W)O=7!<<&%G95Q(14%$24Y'4V]N?0H*
XM)24E(%-E="!U<"!P86=E(&AE861I;F=S(&%N9"!F;V]T:6YG<RX*"EQL971<
XM=&AI<W!A9V4]7&9O;&EO"@I<;F5W=&]K<R!<979E;FAE861L:6YE(" @("4@
XM5&]K96X@<V5Q=65N8V4@9F]R(&AE861I;F<@;&EN92!O9B!E=F5N('!A9V5S
XM"EQN97=T;VMS(%QO9&1H96%D;&EN92 @(" @)2!4;VME;B!S97%U96YC92!F
XM;W(@:&5A9&EN9R!L:6YE(&]F(&]D9"!P86=E<PI<;F5W=&]K<R!<979E;F9O
XM;W1L:6YE(" @("4@5&]K96X@<V5Q=65N8V4@9F]R(&9O;W1I;F<@;&EN92!O
XM9B!E=F5N('!A9V5S"EQN97=T;VMS(%QO9&1F;V]T;&EN92 @(" @)2!4;VME
XM;B!S97%U96YC92!F;W(@9F]O=&EN9R!L:6YE(&]F(&]D9"!P86=E<PH*)2!.
XM;W<@;6%K92!497@@=7-E('1H;W-E('9A<FEA8FQE<PI<:&5A9&QI;F4]>WM<
XM=&5X=&9O;G1S7')M(%QI9F]D9%QP86=E;F\@7'1H95QO9&1H96%D;&EN92!<
XM96QS92!<=&AE7&5V96YH96%D;&EN92!<9FE]?0I<9F]O=&QI;F4]>WM<=&5X
XM=&9O;G1S7')M(%QI9F]D9%QP86=E;F\@7'1H95QO9&1F;V]T;&EN92!<96QS
XM92!<=&AE7&5V96YF;V]T;&EN92!<9FE]?0H*)2!#;VUM86YD<R!T;R!S970@
XM=&AO<V4@=F%R:6%B;&5S+@HE($9O<B!E>&%M<&QE+"!T:&ES(&ES('=H870@
XM($!H96%D:6YG<R!O;B @9&]E<PHE($!E=F5N:&5A9&EN9R! =&AI<W1I=&QE
XM?$!T:&ES<&%G97Q =&AI<V-H87!T97(*)2! ;V1D:&5A9&EN9R! =&AI<V-H
XM87!T97)\0'1H:7-P86=E?$!T:&ES=&ET;&4*)2! 979E;F9O;W1I;F<@0'1H
XM:7-F:6QE?'P*)2! ;V1D9F]O=&EN9R!\?$!T:&ES9FEL90H*7&1E9EQE=F5N
XM:&5A9&EN9WM<<&%R<V5A<F=<979E;FAE861I;F=X>'A]"EQD969<;V1D:&5A
XM9&EN9WM<<&%R<V5A<F=<;V1D:&5A9&EN9WAX>'T*7&1E9EQE=F5R>6AE861I
XM;F=[7'!A<G-E87)G7&5V97)Y:&5A9&EN9WAX>'T*"EQD969<979E;F9O;W1I
XM;F=[7'!A<G-E87)G7&5V96YF;V]T:6YG>'AX?0I<9&5F7&]D9&9O;W1I;F=[
XM7'!A<G-E87)G7&]D9&9O;W1I;F=X>'A]"EQD969<979E<GEF;V]T:6YG>UQP
XM87)S96%R9UQE=F5R>69O;W1I;F=X>'A]"@I[7&-A=&-O9&5@7$ ]," E"@I<
XM9V1E9EQE=F5N:&5A9&EN9WAX>" C,7M<979E;FAE861I;F=Y>7D@(S% ?$!\
XM0'Q ?%QF:6YI<VA]"EQG9&5F7&5V96YH96%D:6YG>7EY(",Q0'PC,D!\(S- 
XM?",T7&9I;FES:'LE"EQG;&]B86Q<979E;FAE861L:6YE/7M<<FQA<'M<8V5N
XM=&5R;&EN97LC,GU]7&QI;F5[(S%<:&9I;",S?7U]"@I<9V1E9EQO9&1H96%D
XM:6YG>'AX(",Q>UQO9&1H96%D:6YG>7EY(",Q0'Q ?$!\0'Q<9FEN:7-H?0I<
XM9V1E9EQO9&1H96%D:6YG>7EY(",Q0'PC,D!\(S- ?",T7&9I;FES:'LE"EQG
XM;&]B86Q<;V1D:&5A9&QI;F4]>UQR;&%P>UQC96YT97)L:6YE>R,R?7U<;&EN
XM97LC,5QH9FEL(S-]?7T*"EQG9&5F7&5V97)Y:&5A9&EN9WAX>" C,7M<979E
XM<GEH96%D:6YG>7EY(",Q0'Q ?$!\0'Q<9FEN:7-H?0I<9V1E9EQE=F5R>6AE
XM861I;F=Y>7D@(S% ?",R0'PC,T!\(S1<9FEN:7-H>R4*7&=L;V)A;%QE=F5N
XM:&5A9&QI;F4]>UQR;&%P>UQC96YT97)L:6YE>R,R?7U<;&EN97LC,5QH9FEL
XM(S-]?0I<9VQO8F%L7&]D9&AE861L:6YE/7M<<FQA<'M<8V5N=&5R;&EN97LC
XM,GU]7&QI;F5[(S%<:&9I;",S?7U]"@I<9V1E9EQE=F5N9F]O=&EN9WAX>" C
XM,7M<979E;F9O;W1I;F=Y>7D@(S% ?$!\0'Q ?%QF:6YI<VA]"EQG9&5F7&5V
XM96YF;V]T:6YG>7EY(",Q0'PC,D!\(S- ?",T7&9I;FES:'LE"EQG;&]B86Q<
XM979E;F9O;W1L:6YE/7M<<FQA<'M<8V5N=&5R;&EN97LC,GU]7&QI;F5[(S%<
XM:&9I;",S?7U]"@I<9V1E9EQO9&1F;V]T:6YG>'AX(",Q>UQO9&1F;V]T:6YG
XM>7EY(",Q0'Q ?$!\0'Q<9FEN:7-H?0I<9V1E9EQO9&1F;V]T:6YG>7EY(",Q
XM0'PC,D!\(S- ?",T7&9I;FES:'LE"EQG;&]B86Q<;V1D9F]O=&QI;F4]>UQR
XM;&%P>UQC96YT97)L:6YE>R,R?7U<;&EN97LC,5QH9FEL(S-]?7T*"EQG9&5F
XM7&5V97)Y9F]O=&EN9WAX>" C,7M<979E<GEF;V]T:6YG>7EY(",Q0'Q ?$!\
XM0'Q<9FEN:7-H?0I<9V1E9EQE=F5R>69O;W1I;F=Y>7D@(S% ?",R0'PC,T!\
XM(S1<9FEN:7-H>R4*7&=L;V)A;%QE=F5N9F]O=&QI;F4]>UQR;&%P>UQC96YT
XM97)L:6YE>R,R?7U<;&EN97LC,5QH9FEL(S-]?0I<9VQO8F%L7&]D9&9O;W1L
XM:6YE/7M<<FQA<'M<8V5N=&5R;&EN97LC,GU]7&QI;F5[(S%<:&9I;",S?7U]
XM"B4*?24@=6YB:6YD('1H92!C871C;V1E(&]F($ N"@HE($!H96%D:6YG<R!D
XM;W5B;&4)='5R;G,@:&5A9&EN9W,@;VX@9F]R(&1O=6)L92US:61E9"!P<FEN
XM=&EN9RX*)2! :&5A9&EN9W,@<VEN9VQE"71U<FYS(&AE861I;F=S(&]N(&9O
XM<B!S:6YG;&4M<VED960@<')I;G1I;F<N"B4@0&AE861I;F=S(&]F9@D)='5R
XM;G,@=&AE;2!O9F8N"B4@0&AE861I;F=S(&]N"0ES86UE(&%S($!H96%D:6YG
XM<R!D;W5B;&4L(')E=&%I;F5D(&9O<B!C;VUP871I8FEL:71Y+@HE($)Y(&1E
XM9F%U;'0L('1H97D@87)E(&]F9BX*"EQD969<:&5A9&EN9W,@(S$@>UQC<VYA
XM;64@2$5!1$E.1U,C,5QE;F1C<VYA;65]"@I<9&5F7$A%041)3D=3;V9F>PI<
XM9VQO8F%L7&5V96YH96%D;&EN93U[7&AF:6Q](%QG;&]B86Q<979E;F9O;W1L
XM:6YE/7M<:&9I;'T*7&=L;V)A;%QO9&1H96%D;&EN93U[7&AF:6Q](%QG;&]B
XM86Q<;V1D9F]O=&QI;F4]>UQH9FEL?7T*7$A%041)3D=3;V9F"B4@5VAE;B!W
XM92!T=7)N(&AE861I;F=S(&]N+"!S970@=&AE('!A9V4@;G5M8F5R('1O(#$N
XM"B4@1F]R(&1O=6)L92US:61E9"!P<FEN=&EN9RP@<'5T(&-U<G)E;G0@9FEL
XM92!N86UE(&EN(&QO=V5R(&QE9G0@8V]R;F5R+ HE(&-H87!T97(@;F%M92!O
XM;B!I;G-I9&4@=&]P(&]F(')I9VAT(&AA;F0@<&%G97,L(&1O8W5M96YT"B4@
XM=&ET;&4@;VX@:6YS:61E('1O<"!O9B!L969T(&AA;F0@<&%G97,L(&%N9"!P
XM86=E(&YU;6)E<G,@;VX@;W5T<VED92!T;W *)2!E9&=E(&]F(&%L;"!P86=E
XM<RX*7&1E9EQ(14%$24Y'4V1O=6)L97L*)5QP86=E86QI9VYM86-R;PI<9VQO
XM8F%L7'!A9V5N;STQ"EQG;&]B86Q<979E;F9O;W1L:6YE/7M<:&9I;'T*7&=L
XM;V)A;%QO9&1F;V]T;&EN93U[7&AF:6Q]"EQG;&]B86Q<979E;FAE861L:6YE
XM/7M<;&EN97M<9F]L:6]<:&9I;%QT:&ES=&ET;&5]?0I<9VQO8F%L7&]D9&AE
XM861L:6YE/7M<;&EN97M<=&AI<V-H87!T97)<:&9I;%QF;VQI;WU]"GT*)2!&
XM;W(@<VEN9VQE+7-I9&5D('!R:6YT:6YG+"!C:&%P=&5R('1I=&QE(&=O97,@
XM86-R;W-S('1O<"!L969T(&]F('!A9V4L"B4@<&%G92!N=6UB97(@;VX@=&]P
XM(')I9VAT+@I<9&5F7$A%041)3D=3<VEN9VQE>PHE7'!A9V5A;&EG;FUA8W)O
XM"EQG;&]B86Q<<&%G96YO/3$*7&=L;V)A;%QE=F5N9F]O=&QI;F4]>UQH9FEL
XM?0I<9VQO8F%L7&]D9&9O;W1L:6YE/7M<:&9I;'T*7&=L;V)A;%QE=F5N:&5A
XM9&QI;F4]>UQL:6YE>UQT:&ES8VAA<'1E<EQH9FEL7&9O;&EO?7T*7&=L;V)A
XM;%QO9&1H96%D;&EN93U[7&QI;F5[7'1H:7-C:&%P=&5R7&AF:6Q<9F]L:6]]
XM?0I]"EQD969<2$5!1$E.1U-O;GM<2$5!1$E.1U-D;W5B;&5]"@HE(%-U8G)O
XM=71I;F5S('5S960@:6X@9V5N97)A=&EN9R!H96%D:6YG<PHE(%!R;V1U8V5S
XM($1A>2!-;VYT:"!996%R('-T>6QE(&]F(&]U='!U="X*7&1E9EQT;V1A>7M<
XM;G5M8F5R7&1A>5QS<&%C90I<:69C87-E7&UO;G1H7&]R"DIA;G5A<GE<;W(@
XM1F5B<G5A<GE<;W(@36%R8VA<;W(@07!R:6Q<;W(@36%Y7&]R($IU;F5<;W(*
XM2G5L>5QO<B!!=6=U<W1<;W(@4V5P=&5M8F5R7&]R($]C=&]B97)<;W(@3F]V
XM96UB97)<;W(@1&5C96UB97)<9FD*7'-P86-E7&YU;6)E<EQY96%R?0H*)2!5
XM<V4@=&AI<R!I9B!Y;W4@=V%N="!T:&4@36]N=&@@1&%Y+"!996%R('-T>6QE
XM(&]F(&]U='!U="X*)5QD969<=&]D87E[7&EF8V%S95QM;VYT:%QO<@HE2F%N
XM=6%R>5QO<B!&96)R=6%R>5QO<B!-87)C:%QO<B!!<')I;%QO<B!-87E<;W(@
XM2G5N95QO<@HE2G5L>5QO<B!!=6=U<W1<;W(@4V5P=&5M8F5R7&]R($]C=&]B
XM97)<;W(@3F]V96UB97)<;W(@1&5C96UB97)<9FD*)5QS<&%C95QN=6UB97)<
XM9&%Y+"!<;G5M8F5R7'EE87)]"@HE($!S971T:71L92!L:6YE+BXN("!S<&5C
XM:69I97,@=&AE('1I=&QE(&]F('1H92!D;V-U;65N="P@9F]R(&AE861I;F=S
XM"B4@270@9V5N97)A=&5S(&YO(&]U='!U="!O9B!I=',@;W=N"@I<9&5F7'1H
XM:7-T:71L97M.;R!4:71L97T*7&1E9EQS971T:71L97M<<&%R<V5A<F=<<V5T
XM=&ET;&5Z>GI]"EQD969<<V5T=&ET;&5Z>GH@(S%[7&=D969<=&AI<W1I=&QE
XM>R,Q?7T*"EQM97-S86=E>W1A8FQE<RQ]"@HE(%1A8FQE<R M+2! =&%B;&4L
XM($!F=&%B;&4L($!I=&5M*'@I+"! :VET96TH>"DL($!X:71E;2AX*2X*"B4@
XM9&5F875L="!I;F1E;G1A=&EO;B!O9B!T86)L92!T97AT"EQN97=D:6UE;EQT
XM86)L96EN9&5N="!<=&%B;&5I;F1E;G0]+CAI;@HE(&1E9F%U;'0@:6YD96YT
XM871I;VX@;V8@0&ET96UI>F4@86YD($!E;G5M97)A=&4@=&5X= I<;F5W9&EM
XM96Y<:71E;6EN9&5N=" @7&ET96UI;F1E;G0]+C-I;@HE(&UA<F=I;B!B971W
XM965N(&5N9"!O9B!T86)L92!I=&5M(&%N9"!S=&%R="!O9B!T86)L92!T97AT
XM+@I<;F5W9&EM96Y<:71E;6UA<F=I;B @7&ET96UM87)G:6X]+C%I;@H*)2!U
XM<V5D(&EN=&5R;F%L;'D@9F]R(%QI=&5M:6YD96YT(&UI;G5S(%QI=&5M;6%R
XM9VEN"EQN97=D:6UE;EQI=&5M;6%X"@HE($YO=&4@0'1A8FQE(&%N9"! 9G1A
XM8FQE(&1E9FEN92! :71E;2P@0&ET96UX+"!E=&,N+"!W:71H('1H97-E(&1E
XM9G,N"B4@5&AE>2!A;'-O(&1E9FEN92!<:71E;6EN9&5X"B4@=&\@:6YD97@@
XM=&AE(&ET96T@;F%M92!I;B!W:&%T979E<B!M86YN97(@:7,@9&5S:7)E9" H
XM<&5R:&%P<R!N;VYE*2X*"EQD969<:6YT97)N86Q":71E;7M<<VUA;&QB<F5A
XM:R!<<&%R<V5A<F=<:71E;7IZ>GT*7&1E9EQI;G1E<FYA;$)I=&5M>'M<<&%R
XM(%QP87)S96%R9UQI=&5M>GIZ?0H*7&1E9EQI;G1E<FYA;$)X:71E;2 B(S$B
XM>UQD969<>&ET96US=6)T;W!I>'LC,7T@7'-M86QL8G)E86L@7'!A<G-E87)G
XM7'AI=&5M>GIZ?0I<9&5F7&EN=&5R;F%L0GAI=&5M>" B(S$B>UQD969<>&ET
XM96US=6)T;W!I>'LC,7T@7'!A<B!<<&%R<V5A<F=<>&ET96UZ>GI]"@I<9&5F
XM7&EN=&5R;F%L0FMI=&5M>UQS;6%L;&)R96%K(%QP87)S96%R9UQK:71E;7IZ
XM>GT*7&1E9EQI;G1E<FYA;$)K:71E;7A[7'!A<B!<<&%R<V5A<F=<:VET96UZ
XM>GI]"@I<9&5F7&MI=&5M>GIZ(",Q>UQD;W-U8FEN9"![:W=]>UQC;V1E>R,Q
XM?7U[9F]R('M<8F8@7&QA<W1F=6YC=&EO;GU]7&ET96UZ>GH@>R,Q?7T*"EQD
XM969<>&ET96UZ>GH@(S%[7&1O<W5B:6YD('MK=WU[7&-O9&5[(S%]?7MF;W(@
XM>UQB9B!<>&ET96US=6)T;W!I8WU]7&ET96UZ>GH@>R,Q?7T*"EQD969<:71E
XM;7IZ>B C,7M<8F5G:6YG<F]U<" E"EQA9'9A;F-E(%QH<VEZ92!B>2 M7')I
XM9VAT<VMI<" E"EQA9'9A;F-E(%QH<VEZ92!B>2 M7&QE9G1S:VEP("4*7'-E
XM=&)O># ]7&AB;WA[7&ET96UF;VYT>R,Q?7TE"EQI=&5M:6YD97A[(S%])0I<
XM<&%R<VMI<#TP:6X@)0I<;F]I;F1E;G0@)0I<:69D:6T@7'=D,#Y<:71E;6UA
XM>" E"EQV861J=7-T>UQP96YA;'1Y(#$P,# P?24*7&AB;W@@=&\@7&AS:7IE
XM>UQH<VMI<" M7'1A8FQE:6YD96YT7&)O>#!<:'-S?5P@)0I<96QS92 E"EQH
XM8F]X('1O(#!P='M<:'-K:7 @+5QT86)L96EN9&5N=%QB;W@P7&AS<WTE"EQF
XM:2 E"EQE;F1G<F]U<" E"GT*"EQD969<:71E;7M<97)R;65S<V%G97M :71E
XM;2!W:&EL92!N;W0@:6X@82!T86)L97U]"EQD969<:71E;7A[7&5R<FUE<W-A
XM9V5[0&ET96UX('=H:6QE(&YO="!I;B!A('1A8FQE?7T*7&1E9EQK:71E;7M<
XM97)R;65S<V%G97M :VET96T@=VAI;&4@;F]T(&EN(&$@=&%B;&5]?0I<9&5F
XM7&MI=&5M>'M<97)R;65S<V%G97M :VET96UX('=H:6QE(&YO="!I;B!A('1A
XM8FQE?7T*7&1E9EQX:71E;7M<97)R;65S<V%G97M >&ET96T@=VAI;&4@;F]T
XM(&EN(&$@=&%B;&5]?0I<9&5F7'AI=&5M>'M<97)R;65S<V%G97M >&ET96UX
XM('=H:6QE(&YO="!I;B!A('1A8FQE?7T*"B4E($-O;G1A:6YS(&$@:VQU9&=E
XM('1O(&=E="! 96YD6V1E<V-R:7!T:6]N72!T;R!W;W)K"EQD969<9&5S8W)I
XM<'1I;VY[7'1A8FQE>GM<9&]N=&EN9&5X?7LQ?7M]>WU[?7M]?0H*7&1E9EQT
XM86)L97M<8F5G:6YG<F]U<%QI;D5.5EQO8F5Y;&EN97-<;V)E>7-P86-E<UQT
XM86)L97A]"GM<;V)E>6QI;F5S7&]B97ES<&%C97,E"EQG9&5F7'1A8FQE>" C
XM,5Y>37LE"EQT86)L97E<9&]N=&EN9&5X(S$@(" @(" @(%QE;F1T86)L97E]
XM?0H*7&1E9EQF=&%B;&5[7&)E9VEN9W)O=7!<:6Y%3E9<;V)E>6QI;F5S7&]B
XM97ES<&%C97-<9G1A8FQE>'T*>UQO8F5Y;&EN97-<;V)E>7-P86-E<R4*7&=D
XM969<9G1A8FQE>" C,5Y>37LE"EQT86)L97E<9FYI=&5M:6YD97@C,2 @(" @
XM(" @7&5N9'1A8FQE>7U]"@I<9&5F7&1O;G1I;F1E>" C,7M]"EQD969<9FYI
XM=&5M:6YD97@@(S%[7&1O:6YD('MF;GU[7&-O9&5[(S%]?7TE"@I[7&]B97ES
XM<&%C97,@)0I<9V1E9EQT86)L97DC,2,R(",S(",T(",U(",V(",W7&5N9'1A
XM8FQE>7M<96YD9W)O=7 E"EQT86)L97I[(S%]>R,R?7LC,WU[(S1]>R,U?7LC
XM-GU]?0H*7&1E9EQT86)L97H@(S$C,B,S(S0C-2,V>R4*7&%B;W9E96YV8G)E
XM86L@)0I<8F5G:6YG<F]U<" E"EQD969<161E<V-R:7!T:6]N>UQ%=&%B;&5]
XM)2!.96-C97-S87)Y(&ML=61G92X*7&QE=%QI=&5M:6YD97@](S$E"EQI9FYU
XM;2 P(S,^,"!<861V86YC92!<;&5F='-K:7 @8GD@(S-<;6EL(%QF:2 E"EQI
XM9FYU;2 P(S0^,"!<=&%B;&5I;F1E;G0](S1<;6EL(%QF:2 E"EQI9FYU;2 P
XM(S4^,"!<861V86YC92!<<FEG:'1S:VEP(&)Y(",U7&UI;"!<9FD@)0I<9&5F
XM7&ET96UF;VYT>R,R?24*7&ET96UM87@]7'1A8FQE:6YD96YT("4*7&%D=F%N
XM8V4@7&ET96UM87@@8GD@+5QI=&5M;6%R9VEN("4*7&%D=F%N8V4@7&QE9G1S
XM:VEP(&)Y(%QT86)L96EN9&5N=" E"EQP87)I;F1E;G0@/2 P<'0*7'!A<G-K
XM:7 @/2!<<VUA;&QS:VEP86UO=6YT"EQI9F1I;2!<<&%R<VMI<#TP<'0@7'!A
XM<G-K:7 ],G!T(%QF:24*7&1E9EQ%=&%B;&5[7&5N9&=R869<96YD9W)O=7!<
XM869T97)E;G9B<F5A:WTE"EQL971<:71E;2 ](%QI;G1E<FYA;$)I=&5M("4*
XM7&QE=%QI=&5M>" ](%QI;G1E<FYA;$)I=&5M>" E"EQL971<:VET96T@/2!<
XM:6YT97)N86Q":VET96T@)0I<;&5T7&MI=&5M>" ](%QI;G1E<FYA;$)K:71E
XM;7@@)0I<;&5T7'AI=&5M(#T@7&EN=&5R;F%L0GAI=&5M("4*7&QE=%QX:71E
XM;7@@/2!<:6YT97)N86Q">&ET96UX("4*?0H*)2!4:&ES(&ES('1H92!C;W5N
XM=&5R('5S960@8GD@0&5N=6UE<F%T92P@=VAI8V@@:7,@<F5A;&QY($!I=&5M
XM:7IE"@I<;F5W8V]U;G0@7&ET96UN;PH*7&1E9EQI=&5M:7IE>UQP87)S96%R
XM9UQI=&5M:7IE>GIZ?0H*7&1E9EQI=&5M:7IE>GIZ(",Q>UQI=&5M:7IE>2![
XM(S%]>UQ%:71E;6EZ97U]"@I<9&5F7&ET96UI>F5Y(",Q(S)[)0I<86)O=F5E
XM;G9B<F5A:R E"EQB96=I;F=R;W5P("4*7&ET96UN;R ](# @)0I<:71E;6UA
XM>#U<:71E;6EN9&5N=" E"EQA9'9A;F-E(%QI=&5M;6%X(&)Y("U<:71E;6UA
XM<F=I;B E"EQA9'9A;F-E(%QL969T<VMI<"!B>2!<:71E;6EN9&5N=" E"EQP
XM87)I;F1E;G0@/2 P<'0*7'!A<G-K:7 @/2!<<VUA;&QS:VEP86UO=6YT"EQI
XM9F1I;2!<<&%R<VMI<#TP<'0@7'!A<G-K:7 ],G!T(%QF:24*7&1E9B,R>UQE
XM;F1G<F%F7&5N9&=R;W5P7&%F=&5R96YV8G)E86M])0I<9&5F7&ET96UC;VYT
XM96YT<WLC,7TE"EQL971<:71E;3U<:71E;6EZ96ET96U]"@I<9&5F7&)U;&QE
XM='LD7'!T97AB=6QL970D?0I<9&5F7&UI;G5S>R0M)'T*"EQD969<96YU;65R
XM871E>UQI=&5M:7IE>7M<=&AE7&ET96UN;RY]7$5E;G5M97)A=&5<9FQU<VAC
XM<GT*"B4@1&5F:6YI=&EO;B!O9B! :71E;2!W:&EL92!I;G-I9&4@0&ET96UI
XM>F4N"@I<9&5F7&ET96UI>F5I=&5M>R4*7&%D=F%N8V5<:71E;6YO(&)Y(#$*
XM>UQL971<<&%R/5QE;F1G<F%F(%QS;6%L;&)R96%K?24*7&EF:&UO9&4@7&5R
XM<FUE<W-A9V5[7&EN(&AM;V1E(&%T(&ET96UI>F5I=&5M?5QF:0I[7'!A<G-K
XM:7 ],&EN(%QH<VMI<" P<'0*7&AB;W@@=&\@,'!T>UQH<W,@7&ET96UC;VYT
XM96YT<UQH<VMI<"!<:71E;6UA<F=I;GTE"EQV861J=7-T>UQP96YA;'1Y(#,P
XM,'U])0I<9FQU<VAC<GT*"EQM97-S86=E>VEN9&5X:6YG+'T*)2!);F1E>"!G
XM96YE<F%T:6]N(&9A8VEL:71I97,*"B4@1&5F:6YE(%QN97=W<FET92!T;R!B
XM92!I9&5N=&EC86P@=&\@<&QA:6X@=&5X)W,@7&YE=W=R:71E"B4@97AC97!T
XM(&YO="!<;W5T97(L('-O(&ET(&-A;B!B92!U<V5D('=I=&AI;B!<;F5W:6YD
XM97@N"GM<8V%T8V]D96!<0#TQ,0I<9V1E9EQN97=W<FET97M<86QL;V- -UQW
XM<FET95QC:&%R9&5F7'-I>'1 0&Y]?0H*)2!<;F5W:6YD97@@>V9O;WT@9&5F
XM:6YE<R!A;B!I;F1E>"!N86UE9"!F;V\N"B4@270@875T;VUA=&EC86QL>2!D
XM969I;F5S(%QF;V]I;F1E>"!S=6-H('1H870*)2!<9F]O:6YD97@@+BXN<F5S
XM="!O9B!L:6YE+BXN('!U=',@86X@96YT<GD@:6X@=&AE(&EN9&5X(&9O;RX*
XM)2!)="!A;'-O(&1E9FEN97,@7&9O;VEN9&9I;&4@=&\@8F4@=&AE(&YU;6)E
XM<B!O9B!T:&4@;W5T<'5T(&-H86YN96P@9F]R"B4@=&AE(&9I;&4@=&AA= EA
XM8V-U;75L871E<R!T:&ES(&EN9&5X+B @5&AE(&9I;&4G<R!E>'1E;G-I;VX@
XM:7,@9F]O+@HE(%1H92!N86UE(&]F(&%N(&EN9&5X('-H;W5L9"!B92!N;R!M
XM;W)E('1H86X@,B!C:&%R86-T97)S(&QO;F<*)2!F;W(@=&AE('-A:V4@;V8@
XM=FUS+@H*7&1E9EQN97=I;F1E>" C,7L*7&5X<&%N9&%F=&5R7&YE=W=R:71E
XM(%QC<VYA;64C,6EN9&9I;&5<96YD8W-N86UE)2!$969I;F4@;G5M8F5R(&9O
XM<B!O=71P=70@9FEL90I<;W!E;F]U="!<8W-N86UE(S%I;F1F:6QE7&5N9&-S
XM;F%M92!<:F]B;F%M92XC,0DE($]P96X@=&AE(&9I;&4*7&5X<&%N9&%F=&5R
XM7'AD969<8W-N86UE(S%I;F1E>%QE;F1C<VYA;65[)0DE($1E9FEN92!<>'AX
XM:6YD97@*7&YO97AP86YD7&1O:6YD97@@>R,Q?7T*?0H*)2! 9&5F:6YD97@@
XM9F]O(" ]/2 @7&YE=VEN9&5X>V9O;WT*"EQD969<9&5F:6YD97A[7'!A<G-E
XM87)G7&YE=VEN9&5X?0H*)2!$969I;F4@0&1E9F-O9&5I;F1E>"P@;&EK92! 
XM9&5F:6YD97@@97AC97!T('!U="!A;&P@96YT<FEE<R!I;B! 8V]D92X*"EQD
XM969<;F5W8V]D96EN9&5X(",Q>PI<97AP86YD869T97)<;F5W=W)I=&4@7&-S
XM;F%M92,Q:6YD9FEL95QE;F1C<VYA;64E($1E9FEN92!N=6UB97(@9F]R(&]U
XM='!U="!F:6QE"EQO<&5N;W5T(%QC<VYA;64C,6EN9&9I;&5<96YD8W-N86UE
XM(%QJ;V)N86UE+B,Q"24@3W!E;B!T:&4@9FEL90I<97AP86YD869T97)<>&1E
XM9EQC<VYA;64C,6EN9&5X7&5N9&-S;F%M97LE"24@1&5F:6YE(%QX>'AI;F1E
XM> I<;F]E>'!A;F1<9&]C;V1E:6YD97@@>R,Q?7T*?0H*7&1E9EQD969C;V1E
XM:6YD97A[7'!A<G-E87)G7&YE=V-O9&5I;F1E>'T*"B4@0'-Y;FEN9&5X(&9O
XM;R!B87(@(" @;6%K97,@:6YD97@@9F]O(&9E960@:6YT;R!I;F1E>"!B87(N
XM"B4@1&\@=&AI<R!I;G-T96%D(&]F($!D969I;F1E>"!F;V\@:68@>6]U(&1O
XM;B=T('=A;G0@:70@87,@82!S97!A<F%T92!I;F1E>"X*7&1E9EQS>6YI;F1E
XM>" C,2 C,B![)0I<97AP86YD869T97)<>&1E9EQC<VYA;64C,6EN9&5X7&5N
XM9&-S;F%M97LE"24@1&5F:6YE(%QX>'AI;F1E> I<;F]E>'!A;F1<9&]I;F1E
XM>"![(S)]?24*?0H*)2! <WEN8V]D96EN9&5X(&9O;R!B87(@("!S:6UI;&%R
XM+"!B=70@<'5T(&%L;"!E;G1R:65S(&UA9&4@9F]R(&EN9&5X(&9O;PHE(&EN
XM<VED92! 8V]D92X*7&1E9EQS>6YC;V1E:6YD97@@(S$@(S(@>R4*7&5X<&%N
XM9&%F=&5R7'AD969<8W-N86UE(S%I;F1E>%QE;F1C<VYA;65[)0DE($1E9FEN
XM92!<>'AX:6YD97@*7&YO97AP86YD7&1O8V]D96EN9&5X('LC,GU])0I]"@HE
XM($1E9FEN92!<9&]I;F1E>"P@=&AE(&1R:79E<B!F;W(@86QL(%QF;V]I;F1E
XM>"!M86-R;W,N"B4@07)G=6UE;G0@(S$@:7,@9V5N97)A=&5D(&)Y('1H92!C
XM86QL:6YG(%QF;V]I;F1E>"!M86-R;RP*)2 @86YD(&ET(&ES(")F;V\B+"!T
XM:&4@;F%M92!O9B!T:&4@:6YD97@N"@HE(%QD;VEN9&5X(&IU<W0@=7-E<R!<
XM<&%R<V5A<F<[(&ET(&-A;&QS(%QD;VEN9"!F;W(@=&AE(&%C='5A;"!W;W)K
XM+@HE(%1H:7,@:7,@8F5C875S92!<9&]I;F0@:7,@;6]R92!U<V5F=6P@=&\@
XM8V%L;"!F<F]M(&]T:&5R(&UA8W)O<RX*"B4@5&AE<F4@:7,@86QS;R!<9&]S
XM=6)I;F0@>VEN9&5X?7MT;W!I8WU[<W5B=&]P:6-]"B4@=VAI8V@@;6%K97,@
XM86X@96YT<GD@:6X@82!T=V\M;&5V96P@:6YD97@@<W5C:"!A<R!T:&4@;W!E
XM<F%T:6]N(&EN9&5X+@H*7&1E9EQD;VEN9&5X(S%[7&5D969<:6YD97AN86UE
XM>R,Q?5QP87)S96%R9UQS:6YG;&5I;F1E>&5R?0I<9&5F7'-I;F=L96EN9&5X
XM97(@(S%[7&1O:6YD>UQI;F1E>&YA;65]>R,Q?7T*"B4@;&EK92!T:&4@<')E
XM=FEO=7,@='=O+"!B=70@=&AE>2!P=70@0&-O9&4@87)O=6YD('1H92!A<F=U
XM;65N="X*7&1E9EQD;V-O9&5I;F1E>",Q>UQE9&5F7&EN9&5X;F%M97LC,7U<
XM<&%R<V5A<F=<<VEN9VQE8V]D96EN9&5X97)]"EQD969<<VEN9VQE8V]D96EN
XM9&5X97(@(S%[7&1O:6YD>UQI;F1E>&YA;65]>UQC;V1E>R,Q?7U]"@I<9&5F
XM7&EN9&5X9'5M;6EE<WLE"EQD969<8F9[7')E86QB86-K<VQA<V@@8F8@?24*
XM7&1E9EQR;7M<<F5A;&)A8VMS;&%S:"!R;2!])0I<9&5F7'-L>UQR96%L8F%C
XM:W-L87-H('-L('TE"EQD969<9&]T<WM<<F5A;&)A8VMS;&%S:"!D;W1S('TE
XM"EQD969<8V]P>7)I9VAT>UQR96%L8F%C:W-L87-H(&-O<'ER:6=H="!])0I]
XM"@HE(%QI;F1E>&YO9F]N=',@;F\M;W!S(&%L;"!F;VYT+6-H86YG92!C;VUM
XM86YD<RX*)2!4:&ES(&ES('5S960@=VAE;B!O=71P=71T:6YG('1H92!S=')I
XM;F=S('1O('-O<G0@=&AE(&EN9&5X(&)Y+@I<9&5F7&EN9&5X9'5M;7EF;VYT
XM(S%[(S%]"EQD969<:6YD97AN;V9O;G1S>R4*7&QE=%QC;V1E/5QI;F1E>&1U
XM;6UY9F]N= I<;&5T7'-A;7 ]7&EN9&5X9'5M;7EF;VYT"EQL971<:V)D/5QI
XM;F1E>&1U;6UY9F]N= I<;&5T7&ME>3U<:6YD97AD=6UM>69O;G0*7&QE=%QV
XM87(]7&EN9&5X9'5M;7EF;VYT"GT*"B4@5&\@9&5F:6YE(%QR96%L8F%C:W-L
XM87-H+"!W92!M=7-T(&UA:V4@7"!N;W0@8F4@86X@97-C87!E+@HE(%=E(&UU
XM<W0@9FER<W0@;6%K92!A;F]T:&5R(&-H87)A8W1E<B H0"D@86X@97-C87!E
XM"B4@<V\@=V4@9&\@;F]T(&)E8V]M92!U;F%B;&4@=&\@9&\@82!D969I;FET
XM:6]N+@H*>UQC871C;V1E8%Q /3 @7&-A=&-O9&5@7%P]7&]T:&5R"D!G9&5F
XM0')E86QB86-K<VQA<VA[7'U]"@I<;&5T7&EN9&5X8F%C:W-L87-H/3 @("5O
XM=F5R<FED9&5N(&1U<FEN9R!<<')I;G1I;F1E>"X*"EQD969<9&]I;F0@(S$C
XM,GLE"GM<:6YD97AD=6UM:65S("4@375S="!D;R!T:&ES(&AE<F4L('-I;F-E
XM(%QB9BP@971C(&5X<&%N9"!A="!T:&ES('-T86=E"EQC;W5N=#$P/5QL87-T
XM<&5N86QT>2 E"EQE<V-A<&5C:&%R/6!<7"4*>UQL971<9F]L:6\],"4@17AP
XM86YD(&%L;"!M86-R;W,@;F]W($580T505"!<9F]L:6\*7&1E9EQR87=B86-K
XM<VQA<VAX>'M<:6YD97AB86-K<VQA<VA])2!<:6YD97AB86-K<VQA<V@@:7-N
XM)W0@9&5F:6YE9"!N;W<*)2!S;R!I="!W:6QL(&)E(&]U='!U="!A<R!I<SL@
XM86YD(&ET('=I;&P@<')I;G0@87,@8F%C:W-L87-H(&EN('1H92!I;F1X+@HE
XM"B4@3F]W('!R;V-E<W,@=&AE(&EN9&5X+7-T<FEN9R!O;F-E+"!W:71H(&%L
XM;"!F;VYT(&-O;6UA;F1S('1U<FYE9"!O9F8L"B4@=&\@9V5T('1H92!S=')I
XM;F<@=&\@<V]R="!T:&4@:6YD97@@8GDN"GM<:6YD97AN;V9O;G1S"EQX9&5F
XM7'1E;7 Q>R,R?24*?24*)2!.;W<@<')O9'5C92!T:&4@8V]M<&QE=&4@:6YD
XM97@@96YT<GDN("!792!P<F]C97-S('1H92!I;F1E>"US=')I;F<@86=A:6XL
XM"B4@=&AI<R!T:6UE('=I=&@@9F]N="!C;VUM86YD<R!E>'!A;F1E9"P@=&\@
XM9V5T('=H870@=&\@<')I;G0@:6X@=&AE(&EN9&5X+@I<961E9EQT96UP>R4*
XM7'=R:71E(%QC<VYA;64C,6EN9&9I;&5<96YD8W-N86UE>R4*7')E86QB86-K
XM<VQA<V@@96YT<GD@>UQT96UP,7U[7&9O;&EO?7LC,GU]?24*7'1E;7 @?24*
XM7'!E;F%L='E<8V]U;G0Q,'U]"@I<9&5F7&1O<W5B:6YD(",Q(S(C,WLE"GM<
XM:6YD97AD=6UM:65S("4@375S="!D;R!T:&ES(&AE<F4L('-I;F-E(%QB9BP@
XM971C(&5X<&%N9"!A="!T:&ES('-T86=E"EQC;W5N=#$P/5QL87-T<&5N86QT
XM>2 E"EQE<V-A<&5C:&%R/6!<7"4*>UQL971<9F]L:6\],"4*7&1E9EQR87=B
XM86-K<VQA<VAX>'M<:6YD97AB86-K<VQA<VA])0HE"B4@3F]W('!R;V-E<W,@
XM=&AE(&EN9&5X+7-T<FEN9R!O;F-E+"!W:71H(&%L;"!F;VYT(&-O;6UA;F1S
XM('1U<FYE9"!O9F8L"B4@=&\@9V5T('1H92!S=')I;F<@=&\@<V]R="!T:&4@
XM:6YD97@@8GDN"GM<:6YD97AN;V9O;G1S"EQX9&5F7'1E;7 Q>R,R(",S?24*
XM?24*)2!.;W<@<')O9'5C92!T:&4@8V]M<&QE=&4@:6YD97@@96YT<GDN("!7
XM92!P<F]C97-S('1H92!I;F1E>"US=')I;F<@86=A:6XL"B4@=&AI<R!T:6UE
XM('=I=&@@9F]N="!C;VUM86YD<R!E>'!A;F1E9"P@=&\@9V5T('=H870@=&\@
XM<')I;G0@:6X@=&AE(&EN9&5X+@I<961E9EQT96UP>R4*7'=R:71E(%QC<VYA
XM;64C,6EN9&9I;&5<96YD8W-N86UE>R4*7')E86QB86-K<VQA<V@@96YT<GD@
XM>UQT96UP,7U[7&9O;&EO?7LC,GU[(S-]?7TE"EQT96UP('TE"EQP96YA;'1Y
XM7&-O=6YT,3!]?0H*)2!4:&4@:6YD97@@96YT<GD@=W)I='1E;B!I;B!T:&4@
XM9FEL92!A8W1U86QL>2!L;V]K<R!L:6ME"B4@(%QE;G1R>2![<V]R='-T<FEN
XM9WU[<&%G97U[=&]P:6-]"B4@;W(*)2 @7&5N=')Y('MS;W)T<W1R:6YG?7MP
XM86=E?7MT;W!I8WU[<W5B=&]P:6-]"B4@5&AE('1E>&EN9&5X('!R;V=R86T@
XM<F5A9',@:6X@=&AE<V4@9FEL97,@86YD('=R:71E<R!F:6QE<PHE(&-O;G1A
XM:6YI;F<@=&AE<V4@:VEN9',@;V8@;&EN97,Z"B4@(%QI;FET:6%L('MC?0HE
XM(" @("!B969O<F4@=&AE(&9I<G-T('1O<&EC('=H;W-E(&EN:71I86P@:7,@
XM8PHE("!<96YT<GD@>W1O<&EC?7MP86=E;&ES='T*)2 @(" @9F]R(&$@=&]P
XM:6,@=&AA="!I<R!U<V5D('=I=&AO=70@<W5B=&]P:6-S"B4@(%QP<FEM87)Y
XM('MT;W!I8WT*)2 @(" @9F]R('1H92!B96=I;FYI;F<@;V8@82!T;W!I8R!T
XM:&%T(&ES('5S960@=VET:"!S=6)T;W!I8W,*)2 @7'-E8V]N9&%R>2![<W5B
XM=&]P:6-]>W!A9V5L:7-T?0HE(" @("!F;W(@96%C:"!S=6)T;W!I8RX*"B4@
XM1&5F:6YE('1H92!U<V5R+6%C8V5S<VEB;&4@:6YD97AI;F<@8V]M;6%N9',@
XM"B4@0&9I;F1E>"P@0'9I;F1E>"P@0&MI;F1E>"P@0&-I;F1E>"X*"EQD969<
XM9FEN9&5X('M<9FYI;F1E>'T*7&1E9EQK:6YD97@@>UQK>6EN9&5X?0I<9&5F
XM7&-I;F1E>"![7&-P:6YD97A]"EQD969<=FEN9&5X('M<=G)I;F1E>'T*7&1E
XM9EQT:6YD97@@>UQT<&EN9&5X?0I<9&5F7'!I;F1E>"![7'!G:6YD97A]"@I<
XM9&5F7&-I;F1E>'-U8B![7&)E9VEN9W)O=7!<;V)E>6QI;F5S7&-I;F1E>'-U
XM8GT*>UQO8F5Y;&EN97,@)0I<9V1E9EQC:6YD97AS=6(@(B,Q(B C,EY>37M<
XM96YD9W)O=7 @)0I<9&]S=6)I;F1[8W!]>R,R?7LC,7U]?0H*)2!$969I;F4@
XM=&AE(&UA8W)O<R!U<V5D(&EN(&9O<FUA='1I;F<@;W5T<'5T(&]F('1H92!S
XM;W)T960@:6YD97@@;6%T97)I86PN"@HE(%1H:7,@:7,@=VAA="!Y;W4@8V%L
XM;"!T;R!C875S92!A('!A<G1I8W5L87(@:6YD97@@=&\@9V5T('!R:6YT960N
XM"B4@5W)I=&4*)2! =6YN=6UB97)E9"!&=6YC=&EO;B!);F1E> HE($!P<FEN
XM=&EN9&5X(&9N"@I<9&5F7'!R:6YT:6YD97A[7'!A<G-E87)G7&1O<')I;G1I
XM;F1E>'T*"EQD969<9&]P<FEN=&EN9&5X(S%[7'1E>" E"EQC871C;V1E8%PE
XM/5QO=&AE<EQC871C;V1E8%PF/5QO=&AE<EQC871C;V1E8%PC/5QO=&AE<@I<
XM8V%T8V]D96!<)#U<;W1H97)<8V%T8V]D96!<7SU<;W1H97(*7&-A=&-O9&5@
XM7'X]7&]T:&5R"EQD969<:6YD97AB86-K<VQA<VA[7')A=V)A8VMS;&%S:'AX
XM?0I<:6YD97AF;VYT<UQR;2!<=&]L97)A;F-E/3DU,# @7&%D=F%N8V5<8F%S
XM96QI;F5S:VEP("TQ<'0*7&)E9VEN9&]U8FQE8V]L=6UN<PI<;W!E;FEN(#$@
XM7&IO8FYA;64N(S%S"EQI9F5O9B Q(%QE;'-E(%QC;&]S96EN(#$@7&EN<'5T
XM(%QJ;V)N86UE+B,Q<PI<9FD*7&5N9&1O=6)L96-O;'5M;G,*7$5T97A]"@HE
XM(%1H97-E(&UA8W)O<R!A<F4@=7-E9"!B>2!T:&4@<V]R=&5D(&EN9&5X(&9I
XM;&4@:71S96QF+@HE($-H86YG92!T:&5M('1O(&-O;G1R;VP@=&AE(&%P<&5A
XM<F%N8V4@;V8@=&AE(&EN9&5X+@H*)2!386UE(&%S(%QB:6=S:VEP86UO=6YT
XM(&5X8V5P="!N;R!S:')I;FLN"B4@7&)A;&%N8V5C;VQU;6YS(&=E=',@8V]N
XM9G5S960@:68@=&AE<F4@:7,@86YY('-H<FEN:RX*7&YE=W-K:7!<:6YI=&EA
XM;'-K:7!A;6]U;G0@7&EN:71I86QS:VEP86UO=6YT(#$R<'0@<&QU<S1P= H*
XM7&]U=&5R7&1E9EQI;FET:6%L(",Q>R4*>UQL971<=&5N='0]7'-E8W1T(%QL
XM971<<V8]7'-E8W1T"EQI9F1I;5QL87-T<VMI<#Q<:6YI=&EA;'-K:7!A;6]U
XM;G0*7')E;6]V96QA<W1S:VEP(%QP96YA;'1Y+3(P,"!<=G-K:7 @7&EN:71I
XM86QS:VEP86UO=6YT7&9I"EQL:6YE>UQS96-B9B,Q7&AF:6QL?5QK97)N(#)P
XM=%QP96YA;'1Y,S P,'U]"@I<;W5T97)<9&5F7&5N=')Y(",Q(S)["GM<<&%R
XM9FEL;'-K:7 ],&EN(%QP87)S:VEP/3!I;B!<<&%R:6YD96YT/3!I;@I<:&%N
XM9VEN9&5N=#TQ:6X@7&AA;F=A9G1E<CTQ)0I<;F]I;F1E;G1<:&)O>'LC,7U<
XM9&]T9FEL;" C,EQP87(*?7T*"EQD969<<')I;6%R>2 C,7M<;&EN97LC,5QH
XM9FEL?7T*"EQN97=S:VEP7'-E8V]N9&%R>6EN9&5N="!<<V5C;VYD87)Y:6YD
XM96YT/3 N-6-M"@I<9&5F7'-E8V]N9&%R>2 C,2,R>PI[7'!A<F9I;&QS:VEP
XM/3!I;B!<<&%R<VMI<#TP:6X*7&AA;F=I;F1E;G0@/3%I;B!<:&%N9V%F=&5R
XM/3$*7&YO:6YD96YT7&AS:VEP7'-E8V]N9&%R>6EN9&5N=%QH8F]X>R,Q?5QD
XM;W1F:6QL(",R7'!A<@I]?0H*)24@1&5F:6YE('1W;RUC;VQU;6X@;6]D92P@
XM=VAI8V@@:7,@=7-E9"!I;B!I;F1E>&5S+@HE)2!!9&%P=&5D(&9R;VT@=&AE
XM(%1E6$)O;VLL('!A9V4@-#$V"EQC871C;V1E(&!<0#TQ,0H*7&YE=V)O>%QP
XM87)T:6%L<&%G90H*7&YE=V1I;65N7&1O=6)L96-O;'5M;FAS:7IE("!<9&]U
XM8FQE8V]L=6UN:'-I>F4@/2 S+C$Q:6X*7&YE=V1I;65N7&1O=6)L96-O;'5M
XM;G9S:7IE("!<9&]U8FQE8V]L=6UN=G-I>F4@/2 Q.2XQ:6X*"EQD969<8F5G
XM:6YD;W5B;&5C;VQU;6YS>UQB96=I;F=R;W5P"B @7&]U='!U=#U[7&=L;V)A
XM;%QS971B;WA<<&%R=&EA;'!A9V4]7'9B;WA[7'5N=F)O>#(U-5QK97)N("U<
XM=&]P<VMI<"!<:V5R;B!<8F%S96QI;F5S:VEP?7U<96IE8W0*("!<;W5T<'5T
XM/7M<9&]U8FQE8V]L=6UN;W5T?2!<:'-I>F4]7&1O=6)L96-O;'5M;FAS:7IE
XM(%QV<VEZ93U<9&]U8FQE8V]L=6UN=G-I>F5]"EQD969<96YD9&]U8FQE8V]L
XM=6UN<WM<;W5T<'5T/7M<8F%L86YC96-O;'5M;G-]7&5J96-T"B @7&5N9&=R
XM;W5P(%QP86=E9V]A;#U<=G-I>F5]"@I<9&5F7&1O=6)L96-O;'5M;F]U='M<
XM<W!L:71T;W!S:VEP/5QT;W!S:VEP(%QS<&QI=&UA>&1E<'1H/5QM87AD97!T
XM: H@(%QD:6UE;D ]7'!A9V5H96EG:'0@7&%D=F%N8V5<9&EM96Y (&)Y+5QH
XM=%QP87)T:6%L<&%G90H@(%QS971B;W@P/5QV<W!L:70R-34@=&]<9&EM96Y 
XM(%QS971B;W@R/5QV<W!L:70R-34@=&]<9&EM96Y "B @7&]N97!A9V5O=71<
XM<&%G97-O9F%R(%QU;G9B;W@R-34@7'!E;F%L='E<;W5T<'5T<&5N86QT>7T*
XM7&1E9EQP86=E<V]F87)[7'5N=F)O>%QP87)T:6%L<&%G92 E"B @7&AS:7IE
XM/5QD;W5B;&5C;VQU;6YH<VEZ92 E(&AA=F4@=&\@<F5S=&]R92!T:&ES('-I
XM;F-E(&]U='!U="!R;W5T:6YE"B4)(" @(" @8VAA;F=E<R!I="!T;R!S970@
XM8W)O<&UA<FMS("A0+B!!+B!-86-+87DL(#$R($YO=BX@,3DX-BD*("!<=V0P
XM/5QH<VEZ92!<=V0R/5QH<VEZ92!<:&)O>"!T;UQP86=E=VED=&A[7&)O>#!<
XM:&9I;%QB;W@R?7T*7&1E9EQB86QA;F-E8V]L=6UN<WM<<V5T8F]X,#U<=F)O
XM>'M<=6YV8F]X,C4U?2!<9&EM96Y /5QH=# *("!<861V86YC95QD:6UE;D @
XM8GE<=&]P<VMI<"!<861V86YC95QD:6UE;D @8GDM7&)A<V5L:6YE<VMI< H@
XM(%QD:79I9&5<9&EM96Y (&)Y,B!<<W!L:71T;W!S:VEP/5QT;W!S:VEP"B @
XM>UQV8F%D;F5S<STQ,# P,"!<;&]O<"!<9VQO8F%L7'-E=&)O>#,]7&-O<'DP
XM"B @("!<9VQO8F%L7'-E=&)O>#$]7'9S<&QI=#,@=&]<9&EM96Y "B @("!<
XM:69D:6U<:'0S/EQD:6UE;D @7&=L;V)A;%QA9'9A;F-E7&1I;65N0"!B>3%P
XM="!<<F5P96%T?0H@(%QS971B;W@P/5QV8F]X('1O7&1I;65N0'M<=6YV8F]X
XM,7T@(%QS971B;W@R/5QV8F]X('1O7&1I;65N0'M<=6YV8F]X,WT*("!<<&%G
XM97-O9F%R?0H*7&-A=&-O9&4@8%Q /5QO=&AE<@I<;65S<V%G97MS96-T:6]N
XM:6YG+'T*)2!$969I;F4@8VAA<'1E<G,L('-E8W1I;VYS+"!E=&,N"@I<;F5W
XM8V]U;G0@7&-H87!N;PI<;F5W8V]U;G0@7'-E8VYO"EQN97=C;W5N="!<<W5B
XM<V5C;F\*7&YE=V-O=6YT(%QS=6)S=6)S96-N;PH*)2!4:&ES(&-O=6YT97(@
XM:7,@9G5N;GD@<VEN8V4@:70@8V]U;G1S('1H<F]U9V@@8VAA<F-O9&5S(&]F
XM(&QE='1E<G,@02P@0BP@+BXN"EQN97=C;W5N="!<87!P96YD:7AN;R @7&%P
XM<&5N9&EX;F\@/2!@7$ *7&1E9EQA<'!E;F1I>&QE='1E<GM<8VAA<EQT:&5<
XM87!P96YD:7AN;WT*"EQN97=W<FET92!<8V]N=&5N='-F:6QE"B4@5&AI<R!I
XM<R!C86QL960@9G)O;2!<<V5T9FEL96YA;64N"EQD969<;W!E;F-O;G1E;G1S
XM>UQO<&5N;W5T(%QC;VYT96YT<V9I;&4@/2!<:F]B;F%M92YT;V-]"@HE($5A
XM8V@@0&-H87!T97(@9&5F:6YE<R!T:&ES(&%S('1H92!N86UE(&]F('1H92!C
XM:&%P=&5R+@HE('!A9V4@:&5A9&EN9W,@86YD(&9O;W1I;F=S(&-A;B!U<V4@
XM:70N("! <V5C=&EO;B!D;V5S(&QI:V5W:7-E"@I<9&5F7'1H:7-C:&%P=&5R
XM>WT@7&1E9EQT:&ES<V5C=&EO;GM]"EQD969<<V5C8VAE8VLC,7M<:68@7'!A
XM9V5N;SPP("4*7&5R<FUE<W-A9V5[0",Q(&YO="!A;&QO=V5D(&%F=&5R(&=E
XM;F5R871I;F<@=&%B;&4@;V8@8V]N=&5N='-]7&9I"B4*?0H*7&]U=&5R7&1E
XM9EQC:&%P=&5R>UQP87)S96%R9UQC:&%P=&5R>GIZ?0I<9&5F7&-H87!T97)Z
XM>GH@(S%[7'-E8V-H96-K>V-H87!T97)])0I<<V5C;F\],"!<<W5B<V5C;F\]
XM,"!<<W5B<W5B<V5C;F\],"!<9VQO8F%L7&%D=F%N8V4@7&-H87!N;R!B>2 Q
XM(%QM97-S86=E>T-H87!T97(@7'1H95QC:&%P;F]])0I<8VAA<&UA8W)O('LC
XM,7U[7'1H95QC:&%P;F]])0I<9V1E9EQT:&ES<V5C=&EO;GLC,7U<9V1E9EQT
XM:&ES8VAA<'1E<GLC,7TE"EQL971<<F%W8F%C:W-L87-H/5QR96QA>"4*7&QE
XM=%QF<F5N8VAS<&%C:6YG/5QR96QA>"4*7&5D969<=&5M<'M[7')E86QB86-K
XM<VQA<V@@8VAA<&5N=')Y('LC,7U[7'1H95QC:&%P;F]]>UQN;V5X<&%N9%QF
XM;VQI;WU]?24*7&5S8V%P96-H87(]8%Q<)0I<=W)I=&4@7&-O;G1E;G1S9FEL
XM92!<=&5M<" @)0I<9&]N;V1E<F5F("4*?0H*7&]U=&5R7&1E9EQA<'!E;F1I
XM>'M<<&%R<V5A<F=<87!P96YD:7AZ>GI]"EQD969<87!P96YD:7AZ>GH@(S%[
XM7'-E8V-H96-K>V%P<&5N9&EX?24*7'-E8VYO/3 @7'-U8G-E8VYO/3 @7'-U
XM8G-U8G-E8VYO/3 @7&=L;V)A;%QA9'9A;F-E(%QA<'!E;F1I>&YO(&)Y(#$@
XM7&UE<W-A9V5[07!P96YD:7@@7&%P<&5N9&EX;&5T=&5R?24*7&-H87!M86-R
XM;R![(S%]>T%P<&5N9&EX(%QA<'!E;F1I>&QE='1E<GTE"EQG9&5F7'1H:7-C
XM:&%P=&5R>R,Q?5QG9&5F7'1H:7-S96-T:6]N>R,Q?24*7&QE=%QR87=B86-K
XM<VQA<V@]7')E;&%X)0I<;&5T7&9R96YC:'-P86-I;F<]7')E;&%X)0I<961E
XM9EQT96UP>WM<<F5A;&)A8VMS;&%S:"!C:&%P96YT<GD@>R,Q?7M!<'!E;F1I
XM>"!<87!P96YD:7AL971T97)]>UQN;V5X<&%N9%QF;VQI;WU]?24*7&5S8V%P
XM96-H87(]8%Q<)0I<=W)I=&4@7&-O;G1E;G1S9FEL92!<=&5M<" @)0I<=6YN
XM=6UB;F]D97)E9B E"GT*"EQO=71E<EQD969<=6YN=6UB97)E9'M<<&%R<V5A
XM<F=<=6YN=6UB97)E9'IZ>GT*7&1E9EQU;FYU;6)E<F5D>GIZ(",Q>UQS96-C
XM:&5C:WMU;FYU;6)E<F5D?24*7'-E8VYO/3 @7'-U8G-E8VYO/3 @7'-U8G-U
XM8G-E8VYO/3 @7&UE<W-A9V5[*",Q*7T*7'5N;G5M8F-H87!M86-R;R![(S%]
XM)0I<9V1E9EQT:&ES8VAA<'1E<GLC,7U<9V1E9EQT:&ES<V5C=&EO;GLC,7TE
XM"EQL971<<F%W8F%C:W-L87-H/5QR96QA>"4*7&QE=%QF<F5N8VAS<&%C:6YG
XM/5QR96QA>"4*7&5D969<=&5M<'M[7')E86QB86-K<VQA<V@@=6YN=6UB8VAA
XM<&5N=')Y('LC,7U[7&YO97AP86YD7&9O;&EO?7U])0I<97-C87!E8VAA<CU@
XM7%PE"EQW<FET92!<8V]N=&5N='-F:6QE(%QT96UP(" E"EQU;FYU;6)N;V1E
XM<F5F("4*?0H*7&]U=&5R7&1E9EQS96-T:6]N>UQP87)S96%R9UQS96-T:6]N
XM>GIZ?0I<9&5F7'-E8W1I;VYZ>GH@(S%[7'-E8V-H96-K>W-E8W1I;VY])0I<
XM<W5B<V5C;F\],"!<<W5B<W5B<V5C;F\],"!<9VQO8F%L7&%D=F%N8V4@7'-E
XM8VYO(&)Y(#$@)0I<9V1E9EQT:&ES<V5C=&EO;GLC,7U<<V5C:&5A9&EN9R![
XM(S%]>UQT:&5<8VAA<&YO?7M<=&AE7'-E8VYO?24*7&QE=%QR87=B86-K<VQA
XM<V@]7')E;&%X)0I<;&5T7&9R96YC:'-P86-I;F<]7')E;&%X)0I<961E9EQT
XM96UP>WM<<F5A;&)A8VMS;&%S:"!S96-E;G1R>2 E"GLC,7U[7'1H95QC:&%P
XM;F]]>UQT:&5<<V5C;F]]>UQN;V5X<&%N9%QF;VQI;WU]?24*7&5S8V%P96-H
XM87(]8%Q<)0I<=W)I=&4@7&-O;G1E;G1S9FEL92!<=&5M<" E"EQD;VYO9&5R
XM968@)0I<<&5N86QT>2 Q,# P," E"GT*"EQO=71E<EQD969<87!P96YD:7AS
XM96-T:6]N>UQP87)S96%R9UQA<'!E;F1I>'-E8W1I;VYZ>GI]"EQO=71E<EQD
XM969<87!P96YD:7AS96-[7'!A<G-E87)G7&%P<&5N9&EX<V5C=&EO;GIZ>GT*
XM7&1E9EQA<'!E;F1I>'-E8W1I;VYZ>GH@(S%[7'-E8V-H96-K>V%P<&5N9&EX
XM<V5C=&EO;GTE"EQS=6)S96-N;STP(%QS=6)S=6)S96-N;STP(%QG;&]B86Q<
XM861V86YC92!<<V5C;F\@8GD@,2 E"EQG9&5F7'1H:7-S96-T:6]N>R,Q?5QS
XM96-H96%D:6YG('LC,7U[7&%P<&5N9&EX;&5T=&5R?7M<=&AE7'-E8VYO?24*
XM7&QE=%QR87=B86-K<VQA<V@]7')E;&%X)0I<;&5T7&9R96YC:'-P86-I;F<]
XM7')E;&%X)0I<961E9EQT96UP>WM<<F5A;&)A8VMS;&%S:"!S96-E;G1R>2 E
XM"GLC,7U[7&%P<&5N9&EX;&5T=&5R?7M<=&AE7'-E8VYO?7M<;F]E>'!A;F1<
XM9F]L:6]]?7TE"EQE<V-A<&5C:&%R/6!<7"4*7'=R:71E(%QC;VYT96YT<V9I
XM;&4@7'1E;7 @)0I<=6YN=6UB;F]D97)E9B E"EQP96YA;'1Y(#$P,# P("4*
XM?0H*7&]U=&5R7&1E9EQU;FYU;6)E<F5D<V5C>UQP87)S96%R9UQU;FYU;6)E
XM<F5D<V5C>GIZ?0I<9&5F7'5N;G5M8F5R961S96-Z>GH@(S%[7'-E8V-H96-K
XM>W5N;G5M8F5R961S96-])0I<<&QA:6YS96-H96%D:6YG('LC,7U<9V1E9EQT
END_OF_FILE
  MISSING="" 
  if test 50010 -ne `wc -c <'yorick-1.0/Drat/texinfo.tex.U.01'`; then
    echo shar: \"'yorick-1.0/Drat/texinfo.tex.U.01'\" unpacked with wrong size!
  else
    for I in 01 02 ; do
      if test ! -f yorick-1.0/Drat/texinfo.tex.U.${I} ; then
        MISSING="${MISSING} ${I}"
      fi 
    done 
    if test "${MISSING}" = "" ; then
      echo shar: Combining  \"'yorick-1.0/Drat/texinfo.tex.U'\" \(95008 characters\)
      cat yorick-1.0/Drat/texinfo.tex.U.0[1-2] > 'yorick-1.0/Drat/texinfo.tex.U'                                                              
      if test 95008 -ne `wc -c <'yorick-1.0/Drat/texinfo.tex.U'`; then
        echo shar: \"'yorick-1.0/Drat/texinfo.tex.U'\" combined with wrong size!  
      else  
        rm -f yorick-1.0/Drat/texinfo.tex.U.0[1-2]  
        echo shar: Uudecoding \"'yorick-1.0/Drat/texinfo.tex'\" \(68925 characters\)
        cat yorick-1.0/Drat/texinfo.tex.U | uudecode
        if test 68925 -ne `wc -c <'yorick-1.0/Drat/texinfo.tex'`; then
          echo shar: \"'yorick-1.0/Drat/texinfo.tex'\" uudecoded with wrong size!
        else 
          rm yorick-1.0/Drat/texinfo.tex.U
        fi   
      fi
    fi
  fi
  # end of 'yorick-1.0/Drat/texinfo.tex.U.01'
fi
if test -f 'yorick-1.0/Gist/events.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'yorick-1.0/Gist/events.c'\"
else
  echo shar: Extracting \"'yorick-1.0/Gist/events.c'\" \(14347 characters\)
  sed "s/^X//" >'yorick-1.0/Gist/events.c' <<'END_OF_FILE'
X/*
X   EVENTS.C
X   Platform independent part of event handling.
X
X   $Id$
X */
X/*    Copyright (c) 1994.  The Regents of the University of California.
X                    All rights reserved.  */
X
X/* Read events.h for a general overview of the event handling semantics
X   defined here.  */
X
X#include "events.h"
X
X/* The following routines constitute the semi-public interface to the
X   opaque EVChannel data structure.  The ev_type and ev_context calls
X   simply return the type and context as registered with ev_handler.
X   EVChannels are kept in two linked lists (one for idlers, another
X   for event handlers); ev_next_channel returns the next element in
X   the linked list, or 0 at the end of the list.
X   ev_ready and ev_set_ready read and set the ready flag:
X   ready  - This is set to non-zero when unread input is available on
X            the channel.  ev_handle_next resets the ready flag to zero
X	    just before the Action routine is called.
X
X   Normally, they are needed only by os_poll or other low-level routines.
X
X   The channel argument may be 0 in any of these routines; they then
X   return 0 (if they have a return value), or are no-ops.
X */
Xextern int ev_type(EVChannel *channel);
Xextern void *ev_context(EVChannel *channel);
Xextern EVChannel *ev_next_channel(EVChannel *channel);
Xextern int ev_ready(EVChannel *channel);
Xextern void ev_set_ready(EVChannel *channel, int ready);
X
X/* the following platform-dependent routines are required */
Xextern int os_poll(EVChannel *list, long timeout, int clear);   /* ospoll.c */
Xextern void *os_key_context(void);        /* ospoll.c */
Xextern int os_key_type(void);             /* ospoll.c */
Xextern char *os_get_line(void);           /* osterm.c */
Xextern void os_free_line(void);           /* osterm.c */
Xextern void *os_malloc(unsigned long);    /* osmem.c */
Xextern double os_clock(void);             /* ostime.c */
X
X/* The ready member is set to 1 by os_poll when input is detected;
X   os_poll will not be called as long as any non-busy channel has
X   ready non-zero.
X   A non-zero ready member triggers the Action for that channel;
X   ready is set to zero just before the Action is called.
X */
Xstruct EVChannel {
X  EVChannel *next;
X  EVCallback *Action;
X  void *context;
X  unsigned long type;     /* long to hold timeout for timer events */
X  int busy;
X  int ready;
X};
X
X/* these are the linked lists for the I/O events, idlers, and timeouts */
Xstatic EVChannel *eventChannels= 0;
Xstatic EVChannel *idlerChannels= 0;
Xstatic EVChannel *timerChannels= 0;
X
X/* these are to implement round-robin calling among the channels */
Xstatic EVChannel *eventNext= 0;
Xstatic EVChannel *idlerNext= 0;
Xstatic unsigned long timePrevious;
X
X/* the keyboard channel is in the eventChannels list, but needs to be
X   separately identified */
Xstatic EVChannel *keyChannel= 0;
X
Xstatic EVChannel *freeChannels= 0;   /* next free channel in block */
X
X/* ------------------------------------------------------------------------ */
X
X/* go until there are no non-busy input channels */
Xvoid ev_handle_forever(void)
X{
X  while (ev_handle_next(-1L));
X}
X
X/* handle all events which are either ready or can be read immediately */
Xvoid ev_handle_available(void)
X{
X  while (ev_handle_next(0L));
X}
X
X/* ------------------------------------------------------------------------ */
X
Xstatic int handle_ready(int clear);
Xstatic void update_timers(int force);
X
X/* handle zero or one event (a non-busy idler counts as an event):
X   1. check for any channels marked as ready
X   2. check if any channels have immediately available input
X   3. check if there are any idlers waiting to run
X   4. wait until input becomes available on some channel
X
X   If timeout==0, step 4 is not taken; if timeout<0, wait forever.
X   If timeout>0, wait no longer than that many milliseconds.
X      -- On OSs for which a non-infinite wait is impossible,
X         timeout>0 is the same as timeout==0.
X
X   If input is ready (or becomes available), the input channels are
X   called in round-robin order -- that is, after one channel is called,
X   all other channels have a chance to be called before the first will
X   be called again.
X   Idlers obey a similar round-robin rule among themselves.
X */
Xint ev_handle_next(long timeout)
X{
X  /* first see if any events are pending */
X  update_timers(0);
X  if (handle_ready(0)) return 1;
X
X  /* if we're not supposed to wait, just check if anything can
X     be read immediately */
X  if (!timeout)
X    return (os_poll(eventChannels, 0L, 0)>0 && handle_ready(0));
X
X  /* when we've nothing else to do, maybe run an idler */
X  if (!idlerNext) idlerNext= idlerChannels;
X  if (idlerNext) {
X    EVChannel *idler= idlerNext;
X    int ready;
X    do {
X      if (!idler->busy) {
X	/* before starting an idler, check if any immediately readable
X	   event channel */
X	os_poll(eventChannels, 0L, 0);
X	if (!handle_ready(0)) {
X	  idlerNext= idler->next;
X	  idler->Action(idler->context, 0);
X	}
X	return 1;
X      }
X      idler= idler->next;
X      if (!idler) idler= idlerChannels;
X    } while (idler!=idlerNext);
X  }
X
X  /* reduce the timeout if there is a timer channel */
X  if (timerChannels &&
X      (timeout<0 || timeout<timerChannels->type))
X    timeout= timerChannels->type;
X
X  /* finally, wait until input becomes available --
X     note that timers only need to be updated if no events are ready */
X  if (!os_poll(eventChannels, timeout, 0)) update_timers(1);
X  return handle_ready(0);
X}
X
X/* implement round-robin for channels with input ready */
Xstatic int handle_ready(int clear)
X{
X  if (timerChannels && (!timerChannels->type || clear)) {
X    /* timers which have timed out take precedence over input channels */
X    EVCallback *Action= timerChannels->Action;
X    void *context= timerChannels->context;
X    ev_remove(timerChannels);
X    (*Action)(context, clear);
X    return 1;
X  }
X  if (!eventNext) eventNext= eventChannels;
X  if (eventNext) {
X    EVChannel *chan= eventNext;
X    do {
X      if (!chan->busy && chan->ready) {
X	chan->ready= 0;
X	eventNext= chan->next;
X	chan->Action(chan->context, clear);
X	return 1;
X      }
X      chan= chan->next;
X      if (!chan) chan= eventChannels;
X    } while (chan!=eventNext);
X  }
X  return 0;
X}
X
Xstatic double timerPrevious;
X
Xstatic void update_timers(int force)
X{
X  if (timerChannels) {
X    EVChannel *chan= timerChannels;
X    double elapsed= timerPrevious;
X    timerPrevious= os_clock();
X    elapsed= 1000.*(timerPrevious-elapsed);
X    if (elapsed>1.e9) elapsed= 1.e9;
X    do {
X      if (elapsed>chan->type) chan->type= 0;  /* timed out */
X      else chan->type-= (long)elapsed;
X      chan= chan->next;
X    } while (chan);
X    /* the force flag forces at least the first timer channel to time out
X       -- this is used to ensure that if the timeout to os_poll has been
X       set to the timer timeout, and os_poll actually timed out, then the
X       timer will trigger */
X    if (force) timerChannels->type= 0;
X  }
X}
X
X/* ------------------------------------------------------------------------ */
X
X/* clear out any pending events and input (as after an error) */
Xvoid ev_clear(void)
X{
X  EVChannel *chan;
X  for (chan=eventChannels ; chan ; chan=chan->next) chan->busy= 0;
X  do {
X    while (handle_ready(1));
X  } while (os_poll(eventChannels, 0L, 1));
X}
X
X/* ------------------------------------------------------------------------ */
X
X/* KeyCallback is the keyboard callback routine, which sets keyDataReady,
X   calls EVGetLine, then calls EVKeyAction if the clear flag is not set.
X */
Xstatic void KeyCallback(void *context, int clear);
Xstatic int keyDataReady= 0;
Xstatic void (*EVKeyAction)(const char *line)= 0;
X
X/* ev_put_back requires the previous line and a flag */
Xstatic char *keyLine= 0;
Xstatic int keyPutBack= 0;
Xstatic int keyErrors= 0;
X
X/* call os_get_line only after keyDataReady -- until then handle others */
Xchar *ev_get_line(void)
X{
X  if (!keyPutBack) os_free_line();
X  while (!keyDataReady) ev_handle_next(-1L);
X  if (!keyPutBack) keyLine= os_get_line();
X  /* an error on keyboard input is potentially serious --
X     allow only a dozen before giving up to avoid infinite loops
X     note that os_get_line may have already removed keyChannel if the
X     problem is really serious -- the KeyAction can check this */
X  if (!keyLine && keyErrors++>12) ev_remove(keyChannel);
X  else keyErrors= 0;
X  keyDataReady= keyPutBack= 0;
X  if (keyChannel) keyChannel->ready= 0;
X  return keyLine;
X}
X
X/* rig ev_get_line to immediately return same thing as last time */
Xvoid ev_put_back(void)
X{
X  keyPutBack= 1;
X  if (keyChannel) keyChannel->ready= 1;
X}
X
X/* this is the keyboard Action routine */
Xstatic void KeyCallback(void *context, int clear)
X{
X  char *line;
X  keyDataReady= 1;
X  line= ev_get_line();
X  if (EVKeyAction && !clear) EVKeyAction(line);
X}
X
X/* install a KeyAction handler -- the os_key_type or os_key_context routines
X   may perform any required platform-dependent initialization */
XEVChannel *ev_key_handler(void (*KeyAction)(const char *line))
X{
X  if (keyChannel) return 0;
X  keyChannel= ev_handler(&KeyCallback, os_key_context(), os_key_type());
X  EVKeyAction = KeyAction;
X  keyDataReady= keyPutBack= keyErrors= 0;
X  return keyChannel;
X}
X
XEVChannel *ev_find_key(void)
X{
X  return keyChannel;
X}
X
X/* ------------------------------------------------------------------------ */
X
X/* following are for use by any callback routine */
X
Xint ev_busy(EVChannel *channel)
X{ return channel? channel->busy : 0; }
X
Xvoid ev_set_busy(EVChannel *channel, int busy)
X{ if (channel) channel->busy= busy; }
X
X/* following for semi-private use by routines like OSPoll only */
X
Xint ev_type(EVChannel *channel)
X{ return channel? channel->type : 0; }
X
Xvoid *ev_context(EVChannel *channel)
X{ return channel? channel->context : 0; }
X
XEVChannel *ev_next_channel(EVChannel *channel)
X{ return channel? channel->next : 0; }
X
Xint ev_ready(EVChannel *channel)
X{ return channel? channel->ready : 0; }
X
Xvoid ev_set_ready(EVChannel *channel, int ready)
X{ if (channel) channel->ready= ready; }
X
X/* ------------------------------------------------------------------------ */
X
X/* remove an event or idler channel */
Xvoid ev_remove(EVChannel *channel)
X{
X  EVChannel *chan= eventChannels;
X  EVChannel **prev= &eventChannels;
X
X  while (chan && chan!=channel) {
X    prev= &chan->next;
X    chan= *prev;
X  }
X  if (!chan) {
X    chan= idlerChannels;
X    prev= &idlerChannels;
X    while (chan && chan!=channel) {
X      prev= chan->next;
X      chan= *prev;
X    }
X    if (!chan) {
X      chan= timerChannels;
X      prev= &timerChannels;
X      while (chan && chan!=channel) {
X	prev= chan->next;
X	chan= *prev;
X      }
X    }
X  }
X
X  if (chan) {
X    /* take special care with channels marked as next in round-robin */
X    if (chan==eventNext) eventNext= chan->next;
X    if (chan==idlerNext) idlerNext= chan->next;
X
X    /* take care to properly remove all traces of the keyboard handler */
X    if (chan==keyChannel) {
X      os_free_line();
X      keyLine= 0;
X      keyDataReady= keyPutBack= 0;
X      keyChannel= 0;
X    }
X
X    /* unlink and add to the list of free channels */
X    *prev= chan->next;
X    chan->next= freeChannels;
X    freeChannels= chan;
X  }
X}
X
Xstatic EVChannel *NewHandler(EVCallback *Action, void *context, int type);
X
X/* create an idler channel */
XEVChannel *ev_idler(EVCallback *Action, void *context)
X{
X  EVChannel *chan= 0;
X  if (Action && !ev_find_idler(Action, context)) {
X    chan= NewHandler(Action, context, 0);
X    if (chan) {
X      chan->next= idlerChannels;
X      idlerChannels= chan;
X    }
X  }
X  return chan;
X}
X
X/* create a timer channel */
XEVChannel *ev_timer(EVCallback *Action, void *context, long timeout)
X{
X  EVChannel *chan= 0;
X  if (Action && timeout>=0) {
X    EVChannel *next= timerChannels;
X    EVChannel **prev= &timerChannels;
X    if (!timerChannels) timerPrevious= os_clock();
X    else update_timers(0);
X    chan= NewHandler(Action, context, 0);
X    if (chan) {
X      /* keep the timers sorted with the one that expires first always
X	 at the head of the list */
X      while (next && next->type<=timeout) {
X	prev= &next->next;
X	next= *prev;
X      }
X      chan->type= timeout;
X      chan->next= next;
X      *prev= chan;
X    }
X  }
X  return chan;
X}
X
X/* create an event channel */
XEVChannel *ev_handler(EVCallback *Action, void *context, int type)
X{
X  EVChannel *chan= 0;
X  if (Action && !ev_find(context, type)) {
X    chan= NewHandler(Action, context, type);
X    if (chan) {
X      chan->next= eventChannels;
X      eventChannels= chan;
X    }
X  }
X  return chan;
X}
X
X#ifndef EV_BLOCK_SIZE
X#define EV_BLOCK_SIZE 8
X#endif
X
Xstatic EVChannel staticChannels[EV_BLOCK_SIZE];
X
X/* manage the (small amount) of memory required to store channels
X   Channels are allocated in blocks as necessary; such blocks are never
X   freed.  The first block is statically allocated, any others are
X   allocated using the memory manager OSmalloc which has the same
X   semantics as the ANSI C malloc routine.
X */
Xstatic EVChannel *NewHandler(EVCallback *Action, void *context, int type)
X{
X  EVChannel *chan;
X  if (!freeChannels) {
X    int i= EV_BLOCK_SIZE;
X    if (eventChannels | idlerChannels) {
X      freeChannels= os_malloc(EV_BLOCK_SIZE*sizeof(EVChannel));
X      if (!freeChannels) return 0;
X    } else {
X      freeChannels= staticChannels;
X    }
X    freeChannels->next= 0;
X    while (--i) {
X      freeChannels[1].next= freeChannels;
X      freeChannels++;
X    }
X  }
X  freeChannels->Action= Action;
X  freeChannels->context= context;
X  freeChannels->type= type;
X  freeChannels->busy= freeChannels->ready= 0;
X  chan= freeChannels;
X  freeChannels= freeChannels->next;
X  return chan;
X}
X
X/* ------------------------------------------------------------------------ */
X/* routines to find an event (or idler) channel, given the context,
X   and type (or Action) */
X
Xstatic EVChannel *FindChannel(EVCallback *Action, void *context, int type);
X
XEVChannel *ev_find_idler(EVCallback *Action, void *context)
X{
X  return Action? FindChannel(Action, context, 0) : 0;
X}
X
XEVChannel *ev_find(void *context, int type)
X{
X  return FindChannel(0, context, type);
X}
X
Xstatic EVChannel *FindChannel(EVCallback *Action, void *context, int type)
X{
X  EVChannel *chan= Action? idlerChannels : eventChannels;
X  while (chan) {
X    if ((!Action || chan->Action==Action) &&
X	chan->context==context && chan->type==type) break;
X    chan= chan->next;
X  }
X  return chan;
X}
X
X/* ------------------------------------------------------------------------ */
END_OF_FILE
  if test 14347 -ne `wc -c <'yorick-1.0/Gist/events.c'`; then
    echo shar: \"'yorick-1.0/Gist/events.c'\" unpacked with wrong size!
  fi
  # end of 'yorick-1.0/Gist/events.c'
fi
if test -f 'yorick-1.0/configure' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'yorick-1.0/configure'\"
else
  echo shar: Extracting \"'yorick-1.0/configure'\" \(23358 characters\)
  sed "s/^X//" >'yorick-1.0/configure' <<'END_OF_FILE'
X#!/bin/sh
X# Guess values for system-dependent variables and create Makefiles.
X# Generated automatically using autoconf.
X# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
X
X# This program is free software; you can redistribute it and/or modify
X# it under the terms of the GNU General Public License as published by
X# the Free Software Foundation; either version 2, or (at your option)
X# any later version.
X
X# This program is distributed in the hope that it will be useful,
X# but WITHOUT ANY WARRANTY; without even the implied warranty of
X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X# GNU General Public License for more details.
X
X# You should have received a copy of the GNU General Public License
X# along with this program; if not, write to the Free Software
X# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
X# Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp]
X#        [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE[=VALUE]]
X# Ignores all args except --srcdir, --prefix, --exec-prefix, and
X# --with-PACKAGE[=VALUE] unless this script has special code to handle it.
X
Xfor arg
Xdo
X  # Handle --exec-prefix with a space before the argument.
X  if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
X  # Handle --host with a space before the argument.
X  elif test x$next_host = xyes; then next_host=
X  # Handle --prefix with a space before the argument.
X  elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
X  # Handle --srcdir with a space before the argument.
X  elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
X  else
X    case $arg in
X     # For backward compatibility, recognize -exec-prefix and --exec_prefix.
X     -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
X	exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
X     -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
X	next_exec_prefix=yes ;;
X
X     -gas | --gas | --ga | --g) ;;
X
X     -host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
X     -host | --host | --hos | --ho | --h)
X	next_host=yes ;;
X
X     -nfp | --nfp | --nf) ;;
X
X     -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
X	prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
X     -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
X	next_prefix=yes ;;
X
X     -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
X	srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;;
X     -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
X	next_srcdir=yes ;;
X
X     -with-* | --with-*)
X       package=`echo $arg|sed -e 's/-*with-//' -e 's/=.*//'`
X       # Reject names that aren't valid shell variable names.
X       if test -n "`echo $package| sed 's/[-a-zA-Z0-9_]//g'`"; then
X         echo "configure: $package: invalid package name" >&2; exit 1
X       fi
X       package=`echo $package| sed 's/-/_/g'`
X       case "$arg" in
X         *=*) val="`echo $arg|sed 's/[^=]*=//'`" ;;
X         *) val=1 ;;
X       esac
X       eval "with_$package='$val'" ;;
X
X     -v | -verbose | --verbose | --verbos | --verbo | --verb | --ver | --ve | --v)
X       verbose=yes ;;
X
X     *) ;;
X    esac
X  fi
Xdone
X
Xtrap 'rm -fr conftest* confdefs* core; exit 1' 1 3 15
Xtrap 'rm -f confdefs*' 0
X
X# NLS nuisances.
X# These must not be set unconditionally because not all systems understand
X# e.g. LANG=C (notably SCO).
Xif test "${LC_ALL+set}" = 'set' ; then LC_ALL=C; export LC_ALL; fi
Xif test "${LANG+set}"   = 'set' ; then LANG=C;   export LANG;   fi
X
Xrm -f conftest* confdefs.h
X> confdefs.h
Xcompile='${CC-cc} $CFLAGS conftest.c -o conftest $LIBS >/dev/null 2>&1'
X
X# A filename unique to this package, relative to the directory that
X# configure is in, which we can look for to find out if srcdir is correct.
Xunique_file=Yorick/yorick.c
X
X# Find the source files, if location was not specified.
Xif test -z "$srcdir"; then
X  srcdirdefaulted=yes
X  # Try the directory containing this script, then `..'.
X  prog=$0
X  confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
X  test "X$confdir" = "X$prog" && confdir=.
X  srcdir=$confdir
X  if test ! -r $srcdir/$unique_file; then
X    srcdir=..
X  fi
Xfi
Xif test ! -r $srcdir/$unique_file; then
X  if test x$srcdirdefaulted = xyes; then
X    echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
X  else
X    echo "configure: Can not find sources in \`${srcdir}'." 1>&2
X  fi
X  exit 1
Xfi
X# Preserve a srcdir of `.' to avoid automounter screwups with pwd.
X# But we can't avoid them for `..', to make subdirectories work.
Xcase $srcdir in
X  .|/*|~*) ;;
X  *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
Xesac
X
X
X# Save the original args to write them into config.status later.
Xconfigure_args="$*"
X
Xoriginal_cc=$CC
Xif test -z "$CC"; then
X  # Extract the first word of `gcc', so it can be a program name with args.
X  set dummy gcc; word=$2
X  echo checking for $word
X  IFS="${IFS= 	}"; saveifs="$IFS"; IFS="${IFS}:"
X  for dir in $PATH; do
X    test -z "$dir" && dir=.
X    if test -f $dir/$word; then
X      CC="gcc"
X      break
X    fi
X  done
X  IFS="$saveifs"
Xfi
Xtest -z "$CC" && CC="cc"
Xtest -n "$CC" && test -n "$verbose" && echo "	setting CC to $CC"
X
X# Find out if we are using GNU C, under whatever name.
Xcat > conftest.c <<EOF
X#ifdef __GNUC__
X  yes
X#endif
XEOF
X${CC-cc} -E conftest.c > conftest.out 2>&1
Xif egrep yes conftest.out >/dev/null 2>&1; then
X  GCC=1 # For later tests.
Xfi
Xrm -f conftest*
X
Xif test ! -z "$CFLAGS"; then echo using CFLAGS=$CFLAGS; fi
XDEFS="$CFLAGS $DEFS"
Xif test ! -z "$LDOPTS"; then echo using LDOPTS=$LDOPTS; fi
Xecho checking how to run the C preprocessor
Xif test -z "$CPP"; then
X  # This must be in double quotes, not single quotes, because CPP may get
X  # substituted into the Makefile and ``${CC-cc}'' will simply confuse
X  # make.  It must be expanded now.
X  CPP="${CC-cc} -E"
X  cat > conftest.c <<EOF
X#include "confdefs.h"
X#include <stdio.h>
XSyntax Error
XEOF
Xerr=`eval "($CPP conftest.c >/dev/null) 2>&1"`
Xif test -z "$err"; then
X  :
Xelse
X  rm -rf conftest*
X  CPP=/lib/cpp
Xfi
Xrm -f conftest*
Xfi
Xtest ".${verbose}" != "." && echo "	setting CPP to $CPP"
X
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X#ifdef hpux
X  yes
X#endif
X
XEOF
Xeval "$CPP conftest.c > conftest.out 2>&1"
Xif egrep "yes" conftest.out >/dev/null 2>&1; then
X  rm -rf conftest*
X  
X
X{
Xtest -n "$verbose" && \
Xecho "	defining _HPUX_SOURCE"
Xecho "#define" _HPUX_SOURCE 1 >> confdefs.h
XDEFS="$DEFS -D_HPUX_SOURCE=1"
X}
X
Xif test $CC = cc; then CC="cc -Aa"; fi
X
X
Xfi
Xrm -f conftest*
Xecho checking for "ANSI C compiler"
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
X#include <stdio.h>
Xstruct junk { int x; double y; } glob= { 1, -2.0 };
Xextern int oops(struct junk *dummy);      /* prototype */
Xstatic void *vtest= 0;                    /* void pointer */
Xint oops(struct junk *dummy) {            /* ANSI function definition */
X  struct junk loc1= *dummy;               /* struct assign */
X  struct junk loc2= { -3, 4.0 };          /* aggregate automatic init */
X  void *vtest= &glob;                     /* implicit void pointer cast */
X  printf("%p %d %g\n", vtest, loc1.x, loc2.y);
X  return 0;
X}
X
Xint main() { exit(0); }
Xint t() { 
X  oops(&glob);
X }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  echo "... $CC looks like an ANSI compiler, will use it"
X
Xelse
X  rm -rf conftest*
X  
Xecho "********* $CC is not an ANSI C compiler *********"
Xecho "Set environment variable CC to your ANSI compiler and rerun configure."
Xexit
X
Xfi
Xrm -f conftest*
Xif test -z "$RANLIB"; then
X  # Extract the first word of `ranlib', so it can be a program name with args.
X  set dummy ranlib; word=$2
X  echo checking for $word
X  IFS="${IFS= 	}"; saveifs="$IFS"; IFS="${IFS}:"
X  for dir in $PATH; do
X    test -z "$dir" && dir=.
X    if test -f $dir/$word; then
X      RANLIB="ranlib"
X      break
X    fi
X  done
X  IFS="$saveifs"
Xfi
Xtest -z "$RANLIB" && RANLIB=":"
Xtest -n "$RANLIB" && test -n "$verbose" && echo "	setting RANLIB to $RANLIB"
X
XLIBS_save="${LIBS}"
XLIBS="${LIBS} -lm"
Xhave_lib=""
Xecho checking for -lm
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
Xint main() { exit(0); }
Xint t() { main(); }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  have_lib="1"
X
Xfi
Xrm -f conftest*
XLIBS="${LIBS_save}"
Xif test -n "${have_lib}"; then
X   :; 
Xelse
X   :; 
Xfi
XLOWLIBS=
XLIBS_save="${LIBS}"
XLIBS="${LIBS} -lfpe"
Xhave_lib=""
Xecho checking for -lfpe
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
Xint main() { exit(0); }
Xint t() { main(); }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  have_lib="1"
X
Xfi
Xrm -f conftest*
XLIBS="${LIBS_save}"
Xif test -n "${have_lib}"; then
X   :; LOWLIBS=-lfpe
Xelse
X   :; 
Xfi
XLIBS_save="${LIBS}"
XLIBS="${LIBS} -lsunmath"
Xhave_lib=""
Xecho checking for -lsunmath
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
Xint main() { exit(0); }
Xint t() { main(); }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  have_lib="1"
X
Xfi
Xrm -f conftest*
XLIBS="${LIBS_save}"
Xif test -n "${have_lib}"; then
X   :; LOWLIBS=-lsunmath
Xelse
X   :; 
Xfi
Xecho '#include "confdefs.h"
X#include <stdio.h>' > conftest.c
Xeval "$CPP conftest.c > conftest.out 2>&1"
Xif egrep "cuserid" conftest.out >/dev/null 2>&1; then
X  rm -rf conftest*
X  D_CUSERID=
X
Xelse
X  rm -rf conftest*
X  D_CUSERID="-D_NEED_CUSERID"
Xfi
Xrm -f conftest*
X
Xecho checking for exp10
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X#include <ctype.h>
Xint main() { exit(0); }
Xint t() { 
X/* The GNU C library defines this for functions which it implements
X    to always fail with ENOSYS.  Some functions are actually named
X    something starting with __ and the normal name is an alias.  */
X#if defined (__stub_exp10) || defined (__stub___exp10)
Xchoke me
X#else
X/* Override any gcc2 internal prototype to avoid an error.  */
Xextern char exp10(); exp10();
X#endif
X }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  D_HAS_EXP10="-DHAS_EXP10"
X
Xelse
X  rm -rf conftest*
X  D_HAS_EXP10=
Xfi
Xrm -f conftest*
X
Xecho checking for tcgetpgrp
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X#include <ctype.h>
Xint main() { exit(0); }
Xint t() { 
X/* The GNU C library defines this for functions which it implements
X    to always fail with ENOSYS.  Some functions are actually named
X    something starting with __ and the normal name is an alias.  */
X#if defined (__stub_tcgetpgrp) || defined (__stub___tcgetpgrp)
Xchoke me
X#else
X/* Override any gcc2 internal prototype to avoid an error.  */
Xextern char tcgetpgrp(); tcgetpgrp();
X#endif
X }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  D_NEED_TCGETPGRP=
X
Xelse
X  rm -rf conftest*
X  D_NEED_TCGETPGRP="-DNEED_TCGETPGRP"
Xfi
Xrm -f conftest*
X
Xecho checking for times
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X#include <ctype.h>
Xint main() { exit(0); }
Xint t() { 
X/* The GNU C library defines this for functions which it implements
X    to always fail with ENOSYS.  Some functions are actually named
X    something starting with __ and the normal name is an alias.  */
X#if defined (__stub_times) || defined (__stub___times)
Xchoke me
X#else
X/* Override any gcc2 internal prototype to avoid an error.  */
Xextern char times(); times();
X#endif
X }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  D_TIMER=
X
Xelse
X  rm -rf conftest*
X  D_TIMER="-DNO_TIMER"
Xfi
Xrm -f conftest*
X
Xbroken_times=no
Xif test -z "$D_TIMER"; then
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X#ifdef sun
X  yes
X#endif
X
XEOF
Xeval "$CPP conftest.c > conftest.out 2>&1"
Xif egrep "yes" conftest.out >/dev/null 2>&1; then
X  rm -rf conftest*
X  cat > conftest.c <<EOF
X#include "confdefs.h"
X
X#include <time.h>
X#include <sys/times.h>
X#ifndef CLK_TCK
X#include <unistd.h>
X#ifndef CLK_TCK
X#define CLK_TCK sysconf(_SC_CLK_TCK)
X#endif
X#endif
Xint main(argc,argv)
X     int argc; char *argv[];
X{
X  struct tms cpuTime;
X  long wallTicks= times(&cpuTime);
X  sleep(1);
X  wallTicks= times(&cpuTime)-wallTicks;
X  if (wallTicks<CLK_TCK/2) exit(1);
X  else exit(0);
X}
X
XEOF
Xeval $compile
Xif test -s conftest && (./conftest; exit) 2>/dev/null; then
X  rm -rf conftest*
X  D_TIMER=
X
Xelse
X  rm -rf conftest*
X  D_TIMER="-DNO_TIMER"; broken_times=yes
Xfi
Xrm -f conftest*
X
Xfi
Xrm -f conftest*
Xfi
Xif test "X$D_TIMER" = "X-DNO_TIMER"; then
X  echo checking for getrusage
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X#include <ctype.h>
Xint main() { exit(0); }
Xint t() { 
X/* The GNU C library defines this for functions which it implements
X    to always fail with ENOSYS.  Some functions are actually named
X    something starting with __ and the normal name is an alias.  */
X#if defined (__stub_getrusage) || defined (__stub___getrusage)
Xchoke me
X#else
X/* Override any gcc2 internal prototype to avoid an error.  */
Xextern char getrusage(); getrusage();
X#endif
X }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  D_TIMER="-DBSD_TIMER"
X
Xelse
X  rm -rf conftest*
X  if test "$broken_times" = yes; then D_TIMER=; fi
Xfi
Xrm -f conftest*
Xfi
Xcat > conftest.c <<EOF
X#include "confdefs.h"
Xmain() {
X  union { short s; char c[2]; } u;
X  u.s= 1;
X  exit(sizeof(short)!=2 || u.c[1]!=1);
X}
XEOF
Xeval $compile
Xif test -s conftest && (./conftest; exit) 2>/dev/null; then
X  rm -rf conftest*
X  D_NOT_CGM_ORDER=
X
Xelse
X  rm -rf conftest*
X  D_NOT_CGM_ORDER="-DNOT_CGM_ORDER"
Xfi
Xrm -f conftest*# If we find X, set shell vars x_includes and x_libraries to the paths.
Xno_x=true
Xecho checking for X include and library files with xmkmf
Xrm -fr conftestdir
Xif mkdir conftestdir; then
X  cd conftestdir
X  cat > Imakefile <<\EOF
Xacfindx:
X	@echo "im_incroot=$(INCROOT); im_usrlibdir=$(USRLIBDIR); im_libdir=$(LIBDIR)"
XEOF
X  if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
X    no_x=
X    # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
X    eval `make acfindx | grep -v make`
X    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
X    if test ! -f $im_usrlibdir/libX11.a && test -f $im_libdir/libX11.a; then
X      im_usrlibdir=$im_libdir
X    fi
X    case "$im_incroot" in
X	/usr/include) ;;
X	*) x_includes="$im_incroot" ;;
X    esac
X    case "$im_usrlibdir" in
X	/usr/lib | /lib) ;;
X	*) x_libraries="$im_usrlibdir" ;;
X    esac
X  fi
X  cd ..
X  rm -fr conftestdir
Xfi
X
Xif test -z "$im_usrlibdir"; then
Xecho checking for X include and library files directly
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X#include <X11/Intrinsic.h>
XEOF
Xerr=`eval "($CPP conftest.c >/dev/null) 2>&1"`
Xif test -z "$err"; then
X  rm -rf conftest*
X  no_x=
X
Xelse
X  rm -rf conftest*
X  for dir in \
X    /usr/local/include \
X    /usr/unsupported/include \
X    /usr/x386/include \
X    /usr/local/x11r5/include \
X    /usr/include/X11R5 \
X    /usr/include/X11R4 \
X    /usr/X11R5/include \
X    /usr/X11/include \
X    /usr/openwin/include \
X    /usr/openwin/share/include \
X    /usr/lpp/Xamples/include \
X    ; \
X  do
X    if test -r $dir/X11/Intrinsic.h; then
X      x_includes=$dir; no_x=
X      break
X    fi
X  done
Xfi
Xrm -f conftest*
X
X# Check for the libraries.  First see if replacing the `include' by
X# `lib' works.
XLIBS_save="${LIBS}"
XLIBS="${LIBS} -lXt"
Xhave_lib=""
Xecho checking for -lXt
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
Xint main() { exit(0); }
Xint t() { main(); }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  have_lib="1"
X
Xfi
Xrm -f conftest*
XLIBS="${LIBS_save}"
Xif test -n "${have_lib}"; then
X   :; no_x=
Xelse
X   :; for dir in `echo "$x_includes" | sed s/include/lib/` \
X  /usr/local/lib \
X  /usr/unsupported/lib \
X  /usr/x386/lib \
X  /usr/local/x11r5/lib \
X  /usr/lib/X11 \
X  /usr/lib/X11R4 \
X  /usr/X11R5/lib \
X  /usr/X11/lib \
X  /usr/openwin/lib \
X  /usr/lpp/Xamples/lib \
X  ; \
Xdo
X  for extension in a so sl; do
X    if test -r $dir/libXt.$extension; then
X      x_libraries=$dir; no_x=
X      break 2
X    fi
X  done
Xdone
Xfi
X
Xfi
Xif test -n "$verbose"; then
X  test -n "$x_includes" && echo "	found X11 headers in $x_includes"
X  test -n "$x_libraries" && echo "	found X11 libraries in $x_libraries"
Xfi
Xif test -z "${no_x}"; then
X  D_NO_XLIB=
X  if test -z "$x_includes"; then
X    XINCLUDE=
X  else
X    XINCLUDE=-I$x_includes
X  fi
X  if test -z "$x_libraries"; then
X    XLOAD=-lX11
X  else
X    XLOAD="-L$x_libraries -lX11"
X  fi
X  XOBJS="xfancy.o xbasic.o xicky.o xfont.o"
X  DISPOBJS="dispat.o dispas.o dispax.o"
Xelse
X  D_NO_XLIB="-DNO_XLIB"
X  XINCLUDE=
X  XLOAD=
X  XOBJS=
X  DISPOBJS="dispat.o dispas.o"
Xfi
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X#ifdef sgi
X  yes
X#endif
X
XEOF
Xeval "$CPP conftest.c > conftest.out 2>&1"
Xif egrep "yes" conftest.out >/dev/null 2>&1; then
X  rm -rf conftest*
X  D_USE_POLL="-DUSE_POLL"
X
Xelse
X  rm -rf conftest*
X  D_USE_POLL=
Xfi
Xrm -f conftest*
Xfortran=${FC}
Xif test -z "${fortran}"; then
Xfortran=`make -p -f - </dev/null 2>/dev/null | grep "FC *= *" | sed -e "s/FC *= *//"`
Xif test -z "${fortran}"; then fortran=f77; fi
Xfi
Xif test -z "$FC"; then
X  # Extract the first word of `${fortran}', so it can be a program name with args.
X  set dummy ${fortran}; word=$2
X  echo checking for $word
X  IFS="${IFS= 	}"; saveifs="$IFS"; IFS="${IFS}:"
X  for dir in $PATH; do
X    test -z "$dir" && dir=.
X    if test -f $dir/$word; then
X      FC="${fortran}"
X      break
X    fi
X  done
X  IFS="$saveifs"
Xfi
X
Xtest -n "$FC" && test -n "$verbose" && echo "	setting FC to $FC"
Xif test -z "${FC}"; then
Xif test -z "$FC"; then
X  # Extract the first word of `cft77', so it can be a program name with args.
X  set dummy cft77; word=$2
X  echo checking for $word
X  IFS="${IFS= 	}"; saveifs="$IFS"; IFS="${IFS}:"
X  for dir in $PATH; do
X    test -z "$dir" && dir=.
X    if test -f $dir/$word; then
X      FC="cft77"
X      break
X    fi
X  done
X  IFS="$saveifs"
Xfi
X
Xtest -n "$FC" && test -n "$verbose" && echo "	setting FC to $FC"
Xfi
XFORTRAN_LIBS=
XFORTRAN_LINKAGE=
Xif test ! -z "${FC}"; then
Xecho "Checking Fortran compiler ${FC}"
XLIBS_save="${LIBS}"
XLIBS="${LIBS} -lF77"
Xhave_lib=""
Xecho checking for -lF77
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
Xint main() { exit(0); }
Xint t() { main(); }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  have_lib="1"
X
Xfi
Xrm -f conftest*
XLIBS="${LIBS_save}"
Xif test -n "${have_lib}"; then
X   :; LIBS_save="${LIBS}"
XLIBS="${LIBS} -lM77"
Xhave_lib=""
Xecho checking for -lM77
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
Xint main() { exit(0); }
Xint t() { main(); }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  have_lib="1"
X
Xfi
Xrm -f conftest*
XLIBS="${LIBS_save}"
Xif test -n "${have_lib}"; then
X   :; FORTRAN_LIBS=-lM77 -lF77
Xelse
X   :; FORTRAN_LIBS=-lF77
Xfi
X
Xelse
X   :; LIBS_save="${LIBS}"
XLIBS="${LIBS} -lcl"
Xhave_lib=""
Xecho checking for -lcl
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
Xint main() { exit(0); }
Xint t() { main(); }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  have_lib="1"
X
Xfi
Xrm -f conftest*
XLIBS="${LIBS_save}"
Xif test -n "${have_lib}"; then
X   :; LIBS_save="${LIBS}"
XLIBS="${LIBS} -lvec"
Xhave_lib=""
Xecho checking for -lvec
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
Xint main() { exit(0); }
Xint t() { main(); }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  have_lib="1"
X
Xfi
Xrm -f conftest*
XLIBS="${LIBS_save}"
Xif test -n "${have_lib}"; then
X   :; FORTRAN_LIBS="-lvec -lcl"
Xelse
X   :; FORTRAN_LIBS=-lcl
Xfi
X
Xelse
X   :; LIBS_save="${LIBS}"
XLIBS="${LIBS} -lf"
Xhave_lib=""
Xecho checking for -lf
Xcat > conftest.c <<EOF
X#include "confdefs.h"
X
Xint main() { exit(0); }
Xint t() { main(); }
XEOF
Xif eval $compile; then
X  rm -rf conftest*
X  have_lib="1"
X
Xfi
Xrm -f conftest*
XLIBS="${LIBS_save}"
Xif test -n "${have_lib}"; then
X   :; FORTRAN_LIBS=-lf
Xelse
X   :; 
Xfi
X
Xfi
X
Xfi
Xif test -z "$FORTRAN_LIBS"; then echo "...Unable to find Fortran library.";
Xelse echo "...Using Fortran libraries: ${FORTRAN_LIBS}"; fi
Xrm -fr conftest*
Xcat > conftest.f <<EOF
X      subroutine conjnk(x,y)
X      real x, y
X      x= x+y
X      return
X      end
XEOF
Xfcompile='${FC} -c conftest.f -o conftest.o >/dev/null 2>&1'
Xeval $fcompile
Xif test -r conftest.o; then
Xnm conftest.o >conftest.n
Xfcompile=`grep CONJNK conftest.n`
Xif test ! -z "${fcompile}"; then
Xfcompile=`grep CONJNK_ conftest.n`
Xif test ! -z "${fcompile}"; then FORTRAN_LINKAGE=-DF_LINKAGE_
Xelse FORTRAN_LINKAGE=-DF_LINKAGE; fi
Xelse
Xfcompile=`grep conjnk_ conftest.n`
Xif test ! -z "${fcompile}"; then FORTRAN_LINKAGE=-Df_linkage_
Xelse FORTRAN_LINKAGE=-Df_linkage; fi
Xfi
Xrm -fr conftest*
Xfi
Xif test -z "$FORTRAN_LINKAGE"; then
X  echo "...Unable to determine Fortran linkage convention."; fi
Xfi
Xif test -z "$FORTRAN_LINKAGE"; then FORTRAN_LINKAGE=-Df_linkage_; fi
X# Set default prefixes.
Xif test -n "$prefix"; then
X  test -z "$exec_prefix" && exec_prefix='${prefix}'
X  prsub="s%^prefix\\([ 	]*\\)=\\([ 	]*\\).*$%prefix\\1=\\2$prefix%"
Xfi
Xif test -n "$exec_prefix"; then
X  prsub="$prsub
Xs%^exec_prefix\\([ 	]*\\)=\\([ 	]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"
Xfi
X# Quote sed substitution magic chars in DEFS.
Xcat >conftest.def <<EOF
X$DEFS
XEOF
Xescape_ampersand_and_backslash='s%[&\\]%\\&%g'
XDEFS=`sed "$escape_ampersand_and_backslash" <conftest.def`
Xrm -f conftest.def
X# Substitute for predefined variables.
X
Xtrap 'rm -f config.status; exit 1' 1 3 15
Xecho creating config.status
Xrm -f config.status
Xcat > config.status <<EOF
X#!/bin/sh
X# Generated automatically by configure.
X# Run this file to recreate the current configuration.
X# This directory was configured as follows,
X# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
X#
X# $0 $configure_args
X
Xfor arg
Xdo
X  case "\$arg" in
X    -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
X    echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args
X    exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args ;;
X    *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
X  esac
Xdone
X
Xtrap 'rm -f Makefile Gist/Makefile Browser/Makefile Yorick/Makefile; exit 1' 1 3 15
XCC='$CC'
XLDOPTS='$LDOPTS'
XCPP='$CPP'
XRANLIB='$RANLIB'
XLOWLIBS='$LOWLIBS'
XD_CUSERID='$D_CUSERID'
XD_HAS_EXP10='$D_HAS_EXP10'
XD_NEED_TCGETPGRP='$D_NEED_TCGETPGRP'
XD_TIMER='$D_TIMER'
XD_NOT_CGM_ORDER='$D_NOT_CGM_ORDER'
XD_NO_XLIB='$D_NO_XLIB'
XXINCLUDE='$XINCLUDE'
XXLOAD='$XLOAD'
XXOBJS='$XOBJS'
XDISPOBJS='$DISPOBJS'
XD_USE_POLL='$D_USE_POLL'
XFC='$FC'
XFORTRAN_LIBS='$FORTRAN_LIBS'
XFORTRAN_LINKAGE='$FORTRAN_LINKAGE'
XLIBS='$LIBS'
Xsrcdir='$srcdir'
XDEFS='$DEFS'
Xprefix='$prefix'
Xexec_prefix='$exec_prefix'
Xprsub='$prsub'
Xextrasub='$extrasub'
XEOF
Xcat >> config.status <<\EOF
X
Xtop_srcdir=$srcdir
X
XCONFIG_FILES=${CONFIG_FILES-"Makefile Gist/Makefile Browser/Makefile Yorick/Makefile"}
Xfor file in .. ${CONFIG_FILES}; do if test "x$file" != x..; then
X  srcdir=$top_srcdir
X  # Remove last slash and all that follows it.  Not all systems have dirname.
X  dir=`echo $file|sed 's%/[^/][^/]*$%%'`
X  if test "$dir" != "$file"; then
X    test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
X    test ! -d $dir && mkdir $dir
X  fi
X  echo creating $file
X  rm -f $file
X  echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file
X  sed -e "
X$prsub
X$extrasub
Xs%@CC@%$CC%g
Xs%@LDOPTS@%$LDOPTS%g
Xs%@CPP@%$CPP%g
Xs%@RANLIB@%$RANLIB%g
Xs%@LOWLIBS@%$LOWLIBS%g
Xs%@D_CUSERID@%$D_CUSERID%g
Xs%@D_HAS_EXP10@%$D_HAS_EXP10%g
Xs%@D_NEED_TCGETPGRP@%$D_NEED_TCGETPGRP%g
Xs%@D_TIMER@%$D_TIMER%g
Xs%@D_NOT_CGM_ORDER@%$D_NOT_CGM_ORDER%g
Xs%@D_NO_XLIB@%$D_NO_XLIB%g
Xs%@XINCLUDE@%$XINCLUDE%g
Xs%@XLOAD@%$XLOAD%g
Xs%@XOBJS@%$XOBJS%g
Xs%@DISPOBJS@%$DISPOBJS%g
Xs%@D_USE_POLL@%$D_USE_POLL%g
Xs%@FC@%$FC%g
Xs%@FORTRAN_LIBS@%$FORTRAN_LIBS%g
Xs%@FORTRAN_LINKAGE@%$FORTRAN_LINKAGE%g
Xs%@LIBS@%$LIBS%g
Xs%@srcdir@%$srcdir%g
Xs%@DEFS@%$DEFS%
X" $top_srcdir/${file}.in >> $file
Xfi; done
X
X
Xexit 0
XEOF
Xchmod +x config.status
X${CONFIG_SHELL-/bin/sh} config.status
X
END_OF_FILE
  if test 23358 -ne `wc -c <'yorick-1.0/configure'`; then
    echo shar: \"'yorick-1.0/configure'\" unpacked with wrong size!
  fi
  chmod +x 'yorick-1.0/configure'
  # end of 'yorick-1.0/configure'
fi
echo shar: End of archive 30 \(of 68\).
cp /dev/null ark30isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 68 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still must unpack the following archives:
    echo "        " ${MISSING}
fi
exit 0
exit 0 # Just in case...

