Blob Blame History Raw
%!PS-Adobe-2.0
%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
%%Title: MpiProp.dvi
%%Pages: 7
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%DocumentPaperSizes: Letter
%%EndComments
%DVIPSCommandLine: dvips -o MpiProp.ps MpiProp
%DVIPSParameters: dpi=300, comments removed
%DVIPSSource:  TeX output 1997.11.06:1728
%%BeginProcSet: tex.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true 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 sub]{ch-image}imagemask restore}B /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 /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /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
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}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
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{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 /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}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{SS restore}B end
%%EndProcSet
TeXDict begin 40258431 52099146 1000 300 300 (MpiProp.dvi)
@start /Fa 25 118 df<7FF0FFE07FE00C037D8A10>45 D<0000020000000600000006
0000000E0000001E0000001E0000003F0000002F0000004F000000CF0000008F0000010F
0000010F0000020F0000020F0000040F0000080F0000080F0000100F8000100780002007
80003FFF8000400780008007800080078001000780010007800200078006000780040007
801E0007C0FF807FF81D207E9F22>65 D<0000FE0200078186001C004C0038003C006000
3C00C0001C01C0001803800018070000180F0000181E0000101E0000103C0000003C0000
0078000000780000007800000078000000F0000000F0000000F0000000F0000000F00000
807000008070000080700001003800010038000200180004000C001800060020000381C0
0000FE00001F217A9F21>67 D<00FFF1FFE0001F003E00001E003C00001E003C00001E00
3C00003C007800003C007800003C007800003C007800007800F000007800F000007800F0
00007800F00000F001E00000FFFFE00000F001E00000F001E00001E003C00001E003C000
01E003C00001E003C00003C007800003C007800003C007800003C007800007800F000007
800F000007800F000007800F00000F801F0000FFF1FFE000231F7D9E22>72
D<01FFF0001F00001E00001E00001E00003C00003C00003C00003C000078000078000078
0000780000F00000F00000F00000F00001E00001E00001E00001E00003C00003C00003C0
0003C0000780000780000780000780000F8000FFF000141F7D9E12>I<000FFF8000007C
000000780000007800000078000000F0000000F0000000F0000000F0000001E0000001E0
000001E0000001E0000003C0000003C0000003C0000003C0000007800000078000000780
0000078000000F0000000F0000300F0000780F0000F81E0000F81E0000F03C0000803800
004070000020E000001F80000019207D9E18>I<01FFFF80001E00E0001E0070001E0038
001E003C003C003C003C003C003C003C003C003C0078007800780078007800F0007800E0
00F003C000F00F0000FFFC0000F0000001E0000001E0000001E0000001E0000003C00000
03C0000003C0000003C00000078000000780000007800000078000000F800000FFF00000
1E1F7D9E1F>80 D<0007E040001C18C0003005800060038000C0038001C0018001800100
0380010003800100038001000380000003C0000003C0000003F8000001FF800001FFE000
007FF000001FF0000001F800000078000000780000003800000038002000380020003800
2000300060007000600060006000E0007000C000E8038000C606000081F800001A217D9F
1A>83 D<00F1800389C00707800E03801C03803C0380380700780700780700780700F00E
00F00E00F00E00F00E20F01C40F01C40703C40705C40308C800F070013147C9317>97
D<007E0001C1000300800E07801E07801C07003C0000780000780000780000F00000F000
00F00000F00000F00100700100700200300C0018300007C00011147C9315>99
D<0000780003F80000700000700000700000700000E00000E00000E00000E00001C00001
C000F1C00389C00707800E03801C03803C0380380700780700780700780700F00E00F00E
00F00E00F00E20F01C40F01C40703C40705C40308C800F070015207C9F17>I<007C01C2
07010E011C013C013802780C7FF07800F000F000F000F000700170017002380C183007C0
10147C9315>I<00007800019C00033C00033C000718000700000700000E00000E00000E
00000E00000E0000FFE0001C00001C00001C00001C000038000038000038000038000038
0000700000700000700000700000700000E00000E00000E00000E00000E00001C00001C0
0001C0000180003180007B0000F300006600003C00001629829F0E>I<003C6000E27001
C1E00380E00700E00F00E00E01C01E01C01E01C01E01C03C03803C03803C03803C03803C
07003C07001C0F001C17000C2E0003CE00000E00000E00001C00001C00301C00783800F0
700060E0003F8000141D7E9315>I<01E0000FE00001C00001C00001C00001C000038000
038000038000038000070000070000071E000763000E81800F01C00E01C00E01C01C0380
1C03801C03801C0380380700380700380700380E10700E20700E20701C20700C40E00C80
60070014207D9F17>I<00C001E001E001C000000000000000000000000000000E001300
230043804700470087000E000E000E001C001C001C003840388038807080310032001C00
0B1F7C9E0E>I<03C01FC0038003800380038007000700070007000E000E000E000E001C
001C001C001C0038003800380038007000700070007100E200E200E200E200640038000A
207C9F0C>108 D<1C0F80F0002630C318004740640C004780680E004700700E00470070
0E008E00E01C000E00E01C000E00E01C000E00E01C001C01C038001C01C038001C01C038
001C01C0708038038071003803807100380380E100380380620070070064003003003800
21147C9325>I<1C0F802630C04740604780604700704700708E00E00E00E00E00E00E00
E01C01C01C01C01C01C01C03843803883803883807083803107003303001C016147C931A
>I<007C0001C3000301800E01C01E01C01C01E03C01E07801E07801E07801E0F003C0F0
03C0F003C0F00780F00700700F00700E0030180018700007C00013147C9317>I<01C1E0
02621804741C04781C04701E04701E08E01E00E01E00E01E00E01E01C03C01C03C01C03C
01C0380380780380700380E003C1C0072380071E000700000700000E00000E00000E0000
0E00001C00001C0000FF8000171D809317>I<1C1E002661002783804787804707804703
008E00000E00000E00000E00001C00001C00001C00001C00003800003800003800003800
0070000030000011147C9313>114 D<00FC030206010C030C070C060C000F800FF007F8
03FC003E000E700EF00CF00CE008401020601F8010147D9313>I<018001C00380038003
80038007000700FFF007000E000E000E000E001C001C001C001C00380038003800382070
4070407080708031001E000C1C7C9B0F>I<0E00C01300E02301C04381C04701C04701C0
8703800E03800E03800E03801C07001C07001C07001C07101C0E20180E20180E201C1E40
0C264007C38014147C9318>I E /Fb 57 122 df<007000F001E003C007800F001E001C
00380038007000700070007000E000E000E000E000E000E000E000E00070007000700070
00380038001C001E000F00078003C001F000F000700C24799F18>40
D<6000F00078003C001E000F000780038001C001C000E000E000E000E000700070007000
70007000700070007000E000E000E000E001C001C0038007800F001E003C007800F00060
000C247C9F18>I<01C00001C00001C00001C00041C100F1C780FDDF807FFF001FFC0007
F00007F0001FFC007FFF00FDDF80F1C78041C10001C00001C00001C00001C00011147D97
18>I<1C3E7E7F3F1F070E1E7CF860080C788518>44 D<7FFFC0FFFFE0FFFFE07FFFC013
047E8F18>I<3078FCFC78300606778518>I<000300000780000780000F80000F00001F00
001E00001E00003E00003C00007C0000780000780000F80000F00001F00001E00003E000
03C00003C00007C0000780000F80000F00000F00001F00001E00003E00003C00003C0000
7C0000780000F80000F00000F0000060000011247D9F18>I<01800380038007800F803F
80FF80FB8043800380038003800380038003800380038003800380038003800380038003
8003807FFCFFFE7FFC0F1C7B9B18>49 D<03F0000FFE003FFF007C0F807003C0E001C0F0
00E0F000E06000E00000E00000E00001C00001C00003C0000780000F00001E00003C0000
780000F00001E00007C0000F80001E00E03C00E07FFFE0FFFFE07FFFE0131C7E9B18>I<
E00000FFFFE0FFFFE0FFFFC0E00380E00700000F00001E00001C00003800003800007000
00F00000E00000E00001C00001C00001C000038000038000038000038000070000070000
070000070000070000070000070000131D7E9C18>55 D<3078FCFC783000000000000000
003078FCFC78300614779318>58 D<183C7E7E3C180000000000000000183C7E7E3E1E0E
1C3C78F060071A789318>I<00700000F80000F80000D80000D80001DC0001DC0001DC00
018C00038E00038E00038E00038E000707000707000707000707000707000FFF800FFF80
0FFF800E03801C01C01C01C01C01C07F07F0FF07F87F07F0151C7F9B18>65
D<7FFC00FFFF007FFF801C03C01C01C01C00E01C00E01C00E01C00E01C01E01C01C01C07
C01FFF801FFF001FFFC01C03C01C00E01C00F01C00701C00701C00701C00701C00F01C00
E01C03E07FFFC0FFFF807FFE00141C7F9B18>I<00F8E003FEE007FFE00F07E01E03E03C
01E03800E07000E07000E0700000E00000E00000E00000E00000E00000E00000E00000E0
00007000007000E07000E03800E03C00E01E01C00F07C007FF8003FE0000F800131C7E9B
18>I<7FF800FFFE007FFF001C0F801C03C01C03C01C01E01C00E01C00E01C00F01C0070
1C00701C00701C00701C00701C00701C00701C00701C00F01C00E01C00E01C01E01C01C0
1C03C01C0F807FFF00FFFE007FF800141C7F9B18>I<FFFFF0FFFFF0FFFFF01C00701C00
701C00701C00701C00001C00001C0E001C0E001C0E001FFE001FFE001FFE001C0E001C0E
001C0E001C00001C00001C00381C00381C00381C00381C0038FFFFF8FFFFF8FFFFF8151C
7F9B18>I<FFFFF0FFFFF0FFFFF01C00701C00701C00701C00701C00001C00001C0E001C
0E001C0E001FFE001FFE001FFE001C0E001C0E001C0E001C00001C00001C00001C00001C
00001C00001C0000FFC000FFC000FFC000141C7E9B18>I<01F1C003FDC00FFFC01F0FC0
1C03C03803C03801C07001C07001C0700000E00000E00000E00000E00000E00000E00FF0
E01FF0E00FF07001C07001C07003C03803C03803C01C07C01F0FC00FFFC003FDC001F1C0
141C7E9B18>I<7FFF00FFFF807FFF0001C00001C00001C00001C00001C00001C00001C0
0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0
0001C00001C00001C0007FFF00FFFF807FFF00111C7D9B18>73 D<7F07F0FF87F87F07F0
1C03C01C07801C07001C0E001C1E001C3C001C38001C70001CF0001DF0001DF0001FB800
1FB8001F1C001E1C001C0E001C0E001C07001C07001C03801C03801C01C07F03F0FF87F8
7F03F0151C7F9B18>75 D<FFC000FFC000FFC0001C00001C00001C00001C00001C00001C
00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C
00E01C00E01C00E01C00E01C00E0FFFFE0FFFFE0FFFFE0131C7E9B18>I<FC01F8FE03F8
FE03F83B06E03B06E03B06E03B06E03B8EE03B8EE0398CE0398CE039DCE039DCE039DCE0
38D8E038D8E038F8E03870E03870E03800E03800E03800E03800E03800E03800E0FE03F8
FE03F8FE03F8151C7F9B18>I<7E07F0FF0FF87F07F01D81C01D81C01D81C01DC1C01CC1
C01CC1C01CE1C01CE1C01CE1C01C61C01C71C01C71C01C31C01C39C01C39C01C39C01C19
C01C19C01C1DC01C0DC01C0DC01C0DC07F07C0FF87C07F03C0151C7F9B18>I<0FFE003F
FF807FFFC07803C07001C0F001E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E0
00E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07C07C07F
FFC03FFF800FFE00131C7E9B18>I<FFFE00FFFF80FFFFC01C03C01C01E01C00E01C0070
1C00701C00701C00701C00701C00E01C01E01C03C01FFFC01FFF801FFE001C00001C0000
1C00001C00001C00001C00001C00001C0000FF8000FF8000FF8000141C7F9B18>I<7FF8
00FFFE007FFF001C0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF
001FFE001FFE001C0F001C07001C03801C03801C03801C03801C03801C039C1C039C1C03
9C7F01F8FF81F87F00F0161C7F9B18>82 D<03F1C01FFFC03FFFC07C0FC07003C0E001C0
E001C0E001C0E000007000007800003F00001FF00007FE0000FF00000F800003C00001C0
0000E00000E06000E0E000E0E001E0F001C0F80780FFFF80FFFE00E7F800131C7E9B18>
I<7FFFF8FFFFF8FFFFF8E07038E07038E07038E070380070000070000070000070000070
000070000070000070000070000070000070000070000070000070000070000070000070
0000700007FF0007FF0007FF00151C7F9B18>I<FF83FEFF83FEFF83FE1C00701C00701C
00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C
00701C00701C00701C00701C00700E00E00F01E00783C003FF8001FF00007C00171C809B
18>I<FE03F8FE03F8FE03F87000707000707000703800E03800E03800E03800E03800E0
38F8E039FCE039DCE039DCE019DCC019DCC019DCC0198CC0198CC01D8DC01D8DC01D8DC0
1D05C00D05800F07800F07800E0380151C7F9B18>87 D<FE03F8FF07F8FE03F81C01C01E
03C00E03800F0780070700070700038E00038E0001DC0001DC0001DC0000F80000F80000
700000700000700000700000700000700000700000700000700001FC0003FE0001FC0015
1C7F9B18>89 D<FFF8FFF8FFF8E000E000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00FFF8FFF8FFF80D24779F18>91 D<FFF8FFF8FFF8003800380038003800380038003800
380038003800380038003800380038003800380038003800380038003800380038003800
380038003800380038FFF8FFF8FFF80D247F9F18>93 D<7FFFC0FFFFE0FFFFE07FFFC013
047E7F18>95 D<0FF0001FFC003FFE003C0F0018070000038000038000FF8007FF801FFF
807F0380780380E00380E00380E00380F00780780F803FFFF81FFDF807F0F815147E9318
>97 D<7E0000FE00007E00000E00000E00000E00000E00000E00000E3E000EFF800FFFC0
0FC1E00F80E00F00700E00700E00380E00380E00380E00380E00380E00380F00700F0070
0F80E00FC1E00FFFC00EFF80063E00151C809B18>I<01FE0007FF001FFF803E07803803
00700000700000E00000E00000E00000E00000E00000E000007000007001C03801C03E03
C01FFF8007FF0001FC0012147D9318>I<001F80003F80001F8000038000038000038000
038000038003E3800FFB801FFF803C1F80380F80700780700380E00380E00380E00380E0
0380E00380E00380700780700780380F803C1F801FFFF00FFBF803E3F0151C7E9B18>I<
01F00007FC001FFE003E0F00380780700380700380E001C0E001C0FFFFC0FFFFC0FFFFC0
E000007000007001C03801C03E07C01FFF8007FF0001F80012147D9318>I<001F80007F
C000FFE000E1E001C0C001C00001C00001C0007FFFC0FFFFC0FFFFC001C00001C00001C0
0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0007FFF
007FFF007FFF00131C7F9B18>I<01E1F007FFF80FFFF81E1E301C0E0038070038070038
07003807003807001C0E001E1E001FFC001FF80039E0003800001C00001FFE001FFFC03F
FFE07801F0700070E00038E00038E00038E000387800F07E03F01FFFC00FFF8001FC0015
1F7F9318>I<7E0000FE00007E00000E00000E00000E00000E00000E00000E3E000EFF80
0FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E0
0E00E00E00E00E00E07FC7FCFFE7FE7FC7FC171C809B18>I<038007C007C007C0038000
000000000000007FC0FFC07FC001C001C001C001C001C001C001C001C001C001C001C001
C001C001C0FFFFFFFFFFFF101D7C9C18>I<FFC000FFC000FFC00001C00001C00001C000
01C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
01C00001C00001C00001C00001C00001C00001C000FFFF80FFFF80FFFF80111C7D9B18>
108 D<F9C1C0FFF7F0FFFFF03E3E383C3C383C3C38383838383838383838383838383838
383838383838383838383838383838383838FE3E3EFE7E7EFE3E3E1714809318>I<7E3E
00FEFF807FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00
E00E00E00E00E00E00E00E00E07FC7FCFFE7FE7FC7FC1714809318>I<01F0000FFE001F
FF003E0F803803807001C07001C0E000E0E000E0E000E0E000E0E000E0F001E07001C078
03C03C07803E0F801FFF000FFE0001F00013147E9318>I<7E3E00FEFF807FFFC00FC1E0
0F80E00F00700E00700E00380E00380E00380E00380E00380E00380F00700F00700F80E0
0FC1E00FFFC00EFF800E3E000E00000E00000E00000E00000E00000E00000E00007FC000
FFE0007FC000151E809318>I<FF0FC0FF3FE0FF7FF007F0F007E06007C0000780000780
00070000070000070000070000070000070000070000070000070000FFFC00FFFE00FFFC
0014147E9318>114 D<07F7003FFF007FFF00780F00E00700E00700E007007C00007FE0
001FFC0003FE00001F00600780E00380E00380F00380F80F00FFFF00FFFC00E7F0001114
7D9318>I<0180000380000380000380000380007FFFC0FFFFC0FFFFC003800003800003
80000380000380000380000380000380000380000380400380E00380E00380E001C1C001
FFC000FF80003E0013197F9818>I<7E07E0FE0FE07E07E00E00E00E00E00E00E00E00E0
0E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E01E00F03E007FFFC03FFFE
01FCFC1714809318>I<7F8FF0FF8FF87F8FF01C01C00E03800E03800E03800707000707
00070700078F00038E00038E00038E0001DC0001DC0001DC0000F80000F8000070001514
7F9318>I<FF07F8FF8FF8FF07F83800E03800E03800E03800E01C01C01C71C01CF9C01C
F9C01CD9C01DDDC00DDD800DDD800DDD800D8D800F8F800F8F8007070015147F9318>I<
7F8FF07F9FF07F8FF00F0700078E00039E0001DC0001F80000F80000700000F00000F800
01DC00039E00038E000707000E07807F8FF0FF8FF87F8FF015147F9318>I<7F8FF0FF8F
F87F8FF00E01C00E03800E0380070380070700070700038700038700038E0001CE0001CE
0001CC0000CC0000DC0000780000780000780000700000700000700000F00000E00079E0
007BC0007F80003F00001E0000151E7F9318>I E /Fc 20 119 df<387CFEFEFE7C3807
077C8610>46 D<00180000780001F800FFF800FFF80001F80001F80001F80001F80001F8
0001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8
0001F80001F80001F80001F80001F80001F80001F80001F8007FFFE07FFFE013207C9F1C
>49 D<03FC000FFF003C1FC07007E07C07F0FE03F0FE03F8FE03F8FE01F87C01F83803F8
0003F80003F00003F00007E00007C0000F80001F00003E0000380000700000E01801C018
0380180700180E00380FFFF01FFFF03FFFF07FFFF0FFFFF0FFFFF015207D9F1C>I<00FE
0007FFC00F07E01E03F03F03F03F81F83F81F83F81F81F03F81F03F00003F00003E00007
C0001F8001FE0001FF000007C00001F00001F80000FC0000FC3C00FE7E00FEFF00FEFF00
FEFF00FEFF00FC7E01FC7801F81E07F00FFFC001FE0017207E9F1C>I<0000E00001E000
03E00003E00007E0000FE0001FE0001FE00037E00077E000E7E001C7E00187E00307E007
07E00E07E00C07E01807E03807E07007E0E007E0FFFFFFFFFFFF0007E00007E00007E000
07E00007E00007E00007E000FFFF00FFFF18207E9F1C>I<0003FE0080001FFF818000FF
01E38001F8003F8003E0001F8007C0000F800F800007801F800007803F000003803F0000
03807F000001807E000001807E00000180FE00000000FE00000000FE00000000FE000000
00FE00000000FE00000000FE00000000FE000000007E000000007E000001807F00000180
3F000001803F000003801F800003000F8000030007C000060003F0000C0001F800380000
FF00F000001FFFC0000003FE000021227DA128>67 D<FFF000000FFFFFF800001FFF07F8
00001FE006FC000037E006FC000037E006FC000037E0067E000067E0067E000067E0063F
0000C7E0063F0000C7E0061F800187E0061F800187E0060FC00307E0060FC00307E0060F
C00307E00607E00607E00607E00607E00603F00C07E00603F00C07E00601F81807E00601
F81807E00601F81807E00600FC3007E00600FC3007E006007E6007E006007E6007E00600
3FC007E006003FC007E006001F8007E006001F8007E006001F8007E006000F0007E0FFF0
0F00FFFFFFF00600FFFF30227EA135>77 D<FFFFFF00FFFFFFE007F007F007F001FC07F0
00FC07F0007E07F0007E07F0007F07F0007F07F0007F07F0007F07F0007F07F0007E07F0
007E07F000FC07F001FC07F007F007FFFFE007FFFF0007F0000007F0000007F0000007F0
000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0
0000FFFF8000FFFF800020227EA126>80 D<0FFC003FFF807E07C07E03E07E01E07E01F0
3C01F00001F00001F0003FF003FDF01FC1F03F01F07E01F0FC01F0FC01F0FC01F0FC01F0
7E02F07E0CF81FF87F07E03F18167E951B>97 D<00FE0007FF800F87C01E01E03E01F07C
00F07C00F8FC00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00007E00003E
00181F00300FC07003FFC000FF0015167E951A>101 D<1C003E007F007F007F003E001C
000000000000000000000000000000FF00FF001F001F001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F00FFE0FFE00B247EA310>105
D<FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B
237EA210>108 D<FF07F007F000FF1FFC1FFC001F303E303E001F403E403E001F801F80
1F001F801F801F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1F001F001F001F001F001F001F001F001F001F00FFE0FFE0FFE0FFE0FFE0FFE02B167E95
30>I<FF07E000FF1FF8001F307C001F403C001F803E001F803E001F003E001F003E001F
003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F
003E001F003E001F003E00FFE1FFC0FFE1FFC01A167E951F>I<00FE0007FFC00F83E01E
00F03E00F87C007C7C007C7C007CFC007EFC007EFC007EFC007EFC007EFC007EFC007E7C
007C7C007C3E00F81F01F00F83E007FFC000FE0017167E951C>I<FF0FE000FF3FF8001F
E07C001F803E001F001F001F001F801F001F801F000FC01F000FC01F000FC01F000FC01F
000FC01F000FC01F000FC01F000FC01F001F801F001F801F803F001FC03E001FE0FC001F
3FF8001F0FC0001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F
000000FFE00000FFE000001A207E951F>I<FE1F00FE3FC01E67E01EC7E01E87E01E87E0
1F83C01F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0000
1F00001F0000FFF000FFF00013167E9517>114 D<0FF3003FFF00781F00600700E00300
E00300F00300FC00007FE0007FF8003FFE000FFF0001FF00000F80C00780C00380E00380
E00380F00700FC0E00EFFC00C7F00011167E9516>I<0180000180000180000180000380
000380000780000780000F80003F8000FFFF00FFFF000F80000F80000F80000F80000F80
000F80000F80000F80000F80000F80000F80000F81800F81800F81800F81800F81800F83
0007C30003FE0000F80011207F9F16>I<FFE01FE0FFE01FE01F8007000F8006000FC00E
0007C00C0007E00C0003E0180003E0180001F0300001F0300000F8600000F86000007CC0
00007CC000007FC000003F8000003F8000001F0000001F0000000E0000000E00001B167F
951E>118 D E /Fd 15 122 df<70F8F8F8700505798414>46 D<01E007F00E38181C38
FC71FC731E771EEE0EEE0EEE0EEE0EEE0EEE0EEE0E771C731871F038E018060E1E07F801
F00F177E9614>64 D<1FC0007FF000707800201800001C00001C0007FC001FFC003C1C00
701C00E01C00E01C00E01C00707C003FFF800F8F8011107E8F14>97
D<03F80FFE1C0E380470006000E000E000E000E00060007000380E1C1E0FFC03F00F107E
8F14>99 D<007E00007E00000E00000E00000E00000E00000E0007CE000FFE001C3E0030
1E00700E00E00E00E00E00E00E00E00E00E00E00E00E00700E00301E00383E001FEFC007
CFC012177F9614>I<07E00FF01C38301C700CE00EE00EFFFEFFFEE00060007000380E1C
1E0FFC03F00F107E8F14>I<FC0000FC00001C00001C00001C00001C00001C00001C7800
1DFE001F86001E07001C07001C07001C07001C07001C07001C07001C07001C07001C0700
1C0700FF8FE0FF8FE01317809614>104 D<FC0000FC00001C00001C00001C00001C0000
1C00001CFF801CFF801C1C001C38001C70001CE0001DC0001FE0001FE0001E70001C3800
1C3C001C1C001C0E00FF1F80FF1F801117809614>107 D<FF80FF800380038003800380
038003800380038003800380038003800380038003800380038003800380FFFEFFFE0F17
7E9614>I<FE1F00FE7F800EE3800F81000F00000F00000E00000E00000E00000E00000E
00000E00000E00000E0000FFF000FFF00011107F8F14>114 D<0FD83FF86038C038C038
F0007F803FF007F8001C6006E006F006F81CFFF8CFE00F107E8F14>I<06000E000E000E
000E007FFCFFFC0E000E000E000E000E000E000E000E000E0E0E0E0E0E0E1C07F801F00F
157F9414>I<FC3F00FC3F001C07001C07001C07001C07001C07001C07001C07001C0700
1C07001C07001C07001C1F000FFFE003E7E01310808F14>I<FE3F80FE3F80700700380E
00380E00380E0039CE0039CE0039CE001B6C001A6C001A6C001A6C001E7C001E7C000E38
0011107F8F14>119 D<FE3F80FE3F801C0E001C1C001C1C000E1C000E38000E38000738
0007300007300003700003700003E00001E00001E00001C00001C00001C0000380007380
007700007E00003C000011187F8F14>121 D E /Fe 28 121 df<60F0F0701010102020
4040040B7D830B>44 D<60F0F06004047D830B>46 D<07E01838201C601E700E201E001E
001C001C0038007007E00038001C000E000F000FE00FE00FC00F400E601C183807E01018
7F9713>51 D<01F807040C06180E300E300070006000E000E3E0E418E80CF00EE006E007
E007E007600760077006300E180C0C3807E010187F9713>54 D<40007FFF7FFE7FFE4004
800880108010002000400040008001800100030003000700060006000E000E000E000E00
0E00040010197E9813>I<07E01C303018700C600EE006E006E007E007E0076007700F30
17182707C700070006000E000C700C7018603030600F8010187F9713>57
D<003F0201C0C603002E0E001E1C000E1C0006380006780002700002700002F00000F000
00F00000F00000F00000F000007000027000027800023800041C00041C00080E00080300
3001C0C0003F00171A7E991C>67 D<FFFF80000E00E0000E0070000E0038000E001C000E
000E000E000E000E0007000E0007000E0007800E0007800E0007800E0007800E0007800E
0007800E0007800E0007800E0007000E0007000E000F000E000E000E001C000E001C000E
0078000E00E000FFFF8000191A7F991D>I<FFE01FC00E000F000E000C000E0008000E00
10000E0020000E0040000E0180000E0200000E0400000E0C00000E1C00000E2E00000E47
00000E8380000F0380000E01C0000E00E0000E00E0000E0070000E0038000E0038000E00
1C000E001E000E001F00FFE07FC01A1A7F991E>75 D<FE007FC00F000E000F0004000B80
040009C0040009C0040008E00400087004000870040008380400081C0400081C0400080E
04000807040008038400080384000801C4000800E4000800E4000800740008003C000800
3C0008001C0008000C001C000C00FF8004001A1A7F991D>78 D<0FC21836200E6006C006
C002C002C002E00070007E003FE01FF803FC007E000E00070003800380038003C002C006
E004D81887E0101A7E9915>83 D<7FFFFF00701C0700401C0100401C0100C01C0180801C
0080801C0080801C0080001C0000001C0000001C0000001C0000001C0000001C0000001C
0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C
0000001C000003FFE000191A7F991C>I<FFE07FC00E000E000E0004000E0004000E0004
000E0004000E0004000E0004000E0004000E0004000E0004000E0004000E0004000E0004
000E0004000E0004000E0004000E0004000E0004000E0004000600080007000800030010
000180200000E0C000003F00001A1A7F991D>I<07F81C1C381C70087000E000E000E000
E000E000E0007000700438081C1807E00E107F8F11>99 D<07C01C3030187018600CE00C
FFFCE000E000E000E0006000700438081C1807E00E107F8F11>101
D<01F007180E381C101C001C001C001C001C001C00FFC01C001C001C001C001C001C001C
001C001C001C001C001C001C001C00FF800D1A80990C>I<183C3C18000000000000FC1C
1C1C1C1C1C1C1C1C1C1C1C1C1CFF081A80990A>105 D<FC001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
00FF80091A80990A>108 D<FC7C1F001D8E63801E0781C01E0781C01C0701C01C0701C0
1C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C0
FF9FE7F81D107F8F20>I<FC7C001D87001E03801E03801C03801C03801C03801C03801C
03801C03801C03801C03801C03801C03801C0380FF9FF01410808F15>I<07E01C38300C
700E6006E007E007E007E007E007E0076006700E381C1C3807E010107F8F13>I<FCFC00
1D07001E03801C01C01C01C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C0180
1E03001D06001CF8001C00001C00001C00001C00001C00001C0000FF80001317808F15>
I<FC781D9C1E1C1E081C001C001C001C001C001C001C001C001C001C001C00FF800E1080
8F0F>114 D<1F2060E04020C020C020F0007F003FC01FE000F080708030C030C020F040
8F800C107F8F0F>I<0800080008000800180018003800FFC03800380038003800380038
0038003800382038203820382018201C4007800B177F960F>I<FC1F801C03801C03801C
03801C03801C03801C03801C03801C03801C03801C03801C03801C07800C07800E0B8003
F3F01410808F15>I<FF0F803C07001C06001C04001C04000E08000E0800071000071000
07100003A00003A00001C00001C00001C00000800011107F8F14>I<FE3F803C1E001C08
000E10000F300007600003C00001C00001E00003E000027000043800083800181C00381E
00FC3FC012107F8F14>120 D E /Ff 1 4 df<0C000C00CCC0EDC07F800C007F80EDC0CC
C00C000C000A0B7D8B10>3 D E /Fg 77 123 df<001F83E000F06E3001C078780380F8
780300F03007007000070070000700700007007000070070000700700007007000FFFFFF
800700700007007000070070000700700007007000070070000700700007007000070070
000700700007007000070070000700700007007000070070000700700007007000070070
003FE3FF001D20809F1B>11 D<003F0000E0C001C0C00381E00701E00701E00700000700
00070000070000070000070000FFFFE00700E00700E00700E00700E00700E00700E00700
E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E03FC3
FC1620809F19>I<003FE000E0E001C1E00381E00700E00700E00700E00700E00700E007
00E00700E00700E0FFFFE00700E00700E00700E00700E00700E00700E00700E00700E007
00E00700E00700E00700E00700E00700E00700E00700E00700E00700E03FE7FC1620809F
19>I<001F81F80000F04F040001C07C06000380F80F000300F00F000700F00F00070070
000007007000000700700000070070000007007000000700700000FFFFFFFF0007007007
000700700700070070070007007007000700700700070070070007007007000700700700
070070070007007007000700700700070070070007007007000700700700070070070007
00700700070070070007007007003FE3FE3FE02320809F26>I<7038F87CFC7EFC7E743A
0402040204020804080410081008201040200F0E7F9F17>34 D<70F8FCFC740404040808
10102040060E7C9F0D>39 D<0040008001000300060004000C0018001800380030003000
70006000600060006000E000E000E000E000E000E000E000E000E000E000E000E0006000
6000600060007000300030003800180018000C000400060003000100008000400A2E7BA1
12>I<8000400020003000180008000C0006000600070003000300038001800180018001
8001C001C001C001C001C001C001C001C001C001C001C001C00180018001800180038003
0003000700060006000C000800180030002000400080000A2E7EA112>I<70F0F8F87808
0808101010202040050E7C840D>44 D<FFF0FFF00C02808A0F>I<70F8F8F87005057C84
0D>I<0000400000C0000180000180000180000300000300000300000600000600000C00
000C00000C0000180000180000180000300000300000600000600000600000C00000C000
00C0000180000180000180000300000300000600000600000600000C00000C00000C0000
180000180000300000300000300000600000600000600000C00000C00000122D7EA117>
I<03F0000E1C001C0E00180600380700700380700380700380700380F003C0F003C0F003
C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C07003807003
807003807807803807001806001C0E000E1C0003F000121F7E9D17>I<008003800F80F3
800380038003800380038003800380038003800380038003800380038003800380038003
8003800380038003800380038007C07FFE0F1E7C9D17>I<03F0000C1C00100E00200700
400780800780F007C0F803C0F803C0F803C02007C00007C0000780000780000F00000E00
001C0000380000700000600000C0000180000300000600400C00401800401000803FFF80
7FFF80FFFF80121E7E9D17>I<03F0000C1C00100E00200F00780F80780780780780380F
80000F80000F00000F00001E00001C0000700007F000003C00000E00000F000007800007
800007C02007C0F807C0F807C0F807C0F00780400780400F00200E00183C0007F000121F
7E9D17>I<000600000600000E00000E00001E00002E00002E00004E00008E00008E0001
0E00020E00020E00040E00080E00080E00100E00200E00200E00400E00C00E00FFFFF000
0E00000E00000E00000E00000E00000E00000E0000FFE0141E7F9D17>I<1803001FFE00
1FFC001FF8001FE00010000010000010000010000010000010000011F000161C00180E00
1007001007800003800003800003C00003C00003C07003C0F003C0F003C0E00380400380
400700200600100C0008380007E000121F7E9D17>I<007C000182000701000E03800C07
80180780380300380000780000700000700000F1F000F21C00F40600F80700F80380F803
80F003C0F003C0F003C0F003C0F003C07003C07003C07003803803803807001807000C0E
00061C0001F000121F7E9D17>I<4000007FFFE07FFFC07FFFC040008080010080010080
020000040000040000080000100000100000200000200000600000600000E00000C00001
C00001C00001C00001C00003C00003C00003C00003C00003C00003C00003C00001800013
1F7E9D17>I<03F0000C0C00100600300300200180600180600180600180700180780300
3E03003F06001FC8000FF00003F80007FC000C7E00103F00300F806007806001C0C001C0
C000C0C000C0C000C0C000806001802001001002000C0C0003F000121F7E9D17>I<03F0
000E18001C0C00380600380700700700700380F00380F00380F003C0F003C0F003C0F003
C0F003C07007C07007C03807C0180BC00E13C003E3C00003800003800003800007003007
00780600780E00700C002018001070000FC000121F7E9D17>I<70F8F8F8700000000000
000000000070F8F8F87005147C930D>I<FFFFFFFCFFFFFFFC0000000000000000000000
000000000000000000000000000000000000000000FFFFFFFCFFFFFFFC1E0C7E9023>61
D<000100000003800000038000000380000007C0000007C0000007C0000009E0000009E0
000009E0000010F0000010F0000010F00000207800002078000020780000403C0000403C
0000C03E0000801E0000801E0001FFFF0001000F0001000F000200078002000780020007
80040003C0040003C00C0003C01E0003E0FF801FFE1F207F9F22>65
D<FFFFE0000F0078000F001E000F001E000F000F000F000F800F000F800F000F800F000F
800F000F800F000F000F001F000F001E000F007C000FFFF0000F007C000F001F000F000F
800F0007C00F0003C00F0003E00F0003E00F0003E00F0003E00F0003E00F0003C00F0007
C00F0007800F000F000F003E00FFFFF0001B1F7E9E20>I<000FE01000381C3000E00270
03C00170078000F00F0000701E0000701E0000303C0000303C0000107C00001078000010
F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000
780000007C0000103C0000103C0000101E0000201E0000200F0000200780004003C00080
00E0030000380C00000FF0001C217E9F21>I<FFFFF80007801E0007800780078003C007
8001E0078000F00780007007800078078000780780003C0780003C0780003C0780003E07
80003E0780003E0780003E0780003E0780003E0780003E0780003E0780003C0780003C07
80007C0780007807800078078000F0078001E0078003C00780078007801E00FFFFF8001F
1F7F9E23>I<FFFFFF800F000F800F0003800F0001800F0000800F0000C00F0000400F00
00400F0000400F0040400F0040000F0040000F00C0000F01C0000FFFC0000F01C0000F00
C0000F0040000F0040000F0040000F0000200F0000200F0000200F0000400F0000400F00
00400F0000C00F0001C00F0003800F000F80FFFFFF801B1F7E9E1F>I<FFFFFF80078007
80078001800780018007800080078000C007800040078000400780004007800040078020
000780200007802000078060000780E00007FFE0000780E0000780600007802000078020
000780200007800000078000000780000007800000078000000780000007800000078000
0007C00000FFFE00001A1F7F9E1E>I<000FE0200078186000E004E0038002E0070001E0
0F0000E01E0000601E0000603C0000603C0000207C00002078000020F8000000F8000000
F8000000F8000000F8000000F8000000F8000000F8007FFCF80003E0780001E07C0001E0
3C0001E03C0001E01E0001E01E0001E00F0001E0070001E0038002E000E0046000781820
000FE0001E217D9F24>I<FFF07FF80F0007800F0007800F0007800F0007800F0007800F
0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800FFFFF800F
0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F0007800F
0007800F0007800F0007800F0007800F0007800F000780FFF07FF81D1F7E9E22>I<FFF0
0F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F000F000F000F000F000F000F000F000F000F00FFF00C1F7E9E10>I<FFF007FC0F
0003E00F0001800F0001000F0002000F0004000F0008000F0010000F0020000F0040000F
0080000F0100000F0300000F0780000F0F80000F13C0000F21E0000F41E0000F80F0000F
0078000F0078000F003C000F001E000F001E000F000F000F0007800F0007800F0003C00F
0003E00F0003F0FFF01FFE1F1F7E9E23>75 D<FFF8000F80000F00000F00000F00000F00
000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F00000F00000F00020F00020F00020F00020F00060F00040F00040F000C0F001C0F00
7CFFFFFC171F7E9E1C>I<FF800007FE07800007C007800007C005C0000BC005C0000BC0
04E00013C004E00013C004E00013C004700023C004700023C004380043C004380043C004
380043C0041C0083C0041C0083C0040E0103C0040E0103C0040E0103C004070203C00407
0203C004070203C004038403C004038403C00401C803C00401C803C00401C803C00400F0
03C00400F003C004006003C01F006003C0FFE0607FFE271F7F9E2A>I<FF000FF80F8003
E00F8000800BC0008009E0008009E0008008F000800878008008780080083C0080081E00
80081E0080080F008008078080080780800803C0800801E0800801E0800800F080080078
800800788008003C8008001E8008001E8008000F80080007800800078008000380080001
803E000180FF8000801D1F7E9E22>I<001FE0000070380001C00E000380070007000380
0F0003C01E0001E03C0000F03C0000F07C0000F87C0000F878000078F800007CF800007C
F800007CF800007CF800007CF800007CF800007CF800007CF800007C780000787C0000F8
7C0000F83C0000F03E0001F01E0001E00F0003C0070003800380070001E01E0000703800
001FE0001E217E9F23>I<FFFFE0000F007C000F001E000F000F000F0007800F0007800F
0007C00F0007C00F0007C00F0007C00F0007800F0007800F000F000F001E000F007C000F
FFE0000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F
0000000F0000000F0000000F0000000F0000000F000000FFF000001A1F7E9E1F>I<FFFF
E0000F80780007801E0007800F000780078007800780078007C0078007C0078007C00780
07C0078007800780078007800F0007801E000780780007FFE00007806000078038000780
3C0007801C0007801E0007801E0007801E0007801F0007801F0007801F0007801F010780
1F8107800F810FC00782FFFC03C4000000F820207F9E22>82 D<03F0400C0CC01803C030
01C06000C06000C0E000C0E00040E00040E00040F00000F800007C00007F80003FF8001F
FF0007FF8000FFC0001FE00003E00001E00000F0000070800070800070800070800070C0
0060C000E0E000C0F80180C6030081FC0014217E9F19>I<7FFFFFE0780F01E0600F0060
400F0020400F0020C00F0030800F0010800F0010800F0010800F0010000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F8000
03FFFC001C1F7E9E21>I<FFF00FF80F0003E00F0000800F0000800F0000800F0000800F
0000800F0000800F0000800F0000800F0000800F0000800F0000800F0000800F0000800F
0000800F0000800F0000800F0000800F0000800F0000800F0000800F0000800F00008007
00010007800100038001000380020001C0040000E0080000383000000FC0001D207E9E22
>I<FFF003FE1F8000F80F0000600F00002007800040078000400780004003C0008003C0
008003E0018001E0010001E0010000F0020000F0020000F802000078040000780400003C
0800003C0800003C0800001E1000001E1000001F1000000F2000000F20000007C0000007
C0000007C000000380000003800000038000000100001F207F9E22>I<FFF07FF81FF01F
000FC007C00F00078001800F00078001000F0007C001000F8007C00300078007C0020007
8009E0020007C009E0020003C009E0040003C019F0040003C010F0040001E010F0080001
E010F0080001E02078080000F02078100000F02078100000F0403C10000078403C200000
78403C20000078801E2000007C801E6000003C801E4000003D000F4000003F000F400000
1F000F8000001F000F8000001E00078000000E00070000000E00070000000C0003000000
04000200002C207F9E2F>I<7FF81FF80FE007C007C0030003C0020003E0060001F00400
00F0080000F8180000781000003C2000003E6000001E4000000F8000000F800000078000
0003C0000007E0000005E0000008F0000018F8000010780000207C0000603E0000401E00
00801F0001000F8001000780020007C0060003C01F0007E0FFC01FFE1F1F7F9E22>I<FF
F001FF1F8000780F8000600780006007C0004003C0008003E0008001F0010000F0010000
F80200007C0600003C0400003E0800001E0800001F1000000FB0000007A0000007E00000
03C0000003C0000003C0000003C0000003C0000003C0000003C0000003C0000003C00000
03C0000003C0000003C000003FFC00201F7F9E22>I<7FFFFE7E003C78003C7000786000
F86000F04001E04003E04003C0400780000780000F00001E00001E00003C00007C000078
0000F00001F00001E00203C00203C0020780020F80060F00061E00043E000C3C000C7800
3C7800FCFFFFFC171F7E9E1C>I<FFFFC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FFFF082D7CA10D>I<080410082010
201040204020804080408040B85CFC7EFC7E7C3E381C0F0E7A9F17>I<FFFF0303030303
030303030303030303030303030303030303030303030303030303030303030303030303
FFFF082D80A10D>I<1FE000303000781800781C00300E00000E00000E00000E0000FE00
0F8E001E0E00380E00780E00F00E10F00E10F00E10F01E10781E103867200F83C014147E
9317>97 D<1C0000FC00001C00001C00001C00001C00001C00001C00001C00001C00001C
00001C00001C7C001D87001E01801E00C01C00E01C00701C00701C00781C00781C00781C
00781C00781C00781C00701C00F01C00E01E00C01A0180198700107C0015207E9F19>I<
01FC000706001C0F00380F00380600780000700000F00000F00000F00000F00000F00000
F000007000007800003800803800801C010007060001F80011147F9314>I<0001C0000F
C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C001F1C0070D
C00C03C01801C03801C07801C07001C0F001C0F001C0F001C0F001C0F001C0F001C07001
C07001C03801C01803C00C03C0070DC001F1F815207F9F19>I<03F0000E1C001C0E0038
0700380700700380700380F00380FFFF80F00000F00000F00000F0000070000070000038
00803800801C010007060001F80011147F9314>I<007C01C6030F070F0E060E000E000E
000E000E000E000E00FFF00E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E000E007FE01020809F0E>I<0000E003E3300E3C301C1C30380E0078
0F00780F00780F00780F00780F00380E001C1C001E380033E00020000020000030000030
00003FFE001FFF801FFFC03001E0600070C00030C00030C00030C000306000603000C01C
038003FC00141F7F9417>I<1C0000FC00001C00001C00001C00001C00001C00001C0000
1C00001C00001C00001C00001C7C001C86001D03001E03801E03801C03801C03801C0380
1C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF8FF0
14207E9F19>I<38007C007C007C0038000000000000000000000000001C00FC001C001C
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091F7F
9E0C>I<00E001F001F001F000E0000000000000000000000000007007F000F000700070
007000700070007000700070007000700070007000700070007000700070007000700070
00706070F060F0C061803F000C28829E0E>I<1C0000FC00001C00001C00001C00001C00
001C00001C00001C00001C00001C00001C00001C1FE01C07801C06001C04001C08001C10
001C20001C60001CE0001DF0001E70001C38001C3C001C1C001C0E001C0F001C07001C07
801C07C0FF9FF014207E9F18>I<1C00FC001C001C001C001C001C001C001C001C001C00
1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00
1C001C00FF8009207F9F0C>I<1C3E03E000FCC30C30001D019018001E01E01C001E01E0
1C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C
001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00
FF8FF8FF8021147E9326>I<1C7C00FC86001D03001E03801E03801C03801C03801C0380
1C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF8FF0
14147E9319>I<01F800070E001C03803801C03801C07000E07000E0F000F0F000F0F000
F0F000F0F000F0F000F07000E07000E03801C03801C01C0380070E0001F80014147F9317
>I<1C7C00FD87001E01801E01C01C00E01C00F01C00701C00781C00781C00781C00781C
00781C00781C00701C00F01C00E01E01C01E03801D87001C7C001C00001C00001C00001C
00001C00001C00001C00001C0000FF8000151D7E9319>I<01F040070CC00E02C01C03C0
3801C07801C07001C0F001C0F001C0F001C0F001C0F001C0F001C07001C07801C03801C0
1C03C00C05C00709C001F1C00001C00001C00001C00001C00001C00001C00001C00001C0
000FF8151D7F9318>I<1CF0FD181E3C1E3C1E181C001C001C001C001C001C001C001C00
1C001C001C001C001C001C00FFC00E147E9312>I<0FC830386018C008C008C008E0007C
003FE01FF007F8003C800E8006C006C006C004E00CD81887E00F147F9312>I<02000200
0200060006000E000E003E00FFF80E000E000E000E000E000E000E000E000E000E000E00
0E040E040E040E040E040708030801F00E1C7F9B12>I<1C0380FC1F801C03801C03801C
03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
07800C0780061B8003E3F014147E9319>I<FF83F83E00E01C00C00E00800E00800E0080
07010007010007830003820003820001C40001C40001E40000E80000E800007000007000
00700000200015147F9318>I<FF9FE1FC3C0780701C0300601C0380200E0380400E0380
400E03C0400704C0800704E0800704E08003886100038871000388710001D0320001D03A
0001D03E0000E01C0000E01C0000601800004008001E147F9321>I<FF87F81E03C00E01
800E030007020003840001C80001D80000F00000700000780000F800009C00010E00020E
000607000403800C03C03C03E0FE07FC16147F9318>I<FF83F83E00E01C00C00E00800E
00800E008007010007010007830003820003820001C40001C40001E40000E80000E80000
7000007000007000002000002000004000004000004000F08000F08000F100006200003C
0000151D7F9318>I<7FFF700E600E401C40384078407000E001E001C00380078007010E
011E011C0338027006700EFFFE10147F9314>I E /Fh 40 122 df<000FE000007FF800
00F81C0001E07C0003E07C0007C07C0007C07C0007C0380007C0000007C0000007C00000
07C1FE00FFFFFE00FFFFFE0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E00
07C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E0007C03E00
07C03E003FF9FFC03FF9FFC01A20809F1D>12 D<387CFEFFFF7F3B030306060E0C183020
08107C9F0F>39 D<FFF0FFF0FFF0FFF00C047F8B11>45 D<00700000F00007F000FFF000
F9F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F000
01F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0007FFFC0
7FFFC0121D7D9C1A>49 D<03FC001FFF80381FC07C07E0FE03F0FE03F0FE03F8FE01F87C
01F83801F80003F80003F00003F00007E0000FC0000F00001E00003C0000700000E00001
C0180380180600180C00381FFFF03FFFF07FFFF0FFFFF0FFFFF0151D7E9C1A>I<03FC00
0FFF801C0FC03C07E07E03F07E03F07E03F07E07F03C07E00007E0000FC0003F8003FE00
03FC00000F800007C00003E00003F00003F83803F87C03F8FE03F8FE03F8FE03F0FC03F0
7807E03C0FC01FFF8003FC00151D7E9C1A>I<0001C00003C00007C00007C0000FC0001F
C0003BC00073C00063C000C3C00183C00383C00703C00E03C00C03C01803C03803C07003
C0E003C0FFFFFEFFFFFE0007C00007C00007C00007C00007C00007C000FFFE00FFFE171D
7F9C1A>I<1C00E01FFFE01FFFC01FFF801FFF001FFC001FC00018000018000018000018
000019FE001FFF801E07C01803E01001F00001F00001F80001F87801F8FC01F8FC01F8FC
01F8FC01F07803F07003E03C0FC00FFF0003FC00151D7E9C1A>I<003F0001FFC007C0E0
0F81E01F03F01E03F03E03F07C03F07C01E07C0000FC1000FCFF00FDFFC0FD03E0FE01F0
FE01F0FC01F8FC01F8FC01F8FC01F87C01F87C01F87C01F83C01F03E01F01E03E00F07C0
07FF8001FE00151D7E9C1A>I<6000007FFFF87FFFF87FFFF07FFFE07FFFC0E00180C003
00C00300C00600000C0000180000380000300000700000F00000F00001E00001E00003E0
0003E00003E00003E00007E00007E00007E00007E00007E00003C000018000151E7D9D1A
>I<0000E000000000E000000001F000000001F000000001F000000003F800000003F800
000006FC00000006FC0000000EFE0000000C7E0000000C7E000000183F000000183F0000
00303F800000301F800000701FC00000600FC00000600FC00000C007E00000FFFFE00001
FFFFF000018003F000038003F800030001F800030001F800060000FC00060000FC000E00
00FE00FFE00FFFE0FFE00FFFE0231F7E9E28>65 D<0007FC02003FFF0E00FE03DE03F000
FE07E0003E0FC0001E1F80001E3F00000E3F00000E7F0000067E0000067E000006FE0000
00FE000000FE000000FE000000FE000000FE000000FE0000007E0000007E0000067F0000
063F0000063F00000C1F80000C0FC0001807E0003803F0007000FE01C0003FFF800007FC
001F1F7D9E26>67 D<FFFFFE0000FFFFFFC00007E007F00007E001F80007E000FC0007E0
007E0007E0003F0007E0003F0007E0001F8007E0001F8007E0001F8007E0001FC007E000
1FC007E0001FC007E0001FC007E0001FC007E0001FC007E0001FC007E0001FC007E0001F
C007E0001F8007E0001F8007E0001F8007E0003F0007E0003F0007E0007E0007E000FC00
07E001F80007E007F000FFFFFFC000FFFFFE0000221F7E9E28>I<FFFFFFE0FFFFFFE007
E007E007E001E007E000E007E0006007E0007007E0003007E0003007E0303007E0303007
E0300007E0700007E0F00007FFF00007FFF00007E0F00007E0700007E0300007E0300C07
E0300C07E0000C07E0001807E0001807E0001807E0003807E0007807E000F807E003F0FF
FFFFF0FFFFFFF01E1F7E9E22>I<FFFFFFE0FFFFFFE007E007E007E001E007E000E007E0
006007E0007007E0003007E0003007E0303007E0303007E0300007E0700007E0F00007FF
F00007FFF00007E0F00007E0700007E0300007E0300007E0300007E0000007E0000007E0
000007E0000007E0000007E0000007E0000007E00000FFFF8000FFFF80001C1F7E9E21>
I<FFFFFFFF07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007
E007E007E007E007E007E007E007E007E007E007E007E0FFFFFFFF101F7E9E14>73
D<FFE000003FF8FFF000007FF807F000007F0006F80000DF0006F80000DF0006F80000DF
00067C00019F00067C00019F00063E00031F00063E00031F00061F00061F00061F00061F
00060F800C1F00060F800C1F000607C0181F000607C0181F000607C0181F000603E0301F
000603E0301F000601F0601F000601F0601F000600F8C01F000600F8C01F0006007D801F
0006007D801F0006003F001F0006003F001F0006003F001F0006001E001F00FFF01E03FF
F8FFF00C03FFF82D1F7E9E32>77 D<FFE000FFF0FFF000FFF007F000060007F800060006
FC000600067E000600063F000600063F800600061F800600060FC006000607E006000603
F006000601F806000601FC06000600FC060006007E060006003F060006001F860006001F
C60006000FE600060007E600060003F600060001FE00060000FE00060000FE000600007E
000600003E000600001E000600000E00FFF0000600FFF0000600241F7E9E29>I<FFFFFE
00FFFFFF8007E00FE007E003F007E001F807E001F807E001FC07E001FC07E001FC07E001
FC07E001FC07E001F807E001F807E003F007E00FE007FFFF8007FFFE0007E0000007E000
0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
0007E00000FFFF0000FFFF00001E1F7E9E24>80 D<FFFFFC0000FFFFFF800007E00FE000
07E003F00007E003F80007E001F80007E001FC0007E001FC0007E001FC0007E001FC0007
E001F80007E003F80007E003F00007E00FE00007FFFF800007FFFC000007E03F000007E0
0F800007E00FC00007E007C00007E007E00007E007E00007E007E00007E007F00007E007
F00007E007F00007E007F03007E003F83007E001F860FFFF00FFC0FFFF003F80241F7E9E
27>82 D<03FC080FFF381E03F83800F8700078700038F00038F00018F00018F80000FC00
007FC0007FFE003FFF801FFFC00FFFE007FFF000FFF80007F80000FC00007C00003CC000
3CC0003CC0003CE00038E00078F80070FE01E0EFFFC081FF00161F7D9E1D>I<7FFFFFFC
7FFFFFFC7C07E07C7007E01C6007E00C6007E00CE007E00EC007E006C007E006C007E006
C007E0060007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
03FFFFC003FFFFC01F1E7E9D24>I<07FC001FFF803F07C03F03E03F01F01F01F00C01F0
0001F0003FF007FDF01F81F03E01F07C01F0F801F0F801F0F801F0FC02F07E0CF03FF87E
0FE03E17147F9319>97 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F
00001F00001F00001F00001F1FC01F7FF01FE0F81F807C1F007E1F003E1F003E1F003F1F
003F1F003F1F003F1F003F1F003F1F003E1F003E1F007C1F807C1EC1F81C7FE0181F8018
207E9F1D>I<01FE0007FF801F0FC03E0FC03E0FC07C0F807C0300FC0000FC0000FC0000
FC0000FC0000FC00007C00007E00003E00603F00C01F81C007FF0001FC0013147E9317>
I<01FE0007FF800F83C01E01E03E00F07C00F07C00F8FC00F8FFFFF8FFFFF8FC0000FC00
00FC00007C00007C00003E00181E00180F807007FFE000FF8015147F9318>101
D<003F8000FFC003E3E007C7E00787E00F87E00F83C00F80000F80000F80000F80000F80
00FFFC00FFFC000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80
000F80000F80000F80000F80000F80000F80007FF8007FF80013207F9F10>I<03FC3C0F
FFFE1E079E3C03DE7C03E07C03E07C03E07C03E07C03E03C03C01E07801FFF0013FC0030
00003000003800003FFF801FFFF00FFFF81FFFFC78007C70003EF0001EF0001EF0001E78
003C78003C3F01F80FFFE001FF00171E7F931A>I<1C003E007F007F007F003E001C0000
0000000000000000000000FF00FF001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F00FFE0FFE00B217EA00E>105 D<FF0000FF00001F00001F0000
1F00001F00001F00001F00001F00001F00001F00001F00001F01FE1F01FE1F00F01F00C0
1F03801F07001F0C001F18001F7C001FFC001F9E001F0F001E0F801E07C01E03C01E01E0
1E01F01E00F8FFC3FFFFC3FF18207E9F1C>107 D<FF00FF001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F00FFE0FFE00B207E9F0E>I<FE0FE03F80FE1FF07FC01E70F9C3E01E
407D01F01E807E01F01F807E01F01F007C01F01F007C01F01F007C01F01F007C01F01F00
7C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C01F01F007C
01F0FFE3FF8FFEFFE3FF8FFE27147D932C>I<FE0FC0FE3FE01E61F01EC0F81E80F81F00
F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00
F8FFE7FFFFE7FF18147D931D>I<01FF0007FFC01F83F03E00F83E00F87C007C7C007CFC
007EFC007EFC007EFC007EFC007EFC007E7C007C7C007C3E00F83E00F81F83F007FFC001
FF0017147F931A>I<FF1FC0FF7FF01FE1F81F80FC1F007E1F007E1F003E1F003F1F003F
1F003F1F003F1F003F1F003F1F003E1F007E1F007C1F80FC1FC1F81F7FE01F1F801F0000
1F00001F00001F00001F00001F00001F0000FFE000FFE000181D7E931D>I<FE3E00FE7F
801ECFC01E8FC01E8FC01F8F801F03001F00001F00001F00001F00001F00001F00001F00
001F00001F00001F00001F0000FFF000FFF00012147E9316>114
D<0FE63FFE701E600EE006E006F800FFC07FF83FFC1FFE03FE001FC007C007E007F006F8
1EFFFCC7F010147E9315>I<0300030003000300070007000F000F003F00FFFCFFFC1F00
1F001F001F001F001F001F001F001F001F001F061F061F061F061F060F8C07F803F00F1D
7F9C14>I<FF07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F
00F81F00F81F00F81F00F81F00F81F01F81F01F80F06F807FCFF03F8FF18147D931D>I<
FFE07F80FFE07F801F001C000F8018000F80180007C0300007C0300003E0600003E06000
03F0E00001F0C00001F9C00000F9800000FF8000007F0000007F0000003E0000003E0000
001C0000001C0000001800000018000078300000FC300000FC600000C0E00000E1C00000
7F8000001E000000191D7F931C>121 D E /Fi 33 122 df<0001FF0000001FFFC00000
7F81E00000FC01E00001F807F00003F807F00007F007F00007F007F00007F007F00007F0
07F00007F001C00007F000000007F000000007F000000007F03FF800FFFFFFF800FFFFFF
F800FFFFFFF80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F8
0007F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F800
07F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007F003F80007
F003F8007FFF3FFF807FFF3FFF807FFF3FFF80212A7FA925>12 D<3C007F00FF80FF80FF
C0FFC0FFC07FC03EC000C000C00180018001800300030006000E001C00380010000A157B
A913>39 D<FFFF80FFFF80FFFF80FFFF80FFFF80FFFF8011067F9016>45
D<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE0000FE0000FE0000FE0000FE
0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE
0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE
00FFFFFEFFFFFEFFFFFE17277BA622>49 D<00FF800007FFF0000FFFFC001E03FE003800
FF807C003F80FE003FC0FF001FC0FF001FE0FF000FE0FF000FE07E000FE03C001FE00000
1FE000001FC000001FC000003F8000003F0000007E000000FC000000F8000001F0000003
E00000078000000F0000001E0000003C00E0007000E000E000E001C001C0038001C00600
01C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFFFF801B277DA622>
I<007F800003FFF00007FFFC000F81FE001F007F003F807F003F803F803F803F803F803F
801F803F801F003F8000007F0000007F0000007E000000FC000001F8000007F00000FFC0
0000FFC0000001F80000007E0000003F0000003F8000001FC000001FC000001FE000001F
E03C001FE07E001FE0FF001FE0FF001FE0FF001FC0FF003FC0FE003F807C007F003F01FE
001FFFFC0007FFF00000FF80001B277DA622>I<00000F0000000F0000001F0000003F00
00007F000000FF000001FF000001FF000003BF0000073F00000E3F00001C3F00003C3F00
00383F0000703F0000E03F0001C03F0003803F0007803F0007003F000E003F001C003F00
38003F0070003F00F0003F00FFFFFFF8FFFFFFF8FFFFFFF800007F0000007F0000007F00
00007F0000007F0000007F0000007F0000007F00001FFFF8001FFFF8001FFFF81D277EA6
22>I<00007FE0030007FFFC07001FFFFF0F007FF00F9F00FF0001FF01FC0000FF03F800
007F07F000003F0FE000001F1FC000001F1FC000000F3F8000000F3F800000077F800000
077F800000077F00000000FF00000000FF00000000FF00000000FF00000000FF00000000
FF00000000FF00000000FF00000000FF000000007F000000007F800000007F800000073F
800000073F800000071FC00000071FC000000E0FE000000E07F000001C03F800003C01FC
00007800FF0001F0007FF007C0001FFFFF800007FFFE0000007FF00028297CA831>67
D<FFFFFFFFC0FFFFFFFFC0FFFFFFFFC003FC003FC003FC000FE003FC0003E003FC0001E0
03FC0001E003FC0000E003FC0000E003FC0000E003FC0000F003FC01C07003FC01C07003
FC01C07003FC01C00003FC03C00003FC03C00003FC0FC00003FFFFC00003FFFFC00003FF
FFC00003FC0FC00003FC03C00003FC03C00003FC01C00003FC01C00003FC01C00003FC01
C00003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000
0003FC00000003FC000000FFFFFC0000FFFFFC0000FFFFFC000024297EA82A>70
D<FFFFF0FFFFF0FFFFF003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC
0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC
0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC
0003FC0003FC00FFFFF0FFFFF0FFFFF014297EA819>73 D<FFFE0000003FFF80FFFE0000
003FFF80FFFF0000007FFF8003FF0000007FE00003FF0000007FE00003BF800000EFE000
03BF800000EFE000039FC00001CFE000039FC00001CFE000038FE000038FE000038FE000
038FE000038FE000038FE0000387F000070FE0000387F000070FE0000383F8000E0FE000
0383F8000E0FE0000381FC001C0FE0000381FC001C0FE0000381FC001C0FE0000380FE00
380FE0000380FE00380FE00003807F00700FE00003807F00700FE00003803F80E00FE000
03803F80E00FE00003803F80E00FE00003801FC1C00FE00003801FC1C00FE00003800FE3
800FE00003800FE3800FE000038007F7000FE000038007F7000FE000038007F7000FE000
038003FE000FE000038003FE000FE000038001FC000FE000038001FC000FE000038000F8
000FE000FFFE00F803FFFF80FFFE00F803FFFF80FFFE007003FFFF8039297DA840>77
D<FFFC00007FFFFFFE00007FFFFFFF00007FFF03FF800001C003FFC00001C003BFE00001
C0039FE00001C0039FF00001C0038FF80001C00387FC0001C00383FE0001C00381FF0001
C00380FF8001C003807F8001C003807FC001C003803FE001C003801FF001C003800FF801
C0038007FC01C0038003FC01C0038003FE01C0038001FF01C0038000FF81C00380007FC1
C00380003FE1C00380001FF1C00380000FF1C00380000FF9C003800007FDC003800003FF
C003800001FFC003800000FFC0038000007FC0038000007FC0038000003FC0038000001F
C0038000000FC00380000007C0FFFE000003C0FFFE000001C0FFFE000001C030297EA835
>I<FFFFFFF800FFFFFFFF00FFFFFFFFC003FC003FE003FC0007F003FC0003F803FC0003
FC03FC0001FC03FC0001FE03FC0001FE03FC0001FE03FC0001FE03FC0001FE03FC0001FE
03FC0001FE03FC0001FC03FC0003FC03FC0003F803FC0007F003FC003FE003FFFFFF8003
FFFFFE0003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC
00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00
000003FC00000003FC000000FFFFF00000FFFFF00000FFFFF0000027297EA82E>80
D<FFFFFFE00000FFFFFFFE0000FFFFFFFF800003FC003FE00003FC000FF00003FC0007F8
0003FC0003FC0003FC0001FC0003FC0001FE0003FC0001FE0003FC0001FE0003FC0001FE
0003FC0001FE0003FC0001FE0003FC0001FC0003FC0003F80003FC0007F80003FC000FE0
0003FC003FC00003FFFFFE000003FFFFFE000003FC00FF800003FC003FC00003FC001FE0
0003FC000FF00003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F8
0003FC0007F80003FC0007F80003FC0007F80003FC0007F80003FC0007F80E03FC0007F8
0E03FC0003F80E03FC0001FC1CFFFFF000FE1CFFFFF0007FF8FFFFF0000FE02F297EA832
>82 D<7FFFFFFFFF807FFFFFFFFF807FFFFFFFFF807F807F807F807C007F800F8078007F
80078078007F80078070007F800380F0007F8003C0F0007F8003C0E0007F8001C0E0007F
8001C0E0007F8001C0E0007F8001C0E0007F8001C000007F80000000007F80000000007F
80000000007F80000000007F80000000007F80000000007F80000000007F80000000007F
80000000007F80000000007F80000000007F80000000007F80000000007F80000000007F
80000000007F80000000007F80000000007F80000000007F80000000007F80000000007F
80000000007F80000000FFFFFFC00000FFFFFFC00000FFFFFFC0002A287EA72F>84
D<03FF80000FFFF0001F01FC003F80FE003F807F003F803F003F803F801F003F8000003F
8000003F8000003F8000003F80003FFF8001FC3F800FE03F801F803F803F003F807E003F
80FC003F80FC003F80FC003F80FC003F80FC005F807E00DF803F839FFC1FFE0FFC03FC03
FC1E1B7E9A21>97 D<FFE00000FFE00000FFE000000FE000000FE000000FE000000FE000
000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE1FE
000FEFFF800FFE07E00FF803F00FF001F80FE000FC0FE000FC0FE0007E0FE0007E0FE000
7F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007E0FE000
7E0FE0007E0FE000FC0FE000FC0FF001F80FF803F00F9C0FE00F0FFF800E01FC00202A7E
A925>I<003FF00001FFFC0003F03E000FC07F001F807F003F007F003F007F007F003E00
7E0000007E000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000
7E0000007E0000007F0000003F0003803F8003801F8007000FE00E0003F83C0001FFF800
003FC000191B7E9A1E>I<003FC00001FFF00003E07C000F803E001F801F001F001F003F
000F807E000F807E000FC07E000FC0FE0007C0FE0007C0FFFFFFC0FFFFFFC0FE000000FE
000000FE0000007E0000007E0000007F0000003F0001C01F0001C00F80038007C0070003
F01E0000FFFC00003FE0001A1B7E9A1F>101 D<0007F8003FFC007E3E01FC7F03F87F03
F07F07F07F07F03E07F00007F00007F00007F00007F00007F00007F000FFFFC0FFFFC0FF
FFC007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007
F00007F00007F00007F00007F00007F00007F00007F00007F00007F0007FFF807FFF807F
FF80182A7EA915>I<00FF80F003FFE3F80FC1FE1C1F007C7C3F007E7C3E003E107E003F
007E003F007E003F007E003F007E003F007E003F003E003E003F007E001F007C000FC1F8
000BFFE00018FF80001800000038000000380000003C0000003FFFF8003FFFFF001FFFFF
C00FFFFFE007FFFFF01FFFFFF03C0007F07C0001F8F80000F8F80000F8F80000F8F80000
F87C0001F07C0001F03F0007E00FC01F8007FFFF00007FF0001E287E9A22>I<07000F80
1FC03FE03FE03FE01FC00F8007000000000000000000000000000000FFE0FFE0FFE00FE0
0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
0FE00FE0FFFEFFFEFFFE0F2B7EAA12>105 D<FFE00000FFE00000FFE000000FE000000F
E000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000F
E000000FE000000FE01FFC0FE01FFC0FE01FFC0FE007800FE00F000FE01E000FE03C000F
E078000FE0E0000FE3C0000FE7C0000FEFE0000FFFF0000FFFF8000FF3F8000FE1FC000F
C0FE000FC07F000FC07F000FC03F800FC01FC00FC00FE00FC00FE00FC007F0FFFC1FFFFF
FC1FFFFFFC1FFF202A7FA923>107 D<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE0
0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2A7EA912>I<FF
C07F001FC000FFC1FFC07FF000FFC307E0C1F8000FC407F101FC000FC803F200FC000FD8
03FE00FE000FD003FC00FE000FD003FC00FE000FE003F800FE000FE003F800FE000FE003
F800FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F8
00FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800FE000FE003F800
FE000FE003F800FE000FE003F800FE000FE003F800FE00FFFE3FFF8FFFE0FFFE3FFF8FFF
E0FFFE3FFF8FFFE0331B7D9A38>I<FFC07E00FFC1FF80FFC30FC00FC40FE00FC807E00F
D807F00FD007F00FD007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00F
E007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00F
E007F0FFFE3FFFFFFE3FFFFFFE3FFF201B7D9A25>I<003FE00001FFFC0003F07E000FC0
1F801F800FC03F0007E03F0007E07E0003F07E0003F07E0003F0FE0003F8FE0003F8FE00
03F8FE0003F8FE0003F8FE0003F8FE0003F8FE0003F87E0003F07E0003F03F0007E03F00
07E01F800FC00FC01F8007F07F0001FFFC00003FE0001D1B7E9A22>I<FFE1FE00FFEFFF
80FFFE0FE00FF803F00FF001F80FE001FC0FE000FC0FE000FE0FE000FE0FE0007F0FE000
7F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007E0FE000FE0FE000
FE0FE000FC0FE001FC0FF001F80FF807F00FFC0FE00FEFFF800FE1FC000FE000000FE000
000FE000000FE000000FE000000FE000000FE000000FE000000FE00000FFFE0000FFFE00
00FFFE000020277E9A25>I<FFC1F0FFC7FCFFC63E0FCC7F0FD87F0FD07F0FD07F0FF03E
0FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE000
0FE0000FE0000FE0000FE000FFFF00FFFF00FFFF00181B7F9A1B>114
D<03FE300FFFF03E03F07800F07000F0F00070F00070F80070FE0000FFE0007FFF007FFF
C03FFFE01FFFF007FFF800FFF80007FC0000FCE0007CE0003CF0003CF00038F80038FC00
70FF01E0E7FFC0C1FF00161B7E9A1B>I<00E00000E00000E00000E00001E00001E00001
E00003E00003E00007E0000FE0001FFFE0FFFFE0FFFFE00FE0000FE0000FE0000FE0000F
E0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0700FE0700FE0700F
E0700FE0700FE0700FE07007F0E003F0C001FF80007F0014267FA51A>I<FFE07FF0FFE0
7FF0FFE07FF00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE0
07F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE007F00FE0
07F00FE007F00FE00FF00FE00FF007E017F003F067FF01FFC7FF007F87FF201B7D9A25>
I<FFFC03FFFFFC03FFFFFC03FF0FF000F007F000E007F800E003F801C003F801C003FC03
C001FC038001FE078000FE070000FF0700007F0E00007F0E00007F9E00003F9C00003FFC
00001FF800001FF800000FF000000FF000000FF0000007E0000007E0000003C0000003C0
00000380000003800000078000380700007C0F0000FE0E0000FE1E0000FE1C0000FE3800
0074F000003FE000000F80000020277F9A23>121 D E /Fj 5 85
df<000010000000003800000000380000000038000000007C000000007C000000007C00
000000BE00000000BE00000000BE000000011F000000011F000000011F000000020F8000
00020F800000040FC000000407C000000407C000000807E000000803E000000803E00000
1001F000001001F000001001F000002000F800002000F800002000F800007FFFFC00007F
FFFC0000C0007E000080003E000080003E000100003F000100001F000100001F00020000
0F800200000F800600000F8006000007C01F00000FE0FFE000FFFEFFE000FFFE272A7EA9
2C>65 D<FFFFFF8000FFFFFFF00007E001FC0003E0003E0003E0001F0003E0000F8003E0
0007C003E00003E003E00001F003E00001F003E00000F803E00000F803E00000FC03E000
007C03E000007C03E000007C03E000007E03E000007E03E000007E03E000007E03E00000
7E03E000007E03E000007E03E000007E03E000007E03E000007E03E000007C03E000007C
03E00000FC03E00000F803E00000F803E00001F003E00001F003E00003E003E00003C003
E000078003E0001F0003E0003E0007E001FC00FFFFFFF000FFFFFF800027297EA82D>68
D<FFFFFFFCFFFFFFFC0FC000FC07C0001C07C0000E07C0000607C0000607C0000207C000
0207C0000207C0000207C0000107C0040107C0040107C0040007C0040007C0040007C00C
0007C01C0007FFFC0007FFFC0007C01C0007C00C0007C0040007C0040007C0040007C004
0007C0040007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
0007C0000007C000000FE00000FFFF8000FFFF800020297DA826>70
D<FFFFFC0000FFFFFFC00007E007F00003E000F80003E0007C0003E0003E0003E0003F00
03E0001F0003E0001F8003E0001F8003E0001F8003E0001F8003E0001F8003E0001F8003
E0001F0003E0003E0003E0003E0003E000780003E001F00003E007C00003FFFE000003E0
07000003E003C00003E001E00003E000F00003E000F80003E000780003E0007C0003E000
7C0003E0007C0003E0007C0003E0007E0003E0007E0003E0007E0003E0007E0003E0007E
0103E0007F0103E0003F0107F0001F02FFFF800F82FFFF80078400000001F8282A7EA82B
>82 D<7FFFFFFFF07FFFFFFFF07C00F801F07000F800706000F800304000F800104000F8
0010C000F80018C000F800188000F800088000F800088000F800088000F800088000F800
080000F800000000F800000000F800000000F800000000F800000000F800000000F80000
0000F800000000F800000000F800000000F800000000F800000000F800000000F8000000
00F800000000F800000000F800000000F800000000F800000000F800000000F800000000
F800000000F800000000F800000001FC000000FFFFF80000FFFFF80025297EA82A>84
D E /Fk 31 122 df<007E0001C1800301800703C00E03C00E01800E00000E00000E0000
0E00000E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
0E01C00E01C00E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>12
D<60F0F0701010101020204080040C7C830C>44 D<60F0F06004047C830C>46
D<FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
000F000F000F000F000F000F000F000F000F00FFF00C1C7F9B0F>73
D<FF8000FF800F8000F8000F8000F8000BC00178000BC00178000BC001780009E0027800
09E002780008F004780008F004780008F004780008780878000878087800087808780008
3C107800083C107800083C107800081E207800081E207800081E207800080F407800080F
40780008078078000807807800080780780008030078001C03007800FF8307FF80211C7E
9B26>77 D<003F800000E0E0000380380007001C000E000E001C0007003C000780380003
80780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001
E0F00001E0F00001E0700001C0780003C0780003C0380003803C0007801C0007000E000E
0007001C000380380000E0E000003F80001B1E7E9C20>79 D<FFFF800F00E00F00780F00
3C0F001C0F001E0F001E0F001E0F001E0F001E0F001C0F003C0F00780F00E00FFF800F00
000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000FFF0
00171C7E9B1C>I<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020
800F0020800F0020000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
000F0000001F800003FFFC001B1C7F9B1E>84 D<1FC000307000783800781C00301C0000
1C00001C0001FC000F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F
870012127E9115>97 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00
001C00001C00001C7C001D87001E01801C00C01C00E01C00601C00701C00701C00701C00
701C00701C00701C00601C00E01C00C01E018019070010FC00141D7F9C17>I<03F80C0C
181E301E700C6000E000E000E000E000E000E00060007002300218040C1803E00F127F91
12>I<001F80000380000380000380000380000380000380000380000380000380000380
03F3800E0B80180780300380700380600380E00380E00380E00380E00380E00380E00380
6003807003803003801807800E1B8003E3F0141D7F9C17>I<07E00C301818300C700E60
06E006FFFEE000E000E000E00060007002300218040C1803E00F127F9112>I<00F8018C
071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038007C4C01C78C03838
80301800701C00701C00701C00701C003018003838001C700027C0002000002000003000
003FF8001FFF001FFF802003806001C0C000C0C000C0C000C06001803003001C0E0007F8
00121C7F9215>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C
00001C00001C7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C
03801C03801C03801C03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C00
18000000000000000000000000000000FC001C001C001C001C001C001C001C001C001C00
1C001C001C001C001C001C001C00FF80091D7F9C0C>I<FC00001C00001C00001C00001C
00001C00001C00001C00001C00001C00001C00001C0FE01C07801C06001C0C001C10001C
20001C40001CE0001DE0001E70001C78001C38001C3C001C1C001C0E001C0F001C0F80FF
9FE0131D7F9C16>107 D<FC001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F
9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C001C01
C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C0
1C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D
03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
03801C03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180
E001C0E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F000
12127F9115>I<FC7C001D87001E01801C01C01C00E01C00E01C00701C00701C00701C00
701C00701C00701C00E01C00E01C01C01E01801D07001CFC001C00001C00001C00001C00
001C00001C00001C0000FF8000141A7F9117>I<FCE01D381E781E781C301C001C001C00
1C001C001C001C001C001C001C001C001C00FFC00D127F9110>114
D<1F9020704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D0608F
C00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C00
1C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F801C03
801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03
801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E02000E
02000F060007040007040003880003880003C80001D00001D00000E00000E00000E00000
400013127F9116>I<FF3FC7E03C0703C01C0701801C0701001C0B01000E0B82000E0B82
000E1182000711C4000711C4000720C40003A0E80003A0E80003C0680001C0700001C070
0001803000008020001B127F911E>I<FF0FE01E07001C06000E040007080003900003B0
0001E00000E00000F00001F000013800021C00041C000C0E001807003C0780FE1FF01412
7F9116>I<FF07E03C03801C01001C01000E02000E02000F060007040007040003880003
880003C80001D00001D00000E00000E00000E000004000004000008000008000F08000F1
0000F30000660000380000131A7F9116>I E /Fl 7 117 df<00038000000380000007C0
000007C0000007C000000FE000000FE000001FF000001BF000003BF8000031F8000031F8
000060FC000060FC0000E0FE0000C07E0000C07E0001803F0001FFFF0003FFFF8003001F
8007001FC006000FC006000FC00C0007E00C0007E0FF803FFEFF803FFE1F1C7E9B24>65
D<0FF8001C1E003E0F803E07803E07C01C07C00007C0007FC007E7C01F07C03C07C07C07
C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>97 D<FF0000FF00001F0000
1F00001F00001F00001F00001F00001F00001F00001F00001F3F801FE1E01F80701F0078
1F003C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F003C1F00781F8070
1EC1E01C3F00171D7F9C1B>I<03FC000E0E001C1F003C1F00781F00780E00F80000F800
00F80000F80000F80000F800007800007801803C01801C03000E0E0003F80011127E9115
>I<FE3E00FE47001E8F801E8F801E8F801F07001F00001F00001F00001F00001F00001F
00001F00001F00001F00001F0000FFE000FFE00011127F9114>114
D<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01CC01CE01CE018F830CF
C00E127E9113>I<0300030003000300070007000F000F003FFCFFFC1F001F001F001F00
1F001F001F001F001F001F0C1F0C1F0C1F0C0F08079803F00E1A7F9913>I
E /Fm 1 4 df<020002000200C218F2783AE00F800F803AE0F278C2180200020002000D
0E7E8E12>3 D E /Fn 23 122 df<70F8FCFC7404040404080810102040060F7C840E>
44 D<70F8F8F87005057C840E>46 D<008003800F80F380038003800380038003800380
038003800380038003800380038003800380038003800380038003800380038003800380
03800380038007C0FFFE0F217CA018>49 D<007E0001C1000300800601C00C03C01C03C0
180180380000380000780000700000700000F0F800F30C00F40600F40300F80380F801C0
F001C0F001E0F001E0F001E0F001E0F001E07001E07001E07001E03801C03801C0180380
1C03000C0600070C0001F00013227EA018>54 D<4000006000007FFFE07FFFC07FFFC040
0080C0010080010080020080020000040000080000080000100000200000200000600000
400000C00000C00001C00001C00001800003800003800003800003800007800007800007
800007800007800007800007800003000013237DA118>I<01F000060C000C0600180700
380380700380700380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E07001E0
7003E03803E01805E00C05E00619E003E1E00001C00001C00001C0000380000380300380
780700780600700C002018001030000FC00013227EA018>57 D<0007E0100038183000E0
063001C00170038000F0070000F00E0000701E0000701C0000303C0000303C0000307C00
00107800001078000010F8000000F8000000F8000000F8000000F8000000F8000000F800
0000F800000078000000780000107C0000103C0000103C0000101C0000201E0000200E00
0040070000400380008001C0010000E0020000381C000007E0001C247DA223>67
D<FF8007FF07C000F807C0007005E0002004F0002004F0002004780020047C0020043C00
20041E0020041F0020040F002004078020040780200403C0200401E0200401E0200400F0
200400F8200400782004003C2004003E2004001E2004000F2004000F20040007A0040003
E0040003E0040001E0040001E0040000E00E0000601F000060FFE0002020227EA125>78
D<FFFFE000000F803C000007800E00000780078000078007C000078003C000078003E000
078003E000078003E000078003E000078003E000078003C000078007C000078007800007
800E000007803C000007FFE000000780700000078038000007801C000007801E00000780
0E000007800F000007800F000007800F000007800F000007800F800007800F800007800F
800007800F808007800FC080078007C0800FC003C100FFFC01E2000000007C0021237EA1
24>82 D<FFF03FFC03FE1F8007E000F80F0003C000700F0003C000200F0001E000200780
01E00040078001E00040078003F0004003C002F0008003C002F0008003C002F0008003E0
0478018001E00478010001E00478010001E0083C010000F0083C020000F0083C020000F0
101E02000078101E04000078101E04000078200F0400003C200F0800003C200F0800003C
600F8800001E40079000001E40079000001E4007D000001F8003F000000F8003E000000F
8003E000000F0001E00000070001C00000070001C00000060000C0000002000080002F23
7FA132>87 D<1FE000303800780C00780E0030070000070000070000070000FF0007C700
1E07003C0700780700700700F00708F00708F00708F00F087817083C23900FC1E015157E
9418>97 D<0E0000FE00001E00000E00000E00000E00000E00000E00000E00000E00000E
00000E00000E00000E00000E1F000E61C00E80600F00300E00380E003C0E001C0E001E0E
001E0E001E0E001E0E001E0E001E0E001E0E001C0E003C0E00380F00700C80600C41C008
3F0017237FA21B>I<01FC000707000C03801C01C03801C07801E07000E0F000E0FFFFE0
F00000F00000F00000F00000F000007000007800203800201C00400E008007030000FC00
13157F9416>101 D<0E0000FE00001E00000E00000E00000E00000E00000E00000E0000
0E00000E00000E00000E00000E00000E1F800E60C00E80E00F00700F00700E00700E0070
0E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0070
0E0070FFE7FF18237FA21B>104 D<1C003E003E003E001C000000000000000000000000
00000000000E007E001E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E00FFC00A227FA10E>I<0E00FE001E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00
0E000E000E000E000E000E000E00FFE00B237FA20E>108 D<0E1FC07F00FE60E183801E
807201C00F003C00E00F003C00E00E003800E00E003800E00E003800E00E003800E00E00
3800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E0038
00E00E003800E00E003800E00E003800E0FFE3FF8FFE27157F942A>I<0E1F80FE60C01E
80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E
00700E00700E00700E00700E00700E0070FFE7FF18157F941B>I<01FC000707000C0180
1800C03800E0700070700070F00078F00078F00078F00078F00078F00078F00078700070
7800F03800E01C01C00E038007070001FC0015157F9418>I<0E3CFE461E8F0F0F0F060F
000E000E000E000E000E000E000E000E000E000E000E000E000E000F00FFF010157F9413
>114 D<02000200020002000600060006000E001E003E00FFFC0E000E000E000E000E00
0E000E000E000E000E000E000E040E040E040E040E040E040708030801F00E1F7F9E13>
116 D<FF80FE1E00781E00300E00200E00200700400700400780C003808003808001C100
01C10000E20000E20000E20000740000740000380000380000380000100017157F941A>
118 D<FF80FE1E00781E00300E00200E00200700400700400780C003808003808001C100
01C10000E20000E20000E200007400007400003800003800003800001000001000002000
002000002000004000F04000F08000F180004300003C0000171F7F941A>121
D E /Fo 16 121 df<FFFFFFFFF0FFFFFFFFF007E00007F003E00000F003E000007803E0
00003803E000001803E000001803E000000803E000000803E000000803E000000803E000
000403E000000403E000000403E000400403E000400003E000400003E000400003E00040
0003E000C00003E000C00003E003C00003FFFFC00003FFFFC00003E003C00003E000C000
03E000C00003E000400003E000400003E000400003E000400103E000400103E000000103
E000000203E000000203E000000203E000000203E000000603E000000603E000000403E0
00000C03E000000C03E000001C03E000003C03E00000FC07E00007F8FFFFFFFFF8FFFFFF
FFF828317DB02D>69 D<FFFF80FFFF8007F00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00007F000FFFF80FFFF8011317DB017>73 D<FFF00000007FF8FFF00000007FF807
F00000007F0002F8000000BE0002F8000000BE0002F8000000BE00027C0000013E00027C
0000013E00023E0000023E00023E0000023E00023E0000023E00021F0000043E00021F00
00043E00021F0000043E00020F8000083E00020F8000083E00020F8000083E000207C000
103E000207C000103E000207C000103E000203E000203E000203E000203E000201F00040
3E000201F000403E000201F000403E000200F800803E000200F800803E000200F800803E
0002007C01003E0002007C01003E0002007C01003E0002003E02003E0002003E02003E00
02003E02003E0002001F04003E0002001F04003E0002000F88003E0002000F88003E0002
000F88003E00020007D0003E00020007D0003E00020007D0003E00020003E0003E000200
03E0003E00020003E0003E00070001C0003E000F8001C0007F00FFF801C00FFFF8FFF800
800FFFF835317CB03D>77 D<FFFFFFE000FFFFFFFC0007E0003F0003E0000F8003E00003
C003E00001E003E00001F003E00000F803E00000F803E000007803E000007C03E000007C
03E000007C03E000007C03E000007C03E000007C03E000007803E00000F803E00000F003
E00001F003E00001E003E00003C003E0000F8003E0003E0003FFFFF80003E000000003E0
00000003E000000003E000000003E000000003E000000003E000000003E000000003E000
000003E000000003E000000003E000000003E000000003E000000003E000000003E00000
0003E000000003E000000003E000000003E000000003E000000007F0000000FFFF800000
FFFF80000026317DB02D>80 D<007F802001FFE02007C078600F001C601E0006E03C0003
E0380001E0780000E0700000E070000060F0000060F0000060F0000020F0000020F00000
20F8000020F80000007C0000007E0000003F0000003FC000001FF800000FFF800007FFF0
0003FFFC0000FFFF00000FFF800000FFC000001FE0000007E0000003F0000001F0000000
F0000000F8000000F88000007880000078800000788000007880000078C0000078C00000
70E00000F0E00000E0F00000E0F80001C0EC000380C7000700C1F01E00807FFC00800FF0
001D337CB125>83 D<00FE00000303C0000C00E00010007000100038003C003C003E001C
003E001E003E001E0008001E0000001E0000001E0000001E00000FFE0000FC1E0003E01E
000F801E001F001E003E001E003C001E007C001E00F8001E04F8001E04F8001E04F8003E
04F8003E0478003E047C005E043E008F080F0307F003FC03E01E1F7D9E21>97
D<0780000000FF80000000FF800000000F80000000078000000007800000000780000000
078000000007800000000780000000078000000007800000000780000000078000000007
8000000007800000000780000000078000000007800000000781FC000007860780000788
01C000079000E00007A000700007C00038000780003C000780001E000780001E00078000
1F000780000F000780000F000780000F800780000F800780000F800780000F800780000F
800780000F800780000F800780000F000780000F000780001F000780001E000780001E00
0780003C0007C00038000720007000072000E000061801C00006060700000401F8000021
327EB125>I<003F800000E0E0000380380007003C000E001E001E001E001C000F003C00
0F007C000F0078000F8078000780F8000780F8000780FFFFFF80F8000000F8000000F800
0000F8000000F8000000F8000000780000007C0000003C0000003C0000801E0000800E00
01000F0002000700020001C00C0000F03000001FC000191F7E9E1D>101
D<0F001F801F801F801F800F000000000000000000000000000000000000000000000007
807F807F800F800780078007800780078007800780078007800780078007800780078007
800780078007800780078007800780078007800FC0FFF8FFF80D307EAF12>105
D<0780FF80FF800F80078007800780078007800780078007800780078007800780078007
800780078007800780078007800780078007800780078007800780078007800780078007
80078007800780078007800780078007800780078007800FC0FFFCFFFC0E327EB112>
108 D<0780FE001FC000FF83078060F000FF8C03C18078000F9001E2003C0007A001E400
3C0007A000F4001E0007C000F8001E0007C000F8001E00078000F0001E00078000F0001E
00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00
078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E0007
8000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E000780
00F0001E00078000F0001E00078000F0001E000FC001F8003F00FFFC1FFF83FFF0FFFC1F
FF83FFF0341F7E9E38>I<0780FE0000FF83078000FF8C03C0000F9001E00007A001E000
07A000F00007C000F00007C000F000078000F000078000F000078000F000078000F00007
8000F000078000F000078000F000078000F000078000F000078000F000078000F0000780
00F000078000F000078000F000078000F000078000F000078000F000078000F000078000
F000078000F0000FC001F800FFFC1FFF80FFFC1FFF80211F7E9E25>I<001FC00000F078
0001C01C00070007000F0007801E0003C01C0001C03C0001E03C0001E0780000F0780000
F0780000F0F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8F80000
F8780000F07C0001F03C0001E03C0001E01E0003C01E0003C00F00078007800F0001C01C
0000F07800001FC0001D1F7E9E21>I<01FC100E03301800F0300070600030E00030E000
10E00010E00010F00010F800007E00003FF0001FFF000FFFC003FFE0003FF00001F80000
F880003C80003C80001CC0001CC0001CE0001CE00018F00038F00030CC0060C301C080FE
00161F7E9E1A>115 D<00400000400000400000400000400000C00000C00000C00001C0
0001C00003C00007C0000FC0001FFFE0FFFFE003C00003C00003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C01003C0
1003C01003C01003C01003C01003C01003C01001C02001E02000E0400078C0001F00142C
7FAB19>I<FFF003FF00FFF003FF000FE001F80003C001E00003E001800001E001000000
F00300000078020000007C040000003C080000001E100000000F300000000FA000000007
C000000003C000000003E000000001F000000002F00000000478000000087C000000183E
000000101E000000200F000000400F800000C007C000008003C000010001E000070001F0
001F8001F800FFC007FFC0FFC007FFC0221F7F9E23>120 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin
%%PaperSize: Letter

