###################################################
##                                               ##
##  WARNING: THIS FILE IS THE OUTPUT OF THE      ##
##           `EASE' PRECOMPILER FOR SENDMAIL     ##
##           CONFIGURATION FILES.                ##
##                                               ##
##           MAKE MODIFICATIONS TO THE SOURCE    ##
##           FILE ONLY.  CHANGES MADE DIRECTLY   ##
##           TO THIS FILE WILL DISAPPEAR THE     ##
##           NEXT TIME THAT EASE IS RUN.         ##
##                                               ##
###################################################
# # 1 ""
# /******************************************************/
# /* This ease file generated by cfc from a sendmail.cf */
# /* file. It must be edited by hand before being fed   */
# /* to ease!                                           */
# /******************************************************/
# 
# bind
# 	/* RULESET BINDINGS GO HERE (cfc) */
# 	BASE_RW			= ruleset 0;
# 	SENDER_PREWRITE         = ruleset 1;
# 	RECIPIENT_PREWRITE      = ruleset 2;
# 	NAME_CANON              = ruleset 3;
# 	FINAL_POSTWRITE         = ruleset 4;
# 	TO_OLDSTYLE             = ruleset 5;
# 	LOCAL_RW		= ruleset 6;
# 	RULESET_8		= ruleset 8;
# 	ERRORS                  = ruleset 10;
# 	ETHER                   = ruleset 11;
# 	OLD_STYLE_1             = ruleset 13;
# 	UUCP_SPECIAL_1          = ruleset 14;
# 	RULESET_20		= ruleset 20;
# 	ARPANET                 = ruleset 21;
# 	OLD_STYLE_2             = ruleset 23;
# 	UUCP_SPECIAL_2          = ruleset 24;
# 	DOMAINS                 = ruleset 27;
# 	NOOP                    = ruleset 28;
# 
# /* Modified for Domain style names. 05/26/85 by Jeffrey I. Schiller */
# /* Actually, most of this file is stolen directly from eddie's, in order */
# /* to handle uucp addresses. -- AMBAR 5/19/87 */
# /* Hacked in Cw line to allow mail to be sent to beacon.mit.edu -- SRZ 9/13/87 */
# /* ############################################################ */
# 
# /* SENDMAIL CONFIGURATION FILE */
# 
# /* @(#)athena.mc	2.0		4/19/84 */
# 
# /* ############################################################ */
# 
# /*
#  * local info
#  */
# class
# # 46 ""
# 
# 	m_sitename = { BLOOM-BEACON, BEACON };	/* Names that this machine 
CwBLOOM-BEACON BEACON
# 							is also known as */
# 
# /* Temporary bogus "domains" which should not go outside this machine */
# 	bogus_domains = { UUX, TCP, UUCPS };
CAUUX TCP UUCPS
# 	chaoshosts = readclass("/usr/lib/chaoshosts");
FB/usr/lib/chaoshosts
# 
# macro
# 	D = "MIT.EDU";		/* #domain names */
DCMIT.EDU
# 	E = "decvax!decwrl!rhea";	/* Magic ENET pathway */
DDdecvax!decwrl!rhea
# 	m_oname = "${m_sitename}";	/* #official name */
Dj$w
# 	U = "bloombeacon";		/* UUCP name */
DEbloombeacon
# 	version = "4.7";
DF4.7
# 
# /*
#  * General configuration information
#  * This information is basically just "boiler-plate"; it must be 
#  * there, but is essentially constant.
#  * 
#  *  Information in this file should be independent of location --
#  * i.e., although there are some policy decisions made, they are 
#  * not specific to Berkeley per se.
#  * 
#  * @(#)base.m4	4.3		8/30/83
#  *
#  */
# 
# /*
#  * Special macros
#  */
# 
# 	m_daemon = "MAILER-DAEMON";		/* my name */
DnMAILER-DAEMON
# 	m_ufrom = "From ${m_sreladdr}  ${m_udate}"; /* UNIX header format */
DlFrom $g  $d
# 	m_addrops = ".:%@!^=/[]";	/* delimiter (operator) characters */
Do.:%@!^=/[]
# 
# 	/* format of a total name */
# 	m_defaddr = "${m_sreladdr}ifset (m_sname,  (${m_sname}))";
Dq$gifset (m_sname,  ($x))
# 
# 	/* SMTP login message */
# 	m_smtp = "${m_oname} Sendmail ${m_version}/${version} ready to play at ${m_adate}";
De$j Sendmail $v/$F ready to play at $b
# 
# # 91 ""
# 
# /* 
#  * Options
#  */
# 
# options
# 	o_alias = "/usr/lib/aliases";	/* location of alias file */
OA/usr/lib/aliases
# 	o_delivery = d_background;	/* default delivery mode */
Odb
# 
# # 104 ""
# 
# 	o_tmode = "0644";		/* temporary file mode */
OF0644
# 	o_gid = "1";			/* default GID */
Og1
# 	o_fsmtp = "/usr/lib/sendmail.hf";	/* location of help file */
OH/usr/lib/sendmail.hf
# 	o_slog = "9";			/* log level */
OL9
# 	o_hformat = "";			/* default messages to old style */
Oo
# 	o_qdir = "/usr/spool/mqueue";	/* queue directory */
OQ/usr/spool/mqueue
# 	o_tread = "2h";			/* read timeout -- violates 
Or2h
# 					 * protocols */
# 
# 	o_flog = "/usr/lib/sendmail.st";/* status file */
OS/usr/lib/sendmail.st
# 	o_safe = "";			/* queue up everything before 
Os
# 					 * starting transmission */
# 
# 	o_qtimeout = "3d";		/* default timeout interval */
OT3d
# 	o_timezone = "EST,EDT";		/* time zone names (V6 only) */
OtEST,EDT
# 	o_dmuid = "1";			/* default UID */
Ou1
# 	o_wizpass = "rhWkkcsB2TH1c";	/* wizard's password */
OWrhWkkcsB2TH1c
# 
# /* 
#  * Message precedences
#  */
# precedence
# 	first-class = 0;
Pfirst-class=0
# 	special-delivery = 100;
Pspecial-delivery=100
# 	junk = -100;
Pjunk=-100
# 
# /*
#  * Trusted users
#  */
# trusted
# 	{ root, daemon, uucp, network };
Troot daemon uucp network
# 
# /*
#  * Format of headers
#  */
# header
# 	for (f_return) {
# 		define ("Return-Path:", "<${m_sreladdr}>");
H?P?Return-Path: <$g>
# 	};
# 
# 	define ("Received:",
# 		ifset (m_shostname, "from ${m_shostname}")
# 		"by ${m_oname}"
# 		ifset (Q, "via ${Q}")
# 		ifset (m_protocol, "with ${m_protocol}")
# 		ifset (P, "with ${P}" )
# 		"with sendmail-${m_version}/${version} \
# id <${m_qid}@${m_oname}>; ${m_adate}");
HReceived: $?sfrom $s$.by $j$?Gvia $G$.$?rwith $r$.$?Hwith $H$.with sendmail-$v/$F 
	id <$i@$j>; $b
