home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: dvadura@plg.waterloo.edu (Dennis Vadura)
- Subject: v27i120: dmake - dmake Version 3.8, Part19/41
- Message-ID: <1992Jan28.214203.19121@sparky.imd.sterling.com>
- X-Md4-Signature: 9cb786cb15640611e0bc876a05b46acb
- Date: Tue, 28 Jan 1992 21:42:03 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: dvadura@plg.waterloo.edu (Dennis Vadura)
- Posting-number: Volume 27, Issue 120
- Archive-name: dmake/part19
- Environment: Atari-ST, Coherent, Mac, MSDOS, OS/2, UNIX
- Supersedes: dmake: Volume 19, Issue 22-58
-
- ---- Cut Here and feed the following to sh ----
- # this is dmake.shar.19 (part 19 of a multipart archive)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file dmake/man/dmake.tf continued
- #
- if test ! -r _shar_seq_.tmp; then
- echo 'Please unpack part 1 first!'
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 19; then
- echo Please unpack part "$Scheck" next!
- exit 1
- else
- exit 0
- fi
- ) < _shar_seq_.tmp || exit 1
- if test -f _shar_wnt_.tmp; then
- sed 's/^X//' << 'SHAR_EOF' >> 'dmake/man/dmake.tf' &&
- Thus effects of commands do not generally persist across recipe lines.
- (e.g. cd requests in a recipe line do not carry over to the next recipe line)
- The decision on whether a shell is required to execute a command is based on
- the value of the macro SHELLMETAS or on the specification of '+' or .USESHELL
- for the current recipe or target respectively.
- If any character in the value of
- SHELLMETAS is found in the expanded recipe text-line or the use of a shell
- is requested explicitly via '+' or .USESHELL then the command is
- executed using a shell, otherwise the command is executed directly.
- The shell that is used for execution is given by the value of the macro SHELL.
- The flags that are passed to the shell are given by the value of SHELLFLAGS.
- Thus \fBdmake\fP constructs the command line:
- .sp
- \t$(SHELL) $(SHELLFLAGS) $(expanded_recipe_command)
- .sp
- Normally
- .B dmake
- writes the command line that it is about to invoke to standard output.
- If the .SILENT attribute is set for the target or for
- the recipe line (via @), then the recipe line is not echoed.
- .PP
- Group recipe processing is similar to that of regular recipes, except that
- a shell is always invoked. The shell that is invoked is given by the value of
- the macro GROUPSHELL, and its flags are taken from the value of the macro
- GROUPFLAGS. If a target has the .PROLOG attribute set then
- .B dmake
- prepends to the shell script the recipe associated with the special target
- \&.GROUPPROLOG, and if the attribute .EPILOG is set as well, then the recipe
- associated with the special target .GROUPEPILOG is appended to the script
- file.
- This facility can be used to always prepend a common header and common trailer
- to group recipes.
- Group recipes are echoed to standard output just like standard recipes, but
- are enclosed by lines beginning with [ and ].
- .PP
- The recipe flags [+,\-,%,@] are recognized at the start of a recipe line
- even if they appear in a macro. For example:
- .RS
- .sp
- .nf
- SH = +
- all:
- \t$(SH)echo hi
- .fi
- .sp
- .RE
- is completely equivalent to writing
- .RS
- .sp
- .nf
- SH = +
- all:
- \t+echo hi
- .fi
- .sp
- .RE
- .PP
- The last step performed by
- .B dmake
- prior to running a recipe is to set the macro CMNDNAME to the name of the
- command to execute (determined by finding the first white\-space ending token
- in the command line). It then sets the macro CMNDARGS to be the remainder
- of the line.
- .B dmake
- then expands the macro COMMAND which by default is set to
- .RS
- .sp
- COMMAND = $(CMNDNAME) $(CMNDARGS)
- .sp
- .RE
- The result of this final expansion is the command that will be executed.
- The reason for this expansion is to allow for a different interface to
- the argument passing facilities (esp. under DOS) than that provided by
- .B dmake\fR.\fP
- You can for example define COMMAND to be
- .RS
- .sp
- COMMAND = $(CMNDNAME) @$(mktmp $(CMNDARGS))
- .sp
- .RE
- which dumps the arguments into a temporary file and runs the command
- .RS
- .sp
- $(CMNDNAME) @/tmp/ASAD23043
- .sp
- .RE
- which has a much shorter argument list. It is now up to the command to
- use the supplied argument as the source for all other arguments.
- As an optimization, if COMMAND is not defined
- .B dmake
- does not perform the above expansion. On systems, such as UNIX, that
- handle long command lines this provides a slight saving in processing the
- makefiles.
- .SH "MAKING LIBRARIES"
- Libraries are easy to maintain using \fBdmake\fP. A library is a file
- containing a collection of object files.
- Thus to make a library you simply specify it as a target with the .LIBRARY
- attribute set and specify its list of prerequisites. The prerequisites should
- be the object members that are to go into the library. When
- .B dmake
- makes the library target it uses the .LIBRARY attribute to pass to the
- prerequisites the .LIBMEMBER attribute and the name of the library. This
- enables the file binding mechanism to look for the member in the library if an
- appropriate object file cannot be found. A small example best illustrates
- this.
- .RS
- .nf
- .sp
- mylib.a .LIBRARY : mem1.o mem2.o mem3.o
- \trules for making library...
- \t# remember to remove .o's when lib is made
- .sp
- # equivalent to: '%.o : %.c ; ...'
- \&.c.o :; rules for making .o from .c say
- .sp
- .fi
- .RE
- .B dmake
- will use the .c.o rule for making the library members if appropriate .c files
- can be found using the search rules. NOTE: this is not specific in any way
- to C programs, they are simply used as an example.
- .PP
- .B dmake
- tries to handle the old library construct format in a sensible way.
- The construct
- .I lib(member.o)
- is separated and the \fIlib\fP portion is declared
- as a library target.
- The new target is defined
- with the .LIBRARY attribute set and the \fImember.o\fP portion of the
- construct is
- declared as a prerequisite of the lib target.
- If the construct \fIlib(member.o)\fP
- appears as a prerequisite of a target in the
- makefile, that target has the new name of the lib assigned as its
- prerequisite. Thus the following example:
- .RS
- .sp
- .nf
- a.out : ml.a(a.o) ml.a(b.o); $(CC) \-o $@ $<
- X
- \&.c.o :; $(CC) \-c $(CFLAGS) \-o $@ $<
- %.a:
- \tar rv $@ $?
- \tranlib $@
- \trm \-rf $?
- .sp
- .fi
- .RE
- constructs the following dependency
- graph.
- .RS
- .sp
- .nf
- a.out : ml.a; $(CC) \-o $@ $<
- ml.a .LIBRARY : a.o b.o
- X
- %.o : %.c ; $(CC) -c $(CFLAGS) \-o $@ $<
- %.a :
- \tar rv $@ $?
- \tranlib $@
- \trm -rf $?
- .sp
- .fi
- .RE
- and making a.out then works as expected.
- .PP
- The same thing happens for any target of the form \fIlib((entry))\fP.
- These targets have an
- additional feature in that the \fIentry\fP target has the .SYMBOL attribute
- set automatically.
- .PP
- NOTE: If the notion of entry points is supported by the archive and by
- \fBdmake\fP (currently not the case) then
- .B dmake
- will search the archive for the entry point and return not only the
- modification time of the member which defines the entry but also the name of
- the member file. This name will then replace \fIentry\fP and will be used for
- making the member file. Once bound to an archive member the .SYMBOL
- attribute is removed from the target.
- This feature is presently disabled as there is little standardization
- among archive formats, and we have yet to find a makefile utilizing this
- feature (possibly due to the fact that it is unimplemented in most versions
- of UNIX Make).
- .PP
- Finally, when
- .B dmake
- looks for a library member it must first locate the library file.
- It does so by first looking for the library relative to the current directory
- and if it is not found it then looks relative to the current value of
- $(TMD). This allows commonly used libraries to be kept near the root of
- a source tree and to be easily found by
- .B dmake\fR.\fP
- .SH "KEEP STATE"
- .B dmake
- supports the keeping of state information for targets that it makes whenever
- the macro .KEEP_STATE is assigned a value. The value of the macro should be
- the name of a state file that will contain the state information. If state
- keeping is enabled then each target that does not poses the .NOSTATE
- attribute will have a record written into the state file indicating the
- target's name, the current directory, the command used to update the target,
- and which, if any, :: rule is being used. When you make this target again
- if any of this information does not match the previous settings and the
- target is not out dated it will still be re\-made. The assumption is that one
- of the conditions above has changed and that we wish to remake the target.
- For example,
- state keeping is used in the maintenance of
- .B dmake
- to test compile different versions of the source using different compilers.
- Changing the compiler causes the compilation flags to be modified and hence
- all sources to be recompiled.
- .PP
- The state file is an ascii file and is portable, however it is
- not in human readable form as the entries represent hash keys of the above
- information.
- .PP
- The Sun Microsystem's Make construct
- .RS
- .sp
- \&.KEEP_STATE :
- .sp
- .RE
- is recognized and is mapped to \fB.KEEP_STATE:=_state.mk\fP.
- The
- .B dmake
- version of state keeping does not include scanning C source files for
- dependencies like Sun Make. This is specific to C programs and it was
- felt that it does not belong in make.
- .B dmake
- instead provides the tool, \fBcdepend\fP, to scan C source files and to produce
- depedency information. Users are free to modify cdepend to produce other
- dependency files. (NOTE:
- .B cdepend
- does not come with the distribution at this time, but will be available in
- a patch in the near future)
- .SH "MULTI PROCESSING"
- If the architecture supports it then \fBdmake\fP is capable of making a target's
- prerequisites in parallel. \fBdmake\fP will make as much in parallel as it
- can and use a number of child processes up to the maximum specified by
- MAXPROCESS or by the value supplied to the \-P command line flag.
- A parallel make is enabled by setting the value of MAXPROCESS (either directly
- or via \-P option) to a value which is > 1.
- \fBdmake\fP guarantees that all dependencies as specified in the makefile are
- honored. A target will not be made until all of its prerequisites have been
- made.
- If a parallel make is being performed then the following restrictions on
- parallelism are enforced.
- .RS
- .IP 1.
- Individual recipe lines in a non-group recipe are performed sequentially in
- the order in which they are specified within the makefile and in parallel with
- the recipes of other targets.
- .IP 2.
- If a target contains multiple recipe definitions (cf. :: rules) then these are
- performed sequentially in the order in which the :: rules are specified within
- the makefile and in parallel with the recipes of other targets.
- .IP 3.
- If a target rule contains the `!' modifier, then the recipe is performed
- sequentially for the list of outdated prerequisites and in parallel with the recipes of other targets.
- .IP 4.
- If a target has the .SEQUENTIAL attribute set then all of its prerequisites
- are made sequentially relative to one another (as if MAXPROCESS=1), but in
- parallel with other targets in the makefile.
- .RE
- .PP
- Note: If you specify a parallel make then
- the order of target update and the order in which the associated recipes are
- invoked will not correspond to that displayed by the \-n flag.
- .SH "CONDITIONALS"
- .B dmake
- supports a makefile construct called a \fIconditional\fR. It allows
- the user
- to conditionally select portions of makefile text for input processing
- and to discard other portions. This becomes useful for
- writing makefiles that are intended to function for more than one target
- host and environment. The conditional expression is specified as follows:
- .sp
- .RS
- .nf
- \&.IF \fIexpression\fR
- X ... if text ...
- \&.ELIF \fIexpression\fR
- X ... if text ...
- \&.ELSE
- X ... else text ...
- \&.END
- .RE
- .fi
- .sp
- The .ELSE and .ELIF portions are optional, and the conditionals may be
- nested (ie. the text may contain another conditional).
- \&.IF, .ELSE, and .END
- may appear anywhere in the makefile, but a single conditional expression
- may not span multiple makefiles.
- .PP
- \fIexpression\fR can be one of the following three forms:
- .sp
- \t<text> | <text> == <text> | <text> != <text>
- .sp
- where \fItext\fR is either text or a macro expression. In any case,
- before the comparison is made, the expression is expanded. The text
- portions are then selected and compared. White space at the start and
- end of the text portion is discarded before the comparison. This means
- that a macro that evaluates to nothing but white space is considered a
- NULL value for the purpose of the comparison.
- In the first case the expression evaluates TRUE if the text is not NULL
- otherwise it evaluates FALSE. The remaining two cases both evaluate the
- expression on the basis of a string comparison.
- If a macro expression needs to be equated to a NULL string then compare it to
- the value of the macro $(NULL).
- You can use the $(shell ...) macro to construct more complex test expressions.
- .SH "EXAMPLES"
- .RS
- .nf
- .sp
- # A simple example showing how to use make
- #
- prgm : a.o b.o
- X cc a.o b.o \-o prgm
- a.o : a.c g.h
- X cc a.c \-o $@
- b.o : b.c g.h
- X cc b.c \-o $@
- .fi
- .RE
- .sp
- In the previous
- example prgm is remade only if a.o and/or b.o is out of date with
- respect to prgm.
- These dependencies can be stated more concisely
- by using the inference rules defined in the standard startup file.
- The default rule for making .o's from .c's looks something like this:
- .sp
- \&\t%.o : %.c; cc \-c $(CFLAGS) \-o $@ $<
- .sp
- Since there exists a rule (defined in the startup file)
- for making .o's from .c's
- \fBdmake\fR will use that rule
- for manufacturing a .o from a .c and we can specify our dependencies
- more concisely.
- .sp
- .RS
- .nf
- prgm : a.o b.o
- X cc \-o prgm $<
- a.o b.o : g.h
- .fi
- .RE
- .sp
- A more general way to say the above using the new macro expansions
- would be:
- .sp
- .RS
- .nf
- SRC = a b
- OBJ = {$(SRC)}.o
- .sp
- prgm : $(OBJ)
- X cc \-o $@ $<
- .sp
- $(OBJ) : g.h
- .fi
- .RE
- .sp
- If we want to keep the objects in a separate directory, called
- objdir, then we would write
- something like this.
- .sp
- .RS
- .nf
- SRC = a b
- OBJ = {$(SRC)}.o
- .sp
- prgm : $(OBJ)
- X cc $< \-o $@
- .sp
- $(OBJ) : g.h
- \&%.o : %.c
- X $(CC) \-c $(CFLAGS) \-o $(@:f) $<
- X mv $(@:f) objdir
- X
- \&.SOURCE.o : objdir # tell make to look here for .o's
- .fi
- .RE
- .sp
- An example of building library members would go something like this:
- (NOTE: The same rules as above will be used to produce .o's from .c's)
- .sp
- .RS
- .nf
- SRC\t= a b
- LIB\t= lib
- LIBm\t= { $(SRC) }.o
- .sp
- prgm: $(LIB)
- X cc \-o $@ $(LIB)
- .sp
- $(LIB) .LIBRARY : $(LIBm)
- X ar rv $@ $<
- X rm $<
- .fi
- .RE
- .sp
- Finally, suppose that each of the source files in the previous example had
- the `:' character in their target name. Then we would write the above example
- as:
- .sp
- .RS
- .nf
- SRC\t= f:a f:b
- LIB\t= lib
- LIBm\t= "{ $(SRC) }.o" # put quotes around each token
- .sp
- prgm: $(LIB)
- X cc \-o $@ $(LIB)
- .sp
- $(LIB) .LIBRARY : $(LIBm)
- X ar rv $@ $<
- X rm $<
- .fi
- .RE
- .SH "COMPATIBILITY"
- There are two notable differences between
- .B \fBdmake\fR
- and the standard version of BSD UNIX 4.2/4.3 Make.
- .RS
- .IP 1. .3i
- BSD UNIX 4.2/4.3 Make supports wild card filename expansion for
- prerequisite names. Thus if a directory contains a.h, b.h and c.h, then a
- line like
- .sp
- \ttarget: *.h
- .sp
- will cause UNIX make to expand the *.h into "a.h b.h c.h". \fBdmake\fR
- does not support this type of filename expansion.
- .IP 2. .3i
- Unlike UNIX make, touching a library member causes \fBdmake\fR
- to search the library for the member name and to update the library time stamp.
- This is only implemented in the UNIX version.
- MSDOS and other versions may not have librarians that keep file time stamps,
- as a result \fBdmake\fR touches the library file itself, and prints a warning.
- .RE
- .PP
- \fBdmake\fP is not compatible with GNU Make. In particular it does not
- understand GNU Make's macro expansions that query the file system.
- .PP
- .B dmake
- is fully compatible with SYSV AUGMAKE, and supports the following AUGMAKE
- features:
- .RS
- .IP 1. .3i
- The word \fBinclude\fP appearing at the start of a line can be used instead of
- the ".INCLUDE :" construct understood by \fBdmake\fP.
- .IP 2. .3i
- The macro modifier expression $(macro:str=sub) is understood and is equivalent
- to the expression $(macro:s/str/sub), with the restriction that str must match
- the following regular expression:
- .sp
- \tstr[ |\et][ |\et]*
- .sp
- (ie. str only matches at the end of a token where str is a suffix and is
- terminated by a space, a tab, or end of line)
- Normally \fIsub\fP is expanded before the substitution is made, if you specify
- \-A on the command line then sub is not expanded.
- .IP 3.
- The macro % is defined to be $@ (ie. $% expands to the same value as $@).
- .IP 4.
- The AUGMAKE notion of libraries is handled correctly.
- .IP 5.
- When defining special targets for the inference rules and the AUGMAKE special
- target handling is enabled then the special target
- \&.X is equivalent to the %-rule "% : %.X".
- .IP 6.
- Directories are always made if you specify \fB\-A\fP. This is consistent
- with other UNIX versions of Make.
- .IP 7.
- Makefiles that utilize virtual targets to force making of other targets work
- as expected if AUGMAKE special target handling is enabled. For example:
- .sp
- .nf
- \tFRC:
- \tmyprog.o : myprog.c $(FRC) ; ...
- .fi
- .sp
- Works as expected if you issue the command
- .sp
- \t'\fBdmake\fP \-A FRC=FRC'
- .sp
- but fails with a 'don't know how to make FRC'
- error message if you do not specify AUGMAKE special target handling via
- the \-A flag (or by setting AUGMAKE:=yes internally).
- .RE
- .SH "LIMITS"
- In some environments the length of an argument string is restricted.
- (e.g. MSDOS command line arguments cannot be longer than 128 bytes if you are
- using the standard command.com command interpreter as your shell,
- .B dmake
- text diversions may help in these situations.)
- .SH "PORTABILITY"
- To write makefiles that can be moved from one environment to another requires
- some forethought. In particular you must define as macros all those things
- that may be different in the new environment.
- .B dmake
- has two facilities that help to support writing portable makefiles, recursive
- macros and conditional expressions. The recursive macros, allow one to define
- environment configurations that allow different environments for similar types
- of operating systems. For example the same make script can be used for SYSV and
- BSD but with different macro definitions.
- .PP
- To write a makefile that is portable between UNIX and MSDOS requires both
- features since in almost all cases you will need to define new recipes for
- making targets. The recipes will probably be quite different since the
- capabilities of the tools on each machine are different. Different
- macros will be needed to help handle the smaller differences in the two
- environments.
- .SH FILES
- Makefile, makefile, startup.mk (use dmake \-V to tell you where the startup
- file is)
- .SH "SEE ALSO"
- sh(1), csh(1), touch(1), f77(1), pc(1), cc(1)
- .br
- S.I. Feldman \fIMake - A Program for Maintaining Computer Programs\fP
- .SH "AUTHOR"
- Dennis Vadura, CS Dept. University of Waterloo. dvadura@watdragon.uwaterloo.ca
- .br
- Many thanks to Carl Seger for his helpful suggestions,
- and to Trevor John Thompson for his many excellent ideas and
- informative bug reports.
- .SH BUGS
- Some system commands return non-zero status inappropriately.
- Use
- .B \-i
- (`\-' within the makefile) to overcome the difficulty.
- .PP
- Some systems do not have easily accessible
- time stamps for library members (MSDOS, AMIGA, etc)
- for these \fBdmake\fR uses the time stamp of the library instead and prints
- a warning the first time it does so. This is almost always ok, except when
- multiple makefiles update a single library file. In these instances it is
- possible to miss an update if one is not careful.
- .PP
- This man page is way too long.
- .SH WARNINGS
- Rules supported by make(1) may not work if transitive closure is turned off
- (-T, .NOINFER).
- .PP
- PWD from csh/ksh will cause problems if a cd operation is performed and
- -e or -E option is used.
- .PP
- Using internal macros such as COMMAND, may wreak havoc if you don't understand
- their functionality.
- .PP
- If multiple MACRO=line arguments appear on the command line, only the first is
- used. Beware of this in conjunction with the MAKEMACROS variable.
- SHAR_EOF
- chmod 0640 dmake/man/dmake.tf ||
- echo 'restore of dmake/man/dmake.tf failed'
- Wc_c="`wc -c < 'dmake/man/dmake.tf'`"
- test 99797 -eq "$Wc_c" ||
- echo 'dmake/man/dmake.tf: original size 99797, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= dmake/man/dmake.uue ==============
- if test -f 'dmake/man/dmake.uue' -a X"$1" != X"-c"; then
- echo 'x - skipping dmake/man/dmake.uue (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- sed 's/^X//' << 'SHAR_EOF' > 'dmake/man/dmake.uue' &&
- begin 640 dmake.Z
- M'YV,"@(J(-(DR)(B*."D ,&PH<.&5=S,J0,'SALY=,J0 6%$3IDR(*:\,4/G
- M3AB/#U."(&@0H4*!"IP@<!($09 F")H405!$P4,R",BT0= F#((P:Q"L*8,
- M9 L01=.XH1-&*@@X<MZ<D1.F#8BM;RC.80'B(@BI&>60*0.GC)NU4T&82<.F
- MS)R 4Q!,R8(@BTPG3Q \@8( 2MXI21 D.>S3(5"A1(TB5<H4Y)86082,*5,$
- M39HU;N#$D3-G"ATJ=:S@Z0+BLIT]9.:VH=.']64H(VRWV&.&SQ ^2_HT;CBW
- MKNVB8[)N4=%ERXKF.KKT^(+ #O4PU-E0KT,=I(OOMJG*.5.HCO+KH$)(*
- MR,XBAX<@&"(%@93$20A#H8* "O[ 3_PU'$./#57444DMU10(9>!1QAAU9#0'
- M"&.\T491;TUH1EAOG>4&"&%\V&!:;H3!AEQT@32&B75M%,: (%#7QG74K=$=
- M=690ET9VW8% QQL@4$1&&!F5Y09(9K5Q$4CBD6=>B6W8Y0)#180Q!AH^GN0D
- MC$7E <):;77XQH=ZE)%567) M>15'GD41QUIS)%&D4V6-\>4("1A!HAN>#D2
- MC'2@P:26Y9TP(59FEO%FG'/:==:$1]YAIH]HA$CIH..5A^999@ J:):9FC?G
- M'&6PL2<9;SCJQAOF-1@G'60%ZM:701DH68*5@7 '72<2F5$;<)CW(Y=(,?EI
- MG72X$-!#>H*P*@@M(-""&0CL6>&%(6[$AE1(!IO&F(^R:9=;P@KZ88&1(4C9
- M@J2>=*5=,&Z8IJ6NSD&'5&?$2!2-2MU8K8X\+FA&5E[)"L*V]I:U)Z)NPBFG
- MA##.T=88:<RED5QF&2SQ@VF8"*J3^KI 71/4!4'=$M0509T1U"5!'1,I4S<%
- M""B0:BQ(4U 1A!145 %%Q _>"ZZ\:J*T%E5TS9$"GLV*T(((X1H,)9)[&EQ<
- M&1%/7'$:%_]X*;324KNG&6R$D:^LY]::[F0*@E0'J1/:F^U)&TD%1X0@WO60
- MQF')L9G"7Q>UU-4^CJ@LC$'T"9659ZXUEQMS?BL1S5K6$>54$^X:*(-MB*'1
- M6AN)T /4<IXA40J>$@EB166<9.37UV*H+;<@HH35&YO-0>I&<Y%F7K814V3F
- M[B Y+E7D8VJ8).-O3#C2UW-T!=+4&-?Q%HR:>_:AP8*7<373'Y)W)%<GSAEN
- M&L V+Z<8=6&<IO%NM C\I-O:'W=$J6Q5N#%$NZU1_ #21@6EQP@!9 ,, *7
- MP6*7K8-QBRPV^UI!Z/.$F9%J#$+[$-'HA8?-P$%^>Y/<X9BUIV=1AP[\D@-U
- MSN"O)TEO0B<!R<8H9K&-*/!3#.S0MHX4*W/!"%T'8ENNWN8HJZ7!=\X:4PMF
- MV+$3(:MZ';**K(@UN!3E[6N."T,=V" L0B6+(5/XR-<.HY_WR&<(^*E)$)B
- M ": @#\ZLTE]I' $!!SA/7!DS$,NF$'W?0UAYGD>$SV&+!AV2%9'E(OU,"C"
- M'ZHMB+A:4)Q ! */M !]<*C+Y:C2Q^<9K I.2 (60-"$8@7I7MNB@Y>R%[$T
- MF&YK*XJ+6RKEALUL\DX,*645ZY(Y.<PI(QI,4O/,@R@[I &$#@G+A.PP/,DY
- M;T\CXY>-%K0K-IS(<R"@)1E:1*&+> 2#;/"2&+P$Q%NMJPPN0("R'K*$5=WA
- M7!4S0Z)JZ2C/E>0C:8,,),_))QO**DW,)(TS =<]&,7P2W&"D.XN)L5/G1%
- M.&F"?M0(1_P( 0%"P \;F8 ?./(E"R#@H^2@Z*)R@<0M"'R()STS(51!:).'
- M Y!^*JH8 /U%CPZ)%F9LTI BE(A]( E"%8Y0D(.$5&L>DXH\/4+/2FZ125R1
- MB+R*DD&]J80A-1.CP40 A2)(80A%< (54%""A4BA"DR #^F")KD4]'!<M9.A
- MIH9U58:,9$_C_)+WM,C%$>946A<50D]_VCZ#$1%P$K.2HZ1BK];9<$\\H(H8
- MYN #'P')<V>0"HP>\LTTM,6!1\+E&UDJE[+E2U%PLH.)R&79K[D ,#H3@@7;
- M@LRK4LQCR#E3 R=IACI@1%#OLTMRTN"YC7B.#6^X@U\;HM,Q(& ,$"%5$N,G
- MM[?0K9L78JV]?%D1?#%M3WD(RU$Y9@8O-?>YFW4(VFBE3W.V35>\\I%'5!<B
- M+XT 2.@4*6X@L%)A0&&(15/(#LE$"LT$UPS<,$-8%#7!H.@"E=PL(15$@,%
- M, F+#E(0A8BX8A,I"(7R<A&.B)&D9#$)"AQ<(9=@CJ!-#AVK+W22:R4%ET!
- MMPP!/8MYNK2ZMKC.>KR<D/GBE-Z&"#<,;3&NEP;(A>4R1*=G; T"G(. YR"@
- M"V)+ P+H@H"Z-*7(#*$":=_@+7#=P9<2:BV. -;E'@VP0G#PTYZJ.R2UE"5"
- M=Z,#F/L9X+G9V4Q92=/ +,0G+UV)+ANY7>[@QN=!MV'/!BNGNMZK:+L(F0ZD
- M,M5W01#>.HR7ADL&P0JJS*9OI8FN=35B^ZBW7H-E! ^B@B'KWM(U(!FLF-]Z
- MVYXK-!5R/5-?.=IRP- 9YC&7^4.3I'$:F.DA"4Z!"!7<,R8U22XBC71,X>3S
- M)%VY*@""(*^KBE\3GEU!$ 2TMBJ14_( )VDA-B6=3@9;"][3$"DX]FMN,696
- MW+!)/@<01-8,L"_=<(9?6^TBCV[P"=[S%RL@P HZ=;@5U#C'Z32%.M8Y2L"X
- MTY03Z/5Q%\N>5?Y+P*QD#@W-FY[T'K5GAL]$XA%_.,7M0Y8&W@'ETE4M&^H
- MDDF>P%\9QTZ;$<#Q,IP 3V(^J1OT/:9-2OM065GTQ;!BZM966G?X^AH1T\3$
- M&NZY>_Z[<5Y9E-RLPX]^0M[>I\">(D@#Z0T!]>7^SE[59ALLWT=L.KGBK=-<
- M@7'E))\W61KDP7*I[NY+SSN_63O)J^]NSV$@R:0,2RJN:ZV&B]LE2"HU(<_-
- MRO$:V3,* O6VCQ^O[@U5.M,7'Q>X UI_Q?/>\="=$M2K'21LK\O2BNT4 79H
- MWF4Y-@P]\O4(U8%%7B+\SN7$S$V+@558.FAFF7G[@_EJ\L6RZE6])T\,\CUL
- MU9)+M;3,92]CK<%5D&Z6M\R&+N>*Y'SS[=^(QKW^6?'57P3!$]R0[3&=OZXZ
- M)3;!UT?)9DW)I1'?UP)H@ !8PA!0,' FA5VR$U*64Q1RX"5$TVZ1A$[+\E>7
- MM&4-006EP@8M]4CNE2M>PVUK F@7,19\QFOWX@8\EWE9!WUF FE>)%IBMFT3
- M@EK+MEIQX34&XP))< 2 (05% ")T0 >^) 81\G]7M3P%E(!+@ !+('YSP7[N
- M]V4-AAIR,#G@ F]5>! \\1[Z01U?<!AP1%']06]R0R?\M099UT 984TEV%Z3
- MAH)OL&>'M6;"-G0"-"$:PTD@\3T=R%S2DB -,01:Q&@:R$\I:#HK* >!-B$K
- M0D1*)H$-U" /4@>T%T+@0H= TCT YT0YF$3F 28H58/;DX.05BGF42%;M!&K
- M8A[85!1K,25/H!92<1)T04XFF(?L\B-P $.2-R^[9B$3Z!%TX%N3,T#AU@)E
- M<B9O^#80='EYD'4ZI8B7"#=[]HCO%8G==C,,0HEFT4 P*!4SZ#6D2')M4 =7
- M GF'HC[$51<)Z 8(\"$,P8A$=(>V(HQ, B14UWIX<W.J8SYW$!9LL!&5PFR<
- M""$BQ@)[YH2IF"J0PBH@@D''9TW)YR 028XY1 :B%02?UD2[)BACL ;A@HN%
- MF#&?LEU9)P(D@ )%500I #6,!7N4U%EML6<[5 9D43$D]5:@U7,]B =PD"T7
- MLUM+]P9+0082V6#_5 9YY19AP#Y9]TV^Q7RXEWVM-7T"I$C6!!,&)E (IF ,
- M-F$I 6%JV98@( ,6AF$UN6$3YF$481$8<3$DAC,C41('I6)S^1(N5E=K,0?#
- M=6R PR*4<GB"LDKQA2I(AT,HJ9+RLF<R29,M<9/A0@9Q<I7<E)/[ Q8444D<
- MTQ9W<HA/)BUP@ !PT! /B!9W]COF=F ?LE+%XTIV(6*9)WOM8Q5H8#DALF?S
- M-21 Y3YM@"<H0$2]=2(92)5U< :917!D09$4$B*U^&U0J!*6-)S?!HQXZ&YE
- MT&(/H5/Z<5_YI7\?,@=YT%AM((BP2($@AA%0L47WT@*.EW7=6#S!")Z6Q8?2
- M11WYQ6L00HDQYAD+R2:X8VE%-(JF5$AX$D;967N?(@)-@%;^ 0)0( 5/ %93
- M@!A.< 1KQ4A#(TPHH50(9VUCDH!Q@ !QL(B3R6<1))2NYD7A,II>,R09@2=%
- M@ >C E^!DHS[PV!"::,&1"1 "0(Q4!;_M"NDDH!R@ !I$F8CZ(]KLX&HV%K<
- M:3"GUT1]AA&CF7M N6<1E#,[TS-0$%)L-:)IHB1&4QY508(). <(,"%2:H?L
- M]8_\>:- HI@]FI!RH))R4A=3D6T-=)T/@G*OJ"+*F"V7%BX/&2%9YS7V@BIX
- M@P(F,@= \F&(LE#:IQ(H!CD$IS21.4F.NB@ZQUI"^"DN@!AI)59*R(3'-)%/
- MN"FY]08)>!@-8007\3>D\B;DPJ6/VDE[PI..$HI^XQD9H9$>T:DI<7-I<"7P
- MB9>Q."8#RE0[EGUXHJMI(@96L@8HMA'7DI3U.9%T,2>.N3EO<*!@ZIZJTY J
- M9R]>(B=KT0+<%S1[QC ^^#"Q%R9P03%2@IKR1@<(8![[V(B. HYZ:%GPB"4S
- M&BJ&9%P#=S:"XA5$^HU&ZJ,HAS?!.H>*$Y*BY02L8BR'YXH-5DTG<IW8E!RM
- MHYLRVIA? B37:2+#V9&ODH!P%()3>J=5"HDPBY%M(0=3)5\A\C#+IB+(-1$H
- M<4,1^A!*-4]_LQ5(A@8)6 =$EZN[ZGM!4DMCPID9Y#%"8J3(R353@BH,$E!Y
- M$"B1"HM[EI"SB)TO>R2<4K9F<K;:(['T]3&:HHJT9D-NL+8D%Q8#]B5&*IX>
- M: ?5L053]ACKASY$(;!TT 57MF=E^7SJ9UID<7.S(CB1>HH#*2R92@>4:AX&
- MJ6<E*T H<09O$*D,NA1\-KJZ8BQ2H9(]>B]1TF? \G21V2U=RYRF-2&(NP6*
- M.WY;9B"."[FL$4MNBXE8FIN^A$&)ZB%3A:)J=Y M%2>9% 9Y@( ,D035=Y6D
- MTE1_TF#U-8"2XS%D8S8P%' ']5\3$24;X378!)8?@@)B*V^&:P=/QR"F"H2>
- M:[_5$;Q9R+BS,;"[-UJXUSJ@6G" ,T4-1F:[6UKH&U<Z + _$10. ;+W4EZ
- M(V,$=YO?]",7&'QF(KW.PW]Y$&\/(8 -@<$5(V<HTCY)\ )/(,)<47?8=L(P
- M$1!EJ6X?DF +YI8.P99 +&$S$)<"L6)TV6$2<9<AII<>P9<G]I<-AL2"2<$.
- M07X7S"HM##A-RU1_8R*HBV9HX!5D-L*=9,(H[! &DL49[,)/]+5%4L8U/% W
- MG,8-X;@.L00?T9KC^RMX>1(8F"*6.%\BM@-)) =%P9&7D@=[]A#K&R$68FTK
- MHLAK41<BEH 2YYH0^#4!Q</LMI\;6',=HG,\]VM.2!<Q2$"?Z! FEX!X@ !X
- M !$6\2'W27!:5WF[23@-(JVE.%VKW!!H828E0LFR=R0;4:N":&N?LG6&PB")
- MMV\PM6<[Z#R(^2-. EP8^S7T2KZA:(!W,"%[,056L&="150M09H#RI6[F<R*
- M5$M]1'*['#0(&!#X\1?LX1X\@04(@ 4P@@2)$BX#!$@+_))I.CF!HCH;XLU\
- M-D!S@'(8\4/"Q5W"RB!6(K4.:":54HR<)EX)Z08G8![NNKQA\+Z"@CTHUSX8
- M<A5F$Y HTB&NVVG.\A%D$&]JV!\SQS/]404(X#.%(6%$$-'$=;"@S$];:B)I
- MH ?22]-Z\5%_L88VH<^CY-- [3GN*4-Y,!5A$,O/ Z8,@I3+^LMNR<.GB3@V
- M 4=P-$<6A5$Z705P]!ZX>E4_;9A-6$2?4HO7MB>^TH1/^+"-/&$H=P>+'%=!
- MLCLVEKE(L;D.&V\1I49G-$< \M8J5LP<NQ&[G"U9A\SQ-D=KO5%NK1<@H$;V
- MW!YO9--R9!]U=$<\D4>>#0)(D%RM]6^%Q&>(E";X"M9MN2CZ.M8/,4=F-!_X
- M448\ =EUU=J +80CJ+/[]%Y_W5KMB+?) K!MG<_[?+/WC!\2]QYS=!C_(1@W
- MM=H,0=RM=5CXAU"=/%!60:Q\/<0I4:M=G93YDSQ*/07 701GE$8VL5&C'4<[
- M8]IVA$?](=PB4;NQ?5"#Q ;Q/=_UK1AJA-^+;1.-;1^/[=VYQ#P3HKQYA; +
- MXC4F4F.WEA6VK9:+5H-5LW;V5Q>B3-(IU]<2=D#=B=PG*# NZ3:5%V\/Q=TS
- M<=80+A@,GA.,/1^.+1C"G2>_<M07(]""A%0G H-9<2*8#;":O=-_H5,TE001
- M16\-'@0/KJ% +N%$D%!OX\E'SC$>(P?6TP*TVY4%Q*SJ/1'02G(D 1\1@(\
- M$&]&@ !&L-9_<493;E,S04H\[N ^GN,5).%&6 4!E@?MTUON/%+(3!8W# (S
- MV09K0 >WJ]X/@1X+033N=#@%1IL@X,-I.<1";.E710-&O!Z!R6$.9I?QJ9M[
- M&1)]B6(@ 9@ML6$P\1#WS-0SH481A1]1IA^\S1/!7@11@ !1L-;XH=V*$=WP
- MH1<J[F /F*!89\O/@Z^XW2@G]ZQ8 H-5T;>DWA#L7=GO/3FIETA3$V^!5<\S
- M4=V*\1>GG=\W?=K^307"G71.Q4N+F8I#_5[]V%IB(!4N BH?/F$@H^$BPJ/V
- MDG6$DWHO;-5S,/ 2]BOQ-M]S=$8N)U;]@0((0%8(4%8(8%;VL=EMU-DS T:7
- M]ZS2"SCH[>\R?C'C].Q2^2E=[!9?S 9A/"=CK-A_;A!6J.X?:D=YTNXS4>=&
- M@-WV<?$6']RK;>]DCN\'K>_?::7]CKG(Y@9+%;$P7U?+S8ZF-$!/Y*S0RGE)
- MU-[; O$.1C'F0:RC^K!?@VO*A*9C8/92.5('-5^*S-#XTCXB!2ZIE_57A7\Z
- M7Q V,88^_^Y.O=]TU-^I_=\2SMJNC>%=N12">(HV>&JTY/<JL2UBP!6^]*\P
- M<N6$+_0_?P0@L%%I+01S=-/X0?(- =Z0O\X.M/F^Z/GL9(7O888]7=/ZS>QU
- M19*<:9A??M?9Y-HN<!!% 5IJ#-4D(1^N@:Z[1 1)?),,.486A@_OJ'S0?+*
- MG@3N#O0,T>7 CW7@\CR0?P((8"ASJM+D4Q=,7BR8GQ)F8"7E>B^.LD''VBC*
- M2M>JHZDA]OY[,[$T/A]\[@3LG@1[;N,T<=]M%.3[N+7TXS&[O*QB;6/:WDU3
- ML>27XO\.4<OY8INYG"+Q]AY0S>LYH1^<K?0E7U<!OGEEO)S9IIQ;U-5=D4FT
- M[Q U_@01-5%EW1^GKU%MU%']\5$IX?K[GBOA&D.9@_/B8DQO7][)X__)M"?=
- M$V^FKQB]ONR,7_(.Q@3H,R<D_,E1?TX37Q@ ,D>'G^Z*8?K+WA\?=55#H(R^
- M]CIG%CFV+*V>&?F\2?L.0?0:-?)*7_(29@2"/-@N[YUXNH'Q??L\\=GWW4:'
- M 2 .]@3_1)IEHYNW [7M>>*+0\LK_?P-H49K#4=(@ !( "!S-&'V?@9UX"7+
- M.LOKD^@N.4EH2W#HKM8[?=I!WF"M_5FU>#BZ?]-PM-;Z 2-78"XN#I#8&9U'
- MV8D$:!Z]DS"@5]6:>#T/\9.R;2X(*G6&Y"&1XS%RXZ4?!*9K/S_*X\TNOV0?
- M<GW TK_(M2)%TD".1TE;1Y:>#NJ6/NK?_A U<.H#D>IUN<2M[L0E%NM27%=4
- MW&( JZG;<C%@FKM=VHRM23@!5-4?QU>DZQ"D7*QX'7 -<T07H^3I6G+-(]L$
- M';A91)\PTO3UOSQR:,L#'D56[[12PA!78"YHZBYUZSZ>(D,"]J4E?J2OWR['
- M2M<MZ<U9AUPK0GM5%935=Q%K87GDQ350F;6H1$ERXZ6MN?#,BEPK(F(3O&<Q
- M@"<&?#"XD_+R>T4&0\I4PS\%1$H&(??PH3,\XS.F9\ROLT"+JD/<8L<,(0-X
- M8L '@SLI+[]79#"D3#7X]LQZ-Q4PKUJ^Y)D@49-DRC,^8WK&;'<XY%O6"O-X
- M!\U[9\4-D6 A^"G(M2)])+]79#"D3#7\4T"D9!!R#Q\ZPS,^8WK&["$D@GP8
- M:Q60'V_V?I6NAZ;N@B63]/N>Z?+QBHUIZQ1IXL#7YNWJA4.+JD/<@B>)4XZ!
- M=CZZPW-U@]==VHRM":8P$DLHVY+W(]N?T@)IXL C91(7:1Y=QS4SS1 DN77$
- M$J]U,%GWTHQ%\F9O\R->(3=>VIJ$<^&2;<L&4Y-30'LZPS,^X\RKUV^JY4N>
- MB23;ZB4 )-FV;# U2:8\XS/$4D"OLT"+JD/<@G0&5!YFT@:T@[E&L^^Y@EQ.
- MR:ST]RE91)]=VHRM>35D\2XIN=&^Y<RKUV\7,3^ZLXXXM*@=0ATB0!UD("/2
- MU"/4T0+48074(0+Q1I)RT@9TX3KM<JSA\K-356L'@SL7.T!91)^#?8,/P=54
- M/_8!&'XA693<C&QQ<_+:"P)"P,@_L5?T2936[C"-XD )8YLE24A>!",N4)-&
- MD 1I-5ODQ355[2PO!#@6@77%N:ZR7=)[U#K'BB9K8?FJ\_H-K9 ;(=X&5!YF
- MT@:T(Y3^!R/U@FEX0I*J! <H?R)T-U+T1UI/%"<3O&<N4)-&D 1I-3,ZD,LI
- MX@*23DHE'OF\B36.%/7\9+(H@D3(Y91^!*8N(.FR;2Y?4_FG24*49.T.TRC5
- MZ08HVY+WX^( "5\!QX1>PO6L.R<PXCGR A*HRXJM)34C(BX-PR@YRA#:VM5=
- MD4EA^A!@Z@*27IT?DK*3>3& FY@?\E4SL_ C#A*W\[,PTO3U;Q:HDG68*M@L
- MSO!RXZ6M:8@PTBQ&A$0_.= MOZ8E;I0#W9*(/,%[-@(AH(D=$I)?H"5WX2FS
- M\OHFV]X-U$!D7GTA66H9 R3#B2\&I3@C308/;#<1LFD&PXS.V$W[8YN:&$7,
- M.HW*/"NO;[+=-!7JB"3;(Y!19VE?XQ%106MI$K[JM<RX#*9!.>(@P8S.V$W[
- M,TG1.(W*/"M"X?X/8;)=/2><WNEFV<-H:>FC_NT/80.G/A"I7I=+W.I.7&*Q
- M+L5U1<4MAA=+W1=-3=I! -4P,LUP3X UKX6Z,8O>=54H=5[PM5O6 :T=TNY
- MJU=R[5D$."'RVVP,K4IZCSYTX3I>(P1.8 11Z1"8BQ)[ )]X,QC<+0]]ROL
- M>JU+QCJN,XUOMZ9K<N9C85 =L@4@P!HT?[0]]ROL^CM)>VPF@B=!P$7";&W,
- M=CNT1P;P6'<;=##> ](-)*^FVW-O@?*ZF5<GT (^< (G#B.1\I/#)T/<!DLA
- MDG]!$'#JV3GIFG;?A@#/AP#IVF6/X2-Y\%D'A7\)E"93,R$>L:F_:LOCK:G;
- MXO)>0GEFPNE[IDN\Z125M0<A08C])AQ[9AI&VF\M4%FE5$ M\-./0S_^WP*5
- M-01;2S\FXO\M4%E2\%0M\-./0S_^WP*5%01+J-<9T0(__3CT8\4-44H%U (_
- M_3CT RV5=>59#B @T ,(T .EWT8^_Q[^KQ(M4%E7GN4 @(J@ JT ,(T .E
- MWT8^_Q[^KQ(M4%E7GN4 @(Z@ ZT ,(T .EWT8^_Q[^KQ(M4%E7GN4 @(J
- M@ JH ,(H ,]@ ]4/IMY//OX?\JT0*5=>59#B"B5F4]@ ]4/IMY//OX?\J
- MT0*5=>59#B"B5F4Z@ ZT ,(T .EWT8^_QY6O(A;2S\>TP*5=1[JA!]$W][+
- MRL/^7U>ZQ)M+:^E;<![J]!ZFKQA$W][+RL/^7U>ZQ)L@H1[?[A!;<![J]!X;
- M=1COX?]UI4N\"1+J\>T. 6\7?\]6;&1>;6DCU0*59?JB_Q[^#RV5I?MH+?KO
- MW@,(T ,]@ ]4/IMY//OX?_04EFZC]:B_^XA@ AT ,(T .EWT8^_QZ#>552
- M\%0M\-./0S_04EG.W0)T)SG^/V%;@,Z>!1+J@8.AT@)T-U(M4%FQO05Y/0>L
- M068@L ?5GZ%'+^Q'SQ/%?NP[G>QZT5%MR!,@T >ML0,(8,A^\T$_J1XXZ+#0
- M4EE/M ?./2'",<0M4%DB@ B@"PB@ !0LP?./2'"@8.A BV55>!F[D5^WP*5
- M=?AS).^+3P56W!!Y/2$M4%EY35RSN@>O2AH@(!QNV0*5)0((( )Y35Q/* ((
- M #5[\*JD 0+"09:>#NJ6/NK?_A W<.H#D>IUN<2M[L0E%NM27%=4W&)6W!!D
- M!BV5I0,(H ,@L =JPID6DR;"\75OP)D6DR8M4%DZ@ 3K-XM4%E>@ !>\/XM
- M4%DA@ A\/XM4%DZ9<4-0:S04EE[ .\V$5B5- 8?]),@(!Q W *5M05 @ !
- MT!PET/'-H5.V,67^WQ![4/IMY//T)AR6;KQ6W!!^\T$_"2V5M05 @ ! T!PE
- MT/'-H5/-,6K/4?IMY//O,9A7%01+J-<9T0(__3CT RV5E=<3H@,(H /.?1=6
- MW!!Y35RSV@*5!6^X#P4:U48 <MK^WP*5!6_X<=I_ 2##[O\M4%GP9OJ*$5BI
- M7]I2\%'^WP*5!6\1-8:'$>]VA%-#W *5!6]_ 2 ^3_1&+P7^WP*5!6]_$>$Y
- M0]I!P.S^WP*5!6_Z@00(@ 1\[@0?Y?\M4%GP!NQ'SQ,)G@0 LM8X-<0M4%GP
- M!NR"OE$ <MK^WP*5!6^',>_LG@05AP 6!P?\@D(,Z/\M4%GPMOV<S1--W1_^
- MWP*5!6^'\1[%?NP[??%3ON!MY/\M4%GP=AA7@ !7H$;ZX?\M4%GPMM:'0?)(
- M@ !(\!X;M5'^WP*5!6^'\5$1%5@ LE'^WP*5!6]KK1_WS(;+SQ,+WD8;9<4-
- M4>!F3J,M4%GP9O12</USY/_C65GP]AY0K1\ ,D=PY/_C65GP=MK7O];SK1\:
- MU48 <MK^/YZ5!6^G??UKK1_ +N@;!2"G[?_C65GPAA\1I1\ ,D=PY/_C65GP
- MYO-GM%%K?<_OX?_C65GPYO-GM%%K?<_OP>Y)D-W._NW,55GP!OJVSQ-$KU$C
- MK_13X/_C65GP-NP1!2#7S1/^/YZ5!6^' 2!K7?'9SQ/^/YZ5!6^' 2!K7?'9
- MSQ/P1AUSL!U^&&P[ LO^/YZ5)3)SNAU^&&P[ LO4$0,B,Z?;X8?!MB.P3!UP
- M";!7<&-D<?B!19J;ZFN4%%E765DRQE]I01:ZC]:B_^X>L:F^9E ?<A+_SH2
- MC*:^"K[6LE\T-CPG7OIMY//TYA&;ZFL@ B,6@77LDWS HDIHZJO@:RW[16/#
- M4SB(W(NZ.7:^3):>#NJ6/NK?_A X<.H#D>IUN<2M[L0E%NM27%=4W&( >V1)
- M1C/7B3[NVS%UZ"6(LAF@T^(#Q*TI.0=ET] @< )<< (+$2FT]Y/Z-6/])0=X
- M<N59#B!D >Q'+^Q'SQ/%?NP[G>QZT5%MR!,G#N^EG?BH700WVSKQR%ELL:RL
- MQ="P2NW6LE\T-CQ7*A5CL'.<:<N)]3<9<Y4FK>VD.4/WPDS9%K12LW+/,T"U
- M2A;6[C"-@B: XD6YZRPKQV.C4BIX%9;ACI1#.U*[_-6ME*(,09*F+_KTAKPI
- M.R8QR',VE&.D$E > P=HL)XH?R(_R:QYE19MT(LQF"\(B?.4)"<$US[<FI)S
- M4#8-K5\SUE]R@"=#8"&T=TN"7=2ZF5>WQB$;89[Z-6/]-2\=,B(HU9__KW2/
- M591X$@0!!V-!."*;F5!THQ$U!P(G, (>UR4P@DW7NQGXDZJ1SYM,,B(M?F1P
- MD'4(B?,@< )<< (P0K_$Q@7YQ81#6S9IYC7Y1?4Z%BY)21H:4<")T]6%-U*H
- M=L=C-@;I7-@?,D#Y-4DV4_7R&I;$6I3Y#B.8Q5C9/$"1=96591;;EC_[,T"B
- MV9IJO[W@%1990UY>8C#G!5TA690AI3G0VFJDY3D-675$]A.="50NTB&O;[+R
- MM;*]'*#[16/#<T5R(Y_AZQ P%A< C_(@7.'\9VF!?5!'EF0MWF0,09*D,F P
- MDHXR6.3<,B$\EK+*2"X7 [@M?KT48\MX3W#M,P(&%8%R(Y^VB2)(])-X0I+I
- M*(-%3CNQ5(M98REL*K*U";=@&F]W@ WQX#DY[BY(J<2PYJ2X5R;(4DM5<RU
- MYK;C>RW_7B(3S0.)M1D^$)4.$5E7Z0,G#CVH1?,@P04\P'^51?4@P 4\P'^5
- M-4G*:]QR0'MMT(M%,D <Y01%@"=78"X(&N*VC*?.E1Q0^@8(8$"2W4<_Z8+U
- M95!*8CV!ZZQ%DEA_4X#()2E\RR X/RGR2C7\4T )]+-$8A8HT -DH0(]0!8Z
- MT -DH0(ZT -DL0(]L"DKH ,]X%:MBZPRE)1_0V1[!*NLPSL$\VW0AYWRXGLN
- M<HS\4T#F9B(S"),$MTX.8>^]RG--Q04\P'^5-4E,N+)+F>U%DEA_0P:^E96E
- M&:'B[LF[U5*E4AX7XVA?\SAC7IHR!*L$AR=9$!9<\C:M8IA(1HY<P /\5UG9
- MPR>5#P)<T&P7L1:G!B0@PV1*Z"E*]U@[69H@\9.Y"P)<P /\5UF]RG---4F5
- M7!ZAE\($4W) 0LJ.0O6!?5#B#CKQ=@7F@J A;LN.*QE/.AX(0!Y-@<=T-U(_
- MZ8(&0ZQ^]")[0Z/O:"]!&3YN,<)L0!8)C5S%_2F]DS!T)_P,K%XTB@(0^C5G
- ME58S$P1.0 1OM#-W1.]PWT<;=/"%UU91Z1!T^"G$NCA><IV)]2$4/B'OR$6>
- MA=(E+B4,D3B,O#>GV$#6[C#83E*OX_4T2G<C]9,&A1)4L13;<UD@X:Q%DEB\
- MRA8SIIL_LA02D;OW'J%R3"1F@0+4\0;4T9I6L1=B%02CM/=NL! %B*G=E#]K
- MX6WP*T" XI2S0IVHHBH8V3!'!!+.6B2)]3=>@RB;L3]FD=#(=0?SDW]3(!5_
- M8S!-WRUF;!:8Q5C9/$!@H ,G$"M<P;7ERP8P4M[KMM6F1+8QJ] & P8ZX'$R
- MQE\<#B1!^R(/H7/ZX]S.(CUX\OID]\T@ 8ZX''P"Q*;RGC>KEY>] +6[C"-
- MXBPO=$7(9<OP]RF_2GQ[XT4O8.T.TRC.LG*3]"8A.],,H:U=W1695 83#'DZ
- M,# 7HP.%8R\ R[8'BDU)21I+.2$Z0T=%0 4@T ,@0A89ZE7$7@6+D03+/P4]
- MP!L 1!8Z$)7JE9M]<+F> :V3=)VN:Q)I!TR@@W1 ,A>QC+83 M/O:"_8@V9E
- M,,%DZ>F@;NFC_NT/D0.G/A"I7I=+W.I.7&*Q+L5U1<4M9L4-(0)AH ,#HQ%0
- MHP.%8R\ >P6> :TFZ[9)21I+>903<\D,$05U$++O2Z,-5-LP<NU%TG4H7W<\
- M=JE PNU6X:Q%DEA_,Y4O[\C>G+8MO\$6DDD-TLXB^B'A[M66YDS? 2,0^C5%
- M@ 4W 05I94$%[4=;OZ<5D6TB@ !0\R9:;,L:#B-&7C4Y>#AL2 4X?A^*$5AK
- MS>PXU1"O'T!Q@V,C;(JA\JIZ+2%X$@1+J-=IQF.>8U!89SJU1DER0G"%Y44U
- M]Q59,9J>E(..?FI[.I9[<XH,#Z9X$@1+J-=I=E#*RXYOP)GEY4A1ST_*MFYD
- MX%N(#3)P3&P&C,Y: 3EE4E*P2GL4Z2@Q-,$ "V^X#P4:U48 \NX.P;V59QX-
- M?=QL01=:T4W[0_5=W8DQF"\#))IPX/?$FC>8>ENZF3V%YMS9% ;&9,MHJ^8.
- MEM?$-:ND\MPP F_X<=I_ 2##SBR2B!+T8HYI0O7RE8VVS/6LV\=>Y/?90RG)
- MMH1Z722D\MPP F^FKQB!E?JE+04?Y1!40*/)%ON<C\,P F\1-8:'$>]V)-S-
- M0N9ND,#-9BGC!FTS@W?0C*KF,M@@T01+, 5^/R(HM93C83FLE933GB^\1GUU
- MYS5)J3M^7SFWU%H>BR<@*V[D-C-X!\V^YO<JB!)H"T-+J-<Y"K#P]A< XO-$
- M;_12X!")XR5?C_.4DFQ+J-=%0BJB&U\HN[0.-A%BH ;R_+ZV%E5$RVQC<+2^
- MU7-[,F1J[F!=[&TD-T#6[C"-DIC.;6,I#L3$RF?6[C#8+MB>DW5=#$#KY);T
- MZP+$IJ56[[0"9/,7@?->8;)7>ECUY??6[C"-DLUH"T-+J-=%0BJP<D5>?Q)R
- MSQ!.LA#-TG5<XR(3<G2 P?U%+P4ZX''T2VS9DT1^;^T.@^V;4D@+T6J?4J\8
- MQ') [(.G&H29BHW:*"TWJ[2:J$/<$F_P]A<1GC.D'02\WQ")XR5?C_.4DFQ+
- MJ-=%0BJB&U_7Z:Y^'Y)%"<'Y8J*(G/+VLB3X<RE^_X:%:$5"6?Q%</S)'P3+
- MGTTDYWDB0ECS#"/PIA](@ !(P.=.\%$ID3A>\O4X3RG)MH1Z722D(KKQ%=*C
- MXO?$VM6=J)NM ZUG_C5/-$DLZ?<X-BM".4"$0U6'9LL-"S+4@[R>X_?(M2*7
- MS!")XR6Q_?39% ;,-D N 5($" @E=>Q"L04V34T2G(#9.T.TRCP%7"W.-(G
- M5=%^?^:N!05($" @E=?$]82)UB;YVB@K.=(<F,,[/%*@;NFC_NT.$0,P<.H#
- MD>IUN<2M[L0E%NM27%=4W&( "V_ ?O0\D>!) "!K#=E$T+-I7P9*PFSLBSL=
- MHYMO3&OSTK%')/<,\5+5E3L/JBD7OE?TZ4=]3+)N>7,IUTT$*C%;J_""W-6O
- M8G>?0CCJ^?!^_RNEEC'*?%(>":GC?RK[7AGQ!F_ +N@;!2#O[A#<6WGFT=#'
- M?3O(E2\5LC]4W]6=&(/Y,D"B"0=^3ZQY@ZFWI9O94VC.G4UA8$RVC+9J[F!Y
- M35RS2BK/#2/P=ACO4>S'OM,7/^4+WD8<<;64U*L\-Q5<2HJVF3>8>ELBYO?(
- MTLS6[C#8'F_P=ACSSNY),$</,02T1!X4XEO6JBL7(8>VS)D??!%>(JDG'WI
- MS)D??!&K9"XT:,L&P[ZXTS&ZB2SKY)99(%[OF#!=YR61=D1!<Q%+%H%G?BE^
- MG]?$-:N3U'5<,]-A9D#*/$ER BS9!I9^3QTBHQ<QTQ_4000M0QU20!T6!P?\
- M@D(,>$4&D]?$]81X0AUPP"\HQ(".BI1*F5)N28>?LJST6:.$#7^?0LI4<RE^
- MSYD??!%>XC4<3!Z6M6GBBB63A+19<3^A!\1Y)2<$USYO$K)53<M$@B639*A(
- MJ910V4]^/TG*FTHC?/=5C5 ??!%><N[;.^)+ZV#4 0?\@D(,V$U8S5B%!@)@
- MH ,>)V/\E19577V_2GQ G-?$-:LP:<OOF##8]"8ANQ%O$Y.;]B) _$0-F;;)
- MMH1Z722D\CLD""1BS\!N281&^ 1(^*IZ722D8E+(-N(J0DODT5H,'-8G?S&<
- M^<$7@8%OVJ@FZ[8J"$!1Z9:%"B0LN*:6MM+P%7#8%"<3,<\P F_;S]D\T=3]
- M@>L]VRI7HLP@0:Q%>7*&+8>V7%]^__4X3RG)MH1Z722D BO^UK.Q-A%+ZV#C
- M^ZGX\OP- 6^'<04(< 5JI!\J$1%KD2;C!FTS0_4T:,M>3Z/90RE$!L1Y35RS
- M2BKF,0<FT9J1MN^Y$JR>R=*_OP9^3W49 R0;:\L&0ZQ%B2=!0(*9^A%^;S G
- M4 (>1ZQ%"<'YPN(,CX1HU%53X/=[[P;Q!F^'\5$1%5@ @M\.004TFFRQS_E>
- M$B6=XU]19$C.S(1>8A%HX?=HL:=J0@9/97>?HOF<?\+%EFQ+J-=%0F1 K+R/
- M3O5HZBYU2TF:S_D8>([.O4YN2064/^(MB<BQCP(H0"X7F (+$=)HJ^8.EM?$
- M-:ND\CN03%4HSY'Q!F]K?1@DCP0(@ 3OL5'XS1#:^C>M ZW$6I2)Z=PLW]5E
- M(/<,\9$;\39S&%*"8DT/BHUIFVQ+J-<9X?>3Y(.G&H29BHUI"Q(GL (>)V/\
- M56-$XO>#>!*!VSK0^I.)Z<NBV9IJ#[#PMM;Z<<]LN/P\L>!MA-]Y\A8HGV9/
- MW\L-ZR03 D@,I79$!L1-;[IN P<XZO)><G<>":GC/^("- ;7(O<,X=[9:,MJ
- MSQ D&3O@TB!=D4E&>2EDZ>F@;NFC_NT.$0,5=F%'G.IUN<2M[L0E%NM27%=4
- MW&)6W&"W0P;P.-$&0QUY0!TB,[#\(@;4(3+/Q6?4D0?4(3(#RR]B0!TBPX -
- MWWF,#,1Y@ !Y(!G.-0;.!5U4KV/A0N:U^2$#!+78(@</BHWXXO<NX#-$$ 3+
- MOT9N9!5L'GWW#A+%Y&M?0^9ND,!^_SQY8"7051+/>J34VI*6#Q(G+%DN %V$
- M SQ 3*TM:?D@<<*2Y0)88H@ &P3JNX1ZG68'M75H*EGMLXD=Q!;F030NX#-$
- M$ 3+OT9,$)4.L:I%0 5$D 12P&<NT 1+, 4[<P0SPV/8I+Q6X7\+G)#&J8,E
- M?>E-L 13L#-',#-Y35RS.DG+"JO]];Y <E@D-T!G@%S<VBM+Z$NT1Y%'2H?+
- M+%VV>1X^0P1!L/QKY$8-M*I%0 5$D 12\*IZ#3%,.R'+"JO]];Y TO3%.N)R
- MQ6N\@W!&$DYVS!!!0 54<!]"P-8JPU$Y P(ZH"\HI'%0ND(M1!UW85!89SI5
- M_:IZG69=QS69& 140 7W(01LK3(<E3.MU3KQN#<T:A4GE$(KU$+4X3QR8,4-
- M<4(IM$(M1!T3$@140 7W(01LK3(<E3,@H /G\1T R[[<5M6OJM=IUG5<DXE!
- M0 54<!]"P-8JPU$YTUJM$X][0Z-6<4(IM$(M1!US0!U3PKU?TSL)$[1">4(I
- MM$(M1!U"UH/ HDHP0K_$-D!.@%9N!$AN=2G59^1XO81ZG68FVV/9AFH-H9BQ
- MS?!</7JD-4D^>*I!J,R*V@:TIR0?HDN**A%,"(^!2QTB0!TBHQC4<034X034
- M\034(04IHR\Z0!U00YUB[WD?HB2<B7FH=L=UK<7CC]<?DM?$-:N,E1$CG9@E
- M24A>M#0P@L&];)NOJM=I%M)G@%S<RN0([%W;2\LG<2\00GME(P=DX0(<A?H[
- MDP5D\5H5I/Q%0!8N 5($"!90!:K6@140 1)( 5DL:I9T 1"\ 1N!#R7[C-$
- M$ 3+OT9N%-+/PK[<=C%G@%S<RN0([%T FSA+MH1Z720\ADW*FSV%YMR#1WW9
- MS, .4>#.+5H!KJB=TXMU=U!$%&0T@TYGL$X.081., 1,4 7N<1X92M])\ 15
- M, 4Z<![? 0)N96-65/G#U_++23/H= ;KY!!$Z 1#P 15X![G481'F(0Z (B
- M\#V2#C4F>Z7A6C96(93?(^DP$DLHVY+W,]AIVW.UM'/[0SCM<JSW;A<0I%4E
- MO4<%_3KR3=])L$9OM#-W1.]^-$"%>9@3381., 1,4 7NL30PTBP,??)+N81Z
- M720F>Z78I+S9 SU(#B@T.D"?FG4\.!%+>4B?DM?$-:O;)HD =#A7GN41/@6.
- M%/7\Q/\8$3=I$,NJ9)H$Q3QY4SJL]]P >^59#B @T ,(T .EWT8^3V\A2%J3
- MQ#W#)(&AV"'QWP;EZCI!&[Z6SM[LRVTPM;V_@W6F,R$<Y01)F$HCS)'^?T4&
- M0\I40TI8KJ'9:GPH(>YBK3#^3TI8KJ'HO)5%FVWB7C>89FXFPG.!W^/T(>@@
- MH ((H (]@ ]4/IMY//T5FR\A7#8Z:Y'26.$6M4A-6T@<0(]< +^;YS9?'<=
- MQ!9]]/1Q.T$:ZO\ -[/91'(#1,HWT[U89SK]1F2D?IT_.U7SW.EFV<-H:>FC
- M_NT.$0-P>6%'G.IUN<2M[L0E%NM27%=4W&( >^59#B @H ,(H ,]@ ]4/IM
- MY//T5FR\A7 (909+I2$$ SW3!A(GT ,>-U7^;W?O:3[B+I*ES_U)2'49LZ=8
- M]TH$Y_\Z=D4&0\I40TI8KJ'9:GPH(>YB[?^ ,T$:^K)7JI4"Q4S9)NYU@VG^
- M;VXFPG.!W^/T(>@@H ((H (Z@ ZT ,(T .EWT8^3V^CQ5L(AYWN>I0T1JA5
- M#0(GH ,]X'%3Y?_9?'<=Q!9]]/1Q.T$:"G SFTW_Y?^41,HWT[U89SK]MHE(
- M.;22X_^"?9T_.U7S_/D[G^4 (FI5U@,(T .EWT8^3V_%QEL(1U#,DS>EPWJ_
- MX\T34JO^;VXF4LI?F17*M;U=)/E_U"CD8VXFPG/^#S@<Y01)V$!(QJ^-FJH@
- MX?:E1\I+VY;/,T$:BJ9).<>V[&H)V>)X3W!UX?]'I5C9:GPH(>YB#3@3I*'H
- M[%MRGQ)<F6WB7C>89FXFPG.!W^/T(>BB5F4Z@ ZT ,(T .EWT8^3V^CQ5L(
- M%RYRT@9TX3JI"A(GL (]X'%!2WAL0;J6_O2<;"(S^#P<Y01).$GB#CJEEC%[
- M2.J>,X=D #JM93"D3#6DA.4:JMC,T][+*M8EB7E*JXDZ1#MD5]PE_1#L3<HL
- MC4T 5,PAA_,,S]6/WK(1RMZ3Q.)OD[8@<0(KT ,>UT GL (ZT ,>)\=$TH)X
- M\@3_E$ _2R0M"%\!]V\#Q-Y/7YUN@+*%Z%O_I":<27LU%&]78"XN#I"F%UJ4
- M%(UX!\VLQ=[F Y,:71<CC2\&=4A<4:ZV[*Q%DECS1S#\4T#F9B(\AR>EE.;S
- MDSYYR3L$@V_/K'=Q84P#5 8X/WFJ2N50\ 0\4Y(F B@TFE7D*-_TG01K]$8[
- M<T?T#O<9Y%:;8C!]UQ2.GB8Z]1[QTKN"S4&%-U*I.DE-3VP&G$BD["@Q9%!L
- M8!+KF25+\2&I-,)W[]+(*D-)^3>3="0Y!I.L,],PPKT@0@9<*SED,37'3.&F
- M9\R#G;;>0>50\ 0\4Y(F B@T2K;7&=*S;6XF4LKMK90;0?6!?5"8B#TX/W*Y
- MG"+@TTU3P17V,GC/K'=Q@<SY'E?SDSYYN1%DL([*+$,GOR(3;3!]MR!FH5/T
- M=KX*'$/!(P9J$#2M)>Z>3/6#/<\P0@69BHV4%.Y(.;0C1?-'2X[48Q4HL!!F
- ML0?"X<@=@BB;L3\(B?.4A"K6Y#JE\R$D$)FE-Y/+GS.HPUELL:R^QB?M/;3"
- M7W\%9&Z^Z)DJY[YO!!]4L$X.T2S+GS.;6<Q=8RZ0C@++GS,+,4D><;V;D8D]
- M*NZ@ R.D3&QYLB?+GS/A<ITLOEXSN?PYLQ#B+I*MQ< 7C%9N!).V/'JD-4D^
- M>*I!:$"2;<L#Q-[_!2,GL/PYTP,>5\ DV= A9IR+(TXMSSMF(2<$USXRQE]I
- M 2-3<\P4#CZ4,DDK(EVW%D-3(2B,=E .7+YL$)4.T4 SF00+,4D^>*I!""0D
- MD 1X4DH%U-Y#.U*3I)4"Q4Q1Z1#FLAE!.>(@0<HR!*NVS.V,Q2?MO:R>[!&;
- M2BZT-X<E!R3BSL-$*>Z>W'AF,E7:"P)#<$004C9R0"P%U-Y#.U '=33R["(=
- MDI]\4HZ!QO)DZ>F@;NFC_NT.$0-%?&%'G.IUN<2M[L0E%NM27%=4W&( &R<3
- M,<\P<@7F8GH)3$GL;3#R6W(PNW*\=40)(^Z@ R.>(R\@X3E9I[PW6LSD6*N1
- M67I#-H]8!U2 8D#%C.8F9V,IYRPOI%?\^CJD7*Q[4OFJ#".MS!#:VM5=D4E'
- MRO_2-0170 2;6<Q+>1=[-@170 0@T .0C@)0< 5$H -B0+AW;"Z<;"(S^#PS
- M.0170 0+,4E2LW*V22&^9:T(]4VT!\(G7&R3A+S8I+PW6LQH;G(E.1?0E:I$
- M]A-'%#07D0=D030-TA695 83O&=?,)-#< 5$L#1881X]X$ )\SQ7P\Z=BQ[0
- SHAR_EOF
- true || echo 'restore of dmake/man/dmake.uue failed'
- fi
- echo 'End of part 19, continue with part 20'
- echo 20 > _shar_seq_.tmp
- exit 0
- exit 0 # Just in case...
-