%%EndSetup
%%Page: 1 1
1 0 bop 467 351 a Fo(Some)20 b(Plebian)h(Extensions)g(to)h(MPI)760
478 y Fn(R.)16 b(Clin)o(t)f(Whaley)1128 460 y Fm(\003)753
580 y Fn(No)o(v)o(em)o(b)q(er)e(6,)k(1997)853 797 y Fl(Abstract)220
873 y Fk(This)e(pap)q(er)h(discusses)h(sev)o(eral)e(extensions)h(the)g
(author)f(w)o(ould)f(lik)o(e)g(to)h(see)h(made)e(to)h(MPI.)158
923 y(The)h(purp)q(ose)h(of)e(these)i(extensions)f(is)g(not)f(to)h(add)
f(signi\014can)o(t)h(new)g(p)q(o)o(w)o(ers)g(to)g(MPI.)f(On)h(the)158
973 y(con)o(trary)m(,)f(these)h(prop)q(osals)g(ma)o(y)d(b)q(e)j(view)o
(ed)f(as)g(\014lling)f(in)h(certain)h(gaps)f(in)f(what)h(has)h(already)
158 1023 y(b)q(een)d(pro)o(vided.)k(These)d(extensions)f(are)f(of)g
(particular)g(in)o(terest)h(to)f(the)h(programmer)d(pro)o(viding)158
1072 y(libraries)j(based)i(on)f(MPI,)f(as)h(opp)q(osed)h(to)e(an)h
(application)f(programmer.)257 1166 y Fj(DRAFT)19 b(DRAFT)h(DRAFT)g
(DRAFT)f(DRAFT)h(DRAFT)p 257 1173 1371 2 v 44 1309 a
Fi(Con)n(ten)n(ts)44 1411 y Fh(1)42 b(In)o(terop)q(erabilit)o(y)19
b(of)e(MPI's)f(In)o(terfaces)888 b(2)112 1468 y Fg(1.1)46
b(Motiv)m(ation)g(.)22 b(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)91 b(2)112 1524 y(1.2)46 b(Prop)q(osal)18
b(.)k(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)91 b(2)112 1581 y(1.3)46 b(Commen)o(ts)15
b(.)23 b(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)91 b(3)44 1683 y Fh(2)42 b(Re\014ning)19 b(MPI)p
430 1683 16 2 v 18 w(INIT)1256 b(4)112 1739 y Fg(2.1)46
b(Motiv)m(ation)g(.)22 b(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)91 b(4)112 1795 y(2.2)46 b(Prop)q(osal)18
b(.)k(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)91 b(5)112 1852 y(2.3)46 b(Commen)o(ts)15
b(.)23 b(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)91 b(5)44 1954 y Fh(3)42 b(Non-blo)q(c)o(king)19
b(comm)o(unication)1040 b(5)112 2010 y Fg(3.1)46 b(Motiv)m(ation)g(.)22
b(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
91 b(5)112 2067 y(3.2)46 b(Prop)q(osal)18 b(.)k(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)91
b(6)112 2123 y(3.3)46 b(Commen)o(ts)15 b(.)23 b(.)f(.)g(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)91 b(6)44
2225 y Fh(4)42 b(Comm)o(unicator)18 b(F)l(ormation)1114
b(6)112 2282 y Fg(4.1)46 b(Motiv)m(ation)g(.)22 b(.)g(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)91 b(6)112
2338 y(4.2)46 b(Prop)q(osal)18 b(.)k(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)91 b(6)112
2394 y(4.3)46 b(Commen)o(ts)15 b(.)23 b(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)91 b(7)44 2496
y Fh(REFERENCES)1419 b(7)p 44 2631 720 2 v 95 2658 a
Ff(\003)113 2674 y Fe(Dept.)18 b(of)12 b(Computer)i(Sciences,)g(Univ.)k
(of)13 b(TN,)f(Kno)o(xville,)j(TN)d(37996,)i Fd(rwhaley@c)o(s.)o(utk)o
(.ed)o(u)933 2798 y Fg(1)p eop
%%Page: 2 2
2 1 bop 44 20 a Fh(DRAFT)18 b(DRAFT)f(DRAFT)h(DRAFT)f(DRAFT)h(DRAFT)f
(DRAFT)h(DRAFT)p 44 27 1627 2 v 150 w Fg(2)44 169 y Fi(1)67
b(In)n(terop)r(erabilit)n(y)26 b(of)c(MPI's)f(In)n(terfaces)44
272 y Fc(1.1)56 b(Motiv)m(ation)44 358 y Fg(A)o(t)13
b(presen)o(t,)h(MPI)f([3])g(do)q(es)h(not)f(allo)o(w)g(the)h(user)g(to)
f(p)q(ortably)g(mix)h(the)g(di\013eren)o(t)g(in)o(terfaces)g(to)f(MPI.)
44 415 y(In)i(particular,)f(the)g(C)g(and)g(F)l(ortran77)e(in)o
(terfaces)i(are)g(not)f(compatible.)21 b(W)l(e)14 b(will)h(discuss)g
(these)f(t)o(w)o(o)44 471 y(particular)i(in)o(terfaces,)f(but)h(our)f
(commen)o(ts)g(here)g(should)i(apply)f(more)f(generally)h(to)f(the)g
(mixing)i(of)44 528 y(an)o(y)e(MPI)g(in)o(terfaces.)115
584 y(It)d(is)g(relativ)o(ely)h(common)e(for)h(library)g(builders)i(in)
f(particular)f(to)f(mix)i(b)q(oth)f(C)f(and)h(F)l(ortran77.)17
b(C)44 640 y(is)f(often)f(m)o(uc)o(h)h(easier)f(to)g(use)h(than)f(F)l
(ortran77)f(for)g(system)h(lev)o(el)i(programming.)j(There)c(are)f(man)
o(y)44 697 y(reasons)k(for)g(this,)h(among)e(them)i(b)q(eing)g(the)f
(relationship)i(b)q(et)o(w)o(een)f(UNIX)g(and)f(C,)g(C's)f(dynamic)44
753 y(memory)h(supp)q(ort,)h(and)g(\014nally)h(the)e(ease)g(with)h
(whic)o(h)g(system)f(lev)o(el)i(routines)f(ma)o(y)e(b)q(e)j(accessed)44
810 y(from)15 b(C.)115 866 y(It)h(is)h(then)g(common)f(to)g(create)h(a)
f(F)l(ortran77)f(in)o(terface)h(o)o(v)o(er)g(the)h(top)f(of)g(this)h
(library)l(.)25 b(In)17 b(fact,)44 923 y(MPICH[1)o(,)e(2],)f(a)h(p)q
(opular)h(MPI)f(implemen)o(tation,)i(tak)o(es)d(this)i(approac)o(h.)115
979 y(W)l(e)j(therefore)g(b)q(eliev)o(e)i(there)e(are)g(man)o(y)g
(programmers)e(who)i(mix)h(these)f(t)o(w)o(o)f(languages.)32
b(A)o(t)44 1036 y(presen)o(t,)13 b(libraries)g(builders)h(ha)o(v)o(e)e
(no)g(standard)g(w)o(a)o(y)f(to)h(mix)g(the)g(C)g(and)h(F)l(ortran77)d
(MPI)i(in)o(terfaces.)44 1092 y(It)k(is)g(not)f(guaran)o(teed)g(that)g
(a)g(message)h(sen)o(t)f(from)g(one)h(in)o(terface)f(can)h(b)q(e)g
(receiv)o(ed)h(b)o(y)f(another,)f(or)44 1149 y(that)j(the)h(in)o
(terfaces)g(ma)o(y)f(in)i(an)o(y)f(w)o(a)o(y)f(in)o(teract.)30
b(This)20 b(lea)o(v)o(es)f(suc)o(h)g(a)f(library)i(builder)h(with)e
(the)44 1205 y(option)g(of)f(making)g(his)h(library)g(a)o(v)m(ailable)h
(in)f(only)g(one)f(language,)h(writing)g(it)g(separately)f(in)h(eac)o
(h)44 1261 y(language)14 b(\(if)f(that)g(is)h(p)q(ossible\),)h(or)e
(writing)h(non-p)q(ortable)g(co)q(de)g(whic)o(h)h(mak)o(es)e
(assumptions)g(ab)q(out)44 1318 y(the)i(in)o(terop)q(erabilit)o(y)i(of)
e(C)g(and)h(F)l(ortran77)d(whic)o(h)j(the)f(MPI)h(standard)e(do)q(es)i
(not)f(guaran)o(tee.)44 1440 y Fc(1.2)56 b(Prop)r(osal)44
1525 y Fg(W)l(e)12 b(prop)q(ose)g(to)f(mak)o(e)g(in)o(terface)h(in)o
(terop)q(erabilit)o(y)h(a)e(part)g(of)h(the)f(MPI)h(standard.)18
b(In)12 b(particular,)h(the)44 1582 y(ranks)f(asso)q(ciated)g(with)g(a)
g(particular)h(comm)o(unicator)f(should)h(refer)e(to)h(the)g(same)g
(pro)q(cess)g(regardless)44 1638 y(of)k(the)f(in)o(terface,)h(message)g
(tags)f(should)h(ha)o(v)o(e)g(the)g(same)f(meaning,)i(etc.)k(A)16
b(message)g(ma)o(y)f(b)q(e)h(sen)o(t)44 1695 y(via)g(one)f(in)o
(terface,)g(and)g(receiv)o(ed)h(b)o(y)f(another,)f(pro)o(viding)i(they)
g(use)f(the)g(same)g(comm)o(unicator.)k(T)l(o)44 1751
y(allo)o(w)f(this,)f(there)g(m)o(ust)g(b)q(e)h(a)f(standard)f(w)o(a)o
(y)g(to)h(translate)g(b)q(et)o(w)o(een)g(the)g(comm)o(unicator)g
(handles)44 1808 y(of)e(the)g(languages)h(in)g(question.)115
1864 y(W)l(e)j(therefore)g(prop)q(ose)g(that)f(MPI)h(de\014ne)h(a)f
(neutral)h(comm)o(unicator)e(handle,)j(whic)o(h)f(cannot)44
1921 y(b)q(e)f(used)h(for)e(an)o(y)g(purp)q(ose)h(except)g(comm)o
(unicator)g(translation.)30 b(T)l(o)18 b(translate)g(a)g(comm)o
(unicator)44 1977 y(b)q(et)o(w)o(een)d(t)o(w)o(o)f(languages,)g(the)h
(user)g(shall)h(\014rst)f(translate)f(the)h(in)o(terface-sp)q(eci\014c)
i(comm)o(unicator)e(to)44 2034 y(a)f(neutral)h(comm)o(unicator,)e(and)h
(from)g(there)g(to)f(the)i(second)f(language.)20 b(W)l(e)14
b(prop)q(ose)g(that)g(the)g(t)o(yp)q(e)44 2090 y(of)19
b(this)h(in)o(terface)g(corresp)q(ond)f(to)g(a)g(F)l(ortran77)f
(INTEGER.)g(Languages)i(with)f(adv)m(anced)i(t)o(yping)44
2146 y(will)c(use)f(the)f(t)o(yp)q(e)g(MPI)p 481 2146
14 2 v 16 w(TRANS)p 657 2146 V 17 w(COMM.)115 2203 y(W)l(e)c(therefore)
h(prop)q(ose)g(that)f(all)h(MPI)g(in)o(terfaces)g(ha)o(v)o(e)f(t)o(w)o
(o)f(routines.)19 b(These)12 b(routines)h(translate)44
2259 y(from)g(their)h(comm)o(unicator)g(handle)h(to)e(a)g(MPI)p
880 2259 V 17 w(TRANS)p 1057 2259 V 16 w(COMM)g(handle,)i(and)f(vice)g
(v)o(ersa.)19 b(Ha)o(ving)44 2316 y(a)d(\\neutral")f(handle)j(has)d
(the)h(b)q(ene\014t)h(that)e(eac)o(h)h(in)o(terface)g(do)q(es)g(not)g
(need)g(to)g(b)q(e)g(able)h(to)e(directly)44 2372 y(translate)h(to)g
(all)i(other)e(in)o(terfaces,)g(th)o(us)h(greatly)f(reducing)i(the)e(n)
o(um)o(b)q(er)h(of)f(routines)h(required)h(for)44 2429
y(this)e(op)q(eration.)115 2485 y(The)f(prop)q(osed)h(routines)f(for)g
(the)g(F)l(ortran77)f(in)o(terface)h(are:)44 2591 y Fb
(MPI_TRANS_TO_F77_COMM\(trans)o(comm,)21 b(f77comm\))44
2648 y(IN)71 b(transcomm)p eop
%%Page: 3 3
3 2 bop 44 20 a Fh(DRAFT)18 b(DRAFT)f(DRAFT)h(DRAFT)f(DRAFT)h(DRAFT)f
(DRAFT)h(DRAFT)p 44 27 1627 2 v 150 w Fg(3)44 169 y Fb(OUT)47
b(f77comm)44 282 y(MPI_TRANS_TO_F77_COMM\(TRANS)o(COMM,)21
b(F77COMM,)h(IERROR\))116 339 y(INTEGER)h(TRANSCOMM,)f(F77COMM,)h
(IERROR)44 452 y(MPI_TRANS_FROM_F77_COMM\(f77)o(comm,)e(transcomm\))44
508 y(IN)71 b(f77comm)44 564 y(OUT)47 b(transcomm)44
677 y(MPI_TRANS_FROM_F77_COMM\(F77)o(COMM,)21 b(TRANSCOMM,)h(IERROR\))
116 734 y(INTEGER)h(F77COMM,)f(TRANSCOMM,)h(IERROR)115
822 y Fg(The)15 b(prop)q(osed)h(routines)f(for)g(the)g(ANSI)h(C)f(in)o
(terface)h(are:)44 900 y Fb(MPI_TRANS_TO_C_COMM\(transco)o(mm,)21
b(ccomm\))44 957 y(IN)71 b(transcomm)44 1013 y(OUT)47
b(ccomm)44 1126 y(int)24 b(MPI_Trans_to_c_comm\(MPI)o(_TRANS_C)o(OMM)d
(transcomm,)h(MPI_Comm)h(*Ccomm\))44 1296 y
(MPI_Trans_from_c_comm\(ccomm)o(,)e(transcomm\))44 1352
y(IN)71 b(ccomm)44 1408 y(OUT)47 b(transcomm)44 1521
y(int)24 b(MPI_Trans_from_c_comm\(M)o(PI_Comm)c(Ccomm,)j
(MPI_TRANS_COMM)f(transcomm\))115 1600 y Fg(On)15 b(most)g(platforms,)f
(MPI)p 610 1600 14 2 v 17 w(TRANS)p 787 1600 V 16 w(COMM)g(could)i(b)q
(e)g(created)g(in)g(ANSI)g(C)f(b)o(y:)44 1679 y Fb(typedef)23
b(int)h(MPI_TRANS_COMM[1];)44 1797 y Fc(1.3)56 b(Commen)n(ts)44
1883 y Fg(The)17 b(ab)q(o)o(v)o(e)f(prop)q(osal)h(assumes)g(that)f(MPI)
g(will)j(not)d(b)q(e)h(c)o(hanged,)g(only)g(extended.)26
b(If)17 b(a)f(c)o(hange)h(is)44 1940 y(p)q(ossible,)g(it)e(migh)o(t)g
(b)q(e)g(more)g(natural)g(to)f(constrain)h(all)h(in)o(terfaces)f(to)f
(ha)o(ving)h(in)o(teger)h(comm)o(unica-)44 1996 y(tion)f(handles,)g
(who's)e(meaning)i(is)f(the)h(same)f(across)f(all)i(in)o(terfaces,)f
(th)o(us)g(a)o(v)o(oiding)h(the)f(necessit)o(y)h(of)44
2053 y(p)q(erforming)h(an)o(y)f(translation.)115 2109
y(There)j(are)g(some)g(adv)m(anced)h(topics)f(of)g(language)g(in)o
(terop)q(erabilit)o(y)i(that)d(MPI)h(will)i(b)q(e)f(unable)44
2165 y(to)d(enforce.)24 b(The)17 b(most)e(imp)q(ortan)o(t)h(of)g(these)
h(is)g(data)f(t)o(yp)q(e.)24 b(F)l(or)16 b(instance,)h(there)f(is)h(no)
g(guaran)o(tee)44 2222 y(that)h(C's)g(in)o(t)h(is)h(the)e(same)h(as)f
(F)l(ortran77's)f(INTEGER.)g(MPI)i(cannot)g(enforce)g(suc)o(h)g
(things,)g(nor)44 2278 y(should)f(the)e(user)h(exp)q(ect)g(it)f(to.)23
b(Of)17 b(MPI's)f(data)f(t)o(yp)q(es,)i(only)g Fb(MPI)p
1252 2278 15 2 v 16 w(BYTE)f Fg(and)h Fb(MPI)p 1542 2278
V 17 w(PACKED)e Fg(should)44 2335 y(b)q(e)f(guaran)o(teed)f(to)g(b)q(e)
h(the)f(same)g(across)g(all)h(languages.)19 b(When)14
b(the)f(platform)g(allo)o(ws,)h(the)f(language)44 2391
y(corresp)q(ondence)k(will)f(b)q(e)g(as)f(sho)o(wn)g(in)h(table)g(1.)
115 2448 y(If)f(these)g(translations)g(are)g(not)g(accurate)f(on)h(a)g
(particular)h(platform,)e(it)h(will)i(b)q(e)f(up)f(to)g(the)g(user)44
2504 y(to)g(receiv)o(e)h(\(probably)f(as)g Fb(MPI)p 588
2504 V 17 w(PACKED)p Fg(\))f(and)h(translate)g(these)g(data)g(t)o(yp)q
(es.)115 2561 y(Note)21 b(that)g(w)o(e)h(do)g(not)f(prop)q(ose)h(a)g
(translation)g(for)f(all)i(handles,)h(e.g.,)f(there)f(is)g(no)g(w)o(a)o
(y)f(to)44 2617 y(translate)15 b(a)g(data)g(t)o(yp)q(e)g(\(basic)g(or)g
(deriv)o(ed\))h(from)f(one)g(in)o(terface)h(to)e(another.)20
b(This)c(is)g(also)f(true)g(of,)44 2674 y(for)g(instance,)g(of)g
Fb(MPI)p 430 2674 V 17 w(Op)p Fg(.)k(These)d(details)g(will)h(b)q(e)f
(left)g(up)f(to)g(the)g(programmer.)p eop
%%Page: 4 4
4 3 bop 44 20 a Fh(DRAFT)18 b(DRAFT)f(DRAFT)h(DRAFT)f(DRAFT)h(DRAFT)f
(DRAFT)h(DRAFT)p 44 27 1627 2 v 150 w Fg(4)p 449 125
991 2 v 449 134 V 448 190 2 57 v 457 190 V 482 173 a(C)p
807 190 V 318 w(F)l(ortran77)p 1430 190 V 1439 190 V
449 192 991 2 v 449 200 V 448 256 2 57 v 457 256 V 482
239 a(MPI)p 574 239 14 2 v 17 w(INT)p 807 256 2 57 v
162 w(MPI)p 925 239 14 2 v 16 w(INTEGER)p 1430 256 2
57 v 1439 256 V 449 258 991 2 v 448 315 2 57 v 457 315
V 482 298 a(MPI)p 574 298 14 2 v 17 w(FLO)o(A)l(T)p 807
315 2 57 v 90 w(MPI)p 925 298 14 2 v 16 w(REAL)p 1430
315 2 57 v 1439 315 V 449 316 991 2 v 448 373 2 57 v
457 373 V 482 356 a(MPI)p 574 356 14 2 v 17 w(DOUBLE)p
807 373 2 57 v 50 w(MPI)p 925 356 14 2 v 16 w(DOUBLE)p
1136 356 V 17 w(PRECISION)p 1430 373 2 57 v 1439 373
V 449 374 991 2 v 449 383 V 118 460 a(T)l(able)e(1:)k(Assumed,)15
b(but)g(not)g(guaran)o(teed,)f(F)l(ortran77)g(and)h(C)g(data)g(t)o(yp)q
(e)g(corresp)q(ondence)115 597 y(The)i(same)f(is)h(true)g(of)f
(information)h(that)f(has)g(b)q(een)i(cac)o(hed)f(on)g(a)f(particular)i
(language's)e(com-)44 654 y(m)o(unicator.)21 b(It)15
b(is)h(prop)q(osed)g(that)f(the)h(only)g(guaran)o(teed)f(w)o(a)o(y)f
(to)h(access)h(cac)o(hed)g(information)g(is)g(to)44 710
y(access)g(it)g(from)f(the)g(same)h(in)o(terface)g(that)f(it)g(w)o(as)g
(stored)g(in.)22 b(This)17 b(seems)e(logical)i(b)q(ecause)g(there)f(is)
44 767 y(no)f(guaran)o(tee)f(that)h(an)g(arbitrary)f(data)h(t)o(yp)q(e)
g(in)h(one)f(language)g(is)h(ev)o(en)f(represen)o(table)h(in)g
(another.)44 823 y(Therefore,)e(if)h(the)g(user)g(is)g(no)o(w)f(in)h
(C,)f(and)h(w)o(an)o(ts)e(information)i(he)f(has)h(stored)f(while)i(in)
f(F)l(ortran77,)44 880 y(he)i(should)h(do)f(a)g(comm)o(unicator)f
(translation,)h(call)h(a)f(F)l(ortran77)e(routine)i(whic)o(h)h(retriev)
o(es)f(the)g(in-)44 936 y(formation,)d(and)i(pass)f(the)g(information)g
(bac)o(k)g(to)g(C.)115 993 y(Note)22 b(that)g(since)h(w)o(e)g(are)f
(talking)h(ab)q(out)f(comm)o(unicator)h(translation)f(\(not)g
(duplication)j(or)44 1049 y(cop)o(ying\),)e(the)e(data)g(is)h(still)g
(there)g(after)e(translation,)j(it's)e(just)g(that)f(it)i(cannot)f(b)q
(e)h(standardly)44 1105 y(retriev)o(ed)16 b(from)e(an)o(y)h(in)o
(terface)h(except)f(the)h(one)f(it)g(w)o(as)g(originally)i(cac)o(hed)e
(in.)115 1162 y(Since)j(KEYV)-5 b(AL)18 b(is)g(an)f(in)o(teger)g(in)h
(b)q(oth)f(standard)g(in)o(terfaces,)h(it)f(seems)g(logical)h(to)f
(constrain)44 1218 y(it)h(to)e(b)q(e)i(an)f(in)o(teger)h(in)g(all)g
(new)g(in)o(terfaces.)26 b(If)18 b(this)f(is)h(done,)g(there)f(should)i
(b)q(e)f(no)f(problem)h(with)44 1275 y(allo)o(wing)e(the)e(user)h(to)f
(use)h(KEYV)-5 b(AL)16 b(to)e(retriev)o(e)h(cac)o(hed)g(information)g
(from)f(a)g(di\013eren)o(t)h(language)44 1331 y(than)g(it)g(w)o(as)f
(cac)o(hed)h(in.)21 b(Ho)o(w)o(ev)o(er,)14 b(suc)o(h)h(retriev)m(al)h
(is)f(not)g(guaran)o(teed,)f(and)h(so)f(the)h(user)g(w)o(ould)g(b)q(e)
44 1388 y(required)h(to)f(mak)o(e)g(sure)g(the)g(information)h(th)o(us)
f(retriev)o(ed)g(is)h(handled)h(in)f(a)f(meaningful)h(w)o(a)o(y)l(.)115
1444 y(When)11 b(the)g(user)h(calls)g(MPI)p 599 1444
14 2 v 16 w(A)l(TTR)p 745 1444 V 16 w(DELETE,)f(the)g(routine)g(will)i
(alw)o(a)o(ys)e(call)h(the)f(callbac)o(k)h(func-)44 1501
y(tions)j(of)g(the)g(original)h(de\014nition.)21 b(I.e.,)15
b(if)g(the)g(user)g(calls)h(MPI)p 1166 1501 V 17 w(A)l(TTR)p
1313 1501 V 15 w(DELETE)f(from)f(F)l(ortran77,)44 1557
y(but)h(cac)o(hed)h(the)g(information)f(in)h(C,)e(the)i(original)g(C)f
(callbac)o(k)h(functions)g(will)h(still)g(b)q(e)f(called.)44
1700 y Fi(2)67 b(Re\014ning)24 b(MPI)p 552 1700 21 2
v 24 w(INIT)44 1803 y Fc(2.1)56 b(Motiv)m(ation)44 1889
y Fg(Presen)o(tly)l(,)17 b(MPI)p 347 1889 14 2 v 17 w(INIT)g(is)h
(rather)e(ill-de\014ned.)28 b(There)17 b(are)f(t)o(w)o(o)g(issues)h
(here.)26 b(First,)16 b(since)i(w)o(e)e(hop)q(e)44 1946
y(to)h(ha)o(v)o(e)f(language)h(in)o(terop)q(erabilit)o(y)l(,)i(w)o(e)e
(m)o(ust)g(de\014ne)h(ho)o(w)e(the)h(v)m(arious)h(in)o(terfaces)f(in)o
(teract)g(with)44 2002 y(regards)e(to)f(initialization.)115
2059 y(The)20 b(second)h(issue)g(in)o(v)o(olv)o(es)g(the)f(C)g(in)o
(terface)h(routine,)g(MPI)p 1248 2059 V 17 w(Init,)h(whic)o(h)f(tak)o
(es)e(p)q(oin)o(ters)i(to)44 2115 y Fb(argv)13 b Fg(and)h
Fb(argc)g Fg(as)f(parameters.)19 b(There)14 b(are)f(a)h(couple)h(of)f
(problems)g(with)g(this.)20 b(First,)13 b(if)i(y)o(our)e(MPI)44
2172 y(calls)k(are)e(done)h(b)o(y)f(a)g(library)l(,)h(they)g(ma)o(y)f
(not)g(b)q(e)h(made)f(from)g Fb(main\(\))p Fg(.)20 b(In)c(this)g(case,)
f(there)g(will)i(b)q(e)44 2228 y(no)g(standard)f(w)o(a)o(y)f(to)h
(access)h Fb(argv)f Fg(and)g Fb(argc)p Fg(.)24 b(This)17
b(lea)o(v)o(es)f(the)h(library)g(builder)i(with)e(no)f(w)o(a)o(y)g(to)
44 2284 y(hide)g(the)f(MPI)f(calls,)i(as)e(the)h(library)g(user)g(will)
h(b)q(e)f(required)h(to)e(mak)o(e)g(the)h(MPI)p 1480
2284 V 16 w(Init)h(call)f(explicitly)44 2341 y(in)20
b(his)f(main)g(routine)h(\(or)d(to)i(pass)f Fb(argv)g
Fg(and)h Fb(argc)f Fg(to)g(the)h(library)h(in)f(some)g(w)o(a)o(y\).)29
b(The)19 b(second)44 2397 y(problem)12 b(is)h(that)e(it)g(is)i(not)e
(de\014ned)i(whic)o(h)f(pro)q(cesses)g(actually)h(ha)o(v)o(e)e(access)h
(to)f Fb(argv)g Fg(and)h Fb(argc)f Fg(when)44 2454 y(running)19
b(an)e(MPI)g(program.)26 b(This)18 b(means)f(that)g(is)h(not)e(p)q
(ossible)k(for)c(the)i(user)f(standardly)h(access)44
2510 y Fb(argv)f Fg(and)h Fb(argc)p Fg(,)f(since)h(he)g(do)q(es)g(not)f
(kno)o(w)g(whic)o(h)h(pro)q(cesses)g(p)q(osses)f(the)h(information.)26
b(Th)o(us)18 b(he)44 2567 y(has)d(the)h(burden)g(of)f(passing)h(these)g
(argumen)o(ts)e(to)h(MPI)p 1056 2567 V 16 w(Init,)h(with)g(no)g
(assurance)f(he)h(can)f(actually)44 2623 y(use)h(them.)p
eop
%%Page: 5 5
5 4 bop 44 20 a Fh(DRAFT)18 b(DRAFT)f(DRAFT)h(DRAFT)f(DRAFT)h(DRAFT)f
(DRAFT)h(DRAFT)p 44 27 1627 2 v 150 w Fg(5)44 169 y Fc(2.2)56
b(Prop)r(osal)44 255 y Fg(W)l(e)17 b(prop)q(ose)g(solutions)h(to)e(eac)
o(h)i(of)e(these)h(problems.)26 b(First,)17 b(w)o(e)g(prop)q(ose)g
(that)f(eac)o(h)h(language)g(b)q(e)44 312 y(segregated)e(in)h(its)f
(initialization.)23 b(This)16 b(means)f(that)f(no)h(F)l(ortran77)e(MPI)
j(calls)g(can)f(b)q(e)h(made)f(un)o(til)44 368 y(MPI)p
136 368 14 2 v 17 w(INIT)g(has)f(b)q(een)i(called,)g(and)f(no)f(C)h
(MPI)f(calls)i(made)e(un)o(til)i(MPI)p 1313 368 V 16
w(Init)g(has)e(b)q(een)i(called.)21 b(Both)44 424 y(routines)16
b(will)h(ha)o(v)o(e)d(their)i(v)o(ersions)f(of)g(MPI)p
834 424 V 17 w(INITIALIZED)h(for)f(testing)g(for)g(this.)115
481 y(In)i(practice,)g(w)o(e)f(foresee)g(that)g(the)g(\014rst)g(call)i
(to)e(MPI)p 1084 481 V 16 w(INIT,)h(regardless)f(of)g(the)h(language,)f
(will)44 537 y(actually)21 b(ha)o(v)o(e)f(the)g(most)f(signi\014cance,)
k(as)d(it)g(will)i(set)e(up)g(the)h(basic)f(en)o(vironmen)o(t)h(used)g
(b)o(y)f(all.)44 594 y(Ho)o(w)o(ev)o(er,)d(as)g(the)h(n)o(um)o(b)q(er)g
(of)f(language)h(bindings)h(gro)o(ws,)e(w)o(e)g(\014nd)h(it)g
(plausible)i(that)d(ha)o(ving)h(one)44 650 y(initialization)g(call)f
(set)e(up)h(all)g(of)f(them)g(ma)o(y)g(b)q(ecome)h(problematic.)21
b(User's)15 b(of)g(m)o(ultiple)i(in)o(terfaces)44 707
y(should)f(not)f(\014nd)h(it)g(to)q(o)e(onerous)h(to)g(call)h(the)f
(appropriate)g(test)g(and)h(initialization)i(routines.)115
763 y(With)e(this)h(approac)o(h)f(to)f(in)o(terface)i(initialization,)i
(it)d(b)q(ecomes)h(more)f(imp)q(ortan)o(t)g(than)g(ev)o(er)g(to)44
820 y(ensure)d(that)f(MPI)p 371 820 V 17 w(Init)h(can)g(b)q(e)g(called)
i(at)d(an)o(y)g(arbitrary)g(p)q(oin)o(t,)h(where)g Fb(argv)f
Fg(and)h Fb(argc)f Fg(ma)o(y)g(not)g(b)q(e)44 876 y(accessible.)21
b(W)l(e)13 b(therefore)g(prop)q(ose)g(that)g(if)g(the)g(user)g(passes)g
(in)h Fb(NULL)f Fg(p)q(oin)o(ters)g(in)h(place)g(of)f(p)q(oin)o(ters)44
933 y(to)h Fb(argv)g Fg(and)h Fb(argc)p Fg(,)f(that)g(the)h(user)g
(will)h(not)f(b)q(e)g(accessing)h Fb(argv)e Fg(and)h
Fb(argc)p Fg(,)e(but)i(simply)h(wishes)g(to)44 989 y(set)f(up)h(the)f
(C)g(in)o(terface.)115 1045 y(Finally)l(,)g(w)o(e)f(b)q(eliev)o(e)j(it)
d(is)h(imp)q(ortan)o(t)e(to)h(state)f(whic)o(h)i(pro)q(cesses)g(will)h
(ha)o(v)o(e)d(access)i(to)e Fb(argv)h Fg(and)44 1102
y Fb(argc)p Fg(,)j(assuming)g(they)g(are)g(passed)g(to)f(MPI)p
846 1102 V 17 w(Init.)26 b(W)l(e)17 b(prop)q(ose)g(that)f(after)h(a)f
(call)j(to)d(MPI)p 1704 1102 V 16 w(Init)i(in)44 1158
y(whic)o(h)i(p)q(oin)o(ters)f(to)g Fb(argv)f Fg(and)h
Fb(argc)f Fg(are)h(passed,)h(that)e(all)i(pro)q(cesses)f(will)i(ha)o(v)
o(e)d(access)i(to)e(these)44 1215 y(v)m(ariables.)44
1337 y Fc(2.3)56 b(Commen)n(ts)44 1422 y Fg(W)l(e)16
b(can)f(ob)o(viously)h(not)f(require)i(that)d(MPI)i(distributes)g
Fb(argc)f Fg(and)h Fb(argv)e Fg(to)h(all)h(pro)q(cesses,)g(but)f(w)o(e)
44 1479 y(\014nd)20 b(little)g(to)e(recommend)h(this)g(idea.)31
b(MPI)p 864 1479 V 17 w(Init)19 b(is)h(called)g(only)f(once,)h(so)e
(the)h(time)g(required)h(to)44 1535 y(send)f Fb(argv)e
Fg(and)h Fb(argc)f Fg(should)i(certainly)g(not)e(b)q(e)h(an)g(issue.)29
b(F)l(urther,)18 b(if)g Fb(argv)f Fg(and)h Fb(argc)f
Fg(w)o(ere)h(to)44 1592 y(b)q(e)i(standardly)f(accessible)h(at)f(all)g
(in)h(suc)o(h)f(a)g(sc)o(heme,)g(w)o(e)g(w)o(ould)g(ha)o(v)o(e)g(to)f
(assure)g(the)h(user)g(that,)44 1648 y(for)14 b(instance,)i(MPI)p
395 1648 V 16 w(COMM)p 563 1648 V 16 w(W)o(ORLD's)d(rank)i(0)f(alw)o(a)
o(ys)g(had)h Fb(argv)f Fg(and)h Fb(argc)p Fg(,)f(and)h(then)g(the)g
(user)44 1705 y(could)j(p)q(erform)e(the)h(send)g(if)g(necessary)g
(himself.)26 b(This)17 b(strik)o(es)f(us)h(as)f(rather)g(an)h(un)o
(wieldy)h(w)o(a)o(y)e(to)44 1761 y(handle)h(the)e(problem.)44
1904 y Fi(3)67 b(Non-blo)r(c)n(king)24 b(comm)n(unication)44
2007 y Fc(3.1)56 b(Motiv)m(ation)44 2093 y Fg(An)11 b(MPI)g(programmer)
e(wishing)j(to)f(pro)o(vide)g(a)f(\015exible)j(library)f(cannot)e(alw)o
(a)o(ys)g(prev)o(en)o(t)h(user)g(misuse.)44 2150 y(In)18
b(our)f(o)o(wn)g(libraries,)i(w)o(e)e(ha)o(v)o(e)f(seen)i(situations)g
(where)f(users)g(p)q(erform)g(op)q(erations)h(that)e(require)44
2206 y(a)k(large)h(amoun)o(t)f(of)g(outstanding)h(non-blo)q(c)o(king)h
(comm)o(unication.)37 b(A)o(t)20 b(presen)o(t,)h(MPI)g(do)q(es)g(not)44
2263 y(sp)q(ecify)c(ho)o(w)f(man)o(y)f(non-blo)q(c)o(king)j(comm)o
(unications)f(ma)o(y)e(b)q(e)h(safely)h(used,)f(nor)g(is)g(there)g(a)g
(w)o(a)o(y)f(to)44 2319 y(detect)h(when)f(in)o(ternal)h(resources)f(ha)
o(v)o(e)g(b)q(een)i(o)o(v)o(erwhelmed.)115 2375 y(As)g(a)g(matter)f(of)
g(fact,)h(an)g(implemen)o(tation)h(could)g(adhere)g(to)e(the)i
(standard)e(ev)o(en)i(if)f(only)h(one)44 2432 y(non-blo)q(c)o(king)f
(comm)o(unication)f(could)g(b)q(e)g(carried)g(out)f(at)f(a)h(time.)p
eop
%%Page: 6 6
6 5 bop 44 20 a Fh(DRAFT)18 b(DRAFT)f(DRAFT)h(DRAFT)f(DRAFT)h(DRAFT)f
(DRAFT)h(DRAFT)p 44 27 1627 2 v 150 w Fg(6)44 169 y Fc(3.2)56
b(Prop)r(osal)44 255 y Fg(W)l(e)18 b(prop)q(ose)g(to)f(add)g(an)h
(error)f(class)h(to)f(MPI.)g(This)h(error)f(class)h(is)g(MPI)p
1379 255 14 2 v 17 w(ERR)p 1495 255 V 15 w(NORESOUR)o(CE.)44
312 y(This)24 b(error)e(class)h(will)h(b)q(e)g(guaran)o(teed)e(to)g(b)q
(e)i(non-fatal:)35 b(i.e.,)24 b(this)f(error)f(do)q(es)i(not)e(lea)o(v)
o(e)h(the)44 368 y(MPI)h(system)g(in)h(an)e(unde\014ned)j(state)e(as)f
(do)h(other)g(errors.)45 b(F)l(or)24 b(instance,)i(if)f(the)f(user)g
(calls)44 424 y(MPI)p 136 424 V 17 w(ISEND,)14 b(and)i(there)f(are)f
(not)h(enough)g(in)o(ternal)h(system)e(resources)h(to)g(issue)g(the)g
(non-blo)q(c)o(king)44 481 y(send,)21 b(MPI)p 258 481
V 16 w(ERR)p 373 481 V 16 w(NORESOUR)o(CE)e(will)i(b)q(e)f(the)g(error)
e(class)i(of)f(the)h(returned)g(error.)32 b(The)20 b(user)44
537 y(ma)o(y)g(then)g(w)o(ait)g(for)g(some)g(previous)h(non-blo)q(c)o
(king)h(comm)o(unication)e(to)g(complete,)i(and)e(try)g(the)44
594 y(send)c(again.)44 716 y Fc(3.3)56 b(Commen)n(ts)44
801 y Fg(The)20 b(author)f(sees)h(that)f(this)i(error)e(class)h(will)h
(ha)o(v)o(e)f(ob)o(vious)g(use)g(in)h(the)f(routines)g(MPI)p
1677 801 V 16 w(ISEND,)44 858 y(MPI)p 136 858 V 17 w(IBSEND,)e(MPI)p
446 858 V 16 w(ISSEND,)g(MPI)p 748 858 V 17 w(IRSEND,)f(and)i(MPI)p
1151 858 V 16 w(IRECV.)e(It)h(ma)o(y)g(ha)o(v)o(e)f(use)i(in)f(other)44
914 y(routines)h(as)e(w)o(ell.)30 b(Note)17 b(that)h(this)g(error)g
(class)g(should)h(only)g(b)q(e)g(used)f(to)g(indicate)h(a)f(reco)o(v)o
(erable)44 971 y(error)d(has)g(o)q(ccurred.)44 1114 y
Fi(4)67 b(Comm)n(unicator)23 b(F)-6 b(ormation)44 1217
y Fc(4.1)56 b(Motiv)m(ation)44 1303 y Fg(A)o(t)14 b(presen)o(t,)f(all)i
(mem)o(b)q(ers)f(of)g(a)g(de\014ning)h(group)f(m)o(ust)f(call)i(the)f
(comm)o(unicator)g(formation)f(routine,)44 1359 y(ev)o(en)20
b(if)g(the)g(new)g(group)f(con)o(tains)h(only)g(a)f(small)i(subset)f
(of)f(the)h(de\014ning)h(group.)33 b(F)l(or)19 b(instance,)44
1416 y(if)k(the)g(MPI)g(user)g(de\014nes)h(a)e(comm)o(unicator)g(based)
h(on)g(MPI)p 1198 1416 V 16 w(COMM)p 1366 1416 V 16 w(W)o(ORLD,)f(all)i
(pro)q(cesses)44 1472 y(in)c(the)f(system)f(m)o(ust)g(call)i(MPI)p
632 1472 V 17 w(COMM)p 801 1472 V 16 w(CREA)l(TE.)d(W)l(e)i(b)q(eliev)o
(e)i(that)d(this)h(is)h(an)f(un)o(usually)h(re-)44 1529
y(strictiv)o(e)h(requiremen)o(t.)36 b(F)l(or)19 b(instance,)k(if)d(the)
h(user)f(wishes)h(to)f(form)g(comm)o(unicators)g(based)g(on)44
1585 y(MPI)p 136 1585 V 17 w(COMM)p 305 1585 V 15 w(W)o(ORLD,)14
b(he)g(m)o(ust)g(not)g(ha)o(v)o(e)f(an)o(y)h(pro)q(cesses)h(branc)o(h)f
(to)g(sp)q(ecialized)j(co)q(de)e(un)o(til)g(all)44 1642
y(required)h(comm)o(unicators)f(ha)o(v)o(e)g(b)q(een)h(formed.)115
1698 y(This)21 b(problem)h(will)g(b)q(e)g(most)e(readily)i(apparen)o(t)
f(in)g(libraries)i(whic)o(h)f(w)o(ork)e(on)g(top)h(of)f(other)44
1754 y(message)d(passing)g(in)o(terfaces)g(as)g(w)o(ell)h(as)f(MPI.)f
(Here)h(the)h(user)f(ma)o(y)f(pass)h(to)f(the)h(library)h(a)f(list)h
(of)44 1811 y(pro)q(cesses)d(whic)o(h)g(the)g(library)g(should)h(use.)k
(When)15 b(using)g(message)f(passing)h(in)o(terfaces)f(that)g(do)h(not)
44 1867 y(p)q(ossess)20 b(grouping)f(abilities,)k(the)c(library)i
(itself)f(will)h(pro)o(vide)f(groupings.)33 b(In)20 b(MPI,)f(it)h(w)o
(ould)f(b)q(e)44 1924 y(con)o(v)o(enien)o(t)e(to)g(get)f(added)h(safet)
o(y)f(b)o(y)h(forming)f(a)h(priv)m(ate)g(comm)o(unicator)g(whic)o(h)g
(only)h(the)e(library)44 1980 y(can)f(use.)115 2037 y(Herein)k(lies)h
(the)f(problem.)30 b(If)19 b(the)g(user)g(passes)f(in)h(ranks)g(based)f
(on)h(MPI)p 1473 2037 V 16 w(COMM)p 1641 2037 V 16 w(W)o(ORLD,)44
2093 y(all)j(pro)q(cesses)f(will)i(ha)o(v)o(e)e(to)f(mak)o(e)h(the)g
(library)h(call,)h(whereas)e(on)g(another)f(system,)i(only)f(those)44
2150 y(pro)q(cesses)14 b(in)o(v)o(olv)o(ed)g(in)h(the)e(op)q(eration)h
(need)h(mak)o(e)e(the)g(library)i(call.)20 b(This)14
b(will)h(require)g(substan)o(tial)44 2206 y(re-ordering)k(of)f(the)g
(user's)g(co)q(de.)30 b(In)19 b(complex)h(co)q(des)e(where)h(groupings)
g(are)f(done)g(on)h(the)f(\015y)l(,)h(in)44 2263 y(resp)q(onse)d(to)e
(run-time)i(information,)f(this)h(ma)o(y)f(b)q(e)g(di\016cult)i(to)e
(ac)o(hiev)o(e.)44 2384 y Fc(4.2)56 b(Prop)r(osal)44
2470 y Fg(W)l(e)21 b(prop)q(ose)f(to)g(add)g(the)h(routine)g(MPI)p
793 2470 V 16 w(COMM)p 961 2470 V 16 w(CREA)l(TE2.)34
b(This)21 b(routine)g(functions)g(just)g(as)44 2527 y(MPI)p
136 2527 V 17 w(COMM)p 305 2527 V 15 w(CREA)l(TE,)e(except)h(that)e(it)
i(blo)q(c)o(ks)g(only)g(on)g(the)f(pro)q(cesses)h(de\014ned)h(to)e(b)q
(e)h(in)g(the)44 2583 y(group)15 b(argumen)o(t)f Fb(group)p
Fg(.)20 b(The)15 b(prop)q(osed)h(in)o(terface)f(is)h(therefore:)p
eop
%%Page: 7 7
7 6 bop 44 20 a Fh(DRAFT)18 b(DRAFT)f(DRAFT)h(DRAFT)f(DRAFT)h(DRAFT)f
(DRAFT)h(DRAFT)p 44 27 1627 2 v 150 w Fg(7)44 169 y Fb
(MPI_COMM_CREATE2\(comm,)j(group,)i(newcomm\))44 226
y(IN)48 b(comm)44 282 y(IN)g(group)44 339 y(OUT)24 b(newcomm)44
452 y(int)g(MPI_Comm_create2\(MPI_Co)o(mm)d(comm,)i(MPI_Group)g(group,)
g(MPI_Comm)g(*newcomm\))44 564 y(MPI_COMM_CREATE2\(COMM,)e(GROUP,)i
(NEWCOMM\))116 621 y(INTEGER)g(COMM,)g(GROUP,)g(NEWCOMM)44
739 y Fc(4.3)56 b(Commen)n(ts)44 825 y Fg(The)17 b(MPI)g(standard)g
(o\013ers)f(the)h(follo)o(wing)h(three)f(reasons)g(that)f(MPI)p
1305 825 14 2 v 16 w(COMM)p 1473 825 V 16 w(CREA)l(TE)g(w)o(as)h(de-)44
881 y(\014ned)f(to)f(b)q(e)h(blo)q(c)o(king)g(on)f(the)h(en)o(tire)f
(group)g(of)g Fb(comm)p Fg(:)100 957 y(1.)22 b(It)13
b(allo)o(ws)h(the)f(implemen)o(tation)i(to)e(la)o(y)o(er)g(MPI)p
992 957 V 16 w(COMM)p 1160 957 V 16 w(CREA)l(TE)g(on)g(top)g(of)g
(regular)g(collec-)158 1013 y(tiv)o(e)i(comm)o(unications.)100
1100 y(2.)22 b(It)f(pro)o(vides)h(additional)h(safet)o(y)l(,)f(in)g
(particular)g(in)g(the)g(case)f(where)h(partially)g(o)o(v)o(erlapping)
158 1156 y(groups)15 b(are)g(used)g(to)g(create)g(new)g(comm)o
(unicators.)100 1243 y(3.)22 b(It)g(p)q(ermits)h(implemen)o(tations)g
(sometimes)f(to)g(a)o(v)o(oid)g(comm)o(unication)h(related)f(to)g(con)o
(text)158 1299 y(creation.)115 1375 y(P)o(oin)o(ts)9
b(1)h(and)h(3)e(ab)q(o)o(v)o(e)h(should)h(b)q(e)g(addressed)g(b)o(y)f
(w)o(arning)g(the)g(user)g(that)g(MPI)p 1497 1375 V 16
w(COMM)p 1665 1375 V 16 w(CREA)l(TE2)44 1431 y(ma)o(y)h(b)q(e)h
(substan)o(tially)g(slo)o(w)o(er)f(than)g(MPI)p 788 1431
V 17 w(COMM)p 957 1431 V 15 w(CREA)l(TE.)g(The)g(author)g(feels)h(that)
f(for)g(most)f(ap-)44 1488 y(plications,)16 b(MPI)p 353
1488 V 17 w(COMM)p 522 1488 V 15 w(CREA)l(TE)e(is)i(called)g(rarely)f
(enough)g(in)g(resp)q(ect)h(to)e(other)g(MPI)h(routines)44
1544 y(that)g(its)g(sp)q(eed)h(is)g(not)f(a)g(real)g(issue.)115
1601 y(P)o(oin)o(t)e(2)h(dep)q(ends)h(on)f(the)g(ho)o(w)f(the)h(comm)o
(unicator)g(creation)g(is)g(implemen)o(ted,)h(and)g(th)o(us)e(is)i(not)
44 1657 y(op)q(en)i(to)e(ob)o(vious)h(rebuttal)g(or)g(discussion.)24
b(Ho)o(w)o(ev)o(er,)14 b(it)i(could)h(b)q(e)g(argued)f(that)f(this)i
(requiremen)o(t)44 1713 y(mak)o(es)e(some)g(co)q(des)g(un)o(w)o(ork)m
(able,)h(and)f(th)o(us)g(additional)i(safet)o(y)d(is)i(not)f(helpful.)
44 1853 y Fi(References)44 1955 y Fg([1])22 b(P)o(atric)o(k)568
b(Bridges,)708 b(Nathan)115 2011 y(Doss,)19 b(William)i(Gropp,)f(Edw)o
(ard)f(Karrels,)h(Ewing)g(Lusk,)g(and)g(An)o(thon)o(y)f(Skjellum.)34
b(\\Users')115 2068 y(Guide)19 b(to)e Fb(mpich)p Fg(,)g(a)h(P)o
(ortable)f(Implemen)o(tation)i(of)f(MPI",)f(1995.)26
b(Av)m(ailable)20 b(via)e(w)o(orld)g(wide)115 2124 y(w)o(eb)d(from)f
(URL)i(=)f Fb(http://www.mcs.anl.gov/mpi/)o(mpich/i)o(ndex.htm)o(l)p
Fg(.)44 2210 y([2])22 b(P)o(atric)o(k)34 b(Bridges,)40
b(Nathan)34 b(Doss,)k(William)f(Gropp,)h(Edw)o(ard)d(Karrels,)k(Ewing)c
(Lusk,)115 2267 y(and)42 b(An)o(thon)o(y)f(Skjellum.)101
b(\\Installation)43 b(Guide)g(to)e Fb(mpich)p Fg(,)48
b(a)41 b(P)o(ortable)h(Imple-)115 2323 y(men)o(tation)g(of)f(MPI",)g
(1995.)99 b(Av)m(ailable)44 b(via)e(w)o(orld)g(wide)h(w)o(eb)f(from)f
(URL)h(=)115 2380 y Fb(http://www.mcs.anl.gov/mp)o(i/mpich)o(/index.h)o
(tml)p Fg(.)44 2466 y([3])22 b(Message)c(P)o(assing)h(In)o(terface)f(F)
l(orum.)30 b(MPI:)19 b(A)g(Message-P)o(assing)f(In)o(terface)h
(Standard)f(.)31 b Fa(In-)115 2523 y(ternational)25 b(Journal)g(of)g
(Sup)n(er)n(c)n(omputer)h(Applic)n(ations)e(and)h(High)g(Performanc)n
(e)g(Comput-)115 2579 y(ing)p Fg(,)j(8\(3/4\),)f(1994.)52
b(Sp)q(ecial)28 b(issue)g(on)e(MPI.)g(Also)h(a)o(v)m(ailable)h
(electronically)l(,)j(the)c(url)g(is)115 2636 y Fb
(ftp://www.netlib.org/mpi/)o(mpi-rep)o(ort.ps)p Fg(.)p
eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF