4.4BSD/usr/share/tmac/tmac.doc

.\" Copyright (c) 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)doc	8.1 (Berkeley) 6/8/93
.\"
.\" .mdoc-parse - attempt to parse troff request arguments
.\" This version has had comments stripped; an unstripped version is available.
.if \n(.g \{\
.cp 0
.ftr C CR
.\}
.if t \{\
.       so /usr/share/tmac/tmac.doc-ditroff
.\}
.if n \{\
.       so /usr/share/tmac/tmac.doc-nroff
.\}
.so /usr/share/tmac/tmac.doc-common
.so /usr/share/tmac/tmac.doc-syms
.nr Db 0
.de Db
.ie \\n(.$==0 \{\
.	ie \\n(Db==0 \{\
.tm DEBUGGING ON
.		nr Db 1
.	\}
.	el \{\
.tm DEBUGGING OFF
.		nr Db 0
.	\}
.\}
.el \{\
.	if "\\$1"on" \{\
.tm DEBUGGING ON
.		nr Db 1
.	\}
.	if "\\$1"off" \{\
.tm DEBUGGING OFF
.		nr Db 0
.	\}
.\}
..
.de aV
.nr aC \\n(aC+1
.ie "\\$1"|" \{\
.	if "\\*(mN"Op" .ds A\\n(aC \fR\\$1\fP
.	if "\\*(mN"Ar" .ds A\\n(aC \fR\\$1\fP
.	if "\\*(mN"Fl" .ds A\\n(aC \fR\\$1\fP
.	if "\\*(mN"Cm" .ds A\\n(aC \fR\\$1\fP
.	if "\\*(mN"It" .ds A\\n(aC \fR\\$1\fP
.\}
.el .ds A\\n(aC \\$1
.aU \\n(aC
.nr C\\n(aC \\n(aT
.s\\n(aT
.if \\n(Db \{\
.	if \\n(aT==1 .ds yU Executable
.	if \\n(aT==2 .ds yU String
.	if \\n(aT==3 .ds yU Closing Punctuation or suffix
.	if \\n(aT==4 .ds yU Opening Punctuation or prefix
.	if \\n(iN==1 \{\
.		br
.		nr iI \\n(.iu
.		in -\\n(iIu
.		if \\n(aC==1 \{\
\&\fBDEBUG(argv) MACRO:\fP `.\\*(mN'  \fBLine #:\fP \\n(.c
.		\}
\&\t\fBArgc:\fP \\n(aC  \fBArgv:\fP `\\*(A\\n(aC'  \fBLength:\fP \\n(sW
\&\t\fBSpace:\fP `\\*(S\\n(aC'  \fBClass:\fP \\*(yU
.	\}
.	if \\n(iN==0 \{\
.		if \\n(aC==1 \{\
.			tm DEBUG(argv) MACRO: `.\\*(mN'  Line #: \\n(.c
.		\}
.		tm \tArgc: \\n(aC  Argv: `\\*(A\\n(aC'  Length: \\n(sW
.		tm \tSpace: `\\*(S\\n(aC'  Class: \\*(yU
.	\}
.\}
.ie \\n(.$==1 \{\
.	nr aP 0
.	ie \\n(dZ==1 \{\
.		if \\n(oM>1 .as b1 \\*(S0
.	\}
.	el \{\
.		if \\n(oM>0 \{\
.			if \\n(fC==0 .as b1 \\*(S0
.		\}
.	\}
.	ds S0 \\*(S\\n(aC
.	if \\n(Db \{\
.		if \\n(iN==1 \{\
\&MACRO REQUEST: \t.\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
.			br
.			in \\n(iIu
.		\}
.		if \\n(iN==0 \{\
.tm \tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
.		\}
.	\}
.\}
.el .aV \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de fV
.nr aC \\n(aC+1
.if "\\*(A\\n(aC"|" \{\
.	if "\\*(mN"Op" .ds A\\n(aC \fR\\*(A\\n(aC\fP
.	if "\\*(mN"Ar" .ds A\\n(aC \fR\\*(A\\n(aC\fP
.	if "\\*(mN"Fl" .ds A\\n(aC \fR\&\\*(A\\n(aC\fP
.	if "\\*(mN"Cm" .ds A\\n(aC \fR\\*(A\\n(aC\fP
.	if "\\*(mN"It" .ds A\\n(aC \fR\\*(A\\n(aC\fP
.\}
.aU \\n(aC
.nr C\\n(aC \\n(aT
.s\\n(aT
.if \\n(Db \{\
.	if \\n(aT==1 .ds yU Executable
.	if \\n(aT==2 .ds yU String
.	if \\n(aT==3 .ds yU Closing Punctuation or suffix
.	if \\n(aT==4 .ds yU Opening Punctuation or prefix
.	if \\n(iN==1 \{\
.		br
.		nr iI \\n(.iu
.		in -\\n(iIu
.		if \\n(aC==1 \{\
\&\fBDEBUG(fargv) MACRO:\fP `.\\*(mN'  \fBLine #:\fP \\n(.c
.		\}
\&\t\fBArgc:\fP \\n(aC  \fBArgv:\fP `\\*(A\\n(aC'  \fBLength:\fP \\n(sW
\&\t\fBSpace:\fP `\\*(S\\n(aC'  \fBClass:\fP \\*(yU
.	\}
.	if \\n(iN==0 \{\
.		if \\n(aC==1 \{\
.			tm DEBUG(fargv) MACRO: `.\\*(mN'  Line #: \\n(.c
.		\}
.		tm \tArgc: \\n(aC  Argv: `\\*(A\\n(aC'  Length: \\n(sW
.		tm \tSpace: `\\*(S\\n(aC'  Class: \\*(yU
.	\}
.\}
.ie \\n(fV==1 \{\
.	nr aP 0
.	ie \\n(dZ==1 \{\
.		if \\n(oM>1 .as b1 \\*(S0
.	\}
.	el \{\
.		if \\n(oM>0 \{\
.			if \\n(fC==0 .as b1 \\*(S0
.		\}
.	\}
.	ds S0 \\*(S\\n(aC
.	nr fV 0
.	if \\n(Db \{\
.		ie \\n(iN \{\
\&\tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
.			br
.			in \\n(iIu
.		\}
.		el \{\
.tm \tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
.		\}
.	\}
.\}
.el \{\
.	nr fV \\n(fV-1
.	fV
.\}
..
.de aX
.nr aP \\n(aP+1
.as b1 \&\\*(A\\n(aP
.ie \\n(fV==1 \{\
.	nr aP 0
.	nr fV 0
.\}
.el \{\
.	as b1 \&\\*(sV
.	nr fV \\n(fV-1
.	aX
.\}
..
.de aI
.ie \\n(aC<9 \{\
.	nr aC \\n(aC+1
.	ds A\\n(aC \\$1
.	nr C\\n(aC \\$2
.	s\\$2
.	ds xV S\\n(aC
.\}
.el \{\
.	tm Usage: Too many arguments (maximum of 8 accepted) (#\\n(.c)
.	tm \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
.\}
..
.de aZ
.pB
.aY
..
.de aY
.rm C0 C1 C2 C3 C4 C5 C6 C7 C8 C9
.rm A0 A1 A2 A3 A4 A5 A6 A7 A8 A9
.rm S1 S2 S3 S4 S5 S6 S7 S8 S9
.nr aC 0
.nr aP 0
..
.de pB
.ie \\n(dZ==1 \{\
.	if \\n(oM==1 \{\&\\*(b1
.		rm S0
.		ds b1
.	\}
.	if \\n(oM==0 \{\
.		x2
.	\}
.\}
.el \{\
.	ie \\n(oM==0 \{\&\\*(b1
.		rm S0
.		ds b1
.	\}
.	el \{\
.		if ((\\n(sM==1)&(\\n(tP==0)) \{\
.			x1
.		\}
.	\}
.\}
.hy
..
.de x1
.nr dZ \\n(dZ+1
.ds b2 \\*(b1
.ds b1
.nr lK \\n(.c
.ev 2
.fi
.di eB
..
.de x2
.br
.di
.ev
.ie (\\n(.c-\\n(lK>1) \{\
.	ds b0 \&\\*(eB\\
.	ds b1 \\*(b2\\*(b0\\*(b1
.\}
.el .ds b1 \\*(b2\\*(b1
\&\\*(b1
.rm eB b2 b0 b1
.nr dZ \\n(dZ-1
..
.de Fl
.as b1 \&\\*(fL
.if \\n(aC==0 \{\
.	ie \\n(.$==0 \{\
.		as b1 \&\|\-\|\fP\s0
.		pB
.	\}
.	el \{\
.		ds mN Fl
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>0 \{\
.	ie (\\n(aC-\\n(aP)==0 \{\
.		as b1 \&\|\-\fP\s0
.		aZ
.	\}
.	el \{\
.		nr aP \\n(aP+1
.		ie \\n(C\\n(aP==1 \{\
.			as b1 \&\|\-\fP\s0
.			\\*(A\\n(aP
.		\}
.		el \{\
.			nr cF \\n(.f
.			nr cZ \\n(.s
.			if \\n(C\\n(aP==3 \{\
.				as b1 \&\|\-\|
.			\}
.			fR
.		\}
.	\}
.\}
..
.de fR
.hy 0
.nr jM \\n(C\\n(aP
.ie \\n(jM==1 \{\
.	as b1 \&\fP\s0
.	\\*(A\\n(aP
.\}
.el \{\
.	nr jN \\n(aP
.	ie \\n(jM==2 \{\
.		ie !"\\*(A\\n(aP"\\*(Ba" \{\
.			ie !"\\*(A\\n(aP"\fR|\fP" \{\
.		               ie "\\*(A\\n(aP"-" .as b1 \&\|\-\^\-\|
.		               el .as b1 \&\|\-\\*(A\\n(aP
.			\}
.			el .as b1 \&\\*(A\\n(aP
.		\}
.		el .as b1 \&\\*(A\\n(aP
.	\}
.	el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0
.	ie \\n(aC==\\n(aP \{\
.		if \\n(jM==4 .as b1 \&\|\-
.		as b1 \&\fP\s0
.		aZ
.	\}
.	el \{\
.		nr aP \\n(aP+1
.		ie ((\\n(C\\n(aP==3)&(\\n(C\\n(jN==4)) .as b1 \&\|\-
.		el .as b1 \&\\*(S\\n(jN
.		fR \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.rr jM jN
..
.de nR
.hy 0
.nr jM \\n(C\\n(aP
.ie \\n(jM==1 \{\
.	as b1 \&\f\\n(cF\s\\n(cZ
.	\\*(A\\n(aP
.\}
.el \{\
.	nr jN \\n(aP
.	ie \\n(jM==2 .as b1 \&\\*(A\\n(aP
.	el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0
.	ie \\n(aC==\\n(aP \{\
.		as b1 \&\f\\n(cF\s\\n(cZ
.		aZ
.	\}
.	el \{\
.		nr aP \\n(aP+1
.		as b1 \&\\*(S\\n(jN
.		nR
.	\}
.\}
.rr jM jN
..
.de Ar
.as b1 \\*(aR
.if \\n(aC==0 \{\
.       ie \\n(.$==0 \{\
.		as b1 file\ ...\fP\s0
.		pB
.	\}
.	el \{\
.		ds mN Ar
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>0 \{\
.	ie (\\n(aC-\\n(aP)==0 \{\
.		as b1 \&file\ ...\fP\s0
.		aZ
.	\}
.	el \{\
.		nr aP \\n(aP+1
.		ie \\n(C\\n(aP==1 \{\
.			as b1 \&file\ ...\fP\s0
.			\\*(A\\n(aP
.               \}
.               el \{\
.                       nr cF \\n(.f
.			nr cZ \\n(.s
.			if \\n(C\\n(aP==3 \{\
.				as b1 \&file\ ...
.			\}
.                       nR
.		\}
.       \}
.\}
..
.de Ad
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Ad address ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Ad
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(aD
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Cd
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Cd Configuration file declaration (#\\n(.c)
. 	el \{\
.		ds mN Cd
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
. 		nr fV \\n(.$
. 		fV
.	\}
.\}
.br
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(nM
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.	ie \\n(nS \{\
.		if "\\*(mN"Cd" \{\
.			rs
.			ie \\n(nS>1 .br
.			el \{\
.				if \\n(iS==0 .nr iS \\n(Dsu
.			\}
.			in +\\n(iSu
.			ti -\\n(iSu
.			nr nS \\n(nS+1
.		\}
.	nR
.	in -\\n(iSu
.	\}
.	el .nR
.\}
..
.de Cm
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Cm Interactive command modifier ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Cm
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(cM
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Dv
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Dv define_variable ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Dv
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(eR
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Em
.if \\n(aC==0 \{\
.       ie \\n(.$==0 \{\
.		tm Usage: .Em text ... \\*(Pu (#\\n(.c)
.	\}
.	el \{\
.		ds mN Em
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(eM
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Er
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Er ERRNOTYPE ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Er
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(eR
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Ev
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Ev ENVIRONMENT_VARIABLE ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Ev
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(eV
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Fd
.ds mN Fd
.if \\n(nS>0 \{\
.	if \\n(fX>0 \{\
.		Pp
.		nr fX 0
.	\}
.	if \\n(fZ>0 \{\
.		ie \\n(fD==0 \{\
.			Pp
.			rs
.		\}
.		el .br
.	\}
.	nr fD \\n(fD+1
.\}
.nr cF \\n(.f
.nr cZ \\n(.s
\&\\*(fD\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.br
.ft \\n(cF
.fs \\n(cZ
..
.de Fr
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Fr Function_return_value... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Fr
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(aR
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Ic
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Ic Interactive command ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Ic
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(iC
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Li
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage .Li argument ... \\*(Pu (#\\n(.c)
.       el \{\
.		ds mN Li
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.               nr fV \\n(.$
.               fV
.       \}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(lI
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Or
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Or ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Or
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(iC
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Ms
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Ms Math symbol ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Ms
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(sY
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Nm
.if \\n(aC==0 \{\
.	ie \\n(.$==0 \{\
.		ie "\\*(n1"" .tm Usage: .Nm Name(s) ... \\*(Pu (#\\n(.c)
.		el \&\\*(nM\\*(n1\fP\s0
.	\}
.	el \{\
.		ds mN Nm
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.               nr fV \\n(.$
.               fV
.       \}
.\}
.if \\n(aC>0 \{\
.	ie \\n(aC==\\n(aP \{\
.		as b1 \&\\*(nM\\*(n1\fP\s0
.		aZ
.	\}
.	el \{\
.		as b1 \\*(nM
.		nr aP \\n(aP+1
.		ie \\n(C\\n(aP==1 \{\
.			as b1 \&\\*(n1\fP\s0
.			\\*(A\\n(aP
.		\}
.		el \{\
.			nr cF \\n(.f
.			nr cZ \\n(.s
.			if \\n(nS \{\
.				if "\\*(mN"Nm" \{\
.					rs
.					in -\\n(iSu
.					ie \\n(nS>1 .br
.					el \{\
.						if \\n(iS==0 \{\
.							sw \\$1
.					nr iS ((\\n(sWu+1)*\\n(fW)u
.						\}
.					\}
.					in +\\n(iSu
.					ti -\\n(iSu
.					nr nS \\n(nS+1
.				\}
.			\}
.			if "\\*(n1"" .ds n1 \\*(A\\n(aP
.			nR
.		\}
.	\}
.\}
..
.de Pa
.if \\n(aC==0 \{\
.       ie \\n(.$==0 \&\\*(pA~\fP\s0
.	el \{\
.		ds mN Pa
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(pA
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Sy
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Sy symbolic_text ... \\*(Pu (#\\n(.c)
. 	el \{\
.		ds mN Sy
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
. 		nr fV \\n(.$
. 		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(sY
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Tn
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Tn
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(tN\\*(tF
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de nN
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Tn
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(tN
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de Va
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Va variable_name(s) ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Va
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	as b1 \\*(vA
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de No
.as b1 \\*(nO
.if \\n(aC==0 \{\
.	ie \\n(.$==0 .tm Usage: .No must be called with arguments (#\\n(.c)
.	el \{\
.		ds mN No
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       ie \\n(C\\n(aP==1 \{\
.		\\*(A\\n(aP
.       \}
.       el \{\
.		nr cF \\n(.f
.		nr cZ \\n(.s
.		nR
.       \}
.\}
..
.de Op
.if \\n(aC==0 \{\
.	ds mN Op
.\}
.ds qL \&\\*(lB
.ds qR \&\\*(rB
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
..
.de Aq
.if \\n(aC==0 .ds mN Aq
.ds qL \&<
.ds qR \&>
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Bq
.if \\n(aC==0 .ds mN Bq
.ds qL \&\\*(lB
.ds qR \&\\*(rB
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Dq
.if \\n(aC==0 .ds mN Dq
.ds qL \&\\*(Lq
.ds qR \&\\*(Rq
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Eq
.if \\n(aC==0 .ds mN Eq
.ds qL \\$1
.ds qR \\$2
.En \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Pq
.if \\n(aC==0 .ds mN Pq
.ds qL \&\\*(lP
.ds qR \&\\*(rP
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Qq
.if \\n(aC==0 .ds mN Qq
.ds qL \&\\*q
.ds qR \&\\*q
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Sq
.if \\n(aC==0 .ds mN Sq
.ds qL \&\\*(sL
.ds qR \&\\*(sR
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Es
.if \\n(aC==0 \{\
.	ie \\n(.$>2 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	el \{\
.		ds qL \\$1
.		ds qR \\$2
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.	ds qL \\*(A\\n(aP
.	nr aP \\n(aP+1
.	ds qR \\*(A\\n(aP
.	ie \\n(aC>\\n(aP .c\\n(C\\n(aP
.	el .aZ
.\}
..
.de En
.ie \\n(aC==0 \{\
.	ie \\n(.$==0 \{\
.		as b1 \&\\*(qL\\*(qR
.		pB
.	\}
.	el \{\
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.		as b1 \&\\*(qL
.	\}
.\}
.el \{\
.	as b1 \&\\*(qL
.\}
.if \\n(aC>0 \{\
.	ie (\\n(aC-\\n(aP)==0 \{\
.		as b1 \&\\*(qR
.		aZ
.	\}
.	el \{\
.		ie \\n(C\\n(aC==3 \{\
.			nr aJ \\n(aC-1
.			vR
.			nr aJ \\n(aJ+1
.			ds A\\n(aJ \&\\*(qR\\*(A\\n(aJ
.			nr aJ 0
.		\}
.		el .aI \&\\*(qR 3
.		nr aP \\n(aP+1
.		if \\n(C\\n(aP==1 .\\*(A\\n(aP
.		if \\n(C\\n(aP>1 \{\
.			nr aP \\n(aP-1
.			No
.		\}
.	\}
.\}
..
.de vR
.if \\n(C\\n(aJ==3 \{\
.	nr aJ \\n(aJ-1
.	vR
.\}
..
.de Ao
.if \\n(aC==0 .ds mN Ao
.ds qL \&<
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Ac
.if \\n(aC==0 .ds mN Ac
.ds qR \&>
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Bo
.if \\n(aC==0 .ds mN Bo
.ds qL \&[
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Bc
.if \\n(aC==0 .ds mN Bc
.ds qR \&]
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Do
.if \\n(aC==0 .ds mN Do
.ds qL \&\\*(Lq
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Dc
.if \\n(aC==0 .ds mN Dc
.ds qR \&\\*(Rq
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Eo
.if \\n(aC==0 .ds mN Eo
.ds qL \\$1
.eO \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Ec
.if \\n(aC==0 .ds mN Ec
.ds qR \\$1
.eC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Oo
.if \\n(aC==0 .ds mN Oo
.ds qL \&[
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Oc
.if \\n(aC==0 .ds mN Oc
.ds qR \&]
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Po
.if \\n(aC==0 .ds mN Po
.ds qL \&(
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Pc
.if \\n(aC==0 .ds mN Pc
.ds qR \&)
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Qo
.if \\n(aC==0 .ds mN Qo
.ds qL \&\\*q
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Qc
.if \\n(aC==0 .ds mN Qc
.ds qR \&\\*q
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de So
.if \\n(aC==0 .ds mN So
.ds qL \&\\*(sL
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Sc
.if \\n(aC==0 .ds mN Sc
.ds qR \&\\*(sR
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Xo
.if \\n(aC==0 .ds mN Xo
.ds qL
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Xc
.if \\n(aC==0 .ds mN Xc
.ds qR
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de eO
.nr oM \\n(oM+1
.ie \\n(aC==0 \{\
.       ie \\n(.$>0 \{\
.               aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.		as b1 \\*(qL
.       \}
.	el \{\
.		as b1 \\*(qL
.		if (\\n(dZ==0)&(\\n(sM==1) \{\
.			nr dZ \\n(dZ+1
.			ds b2 \\*(b1
.			ds b1
.			nr lK \\n(.c
.			ev 2
.			fi
.			di eB
.		\}
.	\}
.\}
.el \{\
.	as b1 \\*(qL
.\}
.ie \\n(aC>0 \{\
.	if \\n(aC>\\n(aP \{\
.		nr aP \\n(aP+1
.		ie \\n(C\\n(aP==1 .\\*(A\\n(aP
.		el  \{\
.			nr aP \\n(aP-1
.			No
.		\}
.	\}
.	if \\n(aC==\\n(aP \{\
.		if \\n(tP==1 \{\
.			nr Xt 1
.		\}
.		aY
.	\}
.\}
.el \{\
.	if \\n(oM>1 .as b1 \\*(sV
.\}
..
.de eC
.nr oM \\n(oM-1
.as b1 \\*(qR
.if \\n(aC==0 \{\
.       ie \\n(.$>0 \{\
.               aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.       \}
.	el \{\
.		ie "\\*(xB"" \{\
.			pB
.		\}
.		el \{\
.			pB
.\\*(L\\n(lC
.			nr Xt 0
.			ds xB
.		\}
.	\}
.\}
.if \\n(aC>0 \{\
.	ie \\n(aC==\\n(aP \{\
.		ie \\n(oM==0 \{\
.			aZ
.		\}
.		el .aY
.	\}
.	el \{\
.		nr aa \\n(aP+1
.		if \\n(C\\n(aa==2 .as b1 \\*(S\\n(aC
.		rr aa
.		if \\n(tP>0 \{\
.			if \\n(Xt>0 .nr Xt \\n(Xt-1
.		\}
.		No
.	\}
.\}
..
.de Pf
.if \\n(aC==0 .ds mN Pf
.ds qL \&\\$1
.pF \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de pF
.ie \\n(aC==0 \{\
.	as b1 \&\\*(qL
.	ie \\n(.$<2 \{\
.		tm Warning: Missing arguments - prefix .Pf)
.		pB
.	\}
.	el .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.\}
.el \{\
.	ie (\\n(aC-\\n(aP)>1 \{\
.		nr aP \\n(aP+1
.		as b1 \&\\*(A\\n(aP
.	\}
.	el .tm Warning: .Pf: trailing prefix (#\\n(.c)
.\}
.if \\n(aC>0 \{\
.	ie (\\n(aC-\\n(aP)==0 .aZ
.	el \{\
.		nr aP \\n(aP+1
.		c\\n(C\\n(aP
.	\}
.\}
..
.de Ns
.if \\n(aC==0 \{\
.	ds mN Ns
.	ie \\n(.$>0 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	el .tm Usage: .Ns must be called with arguments (#\\n(.c)
.\}
.No
..
.de Ap
.if \\n(aC==0 \{\
.	ds mN Ap
.	tm Usage: Ap "cannot be first request on a line (no .Ap)" (#\\n(.c)
.\}
.as b1 \&'
.No
..
.de Hv
.ds iV \\*(sV
.ds sV \\*(hV
..
.de Sv
.ds sV \\*(iV
..
.de Tv
.ds sV \\*(tV
..
.nr sM 1
.de Sm
.if \\n(aC==0 \{\
.	ie \\n(.$==0 .tm "Usage: .Sm [off | on]" (#\\n(.c)
.	el \{\
.		ds mN Sm
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>0 \{\
.	nr aP \\n(aP+1
.	if "\\*(A\\n(aP"on" \{\
.		ds sV \\*(iV
.		nr sM 1
.	\}
.	if "\\*(A\\n(aP"off" \{\
.		ds sV
.		rm S0 S1 S2 S3 S4 S5 S6 S7 S8 S9
.		nr sM 0
.	\}
.	ie \\n(aC>\\n(aP \{\
.		No
.	\}
.	el .aY
.\}
..
.if \n(.g \{\
.de aT
.nr aT 0
.ie \\n(sW>2:(\A'\\$1'==0) \{\
.	nr aT 2
.\}
.el \{\
.	if \\n(sW==1 \{\
.		ie \\n(z\\$1>2 \{\
.			nr aT \\n(z\\$1
.		\}
.		el .nr aT 2
.	\}
.	if \\n(sW==2 \{\
.		ie \\n(\\$1 \{\
.			nr aT 1
.		\}
.		el .nr aT 2
.	\}
.\}
..
.de aU
.nr aT 0
.aW \\$1
.ie \\n(sW>2:(\A'\\*(A\\$1'==0) .nr aT 2
.el \{\
.	if \\n(sW==1 \{\
.		ie \\n(z\\*(A\\$1>2 \{\
.			nr aT \\n(z\\*(A\\$1
.		\}
.		el .nr aT 2
.	\}
.	if \\n(sW==2 \{\
.		ie (\\n(\\*(A\\$1) \{\
.			nr aT 1
.		\}
.		el .nr aT 2
.	\}
.\}
..
.\}
.if !\n(.g \{\
.de aT
.nr aT 0
.ie \\n(sW>2 \{\
.	nr aT 2
.\}
.el \{\
.	if \\n(sW==1 \{\
.		ie \\n(z\\$1>2 \{\
.			nr aT \\n(z\\$1
.		\}
.		el .nr aT 2
.	\}
.	if \\n(sW==2 \{\
.		ie \\n(\\$1 \{\
.			nr aT 1
.		\}
.		el .nr aT 2
.	\}
.\}
..
.de aU
.nr aT 0
.aW \\$1
.ie \\n(sW>2 .nr aT 2
.el \{\
.	if \\n(sW==1 \{\
.		ie \\n(z\\*(A\\$1>2 \{\
.			nr aT \\n(z\\*(A\\$1
.		\}
.		el .nr aT 2
.	\}
.	if \\n(sW==2 \{\
.		ie (\\n(\\*(A\\$1) \{\
.			nr aT 1
.		\}
.		el .nr aT 2
.	\}
.\}
..
.\}
.de s0
.tm MDOC-ERROR: bogus type 0 (can't set space '\\*(A\\n(aC') (#\\n(.c)
..
.de s1
.if \\n(\\*(A\\n(aC==3 \{\
.	nr xX \\n(aC-1
.	rm S\\n(xX
.	ds S\\n(aC \\*(sV
.\}
.if \\n(\\*(A\\n(aC==2 \{\
.	nr xX \\n(aC-1
.	ie "\\*(A\\n(aC"Nb" .ds S\\n(xX \\*(hV
.	el .rm S\\n(xX
.\}
..
.de s2
.ds S\\n(aC \\*(sV
..
.de s3
.if \\n(aC>1 \{\
.	nr xX \\n(aC-1
.	rm S\\n(xX
.\}
.ds S\\n(aC \\*(sV
..
.de s4
.nr aa 0
..
.de c0
.tm MDOC-ERROR: bogus class 0 (can't determine '\\*(A\\n(aC') (#\\n(.c)
..
.de c1
.\\*(A\\n(aP
..
.de c2
.nr aP \\n(aP-1
.No
..
.de c3
.nr aP \\n(aP-1
.No
..
.de c4
.nr aP \\n(aP-1
.No
..
.de y1
.nr aa 1
..
.de y2
.nr aa 1
..
.de y3
.as b1 \\*(A\\n(aP
.nr aP \\n(aP+1
.n\\C\\n(aP
..
.de y4
.as b1 \\*(A\\n(aP
.nr aP \\n(aP+1
.n\\C\\n(aP
..
.de Bf
.ds mN Bf
.ie \\n(.$>0 \{\
.	nr bF \\n(.f
.	nr bZ \\n(.s
.	if "\\$1"Em" \&\\*(eM\c
.	if "\\$1"Li" \&\\*(lI\c
.	if "\\$1"Sy" \&\\*(sY\c
.	if "\\$1"-emphasis" \&\\*(eM\c
.	if "\\$1"-literal" \&\\*(lI\c
.	if "\\$1"-symbolic" \&\\*(sY\c
.\}
.el .tm Usage .Bf [Em | emphasis | Li | literal | Sy | symbolic] (#\\n(.c)
..
.de Ef
.ds mN Ef
.ie \\n(.$>0 .tm Usage .Ef (does not take arguments) (#\\n(.c)
.el \&\f\\n(bF\s\\n(bZ
..
.de Bk
.ds mN Bk
.ie \\n(.$==0 \{\
.tm Usage: .Bk [-lines | -words] (#\\n(.c)
.\}
.el \{\
.	if !"\\*(kS"" .tm .Bk: nesting keeps not implemented yet. (#\\n(.c)
.	if "\\$1"-lines" .tm .Bd -lines: Not implemented yet. (#\\n(.c)
.	if "\\$1"-words" .Hv
.	ds kS \\$1
.\}
..
.de Ek
.ds mN Ek
.ie \\n(.$>0 .tm Usage .Ek (does not take arguments) (#\\n(.c)
.el \{\
.	if "\\*(kS"-lines" .tm .Bd -lines: Not implemented yet. (#\\n(.c)
.	if "\\*(kS"-words" .Sv
.	rm kS
.\}
..
.de Bd
.ds mN Bd
.ie \\n(.$==0 \{\
.tm Usage: .Bd [-literal | -filled | -ragged | -unfilled] [-offset [string]] [-compact] (#\\n(.c)
.\}
.el \{\
.	ds aa
.	nr bV 0
.       nr iD 0
.	nr dP \\n(dP+1
.       if "\\$1"-literal" \{\
.		nr iD \\n(iD+1
.               ds d\\n(dP dL
.		nr cF \\n(.f
.		nr cZ \\n(.s
.		ie t \{\&\\*(lI
'			ta 9n 18n 27n 36n 45n 54n 63n 72n
.		\}
.		el \{\
'			ta 8n 16n 24n 32n 40n 48n 56n 64n 72n
.		\}
.		nf
.       \}
.       if "\\$1"-filled" \{\
.		nr iD \\n(iD+1
.               ds d\\n(dP dF
.		br
.       \}
.       if "\\$1"-ragged" \{\
.		nr iD \\n(iD+1
.               ds d\\n(dP dR
.		na
.       \}
.       if "\\$1"-unfilled" \{\
.		nr iD \\n(iD+1
.               ds d\\n(dP dU
.		nf
.       \}
.       if ((\\n(iD>=1)&(\\n(.$>\\n(iD)) \{\
.		bV \\$2 \\$3 \\$4
.	\}
.	if \\n(O\\n(dP>0 'in \\n(.iu+\\n(O\\n(dPu
.	if (\\n(bV==0) \{\
.		if (\\n(nS==0) \{\
.			ie "\\*(d\\n(dP"dR" .sp \\n(dVu
.			el 'sp \\n(dVu
.		\}
.	\}
.	if \\n(cR==0 .ne 2v
.	nr bV 0
.	nr iD 0
.\}
..
.de bV
.nr iD 1
.ds bY
.if "\\$1"-offset" \{\
.	ds bY \\$2
.	if "\\*(bY"left" \{\
.		nr iD \\n(iD+1
.		nr O\\n(dP 0
.	\}
.	if "\\*(bY"right" \{\
.		nr iD \\n(iD+1
.		nr O\\n(dP (\\n(.l/3)u
.	\}
.	if "\\*(bY"center" \{\
.		nr iD \\n(iD+1
.		nr O\\n(dP (\\n(.l-\\n(.i)/4u
.	\}
.	if "\\*(bY"indent" \{\
.		nr iD \\n(iD+1
.		nr O\\n(dP \\n(dIu
.	\}
.	if "\\*(bY"indent-two" \{\
.		nr iD \\n(iD+1
.		nr O\\n(dP \\n(dIu+\\n(dIu
.	\}
.	if \\n(iD==1 \{\
.		nr iD \\n(iD+1
.		sW "\\*(bY"
.		ie \\n(sW>2 \{\
.			ie ((\\*(bY>9n)&(\\*(bY<100n)) \{\
.				nr O\\n(dP \\*(bY
.			\}
.			el .nr O\\n(dP (\\n(sW)*\\n(fWu
.		\}
.		el \{\
.			if \\n(sW==2 .aT \\*(bY
.			ie \\n(aT==1 \{\
.				nr O\\n(dP \\n(\\*(bY
.			\}
.			el .nr O\\n(dP \\*(bY
.		\}
.	\}
.\}
.if "\\$1"-compact" \{\
.	nr bV 1
.\}
.if \\n(iD<\\n(.$ \{\
.	ie "\\*(bY"" \{\
.		bV \\$2 \\$3
.	\}
.	el \{\
.		bV \\$3
.	\}
.\}
..
.de Ed
.ds mN Ed
.br
.if \\n(dP==0 .tm mdoc: Extraneous .Ed
.if "\\*(d\\n(dP"dL" \{\
.	ft \\n(cF
.	fz \\n(cZ
.\}
.in \\n(.iu-\\n(O\\n(dPu
.rr O\\n(dP
.rm d\\n(dP
.nr dP \\n(dP-1
.fi
.if t .ad
..
.de Bl
.ie \\n(.$==0 \{\
.tm Usage: .Bl [[-hang | -tag] [-width]] [ -item | -enum | -bullet | -diag] (#\\n(.c)
.\}
.el \{\
.	ds mN Bl
.	nr aP 0
.	nr lC \\n(lC+1
.	ds A1 \\$2
.	ds A2 \\$3
.	ds A3 \\$4
.	ds A4 \\$5
.	ds A5 \\$6
.	ds A6 \\$7
.	ds A7 \\$8
.	ds A8 \\$9
.	nr fV \\n(.$-1
.	if "\\$1"-hang" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC hL
.		nr w\\n(lC 6n
.		nr tC  1
.	\}
.	if "\\$1"-tag" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC tL
.		nr tC  1
.	\}
.	if "\\$1"-item" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC iT
.		nr tC  1
.	\}
.	if "\\$1"-enum" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC nU
.		nr w\\n(lC 3n
.		nr tC  1
.	\}
.	if "\\$1"-bullet" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC bU
.		nr w\\n(lC 2n
.		nr tC  1
.	\}
.	if "\\$1"-dash" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC hU
.		nr w\\n(lC 2n
.		nr tC  1
.	\}
.	if "\\$1"-hyphen" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC hU
.		nr w\\n(lC 2n
.		nr tC  1
.	\}
.	if "\\$1"-inset" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC lL
.		nr tC  1
.	\}
.	if "\\$1"-diag" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC mL
.		nr mL 1
.	\}
.	if "\\$1"-ohang" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC oL
.		nr tC 1
.	\}
.	if "\\$1"-column" \{\
.		nr aP \\n(aP+1
.		ds L\\n(lC cL
.	\}
.	ie \\n(aP==0 \{\
.	tm \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	tm Usage: .Bl [[-inset|-tag] -width] [-item|-enum|-bullet|-diag] (#\\n(.c)
.	\}
.	el \{\
.		tY
.		if (\\n(aP==1)&(\\n(aP<\\n(.$) \{\
.			nr aP 0
.			lV
.			if "\\*(L\\n(lC"cL" \{\
.				W\\n(wV
.				nr w\\n(lC 0
'				in -\\n(eWu
.				ie \\n(v\\n(lC==1 \{\
.				       nr aa 0
.				\}
.				el \{\
.					sp \\n(dVu
.				\}
.				nf
.				nr wV 0
.			\}
.		\}
.	\}
.	nr aP 0
.	aY
.\}
..
.if \n(.g \{\
.	nr i 10
.	while \ni<100 \{\
.	     nr num!\nin 1
.	     nr i +1
.	\}
.\}
.de lV
.nr aP \\n(aP+1
.if \\n(fV>=\\n(aP \{\
.	nr iD 0
.	if "\\*(A\\n(aP"-compact" \{\
.		nr iD 1
.		nr v\\n(lC 1
.	\}
.	if "\\*(A\\n(aP"-width" \{\
.		nr iD 1
.		nr aP \\n(aP+1
.		nr tW 1
.		ds t\\n(lC TagwidtH
.		ds tS \\*(A\\n(aP
.		aW \\n(aP
.		ie \\n(sW>2 \{\
.			nr w\\n(lC (\\n(sW)*\\n(fWu
.			if \\n(sW==3 \{\
.				ie \\n(.g \{\
.					if \A'\\*(tS' .if r num!\\*(tS \{\
.						nr w\\n(lC \\*(tS
.					\}
.				\}
.				el \{\
.					if (\\*(tS>9n)&(\\*(tS<99n) \{\
.						nr w\\n(lC \\*(tSu
.					\}
.				\}
.			\}
.		\}
.		el \{\
.			aT \\*(tS
.			ie \\n(aT==1 \{\
.				nr w\\n(lC \\n(\\*(tS
.			\}
.			el \{\
.				nr w\\n(lC \\*(tSu
.			\}
.		\}
.	\}
.	if "\\*(A\\n(aP"-offset" \{\
.		nr iD 1
.		nr aP \\n(aP+1
.		ie "\\*(A\\n(aP"indent" \{\
.			nr o\\n(lC \\n(Dsu
.		\}
.		el \{\
.			ds tS \\*(A\\n(aP
.			aW \\n(aP
.			ie \\n(sW>2 \{\
.				nr o\\n(lC (\\n(sW)*\\n(fWu
.				ie \\n(.g \{\
.					if \A'\\*(tS' .if r num!\\*(tS \{\
.						nr o\\n(lC \\*(tS
.					\}
.				\}
.				el \{\
.					if (\\*(tS>9n)&(\\*(tS<100n) \{\
.						nr o\\n(lC \\*(tS
.					\}
.				\}
.			\}
.			el \{\
.				ie \\n(C\\n(aP==1 .nr o\\n(lC \\n(\\*(tS
.				el .nr o\\n(lC \\*(tS
.			\}
.		\}
.	\}
.	if \\n(iD==0 \{\
.		if "\\*(L\\n(lC"cL" \{\
.			nr wV \\n(wV+1
.			ds A\\n(wV \\*(A\\n(aP
.		\}
.	\}
.	if \\n(fV>\\n(aP .lV
.\}
..
.de El
.ie \\n(.$>0 \{\
.	tm Usage: .El (#\\n(.c)
.\}
.el \{\
.	ds mN El
.	nr iD 0
.	if "\\*(L\\n(lC"cL" \{\
.		nr iD 1
.		cC
.	\}
.	if "\\*(L\\n(lC"nU" \{\
.		nr nU 0
.	\}
.	if \\n(mL>0 \{\
.		nr iD 1
.		nr mL 0
.		tZ
.		nr lC \\n(lC-1
.		tY
.	\}
.	if "\\*(L\\n(lC"iT" \{\
'		in \\n(.iu-\\n(o\\n(lCu
.		tZ
.		nr lC \\n(lC-1
.		tY
.		nr iD 1
.	\}
.	if "\\*(L\\n(lC"oL" \{\
'		in \\n(.iu-\\n(o\\n(lCu
.		tZ
.		nr lC \\n(lC-1
.		tY
.		nr iD 1
.	\}
.	if "\\*(L\\n(lC"lL" \{\
'		in \\n(.iu-\\n(o\\n(lCu
.		tZ
.		nr lC \\n(lC-1
.		tY
.		nr iD 1
.	\}
.	if \\n(iD==0 \{\
.		lE
.	\}
.	br
.	nr iD 0
.\}
..
.de It
.if "\\*(L\\n(lC"" \{\
.	tm Usage .Bl -list-type [-width [string] | -compact | -offset [string]] (#\\n(.c)
.	tm .It \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
.\}
.ne 3v
.ie \\n(.$>0 \{\
.	ds mN It
.	ds b1
.	nr iD 0
.	ds A1 \\$1
.	ds A2 \\$2
.	ds A3 \\$3
.	ds A4 \\$4
.	ds A5 \\$5
.	ds A6 \\$6
.	ds A7 \\$7
.	ds A8 \\$8
.	ds A9 \\$9
.	nr fV \\n(.$
.	if "\\*(L\\n(lC"mL" \{\
.		nr iD 1
.		nr aP 0
.		aX
.		\\*(L\\n(lC
.	\}
.	if "\\*(L\\n(lC"cL" \{\
.		ds b1
.		nr aP 0
.		nr iD 1
.		\\*(L\\n(lC
.	\}
.	if "\\*(L\\n(lC"iT" \{\
.		nr aP 0
.		nr iD 1
.		\\*(L\\n(lC
.	\}
.	if \\n(iD==0 \{\
.		fV
.		nr oM \\n(oM+1
.		nr tP 1
.		nr aP \\n(aP+1
.		nr tX \\n(C\\n(aP
.		ds tX \\*(A\\n(aP
.		if \\n(nF==1 \{\
.			ds aA \\*(pA
.			if n .ds pA \\*(nO
.		\}
.		ie \\n(C\\n(aP==1 \{\
.			\\*(A\\n(aP
.		\}
.		el \{\
.			nr aP \\n(aP-1
.			No
.		\}
.		ie \\n(Xt==1 .ds xB \&\\*(L\\n(lC
.		el .\\*(L\\n(lC
.	\}
.	nr iD 0
.\}
.el .\\*(L\\n(lC
..
.de lL
.lY
.br
\&\\*(b1
.nr oM \\n(oM-1
.nr tP 0
.ds b1
.aY
'fi
..
.de hL
.lX
.nr bb \\n(w\\n(lCu+\\n(lSu
.ti -\\n(bbu
.ie \w\\*(b1u>=(\\n(w\\n(lCu) \&\\*(b1
.el \&\\*(b1\h'|\\n(bbu'\c
.nr oM \\n(oM-1
.ds b1
.nr tP 0
.aY
'fi
..
.de oL
.lY
\&\\*(b1
.br
.nr oM \\n(oM-1
.ds b1
.nr tP 0
.aY
'fi
..
.de iT
.lY
.br
.aY
'fi
..
.de nU
.nr oM \\n(oM+1
.nr nU \\n(nU+1
.ds b1 \&\\n(nU.
.uL
..
.de bU
.nr oM \\n(oM+1
.nr bU \\n(bU+1
.ds b1 \&\\*(sY\&\(bu\fP
.uL
..
.de hU
.nr oM \\n(oM+1
.nr bU \\n(bU+1
.ds b1 \&\\*(sY\&\-\fP
.uL
..
.de uL
.lX
.nr bb \\n(w\\n(lCu+\\n(lSu
.ti -\\n(bbu
.ie \w\\*(b1u>=(\\n(w\\n(lCu) \&\\*(b1
.el \&\\*(b1\h'|\\n(bbu'\c
.nr oM \\n(oM-1
.ds b1
.nr tP 0
.aY
'fi
..
.de mL
.nr cF \\n(.f
.nr cZ \\n(.s
.ie \\n(mL==1 \{\
.	nr zB \\n(.c
.	ie (\\n(zB-\\n(zA)>1 .Pp
.	el .br
.	nr zA \\n(zB
.	nr zB 0
.\}
.el \{\
.	nr zA \\n(.c
.	br
.\}
\&\\*(sY\\*(b1\f\\n(cF\s\\n(cZ\\*(lS\c
.aY
.ds b1
'fi
..
.de tL
.if \\n(tW==0 .lW
.lX
.nr bb \\n(w\\n(lCu+\\n(lSu
.ti -\\n(bbu
.ie (\w\\*(b1u)>(\\n(w\\n(lCu) \{\&\\*(b1
.       br
.\}
.el \&\\*(b1\h'|\\n(bbu'\c
.if \\n(nF==1 \{\
.	if n .ds pA \\*(aA
.\}
.nr oM \\n(oM-1
.nr tP 0
.ds b1
.aY
'fi
..
.de lW
.if !"TagwidtH"\\*(t\\n(lC" \{\
.       ie \\n(tX==1 \{\
.               ds t\\n(lN \\*(tX
.               nr w\\n(lN \\n(\\*(tX
.       \}
.       el \{\
.               ds t\\n(lN No
.               nr w\\n(lN \\n(No
.       \}
.       if !"\\*(t\\n(lC"\\*(t\\n(lN" .nr tC 1
.\}
..
.de lX
.ie \\n(tC \{\
.       nr tC 0
.       nr tW 0
.       if \\n(v\\n(lC==0 .sp \\n(dVu
.       in \\n(.iu+\\n(w\\n(lCu+\\n(o\\n(lCu+\\n(lSu
.\}
.el \{\
.	ie \\n(v\\n(lC==1 \{\
.	       nr aa 0
.	\}
.	el \{\
.		sp \\n(dVu
.	\}
.\}
.if !\\n(cR .ne 2v
..
.de lY
.ie \\n(tC \{\
.       nr tC 0
.       nr tW 0
.       if \\n(v\\n(lC==0 .sp \\n(dVu
.       in \\n(.iu+\\n(o\\n(lCu
.\}
.el \{\
.	ie \\n(v\\n(lC==1 \{\
.	       nr aa 0
.	\}
.	el \{\
.		sp \\n(dVu
.	\}
.\}
.if !\\n(cR .ne 2v
..
.nr lC 0
.nr wV 0
.nr w1 0
.nr o1 0
.nr v1 0
.nr h1 0
.ds t\n(lC
.de lE
.ie \\n(o\\n(lC>0 \{\
'	in \\n(.iu-(\\n(w\\n(lCu)-(\\n(o\\n(lCu)-\\n(lSu
.	rr o\\n(lC
.\}
.el 'in \\n(.iu-\\n(w\\n(lCu-\\n(lSu
.if \\n(lC<=0 .tm Extraneous .El call (#\\n(.c)
.tZ
.nr lC \\n(lC-1
.tY
..
.de tY
.nr tY (\\n(lC+1)
.nr w\\n(tY 0
.nr h\\n(tY 0
.nr o\\n(tY 0
.ds t\\n(tY \\*(t\\n(lC
.ds L\\n(tY
.nr v\\n(tY 0
..
.de tZ
.rm L\\n(tY
.rr w\\n(tY
.rr h\\n(tY
.rr o\\n(tY
.rm t\\n(tY
.rr v\\n(tY
.nr tY \\n(tY-1
..
.nr w1 0
.nr o1 0
.nr h1 0
.ds t1
.nr v1 0
.nr tY 1
.de Xr
.if \\n(aC==0 \{\
.	ie \\n(.$==0 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Xr
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.	ie \\n(C\\n(aP==1 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c)
.	el \{\
.		ie \\n(C\\n(aP>2 .y\\n(C\\n(aP
.		el \{\
.			as b1 \&\\*(xR\\*(A\\n(aP\fP\s0
.			if \\n(aC>\\n(aP \{\
.				nr aP \\n(aP+1
.				if \\n(C\\n(aP==2 \{\
.					as b1 \&(\\*(A\\n(aP)
.					nr aP \\n(aP+1
.				\}
.				if \\n(aC>=\\n(aP \{\
.					c\\n(C\\n(aP
.				\}
.			\}
.		\}
.		aZ
.       \}
.\}
..
.de Sx
.if \\n(aC==0 \{\
.	ie \\n(.$==0 .tm Sx Usage: .Sx Section Header \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Sx
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.	as b1 \\*(sX
.	nr cF \\n(.f
.	nr cZ \\n(.s
.	nR
.\}
..
.de cC
'in \\n(.iu-\\n(o\\n(lCu-\\n(w\\n(lCu
.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
.fi
.tZ
.nr lC \\n(lC-1
.tY
..
.de W1
.ta \w\\*(A1    u
.nr eW \w\\*(A1    u
'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W2
.ta \w\\*(A1    u +\w\\*(A2    u
.nr eW \w\\*(A1    u+\w\\*(A2    u
'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W3
.ta \w\\*(A1    u +\w\\*(A2    u +\w\\*(A3    u
.nr eW \w\\*(A1    u+\w\\*(A2    u+\w\\*(A3    u
'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W4
.ta \w\\*(A1    u +\w\\*(A2    u +\w\\*(A3    u +\w\\*(A4    u
.nr eW \w\\*(A1    u+\w\\*(A2    u +\w\\*(A3    u +\w\\*(A4    u
'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W5
.ta \w\\*(A1   u +\w\\*(A2   u +\w\\*(A3   u +\w\\*(A4   u +\w\\*(A5   u
.nr eW \w\\*(A1   u +\w\\*(A2   u +\w\\*(A3   u +\w\\*(A4   u +\w\\*(A5   u
'	in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W6
.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u +\w\\*(A6
.nr eW \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u +\w\\*(A6
'	in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de cL
.if \\n(w\\n(lC==0 .nr w\\n(lC \\n(eWu
.if \\n(.u==0 \{\
.	fi
'	in \\n(.iu+\\n(eWu
.\}
.ti -\\n(eWu
.fV
.nr aP \\n(aP+1
.ie \\n(aC>=\\n(aP  \{\
.	if "\\*(A\\n(aP"Ta" \{\
.		nr jJ \\n(aP-1
.		rm S\\n(jJ
.		rr jJ
.	\}
.	c\\n(C\\n(aP
.\}
.el .tm Usage: .It column_string [Ta [column_string ...] ] (#\\n(.c)
..
.de Ta
.ie \\n(aC>0 \{\
.	nr aP \\n(aP+1
.	ie \\n(aC>=\\n(aP \{\
.		if "\\*(A\\n(aP"Ta" \{\
.			nr jJ \\n(aP-1
.			rm S\\n(jJ
.			rr jJ
.		\}
.		as b1 \\t
.		c\\n(C\\n(aP
.	\}
.	el \{\
.		as b1 \\t\\c
.		rm S\\n(aP
.		pB
.		aY
.	\}
.\}
.el \{\
.	tm Usage: Ta must follow column entry: e.g. (#\\n(.c)
.	tm .It column_string [Ta [column_string ...] ]
.\}
..
.de Dl
'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
.in \\n(.iu+\\n(Dsu
.ie \\n(aC==0 \{\
.	ie \\n(.$==0 \{\
.		tm Usage: .Dl argument ... (#\\n(.c)
.	\}
.	el \{\
.		ds mN Dl
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.		Li
.	\}
.\}
.el \{\
.	tm Usage: .Dl not callable by other macros (#\\n(.c)
.\}
.in \\n(.iu-\\n(Dsu
..
.de D1
'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
.in \\n(.iu+\\n(Dsu
.ie \\n(aC==0 \{\
.	ie \\n(.$==0 \{\
.		tm Usage: .D1 argument ... (#\\n(.c)
.	\}
.	el \{\
.		ds mN D1
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.		nr aP \\n(aP+1
.		ie \\n(C\\n(aP==1 .\\*(A\\n(aP
.		el .No
.	\}
.\}
.el \{\
.	tm Usage: .D1 not callable by other macros (#\\n(.c)
.\}
.in \\n(.iu-\\n(Dsu
..
.de Ex
.tm Ex defunct, Use .D1: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Ex
.tm Ex defunct, Use .D1: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Vt
.if \\n(fD>0 \{\
.	Pp
.	nr fD 0
.\}
.if \\n(fZ>0 \{\
.	ie \\n(fX==0 \{\
.		Pp
.		rs
.	\}
.	el .br
.\}
.nr fX \\n(fX+1
.nr cF \\n(.f
.nr cZ \\n(.s
\\*(fT\&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.ie \\n(oT==0 .br
.el \&\ \&
.ft \\n(cF
.fs \\n(cZ
..
.nr fZ 0
.de Ft
.if \\n(nS>0 \{\
.	if \\n(fZ>0 \{\
.		Pp
.		nr fD 0
.		nr fX 0
.	\}
.	if \\n(fD>0 \{\
.		Pp
.		nr fD 0
.		nr fX 0
.	\}
.	if \\n(fX>0 \{\
.		Pp
.		nr fX 0
.	\}
.	nr fY 1
.\}
.nr cF \\n(.f
.nr cZ \\n(.s
\&\\*(fT\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.ft \\n(cF
.fs \\n(cZ
..
.nr oT 0
.de Ot
.nr oT 1
.if \\n(nS>0 \{\
.	if \\n(fZ>0 \{\
.		Pp
.		nr fD 0
.		nr fX 0
.	\}
.	if \\n(fD>0 \{\
.		Pp
.		nr fD 0
.		nr fX 0
.	\}
.	if \\n(fX>0 \{\
.		Pp
.		nr fX 0
.	\}
.	nr fY 1
.\}
.if \\n(.$==4 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3 \\$4
.if \\n(.$==3 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3
.if \\n(.$==2 .as b1 \&\\*(fT\&\\$1 \\$2
.if \\n(.$==1 .as b1 \&\\*(fT\&\\$1
.as b1 \&\ \fP
..
.de Fa
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .Fa Function Arguments ... \\*(Pu (#\\n(.c)
.       el \{\
.		ds mN Fa
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.ie \\n(fC>0 \{\
.	fC
.\}
.el \{\
.	if \\n(aC>\\n(aP \{\
.		as b1 \\*(fA
.		nr aP \\n(aP+1
.		nr cF \\n(.f
.		nr cZ \\n(.s
.		nR
.		if \\n(nS>0 \{\
.			if \\n(fZ>0 .br
.		\}
.	\}
.\}
..
.de fC
.ie \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.		ds Fb
.		nr fB 0
.		nr Fb 0
.		fB \\*(A\\n(aP
.		if \\n(fB>1 \{\
.			rm A\\n(aP
.			rn Fb A\\n(aP
.		\}
.	if \\n(fC>1 \{\
.		as b1 \&\f\\n(cF\s\\n(cZ\|,\\*(fA\\*(S\\n(aP\\*(A\\n(aP\fP\s0
.	\}
.	if \\n(fC==1 \{\
.		as b1 \&\|\\*(fA\\*(A\\n(aP\fP\s0
.	\}
.	nr fC \\n(fC+1
.	fC
.\}
.el  \{\
.	aY
.\}
..
.de Fn
.if \\n(aC==0 \{\
.	ie \\n(.$==0 .tm Usage: .Fn function_name function_arg(s) ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN Fn
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(nS>0 \{\
.	if \\n(fY==0 \{\
.		if \\n(fZ>0 \{\
.			Pp
.			nr fX 0
.			nr fD 0
.		\}
.	\}
.	if \\n(fY==1 \{\
.		br
.		nr fX 0
.		nr fD 0
.		nr fY 0
.	\}
.	if \\n(fD>0 \{\
.		Pp
.		nr fX 0
.	\}
.	if \\n(fX>0 \{\
.		Pp
.		nr fD 0
.	\}
.	nr fZ \\n(fZ+1
.	nr fY 0
.	rs
.	ie \\n(nS>1 .br
.	el \{\
.		if \\n(iS==0 \{\
.			nr iS ((8)*\\n(fW)u
.		\}
.	\}
.	in +\\n(iSu
.	ti -\\n(iSu
.	nr nS \\n(nS+1
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.	nr cF \\n(.f
.	nr cZ \\n(.s
.	as b1 \\*(fN\\*(A\\n(aP\fP\s0\\*(lp
.	ie \\n(aC>\\n(aP \{\
.		as b1 \\*(fA
.		nr aP \\n(aP+1
.		f\\n(C\\n(aP
.	\}
.	el \{\
.		ie \\n(nS>0 .as b1 \|\\*(rp\fR;\fP
.		el .as b1 \|\\*(rp
.		aZ
.	\}
.	if \\n(nS>0 \{\
. 		in -\\n(iSu
.	\}
.\}
..
.de f1
.ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ
.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ
.\\*(A\\n(aP
..
.de f2
.if \\n(nS>0 \{\
.	ds Fb
.	nr fB 0
.	nr Fb 0
.	fB \\*(A\\n(aP
.	if \\n(fB>1 \{\
.		rm A\\n(aP
.		rn Fb A\\n(aP
.	\}
.\}
.as b1 \\*(A\\n(aP
.ie \\n(aC>\\n(aP \{\
.	nr aa \\n(aP
.	nr aP \\n(aP+1
.	if \\n(C\\n(aP==2 \{\
.		as b1 \&\|\f\\n(cF\s\\n(cZ,\\*(S\\n(aa\fP\s0\|
.	\}
.	f\\n(C\\n(aP
.\}
.el  \{\
.	ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ
.	el .as b1 \\*(rp\f\\n(cF\s\\n(cZ
.	aZ
.\}
..
.de f3
.ie \\n(nS>0 .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(A\\n(aP
.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(A\\n(aP
.ie \\n(aC>\\n(aP \{\
.	No
.\}
.el .aZ
..
.de f4
.ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ\\*(S\\n(aP\\*(A\\n(aP
.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(S\\n(aP\\*(A\\n(aP
.ie \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.	No
.\}
.el .aZ
..
.de Fo
.hy 0
.if \\n(aC==0 \{\
.	ie \\n(.$==0 .tm Usage: .Fo function_name
.	el \{\
.		ds mN Fo
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(nS>0 \{\
.	if \\n(fY==0 \{\
.		if \\n(fZ>0 \{\
.			Pp
.			nr fX 0
.			nr fD 0
.		\}
.	\}
.	if \\n(fY==1 \{\
.		br
.		nr fX 0
.		nr fD 0
.		nr fY 0
.	\}
.	if \\n(fD>0 \{\
.		Pp
.		nr fX 0
.	\}
.	if \\n(fX>0 \{\
.		Pp
.		nr fD 0
.	\}
.	nr fZ \\n(fZ+1
.	nr fY 0
.	rs
.	ie \\n(nS>1 .br
.	el \{\
.		if \\n(iS==0 \{\
.			nr iS ((8)*\\n(fW)u
.		\}
.	\}
.	in +\\n(iSu
.	ti -\\n(iSu
.	nr nS \\n(nS+1
.\}
.if \\n(aC>\\n(aP \{\
.	nr oM \\n(oM+1
.	nr fC 1
.	nr aP \\n(aP+1
.	nr cF \\n(.f
.	nr cZ \\n(.s
.	as b1 \\*(fN\\*(A\\n(aP\fP\s0\\*(lp
.	aY
.\}
..
.de Fc
.if \\n(aC==0 \{\
.	if \\n(.$>0 \{\
.		ds mN Fo
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.nr fC 0
.nr oM \\n(oM-1
.ie \\n(nS>0 .as b1 \|\\*(rp\fR;\fP
.el .as b1 \|\\*(rp
.ie \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.	\\*(A\\n(aP
.\}
.el \{\
.	aZ
.\}
.if \\n(nS>0 \{\
.	in -\\n(iSu
.\}
.hy
..
.de fB
.if \\n(fB==0 \{\
.	nr fB \\n(.$
.	nr Fb 0
.	ds Fb
.\}
.nr Fb \\n(Fb+1
.as Fb \&\\$1
.if \\n(Fb<\\n(fB \{\
.	as Fb \&\\*(hV
.	fB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.\}
..
.de Rs
.nr rS 1
.rC
.if \\n(nA==1 .Pp
.nr Kl 0
..
.de Re
.rZ
.rC
.nr rS 0
..
.de rC
.nr uK 0
.nr jK 0
.nr iK 0
.nr nK 0
.nr oK 0
.nr qK 0
.nr rK 0
.nr tK 0
.nr vK 0
.nr dK 0
.nr pK 0
.nr bK 0
.ds rS
.rm U1 U2 U3 U4 U5 U6 U7 U8
.rm uK jK iK nK oK rK qK tK vK dK pK bK
..
.de rZ
.if \\n(uK \{\&\\*(U1,
.	nr aK 1
.	if (\\n(uK>1 \{\
.		aK
.	\}
.	nr Kl -\\n(uK
.\}
.if \\n(tK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \{\
.		ie (\\n(jK==1):(\\n(bK==1) \{\&\\*q\\*(tK\\*q.
.		\}
.		el \{\&\\*(eM\\*(tK\\*(nO.
.		\}
.	\}
.	if \\n(Kl>0 \{\
.		ie (\\n(jK==1):(\\n(bK==1) \{\&\\*q\\*(tK\\*q,
.		\}
.		el \{\&\\*(eM\\*(tK\\*(nO,
.		\}
.	\}
.\}
.if \\n(bK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(eM\\*(bK\\*(nO.
.	if \\n(Kl>0 \&\\*(eM\\*(bK\\*(nO,
.\}
.if \\n(iK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(eM\\*(iK\\*(nO.
.	if \\n(Kl>0 \&\\*(eM\\*(iK\\*(nO,
.\}
.if \\n(jK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(eM\\*(jK\\*(nO.
.	if \\n(Kl>0 \&\\*(eM\\*(jK\\*(nO,
.\}
.if \\n(rK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(rK.
.	if \\n(Kl>0 \&\\*(rK,
.\}
.if \\n(nK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(nK.
.	if \\n(Kl>0 \&\\*(nK,
.\}
.if \\n(vK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(vK.
.	if \\n(Kl>0 \&\\*(vK,
.\}
.if \\n(pK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(pK.
.	if \\n(Kl>0 \&\\*(pK,
.\}
.if \\n(qK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(qK.
.	if \\n(Kl>0 \&\\*(qK,
.\}
.if \\n(dK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(dK.
.	if \\n(Kl>0 \&\\*(dK,
.\}
.if \\n(oK \{\
.	nr Kl \\n(Kl-1
.	if \\n(Kl==0 \&\\*(oK.
.	if \\n(Kl>0 \&\\*(oK,
.\}
.if \\n(Kl>0 .tm unresolved reference problem
..
.de aK
.nr aK \\n(aK+1
.ie (\\n(uK-\\n(aK)==0 \{\&and \\*(U\\n(aK,
.\}
.el \{\&\\*(U\\n(aK,
.	aK
.\}
..
.de %A
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%A Author_name (#\\n(.c)
.	el \{\
.		nr uK \\n(uK+1
.		nr Kl \\n(Kl+1
.		ds rS U\\n(uK
.		ds mN %A
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de %B
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%B Book Name (#\\n(.c)
.       el \{\
.		ds mN %B
.		if \\n(rS>0 \{\
.			nr bK \\n(bK+1
.			nr Kl \\n(Kl+1
.			ds rS bK
.		\}
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.	ie \\n(rS==0 \{\
.		as b1 \&\\*(eM
.		nR
.	\}
.	el .rR
.\}
..
.de %D
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%D Date (#\\n(.c)
.       el \{\
.		ds mN %D
.		nr dK \\n(dK+1
.		nr Kl \\n(Kl+1
.		ds rS dK
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de %I
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%I Issuer/Publisher Name (#\\n(.c)
.       el \{\
.		ds mN %I
.		nr iK \\n(iK+1
.		ds rS iK
.		nr Kl \\n(Kl+1
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de %J
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%J Journal Name (#\\n(.c)
.       el \{\
.		ds mN %J
.		nr jK \\n(jK+1
.		ds rS jK
.		nr Kl \\n(Kl+1
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de %N
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%N issue number (#\\n(.c)
.	el \{\
.		nr nK \\n(nK+1
.		nr Kl \\n(Kl+1
.		ds rS nK
.		ds mN %N
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de %O
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%O optional information ... \\*(Pu (#\\n(.c)
.       el \{\
.		ds mN %O
.		nr oK \\n(oK+1
.		nr Kl \\n(Kl+1
.		ds rS oK
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de %P
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%P page numbers ... \\*(Pu (#\\n(.c)
.       el \{\
.		ds mN %P
.		nr pK \\n(pK+1
.		nr Kl \\n(Kl+1
.		ds rS pK
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de %Q
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%Q Corporate or Foreign Author (#\\n(.c)
.       el \{\
.		ds mN %Q
.		nr qK \\n(qK+1
.		nr Kl \\n(Kl+1
.		ds rS qK
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de %R
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%R reference report (#\\n(.c)
.       el \{\
.		ds mN %R
.		nr rK \\n(rK+1
.		nr Kl \\n(Kl+1
.		ds rS rK
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de %T
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%T (#\\n(.c)
.       el \{\
.		ds mN %T
.		if \\n(rS>0 \{\
.			nr tK \\n(tK+1
.			nr Kl \\n(Kl+1
.			ds rS tK
.		\}
.               ds A1 \\$1
.               ds A2 \\$2
.               ds A3 \\$3
.               ds A4 \\$4
.               ds A5 \\$5
.               ds A6 \\$6
.               ds A7 \\$7
.               ds A8 \\$8
.               ds A9 \\$9
.		nr fV \\n(.$
.		fV
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.		nr aP \\n(aP+1
.		nr cF \\n(.f
.		nr cZ \\n(.s
.		ie \\n(rS==0 \{\
.			as b1 \&\\*(eM
.			nR
.		\}
.		el .rR
.\}
..
.de %V
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .%V Volume , ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN %V
.		nr vK \\n(vK+1
.		nr Kl \\n(Kl+1
.		ds rS vK
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       rR
.\}
..
.de rR
.hy 0
.nr jM \\n(C\\n(aP
.ie \\n(jM==1 \{\
.	ie "\\*(A\\n(aP"Tn" \{\
.		nN
.	\}
.	el \{\
.		if \\n(aC>8 .tm Usage: \\*(mN - maximum 8 arguments (#\\n(.c)
.		aI rR 1
.		\\*(A\\n(aP
.	\}
.\}
.el \{\
.	nr jN \\n(aP
.	ie \\n(jM==2 .as b1 \&\\*(A\\n(aP
.	el .as b1 \&\\*(A\\n(aP
.	ie \\n(aC==\\n(aP \{\
.		rD
.	\}
.	el \{\
.		nr aP \\n(aP+1
.		as b1 \&\\*(S\\n(jN
.		rR
.	\}
.\}
.rr jM jN
..
.de rD
.as \\*(rS \\*(b1
.ds b1
.ds rS
.aY
..
.de Hf
.Pp
File:
.Pa \\$1
.Pp
.nr cF \\n(.f
.nr cZ \\n(.s
.ie t \{\
\&\\*(lI
.br
.ta +9n 18n 27n 36n 45n 54n 63n 72n
.\}
.el \{\
.ta +8n 16n 24n 32n 40n 48n 56n 64n 72n
.\}
.nf
.so  \\$1
.fi
.ft \\n(cF
.fz \\n(cZ
.Pp
..
.nr aN 0
.de An
.if \\n(nY==1 \{\
.	ie \\n(aN==1 \{\
.		br
.	\}
.	el \{\
.		nr aN 1
.	\}
.\}
.if \\n(aC==0 \{\
.       ie \\n(.$==0 .tm Usage: .An author_name ... \\*(Pu (#\\n(.c)
.	el \{\
.		ds mN An
.		aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.	\}
.\}
.if \\n(aC>\\n(aP \{\
.	nr aP \\n(aP+1
.       nr cF \\n(.f
.	nr cZ \\n(.s
.       nR
.\}
..
.de Sf
.tm .Sf defunct, use prefix or Ns
..
.ds rV "function returns the value 0 if successful; otherwise the value -1 is returned and the global variable \\*(vAerrno\fP is set to indicate the error.
.de Rv
.ie \\n(.$==0 \{\
.tm Usage: .Rv [-std] (#\\n(.c)
.\}
.el \{\
.	ds mN Rv
.	if "\\$1"-std" \{\
.	nr cH \\*(cH
.	if (\\n(cH<2):(\\n(cH>3) .tm Usage: .Rv -std sections 2 and 3 only
.		br
\&The
.Fn \\$2
\&\\*(rV
.	\}
.\}
..