# 
# 	for (f_date) {
# 		define ("Resent-Date:", " ${m_odate}");
H?D?Resent-Date:  $a
# 		define ("Date:", "${m_odate}");
H?D?Date: $a
# 	};
# 
# 	for (f_from) {
# 		define ("Resent-From:", "${m_defaddr}");
H?F?Resent-From: $q
# 		define ("From:", "${m_defaddr}");
H?F?From: $q
# 	};
# 
# 	for (f_full) {
# 		define ("Full-Name:", " ${m_sname}");
H?x?Full-Name:  $x
# 	};
# 
# 	define ("Subject:", "");
HSubject: 
# 
# # 177 ""
# 
# 	for (f_mesg) {
# 		define ("Resent-Message-Id:",
# 			"<${m_ctime}.${m_qid}@${m_oname}>");
H?M?Resent-Message-Id: <$t.$i@$j>
# 		define ("Message-Id:",
# 			"<${m_ctime}.${m_qid}@${m_oname}>");
H?M?Message-Id: <$t.$i@$j>
# 	};
# 
# /* 
#  * Rewriting rules
#  */
# 
# /* These are sample field definitons (cfc) */
# 
# field
# 	zero_or_more : match (0*);
# 	one_or_more : match (1*);
# 	exactly_one : match (1);
# 
# 	bogus_domain : match (1) in bogus_domains;
# 	any_in_R : match (1) in R;
# 
# 	anypath                 : match (0*);
# 	path, usr, hostpath,
# 	domain                  : match (1*);
# 	this_host               : match (1) in m_sitename;
# 	hostname, username	: match (1);
# 	chaoshost		: match (1) in chaoshosts;
# 
# /* ################################ */
# /* #  Sender Field Pre-rewriting  # */
# /* ################################ */
# ruleset
# 	SENDER_PREWRITE {
S1
# # 217 ""
# 
# 	}
# 
# /* ################################### */
# /* #  Recipient Field Pre-rewriting  # */
# /* ################################### */
# 
# ruleset
# 	RECIPIENT_PREWRITE {
S2
# # 229 ""
# 
# 	}
# 
# /* ################################# */
# /* #  Final Output Post-rewriting  # */
# /* ################################# */
# 
# ruleset
# 	FINAL_POSTWRITE {
S4
# 
# 	if (@)	
# 		return ();			/* handle <> error addr */
R@	$@
# 	if ( anypath < path > anypath )	
# 		retry ($1$2$3);			/* defocus */
R$*<$+>$*	$1$2$3
# 
# /* Remove internal uucp syntax marker */
# 	if ( usr @ hostpath ."UUCPS" anypath )	
# 		retry ($2!$1$3);		/* u@h.UUCPS => h!u */
R$+@$+.UUCPS$*	$2!$1$3
# 
# /* Remove bogus routing "domains" */
# 	if ( usr @ hostpath . bogus_domain anypath )
# 		retry ($1@$2$4);
R$+@$+.$=A$*	$1@$2$4
# 
# /* delete duplicate local names -- mostly for arpaproto.mc */
# 	if ( anypath @ this_host .$D: hostpath @ this_host .$D)	
# 		retry ($1$3@$m_oname);		/* @ucb:u@ucb => u@ucb */
R$*@$=w.$C:$+@$=w.$C	$1$3@$j
# 	if ( usr % this_host @ this_host )	
# 		retry ($1@$m_oname);		/* u%UCB@UCB => u@UCB */
R$+%$=w@$=w	$1@$j
# 	if ( usr % this_host @ this_host .$D)	
# 		retry ($1@$m_oname);		/* u%UCB@UCB => u@UCB */
R$+%$=w@$=w.$C	$1@$j
# 	if ( usr % this_host .$D@ this_host .$D)	
# 		retry ($1@$m_oname);		/* u%UCB@UCB => u@UCB */
R$+%$=w.$C@$=w.$C	$1@$j
# 	if ( this_host ! usr @ this_host .$D)	
# 		retry ($2@$m_oname);		/* ucb!u@ucb => u@ucb */
R$=w!$+@$=w.$C	$2@$j
# 
# # 267 ""
# 
# 	if (@ hostpath : hostpath : hostpath )	
# 		return (@$1,$2:$3);		/* <route-addr> canonical */
R@$+:$+:$+	$@@$1,$2:$3
# 	}
# 
# /* ########################### */
# /* #  Name Canonicalization  # */
# /* ########################### */
# 
# ruleset
# 	NAME_CANON {
S3
# 
# /* handle "from:<>" special case */
# 	if (<>)	/* turn into magic token */
# 		return (@);
R<>	$@@
# 
# /* basic textual canonicalization */
# 	if ( anypath < path > anypath )	/* basic RFC821/822 parsing */
# 		retry ($2);
R$*<$+>$*	$2
# 	if ( usr " at " path )	/* "at" -> "@" for RFC 822 */
# 		retry ($1@$2);
R$+ at $+	$1@$2
# 	if ( anypath < anypath > anypath )	/* in case recursive */
# 		retry ($1$2$3);
R$*<$*>$*	$1$2$3
# 
# /* make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later */
# 	if (@ path , usr )	/* change all "," to ":" */
# 		retry (@$1:$2);
R@$+,$+	@$1:$2
# 
# /* localize and dispose of domain-based addresses */
# 	if (@ path : usr )	/* handle <route-addr> */
# 		return (LOCAL_RW (<@$1>:$2));
R@$+:$+	$@$>6 <@$1>:$2
# 
# /* more miscellaneous cleanup */
# 	if ( path )	/* host dependent cleanup */
# 		next (RULESET_8 ($1));
R$+	$:$>8 $1
# 	if ( path : anypath ;@ domain )	/* list syntax */
# 		return ($1:$2;@$3);
R$+:$*;@$+	$@$1:$2;@$3
# 	if ( usr @ domain )	/* focus on domain */
# 		next ($1<@$2>);
R$+@$+	$:$1<@$2>
# # 311 ""
# 
# 	if ( path < path @ domain >)	/* move gaze right */
# 		next ($1$2<@$3>);
R$+<$+@$+>	$:$1$2<@$3>
# 	if ( usr <@ hostpath >)	/* already canonical */
# 		return (LOCAL_RW ($1<@$2>));
R$+<@$+>	$@$>6 $1<@$2>
# 
# /* convert old-style addresses to a domain-based address */
# 	if ( usr % hostname )			/* user%hosta%hostb */
# 		return (LOCAL_RW ($1<@$2>));
R$+%$-	$@$>6 $1<@$2>
# 	if ( usr % hostname )		/* user%host */
# 		return (LOCAL_RW ($1<@$2>));
R$+%$-	$@$>6 $1<@$2>
# 	if ( hostname : usr )			/* host:user */
# 		return (LOCAL_RW ($2<@$1>));
R$-:$+	$@$>6 $2<@$1>
# # 327 ""
# 
# 	if ( hostname ^ usr )		/* convert ^ to ! */
# 		retry ($1!$2);
R$-^$+	$1!$2
# 	if ( one_or_more ! exactly_one . one_or_more ! one_or_more )
# 		next ($2.$3!$4);		/* prefer domain to route */
R$+!$-.$+!$+	$:$2.$3!$4
# 	if ( domain .! hostpath )	/* domain.!host */
# 		return (LOCAL_RW ($2<@$1>));
R$+.!$+	$@$>6 $2<@$1>
# 	if ( hostname ! usr )			/* adjacent uucp names */
# 		return (LOCAL_RW ($2<@$1."UUCPS">));
R$-!$+	$@$>6 $2<@$1.UUCPS>
# 	if ( domain ! hostpath )	/* domain!host */
# 		return (LOCAL_RW ($2<@$1>));
R$+!$+	$@$>6 $2<@$1>
# 	if ( hostname = usr )			/* resolve bitnet names */
# 		return (LOCAL_RW ($2<@$1."BITNET">));
R$-=$+	$@$>6 $2<@$1.BITNET>
# 	}
# 
# /* ############################################################ */
# /* ############################################################ */
# /* ##### */
# /* #####		RULESET ZERO PREAMBLE */
# /* ##### */
# /* #####	The beginning of ruleset zero is constant through all */
# /* #####	configurations. */
# /* ##### */
# /* #####		@(#)zerobase.m4	4.1		7/25/83 */
# /* ##### */
# /* ############################################################ */
# /* ############################################################ */
# 
# ruleset
# 	BASE_RW {
S0
# 
# /* first make canonical */
# 	if ( anypath < anypath > anypath )
# 		retry ($1$2$3);			/* defocus */
R$*<$*>$*	$1$2$3
# 	if ( path )
# 		next (NAME_CANON ($1));		/* make canonical */
R$+	$:$>3 $1
# 
# /* handle special cases..... */
# 	if (@)	
# 		resolve (mailer (local),
# 			 user("MAILER-DAEMON"));	/* handle <> form */
R@	$#local$:MAILER-DAEMON
# 	if ( anypath <@[ path ]> anypath )	
# 		resolve (mailer (tcp),
# 				host ([$2]),
# 				user ($1@[$2]$3)); /* numeric internet spec */
R$*<@[$+]>$*	$#tcp$@[$2]$:$1@[$2]$3
# 
# /* now delete the local info */
# 	if ( anypath < anypath  this_host ."LOCAL"> anypath )
# 		retry ($1<$2>$4);		/* thishost.LOCAL */
R$*<$*$=w.LOCAL>$*	$1<$2>$4
# 	if ( anypath < anypath  this_host ."ARPA"> anypath )
# 		retry ($1<$2>$4);		/* thishost.parentdomain */
R$*<$*$=w.ARPA>$*	$1<$2>$4
# 	if ( anypath < anypath  this_host ."UUCPS"> anypath )
# 		retry ($1<$2>$4);		/* thishost.parentdomain */
R$*<$*$=w.UUCPS>$*	$1<$2>$4
# 	if ( anypath < anypath  this_host ."Athena"> anypath )
# 		retry ($1<$2>$4);
R$*<$*$=w.Athena>$*	$1<$2>$4
# 	if ( anypath < anypath  this_host ."MIT"."EDU"> anypath )
# 		retry ($1<$2>$4);		/* thishost */
R$*<$*$=w.MIT.EDU>$*	$1<$2>$4
# 	if ( anypath < anypath  this_host .$D> anypath )
# 		retry ($1<$2>$4);		/* thishost.parentdomain */
R$*<$*$=w.$C>$*	$1<$2>$4
# 	if ( anypath < anypath  this_host > anypath )
# 		retry ($1<$2>$4);		/* thishost */
R$*<$*$=w>$*	$1<$2>$4
# 	if ( anypath < anypath .> anypath )
# 		retry ($1<$2>$3);		/* drop trailing dot */
R$*<$*.>$*	$1<$2>$3
# 	if (<@>: anypath )
# 		return (BASE_RW ($1));		/* retry after route strip */
R<@>:$*	$@$>0 $1
# 	if ( anypath <@>)
# 		return (BASE_RW ($1));		/* strip null trash & retry */
R$*<@>	$@$>0 $1
# 
# /* ################################## */
# /* #  End of ruleset zero preamble  # */
# /* ################################## */
# 
# /* ############################################### */
# /* ###  Machine dependent part of rulset zero  ### */
# /* ############################################### */
# 
# /* First Process local mail (for now, there are no "local" hosts). */
# 
# 	if ( anypath <@ anypath ."LOCAL"> anypath )
# 		resolve (mailer (ether),
# 				host ($2),
# 				user ("$1<@$2.LOCAL>$3"));
R$*<@$*.LOCAL>$*	$#ether$@$2$:$1<@$2.LOCAL>$3
# # 419 ""
# 
# /* Handle user-specified delivery: */
# 	if ( anypath <@ hostpath ."BITNET"> anypath )
# 		resolve (mailer (tcp),
# 				host (MITVMA.MIT.EDU),
# 				user ("$1<@$2.BITNET>$3"));
R$*<@$+.BITNET>$*	$#tcp$@MITVMA.MIT.EDU$:$1<@$2.BITNET>$3
# 	if ( anypath <@ hostpath ."MAILNET"> anypath )
# 		resolve (mailer (tcp),
# 				host (UMIX.CC.UMICH.EDU),
# 				user ("$1<@$2.MAILNET>$3"));
R$*<@$+.MAILNET>$*	$#tcp$@UMIX.CC.UMICH.EDU$:$1<@$2.MAILNET>$3
# 	if ( anypath <@ hostpath ."CSNET"> anypath )
# 		resolve (mailer (tcp),
# 				host (RELAY.CS.NET),
# 				user ("$1<@$2.CSNET>$3"));
R$*<@$+.CSNET>$*	$#tcp$@RELAY.CS.NET$:$1<@$2.CSNET>$3
# 	if ( anypath <@ hostpath ."TCP"> anypath )
# 		resolve (mailer (tcp),
# 				host ($2),
# 				user ("$1<@$2>$3"));
R$*<@$+.TCP>$*	$#tcp$@$2$:$1<@$2>$3
# 	if ( anypath <@ hostpath ."UUX"> anypath )
# 		resolve (mailer (uucp),
# 				host ($2),
# 				user ("$1$3"));
R$*<@$+.UUX>$*	$#uucp$@$2$:$1$3
# 	/* chaosnet */
# 	if ( hostpath <@ chaoshost >)
# 		resolve (mailer (tcp),
# 				host (MC.MIT.EDU),
# 				user ("$1%$2<@MIT-MC.ARPA>"));
R$+<@$=B>	$#tcp$@MC.MIT.EDU$:$1%$2<@MIT-MC.ARPA>
# 	/* resolve names that go into the DEC ENET */
# 	if ( anypath <@ hostpath ."ENET">)
# 		retry ($E!$2!$1);
R$*<@$+.ENET>	$D!$2!$1
# 
# # 457 ""
# 
# 	/* special case ...!nondomain must be uucp */
# 	if ( anypath <@ hostname ."UUCPS"> anypath )
# 		resolve (mailer (uucp),
# 				host ($2),
# 				user ("$1$3"));
R$*<@$-.UUCPS>$*	$#uucp$@$2$:$1$3
# 
# /* The following should be rewritten when MX-record versions of  */
# /* sendmail exist. */
# 
# /* Now,to see if a host is UUCP or TCP, we use a gross hack: */
# /* a.b.c. resolves to a.b.c if a.b.c is a valid TCP host */
# /* Note that this is doomed to failure if the canonicalization */
# /* returns a "soft" failure.  To reduce the chance that we'll get  */
# /* screwed by flakey name servers, we try twice. */
# /* Sendmail SHOULD just drop the message back into the queue if  */
# /* it gets a soft NS failure on the expand. */
# 
# /* A better way would be to use a version of sendmail which understands */
# /* MX mail forwarding records. */
# 
# 	if ( anypath <@ hostpath > anypath )	/* canonicalize */
# 		next ($1<@canon ($2)>$3);
R$*<@$+>$*	$:$1<@$[$2$]>$3
# 	if ( anypath <@ hostpath > anypath )	/* check with . */
# 		next ($1<@canon ($2.)>$3);
R$*<@$+>$*	$:$1<@$[$2.$]>$3
# 
# /* let's see if it resolved (Kludge alert!) */
# 	if ( anypath <@ hostpath .> anypath )	/* Nope, try it again... */
# 		next ($1<@canon ($2.)>$3);
R$*<@$+.>$*	$:$1<@$[$2.$]>$3
# 
# /* Now we are fairly confident (well, sort of) */
# 	if ( anypath <@ hostpath .> anypath )	/* Nope, assume UUCP */
# 		resolve (mailer (uucp),
# 				host ($2),
# 				user ("$1$3"));
R$*<@$+.>$*	$#uucp$@$2$:$1$3
# 	if ( anypath <@ hostpath > anypath )	/* It resolved, use tcp */
# 		resolve (mailer (tcp),
# 				host ($2),
# 				user ("$1<@$2>$3"));
R$*<@$+>$*	$#tcp$@$2$:$1<@$2>$3
# 
# 	if ( username )
# 		resolve (mailer (local),
# 				user ("$1"));
R$-	$#local$:$1
# 
# /* everything else must be a local name */
# 
# 	if ( usr )	/* local names */
# 		resolve (mailer (local),
# 				user ("$1"));
R$+	$#local$:$1
# 	}
# 
# /* ############################################################ */
# /* ############################################################ */
# /* ##### */
# /* #####		Local and Program Mailer specification */
# /* ##### */
# /* #####		@(#)localm.m4	4.1		7/25/83 */
# /* ##### */
# /* ############################################################ */
# /* ############################################################ */
# 
# mailer
# 	local {
# 		Path = "/bin/mail",
# 		Flags = { f_rfrom, f_locm, f_strip, f_date, f_from,
# 				  f_mesg, f_mult, f_noufrom },
# 		Sender = ERRORS,
# 		Recipient = RULESET_20,
# 		Argv = "mail -d ${m_ruser}"
# 	};
Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
# mailer
# 	prog {
# 		Path = "/bin/sh",
# 		Flags = { f_locm, f_strip, f_date, f_from,
# 				  f_mesg, f_expensive },
# 		Sender = ERRORS,
# 		Recipient = RULESET_20,
# 		Argv = "sh -c ${m_ruser}"
# 	};
Mprog, P=/bin/sh, F=lsDFMe, S=10, R=20, A=sh -c $u
# 
# ruleset
# 	ERRORS {
S10
# 	if (@)	
# 		retry ("MAILER"-"DAEMON");	/* errors to mailer-daemon */
R@	MAILER-DAEMON
# 	}
# 
# /* ############################################################ */
# /* ############################################################ */
# /* ##### */
# /* #####		UUCP Mailer specification */
# /* ##### */
# /* #####		@(#)uucpm.m4	4.2		8/30/83 */
# /* ##### */
# /* ############################################################ */
# /* ############################################################ */
# 
# /* ##################################################### */
# /* #  General code to convert back to old style names  # */
# /* ##################################################### */
# 
# ruleset
# 	TO_OLDSTYLE {
S5
# 
# 	if ( usr <@ hostname ."UUCP">)
# 		retry ($2!$1);		/* u@host.UUCP => host!u */
R$+<@$-.UUCP>	$2!$1
# 	if ( usr @ hostpath ."ARPA")	
# 		retry ($1@$2);		/* u@host.ARPA => u@host */
R$+@$+.ARPA	$1@$2
# 
# 	}
# 
# mailer
# 	uucp {
# 		Path = "/bin/smail",
# 		Flags = { f_strip, f_date, f_from, f_mesg,
# 				  f_upperh, f_upperu, f_mult },
# 		Sender = UUCP_SPECIAL_1,
# 		Recipient = UUCP_SPECIAL_2,
# 		Maxsize = "100000",
# 		Argv = "smail -r -vH${m_oname} ${m_rhost}!${m_ruser}"
# 	};
Muucp, P=/bin/smail, F=sDFMhum, S=14, R=24, M=100000, A=smail -r -vH$j $h!$u
# 
# ruleset
# 	UUCP_SPECIAL_1 {
S14
# /* Remove internal uucp syntax marker */
# 	if ( usr <@ hostname ."UUCPS"> anypath )	
# 		retry ($2!$1$3);		/* u@h.UUCPS => h!u */
R$+<@$-.UUCPS>$*	$2!$1$3
# 
# 	if ( anypath <@ chaoshost > anypath )
# 		return (<@$m_oname:$1@$2>$3);
R$*<@$=B>$*	$@<@$j:$1@$2>$3
# 	if ( anypath <@ chaoshost . domain > anypath )
# 		return (<@$m_oname:$1@$2.$3>$4);
R$*<@$=B.$+>$*	$@<@$j:$1@$2.$3>$4
# 	if ( anypath <@ hostpath > anypath )	/* already ok */
# 		return ($1<@$2>$3);
R$*<@$+>$*	$@$1<@$2>$3
# 	if ( hostpath )	/* tack on our full address */
# 		return ($1<@$m_oname>);
R$+	$@$1<@$j>
# 
# 	}
# ruleset
# 	UUCP_SPECIAL_2 {
S24
# 	/* Remove internal uucp syntax marker */
# 	if ( usr <@ hostname ."UUCPS"> anypath )
# 		retry ($2!$1$3);		/* u@h.UUCPS => h!u */
R$+<@$-.UUCPS>$*	$2!$1$3
# 
# # 607 ""
# 
# 	}
# ruleset
# 	OLD_STYLE_1 {
S13
# 	if ( hostpath )	
# 		next (TO_OLDSTYLE ($1));	/* convert to old style */
R$+	$:$>5 $1
# 	if ( this_host ! hostpath )	
# 		retry ($2);		/* strip local name */
R$=w!$+	$2
# 	if ( anypath <@ hostname > anypath )	
# 		retry ($1<@$2."ARPA">$3);	/* resolve abbreviations */
R$*<@$->$*	$1<@$2.ARPA>$3
# 	if ( hostpath )	
# 		next ("mit"-"eddie"!$1);	/* stick on our host name */
R$+	$:mit-eddie!$1
# 	if ( this_host ! any_in_R : one_or_more )	
# 		next ($1!$3);		/* ucbvax!ucbvax:xxx */
R$=w!$=I:$+	$:$1!$3
# 
# 	}
# ruleset
# 	OLD_STYLE_2 {
S23
# 	if ( hostpath )	
# 		next (TO_OLDSTYLE ($1));	/* convert to old style */
R$+	$:$>5 $1
# 	if ( anypath <@ hostname > anypath )	
# 		retry ($1<@$2."ARPA">$3);	/* resolve abbreviations */
R$*<@$->$*	$1<@$2.ARPA>$3
# 	}
# 
# /* ############################################################ */
# /* ############################################################ */
# /* ##### */
# /* #####		Ethernet Mailer specification */
# /* ##### */
# /* #####		@(#)etherm.m4	4.1		7/25/83 */
# /* ##### */
# /* ############################################################ */
# /* ############################################################ */
# 
# mailer
# 	ether {
# 		Path = "[IPC]",
# 		Flags = { f_mult, f_strip, f_date, f_from, f_mesg,
# 				  f_upperu, f_expensive, f_addrw, f_dot },
# 		Sender = ETHER,
# 		Recipient = ARPANET,
# 		Argv = "IPC ${m_rhost}"
# 	};
Mether, P=[IPC], F=msDFMueCX, S=11, R=21, A=IPC $h
# 
# ruleset
# 	ETHER {
S11
# 	if ( anypath <@ hostpath > anypath )	
# 		return ($1<@$2>$3);		/* already ok */
R$*<@$+>$*	$@$1<@$2>$3
# 	if ( hostname )	
# 		return ($1<@$m_sitename>);	/* tack on our hostname */
R$-	$@$1<@$w>
# 	}
# 
# ruleset
# 	ARPANET {
S21
# 	}
# 
# /* ############################################################ */
# /* ############################################################ */
# /* ##### */
# /* #####		Arpanet TCP Mailer specification */
# /* ##### */
# /* #####		@(#)tcpm.m4	4.1		7/25/83 */
# /* ##### */
# /* ############################################################ */
# /* ############################################################ */
# 
# mailer
# 	tcp {
# 		Path = "[IPC]",
# 		Flags = { f_mult, f_strip, f_date, f_from, f_mesg,
# 				  f_upperu, f_expensive, f_dot, f_llimit },
# 		Sender = DOMAINS,
# 		Recipient = NOOP,
# 		Argv = "IPC ${m_rhost}",
# 		Eol = "\r\n"
# 	};
Mtcp, P=[IPC], F=msDFMueXL, S=27, R=28, A=IPC $h, E=\r\n
# 
# ruleset
# 	DOMAINS {
S27
# /* UUCP --> path@domain */
# 	if ( anypath <@ hostname ."UUCPS"> anypath )
# 		return ($2!$1<@$m_oname>$3);
R$*<@$-.UUCPS>$*	$@$2!$1<@$j>$3
# /* Local user --> (user@domain) */
# 	if ( username )
# 		return ($1@$m_oname);
R$-	$@$1@$j
# /* Non domain specified names assumed to be on our parent domain */
# 	if ( anypath <@ hostname > anypath )
# 		return ($1<@$2.$D>$3);
R$*<@$->$*	$@$1<@$2.$C>$3
# /* Domain named machines are unchanged. */
# 	if ( anypath <@ hostname > anypath )
# 		return ($1<@$2>$3);
R$*<@$->$*	$@$1<@$2>$3
# /* Give us as the path for any other address. */
# 	if ( anypath < anypath > anypath )
# 		retry ($1$2$3);
R$*<$*>$*	$1$2$3
# 	if ( hostname )
# 		return (<@$m_oname:$1>);
R$-	$@<@$j:$1>
# 
# 	}
# ruleset
# 	NOOP {
S28
# 	if ( one_or_more )	/* Noop rule */
# 		return ($1);
R$+	$@$1
# 	}
# 