From: "Marc Snir" <[email-masked]>
Date: Fri, 23 Jul 93 18:44:02 EDT

%!PS-Adobe-2.0
%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software
%%Title: MPI-TERM.DVI.*
%%Pages: 5 1
%%BoundingBox: 0 0 612 792
%%EndComments
%%BeginProcSet: texc.pro
/TeXDict 250 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{
statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N
/FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin
/FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array
/BitMaps X /BuildChar{CharBuilder} N /Encoding IE N end dup{/foo setfont}2
array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}
B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont
setfont}B /ch-width{ch-data dup length 5 sub get} B /ch-height{ch-data dup
length 4 sub get} B /ch-xoff{128 ch-data dup length 3 sub get sub} B /ch-yoff{
ch-data dup length 2 sub get 127 sub} B /ch-dx{ch-data dup length 1 sub get} B
/ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0
N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S
dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0
ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id ch-image N
/rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{rc 0 ne{rc 1 sub
/rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod
S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index
getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw
cp 2 copy get dup 0 eq{pop 1}{dup 255 eq{pop 254}{dup dup add 255 and S 1 and
or}ifelse}ifelse put 1 adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255
eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2
index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval
putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv
1 chg}bind{adv 1 chg nd}bind{1 add chg}bind{1 add chg nd}bind{adv lsh}bind{
adv lsh nd}bind{adv rsh}bind{adv rsh nd}bind{1 add adv}bind{/rc X nd}bind{1
add set}bind{1 add clr}bind{adv 2 chg}bind{adv 2 chg nd}bind{pop nd}bind]N /D{
/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S
ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr
ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI
save N @rigin 0 0 moveto}N /eop{clear SI restore showpage userdict /eop-hook
known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}if
/VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1
string dup 0 3 index put cvn put} for}N /p /show load N /RMat[1 0 0 -1 0 0]N
/BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval
(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale
rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex
ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{moveto}B
/delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}
B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B
/k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1
w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{
/SS save N}B /eos{clear SS restore}B end
%%EndProcSet
TeXDict begin 1000 300 300 @start /Fa 16 85 df<1230127812F81278127005057D840C>
46 D<13181370EA03F0120FEA1C701200A213E0A6EA01C0A6EA0380A61207EAFFF8A20D1C7C9B
15>49 D<14301470A214F0801301A2EB0378A21306147CEB0C3CA21318A21330A2497EA2EBFFFE
A23801801EA23803001F801206120F397FC0FFF012FF1C1D7F9C1F>65 D<903807F030EB1FFC90
387C0E603901F003E0EA03C038078001EA0F00000E1300001E14C05AA25A1500A25AA5EC0180EC
03001270127814066C5B001C131C000F5B3807C0E06CB45AD8007EC7FC1C1E7C9C1E>67
D<380FFFFCECFF803900F007C0EC01E0EC00F015701578485A1538A3153C1538485A1578A31570
15F0484813E0140115C0EC03801407EC0E00380F007CB512F014C01E1C7E9B20>I<000FB512E0
A23800F003EC01C01400A33801E060A31500EBE1E013FF485B13C113C0A215C0ECC18038078001
A2EC0300A25C140E380F003EB512FE5C1B1C7E9B1C>I<000FB512C0A23800F007EC03801401A3
EA01E01461A2EC600014E013E148B45AA213C113C0A3380781800180C7FCA5120FEAFFFC5B1A1C
7E9B1B>I<390FFF9FFE143F3900F003C0A53901E00780A590B5FC481400EBC00FA53807801EA6
000F133E39FFF3FFE015C01F1C7E9B1F>72 D<380FFF80A23800F000A5485AA6485AA6485AA612
0FEAFFF8A2111C7F9B0F>I<D80FFCEB0FFCA20000EC1F80A2153713DE1567D8019EEB6F0015CF
A2EC018F138FEC030FD8030F131E1406A2EB078CA2149800065C14B0A2EB03E0A214C0001E147C
3AFFE387FFC001C31480261C7E9B26>77 D<390FF80FFEA23900FC01E0EC00C0A213DEA239018F
0180A214811387A2EB83C1390303C300EB01E3A3EB00F3A20006137EA2143EA3141E001E131C38
FFE00C13C01F1C7E9B1F>I<EB07F0EB3FFCEBF81E3801E0073903C00380D8070013C048130100
1E14E0121C003C13001238007814F0A348EB01E0A4EC03C0A30070EB0780007814005C6C131E5C
6C5B380F83E03803FF80C648C7FC1C1E7C9C20>I<380FFFFC14FF3900F00F80140315C01401A2
3801E003A315801407EC0F003803C03EEBFFF814E001C0C7FCA3485AA6120FEAFFF85B1A1C7E9B
1C>I<380FFFF814FE3900F00F80140315C01401A23801E003A3EC0780EC0F00143E3803FFF85C
EBC07880A2143E3807803CA51518000F1430EAFFF89038F01FE0C7EA07C01D1D7E9B1F>82
D<EB3F0CEBFFCC3801C1F838030078481338120EA3001E13301400A26C7E13F86CB4FC6C13806C
13C038003FE0130313011300A21260A3EB01C0127038F8038038FE0F00EACFFEEA83F8161E7E9C
17>I<001FB512F05A383C07810038EB806012701260A2EB0F0012C0A200001400A3131EA65BA6
137C381FFFE0A21C1C7C9B1E>I E /Fb 20 122 df<EA03CCEA07FCEA0E7CEA183CEA38381230
1270A2EAE070A3137113E3A212E1EA63E6EA7E7CEA3C3810127B9115>97
D<123F5A120F120EA45AA4EA39C0EA3FE0EA3E70EA3830EA78381270A3EAE070A3136013E013C0
12E1EA6380EA7F00123C0D1D7B9C13>I<EA01F0EA07F8EA0E18EA1C3CEA3878EA3030EA7000A2
5AA513101338EA70F0EA3FC0EA1F000E127B9113>I<EB1F80133F13071400A4130EA4EA03DCEA
07FCEA0E7CEA183CEA383812301270A2485AA313715BA212E1EA63E6EA7E7CEA3C38111D7B9C15
>I<EA01E0EA07F8EA0E18121C123812701370EA7FE0EAFF80EAE000A41310EA6038EA70F0EA3F
C0EA1F000D127B9113>I<EB03C0EB07E0EB0CF0EB1DE0EB1CC014005BA53803FF805A38007000
A45BA5485AA5485AA448C7FC126712F612FE5A12781425819C0D>I<EA0FC0121F12035BA448C7
FCA4EA0E78EA0FFC138E130E121E121CA3485AA3EB3840007013C0A2EB7180A238E03F00EA601E
121D7D9C15>104 D<13C0EA01E013C01380C7FCA6120E123FEA33801263EAC700A21207120EA3
5A1340EA38C0A3EA3980EA3F00121E0B1C7D9B0D>I<130E131EA2130C1300A613F0EA01F8EA03
38EA06181338120C1200A21370A413E0A4EA01C0A4EA03801263EAF700A212FE12780F24819B0D
>I<EA1F80123F12071300A4120EA45AA45AA45AA3127212E6A4127C1238091D7C9C0B>108
D<391E1F07C0393F3F8FE0396761D8703863C1F038C781E0A2380701C0A2390E0380E0A3EC81C2
391C0701C6A2EC038CA239380E01F839180600F01F127D9122>I<EA1E1EEA3F7F3867E380EA63
C3EAC78313031207A2380E0700A3EB0E10001C1330A2EB1C60A238380FC03818078014127D9117
>I<EA01E0EA07F8EA0E1C121CEA380CEA300E1270A2EAE01CA31338A213701360EA71C0EA3F80
EA1E000F127B9115>I<EA0787380FDF803819F9C0EA18E0003113E013C01201A2380381C0A314
80EA070314001387138EEA0EFC137090C7FCA25AA4B47EA2131A7F9115>I<EA03C4EA07ECEA0E
7CEA183CEA383812301270A2EAE070A413E0A212E11263EA7FC0123D1201A2EA0380A4EA3FF0A2
0E1A7B9113>I<EA1E3CEA3F7EEA67C3EA6387EAC78F130FEA07061300120EA45AA45A12181012
7D9112>I<EA01F0EA07F8EA0E18133CEA1C781330EA1E00EA1FC0EA0FE0EA07F01200EA2078EA
707012F0A2EAE0E0EA7FC0EA1F000E127D9111>I<13C01201A3EA0380A4EAFFE0A2EA0700A212
0EA45AA31320EA3860A213C0A2EA1F80EA0F000B1A7D990E>I<380F0180EA1F8312331263EB87
0012C3EA0707A2EA0E0EA31420380C1C60121C120C380E3CC0380FEF803803C70013127D9116>
I<380F0180EA1F8312331263EB870012C3EA0707A2EA0E0EA4EA0C1C121C120CEA0E3CEA0FF812
03EA0038A2EA3070EA786013E0EA71C0EA3F80001EC7FC111A7D9114>121
D E /Fc 31 122 df<1238127C12FEA3127C123807077C8610>46 D<13181378EA01F812FFA212
01B3A7387FFFE0A213207C9F1C>49 D<EA03FCEA0FFF383C1FC0387007E0007C13F0EAFE0314F8
A21301127CEA3803120014F0A2EB07E014C0EB0F80EB1F00133E13385BEBE018EA01C0EA0380EA
0700000E1338380FFFF05A5A5AB5FCA215207D9F1C>I<EA01FE3807FFC0380F07E0381E03F012
3FEB01F813811301EA1F03000C13F0120014E0EB07C0EB1F803801FE007F380007C0EB01F014F8
EB00FCA214FE127CA212FEA214FCEA7C01007813F8383C07F0380FFFC03803FE0017207E9F1C>
I<14E013011303A21307130F131FA21337137713E7EA01C71387EA03071207120E120C12181238
127012E0B512FEA2380007E0A7EBFFFEA217207E9F1C>I<00101320381E01E0381FFFC0148014
005B13F8EA1BC00018C7FCA4EA19FCEA1FFF381E0FC0381807E01303000013F0A214F8A2123812
7C12FCA214F012F8386007E0003013C0381C1F80380FFF00EA03F815207D9F1C>I<1470A214F8
A3497EA2497EA3EB06FF80010E7FEB0C3FA201187F141F01387FEB300FA201607F140701E07F90
B5FCA239018001FCA200038090C7FCA20006147FA23AFFE00FFFF8A225227EA12A>65
D<D903FE138090381FFF819038FF01E33901F8003FD803E0131F4848130F48481307121F48C712
03A2481401127EA200FE91C7FCA8127EED0180127F7E15036C6C1400120F6C6C1306D803F05B6C
6C13386CB413F090381FFFC0D903FEC7FC21227DA128>67 D<D8FFF8EB1FFE7F0007EC00C07FEA
06FF6D7E6D7E6D7E130F806D7E6D7E6D7E130080EC7F80EC3FC0EC1FE0EC0FF0140715F8EC03FC
EC01FEEC00FF157FA2153F151F150F15071503A2D8FFF01301150027227EA12C>78
D<EB07FC90383FFF809038FC07E03903F001F848486C7E4848137E48487FA248C7EA1F80A24815
C0007E140FA200FE15E0A9007E15C0007F141FA26C15806D133F001F15006C6C137E6C6C5B6C6C
485A3900FC07E090383FFF80D907FCC7FC23227DA12A>I<3801FC043807FF8C381F03FC383C00
7C007C133C0078131CA200F8130CA27E1400B4FC13E06CB4FC14C06C13F06C13F86C13FC000313
FEEA003FEB03FFEB007F143FA200C0131FA36C131EA26C133C12FCB413F838C7FFE00080138018
227DA11F>83 D<EA07FC381FFF80383F0FC0EB07E0130314F0121E1200A213FF1207EA1FC3EA3F
03127E12FCA4EA7E07EB1DF8381FF8FF3807E07F18167E951B>97 D<B47EA2121FABEB8FE0EBBF
F8EBF07CEBC01EEB801FEC0F80A215C0A81580141F1500EBC03EEB607C381E3FF8381C0FC01A23
7EA21F>I<EBFF80000713E0380F83F0EA1F03123E127E387C01E090C7FC12FCA6127C127EA200
3E13306C1360380FC0E03807FF803800FE0014167E9519>I<EB03FEA2EB007EABEA01FCEA07FF
380F81FEEA1F00003E137E127E127C12FCA8127CA27E001E13FEEA0F833907FF7FC0EA01FC1A23
7EA21F>I<13FE3807FF80380F87C0381E01E0003E13F0EA7C0014F812FCA2B5FCA200FCC7FCA3
127CA2127E003E13186C1330380FC0703803FFC0C6130015167E951A>I<EB3F80EBFFC03801F3
E0EA03E7EA07C7120FEBC3C0EBC000A6EAFFFCA2EA0FC0B2EA7FFCA213237FA211>I<B47EA212
1FABEB87E0EB9FF8EBB8FCEBE07CEBC07EA21380AE39FFF1FFC0A21A237EA21F>104
D<120E121FEA3F80A3EA1F00120EC7FCA7EAFF80A2121FB2EAFFF0A20C247FA30F>I<131C133E
137FA3133E131C1300A7EA03FFA2EA003FB3A5127812FC133E137EEA78FCEA7FF0EA1FC0102E83
A311>I<EAFF80A2121FB3ADEAFFF0A20C237FA20F>108 D<3AFF87F00FE090399FFC3FF83A1FB8
7E70FC9039E03EC07C9039C03F807EA201801300AE3BFFF1FFE3FFC0A22A167E952F>I<38FF87
E0EB9FF8381FB8FCEBE07CEBC07EA21380AE39FFF1FFC0A21A167E951F>I<13FE3807FFC0380F
83E0381E00F0003E13F848137CA300FC137EA7007C137CA26C13F8381F01F0380F83E03807FFC0
3800FE0017167E951C>I<38FF8FE0EBBFF8381FF07CEBC03E497E1580A2EC0FC0A8EC1F80A2EC
3F00EBC03EEBE0FCEBBFF8EB8FC00180C7FCA8EAFFF0A21A207E951F>I<EBFE033807FF07380F
C1CF381F00DF48137F007E7FA2127C12FCA7127EA2003E5B6C5BEA0FC13807FF3FEA00FC1300A8
903801FFE0A21B207E951E>I<EAFF1FEB3FC0381F67E013C7A3EB83C0EB8000ADEAFFF8A21316
7E9517>I<EA07F3EA1FFFEA780FEA7007EAF003A26CC7FCB4FC13F0EA7FFC6C7E6C7E12073800
3F80EAC00F130712E0A200F01300EAFC1EEAEFFCEAC7F011167E9516>I<13C0A41201A2120312
07120F121FB5FCA2EA0FC0ABEBC180A51207EBE300EA03FEC65A11207F9F16>I<38FF83FEA238
1F807EAF14FEA2EA0F833907FF7FC0EA01FC1A167E951F>I<39FFF01FE0A2390FC00600A2EBE0
0E0007130CEBF01C0003131813F800015BA26C6C5AA2EB7EC0A2137F6D5AA26DC7FCA2130EA213
0CA25B1278EAFC3813305BEA69C0EA7F80001FC8FC1B207F951E>121 D
E /Fd 19 119 df<EA0FF0EA3FFCEA703EEAF03F12F8A3EA203EEA007C13F813F0EA01C0A21380
A5C7FCA4EA0380EA07C0EA0FE0A3EA07C0EA0380101D7D9C17>63 D<EA0FF8EA1FFE383E1F8013
0714C0121C1200EA03FF121FEA3F87EA7E0712FCA3130FEA7E1F383FFBF8EA0FE115127F9117>
97 D<B4FCA2121FA9EB1FC0EBFFE0EBC1F81300147CA2147EA6147CA2EB80F8EBC1F0381C7FE0
38181F80171D7F9C1B>I<EA03FCEA0FFEEA1F1F123E127C130E00FCC7FCA6127C387E0180EA3E
03381F0700EA0FFEEA03F811127E9115>I<EA01FCEA0FFF381F0F80383E07C0EA7C0314E012FC
B5FCA200FCC7FCA3127C007E1360003E13C0EA1F81380FFF00EA01FC13127F9116>101
D<133F3801FF803803E7C0EA07C7EA0F87EB8380EB8000A5EAFFF8A2EA0F80AEEA7FF8A2121D80
9C0F>I<3803F0F0380FFFF8383E1F38383C0F30007C1380A4003C1300EA3E1FEA1FFCEA33F000
30C7FC12707EEA3FFF14C06C13E04813F0387801F838F00078A3007813F0383E03E0381FFFC038
03FE00151B7F9118>I<121E123FA25A7EA2121EC7FCA5B4FCA2121FAEEAFFE0A20B1E7F9D0E>
105 D<B4FCA2121FA9EB0FF8A2EB0380EB0700130C5B137013F87F13BC133E7F7F1480EB07C0EB
03E038FFC7FCA2161D7F9C19>107 D<B4FCA2121FB3A7EAFFE0A20B1D7F9C0E>I<39FF1FC0FE90
387FE3FF3A1FE1F70F80903980FC07C0A2EB00F8AB3AFFE7FF3FF8A225127F9128>I<38FF1FC0
EB7FE0381FE1F0EB80F8A21300AB38FFE7FFA218127F911B>I<EA01FC380FFF80381F07C0383E
03E0387C01F0A200FC13F8A6007C13F0A2383E03E0381F07C0380FFF803801FC0015127F9118>
I<38FF1FC0EBFFE0381FC1F8130014FC147C147EA6147C14FCEB80F8EBC1F0EB7FE0EB1F8090C7
FCA6EAFFE0A2171A7F911B>I<EAFE3E137F381ECF80EA1F8FA2EB070090C7FCAAEAFFF0A21112
7F9114>114 D<EA1FD8EA3FF8EA7038EAE018A2EAF000EAFF80EA7FE013F0EA1FF8EA07FCEA00
7CEAC01CA212E0EAF038EAFFF0EACFC00E127E9113>I<1203A35AA25AA2123FEAFFFCA2EA1F00
A9130CA4EA0F98EA07F0EA03E00E1A7F9913>I<38FF07F8A2EA1F00AC1301EA0F03EBFEFFEA03
F818127F911B>I<38FFC1FCA2381F0060EB80E0000F13C013C03807C180A23803E300A2EA01F6
A213FE6C5AA21378A2133016127F9119>I E /Fe 17 118 df<1306130E131E131C133C133813
781370A213F013E0120113C012031380120713005A120E121E121CA2123C12381278127012F05A
A20F1D7E9914>47 D<EA01C0487EA21360A2EA0770A4EA0630EA0E38A5EA1FFCA3EA1C1CEA3C1E
38FE3F80A311177F9614>65 D<EA03C6EA0FFE121FEA3E3EEA3C1EEA780E127012F048C7FCA4EB
7F80A338F00E001270EA781E123CEA3E3EEA1FFE120FEA03CE11177F9614>71
D<EAFFFEA3EA0380B1EAFFFEA30F177E9614>73 D<EAFFC0A3001CC7FCADEB0380A4B5FCA31117
7F9614>76 D<38FE0FE0A3383B1B80A413BBA2EA39B3A313F3EA38E3A21303A538FE0FE0A31317
809614>I<38FE3F80A3383B0E00A4138E1239A213CEA31238A213EE136EA4EAFE3EA311177F96
14>I<EAFFF813FE7FEA1C0FEB07801303A41307EB0F00EA1FFF5B13F8001CC7FCA6B47EA31117
809614>80 D<EA0FCCEA3FFC127FEAF87CEAF03CEAE01CA2EAF000A2127EEA3FE0EA0FF8EA01FC
EA003C131E130E12E0A2EAF01EEAF83CEAFFFC13F8EAC7E00F177E9614>83
D<B51280A3EAE1C3A43801C000ADEA0FF8A311177F9614>I<38FF8FF8A3381C01C0AEEA1E0300
0E1380EA0F073807FF006C5AEA00F81517819614>I<38FE3F80A3383C1E00EA1C1CEA1E3CEA0E
38A26C5AA2EA036013E0A26C5AA7EA07F0A311177F9614>89 D<1203EA0780A2EA0300C7FCA4EA
FF80A31203AAEAFFFEA30F187D9714>105 D<EAFCF8EAFFFE7FEA1F0FEA1E07121CA838FF9FE0
A31310808F14>110 D<EA07C0EA1FF0EA3FF8EA783CEA701CEAF01EEAE00EA4EAF01EEA701CEA
7C7CEA3FF8EA1FF0EA07C00F107E8F14>I<1207A5EAFFFCA3EA0700A6130EA3139E13FCEA03F8
EA00E00F157F9414>116 D<EAFC3FA3EA1C07A95B381FFFE07EEA07E71310808F14>I
E /Ff 55 122 df<EB7C3C3801FEFE38038FCF38070F8F000E1306EB0700A5B512F0A2380E0700
AC387F0FF0A2181A809916>11 D<137CEA01FEEA0387485A120E130690C7FCA4B5FCA2EA0E07AC
387F0FE0A2131A809915>I<137F485AEA038FEA070FEA0E07A6B5FCA2EA0E07AC387F9FE0A213
1A809915>I<EA60C0EAF1E0EAF9F01278EA1830A3EA3060EA70E0EAE1C0EA40800C0B7F9913>
34 D<126012F012F812781218A31230127012E01240050B7D990B>39 D<13C0EA0180EA030012
06120E120C5A1238A212301270A21260A212E0AA1260A21270A212301238A212187E120E12067E
EA0180EA00C00A267E9B0F>I<12C012607E7E121C120C7E1207A27E1380A21201A213C0AA1380
A21203A213005AA212065A121C12185A5A5A0A267E9B0F>I<126012F0A212701230A31260A212
C01240040B7D830B>44 D<126012F0A2126004047D830B>46 D<EA0780EA1FE0EA3870EA3030EA
7038EA6018A2EAE01CACEA6018A2EA7038EA3030EA3870EA1FE0EA07800E1A7E9813>48
D<1260EA7FFEA213FCEA600CEAC0181330A2EA006013C0A21201A2EA0380A41207A8EA03000F1A
7E9813>55 D<EA0780EA1FE0EA3870EA3030EA6038EAE018A2131CA5EA603C1270EA307CEA3FDC
EA1F9CEA0018A21338EA3030EA78701360EA71C0EA3F80EA1F000E1A7E9813>57
D<126012F0A212601200A8126012F0A212701230A31260A212C0124004177D8F0B>59
D<EA1F80EA3FE0EA7070EAE03812F0A21260EA007013E0EA01C0EA03801300A21206A5C7FCA412
06120FA212060D1A7E9912>63 D<130C131EA3133FA3497E1367A3EBC3C0A3380181E0A348B47E
A2130000061378A3487F121E39FF81FFC0A21A1B7F9A1D>65 D<EB3F023801FFC63803E0EE3807
003E000E131E5A003C130E123800781306127012F01400A61406127012781238003C130C121C6C
13186C13303803E0E03801FFC038003F00171C7E9A1C>67 D<B512F0A2EA0F0014701430143814
18A213061400A2130E13FEA2130E1306A390C7FCA6EAFFF8A2151A7F9919>70
D<EB3F023801FFC63803E0EE3807003E000E131E5A003C130E123800781306127012F091C7FCA5
903803FFC0A23970001E0012781238123C121C7E3807803E3803E0763801FFE2D8003FC7FC1A1C
7E9A1E>I<39FFF3FFC0A2390F003C00A9EBFFFCA2EB003CAB39FFF3FFC0A21A1A7F991D>I<EAFF
F0A2EA0F00B3A4EAFFF0A20C1A7F990E>I<EAFFF8A2000FC7FCAE1430A31470A2146014E01303
B5FCA2141A7F9918>76 D<39FF8001FF6D5A000F14F0A2380DE006A3380CF00CA3EB7818A3EB3C
30A3EB1E60A3EB0FC0A3EB0780121E39FFC78FFFEBC30F201A7F9923>I<B4EBFFC07F000FEB1E
00EBC00CEA0DE0A2EA0CF013F81378133C133E131E130FA2EB078CEB03CCA2EB01ECEB00FCA214
7CA2143C001E131CEAFFC0140C1A1A7F991D>I<137F3801FFC03807C1F0380F0078001E7F001C
131C487F0078130FA200707F00F01480A80078EB0F00A36C131E001C131C001E133C6C5B3807C1
F03801FFC06C6CC7FC191C7E9A1E>I<B5128014E0380F00F014781438143CA51438147814F0EB
FFE0148090C7FCA9EAFFF0A2161A7F991A>I<EA07C2EA1FF6EA383EEA701EEA600E12E01306A3
EAF0001278EA7F80EA3FF0EA1FF8EA0FFCEA01FEEA001E130F130712C0A312E01306EAF00EEAFC
1CEACFF8EA83E0101C7E9A15>83 D<007FB5FCA238781E0F00601303A200E0148000C01301A300
0090C7FCAF3803FFF0A2191A7F991C>I<39FFF0FFC0A2390F001E00140CB17E6D5A12036D5A38
01E0E038007FC0011FC7FC1A1B7F991D>I<3AFFC7FF1FF0A23A1E00F803C091387801806CEC03
00A214FC5DD807801306EB819EA2D803C15B13C3140F01E3131C000114189038E60798A2D800F6
13B001FE13F0EBFC03017C5BA2EB7801A201385BEB3000241B7F9927>87
D<EA1020EA3870EA70E0EA60C0EAC180A3EAF1E0EAF9F01278EA30600C0B7B9913>92
D<EA3F80EAFFC0EAF0E0137012601200EA0FF0123FEA787012E0A21373A2EA70F3EA7FFEEA3E3C
10107E8F13>97 D<12FCA2121CA813F8EA1FFE130F381C0380A2EB01C0A6EB0380A2381F0F00EA
1BFEEA18F8121A7F9915>I<EA07F0EA0FFCEA3C3C1230EA7018EAE000A61270EA380CEA3C18EA
0FF8EA07E00E107F8F11>I<137EA2130EA8EA07CEEA1FFEEA3C1EEA700EA212E0A61270131EEA
3C3E381FFFC0EA07CF121A7F9915>I<EA07C0EA1FF0EA3838EA7018131CEAFFFCA2EAE000A412
70EA300CEA3C18EA0FF0EA07E00E107F8F11>I<13F8EA01FCEA03BCEA073CEA0E181300A5EAFF
C0A2EA0E00ACEA7FE0A20E1A80990C>I<130EEA079FEA1FF7EA3877EA7038A5EA3870EA3FE0EA
7780EA7000A2EA3FF013FC13FEEA700FEAE007A3EA700EEA781EEA1FF8EA07E010197F9013>I<
12FCA2121CA813F8EA1FFC131EEA1E0E121CAA38FF9FC0A2121A7F9915>I<1218123CA21218C7
FCA612FCA2121CACEAFF80A2091A80990A>I<13C0EA01E0A2EA00C01300A6EA07E0A21200B012
6012F0EAF1C0EA7F80EA3E000B2183990C>I<12FCA2121CA8EB7F80A2EB3C0013305B5B121DEA
1FE0121EEA1C70137813387F131E38FF3FC0A2121A7F9914>I<12FCA2121CB3A4EAFF80A2091A
80990A>I<38FCFC3F39FDFE7F80391F0FC3C0381E0781001C1301AA39FF9FE7F8A21D107F8F20>
I<EAFCF8B47EEA1F1EEA1E0E121CAA38FF9FC0A212107F8F15>I<EA07E0EA1FF8EA381CEA700E
EA6006EAE007A6EA700EA2EA3C3CEA1FF8EA07E010107F8F13>I<EAFCF8EAFFFEEA1F0F381C07
801303EB01C0A6EB03801307381F0F0013FEEA1CF890C7FCA5B47EA212177F8F15>I<EA07C6EA
1FF6EA3C3EEA781EEA700E12E0A61270EA781EEA3C3EEA1FEEEA07CEEA000EA5EB7FC0A212177F
8F14>I<EAFDE0EAFFF0EA1F70EA1E20EA1C00AAEAFFC0A20C107F8F0F>I<EA1F20EA7FE01270EA
E060A2EAF000127FEA3FC0EA1FE0EA01F0EAC070A212E0EAF0E0EAFFC0EA8F800C107F8F0F>I<
120CA4121CA2123CEAFFC0A2EA1C00A71360A5EA0FC0EA07800B177F960F>I<EAFC7EA2EA1C0E
AA131E133E380FFFC0EA07CF12107F8F15>I<38FF3F80A2381C0E00130CA26C5AA21338EA0730
A213F06C5AA26C5AA311107F8F14>I<39FF3F9F80A239381E0E00381C3E0C13361337000E5B13
631498000713B013C114F0A2380380E0A319107F8F1C>I<387F1FC0A2380E1E00EA071CEA03B8
13B0EA01E012007F1201EA03B8EA071C1206EA0E0E38FF1FE0A21310808F14>I<38FF3F80A238
1C0E00130CA26C5AA21338EA0730A213F06C5AA26C5AA35BA2126100F3C7FC12C712FE12781117
7F8F14>I E /Fg 15 118 df<127812FCA412781200A5127812FCA4127806117D900C>58
D<B512F014FC380FC03FEC0F80EC07C0EC03E0A2EC01F0A215F8A815F0A2140315E0EC07C0EC0F
80EC3F00B512FE14F01D1A7E9922>68 D<EAFFFCA2EA0FC0B3A4EAFFFCA20E1A7F9911>73
D<EA0FF0EA1FFCEA3E3E131E131F121C1200EA07FF121FEA7E1F127C12F8A3EA7C3F383FEFE0EA
0F8713117F9015>97 D<EA03FCEA0FFEEA1E1F123C127CEA780E00F8C7FCA51278127C383C0180
381F0300EA0FFEEA03F811117F9014>99 D<EA03F0EA0FFCEA1E1E487E487E148012F8B5FCA200
F8C7FCA21278127C383C0180381F0300EA0FFEEA03F811117F9014>101
D<121E123FA4121EC7FCA4127FA2121FADEAFFC0A20A1B809A0C>105 D<B4FCA2121FB3A4EAFF
E0A20B1A80990C>108 D<39FF1F81F890387FE7FE391FE3EE3E903881F81FA2EB01F0AA3AFFE7
FE7FE0A223117F9026>I<EAFF1FEB7FC0EA1FC3EB83E0A21303AA38FFE7FCA216117F9019>I<EA
03F8EA0FFE383E0F80EA3C07387803C0A200F813E0A6007813C0EA7C07383E0F80380FFE00EA03
F813117F9016>I<EAFF3FEBFFC0381FC3F0130014F8147CA6147814F814F0EBC3E0EBFFC0EB3F
0090C7FCA5EAFFE0A216187F9019>I<EA1FB0EA3FF0EA7070EAE030A2EAF800EAFFC0EA7FF0EA
3FF8EA1FFC1201EAC03C131C12E0EAF038EAFFF0EACFC00E117F9011>115
D<1203A35AA25A123FEAFFF0A2EA1F00A81318A5EA0FF0EA03E00D187F9711>I<38FF1FE0A2EA
1F03AB1307130F380FFFFCEA03F316117F9019>I E /Fh 26 118 df<13E0487EA213B0A2EA03
B8A31318EA071CA5EA0E0EA2EA0FFEA2487EEA1C07A3387F1FC000FF13E0007F13C013197F9816
>65 D<3801F180EA07FF5AEA1F0FEA3C0712781303127000F0C7FC5AA77E387003801278A2EA3C
07381F0F00EA0FFE6C5AEA01F011197E9816>67 D<EA7FF8EAFFFE6C7EEA1C0FEB0780EB03C013
01A214E01300A8EB01C0A21303EB0780130F387FFF00485AEA7FF81319809816>I<387FFFC0B5
FC7EEA1C01A490C7FCA2131CA2EA1FFCA3EA1C1CA290C7FC14E0A5EA7FFFB5FC7E13197F9816>
I<EA03E348B4FC121FEA3E1FEA3C0F12787F127000F0C7FC5AA4EB3F80EB7FC0EB3F8038F00700
1270EA780FA2123CEA3E1F6CB4FC1207EA03E712197E9816>71 D<EAFFFEA3EA0380B3EAFFFEA3
0F197D9816>73 D<38FC07E0EAFE0FA2383A0B80EA3B1BA413BBA2EA39B3A413F3EA38E3A21303
A538FE0FE0A313197F9816>77 D<387E1FC038FF3FE0387F1FC0381D07001387A313C7A2121CA2
13E7A31367A21377A21337A31317EA7F1FEAFF9FEA7F0F13197F9816>I<EA1FFC487E487EEA78
0F38F00780EAE003AEEAF007A238780F00EA7FFF6C5A6C5A11197E9816>I<EA7FF8EAFFFE6C7E
381C0F80130314C01301A313031480130F381FFF005B13F8001CC7FCA7127F487E6CC7FC12197F
9816>I<EA7FE0EAFFF86C7EEA1C1E7F7FA45B131EEA1FFC5B7FEA1C3E130EA414201470A2387F
0FF038FF87E0387F03C014197F9816>82 D<EA07E3EA1FFF127FEA781F487E487EA290C7FC7E12
78EA7F80EA1FF0EA07FCC67E130FEB07801303A212E0A2EAF00738F80F00EAFFFE5BEAC7F01119
7E9816>I<387FFFE0B5FCA2EAE0E0A400001300AFEA07FC487E6C5A13197F9816>I<387F07F038
FF8FF8387F07F0381C01C0B0EA1E03000E1380EA0F8F3807FF006C5AEA00F81519809816>I<38
FC07E0EAFE0FEAFC07387001C0A300301380EA3803A313E3EA39F3A213B300191300A61313EA1B
1BEA0F1EA2EA0E0E13197F9816>87 D<38FE0FE0EAFF1FEAFE0F381C0700A2EA0E0EA26C5AA3EA
03B8A2EA01F0A26C5AA8EA03F8487E6C5A13197F9816>89 D<EA1FE0EA7FF87FEA783CEA301EEA
000E133EEA07FE123FEA7FCEEAF80E12E0A2EAF01EEAF83E387FFFE0EA3FF7EA0FC313127E9116
>97 D<EA07E0EA0FF8EA1FFCEA3C3EEA780EEA700FEAF007B5FCA3EAE0007EEA70071278EA3E1F
EA1FFEEA0FFCEA03F010127D9116>101 D<3803E3C0380FFFE05A381E3CC0383C1E00EA380EA3
EA3C1E6C5AEA1FFC485AEA3BE00038C7FC123CEA1FFC48B4FC4813C0EA780338F001E0EAE000A3
EAF001387C07C0383FFF80380FFE00EA03F8131C7F9116>103 D<EA0180EA03C0A2EA0180C7FC
A4EA7FC0A31201ACEA7FFFB5FC7E101A7D9916>105 D<EAFFC0A31201B3B51280A311197E9816>
108 D<EA7E7CB5FC6C1380EA0F871303A2120EA9387FC7F038FFE7F8387FC7F01512809116>
110 D<EA03E0EA0FF8487EEA3C1E487EEA700738E00380A5EAF00700701300EA780FEA3C1EEA1F
FC6C5AEA03E011127E9116>I<EA7E3E38FEFF80007F13C0380F83E01301EB00F0120E1470A400
0F13F014E01381EB83C013FF000E1300137C90C7FCA6EA7FC0487E6C5A141B809116>I<12035A
A4EA7FFFB5FCA20007C7FCA75BEB0380A2130713873803FF005BEA00F811177F9616>116
D<387E1F80EAFE3FEA7E1FEA0E03AA1307EA0F0FEBFFF06C13F83803F3F01512809116>I
E /Fi 57 124 df<EB3F0F9038FFBF803903C3F3C0380703E3ECC180390E01C000A6B512FCA238
0E01C0AE387F87FCA21A1D809C18>11 D<133FEBFF803803C1C0EA0703A2380E018090C7FCA5B5
12C0A2EA0E01AE387F87F8A2151D809C17>I<EB3FC013FFEA03C3EA07031301120EA6B5FCA2EA
0E01AE387FCFF8A2151D809C17>I<90383F03F09038FFCFF83903C0FC1C390701F03CA2390E00
E01892C7FCA5B612FCA2390E00E01CAE3A7FC7FCFF80A2211D809C23>I<EA7070EAF8F8EAFCFC
A2EA7C7CEA0C0CA3EA1818A2EA3030EA6060EA40400E0D7F9C15>34 D<13C0EA0180EA03001206
120E120C121C121812381230A21270A21260A212E0AC1260A21270A21230A212381218121C120C
120E12067EEA0180EA00C00A2A7D9E10>40 D<12C012607E7E121C120C120E120612077EA21380
A21201A213C0AC1380A21203A21300A25A1206120E120C121C12185A5A5A0A2A7E9E10>I<1270
12F012F8A212781218A31230A2127012601240050D7D840C>44 D<EAFFE0A30B0380890E>I<12
7012F8A3127005057D840C>I<12035A123FB4FC12C71207B3A3EAFFF8A20D1C7C9B15>49
D<EA07C0EA1FF0EA3878EA603C131E12F0EAF80FA312701200130E131E131C133C1378137013E0
EA01C0EA0380EA0700EA0E03120C1218EA3006EA7FFE12FFA2101C7E9B15>I<EA07E0EA1FF0EA
3838EA301CEA781EA312381200133C13381370EA07E0A2EA0038131C131E130E130FA2127012F8
A2130EEAF01EEA601CEA3838EA1FF0EA07C0101D7E9B15>I<131CA2133C137CA213DC1201139C
1203EA071C1206120E120C121812381230126012E0B512C0A238001C00A63801FFC0A2121C7F9B
15>I<127012F8A312701200A8127012F8A3127005127D910C>58 D<127012F8A312701200A812
7012F012F8A212781218A31230A2127012601240051A7D910C>I<1306130FA3497EA4EB33C0A3
EB61E0A3EBC0F0A338018078A2EBFFF8487FEB003CA200067FA3001F131F39FFC0FFF0A21C1D7F
9C1F>65 D<90381F8080EBFFE13803F0333807801B380F000F001E1307001C1303123C5A140112
7012F091C7FCA70070EB01801278A27E001CEB0300121E6C13066C6C5A3803F0383800FFF0EB1F
80191E7E9C1E>67 D<B512C014F0380F007C141E8080EC038015C0A2140115E0A815C0A2140315
801407EC0F00141E147CB512F014C01B1C7E9B20>I<B512F8A2380F007814381418141C140CA2
1303A21400A25B13FFA213077FA490C7FCA6EAFFF8A2161C7E9B1B>70 D<39FFF3FFC0A2390F00
3C00AAEBFFFCA2EB003CAC39FFF3FFC0A21A1C7E9B1F>72 D<EAFFF0A2EA0F00B3A6EAFFF0A20C
1C7F9B0F>I<B46CEBFF806D5A000FECF800A2390DE00378A3380CF006A3EB780CA3EB3C18A3EB
1E30A3EB0F60A3EB07C0A3381E03803AFFC387FF80A2211C7E9B26>77 D<EB3F80EBFFE03803E0
F83807803C380E000E001E130F48EB078000381303007814C0A20070130100F014E0A80078EB03
C0A36CEB0780A26CEB0F006C131E6C6C5A3803E0F83800FFE0EB3F801B1E7E9C20>79
D<B5128014E0380F00F01438143C141EA6143C143814F0EBFFE0148090C7FCAAEAFFF0A2171C7E
9B1C>I<3807E080EA1FF9EA3C1FEA7007130312E01301A36CC7FCA2127CEA7FC0EA3FF8EA1FFE
EA07FFC61380130FEB03C0A2130112C0A300E01380130300F01300EAFC0EEACFFCEA83F8121E7E
9C17>83 D<007FB512C0A238780F03007013010060130000E014E000C01460A400001400B03803
FFFCA21B1C7F9B1E>I<39FFF0FFC0A2390F001E00140CB36C5B138000035BEA01C03800E0E0EB
7FC0011FC7FC1A1D7E9B1F>I<3AFFE0FFE1FFA23A1F001E007C6C1530143FA201801470000790
38678060A32603C0E713C0ECC3C0A2D801E0EBC1809038E181E1A3D800F3EBF3001400A2017B13
F6017E137EA3013C133CA3011C133801181318281D7F9B2B>87 D<397FF0FFC0A23907C03E0000
031338EBE03000011370EBF06000005B1379EB7D80013FC7FC7FA27F80131FEB3BC0EB33E01371
EB61F0EBC0F800011378EB807C3803003C487F380F801F39FFE0FFF0A21C1C7F9B1F>I<EA0808
EA1818EA3030EA6060A2EAC0C0A3EAF8F8EAFCFCA2EA7C7CEA38380E0D7B9C15>92
D<EA0FE0EA1FF8EA3C3C7FEA180E1200131EEA07FE121FEA3E0E127812F01460A2131EEA783E38
3FFFC0381F878013127F9115>97 D<12FCA2121CA9137EEA1DFF381F8780381E01C0001C13E013
0014F0A614E01301001E13C0381F07803819FF00EA187C141D7F9C17>I<EA03F0EA0FF8EA1E3C
1238EA7818EA700012F0A612781306123CEA1E0CEA0FF8EA03E00F127F9112>I<EB1F80A21303
A9EA03E3EA0FFBEA1E0FEA3807EA7803127012F0A612701278EA3807EA1E1F380FFBF0EA07E314
1D7F9C17>I<EA03E0EA0FF0EA1C38EA381CEA781EEA700EEAFFFEA2EAF000A41270EA7806123C
EA1E0CEA0FF8EA03E00F127F9112>I<1378EA01FCEA039EEA071EEA0E0C1300A6EAFFE0A2EA0E
00AEEA7FE0A20F1D809C0D>I<EB03803807E7C0EA0FFDEA3C3D38381C00EA781EA4EA381CEA3C
3CEA3FF0EA37E00070C7FCA21230EA3FFC6CB4FC481380EA700738E001C0A438700380383C0F00
EA1FFEEA07F8121C7F9215>I<12FCA2121CA9137CEA1DFFEA1F07381E0380A2121CAB38FF9FF0
A2141D7F9C17>I<1218123C127C123C1218C7FCA612FCA2121CAEEAFF80A2091D7F9C0C>I<EA01
C0EA03E0A3EA01C0C7FCA6EA0FE0A21200B31260EAF1C0A2EA7F80EA3E000B25839C0D>I<12FC
A2121CA9EB7FC0A2EB3E0013185B5B5BEA1DE0121FEA1E70EA1C781338133C131C7F130F38FF9F
E0A2131D7F9C16>I<12FCA2121CB3A7EAFF80A2091D7F9C0C>I<39FC7E07E039FDFF9FF8391F83
B838391E01E01CA2001C13C0AB3AFF8FF8FF80A221127F9124>I<EAFC7CEAFDFFEA1F07381E03
80A2121CAB38FF9FF0A214127F9117>I<EA03F0EA0FFCEA1E1EEA380700781380EA700300F013
C0A600701380EA780700381300EA1E1EEA0FFCEA03F012127F9115>I<EAFC7EEAFDFF381F8780
381E03C0381C01E0A2EB00F0A6EB01E0A2381E03C0381F0780381DFF00EA1C7C90C7FCA6B47EA2
141A7F9117>I<3803E180EA0FF9EA1E1FEA3C071278130312F0A612781307123CEA1E1FEA0FFB
EA07E3EA0003A6EB1FF0A2141A7F9116>I<EAFDE0EAFFF0EA1F78121E1330EA1C00ABEAFFC0A2
0D127F9110>I<EA1F90EA3FF0EA7070EAE030A3EAF800EA7F80EA3FE0EA0FF0EA00F8EAC038A2
12E0A2EAF070EADFE0EA8FC00D127F9110>I<120CA5121CA2123CEAFFE0A2EA1C00A81330A5EA
1E60EA0FC0EA07800C1A7F9910>I<38FC1F80A2EA1C03AC1307EA0C0F380FFBF0EA03E314127F
9117>I<38FF0FE0A2381C0780EB0300EA0E06A36C5AA2131CEA0398A213F86C5AA26C5AA31312
7F9116>I<39FF3FCFE0A2391C0F0780EC0300131F380E1B061486A2EB318E000713CCA2136038
03E0F8A33801C070A31B127F911E>I<387F8FF0A2380F078038070600EA038EEA01DC13D8EA00
F01370137813F8EA01DCEA038E130EEA0607380F038038FF8FF8A21512809116>I<38FF0FE0A2
381C0780EB0300EA0E06A36C5AA2131CEA0398A213F86C5AA26C5AA35BA3EAF180A200C7C7FC12
7E123C131A7F9116>I<B512F0A21402808B15>123 D E /Fj 25 122 df<121C127FEAFF80A5EA
7F00121C09097B8813>46 D<13075B137FEA07FFB5FCA212F8C6FCB3AB007F13FEA317277BA622
>49 D<EBFF80000713F0001F13FC383F03FFD87C001380007FEB7FC0EAFF80EC3FE0A3141FEA7F
00001C133FC7FC15C0A2EC7F80A2ECFF00495A5CEB03F0495A495A495A90383E00E05B13789038
F001C0EA01C0EA038048B5FC5A5A5A481480B6FCA31B277DA622>I<EB7F803801FFF0000713FC
380F81FE381F80FF487E9038E07F80A5381FC0FFD807001300C7FC495AEB03F8495AEBFFC014F0
EB01FC6DB4FCEC7F8015C0143F15E0121EEA7F80A2EAFFC0A315C0147FD87F801380387E00FF6C
481300380FFFFC000313F0C613801B277DA622>I<14075C5C5C5C5CA25B5B497E130F130E131C
1338137013F013E0EA01C0EA0380EA07005A120E5A5A5A5AB612F8A3C71300A7017F13F8A31D27
7EA622>I<B612F8EDFF8016E03A03FE001FF8ED07FCED01FE6F7EEE7F80EE3FC0161F17E0A2EE
0FF0A417F8AA17F0A3EE1FE0A217C0163FEE7F801700ED01FE4B5AED1FF8B712E0168003FCC7FC
2D297DA835>68 D<B712E0A33903FE001FED07F015011500A21670A3913801C0781638A3020313
00A2140F90B5FCA3EBFE0F1403A20201130EA3161C91C7FCA3163C1638167816F815011503151F
B712F0A327297DA82D>I<B539F83FFFFEA3D803FEC71380AF90B7FCA349C7FCB1B5D8F83F13FE
A32F297DA836>72 D<B5ECFFFE80A200036DEB03808080EBBFF8EB9FFC138FEB87FE8001831380
018113C01380EC7FE015F0EC3FF8EC1FFCEC0FFE1407EC03FF16836E13C36E13E3157FED3FF3ED
1FFB16FF81818181A281167F163F161F160FEAFFFE160716032F297DA836>78
D<B612F815FF16C03A03FE003FE0ED0FF0ED07F816FC150316FEA716FC150716F8ED0FF0ED3FE0
90B61280EDFE0049C8FCB0B512F8A327297DA82F>80 D<007FB712C0A39039807FC03FD87C0014
0700781503A20070150100F016E0A2481500A5C71500B3A490B612E0A32B287EA730>84
D<48B47E000F13F0381F81FC486C7E147FA2EC3F80A2EA0F00C7FCA2EB0FFF90B5FC3807FC3FEA
1FE0EA3F80127F130012FEA3147F7E6CEBFFC0393F83DFFC380FFF0F3801FC031E1B7E9A21>97
D<EB1FF0EBFFFE3803F03F390FE07F80EA1FC0EA3F80A2127F9038001E004890C7FCA97E7F003F
EB01C013C0001F1303390FE007803903F01F003800FFFCEB1FE01A1B7E9A1F>99
D<EC3FF8A31403ACEB1FE3EBFFFB3803F03F380FE00F381FC007383F8003A2127F13005AA97EA2
EA3F801407381FC00F380FE01F3A03F03FFF803800FFF3EB3FC3212A7EA926>I<EB3FE03801FF
F83803F07E380FE03F391FC01F80393F800FC0A2EA7F00EC07E05AA390B5FCA290C8FCA47E7F00
3F14E01401D81FC013C0380FE0033903F81F803900FFFE00EB1FF01B1B7E9A20>I<9038FF81F0
0003EBE7FC390FC1FE7C391F80FCFC003FEBFE7C9038007E3848EB7F00A66C137EEB80FE001F5B
380FC1F8381FFFE0001813800038C8FC123CA2123E383FFFF814FF6C14C06C14E06C14F0121F39
7E0007F8007C13015A1400A36C1301007EEB03F06CEB07E0390FC01F803903FFFE0038007FF01E
287E9A22>103 D<1207EA1FC013E0123FA3121F13C0EA0700C7FCA7EAFFE0A3120FB3A3EAFFFE
A30F2B7DAA14>105 D<EAFFE0A3120FB3B2EAFFFEA30F2A7DA914>108 D<38FFC07F9038C1FFC0
9038C787E0390FCE07F09038DC03F813F813F0A313E0AF3AFFFE3FFF80A3211B7D9A26>110
D<EB3FE03801FFFC3803F07E390FC01F80391F800FC0003F14E0EB00074814F0A34814F8A86C14
F0A2393F800FE0A2001F14C0390FC01F803907F07F003801FFFC38003FE01D1B7E9A22>I<38FF
E1FE9038E7FF809038FE07E0390FF803F8496C7E01E07F140081A2ED7F80A9EDFF00A25DEBF001
4A5A01F85B9038FE0FE09038EFFF80D9E1FCC7FC01E0C8FCA9EAFFFEA321277E9A26>I<38FFC3
F0EBCFFCEBDC7E380FD8FF13F85BA3EBE03C1400AFB5FCA3181B7E9A1C>114
D<3803FE30380FFFF0EA3E03EA7800127000F01370A27E6C1300EAFFE013FE387FFFC06C13E06C
13F0000713F8C613FC1303130000E0137C143C7EA26C13787E38FF01F038F7FFC000C11300161B
7E9A1B>I<1370A413F0A312011203A21207381FFFF0B5FCA23807F000AD1438A73803F8700001
13F03800FFE0EB1F8015267FA51B>I<3AFFFE03FF80A33A07F0007000A26D13F000035CEBFC01
00015CA26C6C485AA2D97F07C7FCA2148FEB3F8E14DEEB1FDCA2EB0FF8A36D5AA26D5AA26D5AA2
495AA2EA3807007C90C8FCEAFE0F130E131E5BEA7C78EA3FE0EA0FC021277F9A24>121
D E /Fk 13 117 df<92380FFF804AB512F0020F14FC023F809139FFFC01FF01039039E0003F80
4990C7B47E4948497F49485B5C495AA24948497F705BA3705B705B71C7FC94C8FCA693383FFFF0
B9FCA526007FF0C7FC177FB3B1003FB5D8E03FB512E0A53B487EC742>12
D<B912C018FEF0FFC019F019FCD8001F902680000713FFDD007F7F060F13E0727F06017F727F73
7E737E857313801BC0851BE0851BF0A21BF885A21BFCA51BFE85AC611BFCA41BF8A34F13F0A34F
13E0A24F13C01B80614F1300624F5A4E485A4E5B060F5B067F5B0503B5C7FCBA5A19F819C04EC8
FC18C04F477CC65B>68 D<003FBBFCA5DA00039038F8003FD87FF80507138001E0170149834918
7F90C7173FA2007E191FA21A0F127CA400FC1AC0481907A5C894C7FCB3B3A40103B812F8A54A46
7CC553>84 D<903807FFFE017FEBFFE048B612F84815FE489039001FFF8003077F48D980017F6F
7FA2707EA2707E6C90C7FC6C5A6C5AC9FCA40207B5FC91B6FC130F013FEBF03F3901FFFE004813
F04813C04890C7FC485A485A485AA212FF5BA3167FA26D14FF6C6CEB01EF003F140301FF90380F
CFFF6C9026C07F8F13F8000790B5000713FC6CECFC03C66CEBF0010107903980007FF8362E7DAD
3A>97 D<EF7FC093B5FCA5160382B3EC1FFE49B512C1010714F1011F14F990267FFE03B5FC9039
FFF0007F4801C0131F48497F4890C77E484880121FA2485AA2127F5BA312FFAB127FA27F123FA2
121F7F000F5D6C6C5C6C6D5B6C6D137F6C6D90B57E90267FFC07ECFF806DB512F3010F14E30103
14839039003FF80339487CC742>100 D<EC1FFE49B512E0010714F8011F14FE90397FFC07FF90
26FFE0011380489039C0007FC0484914E04890C7EA3FF048ED1FF8485A160F484815FCA2007F15
074915FEA212FFA390B7FCA317FC01F8C9FCA5127F7FA2123F171C6C6C153E177E6C7E6C6D14FC
6C6D13016C6DEB03F86C6DEB1FF0D93FFEEBFFE06DB612800107ECFE00010014F8020F13802F2E
7DAD36>I<13FCEA03FF4813804813C014E05AA67E14C06C13806C1300EA00FC90C7FCABEB7FC0
B5FCA512037EB3B0B6FCA518497CC820>105 D<90287FC001FFC0ECFFE0B5010F01F8010713FC
033F01FE011F13FF92B6017F809126C1FE07902680FF037F9126C3F0039026C1F8017F00039026
C7C0019026E3E0007F6CD9CF00ECE78002DE03EFC7FC02DC6D01FE6E7E14FC4A5DA24A5DA24A5D
B3A8B6D8C07F9026FFE03FB512F0A55C2E7CAD63>109 D<903A7FC001FFC0B5010F13F8033F13
FE92B6FC9126C1FE077F9126C3F0037F00039026C7C0017F6CEBCF0014DE02DC6D7F14FC5CA25C
A25CB3A8B6D8C07FEBFFE0A53B2E7CAD42>I<EC0FFF91B512F0010714FE011F6E7E90263FFC03
7F903AFFE0007FF0480180EB1FF84890C76C7E48486E7E000F824980001F1780003F17C04980A2
007F17E0A300FF17F0AA007F17E0A46C6C4A13C0A2001F17806D5C000F17006C6C4A5A6C6D495A
6C6D495A6C6D495A903A7FFC03FFE0011FB6128001074AC7FC010014F0020F90C8FC342E7DAD3B
>I<9039FF803FC0B5EBFFF0028313FC02877F91388FE7FFEC9F070003D99E0F13806C13BCA214
F8A214F06F13004A6C5A6F5A92C8FCA25CB3A6B612E0A5292E7CAD31>114
D<90390FFF81E090B512F7000314FF5A380FFC01391FE0003FD83F80130F007F140790C7FC1503
5AA27F6D90C7FC13F013FF14F86CEBFFC015F86C14FE6C806C15806C15C06C15E0C615F0013F14
F81307EB001F020013FC153F0078140F00F81407A26C1403A27E16F86C14076D14F06D130F01F0
EB1FE001FEEBFFC090B6128048ECFE00D8F83F13F8D8F00313C0262E7CAD2F>I<EB01F0A61303
A31307A3130FA2131F133FA2137FEA01FF5A000F90B512C0B7FCA4C601F0C7FCB3A5ED01F0A915
03D97FF813E01507D93FFC13C090391FFE1F806DB5FC6D1400010113FC9038003FF024427EC12E
>I E /Fl 8 117 df<140F5C147FEB03FF131FB6FCA313E7EA0007B3B3A7007FB612E0A4233879
B732>49 D<DB1FFE14E00203B5EAC001021FECF803027FECFE07903B01FFFC00FF0F010701C0EB
1FDF4990C7EA07FFD93FFC804948804948804849157F4849153F4849151FA24890C9120FA24848
1607A2485AA2007F1703A34993C7FC12FFAD127F7FF001E0A2123FA26C7E18036C6C17C018076C
7FF00F806C7F6C6DED1F006C6D153E6D6C5D6D6C5DD90FFFEC03F06D01E0EB0FE0010101FCEB7F
C06D6CB6C7FC021F14FC020314E09126001FFEC8FC3B3D7ABB48>67 D<EB1FFF48B512F0000714
FC390FF807FF001F01017F6D6C7F6F7EA282153F6C5A6C5AEA01C0C8FCA2EC07FF0103B5FC131F
90B5123F000313C0000F1300EA1FFC485A485A5B12FF5BA3157FA26C6C13FF6D5A6C6C4813FC3B
1FFC0FDFFFF00007B5120F0001EBFC0739003FF0012C267DA530>97 D<903801FFC0011F13F801
7F13FE9038FFC1FF00039038007F80D807FCEB1FC0484814E0ED0FF0485A003FEC07F8A2485AED
03FCA212FFA290B6FCA301E0C8FCA5127FA27F003F153CA26C6C147C000F15786C6C14F86C6CEB
01F06C6CEB07E06C9038E03FC0013FB51200010F13FC010013E026267DA52D>101
D<13FFB5FCA412077EB0ED7FC0913803FFF8020F13FE91381F03FFEC3C01027814804A7E4A14C0
5CA25CA291C7FCB3A4B5D8FC3F13FFA4303C7CBB37>104 D<9039FF01FF80B5000F13F0023F13
FC9138FE03FFDAF00113C000039039E0007FE0028014F0EE3FF891C7121F17FC160F17FEA3EE07
FFAAEE0FFEA3EE1FFCA217F86EEB3FF06E137F6EEBFFE06E481380DAFC07130091383FFFFC020F
13F0020190C7FC91C9FCADB512FCA430377DA537>112 D<9038FE03F000FFEB0FFE91383FFF80
91387C7FC014F00007ECFFE06C6C5A5CA25CED7FC0ED3F80ED0E0091C8FCB3A3B512FEA423267D
A529>114 D<EB0780A5130FA4131FA2133FA2137F13FF5A1207001FEBFFF8B6FCA30001EB8000
B3153CA86C147814C0017F13F8ECE1F090381FFFE0010713C0010113001E377EB627>116
D E /Fm 25 122 df<127012F812FCA2127C120CA41218A21230A212601240060F7C840E>44
D<EA01801203120F12FF12F31203B3A8EAFFFEA20F217CA018>49 D<EA03F0EA0FFCEA1C1F3830
0F80EA6007EB03C012C000F013E0EAF801A3EA2003120014C0A2EB0780A2EB0F00131E131C5B5B
5B485A485A38070060120E120C4813E04813C0EA7FFFB5FCA213217EA018>I<EA03F0EA0FFCEA
1C1F383007801270007813C0A21303EA380712001480A2EB0F00130E133CEA03F8A2EA001E7FEB
078014C0130314E01220127012F8A200F013C01260EB07801230381C1F00EA0FFCEA03F013227E
A018>I<EA01F0EA07FCEA0E0E487E383803801278127038F001C0A314E0A5127013031278EA38
07EA1C0DEA0FF9EA07F1380081C0130113031480A2383007001278130EEA701C6C5AEA1FF0EA0F
C013227EA018>57 D<3803FFF0A238000F00B3A6127012F8A3EAF01EEA601CEA3878EA1FF0EA07
C014237EA119>74 D<D8FFC0EB03FF6D5B000715E0A2D806F0130DA301781319A36D1331A36D13
61A36D13C1A29038078181A3903803C301A3EB01E6A3EB00FCA31478EA1F80D8FFF0EB3FFF1430
28227EA12D>77 D<EB0FE0EB7FFCEBF83E3903E00F8039078003C0390F0001E0A2001EEB00F000
3E14F8003C1478007C147CA20078143CA200F8143EA9007C147CA3003C1478003E14F8001E14F0
6CEB01E0EB80033907C007C03903E00F803900F83E00EB7FFCEB0FE01F247DA226>79
D<3803F020380FFC60381C0EE0EA3803EA7001A2EAE000A21460A36C1300A21278127FEA3FF0EA
1FFE6C7E0003138038003FC0EB07E01301EB00F0A2147012C0A46C136014E06C13C0EAF80138EF
038038C7FF00EA81FC14247DA21B>83 D<EA0FE0EA1FF8EA3C1C7FEA18071200A25BEA03FF120F
EA3F07127C127812F01418A2130F1278387C3FB8383FF3F0380FC3C015157E9418>97
D<120E12FEA2121E120EAAEB1F80EB7FE0380FC0F0EB0078000E1338143C141C141EA7141C143C
000F1338EB8070EBC1F0380C7FC0EB1F0017237FA21B>I<EA01FEEA07FF380F0780121C383803
000078C7FC127012F0A7127814C07E381E0180380F0300EA07FEEA01F812157E9416>I<14E013
0FA213011300AAEA03F0EA07FEEA1F07EA3C01EA38001278127012F0A712701278EA3801EA3C03
381E0EF0380FFCFEEA03F017237EA21B>I<EA01FCEA07FF380F0780381C03C0EA3801007813E0
EA7000B5FCA200F0C7FCA5127814607E6C13C0380F83803807FF00EA00FC13157F9416>I<121C
121E123E121E121CC7FCA8120E12FEA2121E120EAFEAFFC0A20A227FA10E>105
D<120E12FEA2121E120EB3ABEAFFE0A20B237FA20E>108 D<390E1FC07F3AFE7FE1FF809039C0
F303C03A1F807E01E0390F003C00000E1338AE3AFFE3FF8FFEA227157F942A>I<380E1F8038FE
7FC038FFC1E0381F80F0380F0070120EAE38FFE7FFA218157F941B>I<EA01FCEA07FF380F0780
381C01C0383800E0007813F00070137000F01378A700701370007813F0003813E0381C01C0380F
07803807FF00EA01FC15157F9418>I<EA0E3CEAFEFEEAFFCFEA1F8FEA0F061300120EADEAFFF0
A210157F9413>114 D<EA0F88EA3FF8EA7078EAE0381318A3EAF000127FEA3FE0EA1FF0EA01F8
EA003CEAC01CA212E0A2EAF018EAF878EADFF0EA8FC00E157E9413>I<1206A5120EA3121E123E
EAFFF8A2EA0E00AA130CA51308EA0718EA03F0EA01E00E1F7F9E13>I<000E137038FE07F0A2EA
1E00000E1370AC14F01301380703783803FE7FEA01F818157F941B>I<38FFC3FEA2381E00F800
0E1360A26C13C0A338038180A213C300011300A2EA00E6A3137CA31338A217157F941A>I<38FF
C3FEA2381E00F8000E1360A26C13C0A338038180A213C300011300A2EA00E6A3137CA31338A213
30A213701360A2EAF0C012F1EAF380007FC7FC123E171F7F941A>121 D
E /Fn 22 118 df<14FF01077F90381F01C090383C00604913F0EBF001EA01E0A248486C5A92C7
FCAAB612F0A23803C0011400B3A7486C487E3A7FFE1FFF80A221327FB124>12
D<B51280A311037F9016>45 D<B612E015FC3907E0007F0003EC0F806F7EED01E06F7E1678167C
82A282A2EE0F80A217C0A21607A217E0AB17C0A3160F1780A3EE1F00A2163E5E167816F84B5AED
07E0ED0F800007027FC7FCB612FC15E02B317CB033>68 D<B51280A23807F0006C5AB3B3A7487E
B51280A211317DB017>73 D<D8FFF0ED7FF86D15FF0007170000035E017CEC01BEA36DEC033EA3
6D1406A36D6C130CA36D6C1318A36D6C1330A36D6C1360A216C06D7EA291387C0180A391383E03
00A3EC1F06A3EC0F8CA3EC07D8A3EC03F0A3486C6C5AD80FC0157FD8FFFC91380FFFF8EC00C035
317CB03D>77 D<B612C015F83907E000FE0003141FED0F80ED07C0ED03E016F01501A216F8A616
F0A2150316E0ED07C0ED0F80ED1F0015FE90B512F815C001E0C8FCB3A2487EB57EA225317CB02D
>80 D<90387F80203901FFE0603807C0F8390F001CE0001E130F48130700381303007813011270
140012F0A21560A37E1500127C127E7E13C0EA1FF86CB47E6C13F86C7FC613FF010F1380010013
C0EC1FE01407EC03F01401140015F8A200C01478A57E15706C14F015E07E6CEB01C06CEB038039
E780070038C1F01E38C07FFC38800FF01D337CB125>83 D<007FB712E0A29039000F800F007C15
0300781500127000601660A200E01670A2481630A6C71500B3AC4A7E010FB57EA22C317EB030>
I<EA01FE380FFFC0381C03E0383C00F0003E137880141C0008131EC7FCA4EB01FE133F3801FF1E
EA07F0EA0F80EA1F00123E5AA248140CA3143EA2007C137E6CEBDF1C391F038FB8390FFF07F039
03F803C01E1F7D9E21>97 D<EB3FC0EBFFF83803E01C3807801E380F003E121EA2481308007C13
00A2127812F8A9127CA36C1303121E001F1306380F800E3807C01C3803F0383800FFE0EB3F8018
1F7D9E1D>99 D<EC01E0143FA214031401AFEB3F81EBFFE13803E0793807800D380F0007001E13
0314015A127CA2127812F8A91278127CA2123C003E1303001E13076C130F3807801D3903E071F0
3901FFE1FF38003F0120327DB125>I<EB3F80EBFFE03803E0F83807803C48487E121E805A127C
15800078130712F8B6FCA200F8C8FCA61278127C123CEC01807E6CEB0300EB80063807C00E3801
F03C3800FFF0EB1FC0191F7E9E1D>I<EB03E0EB1FF8EB3C38EB707C13F0EA01E014383803C000
ACB512C0A23803C000B3A8487EEA7FFFA216327FB114>I<15F090387F03F83901FFCF1C3803C1
FC390780F818390F00780048137C001E133C003E133EA7001E133C001F137C6C13786C6C5A380F
C1E0380DFFC0D81C7FC7FC0018C8FCA2121CA2121E380FFFF814FF6C14804814C0391E0007E000
38EB01F048EB00701578481438A500701470007814F06CEB01E06CEB03C03907C01F003801FFFC
38003FE01E2F7E9F21>I<1207EA0F80121FA2120FEA0700C7FCABEA078012FFA2120F1207B3A6
EA0FC0EAFFF8A20D307EAF12>105 D<260781FEEB3FC03BFF87FF80FFF0903A8E07C1C0F83B0F
9803E3007C2707B001E6133C9026E000FC7F495BA3495BB3486C486C133F3CFFFC1FFF83FFF0A2
341F7E9E38>109 D<380781FE39FF87FF8090388E07C0390F9803E03807B0019038E000F05BA3
5BB3486C487E3AFFFC1FFF80A2211F7E9E25>I<EB1FC0EBFFF83801E03C3807800F390F000780
001EEB03C0A248EB01E0A248EB00F0A300F814F8A8007814F0007C1301003C14E0A26CEB03C0A2
6CEB07803907C01F003801F07C6CB45AEB1FC01D1F7E9E21>I<380783E038FF8FF8EB9C7CEA0F
B0EA07F0EBE038EBC000A35BB3487EEAFFFEA2161F7E9E19>114 D<3801FC10380FFF30381E03
F0EA38004813705A1430A37E6C1300127EEA3FF06CB4FC6C1380000313E038003FF0EB03F8EB00
7800C0133CA2141C7EA27E14186C13386C137038EF01E038C3FFC03880FE00161F7E9E1A>I<13
C0A51201A31203A21207120F121FB512E0A23803C000B01430A83801E060A23800F0C0EB7F80EB
1F00142C7FAB19>I<D8078013F000FF131FA2000F130100071300B31401A2140300031307EBC0
0E3901F03CF83A00FFF0FF80EB3FC0211F7E9E25>I E /Fo 5 85 df<1630167016F0A21501A2
1503A21507150FA2151B821531A2156115E115C1EC0181A2EC0301A21406A2140C141C14181430
A202607FA2ECC000A249B5FC5B91C7FC1306A25BA25BA25B1370136013E01201000381D80FF013
01D8FFFE90383FFFF0A22C337CB235>65 D<010FB6FC17C0903A003F8007F0EE01F892C7127C17
7E4A143E83147E188002FE140FA24A15C0A21301A25CA21303171F5CA2130718804A143FA2130F
18004A5CA2011F157E17FE4A5CA2013F4A5A5F91C712034C5A495D160F017E4A5A4CC7FC01FE14
7E16F849495AED07E00001EC3F80B600FEC8FC15F032317CB036>68 D<010FB612FEA29039003F
8000173E92C7121EA24A140CA2147EA214FEA25CA20101151CEEC0184A1400A201031301A202F0
5B15030107130F91B5FC93C7FCECE00F010F7FA2ECC006A2011F130EA2EC800C92C8FC133FA291
C9FCA25BA2137EA213FEA25BA21201B512FCA22F317CB02F>70 D<010FB512F816FF903A003F80
1FC0EE07E092380003F0EE01F84AEB00FCA2147EA214FE16015CA2010115F816034A14F0EE07E0
1303EE0F804AEB3F00167E0107EB03F891B512E016809138E007C0010FEB03F015014A6C7EA201
1F80A25CA2013F1301A21400A249495AA2137E170601FE150E170C5B171C000102011338B539F0
00FC70EE7FE0C9EA1F802F327CB034>82 D<0007B712F8A23A0FE007F00101801400D80E004913
70121E001C130F121800385CA20030011F1460127000605CA2023F14E000E016C0C790C8FCA25C
A2147EA214FEA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25C133F497E007F
B512C0A22D3174B033>84 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300
TeXDict begin
%%EndSetup
%%Page: 0 1
bop 795 947 a Fo(D)26 b(R)g(A)f(F)h(T)225 1038 y Fn(Do)r(cumen)n(t)20
b(for)i(a)f(Standard)g(Message-P)n(assing)f(In)n(terface)657
1130 y(T)-6 b(erms)21 b(and)g(De\014nitions)869 1312 y Fm(Marc)16
b(Snir)505 1371 y(to)h(b)q(e)f(assumed)g(and)g(subsumed)g(b)o(y)g(Stev)o(e)f
(Otto)833 1489 y(July)h(23,)g(1993)p eop
%%Page: 1 2
bop 75 356 a Fl(Chapter)32 b(1)75 564 y Fk(T)-10 b(erms)39
b(and)h(De\014nitions)75 805 y Fj(1.1)70 b(Notation)75 896
y Fi(Discussions)14 b(that)g(are)h(not)e(part)i(of)e(the)h(standard)h(are)f
(indicated)g(b)o(y)f(small)f(t)o(yp)q(e.)158 945 y(The)k(MPI)g(pro)q(cedures)
i(are)e(sp)q(eci\014ed)h(using)e(a)g(language)g(indep)q(enden)o(t)i
(notation.)22 b(The)16 b(parameters)g(of)75 995 y(pro)q(cedure)j(calls)d(are)
h(mark)o(ed)f(as)h Fh(in)p Fi(,)g Fh(out)f Fi(or)h Fh(inout)p
Fi(.)25 b(The)18 b(call)e(uses)i(but)f(do)q(es)g(not)g(up)q(date)h(a)e
(parameter)75 1045 y(mark)o(ed)e Fh(in)p Fi(,)h(ma)o(y)f(up)q(date)i(a)f
(parameter)g(mark)o(ed)g Fh(out)f Fi(and)i(b)q(oh)o(t)f(uses)i(and)e(up)q
(dates)i(a)e(parameter)g(mark)o(ed)75 1095 y Fh(inout)p Fi(.)i(If)c(a)h
(parameter)f(is)h(a)f(handle)h(to)g(an)f(opaque)h(ob)r(ject,)g(and)g(the)g
(ob)r(ject)h(is)f(up)q(dated)g(b)o(y)g(the)g(pro)q(cedure)75
1145 y(call,)f(then)h(the)h(parameter)e(is)h(mark)o(ed)f Fh(out)p
Fi(.)158 1195 y(The)f(de\014nition)f(of)g(MPI)h(tries)g(to)g(a)o(v)o(oid,)e
(to)h(the)h(largest)g(p)q(ossible)g(exten)o(t,)g(the)h(use)f(of)f
Fh(inout)f Fi(parameters,)75 1244 y(b)q(ecause)16 b(suc)o(h)e(use)h(is)f
(error-prone,)g(esp)q(ecially)g(for)g(scalar)g(parameters.)158
1294 y(A)j(frequen)o(t)g(situation)e(is)i(where)g(a)f(parameter)g(is)h(used)g
(as)f Fh(in)g Fi(b)o(y)h(some)e(pro)q(cesses)k(and)d Fh(out)g
Fi(b)o(y)g(other)75 1344 y(pro)q(cesses.)28 b(Suc)o(h)17 b(parameter)f(is,)h
(syn)o(tactically)m(,)e(an)h Fh(input)g Fi(parameter,)g(although,)g(seman)o
(tically)m(,)e(it)i(is)g(not)75 1394 y(used)f(in)e(one)h(call)f(b)q(oth)h
(for)g(input)g(and)f(for)h(output.)158 1522 y Fg(Discussion:)158
1568 y Ff(W)m(e)f(migh)o(t)h(w)o(an)o(t)f(to)g(distinguish)j(this)e(use;)f
(e.g.)k Fe(in/out)10 b Ff(vs)k Fe(inout)p Ff(.)158 1700 y Fi(Another)c
(frequen)o(t)h(situation)d(is)i(where)g(a)g(parameter)f(v)n(alue)g(is)g
(needed)i(only)d(b)o(y)i(a)f(subset)i(of)e(the)h(pro)q(cesses.)75
1750 y(When)i(a)g(parameter)g(is)f(not)h(signi\014can)o(t)g(at)g(a)f(pro)q
(cess)j(then)f(an)e(arbitrary)h(v)n(alue)g(can)g(b)q(e)g(passed)h(as)g
(argumen)o(t.)158 1800 y(An)h(comm)o(unication)d(op)q(eration)j(is)g(termed)g
(to)g(b)q(e)h Fd(non)o(blo)q(c)o(kin)o(g)c Fi(if)i(it)h(ma)o(y)e(return)k(b)q
(efore)f(the)f(related)75 1850 y(comm)o(unication)g(op)q(eration)j
(completes;)i Fd(blo)q(c)o(king)p Fi(,)c(otherwise.)30 b(An)17
b(op)q(eration)g(is)h Fd(lo)q(cal)e Fi(if)h(its)g(execution)75
1900 y(do)q(es)f(not)e(en)o(tail)g(comm)o(unication,)e(and)i(do)q(es)i(not)f
(dep)q(end)h(on)e(the)i(state)f(of)f(other)i(pro)q(cesses;)h
Fd(global)p Fi(,)c(if)h(its)75 1949 y(completion)c(ma)o(y)f(dep)q(end)k(on)e
(comm)o(unication)d(o)q(ccuring;)13 b Fd(collectiv)o(e)8 b
Fi(if)j(sev)o(eral)h(pro)q(cesses)i(need)f(participate)75 1999
y(in)g(its)h(execution.)75 2136 y Fj(1.2)70 b(Data)23 b(T)n(yp)r(es)75
2236 y Fc(1.2.1)55 b(Opaque)19 b(ob)s(jects)75 2312 y Fi(MPI)12
b(pro)q(cedures)i(use)e(at)g(v)n(arious)f(places)h Fb(op)n(aque)i(obje)n(cts)
p Fi(.)j(Opaque)12 b(ob)r(jects)h(hide)e(from)f(the)i(user)h(the)f(in)o
(ternal)75 2362 y(represen)o(tation)17 b(used)g(for)e(v)n(arious)g(MPI)h(ob)r
(jects,)h(th)o(us)g(allo)o(wing)c(to)j(ha)o(v)o(e)f(similar)f(calls)h(in)g(C)
h(and)g(F)m(ortran,)75 2412 y(allo)o(wing)g(to)i(o)o(v)o(ercome)f(problems)g
(with)h(the)h(t)o(yping)e(rules)i(in)f(these)i(languages,)e(and)g(allo)o
(wing)e(for)h(future)75 2462 y(extension)h(of)f(their)h(functionalit)o(y)m(.)
26 b(The)18 b(mec)o(hanism)d(for)i(opaque)g(ob)r(jects)i(used)f(here)h(lo)q
(osely)e(follo)o(ws)e(the)75 2512 y(POSIX)g(F)m(ortran)e(binding)g(standard.)
158 2561 y(An)i(opaque)g(ob)r(ject)h(can)g(b)q(e)g(allo)q(cated)e(on)h(user)i
(storage)e(or)g(on)g(system)g(\(i.e.)22 b(MPI)15 b(managed\))f(storage.)75
2611 y(W)m(e)19 b(call)g(the)g(former)g(a)g Fb(user)h(obje)n(ct)f
Fi(and)g(the)h(later)f(a)g Fb(system)h(obje)n(ct)p Fi(.)34
b(User)21 b(ob)r(jects)f(are)g(allo)q(cated)f(and)75 2661 y(deallo)q(cated)d
(explicitly)f(b)o(y)g(the)i(user)f(as)g(a)g(regular)g(\(structured\))i(v)n
(ariable.)k(The)17 b(t)o(yp)q(e)f(de\014nitions)g(for)f(suc)o(h)965
2828 y(1)p eop
%%Page: 2 3
bop 75 -100 a Fa(CHAPTER)14 b(1.)32 b(TERMS)13 b(AND)h(DEFINITIONS)941
b Fi(2)75 45 y(ob)r(jects)13 b(are)g(pro)o(vided)e(b)o(y)h(MPI.)g(The)g(ob)r
(jects)i(can)e(b)q(e)g(accessed)j(and)d(mo)q(di\014ed)e(only)h(via)h(MPI)g
(functions)g(that)75 95 y(tak)o(e)i(suc)o(h)h(ob)r(jects)g(as)f(parameters.)
158 145 y(System)f(ob)r(jects)j(are)e(accessed)i(only)e(via)f
Fb(hand)r(les)p Fi(.)19 b(A)14 b(di\013eren)o(t)h(t)o(yp)q(e)f(of)g(handle)f
(is)h(de\014ned)h(b)o(y)f(MPI)g(for)75 195 y(eac)o(h)g(t)o(yp)q(e)f(of)g
(opaque)g(system)g(ob)r(ject)h(\(in)f(C;)g(in)f(F)m(ortran)h(all)f(handles)i
(ha)o(v)o(e)f(t)o(yp)q(e)h Fh(INTEGER)p Fi(\).)d(The)j(allo)q(cation)75
244 y(and)i(deallo)q(cation)f(of)h(suc)o(h)h(ob)r(ject,)g(and)f(an)o(y)f
(access)j(or)e(up)q(date)h(to)f(it,)g(are)h(done)f(only)f(via)h(MPI)g(calls)g
(that)75 294 y(accept)f(as)f(parameters)g(handles)g(to)g(suc)o(h)h(ob)r
(jects.)158 344 y(An)h(op)q(que)g(ob)r(ject,)h(and)e(the)i(handle)e(to)h(suc)
o(h)h(ob)r(ject)f(are)g(signi\014can)o(t)g(only)f(at)g(the)i(pro)q(cess)g
(where)g(the)75 394 y(ob)r(ject)e(w)o(as)e(created,)i(and)f(cannot)g(b)q(e)h
(transferred)g(to)f(another)g(pro)q(cess)i(\(ob)r(jects)f(are)g(lo)q(cal\).)
158 444 y(Opaque)h(system)g(ob)r(ject)g(are)h(allo)q(cated)e(and)h(deallo)q
(cated)f(created)j(b)o(y)d(calls)h(that)f(are)i(sp)q(eci\014c)g(to)e(eac)o(h)
75 493 y(ob)r(ject)h(t)o(yp)q(e.)24 b(These)17 b(are)f(listed)f(in)h(the)g
(sections)g(where)h(the)f(ob)r(jects)h(are)f(describ)q(ed.)25
b(A)16 b(call)f(to)g(deallo)q(cate)75 543 y(an)e(opaque)g(system)g(ob)r(ject)
i(do)q(es)f(not)f(necessarily)h(deallo)q(cate)g(the)f(ob)r(ject)i(imm)o
(ediatly)l(,)10 b(but)k(only)e(mark)g(it)h(as)75 593 y(candidate)j(for)f
(deallo)q(cation.)22 b(The)16 b(ob)r(ject)h(will)d(b)q(e)i(deallo)q(cated)g
(as)f(as)h(so)q(on)g(as)f(there)i(there)g(is)e(no)h(p)q(ending)75
643 y(op)q(eration)d(that)h(is)g(using)f(this)h(ob)r(ject;)g(the)g(handle)f
(then)i(b)q(ecomes)e(n)o(ull.)k(F)m(or)c(example,)f(if)h(a)g(comm)o
(unication)75 693 y(ob)r(ject)f(is)g(freed,)h(after)e(the)i(comm)o(unicatio)o
(n)c(started)k(but)f(b)q(efore)g(it)g(completed,)f(then)h(the)g(p)q(ending)g
(op)q(eration)75 742 y(is)18 b(not)h(a\013ected;)i(one)e(can)g(use)g(the)g
(handle)g(in)f(calls)g(to)g Fh(MPI)p 1098 742 14 2 v 15 w(WAIT)g
Fi(or)g Fh(MPI)p 1340 742 V 15 w(STATUS)f Fi({)h(one,)i(in)e(fact,)h(m)o(ust)
75 792 y(complete)c(the)g(comm)o(unication)d(with)j(a)g(successful)i(call)e
(to)g Fh(MPI)p 1136 792 V 15 w(WAIT)f Fi(or)h Fh(MPI)p 1371
792 V 15 w(STATUS)p Fi(.)f(Ho)o(w)o(ev)o(er,)h(once)h(the)75
842 y(op)q(eration)e(completes,)f(it)g(is)h(erroneous)h(to)f(reuse)i(the)e
(freed)h(handle)f(for)f(a)h(new)g(comm)o(unication.)158 975
y Fg(Implemen)o(tation)k(note:)54 b Ff(Some)18 b(ob)r(jects,)h(suc)o(h)f(as)g
(bu\013er)h(descriptor)g(ob)r(jects,)g(can)f(b)q(e)g(used)h(b)o(y)f(sev)o
(eral)75 1024 y(distinct)h(concurren)o(t)f(comm)o(unication)h(op)q(erations.)
31 b(Th)o(us,)18 b(to)f(\014nd)g(out)g(whether)h(suc)o(h)f(ob)r(ject)g(can)h
(b)q(e)f(freed,)g(one)75 1074 y(needs)d(a)f(reference)g(coun)o(t)h(of)e(p)q
(ending)k(op)q(erations.)158 1285 y Fg(Discussion:)158 1331
y Ff(Need)g(a)g(test)g(to)g(see)g(of)g(a)g(handle)i(is)f(n)o(ull.)28
b(In)16 b(C,)f(if)i(handles)h(are)e(p)q(oin)o(ter,)i(a)e(comparision)i(th)f
(NULL)e(can)i(b)q(e)75 1377 y(used.)g(In)12 b(F)m(ortran,)g(ma)o(y)g(either)g
(ha)o(v)o(e)g(a)g(function)h Fe(MPI)p 891 1377 12 2 v 13 w(IS)p
944 1377 V 13 w(NULL)d Ff(\(and)i(mak)o(e)g(it)g(a)o(v)n(ailable)j(in)d(C,)f
(to)q(o,)h(for)f(compatibili)q(t)o(y)75 1422 y(reasons\),)j(or)f(ha)o(v)o(e)g
(a)g(NULL)f(v)n(alue,)i(that)g(can)f(b)q(e)g(used)h(in)g(comparisons,)g(in)g
(amnner)g(similar)h(to)e(a)g(C)g(n)o(umll)h(p)q(oin)o(ter.)158
1468 y(Oppinions?)158 1600 y Fi(MPI)k(ma)o(y)e(pro)o(vide)h(prede\014ned)j
(opaque)d(ob)r(jects)i(and)f(prede\014ned,)i(static)e(handles)g(to)f(these)i
(ob)r(jects.)75 1650 y(Suc)o(h)14 b(ob)r(jects)h(ma)o(y)d(not)i(b)q(e)h
(destro)o(y)o(ed.)75 1766 y Fc(1.2.2)55 b(Arra)n(y)19 b(of)g(handles)75
1843 y Fi(An)d(MPI)g(call)e(ma)o(y)g(need)j(a)e(parameter)g(that)h(is)f(an)g
Fb(arr)n(ay)h(of)h(hand)r(les)p Fi(.)23 b(The)17 b(arra)o(y-of-handles)d(is)i
(a)f(regular)75 1893 y(arra)o(y)d(with)h(en)o(tries)g(that)g(are)g(handles)g
(to)f(ob)r(jects)i(of)e(the)h(same)e(t)o(yp)q(e)j(in)e(consecutiv)o(e)i
(initial)c(lo)q(cations)i(in)g(the)75 1943 y(arra)o(y)m(.)17
b(Whenev)o(er)c(suc)o(h)h(arra)o(y)e(is)g(used,)i(an)e(additional)f
Fh(len)h Fi(parameter)g(is)g(required)i(to)e(indicate)h(the)g(n)o(um)o(b)q
(er)75 1992 y(of)g(v)n(alid)g(en)o(tries)i(\(unless)f(this)g(n)o(um)o(b)q(er)
f(can)i(b)q(e)f(deriv)o(ed)h(otherwise\).)75 2109 y Fc(1.2.3)55
b(State)75 2185 y Fi(MPI)18 b(pro)q(cedures)i(use)e(at)g(v)n(arious)f(places)
h(argumen)o(ts)f(with)g Fb(state)g Fi(t)o(yp)q(es.)30 b(The)18
b(v)n(alues)g(of)f(suc)o(h)h(data)f(t)o(yp)q(e)75 2235 y(are)e(all)f(iden)o
(ti\014ed)h(b)o(y)f(names,)g(and)h(no)f(op)q(eration)h(is)f(de\014ned)i(on)f
(them.)20 b(F)m(or)14 b(example,)f(the)j Fh(MPI)p 1673 2235
14 2 v 15 w(COMM)p 1776 2235 V 15 w(INIT)75 2285 y Fi(routine)e(has)g(a)g
(state)g(t)o(yp)q(e)h(parameter)e(with)h(v)n(alues)g Fh(MPI)p
1008 2285 V 15 w(STANDARD)p Fi(,)d Fh(MPI)p 1288 2285 V 15
w(READY)p Fi(,)i(etc.)75 2401 y Fc(1.2.4)55 b(Named)18 b(constan)n(ts)75
2478 y Fi(MPI)e(pro)q(cedures)j(sometimes)14 b(assign)i(a)g(sp)q(ecial)g
(meaning)e(to)i(a)g(sp)q(ecial)g(v)n(alue)g(of)f(a)h(basic)g(t)o(yp)q(e)h
(parameter;)75 2528 y(e.g.)i Fh(tag)14 b Fi(is)g(an)g(in)o(teger)g(v)n(alued)
g(parameter)g(of)g(p)q(oin)o(t-to-p)q(oin)o(t)f(comm)o(unicatio)o(n)f(op)q
(erations,)i(with)g(a)g(sp)q(ecial)75 2577 y(wildcard)e(v)n(alue,)g
Fh(MPI)p 429 2577 V 16 w(ANY)p 511 2577 V 15 w(TAG)p Fi(.)f(Suc)o(h)j
(parameters)f(will)e(ha)o(v)o(e)i(a)f(range)h(of)g(regular)g(v)n(alues,)f
(whic)o(h)h(is)f(a)h(prop)q(er)75 2627 y(subrange)f(of)f(the)h(range)g(of)e
(v)n(alues)i(of)e(the)i(corresp)q(onding)h(basic)e(t)o(yp)q(e;)i(sp)q(ecial)e
(v)n(alues)h(\(suc)o(h)g(as)f Fh(MPI)p 1700 2627 V 15 w(ANY)p
1781 2627 V 15 w(TAG)p Fi(\))p eop
%%Page: 3 4
bop 75 -100 a Fa(CHAPTER)14 b(1.)32 b(TERMS)13 b(AND)h(DEFINITIONS)941
b Fi(3)75 45 y(will)14 b(b)q(e)j(outside)f(the)g(regular)g(range.)24
b(The)16 b(range)g(of)g(regular)f(v)n(alues)h(can)g(b)q(e)g(queried,)h(and)e
(sometimes)g(set,)75 95 y(using)f(en)o(vironmen)o(t)e(inquiry)i(or)f(en)o
(vironmen)o(t)g(setting)h(functions)g(\(Chapter)h Fd(??)p Fi(\).)158
223 y Fg(Discussion:)158 269 y Ff(Implemen)o(ters)i(should)g(detect,)f
(whenev)o(er)g(p)q(ossible,)i(illegal)g(uses)e(of)f(\\sp)q(ecial)j(v)n
(alues".)25 b(Th)o(us,)16 b(the)g(use)g(of)f(the)75 315 y Fe(MPI)p
137 315 12 2 v 13 w(ANY)p 210 315 V 13 w(TAG)d Ff(v)n(alue)i(to)f(tag)g(a)g
(message)g(sen)o(t)h(will)g(b)q(e)g(\015agged)g(as)f(an)g(error.)75
513 y Fc(1.2.5)55 b(Choice)75 590 y Fi(MPI)15 b(functions)h(sometimes)d(use)j
(parameters)f(with)g(a)f Fb(choic)n(e)i Fi(\(or)f(union\))g(data)f(t)o(yp)q
(e.)23 b(I.e.,)14 b(distinct)h(calls)g(to)75 640 y(the)i(same)f(routine)h(ma)
o(y)e(pass)i(b)o(y)f(reference)j(actual)d(parameters)h(of)f(di\013eren)o(t)i
(t)o(yp)q(es.)27 b(The)17 b(mec)o(hanism)d(for)75 690 y(pro)o(viding)f(suc)o
(h)h(parameters)g(will)f(di\013er)h(from)e(language)h(to)h(language.)158
818 y Fg(Discussion:)158 864 y Ff(The)i(F)m(ortran)g(77)g(standard)h(sp)q
(eci\014es)h(that)e(the)g(t)o(yp)q(e)g(of)g(actual)h(argumen)o(ts)g(need)f
(to)g(agree)g(with)h(the)f(t)o(yp)q(e)g(of)75 909 y(dumm)o(y)g(argumen)o(ts;)
i(no)f(construct)f(equiv)n(alen)o(t)i(to)e(C)g(p)q(oin)o(ters)h(is)f(a)o(v)n
(ailable.)29 b(Th)o(us,)16 b(it)g(w)o(ould)h(seem)f(that)g(there)g(is)75
955 y(no)f(standard)h(conforming)g(mec)o(hanism)g(to)e(supp)q(ort)i(c)o
(hoice)g(parameters.)22 b(Ho)o(w)o(ev)o(er,)14 b(most)h(F)m(ortran)g
(compiler)h(either)75 1001 y(don't)g(c)o(hec)o(k)g(t)o(yp)q(e)g(consistency)i
(of)e(calls)h(to)f(external)h(routines,)g(or)f(supp)q(ort)h(a)f(sp)q(ecial)h
(mec)o(hanism)h(to)d(link)j(foreign)75 1046 y(\(e.g.,)c(C\))g(routines.)23
b(W)m(e)15 b(accept)g(this)h(nonconformit)o(y)g(with)f(F)m(ortran)g(77)g
(standard.)23 b(I.e.,)14 b(w)o(e)g(accept)h(that)g(the)g(same)75
1092 y(routine)f(ma)o(y)g(b)q(e)f(passed)h(an)f(actual)h(parameter)g(of)f(a)g
(di\013eren)o(t)h(t)o(yp)q(e)g(at)f(distinct)i(calls.)158 1138
y(Generic)h(routines)g(can)f(b)q(e)g(used)g(in)g(F)m(ortran)g(90)g(to)g(pro)o
(vide)h(a)e(standard)i(conforming)g(solution.)24 b(This)16
b(solution)75 1183 y(will)f(b)q(e)e(consisten)o(t)h(with)g(our)f(nonstandard)
i(conforming)g(F)m(ortran)e(77)g(solution.)75 1403 y Fj(1.3)70
b(Pro)r(cesses)75 1494 y Fi(An)11 b(MPI)h(program)d(is)i(executed)i(b)o(y)e
(sev)o(eral)h(autonomous)d(pro)q(cesses)14 b(that)d(eac)o(h)g(execute)i
(their)f(o)o(wn)f(co)q(de,)h(in)e(a)75 1544 y(MIMD)h(st)o(yle.)18
b(The)12 b(co)q(des)h(executed)g(b)o(y)f(eac)o(h)g(pro)q(cess)h(need)g(not)e
(b)q(e)h(iden)o(tical.)17 b(The)12 b(pro)q(cesses)i(comm)o(unicate)75
1594 y(via)h(calls)h(to)g(MPI)h(comm)o(uni)o(cation)c(primitiv)o(es.)23
b(T)o(ypically)m(,)15 b(eac)o(h)h(pro)q(cessor)j(executes)f(in)e(its)g(o)o
(wn)g(address)75 1644 y(space,)g(although)d(shared-memory)g(implemen)o
(tations)f(of)i(MPI)h(are)g(p)q(ossible.)21 b(This)15 b(do)q(cumen)o(t)f(sp)q
(eci\014es)i(the)75 1693 y(b)q(eha)o(vior)j(of)f(a)h(parallel)e(program)h
(assuming)f(that)i(only)f(MPI)h(calls)g(are)g(used)h(for)f(comm)o(unicatio)o
(n.)31 b(The)75 1743 y(in)o(teraction)14 b(of)g(an)g(MPI)g(program)f(with)g
(other)i(p)q(ossible)g(means)e(of)g(comm)o(unication)e(\(e.g.,)i(shared)i
(memory\))75 1793 y(is)f(not)g(sp)q(eci\014ed.)158 1843 y(MPI)f(do)q(es)g
(not)f(sp)q(ecify)h(the)g(execution)g(mo)q(del)e(for)h(eac)o(h)h(pro)q(cess.)
20 b(A)12 b(pro)q(cess)i(can)f(b)q(e)g(sequen)o(tial,)f(or)h(can)75
1893 y(b)q(e)h(m)o(ultithreaded,)f(with)g(threads)i(p)q(ossibly)e(executing)i
(concurren)o(tly)m(.)j(Care)c(has)g(b)q(een)h(tak)o(en)f(to)f(mak)o(e)g(MPI)
75 1943 y(\\thread-safe",)h(b)o(y)f(a)o(v)o(oiding)f(the)j(use)f(of)g
(implicit)d(global)h(states.)158 1992 y(MPI)h(do)q(es)g(not)f(sp)q(ecify)i
(either)f(the)g(in)o(teraction)f(of)g(pro)q(cesses)k(with)c(signals,)f(in)h
(a)h(Unix)f(en)o(vironmen)o(t,)f(or)75 2042 y(other)h(ev)o(en)o(ts)h(that)f
(do)g(not)g(relate)g(to)g(MPI)g(comm)o(unicatio)o(n.)j(I.e.,)c(signals)g(are)
h(not)g(signi\014can)o(t)g(from)e(the)i(view)75 2092 y(p)q(oin)o(t)h(of)g
(MPI,)g(and)h(implemen)o(ters)e(should)h(attempt)g(to)g(implemen)o(t)e(MPI)j
(so)g(that)f(signals)g(are)h(transparen)o(t:)75 2142 y(an)g(MPI)g(call)f
(susp)q(ended)j(b)o(y)d(a)h(signal)f(should)h(resume)g(and)f(complete)h
(after)g(the)g(signal)f(is)h(handled.)158 2192 y(MPI)21 b(do)q(es)g(not)f
(pro)o(vide)g(mec)o(hanisms)f(to)h(sp)q(ecify)h(the)g(initial)d(allo)q
(cation)h(of)g(pro)q(cesses)k(to)e(an)f(MPI)75 2241 y(computation)e(and)i
(their)g(binding)f(to)h(ph)o(ysical)f(pro)q(cessors.)38 b(It)20
b(is)f(exp)q(ected)j(that)e(v)o(endors)h(will)d(pro)o(vide)75
2291 y(mec)o(hanisms)9 b(to)j(do)f(so)g(either)h(at)g(load)e(time)g(or)i(at)f
(run)h(time.)j(Suc)o(h)d(mec)o(hanisms)e(will)g(allo)o(w)f(the)j(sp)q
(eci\014cation)75 2341 y(of)h(the)h(initial)e(n)o(um)o(b)q(er)h(of)g
(required)i(pro)q(cesses,)h(the)e(co)q(de)h(to)e(b)q(e)i(executed)g(b)o(y)f
(eac)o(h)g(initial)e(pro)q(cess,)j(and)e(the)75 2391 y(allo)q(cation)19
b(of)g(pro)q(cesses)k(to)d(pro)q(cessors.)40 b(Also,)21 b(the)g(curren)o(t)h
(prop)q(osal)d(do)q(es)i(not)g(pro)o(vide)f(for)g(dynamic)75
2441 y(creation)14 b(or)g(deletion)g(of)g(pro)q(cesses)i(during)e(program)f
(execution)h(\(the)h(total)f(n)o(um)o(b)q(er)f(of)g(pro)q(cesses)k(is)d
(\014xed\),)75 2490 y(although)f(it)g(is)h(in)o(tended)h(to)e(b)q(e)i
(consisten)o(t)g(with)e(suc)o(h)i(extension.)k(Finally)m(,)11
b(the)k(curren)o(t)g(prop)q(osal)e(do)q(es)i(not)75 2540 y(sp)q(ecify)g(a)g
(naming)e(sc)o(heme)i(for)f(pro)q(cesses.)24 b(W)m(e)15 b(prop)q(ose)h(to)e
(alw)o(a)o(ys)g(iden)o(tify)g(pro)q(cesses)k(according)d(to)g(their)75
2590 y(relativ)o(e)f(rank)g(in)f(a)h(group,)f(so)h(that,)f(e\013ectiv)o(ely)m
(,)h(pro)q(cesses)j(are)d(iden)o(ti\014ed)g(b)o(y)g(consecutiv)o(e)h(in)o
(tegers.)p eop
%%Page: 4 5
bop 75 -100 a Fa(CHAPTER)14 b(1.)32 b(TERMS)13 b(AND)h(DEFINITIONS)941
b Fi(4)75 45 y Fj(1.4)70 b(Error)24 b(Handling)75 136 y Fi(MPI)16
b(pro)o(vides)g(the)h(user)g(with)e(reliable)h(message)g(transmission:)k(A)c
(message)g(sen)o(t)h(is)f(alw)o(a)o(ys)e(receiv)o(ed)k(cor-)75
186 y(rectly)m(,)c(and)g(the)h(user)g(do)q(es)g(not)g(need)g(to)f(c)o(hec)o
(k)h(for)f(transmission)f(errors,)i(time-outs,)e(or)h(other)h(error)g(condi-)
75 236 y(tions.)i(In)12 b(other)g(w)o(ords,)g(MPI)g(do)q(es)g(not)f(pro)o
(vide)h(mec)o(hanisms)d(for)j(dealing)e(with)i(failures)f(in)g(the)h(comm)o
(unica-)75 285 y(tion)f(system.)16 b(Where)c(the)g(MPI)f(implemen)o(tation)d
(is)j(built)f(on)h(an)g(unreliable)g(underlying)g(mec)o(hanism,)e(then)i(it)
75 335 y(is)h(the)h(job)f(of)g(the)g(implemen)o(ter)f(of)g(the)i(MPI)g
(subsystem)f(to)h(insulate)f(the)h(user)g(from)e(this)h(unreliabilit)o(y)m(,)
e(or)i(to)75 385 y(re\015ect)i(unreco)o(v)o(erable)g(errors)g(as)f(global)d
(program)h(failures.)18 b(Similarl)o(y)10 b(MPI)j(itself)f(pro)o(vides)h(no)f
(mec)o(hanisms)75 435 y(for)i(handling)e(no)q(de)j(failures.)158
485 y(Of)10 b(course,)i(MPI)e(programs)f(ma)o(y)f(still)i(b)q(e)h(erroneous.)
18 b(A)10 b Fd(program)g(error)f Fi(can)h(o)q(ccur)i(when)e(an)g(MPI)h(call)
75 535 y(is)i(called)g(with)g(an)g(incorrect)h(parameter)f(\(non-existing)g
(destination)g(in)f(a)h(send)h(op)q(eration,)f(bu\013er)h(to)q(o)f(small)75
584 y(in)k(a)f(receiv)o(e)j(op)q(eration,)e(etc.\))29 b(This)17
b(t)o(yp)q(e)g(of)g(error)h(w)o(ould)e(o)q(ccur)i(in)f(an)o(y)f(implemen)o
(tation.)24 b(In)18 b(addition,)75 634 y(a)f Fd(resource)i(error)e
Fi(ma)o(y)f(o)q(ccur)i(when)h(a)e(program)f(exceeds)k(the)e(amoun)o(t)e(of)i
(a)o(v)n(ailable)d(system)j(resources)75 684 y(\(n)o(um)o(b)q(er)12
b(of)f(p)q(ending)i(messages,)f(system)g(bu\013ers,)i(etc.\).)k(The)12
b(o)q(ccurrence)k(of)11 b(this)i(t)o(yp)q(e)f(of)g(error)h(dep)q(ends)h(on)75
734 y(the)j(amoun)o(t)d(of)i(a)o(v)n(ailable)d(resources)19
b(in)d(the)g(system)g(and)g(the)h(resource)h(allo)q(cation)c(mec)o(hanism)g
(used;)k(this)75 784 y(ma)o(y)13 b(di\013er)j(from)d(system)i(to)h(system.)21
b(The)16 b(recommended)e(implemen)o(tation)e(will)i(pro)o(vide)h(generous)h
(limits)75 833 y(on)h(some)f(of)h(the)g(resources)j(so)d(as)g(to)g(alleviate)
f(the)i(p)q(ortabilit)o(y)e(problem)g(this)h(represen)o(ts.)30
b(One)18 b(can)g(also)75 883 y(write)c Fd(safe)g Fi(programs,)e(that)i(are)g
(not)g(sub)r(ject)h(to)f(resource)i(errors.)158 933 y(All)e(MPI)h(calls)f
(return)i(an)e(error)i(parameter)e(that)h(indicates)g(successful)h
(completion)d(of)h(the)i(op)q(eration,)75 983 y(or)g(the)g(error)h(condition)
e(that)g(o)q(ccurred,)j(otherwise.)24 b(Ho)o(w)o(ev)o(er,)17
b(MPI)f(do)q(es)g(not)g(require)g(the)h(user)f(to)g(c)o(hec)o(k)75
1033 y(error)h(parameters.)23 b(It)16 b(is)g(recommended)e(to)i(pro)o(vide)f
(an)h(implemen)o(tatio)o(n)d(where)k(the)f(en)o(vironmen)o(t)f(for)g(an)75
1082 y(MPI)f(execution)g(can)g(b)q(e)g(set)h(so)e(that)h(an)o(y)f(error)h
(encoun)o(tered)i(in)d(an)h(MPI)f(call)g(will)f(cause)j(a)e(program)f(to)h
(fail)75 1132 y(with)h(a)h(suitable)f(error)i(message)e(returned)j(to)d(the)i
(user.)21 b(The)15 b(en)o(vironmen)o(t)f(for)g(an)h(MPI)g(execution)g(can)g
(b)q(e)75 1182 y(also)d(set)j(so)e(that)g(\(nonfatal\))f(errors)i(do)f(not)g
(cause)h(a)f(program)f(to)h(fail,)e(and)i(the)h(user)g(can)f(pro)o(vide)g
(his)g(or)g(her)75 1232 y(o)o(wn)g(error)i(reco)o(v)o(ery)g(co)q(de.)158
1282 y(MPI)g(calls)g(ma)o(y)e(initiate)h(op)q(erations)h(that)g(con)o(tin)o
(ue)g(async)o(hronously)g(after)g(the)h(call)e(returned.)23
b(Th)o(us,)75 1332 y(the)d(op)q(eration)e(ma)o(y)f(return)k(with)d(a)h(co)q
(de)h(indicating)d(successful)k(completion,)d(y)o(et)h(later)g(cause)h(an)f
(error)75 1381 y(exception)d(to)f(b)q(e)g(raised.)22 b(If)15
b(there)h(is)f(a)g(subsequen)o(t)i(call)d(that)h(relates)h(to)f(the)h(same)e
(op)q(eration)h(\(e.g.,)f(a)h(call)75 1431 y(that)i(v)o(eri\014es)i(that)e
(an)g(async)o(hronous)i(op)q(eration)e(has)h(completed\))f(then)h(the)g
(error)g(parameter)f(asso)q(ciated)75 1481 y(with)e(this)g(call)g(will)f(b)q
(e)i(used)g(to)f(indicate)h(the)g(nature)g(of)e(the)i(error.)24
b(In)15 b(a)g(few)h(cases,)g(the)g(error)g(ma)o(y)e(o)q(ccur)75
1531 y(after)h(all)f(calls)h(that)g(relate)h(to)e(the)i(op)q(eration)f(ha)o
(v)o(e)g(completed,)f(so)h(that)h(no)e(error)i(parameter)f(can)g(b)q(e)h
(used)75 1581 y(to)e(indicate)h(the)g(nature)g(of)f(the)h(error)g(\(e.g.,)f
(an)g(error)h(in)f(a)g(send)i(with)e(the)h(ready)g(mo)q(de\).)k(Suc)o(h)c
(error)g(m)o(ust)75 1630 y(b)q(e)g(treated)g(as)f(fatal,)e(since)j
(information)10 b(cannot)15 b(b)q(e)f(returned)i(for)d(the)i(user)g(to)e
(reco)o(v)o(er)i(from)e(it.)158 1763 y Fg(Discussion:)38 b
Ff(A)13 b(p)q(ossible)j(mec)o(hanism)f(is)g(to)e(ha)o(v)o(e)i(MPI)e(calls)i
(generate)g(a)f(signal)h(that)f(can)g(b)q(e)g(ignored)i(when)75
1813 y(an)e(error)f(is)h(encoun)o(tered.)20 b(A)13 b(more)g(mo)q(dular)i(mec)
o(hanism)g(that)f(allo)o(ws)g(to)g(handle)h(an)e(exception)j(within)e(its)g
(con)o(text)75 1863 y(is)g(preferred.)158 1995 y Fi(The)h(b)q(eha)o(vior)g
(of)f(erroneous)j(programs)c(is)i(not)g(de\014ned)h(b)o(y)e(this)h(do)q
(cumen)o(t.)21 b(The)15 b(desired)h(b)q(eha)o(vior)f(is)75
2045 y(that)d(a)f(relev)n(an)o(t)g(error)i(co)q(de)f(b)q(e)g(returned;)h(ho)o
(w)o(ev)o(er,)f(e\016ciency)h(consideration)e(ma)o(y)f(dictate)i(that)f(the)h
(system)75 2095 y(do)q(es)j(not)e(detect)j(certain)e(t)o(yp)q(es)h(of)e
(errors.)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF