Annotation of 43BSDReno/share/ms/tmac.os, revision 1.1

1.1     ! root        1: .\"    @(#)tmac.os     1.3 (Berkeley) 6/2/90
        !             2: .ds // /usr/share/tmac/
        !             3: .nr TN 0
        !             4: .\"    RT -  reset everything to normal state
        !             5: .de RT
        !             6: .if !\\n(1T .BG
        !             7: .if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
        !             8: .ce 0
        !             9: .ul 0
        !            10: .if \\n(NX<=1 .if \\n(AJ=0 .ll \\n(LLu
        !            11: .if \\n(IF=0 \{\
        !            12: .      ps \\n(PS
        !            13: .      if \\n(VS>=40 .vs \\n(VSu
        !            14: .      if \\n(VS<=39 .vs \\n(VSp\}
        !            15: .if \\n(IP .in -\\n(I\\n(IRu
        !            16: .if \\n(IP=0 .nr I0 \\n(PIu
        !            17: .if \\n(IP .nr IP -1
        !            18: .if \\n(QP \{\
        !            19: .      ll +\\n(QIu
        !            20: .      in -\\n(QIu
        !            21: .      nr QP -1\}
        !            22: .ft 1
        !            23: .bd 1
        !            24: .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
        !            25: .fi
        !            26: ..
        !            27: .      \"IZ - initialization
        !            28: .de IZ
        !            29: .if \\n(FM=0 .nr FM 1i
        !            30: .nr YY -\\n(FMu
        !            31: .nr XX 0 1
        !            32: .nr IP 0
        !            33: .nr PI 5n
        !            34: .nr QI 5n
        !            35: .nr I0 \\n(PIu
        !            36: .nr PS 10
        !            37: .nr VS 12
        !            38: .if !\\n(PD .if n .nr PD 1v
        !            39: .if !\\n(PD .if t .nr PD 0.3v
        !            40: .nr ML 3v
        !            41: .ps \\n(PS
        !            42: .if \\n(VS>40 .vs \\n(VSu
        !            43: .if \\n(VS<=39 .vs \\n(VSp
        !            44: .nr IR 0
        !            45: .nr TB 0
        !            46: .nr SJ \\n(.j
        !            47: .nr LL 6i
        !            48: .ll \\n(LLu
        !            49: .nr LT \\n(.l
        !            50: .lt \\n(LTu
        !            51: .ev 1
        !            52: .nr FL \\n(LLu*11u/12u
        !            53: .ll \\n(FLu
        !            54: .ps 8
        !            55: .vs 10p
        !            56: .ev
        !            57: .if \\*(CH .ds CH "\(hy \\\\n(PN \(hy
        !            58: .if n .ds CF "\\*(DY
        !            59: .wh 0 NP
        !            60: .wh -\\n(FMu FO
        !            61: .ch FO 16i
        !            62: .wh -\\n(FMu FX
        !            63: .ch FO -\\n(FMu
        !            64: .wh -\\n(FMu/2u BT
        !            65: ..
        !            66: .de TM
        !            67: .if \\n(IM=0 .if \\n(MN=0 .pn 0
        !            68: .so \*(//tmac.scover
        !            69: .if \\n(IM=0 .if \\n(MN=0 .rm IM
        !            70: .if \\n(IM=0 .if \\n(MN=0 .rm MF
        !            71: .if \\n(IM=0 .if \\n(MN=0 .rm MR
        !            72: .if \\n(.T=0 .pi /usr/bin/col
        !            73: .nr ST 1
        !            74: .ds QF MEMORANDUM FOR FILE
        !            75: .br
        !            76: .ds MN \\$1
        !            77: .if !"\\$1"" .nr MM 1
        !            78: .if !"\\$2"" .nr MC 1
        !            79: .if !"\\$3"" .nr MG 1
        !            80: .nr TN 1
        !            81: .if \\n(.$-1 .ds CA \\$2
        !            82: .if \\n(.$-2 .ds CC \\$3
        !            83: .rm RP
        !            84: .rm S0
        !            85: .rm S2
        !            86: .rm AX
        !            87: ..
        !            88: .              \" IM - internal memorandum
        !            89: .de IM
        !            90: .nr IM 1
        !            91: .TM "\\$1" "\\$2" "\\$3"
        !            92: .rm QF
        !            93: .RA
        !            94: .rm RA
        !            95: .rm RP
        !            96: .rm MF
        !            97: .rm MR
        !            98: ..
        !            99: .              \" MF - memorandum for file.
        !           100: .de MF
        !           101: .nr MN 1
        !           102: .TM "\\$1" "\\$2" "\\$3"
        !           103: .rm MR
        !           104: .rm IM
        !           105: .RA
        !           106: .rm RA
        !           107: .rm RP
        !           108: .rm TM
        !           109: ..
        !           110: .              \" MR - memo for record
        !           111: .de MR
        !           112: .nr MN 2
        !           113: .TM "\\$1" "\\$2" "\\$3"
        !           114: .ds QF MEMORANDUM FOR RECORD
        !           115: .rm MF
        !           116: .RA
        !           117: .rm RA
        !           118: .rm RP
        !           119: .rm IM
        !           120: .rm TM
        !           121: ..
        !           122: .de EG
        !           123: .nr MN 3
        !           124: .TM "\\$1" "\\$2" "\\$3"
        !           125: .ds QF ENGINEER'S NOTES
        !           126: .rm MF
        !           127: .rm RP
        !           128: .rm IM
        !           129: .RA
        !           130: .rm RA
        !           131: .rm TM
        !           132: ..
        !           133: .de OK
        !           134: .br
        !           135: .di
        !           136: .di OD
        !           137: ..
        !           138: .de RP
        !           139: .nr ST 2
        !           140: .pn 0
        !           141: .rm SG
        !           142: .rm CS
        !           143: .rm TM
        !           144: .rm QF
        !           145: .rm IM
        !           146: .rm MR
        !           147: .rm MF
        !           148: .rm EG
        !           149: .br
        !           150: ..
        !           151: .de TR \" Comp. Sci. Tech Rept series.
        !           152: .nr ST 3
        !           153: .pn 0
        !           154: .ds MN \\$1
        !           155: .rm SG
        !           156: .rm CS
        !           157: .rm TM
        !           158: .rm QF
        !           159: .rm IM
        !           160: .rm MR
        !           161: .rm MF
        !           162: .rm EG
        !           163: .br
        !           164: ..
        !           165: .      \"TL - title and initialization
        !           166: .de TL
        !           167: .br
        !           168: .nr TV 1
        !           169: .if \\n(IM>0 .rm CS
        !           170: .if \\n(MN>0 .rm CS
        !           171: .ME
        !           172: .rm ME
        !           173: .di WT
        !           174: .nr SJ \\n(.j
        !           175: .na
        !           176: .fi
        !           177: .ll 5.0i
        !           178: .if n .if \\n(TN .ll 30
        !           179: .if t .if \\n(TN .ll 3.5i
        !           180: .ft 3
        !           181: .ps 10
        !           182: .if !\\n(TN .ps 12
        !           183: .if !\\n(TN .rm CS
        !           184: .hy 0
        !           185: ..
        !           186: .de TX
        !           187: .rs
        !           188: .sp .5i
        !           189: .ce 1000
        !           190: .if n .ul 1000
        !           191: .ps 12
        !           192: .ft 3
        !           193: .vs 15p
        !           194: .ne 4
        !           195: .hy 0
        !           196: .WT
        !           197: .hy 14
        !           198: .ce 0
        !           199: .ul 0
        !           200: ..
        !           201: .      \"      AU - author(s)
        !           202: .de AU
        !           203: .nr AV 1
        !           204: .ad \\n(SJ
        !           205: .br
        !           206: .di
        !           207: .br
        !           208: .nf
        !           209: .nr NA +1
        !           210: .ds R\\n(NA \\$1
        !           211: .ds E\\n(NA \\$2
        !           212: .di A\\n(NA
        !           213: .ll \\n(LLu
        !           214: .if \\n(TN=0 .if t .ft 2
        !           215: .if \\n(TN=0 .if n .ft 1
        !           216: .if \\n(TN>0 .ft 3
        !           217: .if \\n(TN .if n .ll 16
        !           218: .if \\n(TN .if t .ll 1.4i
        !           219: .ps 10
        !           220: ..
        !           221: .de AX
        !           222: .ft 1
        !           223: .rs
        !           224: .ce 1000
        !           225: .if n .ul 0
        !           226: .ps 10
        !           227: .vs 12p
        !           228: .if n .sp 2
        !           229: .if t .sp
        !           230: .A1
        !           231: .if n .sp 
        !           232: .if t .sp 0.5
        !           233: .ns
        !           234: .I1
        !           235: .if \\n(NA-1 .if n .sp 2
        !           236: .if \\n(NA-1 .if t .sp
        !           237: .A2
        !           238: .if \\n(NA-1 .if n .sp
        !           239: .if \\n(NA-1 .if t .sp 0.5
        !           240: .ns
        !           241: .I2
        !           242: .if \\n(NA-2 .if t .sp
        !           243: .if \\n(NA-2 .if n .sp 2
        !           244: .A3
        !           245: .if \\n(NA-2 .if t .sp 0.5
        !           246: .if \\n(NA-2 .if n .sp
        !           247: .ns
        !           248: .I3
        !           249: .if \\n(NA-3 .if t .sp
        !           250: .if \\n(NA-3 .if n .sp 2
        !           251: .A4
        !           252: .if \\n(NA-3 .if t .sp 0.5
        !           253: .if \\n(NA-3 .if n .sp
        !           254: .ns
        !           255: .I4
        !           256: .if \\n(NA-4 .if t .sp
        !           257: .if \\n(NA-4 .if n .sp 2
        !           258: .A5
        !           259: .if \\n(NA-4 .if n .sp
        !           260: .if \\n(NA-4 .if t .sp 0.5
        !           261: .ns
        !           262: .I5
        !           263: .if \\n(NA-5 .if t .sp
        !           264: .if \\n(NA-5 .if n .sp 2
        !           265: .A6
        !           266: .if \\n(NA-5 .if n .sp
        !           267: .if \\n(NA-5 .if t .sp 0.5
        !           268: .ns
        !           269: .I6
        !           270: .if \\n(NA-6 .if t .sp
        !           271: .if \\n(NA-6 .if n .sp 2
        !           272: .A7
        !           273: .if \\n(NA-6 .if n .sp
        !           274: .if \\n(NA-6 .if t .sp 0.5
        !           275: .ns
        !           276: .I7
        !           277: .if \\n(NA-7 .if t .sp
        !           278: .if \\n(NA-7 .if n .sp 2
        !           279: .A8
        !           280: .if \\n(NA-7 .if n .sp
        !           281: .if \\n(NA-7 .if t .sp 0.5
        !           282: .ns
        !           283: .I8
        !           284: .if \\n(NA-8 .if t .sp
        !           285: .if \\n(NA-8 .if n .sp 2
        !           286: .A9
        !           287: .if \\n(NA-8 .if n .sp
        !           288: .if \\n(NA-8 .if t .sp 0.5
        !           289: .ns
        !           290: .I9
        !           291: ..
        !           292: .      \"AI - authors institution
        !           293: .de AI
        !           294: .br
        !           295: .ft 1
        !           296: .di
        !           297: .di I\\n(NA
        !           298: .nf
        !           299: ..
        !           300: .      \"AB - begin an abstract
        !           301: .de AB
        !           302: .br
        !           303: .di
        !           304: .ul 0
        !           305: .ce 0
        !           306: .nr 1T 1
        !           307: .nr IK 1
        !           308: .nr KI 1
        !           309: .di WB
        !           310: .rs
        !           311: .nr AJ 1
        !           312: .ce 1
        !           313: .ft 2
        !           314: .if n .ul
        !           315: .ll \\n(LLu
        !           316: .if \\n(.$=0 ABSTRACT
        !           317: .if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no"  \\$1
        !           318: .if \\n(.$=0 .sp
        !           319: .if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no" .sp
        !           320: .hy 14
        !           321: .ul 0
        !           322: .ce 0
        !           323: .fi
        !           324: .ft 1
        !           325: .nr OJ \\n(.i
        !           326: .in +\\n(.lu/12u
        !           327: .ll -\\n(.lu/12u
        !           328: .br
        !           329: .ps \\n(PS
        !           330: .if \\n(VS>40 .vs \\n(VSu
        !           331: .if \\n(VS<=39 .vs \\n(VSp
        !           332: .ti +\\n(PIu
        !           333: ..
        !           334: .      \"AE - end of an abstract
        !           335: .de AE
        !           336: .br
        !           337: .di
        !           338: .ll \\n(LLu
        !           339: .ps \\n(PS
        !           340: .if \\n(VS>40 .vs \\n(VSu
        !           341: .if \\n(VS<=39 .vs \\n(VSp
        !           342: .nr 1T 0
        !           343: .nr IK 0
        !           344: .in \\n(OJu
        !           345: .nr AJ 0
        !           346: .di
        !           347: .ce 0
        !           348: .if \\n(ST=2 .SY
        !           349: .if \\n(ST<3 .rm SY
        !           350: ..
        !           351: .      \"S2 - release paper style
        !           352: .      \"SY - cover sheet of released paper
        !           353: .de SY
        !           354: .ll \\n(LLu
        !           355: .ns
        !           356: .if \\n(TV .TX
        !           357: .if \\n(AV .AX
        !           358: .rs
        !           359: .ce 0
        !           360: .nf
        !           361: .sp 3
        !           362: .ls 1
        !           363: .WB
        !           364: .ls 
        !           365: .sp 3v
        !           366: \\*(DY
        !           367: .sp |9i
        !           368: .if \\n(FP>0 .FA
        !           369: .FG
        !           370: .if \\n(GA=1 .nr GA 2
        !           371: .fi
        !           372: ..
        !           373: .      \"S2 - first text page, released paper format
        !           374: .de S2
        !           375: .ce 0
        !           376: .br
        !           377: .SY
        !           378: .rm SY
        !           379: .bp 1
        !           380: .if \\n(TV .TX
        !           381: .if \\n(AV .AX
        !           382: .rs
        !           383: .ce 0
        !           384: .ft 1
        !           385: .ad \\n(SJ
        !           386: ..
        !           387: .      \"S0- mike lesk conserve paper style
        !           388: .de S0
        !           389: .ce 0
        !           390: .br
        !           391: .ll \\n(LLu
        !           392: .if \\n(TV+\\n(AV>0 .ns
        !           393: .if \\n(TV .TX
        !           394: .if \\n(AV .AX
        !           395: .if \\n(TV+\\n(AV>0 .rs
        !           396: .ce 0
        !           397: .if \\n(TV>0 .sp 2
        !           398: .ls 1
        !           399: .if \\n(FP>0 \{\
        !           400: .      FJ
        !           401: .      nf
        !           402: .      FG
        !           403: .      fi
        !           404: .      FK
        !           405: .      nr FP 0\}
        !           406: .nf
        !           407: .WB
        !           408: .ls
        !           409: .fi
        !           410: .ad \\n(SJ
        !           411: ..
        !           412: .      \"S3 - CSTR style
        !           413: .de S3
        !           414: .rs
        !           415: .sp |2.25i
        !           416: .ce 1000
        !           417: .I1
        !           418: .if \\n(NA>1 .sp .5
        !           419: .if \\n(NA>1 .I2
        !           420: .if \\n(NA>2 .sp .5
        !           421: .if \\n(NA>2 .I3
        !           422: .if \\n(NA>3 .sp .5
        !           423: .if \\n(NA>3 .I4
        !           424: .if \\n(NA>4 .sp .5
        !           425: .if \\n(NA>4 .I5
        !           426: .if \\n(NA>5 .sp .5
        !           427: .if \\n(NA>5 .I6
        !           428: .if \\n(NA>6 .sp .5
        !           429: .if \\n(NA>6 .I7
        !           430: .if \\n(NA>7 .sp .5
        !           431: .if \\n(NA>7 .I8
        !           432: .if \\n(NA>8 .sp .5
        !           433: .if \\n(NA>8 .I9
        !           434: .sp |4i
        !           435: .      \"check how long title is: can space extra .25 inch if short
        !           436: .di EZ
        !           437: .WT
        !           438: .di
        !           439: .if \\n(dn<1.5v .if \\n(NA=1 .sp .25i
        !           440: .ft 1
        !           441: Computing Science Technical Report No. \\*(MN
        !           442: .sp
        !           443: .if t .ft 3
        !           444: .if n .ul 100
        !           445: .ps 12
        !           446: .vs 15p
        !           447: .hy 0
        !           448: .WT
        !           449: .hy 14
        !           450: .ft 1
        !           451: .if n .ul 0
        !           452: .ps 10
        !           453: .vs 12p
        !           454: .sp
        !           455: .ft 1
        !           456: .A1
        !           457: .A2
        !           458: .A3
        !           459: .A4
        !           460: .A5
        !           461: .A6
        !           462: .A7
        !           463: .A8
        !           464: .A9
        !           465: .ce 0
        !           466: .sp |8.5i
        !           467: .ce 0
        !           468: \\*(DY
        !           469: .bp 0
        !           470: .ft 1
        !           471: .S2
        !           472: ..
        !           473: .      \"SG - signature
        !           474: .de SG
        !           475: .br
        !           476: .KS
        !           477: .in +2u*\\n(.lu/3u
        !           478: .sp 2
        !           479: .A1
        !           480: .if \\n(NA-1 .sp 2
        !           481: .A2
        !           482: .if \\n(NA-2 .sp 2
        !           483: .A3
        !           484: .if \\n(NA-3 .sp 2
        !           485: .A4
        !           486: .if \\n(NA-4 .sp 2
        !           487: .A5
        !           488: .if \\n(NA>5 .sp 2
        !           489: .A6
        !           490: .if \\n(NA>6 .sp 2
        !           491: .A7
        !           492: .if \\n(NA>7 .sp 2
        !           493: .A8
        !           494: .if \\n(NA>8 .sp 2
        !           495: .A9
        !           496: .in
        !           497: .nf
        !           498: .sp -1
        !           499: .if \\n(.$>=1 \\$1
        !           500: .if \\n(.$>=2 \\$2
        !           501: .if \\n(.$>=3 \\$3
        !           502: .if \\n(.$>=4 \\$4
        !           503: .if \\n(.$>=5 \\$5
        !           504: .if \\n(.$>=6 \\$6
        !           505: .if \\n(.$>=7 \\$7
        !           506: .if \\n(.$>=8 \\$8
        !           507: .if \\n(.$>=9 \\$9
        !           508: .fi
        !           509: .br
        !           510: .KE
        !           511: ..
        !           512: .      \"Tables.  TS - table start, TE - table end
        !           513: .de TS
        !           514: .br
        !           515: .if !\\n(1T .RT
        !           516: .ul 0
        !           517: .ti \\n(.iu
        !           518: .if t .sp 0.5
        !           519: .if n .sp
        !           520: .if \\$1H .TQ
        !           521: .nr IX 1
        !           522: ..
        !           523: .de TQ
        !           524: .di TT
        !           525: .nr IT 1
        !           526: ..
        !           527: .de TH
        !           528: .if \\n(.d>0.5v .nr T. 0
        !           529: .if \\n(.d>0.5v .T# 0
        !           530: .di
        !           531: .nr TQ \\n(.i
        !           532: .nr HT 1
        !           533: .in 0
        !           534: .TT
        !           535: .in \\n(TQu
        !           536: .mk #T
        !           537: ..
        !           538: .de TE
        !           539: .nr IX 0
        !           540: .if \\n(IT>0 .if \\n(HT=0 .di
        !           541: .if \\n(IT>0 .if \\n(HT=0 .nr EF \\n(.u
        !           542: .if \\n(IT>0 .if \\n(HT=0 .nf
        !           543: .if \\n(IT>0 .if \\n(HT=0 .TT
        !           544: .if \\n(IT>0 .if \\n(HT=0 .if \\n(EF>0 .fi
        !           545: .nr IT 0
        !           546: .nr HT 0
        !           547: .if n .sp 1
        !           548: .if t .sp 0.5
        !           549: .rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
        !           550: .rr 32 33 34 35 36 37 38 40 79 80 81 82
        !           551: .rr a| b| c| d| e| f| g| h| i| j| k| l| m|
        !           552: .rr a- b- c- d- e- f- g- h- i- j- k- l- m-
        !           553: ..
        !           554: .      \"DS - display.  If .DS C, center; L, left-adjust; I, indent.
        !           555: .de DS
        !           556: .XD
        !           557: .KS
        !           558: .nf
        !           559: .\\$1D \\$2 \\$1
        !           560: .ft 1
        !           561: .ps \\n(PS
        !           562: .if \\n(VS>40 .vs \\n(VSu
        !           563: .if \\n(VS<=39 .vs \\n(VSp
        !           564: ..
        !           565: .de D
        !           566: .ID \\$1
        !           567: ..
        !           568: .de CD
        !           569: .ce 1000
        !           570: ..
        !           571: .de ID
        !           572: .if t .in +0.5i
        !           573: .if n .in +8
        !           574: .if \\n(.$ .if !"\\$1"I" .in \\n(OIu
        !           575: .if \\n(.$ .if !"\\$1"I" .in +\\$1n
        !           576: ..
        !           577: .de LD
        !           578: ..
        !           579: .de XD
        !           580: .nf
        !           581: .nr OI \\n(.i
        !           582: .if t .sp 0.5
        !           583: .if n .sp 1
        !           584: ..
        !           585: .de BD \" block display: save everything, then center it.
        !           586: .nr BD 1
        !           587: .nf
        !           588: .di DD
        !           589: ..
        !           590: .      \"DE - display end
        !           591: .de DE
        !           592: .ce 0
        !           593: .if \\n(BD>0 .DF
        !           594: .nr BD 0
        !           595: .KE
        !           596: .in \\n(OIu
        !           597: .if t .sp 0.5
        !           598: .if n .sp 1
        !           599: .fi
        !           600: ..
        !           601: .de DF \" finish a block display to be recentered.
        !           602: .di
        !           603: .if \\n(dl>\\n(BD .nr BD \\n(dl
        !           604: .if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
        !           605: .nr EI \\n(.l-\\n(.i
        !           606: .ta \\n(EIuR
        !           607: .DD
        !           608: .in \\n(OIu
        !           609: ..
        !           610: .      \"KS keep - for keep release features. As in IFM
        !           611: .de KS
        !           612: .nr KN \\n(.u
        !           613: .if \\n(IK=0 .if \\n(IF=0 .KQ
        !           614: .nr IK +1
        !           615: ..
        !           616: .      \"KQ - real keep processor
        !           617: .de KQ
        !           618: .br
        !           619: .nr KI \\n(.i
        !           620: .ev 2
        !           621: .br
        !           622: .in \\n(KIu
        !           623: .ps \\n(PS
        !           624: .if \\n(VS>40 .vs \\n(VSu
        !           625: .if \\n(VS<=39 .vs \\n(VSp
        !           626: .ll \\n(LLu
        !           627: .lt \\n(LTu
        !           628: .if \\n(NX>1 .ll \\n(CWu
        !           629: .if \\n(NX>1 .lt \\n(CWu
        !           630: .di KK
        !           631: .nr TB 0
        !           632: ..
        !           633: .      \"KF - floating keep
        !           634: .de KF
        !           635: .nr KN \\n(.u
        !           636: .if !\\n(IK .FQ
        !           637: .nr IK +1
        !           638: ..
        !           639: .      \"FQ real floating keep processor
        !           640: .de FQ
        !           641: .nr KI \\n(.i
        !           642: .ev 2
        !           643: .br
        !           644: .in \\n(KIu
        !           645: .ps \\n(PS
        !           646: .if \\n(VS>40 .vs \\n(VSu
        !           647: .if \\n(VS<=39 .vs \\n(VSp
        !           648: .ll \\n(LLu
        !           649: .lt \\n(LTu
        !           650: .if \\n(NX>1 .ll \\n(CWu
        !           651: .if \\n(NX>1 .lt \\n(CWu
        !           652: .di KK
        !           653: .nr TB 1
        !           654: ..
        !           655: .      \"KE release - everything between keep and release is together
        !           656: .de KE
        !           657: .if \\n(IK .if !\\n(IK-1 .if \\n(IF=0 .RQ
        !           658: .if \\n(IK .nr IK -1
        !           659: ..
        !           660: .      \"RQ real release
        !           661: .de RQ
        !           662: .br
        !           663: .di
        !           664: .nr NF 0
        !           665: .if \\n(dn-\\n(.t .nr NF 1
        !           666: .if \\n(TC .nr NF 1
        !           667: .if \\n(NF .if !\\n(TB .sp 200
        !           668: .if !\\n(NF .if \\n(TB .nr TB 0
        !           669: .nf
        !           670: .rs
        !           671: .nr TC 5
        !           672: .in 0
        !           673: .ls 1
        !           674: .if \\n(TB=0 .ev
        !           675: .if \\n(TB=0 .br
        !           676: .if \\n(TB=0 .ev 2
        !           677: .if \\n(TB=0 .KK
        !           678: .ls
        !           679: .ce 0
        !           680: .if \\n(TB=0 .rm KK
        !           681: .if \\n(TB .da KJ
        !           682: .if \\n(TB \!.KD \\n(dn
        !           683: .if \\n(TB .KK
        !           684: .if \\n(TB .di
        !           685: .nr TC \\n(TB
        !           686: .if \\n(KN .fi
        !           687: .in
        !           688: .ev
        !           689: ..
        !           690: .de EQ  \"equation, breakout and display
        !           691: .nr EF \\n(.u
        !           692: .rm EE
        !           693: .nr LE 1       \" 1 is center
        !           694: .ds EL \\$1
        !           695: .if "\\$1"L" .ds EL \\$2
        !           696: .if "\\$1"L" .nr LE 0
        !           697: .if "\\$1"C" .ds EL \\$2
        !           698: .if "\\$1"I" .nr LE 0
        !           699: .if "\\$1"I" .ds EE \\h'|10n'
        !           700: .if "\\$1"I" .if !"\\$3"" .ds EE \\h'\\$3'
        !           701: .if "\\$1"I" .ds EL \\$2
        !           702: .if \\n(YE>0 .nf
        !           703: .di EZ
        !           704: ..
        !           705: .de EN  \" end of a displayed equation
        !           706: .br
        !           707: .di
        !           708: .rm EZ
        !           709: .nr ZN \\n(dn
        !           710: .if \\n(ZN>0 .if \\n(YE=0 .LP
        !           711: .if \\n(ZN=0 .if !"\\*(EL"" .nr ZN 1
        !           712: .if "\\n(.z"" .if \\n(ZN>0 .if !\\n(nl=\\n(PE .if t .sp .5
        !           713: .if "\\n(.z"" .if \\n(ZN>0 .if !\\n(nl=\\n(PE .if n .sp 1
        !           714: .if !"\\n(.z"" .if \\n(ZN>0 .if !\\n(.d=\\n(PE .if t .sp .5
        !           715: .if !"\\n(.z"" .if \\n(ZN>0 .if !\\n(.d=\\n(PE .if n .sp 1
        !           716: .pc
        !           717: .if \\n(BD>0 .nr LE 0 \" can't mean centering in this case.
        !           718: .if \\n(MK>0 .if \\n(LE=1 .ds EE \\h'|10n'
        !           719: .if \\n(MK>0 .nr LE 0 \" don't center if mark/lineup
        !           720: .lt \\n(.lu
        !           721: .if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
        !           722: .if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
        !           723: .if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
        !           724: .if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\*(10\\t\\*(EL
        !           725: .if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts
        !           726: .if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts
        !           727: .if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
        !           728: .if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10
        !           729: .\".di EZ \" GCOS patch
        !           730: .\"\\*(10 \" GCOS patch
        !           731: .\".br \" GCOS patch
        !           732: .\".di \" GCOS patch
        !           733: .\".rm EZ \" GCOS patch
        !           734: .lt \\n(LLu
        !           735: .pc %
        !           736: .if \\n(YE>0 .if \\n(EF>0 .fi
        !           737: .rm EL 10 11 12 13 14 15 16 17 18 19 20 21 22 23
        !           738: .rr 10 11 12 13 14 15 16 17 18 19 20 21 22 23
        !           739: .if \\n(ZN>0 .if t .sp .5
        !           740: .if \\n(ZN>0 .if n .sp
        !           741: .if "\\n(.z"" .nr PE \\n(nl
        !           742: .if !"\\n(.z"" .nr PE \\n(.d
        !           743: ..
        !           744: .de ME
        !           745: .nr SJ \\n(.j
        !           746: .if \\n(LL>0 .nr LT \\n(LL
        !           747: .nr YE 1
        !           748: .if \\n(PO=0 .nr PO \\n(.o
        !           749: ..
        !           750: .      \"EM end up macro - process left over keep-release
        !           751: .de EM
        !           752: .br
        !           753: .if \\n(TB=0 .if t .wh -1p CM
        !           754: .if \\n(TB \&\c
        !           755: .if \\n(TB 'bp
        !           756: .if \\n(TB .NP
        !           757: .if \\n(TB .ch CM 160
        !           758: ..
        !           759: .      \"NP new page
        !           760: .de NP
        !           761: .if \\n(FM+\\n(HM>=\\n(.p .tm Margins bigger than page length.
        !           762: .if \\n(FM+\\n(HM>=\\n(.p .ab
        !           763: .if \\n(FM+\\n(HM>=\\n(.p .ex
        !           764: .nr PX \\n(.s
        !           765: .nr PF \\n(.f
        !           766: .if t .CM
        !           767: .if \\n(HM=0 .nr HM 1i
        !           768: 'sp \\n(HMu/2u
        !           769: .lt \\n(LTu
        !           770: .ps \\n(PS
        !           771: .ft 1
        !           772: .if \\n(PO>0 .po \\n(POu
        !           773: .PT
        !           774: .ps \\n(PX
        !           775: .ft \\n(PF
        !           776: 'sp |\\n(HMu
        !           777: .nr XX 0 1
        !           778: .nr YY 0-\\n(FMu
        !           779: .ch FO 16i
        !           780: .ch FX 17i
        !           781: .ch FO -\\n(FMu
        !           782: .ch FX \\n(.pu-\\n(FMu
        !           783: .if \\n(MF .FV
        !           784: .nr MF 0
        !           785: .mk
        !           786: .os
        !           787: .ev 1
        !           788: .if \\n(TD=0 .if \\n(TC<5  .XK
        !           789: .nr TC 0
        !           790: .ns
        !           791: .ev
        !           792: .nr TQ \\n(.i
        !           793: .nr TK \\n(.u
        !           794: .if \\n(IT>0 \{\
        !           795: .      in 0
        !           796: .      nf
        !           797: .      TT
        !           798: .      in \\n(TQu
        !           799: .      if \\n(TK .fi\
        !           800: \}
        !           801: .mk #T
        !           802: .if t .if \\n(.o+\\n(LL>7.75i .tm Offset + line length exceeds 7.75 inches, too wide
        !           803: ..
        !           804: .de XK
        !           805: .nr TD 1
        !           806: .nf
        !           807: .ls 1
        !           808: .in 0
        !           809: .rn KJ KL
        !           810: .KL
        !           811: .rm KL
        !           812: .if "\\n(.z"KJ" .di
        !           813: .nr TB 0
        !           814: .if "\\n(.z"KJ" .nr TB 1
        !           815: .br
        !           816: .in
        !           817: .ls
        !           818: .fi
        !           819: .nr TD 0
        !           820: ..
        !           821: .de KD
        !           822: .nr KM 0
        !           823: .if "\\n(.z"KJ" .nr KM 1 \" KM is 1 if in a rediversion of keeps
        !           824: .if \\n(KM>0 \!.KD \\$1
        !           825: .if \\n(KM=0 .if \\n(.t<\\$1 .di KJ
        !           826: ..
        !           827: .de PT
        !           828: .lt \\n(LLu
        !           829: .pc %
        !           830: .nr PN \\n%
        !           831: .if \\n%-1 .tl '\\*(LH'\\*(CH'\\*(RH'
        !           832: .lt \\n(.lu
        !           833: ..
        !           834: .      \"FO - footer of page
        !           835: .de FO
        !           836: .rn FO FZ
        !           837: .if \\n(K1>0 .tm This memo has a multi-page cover sheet.  You are
        !           838: .if \\n(K1>0 .tm rebuked in the name of the Committee on Technical Memoranda.
        !           839: .if \\n(IT>0 .nr T. 1
        !           840: .if \\n(IT>0 .if \\n(FC=0  .T# 1
        !           841: .if \\n(IT>0 .br
        !           842: .nr FC +1
        !           843: .if \\n(NX<2 .nr WF 0
        !           844: .nr dn 0
        !           845: .if \\n(FC<=1 .if \\n(XX .XF
        !           846: .rn FZ FO
        !           847: .nr MF 0
        !           848: .if \\n(dn  .nr MF 1
        !           849: .if !\\n(WF .nr YY 0-\\n(FMu
        !           850: .if !\\n(WF .ch FO \\n(YYu
        !           851: .if !\\n(dn .nr WF 0
        !           852: .if \\n(FC<=1 .if \\n(XX=0  .if \\n(NX>1 .RC
        !           853: .if \\n(FC<=1 .if \\n(XX=0  .if \\n(NX<1 'bp
        !           854: .nr FC -1
        !           855: .if \\n(ML>0 .ne \\n(MLu
        !           856: ..
        !           857: .      \"2C - begin double column
        !           858: .de 2C
        !           859: .MC \" default MC is double column
        !           860: ..
        !           861: .de MC \" multiple columns- arg is line length
        !           862: .nr L1 \\n(LL*7/15
        !           863: .if \\n(.$>0 .nr L1 \\$1n
        !           864: .nr GW 0-1
        !           865: .if \\n(.$>1 .nr GW \\$1n
        !           866: .nr NQ \\n(LL/\\n(L1
        !           867: .if \\n(NQ<1 .nr NQ 1
        !           868: .if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
        !           869: .if \\n(1T=0 \{\
        !           870: .      BG
        !           871: .      if n .sp 4
        !           872: .      if t .sp 2\}
        !           873: .if \\n(NX=0 .nr NX 1
        !           874: .if !\\n(NX=\\n(NQ \{\
        !           875: .      RT
        !           876: .      if \\n(NX>1 .bp
        !           877: .      mk
        !           878: .      nr NC 1
        !           879: .      po \\n(POu\}
        !           880: .if \\n(NQ>1 .hy 12
        !           881: .nr NX \\n(NQ
        !           882: .nr CW \\n(L1
        !           883: .ll \\n(CWu
        !           884: .nr FL \\n(CWu*11u/12u
        !           885: .if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1)
        !           886: .nr RO \\n(CW+\\n(GW
        !           887: .ns
        !           888: ..
        !           889: .de RC
        !           890: .if \\n(NC>=\\n(NX .C2
        !           891: .if \\n(NC<\\n(NX .C1
        !           892: .nr NC \\n(ND
        !           893: ..
        !           894: .de C1
        !           895: .rt
        !           896: .po +\\n(ROu
        !           897: .nr ND \\n(NC+1
        !           898: .nr XX 0 1
        !           899: .if \\n(MF .FV
        !           900: .ch FX \\n(.pu-\\n(FMu
        !           901: .ev 1
        !           902: .if \\n(TB .XK
        !           903: .nr TC 0
        !           904: .ev
        !           905: .nr TQ \\n(.i
        !           906: .if \\n(IT>0 .in 0
        !           907: .if \\n(IT>0 .TT
        !           908: .if \\n(IT>0 .in \\n(TQu
        !           909: .mk #T
        !           910: .ns
        !           911: ..
        !           912: .ch FO \\n(YYu
        !           913: .de C2
        !           914: .po \\n(POu
        !           915: 'bp
        !           916: .nr ND 1
        !           917: ..
        !           918: .      \"1C - return to single column format
        !           919: .de 1C
        !           920: .MC \\n(LLu
        !           921: .hy 14
        !           922: ..
        !           923: .      \".de R3
        !           924: .      \".pl 102
        !           925: .      \".nr LT \\n(.l
        !           926: .      \"..
        !           927: .de MH
        !           928: Bell Laboratories
        !           929: Murray Hill, New Jersey 07974
        !           930: ..
        !           931: .de PY
        !           932: Bell Laboratories
        !           933: Piscataway, New Jersey 08854
        !           934: ..
        !           935: .de BT
        !           936: .nr PX \\n(.s
        !           937: .nr PF \\n(.f
        !           938: .ft 1
        !           939: .ps \\n(PS
        !           940: 'lt \\n(LTu
        !           941: .po \\n(POu
        !           942: .if \\n%>0 .tl '\\*(LF'\\*(CF'\\*(RF'
        !           943: .ft \\n(PF
        !           944: .ps \\n(PX
        !           945: ..
        !           946: .      \"PP - paragraph
        !           947: .de PP
        !           948: .RT
        !           949: .ne 1.1
        !           950: .if \\n(1T .sp \\n(PDu
        !           951: .ti +\\n(PIu
        !           952: ..
        !           953: .      \"SH - (unnumbered) section heading
        !           954: .de SH
        !           955: .ti \\n(.iu
        !           956: .RT
        !           957: .if \\n(1T .sp 1
        !           958: .if !\\n(1T .BG
        !           959: .RT
        !           960: .ne 4
        !           961: .ft 3
        !           962: .if n .ul 1000
        !           963: ..
        !           964: .      \"NH - numbered heading
        !           965: .de NH
        !           966: .RT
        !           967: .if \\n(1T .sp 1
        !           968: .if !\\n(1T .BG
        !           969: .RT
        !           970: .ne 4
        !           971: .ft 3
        !           972: .if n .ul 1000
        !           973: .nr NS \\$1
        !           974: .if !\\n(.$ .nr NS 1
        !           975: .if !\\n(NS .nr NS 1
        !           976: .nr H\\n(NS +1
        !           977: .if !\\n(NS-4 .nr H5 0
        !           978: .if !\\n(NS-3 .nr H4 0
        !           979: .if !\\n(NS-2 .nr H3 0
        !           980: .if !\\n(NS-1 .nr H2 0
        !           981: .if !\\$1 .if \\n(.$ .nr H1 1
        !           982: .ds SN \\n(H1.
        !           983: .ti \\n(.iu
        !           984: .if \\n(NS-1 .as SN \\n(H2.
        !           985: .if \\n(NS-2 .as SN \\n(H3.
        !           986: .if \\n(NS-3 .as SN \\n(H4.
        !           987: .if \\n(NS-4 .as SN \\n(H5.
        !           988: \\*(SN
        !           989: ..
        !           990: .      \"BG - begin, execute at first PP
        !           991: .de BG
        !           992: .br
        !           993: .ME
        !           994: .rm ME
        !           995: .di
        !           996: .ce 0
        !           997: .nr KI 0
        !           998: .hy 14
        !           999: .nr 1T 1
        !          1000: .S\\n(ST
        !          1001: .rm S0
        !          1002: .rm S1
        !          1003: .rm S2
        !          1004: .rm S3
        !          1005: .rm OD
        !          1006: .rm OK
        !          1007: .rm TX
        !          1008: .rm AX
        !          1009: .rm WT
        !          1010: .rm CS
        !          1011: .rm TM
        !          1012: .rm IM
        !          1013: .rm MF
        !          1014: .rm MR
        !          1015: .rm RP
        !          1016: .rm I1
        !          1017: .rm I2
        !          1018: .rm I3
        !          1019: .rm I4
        !          1020: .rm I5
        !          1021: .rm CB
        !          1022: .rm E1
        !          1023: .rm E2
        !          1024: .de TL
        !          1025: .ft 3
        !          1026: .sp
        !          1027: .if n .ul 100
        !          1028: .ce 100
        !          1029: .LG
        !          1030: \\..
        !          1031: .de AU
        !          1032: .ft 2
        !          1033: .if n .ul 0
        !          1034: .ce 100
        !          1035: .sp
        !          1036: .NL
        !          1037: \\..
        !          1038: .de AI
        !          1039: .ft 1
        !          1040: .ce 100
        !          1041: .if n .ul 0
        !          1042: .if n .sp
        !          1043: .if t .sp .5
        !          1044: .NL
        !          1045: \\..
        !          1046: .RA
        !          1047: .rm RA
        !          1048: .rn FJ FS
        !          1049: .rn FK FE
        !          1050: .nf
        !          1051: .ev 1
        !          1052: .ps \\n(PS-2
        !          1053: .vs \\n(.s+2p
        !          1054: .ev
        !          1055: .if \\n(KG=0 .nr FP 0 
        !          1056: .if \\n(GA>1 .if \\n(KG=0 .nr GA 0 \" next UNIX must be flagged.
        !          1057: .nr KG 0 
        !          1058: .if \\n(FP>0 .FS
        !          1059: .if \\n(FP>0 .FG
        !          1060: .if \\n(FP>0 .FE
        !          1061: .br
        !          1062: .if \\n(TV>0 .if n .sp 2
        !          1063: .if \\n(TV>0 .if t .sp 1
        !          1064: .fi
        !          1065: .ll \\n(LLu
        !          1066: ..
        !          1067: .de RA \"redefine abstract macros
        !          1068: .de AB
        !          1069: .br
        !          1070: .if !\\n(1T .BG
        !          1071: .ce 1
        !          1072: .sp 1
        !          1073: .if \\n(.$=0 ABSTRACT
        !          1074: .if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no"  \\$1
        !          1075: .if \\n(.$=0 .sp
        !          1076: .if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no" .sp
        !          1077: .sp 1
        !          1078: .nr AJ 1
        !          1079: .in +\\n(.lu/12u
        !          1080: .ll -\\n(.lu/12u
        !          1081: .RT
        !          1082: \\..
        !          1083: .de AE
        !          1084: .nr AJ 0
        !          1085: .br
        !          1086: .in 0
        !          1087: .ll \\n(LLu
        !          1088: .if \\n(VS>40 .vs \\n(VSu
        !          1089: .if \\n(VS<=39 .vs \\n(VSp
        !          1090: \\..
        !          1091: ..
        !          1092: .      \"IP - indented paragraph
        !          1093: .de IP
        !          1094: .RT
        !          1095: .if !\\n(IP .nr IP +1
        !          1096: .sp \\n(PDu
        !          1097: .ne 3v
        !          1098: .if \\n(.$-1 .nr I\\n(IR \\$2n
        !          1099: .in +\\n(I\\n(IRu
        !          1100: .nr TY \\n(TZ-\\n(.i
        !          1101: .ta \\n(I\\n(IRu \\n(TYuR
        !          1102: .if \\n(.$>0 \{\
        !          1103: .ti -\\n(I\\n(IRu
        !          1104: \&\\$1\t\c\}
        !          1105: ..
        !          1106: .      \"LP - left aligned (block) paragraph
        !          1107: .de LP
        !          1108: .ti \\n(.iu
        !          1109: .RT
        !          1110: .if \\n(1T .sp \\n(PDu
        !          1111: .ne 1.1
        !          1112: ..
        !          1113: .de QP
        !          1114: .ti \\n(.iu
        !          1115: .RT
        !          1116: .if \\n(1T .sp \\n(PDu
        !          1117: .ne 1.1
        !          1118: .nr QP 1
        !          1119: .in +\\n(QIu
        !          1120: .ll -\\n(QIu
        !          1121: .ti \\n(.iu
        !          1122: ..
        !          1123: .      \"IE - synonym for .LP
        !          1124: .de IE
        !          1125: .LP
        !          1126: ..
        !          1127: .      \"LB - label paragraph
        !          1128: .de LB
        !          1129: .in +\\n(I\\n(IRu
        !          1130: .ta \\n(I\\n(IRu
        !          1131: .if \\n(.$ .ti -\\n(I\\n(IRu
        !          1132: .if \\n(.$ \&\\$1\t\c
        !          1133: ..
        !          1134: .de XP
        !          1135: .RT
        !          1136: .if !\\n(IP .nr IP +1
        !          1137: .sp \\n(PDu
        !          1138: .ne 3
        !          1139: .if \\n(.$-2 .nr I\\n(IR \\$3n
        !          1140: .in +\\n(I\\n(IRu
        !          1141: .ta \\n(I\\n(IRu/2u \\n(I\\n(IRu
        !          1142: .ti -\\n(I\\n(IRu
        !          1143: \0\\$1\t\\$2\t\c
        !          1144: ..
        !          1145: .      \"RS - prepare for double indenting
        !          1146: .de RS
        !          1147: .nr IS \\n(IP
        !          1148: .RT
        !          1149: .nr IP \\n(IS
        !          1150: .if \\n(IP>0 .in +\\n(I\\n(IRu
        !          1151: .nr IR +1
        !          1152: .nr I\\n(IR \\n(PIu
        !          1153: .in +\\n(I\\n(IRu
        !          1154: .nr TY \\n(TZ-\\n(.i
        !          1155: .ta \\n(TYuR
        !          1156: ..
        !          1157: .      \"RE - retreat to the left
        !          1158: .de RE
        !          1159: .nr IS \\n(IP
        !          1160: .RT
        !          1161: .nr IP \\n(IS
        !          1162: .nr IR -1
        !          1163: .if \\n(IP<=0 .in -\\n(I\\n(IRu
        !          1164: ..
        !          1165: .de TC
        !          1166: .nr TZ \\n(.lu
        !          1167: .if \\n(.$ .nr TZ \\$1n
        !          1168: .ta \\n(TZuR
        !          1169: ..
        !          1170: .de TD
        !          1171: .LP
        !          1172: .nr TZ 0
        !          1173: ..
        !          1174: .      \"CM - cut mark
        !          1175: .de CM
        !          1176: .po 0
        !          1177: .lt 7.6i
        !          1178: .ft 1
        !          1179: .ps 10
        !          1180: .vs 4p
        !          1181: .tl '--''--'
        !          1182: .po
        !          1183: .vs
        !          1184: .lt
        !          1185: .ps
        !          1186: .ft
        !          1187: ..
        !          1188: .      \"B - bold font
        !          1189: .de B
        !          1190: .nr PQ \\n(.f
        !          1191: .if t .ft 3
        !          1192: .if "\\$1"" .if n .ul 1000
        !          1193: .if !"\\$1"" .if n .ul 1
        !          1194: .if t .if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
        !          1195: .if n .if \\n(.$=1 \&\\$1
        !          1196: .if n .if \\n(.$>1 \&\\$1\\c
        !          1197: .if n .if \\n(.$>1 \\&\\$2
        !          1198: ..
        !          1199: .      \"R - Roman font
        !          1200: .de R
        !          1201: .if n .ul 0
        !          1202: .ft 1
        !          1203: ..
        !          1204: .      \"I - italic font
        !          1205: .de I
        !          1206: .nr PQ \\n(.f
        !          1207: .if t .ft 2
        !          1208: .if "\\$1"" .if n .ul 1000
        !          1209: .if !"\\$1"" .if n .ul 1
        !          1210: .if t .if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
        !          1211: .if n .if \\n(.$=1 \&\\$1
        !          1212: .if n .if \\n(.$>1 \&\\$1\\c
        !          1213: .if n .if \\n(.$>1 \\&\\$2
        !          1214: ..
        !          1215: .      \"TA - tabs set in ens or chars
        !          1216: .de TA
        !          1217: .ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n
        !          1218: ..
        !          1219: .      \"SM - make smaller size
        !          1220: .de SM
        !          1221: .ps -2
        !          1222: ..
        !          1223: .      \"LG - make larger size
        !          1224: .de LG
        !          1225: .ps +2
        !          1226: ..
        !          1227: .      \"NL - return to normal size
        !          1228: .de NL
        !          1229: .ps \\n(PS
        !          1230: ..
        !          1231: .      \"DA - force date; ND - no date or new date.
        !          1232: .de DA
        !          1233: .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
        !          1234: .ds CF \\*(DY
        !          1235: ..
        !          1236: .de ND
        !          1237: .ds DY \\$1 \\$2 \\$3 \\$4
        !          1238: .rm CF
        !          1239: ..
        !          1240: .if \n(mo-0 .ds MO January
        !          1241: .if \n(mo-1 .ds MO February
        !          1242: .if \n(mo-2 .ds MO March
        !          1243: .if \n(mo-3 .ds MO April
        !          1244: .if \n(mo-4 .ds MO May
        !          1245: .if \n(mo-5 .ds MO June
        !          1246: .if \n(mo-6 .ds MO July
        !          1247: .if \n(mo-7 .ds MO August
        !          1248: .if \n(mo-8 .ds MO September
        !          1249: .if \n(mo-9 .ds MO October
        !          1250: .if \n(mo-10 .ds MO November
        !          1251: .if \n(mo-11 .ds MO December
        !          1252: .if \n(dw-0 .ds DW Sunday
        !          1253: .if \n(dw-1 .ds DW Monday
        !          1254: .if \n(dw-2 .ds DW Tuesday
        !          1255: .if \n(dw-3 .ds DW Wednesday
        !          1256: .if \n(dw-4 .ds DW Thursday
        !          1257: .if \n(dw-5 .ds DW Friday
        !          1258: .if \n(dw-6 .ds DW Saturday
        !          1259: .ds DY \*(MO \n(dy, 19\n(yr
        !          1260: .IZ
        !          1261: .rm IZ
        !          1262: .rm MO
        !          1263: .de FN
        !          1264: .FS
        !          1265: ..
        !          1266: .      \"FS - begin footnote
        !          1267: .de FJ
        !          1268: 'ce 0
        !          1269: .ev1
        !          1270: .ll \\n(FLu
        !          1271: .da FF
        !          1272: .br
        !          1273: .if \\n(IF>0 .tm Footnote within footnote-illegal.
        !          1274: .nr IF 1
        !          1275: .if !\\n+(XX-1 .FA
        !          1276: ..
        !          1277: .      \"FE - footnote end
        !          1278: .de FK
        !          1279: .br
        !          1280: .in 0
        !          1281: .nr IF 0
        !          1282: .di
        !          1283: .ev
        !          1284: .if !\\n(XX-1 .nr dn +\\n(.v
        !          1285: .nr YY -\\n(dn
        !          1286: .if \\n(NX=0 .nr WF 1
        !          1287: .if \\n(dl>\\n(CW .nr WF 1
        !          1288: .if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
        !          1289: .if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
        !          1290: .if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
        !          1291: .if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)
        !          1292: ..
        !          1293: .\"    First page footer.
        !          1294: .de FS
        !          1295: .ev1
        !          1296: .br
        !          1297: .ll \\n(FLu
        !          1298: .da FG
        !          1299: ..
        !          1300: .de FE
        !          1301: .br
        !          1302: .di
        !          1303: .nr FP \\n(dn
        !          1304: .if \\n(1T=0 .nr KG 1 \"not in abstract repeat next page.
        !          1305: .if "\\n(.z"OD" .nr KG 0 \" if in OK, don't repeat.
        !          1306: .ev
        !          1307: ..
        !          1308: .de FA
        !          1309: .if n __________________________
        !          1310: .if t \l'1i'
        !          1311: .br
        !          1312: ..
        !          1313: .de FV
        !          1314: .FS
        !          1315: .nf
        !          1316: .ls 1
        !          1317: .FY
        !          1318: .ls
        !          1319: .fi
        !          1320: .FE
        !          1321: ..
        !          1322: .de FX
        !          1323: .if \\n(XX>0 .di FY
        !          1324: .if \\n(XX>0 .ns
        !          1325: ..
        !          1326: .de XF
        !          1327: .if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
        !          1328: .ev1
        !          1329: .nf
        !          1330: .ls 1
        !          1331: .FF
        !          1332: .rm FF
        !          1333: .nr XX 0 1
        !          1334: .br
        !          1335: .ls
        !          1336: .di
        !          1337: .fi
        !          1338: .ev
        !          1339: ..
        !          1340: .de FL
        !          1341: .ev1
        !          1342: .nr FL \\$1n
        !          1343: .ll \\$1
        !          1344: .ev
        !          1345: ..
        !          1346: .de HO
        !          1347: Bell Laboratories
        !          1348: Holmdel, New Jersey 07733
        !          1349: ..
        !          1350: .de WH
        !          1351: Bell Laboratories
        !          1352: Whippany, New Jersey 07981
        !          1353: ..
        !          1354: .de IH
        !          1355: Bell Laboratories
        !          1356: Naperville, Illinois 60540
        !          1357: ..
        !          1358: .de UL \" underline argument, don't italicize
        !          1359: .if t \\$1\l'|0\(ul'\\$2
        !          1360: .if n .I \\$1 \\$2
        !          1361: ..
        !          1362: .em EM
        !          1363: . \"  ACCENTS  say \*'e or \*`e to get e acute or e grave
        !          1364: .ds ' \h'\w'e'u*4/10'\z\(aa\h'-\w'e'u*4/10'
        !          1365: .ds ` \h'\w'e'u*4/10'\z\(ga\h'-\w'e'u*4/10'
        !          1366: . \"  UMLAUT  \*:u, etc.
        !          1367: .ds : \v'-0.6m'\h'(1u-(\\n(.fu%2u))*0.13m+0.06m'\z.\h'0.2m'\z.\h'-((1u-(\\n(.fu%2u))*0.13m+0.26m)'\v'0.6m'
        !          1368: . \" TILDE and CIRCUMFLEX
        !          1369: .ds ^ \\k:\h'-\\n(.fu+1u/2u*2u+\\n(.fu-1u*0.13m+0.06m'\z^\h'|\\n:u'
        !          1370: .ds ~ \\k:\h'-\\n(.fu+1u/2u*2u+\\n(.fu-1u*0.13m+0.06m'\z~\h'|\\n:u'
        !          1371: .      \" czech v symbol
        !          1372: .ds C \\k:\\h'+\\w'e'u/4u'\\v'-0.6m'\\s6v\\s0\\v'0.6m'\\h'|\\n:u'
        !          1373: .ds v \\k:\\h'+\\w'e'u/4u'\\v'-0.6m'\\s6v\\s0\\v'0.6m'\\h'|\\n:u'
        !          1374: .              \" cedilla
        !          1375: .ds , \\k:\\h'\\w'c'u*0.4u'\\z,\\h'|\\n:u'
        !          1376: .de []
        !          1377: .][ \\$1
        !          1378: ..
        !          1379: .de ][
        !          1380: .if \\$1>5 .tm Bad arg to []
        !          1381: .[\\$1
        !          1382: ..
        !          1383: .if n .ds [. [
        !          1384: .if t .ds [. \s-2\v'-.4m'\f1
        !          1385: .if n .ds .] ]
        !          1386: .if t .ds .] \v'.4m'\s+2\fP
        !          1387: .if n .ds [o ""
        !          1388: .if n .ds [c ""
        !          1389: .if t .ds [o ``
        !          1390: .if t .ds [c ''
        !          1391: .de [5 \" tm style
        !          1392: .FS
        !          1393: .IP "\\*([F.\0"
        !          1394: \\*([A, \\f2\\*([T\\f1,
        !          1395: .ie \\n(TN \\*([M.
        !          1396: .el Bell Laboratories internal memorandum (\\*([D).
        !          1397: .RT
        !          1398: .FE
        !          1399: ..
        !          1400: .de [0 \" other
        !          1401: .FS
        !          1402: .IP "\\*([F.\0"
        !          1403: .if !"\\*([A"" \\*([A,
        !          1404: .if !"\\*([T"" \\f2\\*([T\\f1\c
        !          1405: .if !"\\*([T"" .if !"\\*([O"" ,\ 
        !          1406: .ie !"\\*([O"" \\*([O
        !          1407: .el .if !"\\*([T"" \&.
        !          1408: .if !"\\*([D"" \\*([D.
        !          1409: .RT
        !          1410: .FE
        !          1411: ..
        !          1412: .de [1 \" journal article
        !          1413: .FS
        !          1414: .IP "\\*([F.\0"
        !          1415: \\*([A,
        !          1416: .if !"\\*([T"" \\*([o\\*([T,\\*([c
        !          1417: .if "\\*([V"" \\f2\\*([J\\f1,
        !          1418: .if !"\\*([V"" \\f2\\*([J\\f1
        !          1419: .if !"\\*([V"" \{.if n Vol.\&
        !          1420: \\f3\\*([V\\f1\c\}
        !          1421: .if !"\\*([N"" (\\*([N)\c
        !          1422: .if !"\\*([P"" \{\
        !          1423: .ie \\n([P>0 \ pp.\&
        !          1424: .el \ p.\&
        !          1425: \\*([P\}
        !          1426: .if !"\\*([I"" .if "\\*([R"" \\*([I,
        !          1427: (\\*([D).
        !          1428: .if !"\\*([O"" \\*([O
        !          1429: .RT
        !          1430: .FE
        !          1431: ..
        !          1432: .de [2 \" book
        !          1433: .FS
        !          1434: .IP "\\*([F.\0"
        !          1435: \\*([A, \\f2\\*([T,\\f1
        !          1436: \\*([I\c
        !          1437: .if !"\\*([C"" , \\*([C\c
        !          1438:  (\\*([D).
        !          1439: .if !"\\*([G"" Gov't. ordering no. \\*([G
        !          1440: .if !"\\*([O"" \\*([O
        !          1441: .RT
        !          1442: .FE
        !          1443: ..
        !          1444: .de [4 \" report
        !          1445: .FS
        !          1446: .IP "\\*([F.\0"
        !          1447: \\*([A, \\*([o\\*([T,\\*([c
        !          1448: \\*([R\c
        !          1449: .if !"\\*([G"" \& (\\*([G)\c
        !          1450: .if !"\\*([I"" ,  \\*([I\c
        !          1451: .if !"\\*([C"" ,  \\*([C\c
        !          1452:  (\\*([D).
        !          1453: .if !"\\*([O"" \\*([O
        !          1454: .RT
        !          1455: .FE
        !          1456: ..
        !          1457: .de [3 \" article in book
        !          1458: .FS
        !          1459: .IP "\\*([F.\0"
        !          1460: \\*([A, \\*([o\\*([T,\\*([c
        !          1461: .if !"\\*([P"" pp. \\*([P
        !          1462: in \\f2\\*([B\\f1, \c
        !          1463: .if !"\\*([E"" ed. \\*([E,\c
        !          1464: .if !"\\*([I"" \\*([I\c
        !          1465: .if !"\\*([C"" ,  \\*([C\c
        !          1466:  (\\*([D).
        !          1467: .if !"\\*([O"" \\*([O
        !          1468: .RT
        !          1469: .FE
        !          1470: ..
        !          1471: .de [<
        !          1472: .]<
        !          1473: ..
        !          1474: .de ]<
        !          1475: .SH
        !          1476: References
        !          1477: .LP
        !          1478: .rm FS FE
        !          1479: ..
        !          1480: .de [>
        !          1481: .]>
        !          1482: ..
        !          1483: .de ]>
        !          1484: .sp
        !          1485: ..
        !          1486: .de [-
        !          1487: .]-
        !          1488: ..
        !          1489: .de ]-
        !          1490: .rm [V [P [A [T [N [C [B [O [R [I [E [D
        !          1491: ..
        !          1492: .de UX
        !          1493: .ie \\n(GA>0 \\$2\s-2UNIX\s0\\$1
        !          1494: .el \{\
        !          1495: .if n \\$2UNIX\\$1*
        !          1496: .if t \\$2\s-2UNIX\\s0\\$1\\f1\(dg\\fP
        !          1497: .FS
        !          1498: .if n *UNIX
        !          1499: .if t \(dgUNIX
        !          1500: .ie \\$3=1 is a Footnote of Bell Laboratories.
        !          1501: .el is a Trademark of Bell Laboratories.
        !          1502: .FE
        !          1503: .nr GA 1\}
        !          1504: ..
        !          1505: .de US
        !          1506: the
        !          1507: .UX
        !          1508: operating system
        !          1509: ..
        !          1510: .de QS
        !          1511: .br
        !          1512: .in +\\n(QIu
        !          1513: .ll -\\n(QIu
        !          1514: .LP
        !          1515: ..
        !          1516: .de QE
        !          1517: .br
        !          1518: .ll +\\n(QIu
        !          1519: .in -\\n(QIu
        !          1520: .LP
        !          1521: ..
        !          1522: .de B1 \" begin boxed stuff
        !          1523: .br
        !          1524: .di BB
        !          1525: .nr BC 0
        !          1526: .if "\\$1"C" .nr BC 1
        !          1527: .nr BE 1
        !          1528: ..
        !          1529: .de B2 \" end boxed stuff
        !          1530: .br
        !          1531: .nr BI 1n
        !          1532: .if \\n(.$>0 .nr BI \\$1n
        !          1533: .di
        !          1534: .nr BE 0
        !          1535: .nr BW \\n(dl
        !          1536: .nr BH \\n(dn
        !          1537: .ne \\n(BHu+\\n(.Vu
        !          1538: .nr BQ \\n(.j
        !          1539: .nf
        !          1540: .ti 0
        !          1541: .if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
        !          1542: .in +\\n(BIu
        !          1543: .BB
        !          1544: .in -\\n(BIu
        !          1545: .nr BW +2*\\n(BI
        !          1546: .sp -1
        !          1547: \l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
        !          1548: .if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
        !          1549: .if \\n(BQ .fi
        !          1550: .br
        !          1551: ..
        !          1552: .de AT
        !          1553: .nf
        !          1554: .sp
        !          1555: .ne 2
        !          1556: Attached:
        !          1557: ..
        !          1558: .de CT
        !          1559: .nf
        !          1560: .sp
        !          1561: .ne 2
        !          1562: .ie \\n(.$ Copy to \\$1:
        !          1563: .el Copy to:
        !          1564: ..
        !          1565: .de BX
        !          1566: .if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
        !          1567: .if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
        !          1568: ..
        !          1569: .rm //

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.