[BACK]Return to swapencrypt.ps CVS log [TXT][DIR] Up to [local] / www / papers

File: [local] / www / papers / swapencrypt.ps (download)

Revision 1.1, Thu Aug 24 20:50:58 2000 UTC (23 years, 9 months ago) by provos
Branch: MAIN
CVS Tags: HEAD

add paper + slides

%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: swap.dvi
%%Pages: 10
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: Helvetica
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o swap.ps swap
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2000.06.12:1526
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}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{A A 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/IEn 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 IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/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 A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A 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/CharBuilder{save 3
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 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 A 1 get A
mul exch 0 get A 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/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 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/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/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
%%BeginProcSet: special.pro
%!
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
save N userdict maxlength dict begin/magscale true def normalscale
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
begin/SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
1 startangle endangle arc savematrix setmatrix}N end

%%EndProcSet
TeXDict begin 39158280 55380996 1000 600 600 (swap.dvi)
@start
%DVIPSBitmapFont: Fa cmtt9 9 30
/Fa 30 127 df<007FB512F8B612FCA46C14F81E067C9927>45 D<121EEA7F80A2EAFFC0
A4EA7F80A2EA1E000A0A728927>I<1538157C15FCA2140115F8140315F0140715E0140F
15C0141F1580143F1500A25C147E14FE5C13015C13035C13075C130F5CA2131F5C133F91
C7FC5B137E13FE5B12015B12035BA212075B120F5B121F5B123F90C8FC5A127E12FE5AA2
5A12781E3A7CB327>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCAC121EEA7F80A2
EAFFC0A4EA7F80A2EA1E000A20729F27>58 D<3803FFC0000F13F04813FC4813FF811380
EC1FC0381F000F000480C71207A2EB0FFF137F0003B5FC120F5A383FFC07EA7FC0130012
FE5AA46C130F007F131FEBC0FF6CB612806C15C07E000313F1C69038807F8022207C9F27
>97 D<EA7FE0487EA3127F1203A914FF01F313C090B512F08181EC81FE49C67E49EB3F80
49131F16C049130FA216E01507A6150F16C07F151F6DEB3F80157F6DEBFF009038FF83FE
ECFFFC5D5D01F313C02601E0FEC7FC232E7FAD27>I<EB0FFF017F13C048B512E04814F0
5A380FF807EA1FE0393FC003E0903880008048C8FC127EA212FE5AA67E127EA2007F14F0
393F8001F813C0381FE003390FF80FF06CB5FC6C14E06C14C06C6C1300EB0FF81D207B9F
27>I<EC3FF04A7EA3143F1401A9EB0FE1EB7FFD48B5FC5A5A380FF83F381FE00F383FC0
07EB8003EA7F00007E1301A212FE5AA67E007E1303A2127F6C1307EB800F381FE01F380F
F03F6CB612C06C15E06C13FD38007FF9D91FE013C0232E7EAD27>I<EB0FF8EB3FFE90B5
1280000314C04814E0390FFC0FF0391FE003F8EBC001D83F8013FC48C7FC127E157E12FE
B612FEA415FC00FCC8FC7E127E127F6C143C6D137E6C7E01F013FE390FFC07FC6CB5FC00
0114F86C14F0013F13C0903807FE001F207D9F27>I<EC1FF0ECFFF84913FC4913FE5BEB
0FF014C0011F137CEC8000A6007FB512F0B612F8A36C14F039001F8000B3A4003FB512C0
4814E0A36C14C01F2E7EAD27>I<153F90391FC0FF80D97FF313C048B612E05A4814EF39
0FF07F873A1FC01FC3C0EDC000EB800F48486C7EA66C6C485AEBC01FA2390FF07F8090B5
C7FC5C485BEB7FF0EB1FC090C9FCA27F6CB5FC15E015F84814FE4880EB8001007EC7EA3F
80007C140F00FC15C0481407A46C140F007C1580007F143F6C6CEB7F009038F807FF6CB5
5A000714F86C5CC614C0D90FFCC7FC23337EA027>I<EA7FE0487EA3127F1203A9147F90
38F1FFC001F713F090B5FC8114C1EC01FCEBFE005B5BA25BB03A7FFF83FFE0B500C713F0
A36C018313E0242E7FAD27>I<130F497E497EA46D5A6DC7FC90C8FCA7383FFF80487FA3
7EEA000FB3A4007FB512F0B6FC15F815F07E1D2F7BAE27>I<143C147E14FFA4147E143C
1400A73801FFFE4813FFA37EC7123FB3B0147E1238007C13FE38FE01FC1303B512F814F0
6C13E06C13803807FE0018407CAE27>I<EA7FE07F12FF127FA21201A991383FFFC04A13
E0A36E13C0913803F8004A5A4A5A4A5A4A5A02FFC7FCEBF1FEEBF3FCEBF7F8EBFFFC8080
143F496C7E496C7E01F87FEBF0076E7E6E7E816E7E157E3A7FFFC1FFF002C313F8B512E3
6C13C316F0252E80AD27>I<387FFF80B57EA37EEA000FB3B2007FB512F8B612FCA36C14
F81E2E7CAD27>I<397F07C01F3AFF9FF07FC09039FFF9FFE091B57E7E3A0FFC7FF1F890
38F03FC001E0138001C01300A3EB803EB03A7FF0FFC3FF486C01E3138001F913E701F813
E36C4801C313002920819F27>I<387FE07F39FFF1FFC001F713F090B5FC6C80000313C1
EC01FCEBFE005B5BA25BB03A7FFF83FFE0B500C713F0A36C018313E024207F9F27>I<EB
1FE0EB7FF83801FFFE487F481480390FF03FC0391FC00FE0393F8007F0EB00034814F800
7E1301A248EB00FCA76C1301007E14F8A2007F1303393F8007F0A2391FE01FE0390FF03F
C06CB512806C14006C5B38007FF8EB1FE01E207C9F27>I<387FE0FFD8FFF313C090B512
F0816C800003EB81FE49C67E49EB3F8049131F16C049130FA216E01507A6150F16C07F15
1F6DEB3F80157F6DEBFF009038FF83FEECFFFC5D5D01F313C0D9F0FEC7FC91C8FCAC387F
FF80B57EA36C5B23317F9F27>I<397FFC03FC39FFFE0FFF023F13804A13C0007F90B5FC
39007FFE1F14F89138F00F809138E002004AC7FC5CA291C8FCA2137EAD007FB57EB67EA3
6C5C22207E9F27>114 D<9038FFF3800007EBFFC0121F5A5AEB803F38FC000F5AA2EC07
806C90C7FCEA7F8013FC383FFFF06C13FC000713FF00011480D8000F13C09038003FE014
070078EB03F000FC1301A27E14036CEB07E0EBE01F90B512C01580150000FB13FC38707F
F01C207B9F27>I<133C137EA8007FB512F0B612F8A36C14F0D8007EC7FCAE1518157EA4
15FE6D13FC1483ECFFF86D13F06D13E0010313C0010013001F297EA827>I<397FE01FF8
486C487EA3007F131F00031300B21401A21403EBFC0F6CB612E016F07EEB3FFE90390FF8
7FE024207F9F27>I<3A7FFC0FFF80486C4813C0A36C486C13803A07C000F800EBE00100
035CA2EBF00300015CA2EBF80700005CA390387C0F80A36D48C7FCA3EB3F3FEB1F3EA214
FE6D5AA36D5AA26D5A22207E9F27>I<3A7FFE07FFE000FF15F06D5A497E007F15E03A0F
80001F00A36D5B0007143EA414F0EBC1F83903E3FC7CA4EBE79EA200011478A301F713F8
A2EBFF0F6C5CA3EBFE0790387C03E024207F9F27>I<393FFC1FFF486C5A168016006C48
7E3901F807E06C6C485A4A5A017E90C7FC6D5AEB1F7E5C6D5A13076D5A5C80497E130F49
7E143EEB3E3FEB7E1F90387C0F8001F87F00016D7E3803F0033A7FFE1FFF80A2B54813C0
6C486C1380A222207E9F27>I<3A7FFC0FFF80486C4813C0A36C486C13803A07E000F800
000313015D13F00001130301F85B1200A26D485A137CA290387E0F80133EA2011F90C7FC
5CA2130F149E14BE130714FC1303A25C1301A25CA213035CA213075C1208EA3E0F007F5B
131FD87E7FC8FCEA7FFE6C5A5B6C5AEA07C022317E9F27>I<001FB512FE4814FFA49038
0001FEEC03FCEC07F8EC0FF0001EEB1FE0C7EA3FC0EC7F80ECFF00495A495A495AEB1FE0
495A495A49C7FC485A4848131E4848133F485A485A485A485AB7FCA46C14FE20207E9F27
>I<3901F003803903FC07C0000F130F381FFE1F393FFF7F80397FBFFF0038FE1FFE486C
5A00F813F0387003E01A0A7AAD27>126 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmr9 9 71
/Fb 71 124 df<91393FE00FE0903A01FFF83FF8903A07E01EF83C903A1F800FF07E903A
3F001FE0FE017E133F4914C0485A1738484890381F8000ACB812C0A33B03F0001F8000B3
A7486C497EB50083B5FCA32F357FB42D>11 D<EC1FE0ECFFFC903803F01E90390FC00780
EB1F8090393F000FC0017E131F5BA2485AED0F8092C7FCA9ED0FC0B7FCA33901F8001F15
0FB3A6486CEB1FE0267FFFC1B5FCA328357FB42B>I<DA1FE013FF9126FFFC0713E0903B
03F01E1F80F0903B0FC0077E003CD91F805B90273F001FF8137E017E4A13FE495CA24848
5C030F147C95C7FCA9187EB912FEA33B01F8000FC000187EB3A6486C496C13FF297FFFC1
FFFE0F13F8A33D357FB440>14 D<137813FCA212011203EA07F813E0EA0FC0EA1F801300
123C5A5A12400E0E71B326>19 D<14C01301EB0380EB0F00130E5B133C5B5BA2485A485A
A212075B120F90C7FC5AA2121E123EA3123C127CA55AB0127CA5123C123EA3121E121FA2
7E7F12077F1203A26C7E6C7EA213787F131C7F130FEB0380EB01C01300124A79B71E>40
D<12C07E1270123C121C7E120F6C7E6C7EA26C7E6C7EA27F1378137C133C133EA2131E13
1FA37F1480A5EB07C0B0EB0F80A514005BA3131E133EA2133C137C137813F85BA2485A48
5AA2485A48C7FC120E5A123C12705A5A124A7CB71E>I<123C127EB4FCA21380A2127F12
3D1201A412031300A25A1206120E120C121C5A5A126009177A8715>44
D<B512F0A514057F921A>I<123C127E12FFA4127E123C08087A8715>I<EB0FE0EB7FFCEB
F83E3903E00F803907C007C0EB8003000F14E0391F0001F0A24814F8A2003E1300007E14
FCA500FE14FEB2007E14FCA56CEB01F8A36C14F0A2390F8003E03907C007C0A23903E00F
803900F83E00EB7FFCEB0FE01F347DB126>48 D<13075B5B137FEA07FFB5FC13BFEAF83F
1200B3B3A2497E007FB51280A319327AB126>I<EB3FC0EBFFF0000313FC380F80FF391E
007F80001CEB3FC048EB1FE048130F15F00060130712FC6C14F87E1403A3007E1307123C
C7FC15F0A2140F15E0EC1FC0A2EC3F801500147E5C495A5C495A495A495A49C7FC133E13
3C4913185B485A48481330485A48C7FC001C1470001FB512F05A5AB612E0A31D327CB126
>I<EB1FE0EBFFFC4813FF3907E03F80390F001FC0001EEB0FE0001CEB07F0123F018013
F8140313C01380A2381F0007C7FC15F0A2EC0FE015C0141FEC3F80EC7E00EB01F8EB7FE0
14FCEB003FEC1FC0EC0FE0EC07F015F8140315FC140115FEA3127EB4FCA415FC48130312
780070EB07F86C14F0003C130F001FEB1FE0390FE03F800003B51200C613FCEB1FE01F34
7DB126>I<EC01C0A214031407A2140F141FA2143F147F146F14CF1301EB038F140F1307
130E130C131C13381330137013E013C0EA0180120313001206120E120C5A123812305A12
E0B71280A3C7380FC000A94A7E0107B51280A321337EB226>I<000C14C0380FC00F90B5
128015005C5C14F014C0D80C18C7FC90C8FCA9EB0FC0EB7FF8EBF07C380FC03F9038001F
80EC0FC0120E000CEB07E0A2C713F01403A215F8A41218127E12FEA315F0140712F80060
14E01270EC0FC06C131F003C14806CEB7F00380F80FE3807FFF8000113E038003F801D34
7CB126>I<14FE903807FF80011F13E090383F00F0017C13703901F801F8EBF003EA03E0
1207EA0FC0EC01F04848C7FCA248C8FCA35A127EEB07F0EB1FFC38FE381F9038700F8090
38E007C039FFC003E0018013F0EC01F8130015FC1400A24814FEA5127EA4127F6C14FCA2
6C1301018013F8000F14F0EBC0030007EB07E03903E00FC03901F81F806CB51200EB3FFC
EB0FE01F347DB126>I<1230123C003FB6FCA34814FEA215FC0070C71238006014301570
15E04814C01401EC0380C7EA07001406140E5C141814385CA25CA2495A1303A3495AA213
0FA3131F91C7FCA25BA55BA9131C20347CB126>I<EB0FE0EB7FFC90B5FC3903F01F8039
07C007C0390F0003E0000EEB01F0001E1300001C14F8003C1478A3123EA2003F14F86D13
F0EBC001D81FF013E09038F803C0390FFE07803907FF0F006C13DE6C13F87EEB3FFE8001
F713C0D803E313E0D8078013F0390F007FF8001E131F003EEB07FC003C1303481301EC00
7E12F848143EA2151EA37E153C1278007C14787E6C14F0390F8003E03907F01FC00001B5
120038007FFCEB1FE01F347DB126>I<EB0FE0EB7FF8EBFFFE3803F83F3907E00F80390F
C007C0D81F8013E0EC03F0EA3F0048EB01F8127EA200FE14FC1400A415FEA5007E1301A2
127F7E1403EA1F80000F13073807C00E3803E01C3801F03838007FF090381FC0FC90C7FC
1401A215F8A215F01403001F14E0383F800715C0140FEC1F809038003F00001C137E381F
01FC380FFFF0000313C0C690C7FC1F347DB126>I<123C127E12FFA4127E123C1200B012
3C127E12FFA4127E123C08207A9F15>I<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC
187FA34A6C7EA202707FEC601FA202E07FECC00FA2D901807F1507A249486C7EA301066D
7EA2010E80010FB5FCA249800118C77EA24981163FA2496E7EA3496E7EA2000182160748
7ED81FF04A7ED8FFFE49B512E0A333367DB53A>65 D<B7FC16E016F83A03FC0003FE0001
EC00FFEE7F80EE3FC0161F17E0160F17F0A617E0161F17C0EE3F80EE7F0016FEED03FC90
B612F05E9039FC0007FCED00FEEE3F80EE1FC0EE0FE017F0160717F8160317FCA617F816
07A2EE0FF0EE1FE0163FEE7FC00003913803FF00B75A16F816C02E337DB236>I<DA03FE
130C91393FFF801C91B512E0903A03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F8013
0701FEC7120348481401000315005B4848157C485A173C485A171C123F5B007F160CA390
C9FC481600AB7E6D150CA3123F7F001F161C17186C7E17386C6C15306C6C15706D15E012
016C6CEC01C0D97F80EB0380D91FC0EB0F00D90FF0131ED903FE13FC0100B512F0023F13
C0DA03FEC7FC2E377CB437>I<B77E16F016FE3A01FE0001FF00009138003FC0EE0FE070
7E707E707E707E177E177FEF3F80A2EF1FC0A3EF0FE0A418F0AA18E0A3171F18C0A21880
173F18005F17FE5F4C5AEE07F04C5AEE3FC000014AB45AB748C7FC16F8168034337EB23B
>I<B812C0A3D803FCC7127F0001150FEE03E01601A21600A21760A403061330A4170015
0EA2151E157E90B512FEA39038FC007E151E150EA21506170CA3171892C7FCA41738A217
70A217F01601160316070003157FB812E0A32E337DB234>I<B81280A3D803FCC7FC0001
151FEE07C01603A21601A21600A41760150CA31700A2151CA2153C15FC90B5FCA3EBFC00
153C151CA2150CA592C8FCAB487EB512FEA32B337DB232>I<DA03FE130C91393FFF801C
91B512E0903A03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC712034848
1401000315005B4848157C485A173C485A171C123F5B007F160CA390C9FC4893C7FCAA03
03B512E07E7F92390003FE00705A123F7F121FA26C7E7F12076C7E7F6C6C14036C7E6D6C
1307D91FC0EB0E7CD90FF0EB1C3CD903FEEBF81C0100B5EAF00C023F01C0C7FCDA03FEC8
FC33377CB43C>I<B5D8FE03B512F8A3000190C73807FC006C486E5AB390B7FCA349C712
03B3A3486C4A7EB5D8FE03B512F8A335337EB23A>I<B512FEA3000113006C5AB3B3A748
7EB512FEA317337EB21C>I<017FB5FCA39038003FE0EC1FC0B3B1127EB4FCA4EC3F805A
0060140000705B6C13FE6C485A380F03F03803FFC0C690C7FC20357DB227>I<B500FE90
3807FFF8A3000190C7000113006C48EC00FC17F04C5A4C5A4CC7FC160E5E5E5E5E4B5A4B
5A4BC8FC150E5D5D15F84A7E14034A7EEC0EFF5C4A6C7E4A6C7EECE01FD9FFC07F4A6C7E
4A6C7E5B6F7E6F7EA26F7E707EA2707E707E160F83707E707EA283486C913807FF80B500
FE013F13FCA336337EB23C>I<B512FEA3D803FEC9FC6C5AB3A9EE0180A416031700A45E
A25E5E5E5E16FE00031407B7FCA329337DB230>I<D8FFFC923801FFF86D5DA20003EFFE
00D801BFED06FCA3D99F80140CA2D98FC01418A3D987E01430A2D983F01460A3D981F814
C0A3D980FCEB0180A2027EEB0300A36E1306A26E6C5AA36E6C5AA36E6C5AA26E6C5AA36E
6C5AA3913800FD80A2037FC7FCA3486C133ED80FF04B7EB5011C90387FFFF8A33D337CB2
46>I<D8FFFE91381FFFF87F80C6030013006E143CD9DFE01418EBCFF0A2EBC7F8EBC3FC
A2EBC1FEEBC0FF6E7EA26E7E6E7EA26E7E6E7E6E7EA26E7E6E7EA2ED7F80ED3FC0ED1FE0
A2ED0FF0ED07F8A2ED03FCED01FEED00FFA2EE7F98EE3FD8A2EE1FF8160F1607A2160316
01A2486C1400D807F81578B500C01438A2171835337EB23A>I<EC07FC91387FFFC09039
01FC07F0903907E000FCD90F80133E013FC76C7E017E6E7E496E7E48486E7E48486E7EA2
48486E7E000F8249157E001F167FA24848ED3F80A2007F17C0A290C9121FA24817E0AB6C
17C06D153FA3003F17806D157FA2001F17006D5D000F5E6C6C4A5AA26C6C4A5A00015E6C
6C4A5A017E4A5A6D4A5AD91FC0017FC7FCD907E013FC903901FC07F09039007FFFC0DA07
FCC8FC33377CB43C>I<B612FEEDFFC016F03A03FC0007FC0001EC00FE167FEE3F80EE1F
C017E0160FA217F0A617E0A2EE1FC0A2EE3F80EE7F0016FEED07F890B65A168001FCC9FC
B3A2487EB512F8A32C337DB234>I<B612FCEDFF8016F03A01FE0007FC0000EC01FEED00
7F707E707E83160F83A65FA24C5AA24C5A047EC7FC4B5AED0FF090B612C093C8FC9039FE
001FC0ED07F06F7E6F7E150082167E167FA583A5180C17C0A2043F131C486C1618B500FE
EB1FE0040F1338933807F070C93801FFE09338003F8036357EB239>82
D<90381FE00390387FFC0748B5FC3907F01FCF390F8003FF48C7FC003E80814880A20078
8000F880A46C80A27E92C7FC127F13C0EA3FF013FF6C13F06C13FF6C14C06C14F0C68001
3F7F01037F9038003FFF140302001380157F153FED1FC0150F12C0A21507A37EA26CEC0F
80A26C15006C5C6C143E6C147E01C05B39F1FC03F800E0B512E0011F138026C003FEC7FC
22377CB42B>I<007FB712FEA390398007F001D87C00EC003E0078161E0070160EA20060
160600E01607A3481603A6C71500B3AB4A7E011FB512FCA330337DB237>I<B500FE9038
1FFFF8A3000190C813006C48153C1718B3AF1738017F1530A217706D6C1460011F15E06E
495A010F14036D6C495A6D6C49C7FCD901FC131E6DB413FC91383FFFF0020F13C0020190
C8FC35357EB23A>I<B500F0903803FFF8A3D807FEC8EA7FC06C48ED1F000001161E6D15
1C00001618A26D15386D1530A26D6C5CA26E14E0011F5DA26D6C495AA28001074AC7FCA2
6D6C1306A28001015CA26E131C01001418806E5BA2ED8070023F1360A26E6C5AA215E102
0F5BA2DA07F3C8FCA215FBEC03FEA36E5AA26E5AA31570A235357EB23A>I<B5D8F007B5
39800FFFF0A3000390C7273FF000011300D801FC6E48EB007C1A386D140F00001930836D
020715706D1860A26E496C14E0013F60A26ED919FC1301011F60A26ED930FE1303010F95
C7FCA26ED9607F5B01071706A26E9039C03F800E0103170CA2913BFC01801FC01C010117
18A2913BFE03000FE03801001730A2DAFF06EB07F0027F5EA2038CEB03F8023F5EA203D8
EB01FC021FEDFD80A203F0EB00FF020F93C8FCA24B800207157EA24B143E0203153CA24B
141C020115184C357FB24F>I<EAFFF0A4EAF000B3B3B3ADEAFFF0A40C4B79B715>91
D<EAFFF0A41200B3B3B3AD12FFA40C4B7FB715>93 D<EB7F803803FFF0380F80FC381C00
3E003F133F6D6C7E6E7EA26E7EEA1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1F
C0EA3F80127F13004815C05AA3140FA26C131F6C133B3A3F8071F180391FC1E1FF2607FF
C013003900FE003C22237DA126>97 D<EA03F012FFA312071203AEEC3F80ECFFE09038F3
C0F89038F7007E01FE7F49EB1F8049EB0FC05BED07E016F0A2150316F8AA16F0150716E0
A2ED0FC07F6DEB1F8001ECEB3F0001CF137C90388381F8903801FFE0C76CC7FC25357EB3
2B>I<EB07F8EB3FFF9038FC07C03901F000E03903E003F03807C007120FEA1F80123F90
380003E04890C7FCA2127E12FEAA127FA26C14187F001F14386D1330000F14706C6C13E0
3903F001C03900FC0F8090383FFE00EB07F01D237EA122>I<153FEC0FFFA3EC007F81AE
EB07F0EB3FFCEBFC0F3901F003BF3907E001FF48487E48487F8148C7FCA25A127E12FEAA
127E127FA27E6C6C5BA26C6C5B6C6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE013
0026357DB32B>I<EB0FE0EB7FFCEBF83F3903F00F80D807E013C0390FC007E0381F8003
15F0EA3F0014014814F8127EA212FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338
000F14306D13706C6C13E03901F003C03900FC0F00EB3FFEEB07F01D237EA122>I<EB01
FCEB07FF90381F078090383E0FC0EB7C1F13FCEA01F8A20003EB070049C7FCACB512F0A3
D803F0C7FCB3A7487E387FFFE0A31A357FB417>I<151F90391FC07F809039FFF8E3C039
01F07FC73907E03F033A0FC01F83809039800F8000001F80EB00074880A66C5CEB800F00
0F5CEBC01F6C6C48C7FCEBF07C380EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEEC
FFC06C14F06C14FC4880381F0001003EEB007F4880ED1F8048140FA56C141F007C15006C
143E6C5C390FC001F83903F007E0C6B51280D91FFCC7FC22337EA126>I<EA03F012FFA3
12071203AEEC1FC0EC7FF09038F1E0FC9038F3807C9038F7007E13FE497FA25BA25BB348
6CEB7F80B538C7FFFCA326347EB32B>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCAA
EA07E012FFA3120F1207B3A6EA0FF0B5FCA310337EB215>I<EB03C0EB07E0EB0FF0A4EB
07E0EB03C090C7FCAAEB03F013FFA313071303B3B01238127C00FE13E0130714C0130F00
7C138038381F00EA1FFCEA07F0144384B217>I<EA03F012FFA312071203AF913803FFE0
A36E1300EC00F8EC01E05D4A5A020FC7FC141C5C5C14F0EBF3F8EBF7FC13FEEBFC7EEBF8
7F496C7E141F6E7E8114076E7E8114016E7E81486CEBFF80B500C313F0A324347EB329>
I<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>I<2703F01FE013FF00FF
90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F02807F7003F387FD803FE147049
6D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFFF0A33C217EA041>I<3903F0
1FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE497FA25BA25BB3486CEB7F
80B538C7FFFCA326217EA02B>I<EB07F0EB3FFE9038FC1F803901F007C03903C001E000
078048486C7E48C7127CA248147E003E143E007E143FA300FE1580A8007E1500A36C147E
A26C147C6D13FC6C6C485A00075C3903F007E03900FC1F80D93FFEC7FCEB07F021237EA1
26>I<3903F03F8000FFEBFFE09038F3C0F89038F7007ED807FE7F6C48EB1F804914C049
130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D131F6DEB3F80160001FF13FC
9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325307EA02B>I<903807F0
0390383FFC07EBFC0F3901F8038F3807E001000F14DF48486CB4FC497F123F90C77E5AA2
5A5AA9127FA36C6C5B121F6D5B000F5B3907E003BF3903F0073F3800F81EEB3FF8EB0FE0
90C7FCAAED7F8091380FFFFCA326307DA029>I<3803E07C38FFE1FF9038E38F809038E7
1FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512E0A31A217FA01E>I<EBFF06
000713CE381F00FE003C133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7FFC383FFF
C014F0000F7F6C7FC67FEB0FFF1300EC3F8000C0131F140F6C1307A37E15006C5B6C130E
6C5B38F7807838E1FFE038C07F8019237EA11E>I<1330A51370A313F0A21201A2120312
07381FFFFEB5FCA23803F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0
182F7FAD1E>I<D803F0133F00FFEB0FFFA30007EB007F000380B35DA35D12016D481380
0000903803BFFC90387E073FEB1FFED907F8130026227EA02B>I<B5EBFFF0A3D80FF0EB
3F800007EC1F000003140E150C6D131C00011418A26C6C5BA26D1370017E1360137F6D5B
A290381F8180A214C3010F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA2146024217E9F
29>I<B53A1FFF81FFF0A33C07F801FC003F8001F049EB1E0000030100141C816C6C017C
1318A26D017E1338000002FE1330A290267E01FF5B159F168090263F030F5BA216C0903A
1F8607C180A202C613E390260FCC0390C7FCA2D907FC13F6ECF80116FE6D486C5AA36D48
1378A36D48133034217F9F37>I<B53801FFF8A32603FE0013806C48EB7C000000147801
7E1370017F5B90383F81C090381F8380D90FC3C7FCEB07E614FE6D5A6D5A6D7E80805B90
38039F809038071FC09038060FE0EB0C0790381C03F0496C7E01707FEBF000000180000F
ECFF8026FFFC0313FCA326207F9F29>I<3A7FFF807FF8A33A07F8001FC00003EC0F8000
01EC070015066C6C5BA26D131C017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA290
3807E180A214F3010390C7FC14FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A12
78D8FC03C8FCA21306130EEA701CEA7838EA1FF0EA0FC025307F9F29>I<003FB512F0A2
EB000F003C14E00038EB1FC00030EB3F800070137F1500006013FE495A13035CC6485A49
5AA2495A495A49C7FC153013FE485A12035B48481370485A001F14604913E0485A387F00
0348130F90B5FCA21C207E9F22>I<B712F8A22502809426>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmsy7 7 1
/Fc 1 1 df<B712FEA327037A8F34>0 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmti9 9 57
/Fd 57 125 df<DB07F8133EDB1FFFEBFF80923A7E0783E3C0923AF803C7C1E0912601F0
0F1387DA03E013CFA2DA07C090389F07C09339071F0380040090C7FC4A5A173EA3141F92
C7127E177CA35C143E011FB712F8A3D9007EC700F8C7FC147C16015FA214FC5C16035FA2
13015C16075FA313034A130F5FA313074A131F94C8FCA2130FA24A5B163EA2131F91C712
7E167CA2133E5E0038131C267E3C3F5B15013AFE787F03E000FC017E5B3AF8F03C0780D8
78E0011FC9FC393FC01FFC390F0003F03B4582B42F>11 D<EA0380EA0FE0121FA5EA0760
120013E013C0A2120113801203EA07001206120E5A5A5A5A5A0B176FB318>39
D<EA0380EA0FE0121FA5EA0760120013E013C0A2120113801203EA07001206120E5A5A5A
5A5A0B177A8718>44 D<B51280A46C1300110579911B>I<121C127F12FFA412FE123808
08778718>I<EC1FC0EC7FF0903801E0F8903807C03CEB0F00011E131E133E013C131F5B
13F85B1201A2485AA20007143F5BA2120F153E49137E121FA348C712FCA4007EEB01F8A4
007CEB03F012FCA2EC07E0A24814C0A2EC0F80A2EC1F00A2141E5C0078137C5C387C01F0
383C03E0381F0F80D80FFEC7FCEA03F8203477B127>48 D<EC01801403A21407140FEC1F
005C14FF5BEB1FFEEB7FBEEB7E7E1320EB007CA214FCA25CA21301A25CA21303A25CA213
07A25CA2130FA25CA2131FA291C7FCA25BA2133EA2137EA2137C13FCB512FCA3193277B1
27>I<EC0FE0EC3FF8ECF03E903803C01F903907800F80EB0F00011EEB07C0131C5BD978
C013E0EB70E0EBF06013E0120113C0ECE00F000301C013C013801381EC801F0183148090
3887003F018E1400D801FC137ED800F05B90380001F84A5A4A5A4A5A4AC7FC147E14F8EB
03E0EB0FC049C8FC133E13784848EB0380485A4913074848140048C75A121E001C141E00
3F143E01F85B397DFF80F838781FFF486C5BD8E0035B6D1380D9007EC7FC23347AB127>
I<EC07F0EC3FFCECF81E903803E00F903907800780D90F0013C0011E13035B013814E0EB
7980EB71C00170130701F014C013E0A201E1130FD9E380138090387F001F013C140090C7
123E5D5D4A5AEC1FE0903807FF804AC7FC6D7E90380007C06E7EA26E7EA514031218127E
A21407485C5A00E0495AA26C495A007049C7FC147E00785B383C01F0381E07E03807FF80
D801FCC8FC233479B127>I<150E151FA2153F153EA3157E157CA215FC15F8A2140115F0
A2EC03E0A3EC07C0A2EC0F80A2EC1F00A2143EA25C147814F85C1301903803E0E0ECC1F0
EB0781EB0F83EC03E0131E133CEB7C0701F813C0EA01F0EA03E03807C00FD80F801380EA
1FFC383FFFCF48EBFF82D8F00313FF3860003FC7EA1FF8EC3F00143EA3147E147CA314FC
5CA4146020417DB127>I<D9E0F81338EBE3FC2601EFFE137801FF14F048EC01E09038FE
0E03D807F814C09039F0060F80390FC0071F90398003FF00391F0001EF001EEB001E003E
5C123C485C15F8485C4813015DC712034A5AA24A5AA2141F92C7FC5C143E147EA25CA249
5AA3495AA213075CA2130F5CA2131FA25C133FA391C8FCA2131C253476B127>55
D<EC07E0EC3FFC4A7E903801F81F903903E00F809038078007D90F0013C0491303131E5B
A21507017C1480A2150F1600017E131E017F133E6E5A6D6C5AECE1E090381FFBC06DB4C7
FC6D5A6D7E497F011E7F90387C7FE09038F01FF048486C7E3807C007EB8003380F000100
1E1300123E003C1478127C1278A215F800F85C5A6C495A007813035D007C495A003C011F
C7FC003E133E381F81FC380FFFF0000313C0C648C8FC223479B127>I<EC0FC0EC7FF0EC
FFFC903803F07E903807C03E49487EEB1F00013E7F017E14805BA2485AA2485A151FA212
075BA2ED3F00A2485A5DA2000714FEA21401140300035CEBE0070001131E3900F039F8EB
7FF1EB0FC190380003F0A24A5AA25D4A5A141F003891C7FC007E133E00FE137E5C48485A
48485A48485A38781F80D87FFFC8FCEA1FFCEA07E0213478B127>I<161C163CA2167C16
FCA21501821503A2ED077E150F150E151CA21538A2157015F015E0EC01C0A2913803807F
82EC0700A2140E141E141C5CA25CA25C49B6FCA25B913880003F49C7EA1F80A2130E131E
131C133C13385B13F05B12011203D80FF0EC3FC0D8FFFE903807FFFEA32F367BB539>65
D<DB1FF013C09238FFFC010203EBFF03913A0FF00F878091393F8003CF9139FE0001EF49
48EB00FFD903F01500D90FE080495A49488091C8123E137E13FE485A4848153CA2485AA2
48481538A2485A94C7FC123F5BA3127F90CBFCA412FEA2EE03C0A25F127E160794C7FC5E
160E007F151E6C5D5E6C6C147016F06C6C495A6C6CEB07C06C6C49C8FC6C6C133E6CB413
FC90387FFFF0011F13C0D903FEC9FC323775B437>67 D<0107B612C04915F017FC903A00
3F8001FEEE007FEF1F8092C7EA0FC0EF07E05CEF03F0147E170102FE15F8A25CA21301A2
5CA2130317035CA2130718F04A1407A2130F18E04A140F18C0011F151F18805CEF3F0013
3F177E91C85AA2494A5A4C5A017E4A5A4C5A01FE4A5A047EC7FC49495A0001EC0FF8007F
B612E0B7C8FC15F835337BB23A>I<0107B712F05B18E0903A003F80001F1707170392C7
FC17015C18C0147EA214FEA24A130EA20101EC1E03041C13804A91C7FC163C13035E9138
F001F891B5FC5B5EECE0011500130F5E5C1707011F01015BEEC00E0280141E92C7121C13
3F173C91C812381778495DA2017E14014C5A01FE14074C5A49141F00014AB45A007FB7FC
B8FC94C7FC34337CB234>I<0107B712E05B18C0903A003F80003F170F170792C7FC1703
5C1880147EA214FEA25C161C0101EC3C07043813004A91C7FCA20103147816704A13F015
0349B5FCA25EECE003130F6F5A14C0A2011F13035E1480A2013F90C9FCA291CAFCA25BA2
137EA213FEA25B1201387FFFFCB5FCA233337CB232>I<0107B548B512C0495CA2903C00
3FC0000FF0004B5CA292C75BA24A141F60147EA202FE143F95C7FC5CA201015D177E5CA2
010315FE5F5C91B6FC5B5F9138E00001A2010F14035F5CA2011F14075F5CA2013F140F5F
91C7FCA249141F5F137EA201FE143F94C8FC5B00015D3B7FFFF01FFFFCB55BA23A337BB2
39>72 D<010FB51280A216009038003FC05DA292C7FCA25CA2147EA214FEA25CA21301A2
5CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCA25BA2137EA213FE
A25B1201B512F8A25C21337BB21E>I<0107B512C05BA29026003FC0C7FC5DA292C8FCA2
5CA2147EA214FEA25CA21301A25CA21303A25CA21307A25CA2130FA25C17E0011F140117
C05C1603013F1580160791C7FCEE0F005B5E017E143EA201FE5CED01FC4913030001EC1F
F8007FB6FCB7FC5E2B337CB230>76 D<902607FFC0ED7FFC4917FF81D9003F4B13006118
03023BED077CA2027BED0EFC610273151C1838DAF1F01439F071F014E118E10101ED01C3
6102C1EC0383EF070301031607050E5BEC80F8171C0107ED380F6102001470A249EDE01F
DC01C090C7FC130EEE0380011E017C5C933807003E011C140EA2013C4A137E187C01385C
5E017816FC6F485B1370ED3FC001F0EC80016000011500D807F81503277FFF803E90B512
C0B5EB3C01151C46337BB245>I<902607FF8090383FFFC0496D5BA2D9001F913803F800
4A6C6D5A6060EC3BF0027B140360EC71F8A202F11407DAF0FC91C7FC14E0A20101017E5B
170E14C0810103151EEE801CEC801FA20107ECC03C030F1338140016E049010713781770
010E14F01503011E15F0705A011C1301A2013C14FD03005B133816FF0178147F5F017014
3FA213F070C8FC1201EA07F8267FFF807FB5140EA23A337BB239>I<ED1FE0913801FFFC
913807E03F91391F800FC091393E0003E002F8EB01F0495A4948EB00F8494814FC494814
7C49C8127E133E017E153E49153F485AA2485A12075B120F5B121F177F5B123FA348C912
FEA4EE01FC12FEEE03F8A217F0160717E0160F007E16C0EE1F80A2EE3F006C157E5E5E6C
6C495A000F4A5A6D495A0007EC1F806C6C013EC7FCD801F813FC39007E07F090383FFF80
D907FCC8FC303775B43B>I<0107B612C04915F883903A003F8001FEEE003FEF1F8092C7
13C0170F5C18E0147EA214FEEF1FC05CA201011680173F4A1500177E010315FE5F4AEB03
F8EE07E00107EC3FC091B6C7FC16F802E0C9FC130FA25CA2131FA25CA2133FA291CAFCA2
5BA2137EA213FEA25B1201387FFFF0B5FCA233337CB234>I<0107B512FE49ECFFC017F0
903A003F8007F8EE01FCEE007E92C7127F835C1880147EA214FEEF7F005CA2010115FE5F
4A13015F01034A5AEE0FC04A495A04FEC7FC49B512F016C09138E003E0ED01F8010F6D7E
167C4A137EA2131FA25CA2013F14FEA291C7FCA24913015E137EEF01C001FE150318805B
00011607277FFFF0001400B5ECFE0EEE7E1CC9EA1FF8EE07E032357BB238>82
D<913901FC018091380FFF03023F13C791387E07EF903A01F801FF0049487E4A7F495A49
48133E131F91C7FC5B013E143CA3137E1638A293C7FC137FA26D7E14E014FE90381FFFC0
6D13F86D7F01017F6D6C7E020F7F1400153F6F7E150FA4120EA2001E5D121CA2151F003C
92C7FCA2003E143E5D127E007F5C6D485A9038C007E039F3F80FC000F0B5C8FC38E03FFC
38C00FF029377AB42B>I<0003B812C05A1880903AF800FC003F260FC001141F0180150F
01005B001EEE07001403121C003C4A5BA200380107140E127800705CA2020F141E00F016
1CC74990C7FCA2141FA25DA2143FA292C9FCA25CA2147EA214FEA25CA21301A25CA21303
A25CA21307A25C497E001FB512F05AA2323374B237>I<3B3FFFF801FFFE485CA2D801FE
C7EA1FC049EC0F80170049140EA2161E120349141CA2163C1207491438A21678120F4914
70A216F0121F495CA21501123F90C75BA215035A007E5DA2150712FE4892C7FCA25D150E
48141E151C153C153815786C5C5D007C1301007E495A003EEB0F806C011EC8FC380FC0FC
6CB45A000113E06C6CC9FC2F3570B239>I<B53CC03FFFF003FFF8601480280FF00001FC
C7EA7F806C484AEC3E00193CA219386115036115074E5A030F140361031D4AC7FCA2DB38
FC130EA203705C15F06C6C01E05C140103C05CDA038014F060DA0700130160020E4A5AA2
4A4AC8FCA24A140E147802705C5C5FD9F1C014781770D9F3805CA201F7C7EA7FC0A201FE
5DA26C4892C9FCA249147E5B167C5B1678491470453570B24D>87
D<902607FFFE90387FFFC0A39026001FF090380FF80003C014C0020F5D6F91C7FC020714
1E6F5B5F02035C6F485A02015C6F485A4CC8FC0200130EEDFE1EED7E3C5EED7FF06F5A5E
5E151F82A24B7E157F1577EDE7F0EC01C7EC038302077FEC0F01021E7F143CEC38004A7F
4A137E495A0103147F49487F49C77F131E49141F017C8113FC00074B7EB5D88003B57EA2
95C7FC3A337CB239>I<B500E090381FFFE0A218C0D803FCC73803FC006C4815F06D15C0
4C5A000093C7FC6D140E5E017E143C017F5C5E6D5C6E485A4B5A011F13074BC8FCECC01E
151C010F5B6E5A15F0903807E1E0ECF3C05DD903F7C9FC14FEA26D5A5CA25C1303A35C13
07A35C130FA35C131FA2133F380FFFFE5AA2333371B239>I<EB03F0EB0FF890383E1C60
90387C0FF0EBF807EA01F0EA03E00007EB03E0EA0FC0A2381F800715C0EA3F00A2140F48
1480127EA2141F00FE14005A1506EC3F07EC3E0F150E147E007C141EECFE1CEB01FCD83C
03133C393E07BE38391F0E1E783907FC0FF03901F003C0202278A027>97
D<137EEA0FFE121F5B1200A35BA21201A25BA21203A25BA21207A2EBC3E0EBCFF8380FDC
3EEBF81F497E01E01380EA1FC0138015C013005AA2123EA2007E131F1580127CA2143F00
FC14005AA2147EA25CA2387801F85C495A6C485A495A6C48C7FCEA0FFCEA03F01A3578B3
23>I<14FCEB07FF90381F078090383E03C0EBFC013801F8033803F0073807E00F13C012
0F391F80070091C7FC48C8FCA35A127EA312FE5AA4007C14C0EC01E0A2EC03C06CEB0F80
EC1F006C137C380F81F03803FFC0C648C7FC1B2278A023>I<ED0FC0EC03FFA21680EC00
1FA31600A25DA2153EA2157EA2157CA215FCA2903803F0F8EB0FF8EB3E1DEB7C0F496C5A
EA01F0EA03E000071303D80FC05BA2381F8007A2D83F005BA2140F5A007E5CA2141F12FE
4891C7FC1506EC3F075DEC3E0E147E007C141EECFE1CEB01FCD83C03133C393E07BE3839
1F0E1E783907FC0FF03901F003C0223578B327>I<EB03F8EB0FFEEB3E0F9038F8078038
01F003EA03E0EA07C0120FEA1F801407D83F0013005C007E133EEB03F8387FFFE04848C7
FC00FCC8FCA45AA4EC0180EC03C0A2007CEB0780EC1F00003C133E6C13F8380F03E03807
FF80D801FCC7FC1A2277A023>I<151FED7FC0EDF0E0020113F0EC03E3A2EC07C316E0ED
C1C091380FC0005DA4141F92C7FCA45C143E90381FFFFEA3D9007EC7FC147CA414FC5CA5
13015CA413035CA413075CA3130FA25CA3131F91C8FCA35B133E1238EA7E3CA2EAFE7812
FC485AEA78E0EA3FC0000FC9FC244582B418>I<143FECFF80903803E1E6903807C0FF90
380F807FEB1F00133E017E133F49133EA24848137EA24848137CA215FC12074913F8A214
01A2D80FC013F0A21403120715E01407140F141F3903E03FC00001137FEBF0FF38007FCF
90381F0F801300141FA21500A25C143E1238007E137E5C00FE5B48485A387803E0387C0F
80D81FFFC7FCEA07F820317CA023>I<EB0FC0EA03FFA25CEA001FA391C8FCA25BA2133E
A2137EA2137CA213FCA29038F83F80ECFFE03901FBE0F09038FF80F8EC007849137C485A
5B5BA2484813FC5D5BA2000F13015D1380A2001F13035DEB0007EDC0C048ECC1E0020F13
C0003E1481A2007E1483ED0380007C1407160000FC140E151E48EB07F80070EB01F02335
7BB327>I<EB0180EB07E0A2130FEB07C0EB038090C7FCABEA01F0EA03FCEA0F1E120E12
1C123C1238EA783E1270A2137EEAF07CEA60FCC65AA212015BA212035BA2000713C0EBC1
E0000F13C01381A21383EB038013071400130E131EEA07F8EA01F013337AB118>I<EB0F
C0EA01FF5A5CEA001FA391C7FCA25BA2133EA2137EA2137CA213FCA2491378EC01FE0001
EB078FEC0E0F9038F01C3F143800031370ECE03E9038E1C01C9038E38000D807E7C7FC13
EE5B13F8120F13FFEB9FC0EB83F0EA1F81EB80F81300150C48141E151C123EA2007E143C
1538127C157800FCEB787015E048EB3FC00070EB0F8020357BB323>107
D<133FEA07FF5A13FEEA007EA3137CA213FCA213F8A21201A213F0A21203A213E0A21207
A213C0A2120FA21380A2121FA21300A25AA2123EA2127EA2127C1318EAFC1C133CEAF838
A21378137012F013F0EAF8E01279EA3FC0EA0F00103579B314>I<2703C003F8137F3C0F
F00FFE01FFC03C1E783C1F07C1E03C1C7CF00F8F01F03B3C3DE0079E0026383FC001FC7F
D97F805B007001005B5E137ED8F0FC90380FC00100E05FD860F8148012000001021F1303
60491400A200034A13076049013E130FF081800007027EEC83C0051F138049017C1403A2
000F02FC1407053E130049495CEF1E0E001F01015D183C010049EB0FF0000E6D48EB03E0
3A227AA03F>I<3903C007F0390FF01FFC391E787C1E391C7CF01F393C3DE00F26383FC0
1380EB7F8000781300EA707EA2D8F0FC131F00E01500EA60F8120000015C153E5BA20003
147E157C4913FCEDF8180007153C0201133801C013F0A2000F1578EDE070018014F016E0
001FECE1C015E390C7EAFF00000E143E26227AA02B>I<14FCEB07FF90381F07C090383E
03E09038FC01F0EA01F83903F000F8485A5B120F484813FCA248C7FCA214014814F8127E
A2140300FE14F05AA2EC07E0A2007CEB0FC01580141FEC3F006C137E5C381F01F0380F83
E03803FF80D800FCC7FC1E2278A027>I<011E137C90387F81FF9039F3C387C09039E3EF
03E03901E1FE01D9C1FC13F0EBC3F8000313F0018314F814E0EA07871307000313C01200
010F130316F01480A2011F130716E01400A249EB0FC0A2013EEB1F80A2017EEB3F00017F
133E5D5D9038FF81F09038FDC3E09038F8FF80027EC7FC000190C8FCA25BA21203A25BA2
1207A25BB5FCA325307FA027>I<903803F01890380FF83890383E1C7890387C0EF89038
F807F0EA01F0EA03E000071303D80FC013E0A2EA1F801407D83F0013C0A348130F007E14
80A300FE131F481400A35C143E147E127C14FE495AEA3C03EA3E07EA1F0E3807FCF8EA01
F0C7FC13015CA313035CA21307A25C48B5FCA25C1D3078A023>I<3903C00FC0390FF03F
F0391E78F078391C7DE03C393C3FC0FC00381380EB7F00007814F8D8707E13701500EAF0
FC12E0EA60F812001201A25BA21203A25BA21207A25BA2120FA25BA2121FA290C8FC120E
1E227AA020>I<EB03F0EB1FFCEB3C1EEB780FEBF007EA01E0140F0003131F13C0A2EBE0
0414007FEBFF8014E06C13F06C13F8EB7FFC1307EB00FE147E143E123800FC133CA3147C
00F013784813F0EAF001387803E0383C0F80381FFE00EA03F818227AA01F>I<1303EB0F
80A3131FA21400A25BA2133EA2137EA2137C387FFFF8A2B5FC3800F800A21201A25BA212
03A25BA21207A25BA2120FA25B1460001F13F014E01300130114C01303001E1380EB0700
5BEA0F1EEA07F8EA01E015307AAE19>I<EA01F0D803FC1307D80F1E5B000E5C121C123C
00385CD8783E133E1270A2017E137ED8F07C137CEA60FCC65A15FC00015C5BA214010003
5C13E0166002031370EDE0F0D807C014E0A20003EB07E116C09038E00FC1EC1FC3000190
383FE3809038F071E73A007FE0FF0090381F803C24227AA029>I<01F01338D803FC13FC
EA0F1E120E121C123C0038147CEA783E0070143CA2137ED8F07C1338EA60FCC65A157800
0114705BA215F0000314E05BA2EC01C0A2EBC003158014071500EBE00EA26C6C5A3800F8
78EB7FE0EB1F801E227AA023>I<D801F01538D803FC010E13FCD80F1E131E000E143E12
1C123C0038027E137CD8783E137C0070163CA2017E13FCD8F07C491338EA60FCC65A0201
147800014A137013F0A2020314F0000316E001E05BA2160117C001C013C00207EB0380A2
9039E00FE0071700021F130E3A01F03DF01E3A00F878F83C90393FF03FF090390FC00FC0
2E227AA033>I<011F137C90387FC1FF3A01E1E787803A03C0F703C0903880FE0FEA0700
4813FC000E1580001E9038F80700001C91C7FC1301003C5B1218120013035CA31307A25C
1506010F130F150E14800038141ED87C1F131C00FC143C1538013F5B39F07FC0E03970F3
C3C0393FE1FF80260F807EC7FC22227CA023>I<13F0D803FC1307D80F1E130F000E141F
121C123C0038143FD8783E133E1270A2017E137ED8F07C137CEA60FCC65A15FC000114F8
5BA21401000314F013E0A2140315E0EA07C0A20003130715C0EBE00F141F0001133F9038
F07F8038007FEFEB1F8FEB001F1500A25C003E133E007E137E147C5C007C5BEA7001495A
38380780D83C1FC7FCEA0FFCEA07F020317AA025>I<BB12F8A2450277944E>124
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmmi7 7 6
/Fe 6 112 df<90263FFFF0EB7FF8A2D901FCC7EA1FC04AEC1E005F010315704C5A4AEB
03804CC7FC0107141C5E4A13E04B5A010FEB0780030EC8FC4A5A157C011F13FE14C3EC87
7F149E90393FB83F8014F09138C01FC0148049486C7EA2017E6D7EA201FE6D7EA2496D7E
A200016E7EA249147FA2000382B539C007FFF8A235287DA738>75
D<D93FFCED3FFC187F0101EEFF0002BE5DEF01BE0103ED037E187C023E1406170C496C15
FC4D5A01061530A2010E1561EFC1F090380C0F80EE0181011CEC03036001181406160C01
381507912607C0185B01301430A20170EC600F04C05B1360913803E18001E09038E3001F
95C7FC01C013E615EC00015EDA01F8133E01805BEA03C000074A137ED8FFFC9039C01FFF
F014003E287CA73F>77 D<013FB512E016FC903901FC007F4AEB0F80EE07C0010315E016
035C17F01307EE07E05CA2010FEC0FC017804AEB1F00163E011F14F8ED07F091B51280A2
90393F800FE0ED03F002007F15015BA2137EA201FE1303A2495CA20001160817184914E0
17380003EDF070B5D8C00113E0923800FFC0C9EA3F002D297DA732>82
D<130E131F5BA2133E131C90C7FCA7EA03E0487EEA0C78EA187C1230A212605B12C0A2EA
01F0A3485AA2485AA2EBC180EA0F81A2381F0300A213066C5A131CEA07F06C5A11287DA6
17>105 D<3907801FC0390FE07FF03918F0E0F83930F1807CEBFB00D860FE133C5B5B00
C1147C5B1201A248485BA34A5AEA07C01660EC03E0A23A0F8007C0C0A2EDC180913803C3
00D81F0013C7EC01FE000EEB00F8231B7D9929>110 D<EB0FE0EB3FF8EBF83C3801E00E
3803C00F3907800780EA0F00121E123E003C14C0127C158048130FA31500485BA2143E14
3C5C12785C383C03C0381E0F80D80FFEC7FCEA03F81A1B7C9921>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmmi10 10 20
/Ff 20 121 df<121C127FEAFF80A5EA7F00121C0909798817>58
D<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A
12600A19798817>I<126012FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07
FCEB01FF9038007FC0EC1FF0EC07FCEC01FF9138007FC0ED1FF0ED07FCED01FF9238007F
C0EE1FF0EE07FCEE01FF9338007F80EF1FC0A2EF7F80933801FF00EE07FCEE1FF0EE7FC0
4B48C7FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07FCEB1FF0
EB7FC04848CAFCEA07FCEA3FF0EA7FC048CBFC12FC1270323279AD41>62
D<9339FF8001C0030F13E0037F9038F80380913A01FF807E07913A07F8000F0FDA1FE0EB
079FDA3F80903803BF0002FFC76CB4FCD901FC80495A4948157E495A495A4948153E017F
163C49C9FC5B1201484816385B1207485A1830121F4993C7FCA2485AA3127F5BA312FF90
CCFCA41703A25F1706A26C160E170C171C5F6C7E5F001F5E6D4A5A6C6C4A5A16076C6C02
0EC8FC6C6C143C6C6C5C6CB4495A90393FE00FC0010FB5C9FC010313FC9038007FC03A3D
7CBA3B>67 D<0103B812F05BA290260007F8C7123F4B1407F003E0020F150118005DA214
1FA25D19C0143FA24B1330A2027F1470190092C7126017E05C16014A495A160F49B6FCA2
5F9138FC000F01031407A24A6DC8FCA201075C18034A130660010F160693C7FC4A150E18
0C011F161C18184A1538A2013F5E18F04A4A5AA2017F15074D5A91C8123F49913803FF80
B9FCA295C7FC3C397DB83D>69 D<0107B512FCA216F890390007F8005DA2140FA25DA214
1FA25DA2143FA25DA2147FA292C7FCA25CA25CA21301A25CA21303A25CA21307A25CA213
0FA25CA2131FA25CA2133FA25CA2137FA291C8FC497EB6FCA326397DB824>73
D<902603FFF893383FFF80496081D900079438FF80000206DC01BFC7FCA2020E4C5A1A7E
020C1606190CDA1C7E16FE4F5A02181630A20238166162023016C1F00181DA703F158395
380303F002601506A202E0ED0C076202C01518183001016D6C140F06605B028015C0A201
03923801801FDD03005B140092380FC00649173F4D91C8FC01065DA2010E4B5B4D137E13
0C6F6C5A011C17FEDCE1805B011802E3C7FCA2013802E6130104EC5C1330ED03F8017016
034C5C01F05CD807FC4C7EB500E0D9C007B512F01680150151397CB851>77
D<0103B7FC4916E018F8903B0007F80007FC4BEB00FE187F020FED3F80F01FC05DA2021F
16E0A25DA2143FF03FC05DA2027FED7F80A292C8130018FE4A4A5A604AEC07F04D5A0101
ED3FC04CB4C7FC91B612FC17E0D903FCCAFCA25CA21307A25CA2130FA25CA2131FA25CA2
133FA25CA2137FA291CBFC497EB6FCA33B397DB835>80 D<0103B612F849EDFF8018E090
3B0007F8001FF84BEB03FCEF00FE020F157FA24BEC3F80A2021F16C0A25DA2143FF07F80
5DA2027FEDFF006092C7485A4D5A4A4A5A4D5A4AEC1F80057FC7FC0101EC07F891B612E0
94C8FC9139FC000FC00103EC03F0707E4A6D7E831307177E5C177F010F5D5F5CA2011F14
01A25CA2133F16034A4A1360A2017F17E019C091C71401496C01011480B61503933900FE
0700EF7E0ECAEA1FFCEF07F03B3B7DB83F>82 D<267FFFFC91383FFFC0B55DA2000390C8
3807FC006C48ED03E06060000094C7FC5F17065FA25F6D5DA26D5D17E05F4C5AA24CC8FC
6E1306A2013F5C161C16185EA25E6E5BA2011F495A150393C9FC1506A25D6E5AA2010F5B
157015605DA2ECE18002E3CAFC14F3EB07F614FE5C5CA25C5CA26D5AA25C91CBFC3A3B7C
B830>86 D<49B500F890387FFFF095B5FC1AE0D90003018090380FFC004BC713E00201ED
07804EC7FC6E6C140E606F5C705B606F6C485A4D5A031F91C8FCEEE0065F6F6C5A5F0307
5B705A16F96FB45A94C9FC6F5AA36F7EA34B7FED037F9238063FC0150E4B6C7E1538ED70
0F03E07F15C04A486C7EEC0300020613034A805C4A6D7E14704A1300494880495A49C86C
7E130E011E153F017E4B7ED803FF4B7E007F01E0011FEBFFC0B5FC6144397EB845>88
D<EC3FC0903801FFF0903807E03C90380F800E90383F0007017E131F49137F484813FF48
5A485A120F4913FE001F143848481300A2127F90C8FCA35A5AA45AA315031507007E1406
150E003E143C003F14706C14E0390F8007C03907C03F003801FFF838003FC020267DA424
>99 D<EC07E0EC1FF891387C1C38903901F80EFC903803F007903807E003EB0FC090381F
8001D93F0013F85B017E130313FE16F0485A150712034914E0A2150F12074914C0A2151F
A2491480A2153FA2160000035C6D5B00015B4A5A3900F8077E90387C1EFEEB1FF8903807
E0FC90C7FC1401A25DA21403001E5C123F387F80075D00FF495A49485A4849C7FC007C13
7E383C01F8381FFFE0000390C8FC26367FA428>103 D<14E0EB03F8A21307A314F0EB01
C090C7FCAB13F8EA03FEEA070F000E1380121C121812381230EA701F1260133F00E01300
12C05BEA007EA213FE5B1201A25B12035BA20007131813E01438000F133013C01470EB80
6014E014C01381EB838038078700EA03FEEA00F815397EB71D>105
D<EB0FC0EA03FF5AA2EA001F1480A2133FA21400A25BA2137EA213FEA25BA21201A25BA2
1203A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25AA2EA7E03A2EAFE07
130612FCA2130E130C131C1318EA7C38EA3C70EA1FE0EA0780123B7DB919>108
D<D803E0137F3A07F801FFE03A0E3C0781F03A1C3E1E00F826383F387F00305B4A137C00
705B00605BA200E090C712FC485A137EA20000140101FE5C5BA2150300015D5B15075E12
0349010F133016C0031F13700007ED80605B17E0EE00C0000F15014915801603EE070000
1FEC0F0E49EB07FC0007C7EA01F02C267EA432>110 D<90390F8003F090391FE00FFC90
3939F03C1F903A70F8700F80903AE0FDE007C09038C0FF80030013E00001491303018015
F05CEA038113015CA2D800031407A25CA20107140FA24A14E0A2010F141F17C05CEE3F80
131FEE7F004A137E16FE013F5C6E485A4B5A6E485A90397F700F80DA383FC7FC90387E1F
FCEC07E001FEC9FCA25BA21201A25BA21203A25B1207B512C0A32C3583A42A>112
D<EB01C0497E1307A4130F5CA3131F5CA3133F91C7FC007FB51280A2B6FCD8007EC7FCA3
13FE5BA312015BA312035BA312075BA3120FEBC006A2140E001F130CEB801C141814385C
146014E0380F81C038078780D803FEC7FCEA00F819357EB31E>116
D<13F8D803FE1438D8070F147C000E6D13FC121C1218003814011230D8701F5C12601503
EAE03F00C001005B5BD8007E1307A201FE5C5B150F1201495CA2151F120349EC80C0A215
3F1681EE0180A2ED7F0303FF130012014A5B3A00F8079F0E90397C0E0F1C90393FFC07F8
903907F001F02A267EA430>I<903907E001F090391FF807FC9039783E0E0F9039E01F1C
1FD801C09038383F803A03800FF07F0100EBE0FF5A000E4A1300000C157E021F133C001C
4AC7FC1218A2C7123FA292C8FCA25CA2147EA214FEA24A130CA20101141C001E1518003F
5BD87F81143801835C00FF1560010714E03AFE0E7C01C0D87C1C495A2778383E0FC7FC39
1FF00FFC3907C003F029267EA42F>120 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmsy10 10 7
/Fg 7 104 df<0060150600F8150F6C151F007E153F6C157E6C6C14FC6C6CEB01F86C6C
EB03F06C6CEB07E06C6CEB0FC06C6CEB1F80017EEB3F006D137E6D6C5A90380FC1F89038
07E3F0903803F7E06DB45A6D5B6EC7FCA24A7E497F903803F7E0903807E3F090380FC1F8
90381F80FC90383F007E017E7F49EB1F804848EB0FC04848EB07E04848EB03F04848EB01
F84848EB00FC48C8127E007E153F48151F48150F00601506282874A841>2
D<EC03FF023F13F09138FC30FCD903C0130FD90F00EB03C0013CEC00F001701538498148
488148488148C7EC038000061601000E17C048EE00E0001817600038177000301730A200
70173800601718A200E0171C48170CA4B912FCA200C0C70030C7120CA46C171C00601718
A20070173800301730A20038177000181760001C17E06CEE01C000061780000716036C6C
ED07006C6C150E6C6C5D01705D013C15F0010FEC03C0D903C0010FC7FCD900FC13FC9138
3FFFF0020390C8FC36367BAF41>8 D<EB1FF0EBFFFE487F000714C04814E04814F04814
F8A24814FCA3B612FEA96C14FCA36C14F8A26C14F06C14E06C14C0000114006C5BEB1FF0
1F1F7BA42A>15 D<EF0180EF07C0171FEF7F80933801FF00EE07FCEE1FF0EE7FC04B48C7
FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07FCEB1FF0EB7FC0
4848CAFCEA07FCEA3FF0EA7FC048CBFC5AEA7F80EA3FE0EA0FF8EA03FEC66C7EEB3FE0EB
0FF8EB03FE903800FF80EC3FE0EC0FF8EC03FE913800FF80ED3FE0ED0FF8ED03FE923800
FF80EE3FE0EE0FF8EE03FE933800FF80EF3FC0170FEF038094C7FCAE007FB81280B912C0
A26C1780324479B441>20 D<1478A414F85CA213015C1303495AA2495A49CCFC5B137E5B
485A485AEA0FE0003FBA12FEBCFCA2003F19FED80FE0CCFCEA03F06C7E6C7E137E7F7F6D
7E6D7EA26D7E1301801300A2801478A4482C7BAA53>32 D<EC01F8140FEC3F80ECFC0049
5A495A495AA2130F5CB3A7131F5C133F49C7FC13FEEA03F8EA7FE048C8FCEA7FE0EA03F8
EA00FE137F6D7E131F80130FB3A7801307A26D7E6D7E6D7EEC3F80EC0FF814011D537ABD
2A>102 D<12FCEAFFC0EA07F0EA01FCEA007E7F80131F80130FB3A7801307806D7E6D7E
EB007EEC1FF0EC07F8EC1FF0EC7E00495A495A495A5C130F5CB3A7131F5C133F91C7FC13
7E485AEA07F0EAFFC000FCC8FC1D537ABD2A>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh cmr8 8 30
/Fh 30 123 df<14FF010713E090381F80F090383E003849137C4913FC485A1203491378
153092C7FCA7157CB612FCA23803E000157CB3A5486C13FE3A7FFF0FFFE0A2232F7FAE27
>12 D<003C13F0387E01F838FF03FCA2EB83FEA2EA7F81383D80F600011306A30003130E
EB000CA248131C00061318000E13384813704813E0387001C00060138017157EAD23>34
D<123C127EB4FCA21380A2127F123D1201A312031300A25A1206120E5A5A5A126009157A
8714>44 D<B512C0A412047F9018>I<123C127E12FFA4127E123C08087A8714>I<007FB7
12F8A29039000FC003007C150000701638A200601618A200E0161CA248160CA5C71500B3
A94A7E011FB512E0A22E2D7EAC33>84 D<0003130C48131C000E13384813704813E00030
13C0EA700100601380A2EAE00300C01300A300DE137800FF13FCEB83FEA2EA7F81A2383F
00FC001E1378171577AD23>92 D<13FF000713C0380F01F0381C00F8003F137C80A2143F
001E7FC7FCA4EB07FF137F3801FE1FEA07F0EA1FC0EA3F80EA7F00127E00FE14065AA314
3F7E007E137F007FEBEF8C391F83C7FC390FFF03F83901FC01E01F207D9E23>97
D<EA07C012FFA2120F1207AC14FE9038C7FF809038CF03E09038DC01F09038F8007C4913
7E49133E497F1680A2150F16C0A9ED1F80A216005D6D133E6D5B01B05B9038BC01F09038
0E07E0390607FF80260001FCC7FC222F7EAD27>I<EB1FE0EB7FFC3801F01E3803E00739
07C01F80EA0F80EA1F005A003EEB0F00007E90C7FCA2127C12FCA9127EA215C07E6C1301
01801380380FC0033907E007003801F03E38007FF8EB1FC01A207E9E1F>I<15F8141FA2
14011400ACEB0FE0EB7FF83801F81E3803E0073807C003380F8001EA1F00481300123E12
7EA25AA9127C127EA2003E13017EEB8003000F13073903E00EFC3A01F03CFFC038007FF0
90391FC0F800222F7EAD27>I<EB1F80EBFFF03803E0783807C03E380F801E381F001FEC
0F80123E007E130715C0127C12FCA3B6FCA200FCC8FCA5127EA2003E14C0123F6C130139
0F80038001C013003803E00F3801F03C38007FF8EB1FC01A207E9E1F>I<EB03F0EB0FFC
EB3E1EEB7C3F13F8EA01F0A23803E00C1400AAB512E0A23803E000B3A6487E387FFF80A2
182F7FAE16>I<013F13F89038FFC3FE3903E1FF1E3807807C000F140C391F003E00A200
3E7FA76C133EA26C6C5A00071378380FE1F0380CFFC0D81C3FC7FC90C8FCA3121E121F38
0FFFF814FF6C14C04814F0391E0007F848130048147C12F848143CA46C147C007C14F86C
EB01F06CEB03E03907E01F803901FFFE0038003FF01F2D7E9D23>I<EA07C012FFA2120F
1207AC14FE9038C3FF809038C703E09038DE01F013F8496C7EA25BA25BB2486C487E3AFF
FE1FFFC0A2222E7EAD27>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCA8EA07C012FF
A2120F1207B3A5EA0FE0EAFFFCA20E2E7EAD14>I<EA07C012FFA2120F1207ADEC1FFEA2
EC0FF0EC07C05D020EC7FC5C5C5C5CEBC3C013C7EBCFE0EBDFF013F9EBF0F8497EEBC07E
143E80816E7E14076E7E816E7E486C487E3AFFFE07FF80A2212E7EAD25>107
D<EA07C012FFA2120F1207B3B3A3EA0FE0EAFFFEA20F2E7EAD14>I<2607C07FEB07F03B
FFC3FFC03FFC903AC783F0783F3C0FCE01F8E01F803B07DC00F9C00F01F8D9FF8013C049
90387F000749137EA249137CB2486C01FEEB0FE03CFFFE0FFFE0FFFEA2371E7E9D3C>I<
3807C0FE39FFC3FF809038C703E0390FDE01F0EA07F8496C7EA25BA25BB2486C487E3AFF
FE1FFFC0A2221E7E9D27>I<EB1FE0EB7FF83801F03E3803C00F3907800780390F0003C0
4814E0003EEB01F0A248EB00F8A300FC14FCA9007C14F8A26CEB01F0A26CEB03E0A2390F
8007C03907C00F803901F03E0038007FF8EB1FE01E207E9E23>I<3807C0FE39FFC7FF80
9038CF03E0390FDC01F03907F800FC49137E49133E49133FED1F80A3ED0FC0A8151F1680
A2ED3F00A26D137E6D137C5D9038FC01F09038CE07E09038C7FF80D9C1FCC7FC01C0C8FC
A9487EEAFFFEA2222B7E9D27>I<380781F838FF87FEEB8E3FEA0F9CEA07B813B0EBF01E
EBE000A45BB0487EB5FCA2181E7E9D1C>114 D<3801FE183807FFB8381E01F8EA3C0048
1378481338A21418A27E7EB41300EA7FF06CB4FC6C13C06C13F0000113F838001FFC1301
38C0007E143EA26C131EA27EA26C133CA26C137838FF01F038E3FFC000C0130017207E9E
1C>I<1360A413E0A312011203A21207121FB512F0A23803E000AF1418A714383801F030
14703800F860EB3FE0EB0F80152A7FA81B>I<D807C013F800FF131FA2000F1301000713
00B21401A314033803E007EC0EFC3A01F81CFFC038007FF890391FE0F800221F7E9D27>
I<3AFFFC01FFC0A23A0FE0007E000007147C15380003143015706C6C1360A26C6C5BA390
387C0180A26D48C7FCA2EB3F07EB1F06A2EB0F8CA214DCEB07D8A2EB03F0A36D5AA26D5A
221E7F9C25>I<3BFFFC3FFE07FFA23B0FE003F001F801C09038E000F00007010114E081
2603E00314C0A2913807F8012701F006781380A29039F80E7C030000D90C3C1300A29039
7C181E06A2151F6D486C5AA2168C90391F600798A216D890390FC003F0A36D486C5AA36D
C75A301E7F9C33>I<3AFFFC01FFC0A23A0FE0007E000007147C1538000314306D137000
011460A26C6C5BA2EBFC01017C5BEB7E03013E90C7FCA2EB1F06A2148EEB0F8CA2EB07D8
A2EB03F0A36D5AA26D5AA2495AA2130391C8FC1278EAFC06A25B131CEA7838EA7070EA3F
E0EA0F80222B7F9C25>121 D<003FB51280A2EB003F003C14000038137E00305BEA7001
00605B495A495A130F00005B495A49C7FC5B137E9038FC0180EA01F8120313F03807E003
EA0FC0001F1400138048485A007E5B00FE133FB6FCA2191D7E9C1F>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmr6 6 3
/Fi 3 52 df<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>49
D<EA01FC3807FF80381C0FC0383003E0386001F0EB00F812F86C13FCA2147C1278003013
FCC7FC14F8A2EB01F0EB03E014C0EB0780EB0F00131E13385B5B3801C00CEA0380380600
185A5A383FFFF85AB512F0A216217CA01E>I<13FF000313C0380F03E0381C00F014F800
3E13FC147CA2001E13FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00
F01478147C143E143F1230127812FCA2143E48137E0060137C003813F8381E03F0380FFF
C00001130018227DA01E>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmr7 7 9
/Fj 9 58 df<140EB3A2B812E0A3C7000EC8FCB3A22B2B7DA333>43
D<EB3F803801FFF03803E0F83807803C48487E001E7F003E1480A2003C1307007C14C0A4
00FC14E0AE007C14C0A36CEB0F80A36CEB1F006C131E6C6C5A3803E0F86CB45A38003F80
1B277EA521>48 D<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521
>I<13FF000313E0380E03F0381800F848137C48137E00787F12FC6CEB1F80A4127CC7FC
15005C143E147E147C5C495A495A5C495A010EC7FC5B5B903870018013E0EA0180390300
030012065A001FB5FC5A485BB5FCA219267DA521>I<13FF000313E0380F01F8381C007C
0030137E003C133E007E133FA4123CC7123E147E147C5C495AEB07E03801FF8091C7FC38
0001E06D7E147C80143F801580A21238127C12FEA21500485B0078133E00705B6C5B381F
01F03807FFC0C690C7FC19277DA521>I<0018130C001F137CEBFFF85C5C1480D819FCC7
FC0018C8FCA7137F3819FFE0381F81F0381E0078001C7F0018133EC7FC80A21580A21230
127C12FCA3150012F00060133E127000305B001C5B380F03E03803FFC0C648C7FC19277D
A521>53 D<1230123C003FB512E0A215C0481480A239700007000060130E140C48131C5C
5CC75A5C1301495AA249C7FC5B130E131EA3133E133CA2137CA413FCA813781B287DA621
>55 D<137F3803FFE0380781F8380E007C48131E5A801278A3127C007E131EEA3F80EBE0
3C6C6C5A380FFCF03807FFC06C5BC613E0487F38079FFC380F07FEEA1E0348C67E48133F
EC1F8048130FA21407A315001278140E6C5B6C5B380F80F03803FFE0C66CC7FC19277DA5
21>I<137F3801FFC03807C1E0380F0070001E1378003E7F003C133E007C131EA200FC13
1FA41580A4007C133FA2123C003E137F001E135F380F01DF3807FF9F3801FE1FD8001013
001300A2143E123C007E133CA25C5C007C5B383003C0381C0780D80FFFC7FCEA03F81927
7DA521>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk cmbx10 10.95 33
/Fk 33 122 df<B612E0A91B097F9823>45 D<EA0FC0EA1FE0EA3FF0EA7FF8EAFFFCA6EA
7FF8EA3FF0EA1FE0EA0FC00E0E798D1D>I<140F143F5C495A130F48B5FCB6FCA313F7EA
FE071200B3B3A8007FB612F0A5243C78BB34>49 D<903803FF80013F13F890B512FE0003
6E7E4881260FF80F7F261FC0037F4848C67F486C6D7E6D6D7E487E6D6D7EA26F1380A46C
5A6C5A6C5A0007C7FCC8FC4B1300A25E153F5E4B5AA24B5A5E4A5B4A5B4A48C7FC5D4A5A
EC1FE04A5A4A5A9139FF000F80EB01FC495A4948EB1F00495AEB1F8049C7FC017E5C5B48
B7FC485D5A5A5A5A5AB7FC5EA4293C7BBB34>I<903801FFE0010F13FE013F6D7E90B612
E04801817F3A03FC007FF8D807F06D7E82D80FFC131F6D80121F7FA56C5A5E6C48133FD8
01F05CC8FC4B5A5E4B5A4A5B020F5B902607FFFEC7FC15F815FEEDFFC0D9000113F06E6C
7E6F7E6F7E6F7E1780A26F13C0A217E0EA0FC0487E487E487E487EA317C0A25D49158012
7F49491300D83FC0495A6C6C495A3A0FFE01FFF86CB65A6C5DC61580013F49C7FC010313
E02B3D7CBB34>I<ED01F815031507A2150F151F153FA2157F15FF5C5CA25C5CEC1FBFEC
3F3F143E147C14FCEB01F814F0EB03E01307EB0FC0EB1F801400133E137E5B485A5B485A
1207485A5B48C7FC5A127E5AB812F8A5C8387FF800AA49B612F8A52D3C7DBB34>I<0007
1538D80FE0EB01F801FE133F90B6FC5E5E5E5E93C7FC5D15F85D15C04AC8FC0180C9FCA9
ECFFC0018713FC019F13FF90B67E020113E09039F8007FF0496D7E01C06D7E5B6CC77FC8
120F82A31780A21207EA1FC0487E487E12FF7FA21700A25B4B5A6C5A01805C6CC7123F6D
495AD81FE0495A260FFC075B6CB65A6C92C7FCC614FC013F13F0010790C8FC293D7BBB34
>I<B812F8EFFF8018F018FC8426003FFCC7EA3FFF050F13807113C07113E08319F0A271
13F8A719F05FA24D13E019C04D13804D1300EF3FFE933801FFF891B712E0188018F818FE
02FCC7380FFF80050313C07113E07113F019F8F07FFCA2F03FFEA219FFA38460A419FE18
7FA2F0FFFC4D13F85F4D13F0053F13E0BA12C0190018FC18F095C7FC403E7DBD4A>66
D<922607FFC0130E92B500FC131E020702FF133E023FEDC07E91B7EAE1FE01039138803F
FB499039F80003FF4901C01300013F90C8127F4948151FD9FFF8150F48491507485B4A15
03481701485B18004890CAFC197E5A5B193E127FA349170012FFAC127F7F193EA2123FA2
7F6C187E197C6C7F19FC6C6D16F86C6D150119F06C6D15036C6DED07E0D97FFEED0FC06D
6CED3F80010F01C0ECFF006D01F8EB03FE6D9039FF801FFC010091B55A023F15E0020715
80020002FCC7FC030713C03F407ABE4C>I<922607FFC0130E92B500FC131E020702FF13
3E023FEDC07E91B7EAE1FE01039138803FFB499039F80003FF4901C01300013F90C8127F
4948151FD9FFF8150F48491507485B4A1503481701485B18004890CAFC197E5A5B193E12
7FA34994C7FC12FFAB0407B612FC127F7FA3003F92C7383FFE00A27F7EA26C7FA26C7F6C
7FA26C7F6C7FD97FFE157F6D6C7E010F01E014FF6D01F813036D9038FF801F010091B512
F3023F15C00207ED803E02009138FE000E030701E090C7FC46407ABE52>71
D<B6051FB512C06F5EA26F5EA2D8003F97C7FC6F16F7A26E6CED01E7A26E6CED03C7A36E
6CED0787A26E6CED0F07A26E6C151EA36E6D143CA26E6D1478A26E6D14F0A26F6CEB01E0
A36F6CEB03C0A26F6CEB0780A26F6CEB0F00A36F6C131EA26F6D5AA26F6D5AA26F6D5AA3
93387FF1E0A293383FFBC0A270B45AA37090C7FCA2705AA2705AB600C0031FB612C0A270
5AA2705A5A3E7CBD63>77 D<B812F017FF18C018F018FC26003FFCC77FEF1FFF71138071
13C07113E0A27113F0A319F8A819F0A34D13E019C05F4D1380053F1300EFFFFE91B712F8
60188005FCC7FC4ACAFCB3A4B77EA53D3E7DBD47>80 D<B87E17FCEFFF8018F08428003F
FC000113FE9338003FFF050F7F717F717FA2858385A761A25F61614D5B4D90C8FCEF3FFE
4CB45A91B712F018C04DC9FC717E9126FC000F7F040113F0707F717EA2717EA2717EA685
A6F207C019C0A271140F07E01380B76DEBF01F719038FC3F007190B5FC716C5B061F13F8
CB000113E04A3F7DBD4E>82 D<903A03FFC001C0011FEBF803017FEBFE0748B6128F4815
DF48010013FFD80FF8130F48481303497F4848EB007F127F49143F161F12FF160FA27F16
07A27F7F01FC91C7FCEBFF806C13F8ECFFC06C14FCEDFF806C15E016F86C816C816C816C
16806C6C15C07F010715E0EB007F020714F0EC003F1503030013F8167F163F127800F815
1FA2160FA27EA217F07E161F6C16E06D143F01E015C001F8EC7F8001FEEB01FF9026FFE0
0713004890B55A486C14F8D8F81F5CD8F00314C027E0003FFEC7FC2D407ABE3A>I<9038
07FFC0013F13F848B6FC48812607FE037F260FF8007F6DEB3FF0486C806F7EA36F7EA26C
5A6C5AEA01E0C8FC153F91B5FC130F137F3901FFFE0F4813E0000F1380381FFE00485A5B
485A12FF5BA4151F7F007F143F6D90387BFF806C6C01FB13FE391FFF07F36CEBFFE10003
1480C6EC003FD91FF890C7FC2F2B7DA933>97 D<EC7FF00107B5FC011F14C0017F14E090
39FFF01FF0489038800FF848EB001F4848EB3FFC120F485AA2485AA2007FEC1FF849EB0F
F0ED03C000FF91C7FCAB127F7FA3003F153E7F001F157E6C6C147C6C6C14FC91388001F8
6C9038C003F0C69038F81FE06DB512C0011F14800107EBFE009038007FF0272B7DA92E>
99 D<EE07F8ED07FFA5ED003F161FAFEC7FF0903807FFFE011FEBFF9F017F14DF9039FF
F01FFF48EBC00348EB00014848EB007F485A001F153F5B123FA2127F5BA212FFAA127FA3
7F123FA26C6C147F120F6D14FF6C6C01037F6C6D48EBFFE06CEBF03F6C6CB512BF6D143F
010713FC010001E0EBE00033407DBE3A>I<ECFFF0010713FE011F6D7E017F809039FFE0
7FE0489038801FF048496C7E48486D7E48486D7E121F491301003F81A2485A6F1380A212
FFA290B7FCA401F0C9FCA5127FA27F123FEE0F806C7E161F6C6C15006C6C5C6C6D137E6C
9038E001FC6C9038F80FF8013FB55A6D14C0010391C7FC9038007FF8292B7DA930>I<90
3A03FF8007F0013F9038F83FF8499038FCFFFC48B712FE48018313F93A07FC007FC34848
EB3FE1001FEDF1FC4990381FF0F81700003F81A7001F5DA26D133F000F5D6C6C495A3A03
FF83FF8091B5C7FC4814FC01BF5BD80F03138090CAFCA2487EA27F13F06CB6FC16F016FC
6C15FF17806C16C06C16E01207001F16F0393FE000034848EB003F49EC1FF800FF150F90
C81207A56C6CEC0FF06D141F003F16E001F0147FD81FFC903801FFC02707FF800F13006C
90B55AC615F8013F14E0010101FCC7FC2F3D7DA834>103 D<13FFB5FCA512077EAFED1F
F8EDFFFE02036D7E4A80DA0FE07F91381F007F023C805C4A6D7E5CA25CA35CB3A4B5D8FE
0FB512E0A5333F7CBE3A>I<EA01F8487E487E487E481380A66C13006C5A6C5A6C5AC8FC
A913FFB5FCA512077EB3ABB512F8A515407CBF1D>I<EC0FC0EC1FE0EC3FF0EC7FF8ECFF
FCA6EC7FF8EC3FF0EC1FE0EC0FC091C7FCA9EC03FCEB07FFA5EB001F140FB3B3A2EA1F80
EA3FC0EA7FE0EAFFF0EC1FF8A3EC3FF015E0397FE07FC0393FC1FF806CB512006C5B6C13
F8C613801E5386BF20>I<13FFB5FCA512077EB092380FFFFEA5DB01FEC7FC4B5AED07F0
ED1FE04B5A4B5A4BC8FCEC03FC4A5A4A5A141F4A7EECFFFCA2818102E77F02C37F148102
007F826F7E6F7E151F6F7E826F7F6F7F816F7FB5D8FC07EBFFC0A5323F7DBE37>I<13FF
B5FCA512077EB3B3AFB512FCA5163F7CBE1D>I<01FFD91FF8ECFFC0B590B5010713F802
03DAC01F13FE4A6E487FDA0FE09026F07F077F91261F003FEBF8010007013EDAF9F0806C
0178ECFBC04A6DB4486C7FA24A92C7FC4A5CA34A5CB3A4B5D8FE07B5D8F03FEBFF80A551
297CA858>I<01FFEB1FF8B5EBFFFE02036D7E4A80DA0FE07F91381F007F0007013C806C
5B4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A533297CA83A>I<EC7FF0903803FFFE011F
EBFFC0017F14F09039FFE03FF8489038800FFC3A03FE0003FE48486D7E000F168048486D
13C0A2003F16E049147F007F16F0A400FF16F8AA007F16F0A46C6CECFFE0A2001F16C06C
6C491380A26C6C4913003A03FF800FFE6C9038E03FFC6C6CB512F0011F14C0010791C7FC
9038007FF02D2B7DA934>I<01FFEBFFE0B5000713FC021FEBFF80027F80DAFF8113F091
39FC007FF8000701F06D7E6C496D7E4A130F4A6D7E1880A27013C0A38218E0AA4C13C0A3
18805E18005E6E5C6E495A6E495A02FCEBFFF0DAFF035B92B55A029F91C7FC028713FC02
8113C00280C9FCACB512FEA5333B7DA83A>I<3901FE01FE00FF903807FF804A13E04A13
F0EC3F1F91387C3FF8000713F8000313F0EBFFE0A29138C01FF0ED0FE091388007C092C7
FCA391C8FCB3A2B6FCA525297DA82B>114 D<90383FFC1E48B512BE000714FE5A381FF0
0F383F800148C7FC007E147EA200FE143EA27E7F6D90C7FC13F8EBFFE06C13FF15C06C14
F06C806C806C806C80C61580131F1300020713C014000078147F00F8143F151F7EA27E16
806C143F6D140001E013FF9038F803FE90B55A15F0D8F87F13C026E00FFEC7FC222B7DA9
29>I<EB07C0A5130FA4131FA3133F137FA213FF5A1207001FEBFFFEB6FCA40001EBC000
B3151FA96CEBE03EA2017F137EECF8FC90383FFFF86D13F0010713E001001380203B7EB9
29>I<D9FF80EB0FF8B5EB0FFFA50007EC007F6C153FB3A5167FA316FF6C5C4B7F6C903A
C007DFFFE09138F01F9F6DB5121F6D13FE010F13F8010101E0EBE000332A7CA83A>I<B5
00FC90383FFFC0A5000101C0903803E0006E1307A26C5E6E130F017F5D6E131F013F92C7
FC6E5B011F143E6E137E010F147C6E13FCA26D5C15816D5C15C36D5C15E76D5C15FF6E5B
A36E90C8FCA26E5AA26E5AA26E5AA26E5AA35D14075D000E130FD83F805B387FC01FD8FF
E090C9FC5C143E147E5CEBC1F8387FC3F0387E0FE06CB45A6C5B6C48CAFCEA03F8323B7E
A737>121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl cmti10 10 27
/Fl 27 118 df<EE3FFC4BB51280923907E007C092391F8001E0DB3F0013F0037E13034B
1307A24A5A18E04A48EB038094C7FCA314075DA4140F5DA3010FB7FCA25F903A001F8000
7EA217FE023F5C92C7FCA216015F5C147E16035FA214FE4A13075FA30101140F5F4AECC1
C0A2161F1783010316805CA2EF870013074A5CEE0F8EEE079EEE03FC010FEC00F04A91C7
FCA35C131FA2001C90CAFC127E5BEAFE3E133C137CEAF878EA78F0EA3FE0EA0F80344C82
BA2F>12 D<387FFFF8A2B5FCA214F0150579941E>45 D<120EEA3F80127F12FFA3130012
7E123C0909778819>I<15181538157815F0140114031407EC0FE0141F147FEB03FF9038
3FEFC0148FEB1C1F13001580A2143FA21500A25CA2147EA214FEA25CA21301A25CA21303
A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C7FC497EB61280A31D3877B72A>
49 D<EC03F8EC0FFE91383C0F809138F007C0903901E003E0D903C013F0903807800102
0013F8130E131E90391C6000FCEB3870EC30011370A213F013E0EC70030001016013F813
C014E0ECC00701C114F0903881800F018314E09039C7001FC001FEEB3F80D80078140090
C7127E5D4A5A4A5AEC07C0EC1F80023EC7FC14FCEB01F0EB07C0495A011EC8FC137C4914
C0484813015B485A4848130348C71380000E1407001E140F48EC1F00D83FF85B397FFFC0
7E39783FFFFCEA700FD8F0075BD8E0015B6D13C0021FC7FC263A79B72A>I<EC03FCEC1F
FF91387E07C09138F003E0903903C001F0D9078013F849C7FC131E011C14FC133CEB38C0
EB78E0EB7060150101F014F813E0A2ECE003D971C013F090387F8007D91E0013E090C7EA
0FC0ED1F80ED3F00157E5D49B45A4913E092C7FC9038000FC0EC03F014016E7E81A381A5
007E130100FE5CA31403485C00E05C14074A5A5D4A5A007049C7FC0078137E6C13F8381E
07F03807FF80D801FCC8FC263A78B72A>I<133C137E13FF5AA313FE13FCEA00701300B2
120EEA3F80127F12FFA31300127E123C102477A319>58 D<0107B712FEA3903A000FF000
074B1300187C021F153CA25DA2143FA25D1838147FA292C8FCEE03804A130718004A91C7
FCA201015CA24A131E163E010314FE91B5FC5EA2903807F800167C4A1378A2130FA24A13
70A2011F14F0A24A90C8FCA2133FA25CA2137FA291CAFCA25BA25B487EB6FCA337397BB8
36>70 D<0103B612F017FEEFFF80903B0007F8003FC04BEB0FF01707020FEC03F8EF01FC
5DA2021F15FEA25DA2143FEF03FC5DA2027FEC07F818F092C7120F18E04AEC1FC0EF3F00
4A14FEEE01F80101EC0FE091B6128004FCC7FC9138FC003F0103EC0F80834A6D7E830107
1403A25C83010F14075F5CA2011F140FA25CA2133F161F4AECE007A2017F160F180E91C7
FC49020F131C007F01FE153CB5913807F078040313F0CAEAFFE0EF3F80383B7CB83D>82
D<0007B812E0A25AD9F800EB001F01C049EB07C0485AD900011403121E001C5C003C1780
1403123800785C00701607140700F01700485CA2140FC792C7FC5DA2141FA25DA2143FA2
5DA2147FA292C9FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CEB3FF000
7FB512F8B6FCA2333971B83B>84 D<14F8EB07FE90381F871C90383E03FE137CEBF80112
0148486C5A485A120FEBC001001F5CA2EA3F801403007F5C1300A21407485C5AA2140F5D
48ECC1C0A2141F15831680143F1587007C017F1300ECFF076C485B9038038F8E391F0F07
9E3907FE03FC3901F000F0222677A42A>97 D<133FEA1FFFA3C67E137EA313FE5BA31201
5BA312035BA31207EBE0F8EBE7FE9038EF0F80390FFC07C013F89038F003E013E0D81FC0
13F0A21380A2123F1300A214075A127EA2140F12FE4814E0A2141F15C05AEC3F80A21500
5C147E5C387801F8007C5B383C03E0383E07C0381E1F80D80FFEC7FCEA01F01C3B77B926
>I<147F903803FFC090380FC1E090381F0070017E13784913383901F801F83803F00312
0713E0120FD81FC013F091C7FC485AA2127F90C8FCA35A5AA45AA3153015381578007C14
F0007EEB01E0003EEB03C0EC0F806CEB3E00380F81F83803FFE0C690C7FC1D2677A426>
I<ED01F815FFA3150316F0A21507A216E0A2150FA216C0A2151FA21680A2153FA202F813
00EB07FE90381F877F90383E03FF017C5BEBF80112013803F00048485B120FEBC001121F
5DEA3F801403127F01005BA214075A485CA2140FA248ECC1C0A2141F15C3ED8380143F15
87007C017F1300ECFF076C485B9038038F8E391F0F079E3907FE03FC3901F000F0253B77
B92A>I<147F903803FFC090380FC1E090383F00F0017E13785B485A485A485A120F4913
F8001F14F0383F8001EC07E0EC1F80397F81FF00EBFFF891C7FC90C8FC5A5AA55AA21530
007C14381578007E14F0003EEB01E0EC03C06CEB0F806CEB3E00380781F83803FFE0C690
C7FC1D2677A426>I<ED07C0ED1FF0ED3E38ED7C3CEDF8FC15F9140115F1020313F8EDF0
F0160014075DA4140F5DA4141F5D010FB512C05B16809039003F800092C7FCA45C147EA4
14FE5CA413015CA413035CA413075CA4130F5CA3131F5CA391C8FC5B121CEA7E3EA2EAFE
3C137C1378EAF8F01278EA3FC0EA0F80264C82BA19>I<EC07C0EC3FF09138FC38E09039
01F01FF0EB03E0903807C00FEB0F80011F1307D93F0013E05B017E130F13FE4914C01201
151F1203491480A2153F1207491400A25DA249137EA215FEA25D00031301140314076C6C
485A0000131FEB787BEB3FF390380FC3F0EB00031407A25DA2140F5D121C007E131F5D00
FE49C7FC147E5C387801F8387C07E0381FFF80D803FEC8FC24367CA426>I<EB01C0EB07
E014F0130F14E01307EB038090C7FCAB13F0EA03FCEA071EEA0E1F121CA212385B1270A2
5BEAF07E12E013FEC65AA212015B1203A25B12075BA2000F13E013C013C1001F13C01381
A2EB83801303EB0700A2130E6C5AEA07F8EA01E0143879B619>105
D<EB0FC0EA07FFA3EA001F1480A2133FA21400A25BA2137EA213FEA25BA21201A25BA212
03A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25AA2EA7E0EA212FE131E
EAFC1CA2133C133812F81378EA7870EA7CE0121FEA0F80123B79B915>108
D<D801E001FEEB07F03C07F803FF801FFC3C0E3C0F07C0783E3C1E3E3C03E1E01F261C1F
78D9F3C013803C383FF001F7800F02E01400007801C013FE007018C002805B4A4848EB1F
80EAF07FD8E07E5CA200000207143F01FE1700495CA2030F5C0001177E495C18FE031F5C
120349DA8001131C18F8033F153C00070403133849020013F0A24B1570000F17E049017E
15F019E003FEECE1C0001FEE01E34949903800FF000007C70038143C3E2679A444>I<D8
01E013FE3A07F803FF803A0E3C0F07C03A1E3E3C03E0261C1F787F39383FF00114E00078
13C000708114804A485AEAF07FEAE07EA20000140701FE5C5BA2150F00015D5B151F5E12
034990383F8380160316070007027F130049137EA2160E000F147C49141E161C5E001FEC
3C7849EB1FE00007C7EA0780292679A42F>I<147F903803FFC090380FC1F090381F00F8
017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F127F90C7FCA215FF5A
4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F00147E
6C13F8380F83F03803FFC0C648C7FC202677A42A>I<9039078007C090391FE03FF09039
3CF0787C903938F8E03E9038787FC00170497EECFF00D9F0FE148013E05CEA01E113C15C
A2D80003143FA25CA20107147FA24A1400A2010F5C5E5C4B5A131F5EEC80035E013F495A
6E485A5E6E48C7FC017F133EEC70FC90387E3FF0EC0F8001FEC9FCA25BA21201A25BA212
03A25B1207B512C0A3293580A42A>I<3903C003F0390FF01FFC391E783C0F381C7C703A
3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7FCEAE0FE5BA2120012
015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E212679A423>114
D<14FE903807FF8090380F83C090383E00E04913F00178137001F813F00001130313F0A2
15E00003EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C01300143F141F14
0F123E127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06CB45AD801FEC7FC
1C267AA422>I<EB0380EB07C0130FA4131F1480A3133F1400A35B137E007FB5FCA2B6FC
3800FC00A312015BA312035BA312075BA3120F5BA3121FEB801CA2143C003F1338EB0078
147014F014E0EB01C0EA3E03381F0780380F0F00EA07FCEA01F0183579B31C>I<13F8D8
03FEEB01C0D8078FEB03E0390E0F8007121E121C0038140F131F007815C01270013F131F
00F0130000E015805BD8007E133FA201FE14005B5D120149137EA215FE120349EBFC0EA2
0201131E161C15F813E0163CD9F003133814070001ECF07091381EF8F03A00F83C78E090
393FF03FC090390FC00F00272679A42D>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fm cmr10 10 80
/Fm 80 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<EC0FFC91387FFF70903901F803F0903807E00790381F800FEB3F
00137EA25B150748481303ADB7FCA33901F80003B3AB486C497E267FFFE0B512C0A32A3B
7FBA2E>I<DA0FF0EB1FF0DA7FFEEBFFFC903B01F80F83F00F903C07E001CFC00380903C
1F8000FF0001C090273F0007FE130F017E4948497EA2495CA248485C03076E5A03030203
C7FC95C8FCA9F007E0BAFCA33C01F80003F0001F1807B3AA486C496C497E267FFFE0B500
C1B51280A3413B7FBA45>I<133C137EA213FE1201EA03FC13F0EA07E0EA0FC0EA1F80EA
1E005A5A5A12C00F0F6FB92A>19 D<001C131C007F137F39FF80FF80A26D13C0A3007F13
7F001C131C00001300A40001130101801380A20003130301001300485B00061306000E13
0E485B485B485B006013601A197DB92A>34 D<017C166048B416F02607C3801401260F81
C01403D900E04A5A001E01784A5A003E6D141F003C013FEC7F80007C90271BE003FFC7FC
0218B512BF007891381FFC3E00F8011CC75A020C14FC5F4C5A16035F4C5A160F5F4CC8FC
021C5B00780118133E007C5D16FC003C01385B003E90383001F0001EEB70036C01E05B90
3981C007C03907C3800F2601FF005BD8007C49C9FC90C748EB07C0033EEB1FF04BEB3C38
03FCEBF81C4B497E913A01F001E00602030103130703E0497E912607C0071480020F1501
1580DA1F00018013C04A010F1300143E5C14FC5C495A13035C495A130F4A0107130149C7
01C013805B013E1603490203140001FC6F5A49020113064848913800F00E0003705A49ED
3C3849ED1FF06C48ED07C03A437BBD45>37 D<121C127FEAFF80A213C0A3127F121C1200
A412011380A2120313005A1206120E5A5A5A12600A1979B917>39
D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485AA212075B120F90C7FC
A25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F12077F1203A26C7EA26C7E
1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>I<12C07E12707E7E7E120F
6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7FA21480A3EB07C0A6EB03E0
B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A25BA2485A485AA2485A48C7
FC120E5A5A5A5A5A13527CBD20>I<15301578B3A6007FB812F8B912FCA26C17F8C80078
C8FCB3A6153036367BAF41>43 D<121C127FEAFF80A213C0A3127F121C1200A412011380
A2120313005A1206120E5A5A5A12600A19798817>I<B512FCA516057F941C>I<121C127F
EAFF80A5EA7F00121C0909798817>I<150C151E153EA2153C157CA2157815F8A215F014
01A215E01403A215C01407A21580140FA215005CA2141E143EA2143C147CA2147814F8A2
5C1301A25C1303A2495AA25C130FA291C7FC5BA2131E133EA2133C137CA2137813F8A25B
1201A25B1203A25B1207A25B120FA290C8FC5AA2121E123EA2123C127CA2127812F8A25A
12601F537BBD2A>I<EB03F8EB1FFF90387E0FC09038F803E03901E000F0484813780007
147C48487FA248C77EA2481580A3007EEC0FC0A600FE15E0B3007E15C0A4007F141F6C15
80A36C15006D5B000F143EA26C6C5B6C6C5B6C6C485A6C6C485A90387E0FC0D91FFFC7FC
EB03F8233A7DB72A>I<EB01C013031307131F13FFB5FCA2131F1200B3B3A8497E007FB5
12F0A31C3879B72A>I<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E
486D7E123000706D7E126012FCB4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D
4A5A5D140F4A5A4A5A92C7FC147C5C495A495A495A495A91C8FC011EEB01805B5B491303
48481400485A485A000EC75A000FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF
4913C03901F80FF03903C007F848486C7E380E0001000F80381FE0006D7FA56C5A6C5AC8
5A1401A25D4A5AA24A5A5DEC0F80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E
7EED7F80A216C0A2153F16E0A2121EEA7F80487EA416C049137F007F1580007EC7FC0070
ECFF006C495A121E390F8003F83907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A
>I<1538A2157815F8A2140114031407A2140F141F141B14331473146314C313011483EB
030313071306130C131C131813301370136013C01201EA038013005A120E120C5A123812
305A12E0B712F8A3C73803F800AB4A7E0103B512F8A325397EB82A>I<0006140CD80780
133C9038F003F890B5FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE903878
0F803907E007E090388003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490
C71300485C12E000605C12700030495A00385C6C1303001E495A6C6C485A3907E03F8000
01B5C7FC38007FFCEB1FE0213A7CB72A>I<EC3FC0903801FFF0010713FC90380FE03E90
383F800790387E001F49EB3F804848137F485AA2485A000FEC3F0049131E001F91C7FCA2
485AA3127F90C9FCEB01FC903807FF8039FF1E07E090383801F0496C7E01607F01E0137E
497FA249148016C0151FA290C713E0A57EA56C7E16C0A2121FED3F807F000F15006C6C5B
15FE6C6C5B6C6C485A3900FE07F090383FFFC06D90C7FCEB03FC233A7DB72A>I<123012
38123E003FB612E0A316C05A168016000070C712060060140E5D151800E01438485C5D5D
C712014A5A92C7FC5C140E140C141C5CA25CA214F0495AA21303A25C1307A2130FA3495A
A3133FA5137FA96DC8FC131E233B7BB82A>I<EB03F8EB1FFF017F13C09038FC07F03901
E001F848486C7E4848137C90C77E48141E000E141F001E80A3121FA27F5D01E0131E6C6C
133E01FC133C6D5B6C6C6C5AECC1E06CEBF3C06C01FFC7FC6C5BEB3FFF6D13C081017F13
F801F07F3903E07FFE3907801FFF48486C1380481303003E6D13C0003CEB007F007C143F
0078EC0FE000F814075A1503A21501A36C15C012781503007C15806CEC07006C5C6C6C13
1ED807E0137C3903F803F0C6B55A013F1380D907FCC7FC233A7DB72A>I<EB03F8EB1FFF
017F13C09038FC07E03903F803F048486C7E48486C7E49137E121F48487FA2007F158090
C7FCA248EC1FC0A616E0A56C143FA27F123F001F147FA26C6C13FF3907E001DF0003149F
3801F0033900FC0F1FD93FFC13C0EB07F090C7FC153F1680A316005D000F147E487E486C
5BA24A5A4A5A49485A6C48485A001C495A260F807FC7FC3807FFFC000113F038003FC023
3A7DB72A>I<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C09
2479A317>I<121C127FEAFF80A5EA7F00121CC7FCB2121C127F5A1380A4127F121D1201
A412031300A25A1206A2120E5A121812385A1260093479A317>I<007FB812F8B912FCA2
6C17F8CCFCAE007FB812F8B912FCA26C17F836167B9F41>61 D<1538A3157CA315FEA34A
7EA34A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A20270
7FEC6003A202C07F1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7
121FA2496E7EA3496E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512
FEA3373C7DBB3E>65 D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E70
7EA2707EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1F
E0EE07F0707E707E83707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF848
6DEB7FF0B812C094C7FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F890
3A01FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE
153F12014848151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FC
AD127F6DED0180A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D0000161801
7F15386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC02
0F13F002011380313D7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE
0FF0EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4
EF0FF0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8
C7FC16F816C036397DB83F>I<B812FCA30001903880000F6C90C71201EE007E173E171E
170EA31706A317078316C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A215
00A21860A318E093C712C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9
FCA333397DB839>I<B812F8A30001903880001F6C90C71201EE00FC177C173C171CA217
0CA4170E1706A2ED0180A21700A41503A21507151F91B5FCA3EC001F15071503A21501A6
92C8FCAD4813C0B612C0A32F397DB836>I<DBFF8013C0020FEBF001023F13FC9139FF80
3F03903A03FC000787D90FF0EB03CF4948EB00EF4948147F4948143F49C8121F485A4848
150F48481507A248481503A2485A1701123F5B007F1600A448481600AB93B6FCA26C7E93
38007FE0EF3FC0A2123F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D6C14FF6D6C
14EFD90FF8EB03C7D903FEEB0783903A00FFC03F0191393FFFFC00020F01F01300020013
80383D7CBA41>I<B648B512FEA30001902680000313006C90C76C5AB3A491B6FCA391C7
1201B3A6486D497EB648B512FEA337397DB83E>I<B612C0A3C6EBC0006D5AB3B3AD497E
B612C0A31A397EB81E>I<B649B5FCA3000101809038007FF06C90C8EA3F80053EC7FC17
3C17385F5F4C5A4C5A4CC8FC160E5E5E5E5E4B5AED0780030EC9FC5D153E157E15FF5C4A
7F4A6C7E140E4A6C7E4A6C7E14704A6C7E4A6C7E14804A6C7E6F7EA26F7F707EA2707E70
7EA2707EA2707E707EA2707E707F8484486D497FB6011FEBFF80A339397DB841>75
D<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A21601160316
0FEE1FE0486D13FFB8FCA32D397DB834>I<B5933807FFF86E5DA20001F0FC002600DFC0
ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303A2
027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0A3913901FC0180
A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC6D4849
7EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C69238007FE06EEC
1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E8114
0F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF6F
1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E486C153E487ED8
0FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE01FC903901F800
7ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E49157E0003167F
4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F8491507A300FF17FC
AC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC0000717806D157F00031700
6C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903F8017FC7FC9039
00FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816FE000190398001FF80
6C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FEA2EE03FCA2EE07F817
F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FCA330397DB839>I<B6
12FEEDFFE016F8000190388007FE6C90C76C7EEE3FC0707E707E707EA2707EA283A65FA2
4C5AA24C5A4C5AEE3F8004FFC8FCED07FC91B512E05E9138000FF0ED03F8ED00FE82707E
707EA2161F83A583A6F00180A217F8160F1803486D01071400B66D6C5A04011306933800
FE0ECAEA3FFCEF07F0393B7DB83D>82 D<D90FF813C090383FFE0190B512813903F807E3
3907E000F74848137F4848133F48C7121F003E140F007E1407A2007C140312FC1501A36C
1400A37E6D14006C7E7F13F86CB47E6C13F8ECFF806C14E06C14F86C14FEC680013F1480
010714C0EB007F020713E0EC007FED3FF0151F150FED07F8A200C01403A21501A37EA216
F07E15036C15E06C14076C15C06C140F6DEB1F80D8FBF0EB3F00D8F0FE13FE39E03FFFF8
010F13E0D8C00190C7FC253D7CBA2E>I<003FB812E0A3D9C003EB001F273E0001FE1303
48EE01F00078160000701770A300601730A400E01738481718A4C71600B3B0913807FF80
011FB612E0A335397DB83C>I<B6903807FFFEA3000101809038007FE06C90C8EA1F80EF
0F001706B3B2170E6D150C80171C133F17186D6C14385F6D6C14F06D6C5C6D6C495A6D6C
EB07806D6C49C7FC91387F807E91381FFFF8020713E09138007F80373B7DB83E>I<B500
FC91387FFF80A30003018091380FFC006C90C8EA07E0715A6C705A6E1403017F93C7FCA2
80013F1506A26E140E011F150C80010F5DA28001075DA26E147001031560A26D6C5CA280
6D4A5AA2ED8003027F91C8FCA291383FC006A215E0021F5BA2EDF01C020F1318A26E6C5A
A215FC02035BA2EDFEE002015BA26E6C5AA36FC9FCA3153EA2151CA3393B7EB83E>I<B5
D8FC07B5D8F001B5FCA30007902780001FFEC7EA1FF86C48C7D80FF8EC07E000010307ED
03C01B807F6C6F6C1500A26E5F017F6E6C1406A280013F4A6C5CA280011F4A6D5BEE067F
A26D6C010E6D5BEE0C3FA26D6C011C6D5BEE181FA26D6C6F5BEE300FA26D6C6F485AEE60
07A26D6C4CC7FC9338C003FCA203805D913B7F818001FE06A203C1150EDA3FC3C7EAFF0C
A203E3151CDA1FE6EC7F98A215F6DA0FFCEC3FF0A302075E4B141FA202035E4B140FA202
015E4B1407A2020093C8FC4B80503B7EB855>I<007FB590383FFFFCA3C601F801071380
D97FE0D903FCC7FC013FEC01F06D6C5C5F6D6C5C6D6C13034CC8FC6D6C1306160E6D6C5B
6DEB8018163891387FC0306E6C5A16E06E6C5A91380FF18015FB6EB4C9FC5D14036E7EA2
6E7F6F7EA24B7E15DF9138019FF09138038FF8150F91380607FC91380E03FE140C4A6C7E
EC38000230804A6D7E14E04A6D7E49486D7E130391C76C7E01066E7E130E010C6E7E011C
1401013C8101FE822607FF80010713E0B500E0013FEBFF80A339397EB83E>I<003FB7FC
A39039FC0001FE01C0130349495A003EC7FC003C4A5A5E0038141F00784A5A12704B5A5E
006014FF4A90C7FCA24A5A5DC712074A5AA24A5A5D143F4A5AA24A5A92C8FC5B495AA249
5A5C130F4948EB0180A2495A5C137F495A16034890C7FC5B1203485AEE0700485A495C00
1F5D48485C5E4848495A49130FB8FCA329397BB833>90 D<EAFFF8A4EAF000B3B3B3B3A3
EAFFF8A40D5378BD17>I<3901800180000313033907000700000E130E485B0018131800
381338003013300070137000601360A200E013E0485BA400CE13CE39FF80FF806D13C0A3
007F137FA2393F803F80390E000E001A1974B92A>I<EAFFF8A4EA0078B3B3B3B3A3EAFF
F8A40D537FBD17>I<EB1FE0EBFFFC3803E03F3907000F80390F8007E0486C6C7E13E06E
7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC0123F485A90
C7FC160C12FEA31401A26C13036CEB077C903980063E18383FC01E3A0FE0781FF03A03FF
F00FE03A007F8007C026277DA52A>97 D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038
F1E03E9039F3801F809039F7000FC001FEEB07E049EB03F049EB01F85BED00FCA216FEA2
167E167FAA167E16FEA216FC15016D14F8ED03F07F01EEEB07E001C6EB0FC09039C7801F
00903881E07E903800FFF8C7EA1FC0283B7EB92E>I<EB03FC90381FFF8090387E03E039
01F80070484813F83907E001FC380FC003A2EA1F80123F90380001F848EB00F01500A212
7E12FEAA127E127FA26C14067F001F140E6D130C000F141C6C6C13386C6C13706C6C13E0
39007C07C090381FFF00EB07F81F277DA525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8
EB1FFF90387E078F9038F801EF3903F0007F4848133F4848131FA24848130F123F90C7FC
5AA2127E12FEAA127E127FA27EA26C6C131FA26C6C133F6C6C137F6C6CEBEFF03A01F801
CFFF39007C078F90381FFE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF90387C0FC039
01F803E03903F001F0D807E013F8380FC0004848137CA248C7127E153E5A153F127E12FE
A3B7FCA248C8FCA5127EA2127FA26C14037F001F14076C6C13060007140E6D131CD801F0
13386C6C137090387E03E090381FFF80903803FC0020277EA525>I<147E903803FF8090
380FC1E0EB1F8790383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7FC
B3AB487E387FFFF8A31C3B7FBA19>I<ED03F090390FF00FF890393FFC3C3C9039F81F70
7C3901F00FE03903E007C03A07C003E010000FECF000A248486C7EA86C6C485AA200075C
6C6C485A6D485A6D48C7FC38073FFC38060FF0000EC9FCA4120FA213C06CB512C015F86C
14FE6CECFF804815C03A0F80007FE048C7EA0FF0003E140348140116F8481400A56C1401
007C15F06CEC03E0003F1407D80F80EB0F80D807E0EB3F003901FC01FC39007FFFF00107
90C7FC26387EA52A>I<EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F9039F1C01F80
9039F3800FC0EBF70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A3293A7EB92E
>I<EA0380EA0FE0487EA56C5AEA0380C8FCAAEA03F012FFA312071203B3AA487EB512C0
A312387EB717>I<EB01C0EB07F0EB0FF8A5EB07F0EB01C090C7FCAAEB01F813FFA31307
1301B3B3A2123C127E00FF13F01303A214E038FE07C0127C383C0F00EA0FFEEA03F81549
84B719>I<EA03F012FFA3120F1203B1913801FFFCA39138007FC01600157C15705D4A5A
4A5A4AC7FC141E1438147814FC13F1EBF3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E
7E811400157E157F811680ED1FC0486CEB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012
FFA3120F1203B3B3AD487EB512C0A3123A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB
7FF8913AF03F01E07E903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC
49D907F8EB0FC0A2495CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445
>I<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7E
A25BA35BB3A3486C497EB500C1B51280A329257EA42E>I<EB03FE90380FFF8090383E03
E09038F800F84848137C48487F48487F4848EB0F80001F15C090C712074815E0A2007EEC
03F0A400FE15F8A9007E15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F6C6CEB
3F006C6C137EC66C13F890387E03F090381FFFC0D903FEC7FC25277EA52A>I<3903F01F
E000FFEB7FF89038F1E07E9039F3801F803A0FF7000FC0D803FEEB07E049EB03F04914F8
49130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614
C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E>
I<D903F813C090381FFE0190387E07819038FC01C33903F000E300071477484813374913
3F001F141F485A150F48C7FCA312FEAA127FA37E6D131F121F6D133F120F6C6C137F6C6C
13EF3901F801CF39007E078F90381FFE0FEB07F890C7FCABED1FE00203B5FCA328357DA4
2C>I<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E0
9038FC0080491300A45BB3A2487EB512F0A31C257EA421>I<EBFF03000313E7380F80FF
381E003F487F487F00707F12F0A2807EA27EB490C7FCEA7FE013FF6C13E06C13F86C7F00
037FC67F01071380EB007F141F00C0EB0FC01407A26C1303A37E15806C13077EEC0F00B4
131E38F3C07C38E1FFF038C03F801A277DA521>I<1318A51338A31378A313F812011203
1207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0FFE
EB01F81A347FB220>I<D803F0EB07E000FFEB01FFA3000FEB001F00031407B3A4150FA3
151F12016D133F0000EC77F86D9038E7FF8090383F03C790381FFF87903A03FC07E00029
267EA42E>I<B538803FFEA33A0FF8000FF06C48EB07E00003EC03C06D148000011500A2
6C6C1306A26D130E017E130CA26D5BA2EC8038011F1330A26D6C5AA214E001075BA29038
03F180A3D901FBC7FCA214FF6D5AA2147CA31438A227257EA32C>I<B53A1FFFE03FFEA3
260FF8009038000FF86C48017EEB03E018C00003023EEB0180A26C6C013FEB0300A36C6C
EC8006156FA2017E9038EFC00C15C7A2D93F016D5A15830281EBF038D91F831430150102
C3EBF87090260FC6001360A2D907E66D5A02EC137CA2D903FCEB7F804A133FA2010192C7
FC4A7FA20100141E4A130E0260130C37257EA33C>I<B538807FFFA33A03FE003FF00001
EC1F80000092C7FC017E131C6D13186D6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8
FC6D5AA2147F804A7E8114CF903801C7E090380383F090380703F8EB0601496C7E011C13
7E49137F01787F496D7E486C80000FEC3FF0D8FFFE90B51280A329247FA32C>I<B53880
3FFEA33A0FF8000FF06C48EB07C00003EC03806C7E16007F00001406A2017E5BA2137F6D
5BA26D6C5AA2ECC070010F1360A26D6C5AA214F101035BA2D901FBC7FCA214FF6D5AA214
7CA31438A21430A214701460A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA701C6C5A
EA1FF0EA0FC027357EA32C>I<003FB512FCA2EB8003D83E0013F8003CEB07F00038EB0F
E012300070EB1FC0EC3F800060137F150014FE495AA2C6485A495AA2495A495A495AA290
387F000613FEA2485A485A0007140E5B4848130C4848131CA24848133C48C7127C48EB03
FC90B5FCA21F247EA325>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fn cmbx12 12 38
/Fn 38 122 df<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5
264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0
007FFFD81F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A
6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC
4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC
017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713
FF011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16
C07FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC
15F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0
EA3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80F
FEEBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<163FA25E5E
5D5DA25D5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14F8
EB01F0EB03E0130714C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E5A
12FCB91280A5C8000F90C7FCAC027FB61280A531417DC038>I<0007150301E0143F01FF
EB07FF91B6FC5E5E5E5E5E16804BC7FC5D15E092C8FC01C0C9FCAAEC3FF001C1B5FC01C7
14C001DF14F09039FFE03FFC9138000FFE01FC6D7E01F06D13804915C0497F6C4815E0C8
FC6F13F0A317F8A4EA0F80EA3FE0487E12FF7FA317F05B5D6C4815E05B007EC74813C012
3E003F4A1380D81FC0491300D80FF0495AD807FEEBFFFC6CB612F0C65D013F1480010F01
FCC7FC010113C02D427BC038>I<4AB47E021F13F0027F13FC49B6FC01079038807F8090
390FFC001FD93FF014C04948137F4948EBFFE048495A5A1400485A120FA248486D13C0EE
7F80EE1E00003F92C7FCA25B127FA2EC07FC91381FFF8000FF017F13E091B512F89039F9
F01FFC9039FBC007FE9039FF8003FF17804A6C13C05B6F13E0A24915F0A317F85BA4127F
A5123FA217F07F121FA2000F4A13E0A26C6C15C06D4913806C018014006C6D485A6C9038
E01FFC6DB55A011F5C010714C0010191C7FC9038003FF02D427BC038>I<121E121F13FC
90B712FEA45A17FC17F817F017E017C0A2481680007EC8EA3F00007C157E5E00785D1501
4B5A00F84A5A484A5A5E151FC848C7FC157E5DA24A5A14035D14074A5AA2141F5D143FA2
147F5D14FFA25BA35B92C8FCA35BA55BAA6D5A6D5A6D5A2F447AC238>I<EE1F80A24C7E
A24C7EA34C7EA24B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E8015
7C8203FC804B7E02018115F0820203814B137F0207815D173F020F814B7F021F8292C77E
A24A82023E80027E82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A15
3FA249488284011F8491C97E4984133E017E82B6020FB612F0A54C457CC455>65
D<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949
C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F484916
1F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2
123FA27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C
167E6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7
FC020715FC020115F0DA001F1480030001F8C8FC44467AC451>67
D<BA12F8A485D8001F90C71201EF003F180F180318011800A2197E193EA3191EA21778A2
85A405F890C7FCA316011603161F92B5FCA5ED001F160316011600A2F101E01778A2F103
C0A494C7FC1907A21A80A2190FA2191FA2193FF17F0061601807181F4DB5FCBBFC61A443
447DC34A>69 D<B712E0A5D8001F90C7FCB3B3B3A4B712E0A523447DC32A>73
D<B500FE067FB512806E95B6FCA26F5EA2D8003F50C7FC013D6DEE03DFA2013C6DEE079F
A26E6CEE0F1FA26E6C161EA26E6C163CA36E6C1678A26E6C16F0A26E6DEC01E0A26E6DEC
03C0A36E6DEC0780A26F6CEC0F00A26F6C141EA26F6C5CA36F6C5CA26F6C5CA26F6D485A
A26F6D485AA26F6D485AA3706C48C7FCA293383FF81EA2706C5AA2706C5AA3706C5AA270
5BA2705BA2705BA2B6057FB6128071C7FCA2173E171C61447CC36A>77
D<B9FC18F018FE727E19E0D8001F90C7000F7F05017F716C7E727E727E721380A21AC084
A21AE0A91AC0A24E1380A21A00604E5A4E5A4D485A050F5B92B712C096C7FC18FC18C092
CBFCB3A7B712E0A543447DC34D>80 D<B812F8EFFFC018F818FE727ED8001F90C7003F13
E005037F05007F727E727E727EA28684A286A762A24E90C7FCA24E5A61187F943801FFF0
05075B053F138092B7C8FC18F818E018F892C77FEF3FFF050F7F717F717FA2717FA2717F
A785A61B0F85A2187F73131F72141EB700E06DEB803E72EBE0FC72EBFFF8060114F0726C
13E0CC0007138050457DC354>82 D<DAFFE0131C010701FE133C013F9038FF807C90B6EA
E0FC4815F9489038801FFF3907FC00014848EB007F4848143F4848140F491407007F1503
5B1601160012FF177CA27FA26D153C7F7F6D92C7FC6C7EEBFFE014FE6CEBFFF015FF6C15
E016FC6C816C6F7E6C826C826C6C81011F810107811300020F80140003077FED007F8204
0F1380828212F082A282A27EA218007EA26C5D6C5E6D14036D5D6D140701F84A5A01FFEC
3FF002F8EBFFE0486CB65AD8FC1F92C7FCD8F80714FC48C614F0480107138031467AC43E
>I<B792B6FCA526003FFECAEAFC00806D606F15016D608119036D606F15076D606F150F
6D6081191F6D6D93C7FC61027F163E6F157E023F167C8119FC6E6D5C18016E5E7013036E
5E8218076E6D5C180F6E5E70131F6E93C8FC705B037F143E82187E033F147C7013FC6F5C
17816F5C17C117C36F5C17E76F5C17FF6F5CA36F91C9FCA2705AA2705AA3705AA2705AA2
705AA250457EC355>86 D<B600FE017FB691B512FEA526007FFCC8D83FFEC9EA7C006E82
013F701778807415F86D705F6F7014016D705FA26F7014036D64814E6D14076D646F7014
0F6D041E94C7FCA26F023E6D5C6DDC3C7F151E81027F037C6D5CF0783F6F70147C023F4B
6C1578A26F01016F13F86E4B6C5D16806E02036F485A4E7E04C0EEE0036E4A486C5DA2DC
E00FEDF0076E4B6C5D16F06E4A6F48C8FC051E7F04F8705A6E4A027F131EA2DCFC7CEDFE
3E037F0178023F133C04FE16FF033F01F85E4D8004FF17F86F496E5BA36F496E5BA26F60
4D80A26F90C86C5BA36F486F90C9FCA26F48167EA30478163C6F457EC374>I<903801FF
E0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7EA26F7FA36F
7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC01000313E0000F
1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013EEBFFC03A1F
FF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97
D<EB7FC0B5FCA512037EB1ED0FF892B57E02C314E002CF14F89139DFC03FFC9139FF000F
FE02FCEB03FF4A6D13804A15C04A6D13E05CEF7FF0A218F8173FA318FCAC18F8A2177F18
F0A3EFFFE06E15C06E5B6E491380027C491300496C495A903AFC1FC07FFC496CB512F0D9
F00314C049C691C7FCC8EA1FF036467DC43E>I<EC3FFC49B512C0010F14F0013F14FC90
397FF003FE9039FFC001FF0003495A48494813805B120F485AA2485A6F1300007F6E5AED
00784991C7FCA212FFAC6C7EA3123F6DEC03C0A26C6C1407000F16806D140F6C6DEB1F00
6C6D133E6C01F05B3A007FFC03F86DB55A010F14C0010391C7FC9038003FF82A2F7CAD32
>I<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEBFF8F013F14CF9039FFF8
07FF48EBC00148903880007F4890C7123F4848141F49140F121F485AA3127F5BA212FFAC
127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6CD9C00314FC6C9038F01F
EF6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC43E>I<EC3FF80103B57E
010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C7E48486D1380485A001F
ED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FCA5127FA27FA2123F
17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB3F0090397FFE01FE
011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<EDFF80020F13E0027F13
F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7FF0A2ED0FFCEBFFE0ED03
F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A527467DC522>I<DAFFE0137E
010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038001FF84848EB0FFC4848
903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FCA26D5B000F5D6C6C
495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0000F90CAFCA47F7F
7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0C77ED83FC0140748
48020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A5AD80FFEEC3FF83B
07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32427DAC38>I<137C
48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA7F
FFA512037EB3AFB6FCA518467CC520>105 D<EB7FC0B5FCA512037EB293387FFFE0A593
380FE0004C5A4CC7FC167E5EED03F8ED07E04B5A4B5A037FC8FC15FEECC1FCECC3FE14C7
ECDFFF91B57E82A202F97F02E17F02C07FEC807F6F7E826F7E816F7F836F7F816F7F8370
7E163FB60003B512F8A535457DC43B>107 D<EB7FC0B5FCA512037EB3B3B3A3B61280A5
19457CC420>I<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E002
816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F6C
019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FEA5
572D7CAC5E>I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC91388F
801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D7C
AC3E>I<EC1FFC49B512C0010714F0011F14FC90397FF80FFF9026FFC0017F48496C7F48
48C7EA3FE000078248486E7E49140F001F82A2003F82491407007F82A400FF1780AA007F
1700A46C6C4A5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007FF8
0F90C7FC6DB55A010F14F8010114C09026001FFCC8FC312F7DAD38>I<90397FC00FF8B5
90B57E02C314E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D13804A
15C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B
6E4913806E4913006E495A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092C9
FCADB67EA536407DAC3E>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC91389F
1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A5
272D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003383FC00049133F
48C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14
FC6C800003806C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27E
A26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007
FEC7FC232F7CAD2C>I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF1203000F
90B51280B7FCA4C601E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F809039
1FFC1F006DB5FC6D13FC01015B9038003FE023407EBE2C>I<D97FC049B4FCB50103B5FC
A50003EC000F6C81B3A85EA25EA25E7E6E491380017FD901F713FE9138F807E76DB512C7
010F1407010313FE9026007FF0EBFC00372E7CAC3E>I<B6903803FFFCA5000101E09038
003E006C163C80017F5D8017F8013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F
6D92C7FC15C05E6DEBE01E163E6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF
6E5BA36E5BA26E90C8FCA26E5AA26E5AA21578362C7EAB3B>I<B5D8FE1FB539801FFFF0
A500019027C0003FE0C7EA7C007114786E17F86C6F6C5C6E1601017F6E6C5CA26E011F14
03013F6F5C6E013F1407011F6F5CA26E0179140F010F048090C7FC6E01F95C6D02F0EBC0
1E15806D902681E07F5B18E003C3157C6D9139C03FF07815E76DDA801F5B18F803FF14F9
6E9039000FFDE018FF6E486D5BA36E486D5BA26E486D90C8FCA24B7F02075DA26E48147C
4B143C4C2C7EAB51>I<B6903803FFFCA5000101E09038003E006C163C80017F5D8017F8
013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E163E
6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E5A
A26E5AA21578A215F85D14015D001F1303D83F805B387FC007D8FFE05B140F92C9FC5C14
3E495A387FC1F8EB07F06CB45A6C5B000790CAFCEA01FC36407EAB3B>121
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fo cmti12 12 21
/Fo 21 122 df<DC0FF8130393B513070307ECC00F923A1FF803E01F923A7FC000F81E4B
C7EA7C3EDA03FCEC3C7EDA0FF0EC1EFE4A48EC0FFC4A4814074AC8FC02FE1503494816F8
130349481501495A494816F0495A137F5C01FF17E04890C9FCA2485A19C0485AA2485A95
C7FC121F5BA2123F5BA3127F5BA4485AA41838A218781870A218F0007F5F170160170300
3F5F17076D4BC7FC001F160E171E6C6C5D6D5D00075E6C6C4A5A6DEC07C06C6C4A5AD800
7F023EC8FCD93FC013FC90391FF807F00107B512C0010191C9FC9038001FF0404872C546
>67 D<027FB512E091B6FCA20200EBE000ED7F8015FFA293C7FCA35C5DA314035DA31407
5DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C8FCA35B5CA313035CA313075CA313
0F5CA3131F5CA2133FA25CEBFFE0B612E0A25D2B447BC326>73 D<91B56C93387FFFC082
98B5FC02014DEBC0006E614A5FA203DF4C6CC7FC1A0E63912603CFE05D038F5F1A381A71
1407030FEEE1FCA2F101C3020FEE0383020E60F107036F6C1507021E160E021C60191CF1
380F143C023804705BA2F1E01F0278ED01C091267003F85EF003801A3F02F0ED070002E0
030E5CA24E137F130102C04B91C8FC606201036D6C5B02805F4D5A943803800113070200
DA07005BA2050E1303495D010E606F6C5A1907011E5D011C4B5CA27048130F133C01384B
5C017892C7FC191F01F85C486C027E5DD807FE027C4A7EB500F00178013FB512C0A21670
5A447AC357>77 D<48B912F85AA2913B0007FC001FF0D807F84A130701E0010F14034916
0148485C90C71500A2001E021F15E05E121C123C0038143F4C1301007818C0127000F014
7F485DA3C800FF91C7FC93C9FCA35C5DA314035DA314075DA3140F5DA3141F5DA3143F5D
A3147F5DA314FF92CAFCA35B5CA21303A21307497E007FB612C0A25E3D446FC346>84
D<001FB500F090383FFFFCA326003FF0C7000113806D48913800FE00013F167C18785C18
7018F0017F5E5CA2170101FF5E91C8FCA21703485F5BA21707000394C7FC5BA25F000716
0E5BA2171E120F49151CA2173C121F491538A21778123F491570A217F0127F495DA21601
00FF5E90C8FCA216035F16074893C8FC5E160E161E5E007E1538007F15785E6C4A5A6D49
5A001F4A5A6D49C9FC6C6C133E6C6C13F83903FC07F0C6B512C0013F90CAFCEB07F83E46
6DC348>I<EC1F80EC7FE0903901F07070903907C039F890380F801D90381F001F013E6D
5A137E5B484813075E485A120749130F000F5DA2485A151F003F5D5BA2153F007F92C7FC
90C7FCA25D157E12FEA29238FE0380EDFC071700A2007E13015E913803F80E1407003E01
0F131E161C6C131C02385B3A0F80F078783A07C3E07C703A01FF801FE03A007E00078029
2D76AB32>97 D<EC0FE0EC7FF8903801F81E903807E00F90390F80078090381F0003017E
14C049131F0001143F5B4848EB7F801207485AED3E00484890C7FCA2485AA2127F90C9FC
A35A5AA45AA5ED0180ED03C0ED0780A2007CEC0F00007E141E003E147C15F06CEB03E039
0F800F802607C07EC7FC3801FFF838007FC0222D75AB2D>99 D<EC0FE0EC7FF8903801F8
3E903807C00F90391F800780EB3F00017E14C0491303485A48481307000715805B000F14
0F484814005D4848133E15FCEC07F0007FEBFFC0D9FFFEC7FC14C090C9FC5A5AA55AA4ED
0180ED03C0007CEC0780A2007EEC0F00003E141E157C6C14F06CEB03E03907800F802603
C07EC7FC3801FFF838003FC0222D75AB2D>101 D<EE0F80EE3FE0EEF870923801F03892
3803E0F8923807E1FC16C3ED0FC7A2EE87F892381F83F0EE81E0EE8000153F93C7FCA45D
157EA415FE5DA349B512FEA390260001F8C7FCA314035DA414075DA4140F5DA4141F5DA4
143F92C8FCA55C147EA314FE5CA413015CA4495AA35C1307121C007F5B12FF495AA291C9
FC485AEAF81E485AEA7878EA1FF0EA07C02E5A83C51E>I<15FCEC03FF91390F83838091
393E01CFC091387C00EF4A13FF4948137F010315804948133F495A131F4A1400133F91C7
5A5B167E13FE16FE1201495CA215011203495CA21503A2495CA21507A25EA2150F151F5E
0001143F157F6C6C13FF913801DF8090387C039F90383E0F3FEB0FFCD903F090C7FC90C7
FC5DA2157EA215FEA25DA2001C495A127F48495A14074A5A485C023FC8FC00F8137E387C
01F8381FFFE0000390C9FC2A407BAB2D>I<14FE137FA3EB01FC13001301A25CA21303A2
5CA21307A25CA2130FA25CA2131FA25C157F90393F83FFC091388F81F091381E00F80238
7F4948137C5C4A137EA2495A91C7FCA25B484814FE5E5BA2000314015E5BA2000714035E
5B1507000F5DA249130F5E001F1678031F1370491480A2003F023F13F0EE00E090C7FC16
0148023E13C01603007E1680EE070000FEEC1E0FED1F1E48EC0FF80038EC03E02D467AC4
32>I<143C147E14FE1301A3EB00FC14701400AE137C48B4FC3803C780380703C0000F13
E0120E121C13071238A21278EA700F14C0131F00F0138012E0EA003F1400A25B137EA213
FE5B12015BA212035B141E0007131C13E0A2000F133CEBC038A21478EB807014F014E0EB
81C0EA0783EBC7803803FE00EA00F8174378C11E>I<EB03F8EA01FFA3380007F0130313
07A214E0A2130FA214C0A2131FA21480A2133FA21400A25BA2137EA213FEA25BA21201A2
5BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA2387F01C0130300
7E1380A2130700FE130012FCA25B130EEA7C1E131CEA3C3CEA3E786C5AEA07C0154678C4
19>108 D<D801F0D90FE0EB07F0D803FCD97FF8EB3FFC28071E01F03EEBF81F3E0E1F03
C01F01E00F80271E0F8700D983807F001C018E90390F870007003C019C148E003801B802
DC8002F814FC26781FF05C0070495CA24A5C00F0494948130FD8E03F6091C75B1200043F
141F4960017E92C7FCA24C143F01FE95C7FC49147E6104FE147E1201494A14FE610301EE
0780000305011400494A14F8A2030302035B0007F0F00E495C1A1E0307EDE01C000F193C
494A153862030F020113F0001FF0F1E0494A903800FF800007C7D80380023EC7FC492D78
AB50>I<D801F0EB0FE0D803FCEB7FF83A071E01F03E3A0E0F03C01F001ED98700138000
1C018E130F003C139C003801B814C014F838781FF000705BA25C00F049131FD8E03F1580
91C7FC1200163F491500137EA25E01FE147E5B16FE5E12014913015E170F00030203130E
4914F0A20307131E0007EDE01C5B173CEEC038000F167849157017E0ED03C1001FEDE3C0
49903801FF000007C8127C302D78AB37>I<EC0FE0EC7FFC903801F83E903907E00F8090
390F8007C0EB1F00017EEB03E04914F0A248481301484814F81207485AA2485AA2485A15
03127F90C7FCA215074815F05AA2150F16E05AED1FC0A21680153F16005D157E5D007C49
5A007E495A003E5C4A5A6CEB1F80260F803EC7FC3807C0FC3801FFF038003F80252D75AB
32>I<D801F0EB3F803A03FC01FFF03A071E03C0F83A0E0F0F007C001E90389E01FC001C
139CECB803003813F0A2D91FE013F80078EC00E00070491300A200F05BEAE03F91C8FC12
00A25B137EA313FE5BA312015BA312035BA312075BA3120F5BA3121F5B0007C9FC262D78
AB29>114 D<EC0FE0EC7FF8903801F01E903803C00F90390780078090380F0003011E14
C0150749131FA2017CEB3F801378137CED0E0092C7FC137E137F14F014FF6D13C06D13F0
6D7F6D7F1300EC0FFE14011400157F81120E003F141E487EA2153E48C7123CA200FC5C12
705D0078495A6C495A6CEB0F80260F803EC7FC3803FFF838007FC0222D7AAB28>I<1470
EB01F8A313035CA313075CA3130F5CA3131F5CA2007FB512E0B6FC15C0D8003FC7FCA25B
137EA313FE5BA312015BA312035BA312075BA3120F5BA2EC0780001F140013805C140E00
3F131EEB001C143C14385C6C13F0495A6C485AEB8780D807FEC7FCEA01F81B3F78BD20>
I<017C143848B414FC3A03C78001FE380703C0000F13E0120E001C14000107147E123816
3E1278D8700F141E5C131F00F049131C12E0EA003F91C7123C16385B137E167801FE1470
5BA216F0000115E05B150116C0A24848EB0380A2ED0700A2150E12015D6D5B000014786D
5B90387C01E090383F0780D90FFFC7FCEB03F8272D78AB2D>118
D<137C48B414072603C780EB1F80380703C0000F7F000E153F001C1600130712385E0078
157EEA700F5C011F14FE00F0495B12E0EA003FEC00015E5B137E150301FE5C5BA2150700
015D5BA2150F00035D5BA2151F5EA2153F12014BC7FC6D5B00005BEB7C0390383E0F7EEB
1FFEEB03F090C712FE5DA214015D121F397F8003F0A24A5A4848485A5D48131F00F049C8
FC0070137E007813F8383801F0381E07C06CB4C9FCEA01FC294078AB2F>121
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fp cmr12 12 18
/Fp 18 119 df<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A78891B>46
D<ED1FFC4AB512C0913907E003F0021EC7123C0278140FD901E0EC03C0D90380EC00E001
0FC91278011C161C4982498249707E4916010001844848D90FF06D7E90C7D83FFC146048
DAFC0F1470000E902703F003C07F000C902707C000E01318001CD91F800170131C001801
3F6E130C003891C76C130E0030017E91380FF00614FE00704902071307D8600183A2495A
A200E019804848481601AB6C6C7E1260A26D7E1903D87000180000306D140F147E00386D
141F00186E013F5B001C011F02771306000CD907C09038E3F80E000E902703F003C35B6C
903B00FC0F00FC386CDA3FFCEB7FF06DD90FF0EB0FC06C6C90CBFC12007F13707F7F010F
EF1F80D90380167FD901E0923803FE00D90078ED1FF0021E913801FF80DA07E0D97FF8C7
FC0201B6C8FCDA001F13C041477BC54C>64 D<B56C020FB5FC8080C6040013F06D6CED1F
80D96FF8ED0F00A2D967FC1506EB63FEA2EB61FF01607FA26E7E6E7EA26E7E6E7EA26E7E
6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F1380A2EE7FC0EE3FE0A2
EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF701386A2EF7FC6EF3FE6A2EF1FF6EF0FFEA217
071703A217011700A201F0167E183E487ED80FFF161EB500F0150EA2180640447CC349>
78 D<B712FCEEFFC017F800019039C0000FFC6C6C48EB01FF9338007F80EF1FE0170FEF
07F018F8EF03FCA218FE1701A218FFA718FEA2170318FCA2EF07F818F0EF0FE0EF1FC0EF
7F80933801FE00EE0FFC91B612F017800280C9FCB3AA3801FFE0B612C0A338447CC342>
80 D<EC7F80903803FFF090380FC07C90383F000F01FCEB03804848EB01C00003140F48
48EB1FE049133F120F485AA2485AED1FC0007FEC070092C7FCA290C9FC5AAB7E7FA2123F
16307F001F15706C6C146016E06C6C14C06C6C13010001EC03806C6CEB0700013F131E90
381FC078903807FFF001001380242E7DAC2B>99 D<167FED3FFFA315018182B3EC7F8090
3803FFF090380FC07C90383F000E017E1307496D5AD803F87F48487F5B000F81485AA248
5AA2127FA290C8FC5AAB7E7FA2123FA26C7EA2000F5D7F6C6C5B00035C6C6C9038077F80
6C6C010E13C0013F011C13FE90380FC0F8903803FFE09026007F0013002F467DC436>I<
EB01FE903807FFC090381F03F090387E00FC49137E48487F485A4848EB1F80000F15C049
130F121F484814E01507A2007F15F090C7FCA25AA390B6FCA290C9FCA67EA27FA2123F16
306C7E1670000F15606D14E06C6C14C0000314016C6CEB03806C6CEB0700013E131E9038
1F80F8903803FFE0010090C7FC242E7DAC2B>I<EA01FC12FFA3120712031201B3EC01FE
913807FFC091381E07F091383801F802707FECE000D9FDC07F5C01FF147F91C7FCA25BA3
5BB3A8486CECFF80B5D8F83F13FEA32F457DC436>104 D<EA01E0EA07F8A2487EA46C5A
A2EA01E0C8FCADEA01FC12FFA3120712031201B3B0487EB512F8A315437DC21C>I<EA01
FC12FFA3120712031201B3B3B3A5487EB512F8A315457DC41C>108
D<D801FC01FFEC1FE000FF010701E0EBFFFC913B0F03F801E07F913C3C01FC07803F8000
07903C7000FE0E001FC0000349D97E1C130F2601FDC0D97F38804A143001FFDA3FF06D7E
91C75BA2495DA3495DB3A8486C4A6C497EB5D8F81FB50003B512E0A34B2C7DAB52>I<EC
7F80903803FFF090380FC0FC90383E001F496D7E496D7E48486D7E48486D7E48486D7E00
0F81A24848147E003F157FA290C87E481680A44816C0AA6C1680A26D147F003F1600A200
1F157E6D14FE000F5D6D130100075D6C6C495A6C6C495A6C6C495A013E49C7FC90381FC0
FE903807FFF89038007F802A2E7DAC31>111 D<3901FC03FC00FF90380FFF8091383C07
E091387001F83A07FDE000FE00030180137FD801FFEC3F8091C7EA1FC04915E049140F17
F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D15E0EE1FC06D143F17
806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03FCC7FC91C9FCAE487E
B512F8A32F3F7DAB36>I<3903F803F000FFEB1FFCEC3C3EEC707F0007EBE0FF3803F9C0
00015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA3202C7DAB26>114
D<90383FE0183901FFFC383907E01F78390F0003F8001E1301481300007C1478127800F8
1438A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14C06C14E0C614F0
011F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C6C147C15786C14
F86CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26>I<1306A5130E
A4131EA3133E137EA213FE12011207001FB512F0B6FCA2C648C7FCB3A4150CAA017E131C
017F1318A26D133890381F8030ECC070903807E0E0903801FFC09038007F001E3E7EBC26
>I<D801FC147F00FFEC3FFFA300071401000380000181B3A85EA35DA212006D5B017E90
38077F80017F010E13C06D011C13FE90380FC078903803FFF09026007F8013002F2D7DAB
36>I<B539F001FFFCA3000790C7EA7FE06C48EC1F8000011600160E1200160C017F5CA2
80013F5CA26E1370011F146080010F5CA2ECF00101075CA26D6C48C7FCA26E5A01011306
A26D6C5AA214FF6E5AA215B8EC3FB015F06E5AA36E5AA26E5AA36EC8FC2E2C7EAA33>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fq cmbx12 14.4 17
/Fq 17 122 df<BC1280A5D8000701F8C7000114C0F0001F19071901851A7F1A3F1A1FA2
F20FE0A21A07A31A03A318F81BF01A01A497C7FC1701A317031707170F177F92B6FCA592
38F8007F170F170717031701A317001B3EA31B7CA395C8FCA21BFCA21BF8A21A01A31A03
1BF01A071A0FA21A1F1A3FF27FE0F101FF1907191F0603B5FCBCFCA21BC0A34F517CD058
>69 D<B600FC073FB512FE6F61A26F96B6FCA2D80007F5C00070EF01EFA202EF6DEF03CF
A202E76DEF078FA202E36DEF0F0FA202E16D171EA302E06D173CA26F6C1778A26F6C17F0
A26F6DED01E0A26F6DED03C0A36F6DED0780A26F6DED0F00A26F6D151EA26F6D5DA3706C
5DA2706C5DA2706D495AA2706D495AA2706D495AA3706D49C7FCA2706D131EA2706D5BA2
716C5BA3716C5BA271EB81E0A271EBC3C0A271EBE780A27101FFC8FCA3715BA2715BA272
5AA2725AA2D93FFC6F5AB74DB712FEA2725AA2725A77527CD180>77
D<B700FE031FB512FEA5D8001F01F0CA383FFE00F307F06D626F170F6D62811B1F6D6D60
1B3F6D97C7FC6F5F6D197E821BFE6E6D5E1A016E6D5E1A036E60701507A26E6D5E1A0F6E
6D5E1A1F6E6070153FA26E6D93C8FC626E6E147E1AFE6F5E711301A26F6D5C19036F6D5C
19076F5E71130FA26F6D5C191F6F6D5C193F6F93C9FC715BA26FEC807E19FE706D5A18C1
705C18E3705C18F318F770EBFFE0A2705CA2705CA37091CAFCA2705BA2715AA3715AA271
5AA2715A715A5F537DD166>86 D<EC7FFF0107B512F0013F14FE90B77E48D9E00F7F2703
FE000113F0486C6D7F6EEB3FFC48826E131F83707FA36C496D7FA26C90C7FC6C5AC9FCA6
037FB5FC020FB6FC91B7FC01071487013FEBF0074913803901FFFC004813F0485B485B48
5B4890C7FC5A5BA2485AA45EA26D5C007F151D163D6C6C02797F6C6D01F113F86C9026C0
03E1EBFFE06C9026F81FC014F06C90B5487EC6ED001F011F01FC010713E0010101E090C8
FC3C387CB641>97 D<913801FFF8021FEBFF8091B612F0010315FC010F9038C00FFE903A
1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F138091C7FC486F13
00705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15C07E6E140F6CEE1F
806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0010390B55A0100158002
3F49C7FC020113E033387CB63C>99 D<913803FFC0023F13FC49B6FC010715C04901817F
903A3FFC007FF849486D7E49486D7E4849130F48496D7E48178048497F18C0488191C7FC
4817E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA27F7EA218E06CEE01F06E
14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CECFF00D91FFEEB03FE903A
0FFFC03FF8010390B55A010015C0021F49C7FC020113F034387CB63D>101
D<DA3FFF14FF0103B5D8F00713C0010FDAFC1F13E0013FECFF7F90267FFC0F9038FF9FF0
9026FFE001EBF83F48496C13E0484990387FF01F4890C7D83FF813E0489338FC0FC0F007
8048486E6CC7FCA2003F82A9001F5EA26C6C4A5AA26C5E6C6D495A6C6D495A6C6D485BDA
FC0F5B4890B6C8FCD803EF14FC01C314F02607C03F90C9FC91CBFCA2120FA37FA213F813
FE90B7FC6C16F817FF18C06C836C836C836D828448B9FC12074848C700031480D81FF8EC
003F4848150748486F13C083485A83A56D5D007F18806D5D003F18006C6C4B5AD80FFEED
1FFC6C6C6CEC7FF86C01E049485A6C01FE011F5B6C6CB71280010F03FCC7FC010115E0D9
000F01FCC8FC3C4F7CB543>103 D<137F497E000313E0487FA2487FA76C5BA26C5BC613
806DC7FC90C8FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>105
D<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C537BD225>108 D<D93FF0D91FFCEDFFE0
B591B500C0010713FE030302F0011F6D7E030F6E017F8092271FE07FFCD9FF037F922A3F
001FFE01F8007F0003027C9126FF03E080C602F06DD90780137FDAF1E0038FC77FDAF3C0
159EDAF7806D01BC143F07FC8102FFC75C4A5EA24A5EA44A5EB3ACB6D8F807B6D8C03FB5
12FEA567367BB570>I<D93FF0EB1FFCB591B512C0030314F0030F8092391FE07FFC9239
3F001FFE0003027C80C602F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3AC
B6D8F807B612C0A542367BB54B>I<913801FFE0021F13FE91B612C0010315F0010F9038
807FFC903A1FFC000FFED97FF86D6C7E49486D7F48496D7F48496D7F4A147F48834890C8
6C7EA24883A248486F7EA3007F1880A400FF18C0AC007F1880A3003F18006D5DA26C5FA2
6C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C495BD93FFE011F90C7FC903A0FFF80
7FFC6D90B55A010015C0023F91C8FC020113E03A387CB643>I<903A3FF001FFE0B5010F
13FE033FEBFFC092B612F002F301017F913AF7F8007FFE0003D9FFE0EB1FFFC602806D7F
92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A4721380AC1A0060A36118FFA2615F61
6E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFFFC9126FBFE075B02F8B612E06F14
80031F01FCC8FC030313C092CBFCB1B612F8A5414D7BB54B>I<90397FE003FEB590380F
FF80033F13E04B13F09238FE1FF89139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF
150014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7FCA55CB3AAB612FCA52F367CB537>114
D<143EA6147EA414FEA21301A313031307A2130F131F133F13FF5A000F90B6FCB8FCA426
003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F0015806DEBC03E6DEBF0FC6DEBFFF8
6D6C5B021F5B020313802A4D7ECB34>116 D<D93FF8913801FFC0B50207B5FCA50003ED
001FC61607B3AE5FA35FA2017F5D173B177B6D6C14F3DC01E313F06D6CD907C3EBFFC090
3A0FFFC03F836D90B51203010114FE6D6C13F8020701E091C7FC42377BB54B>I<B600F0
0107B5FCA5C601F8C8EA7FE06EED3F00A26D6C153E187E013F167C6E15FC6D5E6F13016D
5E6F13036D5E8117076D6D5C170F6D6D5C171F6D93C7FC6F5B027F143E6F137E023F147C
6F13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C16FF6E5CA26E91C8FCA36F5AA26F5A
A26F5AA26F5AA26F5AA35E150F5E151F93C9FC5DD81FC0133E486C137E486C137C486C13
FC5D14015D14034A5A6C48485A49485A263FC07FCAFCEB81FE6CB45A6C13F000035BC690
CBFC404D7DB447>121 D E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4

%%EndSetup
%%Page: 1 1
1 0 bop 1104 615 a Fq(Encrypting)45 b(Virtual)g(Memory)1671
856 y Fp(Niels)32 b(Pro)m(v)m(os)944 972 y Fo(Center)i(for)h
(Information)e(T)-7 b(e)i(chnolo)g(gy)33 b(Inte)-5 b(gr)g(ation)1446
1089 y(University)35 b(of)g(Michigan)1461 1205 y Fp(pro)m(v)m
(os@citi.umic)m(h.edu)0 1530 y Fn(Abstract)0 1819 y Fm(In)19
b(mo)r(dern)h(op)r(erating)e(systems,)i(cryptographic)e(\014le)h(sys-)0
1918 y(tems)39 b(can)f(protect)g(con\014den)n(tial)g(data)f(from)i
(unautho-)0 2018 y(rized)33 b(access.)51 b(Ho)n(w)n(ev)n(er,)33
b(once)f(an)h(authorized)f(pro)r(cess)0 2118 y(has)26
b(accessed)g(data)h(from)f(a)h(cryptographic)e(\014le)i(system,)0
2217 y(the)e(data)f(can)g(app)r(ear)f(as)h(plain)n(text)h(in)f(the)h
(unprotected)0 2317 y(virtual)44 b(memory)f(bac)n(king)h(store,)j(ev)n
(en)d(after)g(system)0 2417 y(sh)n(utdo)n(wn.)34 b(The)22
b(solution)f(describ)r(ed)g(in)h(this)f(pap)r(er)g(uses)0
2516 y(sw)n(ap)29 b(encryption)g(for)g(pro)r(cesses)g(in)h(p)r
(ossession)e(of)i(con-)0 2616 y(\014den)n(tial)j(data.)52
b(V)-7 b(olatile)32 b(encryption)g(k)n(eys)g(are)g(c)n(hosen)0
2715 y(randomly)-7 b(,)22 b(and)f(remain)g(v)-5 b(alid)22
b(only)f(for)g(short)g(time)h(p)r(eri-)0 2815 y(o)r(ds.)37
b(In)n(v)-5 b(alid)27 b(encryption)g(k)n(eys)g(are)f(deleted,)i
(e\013ectiv)n(ely)0 2915 y(erasing)22 b(all)i(data)f(that)h(w)n(as)f
(encrypted)h(with)g(them.)36 b(The)0 3014 y(sw)n(ap)c(encryption)g
(system)h(has)f(b)r(een)h(implemen)n(ted)h(for)0 3114
y(the)26 b(UVM)h([7)o(])f(virtual)f(memory)g(system)h(and)f(its)h(p)r
(erfor-)0 3214 y(mance)h(is)h(acceptable.)0 3618 y Fn(1)112
b(In)m(tro)s(duction)0 3907 y Fm(Man)n(y)33 b(computer)g(systems)g
(emplo)n(y)g(cryptographic)e(\014le)0 4006 y(systems,)f
Fl(e.g.)46 b Fm(CFS)31 b([4)o(],)g(TCFS)g([6)o(])f(or)g(encryption)f
(la)n(y-)0 4106 y(ers)40 b([19],)k(to)e(protect)e(con\014den)n(tial)h
(data)g(from)g(prying)0 4206 y(ey)n(es.)h(A)30 b(user)f(without)h(the)g
(prop)r(er)e(cryptographic)g(k)n(ey)0 4305 y(is)h(unable)g(to)h(read)e
(the)i(con)n(ten)n(ts)e(of)h(the)h(cryptographic)0 4405
y(\014le)e(system,)f(nor)g(is)h(he)g(able)f(to)h(glean)f(an)n(y)g
(useful)h(infor-)0 4504 y(mation)j(from)g(it.)48 b(Ho)n(w)n(ev)n(er,)30
b(bac)n(king)g(store)g(of)h(the)h(vir-)0 4604 y(tual)d(memory)g(system)
g(is)g(generally)e(unprotected.)42 b(An)n(y)0 4704 y(data)21
b(read)f(b)n(y)h(a)f(pro)r(cess)g(that)i(w)n(as)e(originally)f
(encrypted)0 4803 y(can)k(b)r(e)g(found)g(as)f(plain)n(text)h(in)g(sw)n
(ap)f(storage)f(if)j(the)f(pro-)0 4903 y(cess)31 b(w)n(as)g(sw)n(app)r
(ed)g(out.)49 b(It)32 b(is)f(p)r(ossible)g(for)g(passw)n(ords)0
5003 y(and)i(pass)f(phrases)f(to)i(reside)f(in)h(sw)n(ap)e(long)h
(after)h(they)0 5102 y(ha)n(v)n(e)26 b(b)r(een)i(t)n(yp)r(ed)g(in,)g
(ev)n(en)f(across)f(reb)r(o)r(ots.)0 5301 y(A)38 b(user)f(exp)r(ects)h
(that)g(all)f(con\014den)n(tial)g(data)h(v)-5 b(anishes)0
5401 y(with)48 b(pro)r(cess)e(termination,)52 b(and)c(is)f(completely)g
(un-)0 5501 y(a)n(w)n(are)27 b(that)j(data)e(can)h(remain)g(on)g(bac)n
(king)f(store.)40 b(And)0 5600 y(ev)n(en)24 b(if)g(she)g(w)n(ere)f(a)n
(w)n(are)f(of)j(it,)g(there)f(is)g(next)g(to)g(nothing)0
5700 y(she)j(can)h(do)f(to)g(prev)n(en)n(t)g(its)h(exp)r(osure.)2010
1530 y(If)33 b(the)f(in)n(tegrit)n(y)f(of)h(the)h(op)r(erating)e
(system)h(is)g(compro-)2010 1630 y(mised)e(and)h(an)f(un)n(trusted)g
(part)n(y)f(gains)h(ro)r(ot)f(privileges)2010 1730 y(or)41
b(ph)n(ysical)g(access)g(to)h(the)g(mac)n(hine)f(itself,)46
b(she)c(also)2010 1829 y(gains)i(access)g(to)g(the)i(p)r(oten)n(tially)
e(sensitiv)n(e)h(data)f(re-)2010 1929 y(tained)28 b(in)g(bac)n(king)e
(store.)2010 2128 y(Our)18 b(solution)h(to)g(this)g(problem)f(is)h(to)g
(encrypt)g(pages)f(that)2010 2228 y(need)24 b(to)f(b)r(e)i(sw)n(app)r
(ed)e(out.)36 b(These)23 b(pages)g(are)f(decrypted)2010
2327 y(when)30 b(they)g(are)f(brough)n(t)g(bac)n(k)g(in)n(to)h(ph)n
(ysical)f(memory)-7 b(,)2010 2427 y Fl(e.g.)37 b Fm(due)23
b(to)g(a)f(page)g(fault.)36 b(After)23 b(a)g(pro)r(cess)e(terminates,)
2010 2527 y(all)30 b(its)h(pages)e(stored)h(on)g(bac)n(king)f(store)g
(are)h(in)n(v)-5 b(alid,)31 b(so)2010 2626 y(there)c(is)g(no)g(need)g
(to)g(b)r(e)h(able)f(to)g(decrypt)g(them;)h(on)f(the)2010
2726 y(con)n(trary)-7 b(,)34 b(nob)r(o)r(dy)h(should)f(b)r(e)h(able)g
(to)f(decrypt)g(them.)2010 2826 y(This)e(suggests)f(the)h(use)g(of)g(v)
n(olatile)f(random)g(k)n(eys)g(that)2010 2925 y(exist)c(only)h(for)f
(short)g(time)h(p)r(erio)r(ds.)2010 3124 y(The)d(remainder)f(of)h(this)
h(pap)r(er)e(is)h(organized)f(as)g(follo)n(ws.)2010 3224
y(Section)35 b(2)g(pro)n(vides)f(further)h(motiv)-5 b(ation)35
b(for)g(encrypt-)2010 3324 y(ing)23 b(the)g(bac)n(king)f(store)g(and)h
(describ)r(es)g(related)f(w)n(ork.)34 b(In)2010 3423
y(Section)e(3)f(w)n(e)g(giv)n(e)g(a)h(brief)f(o)n(v)n(erview)f(of)i
(virtual)f(mem-)2010 3523 y(ory)-7 b(,)35 b(note)f(a)g(securit)n(y)g
(problem)g(of)g(secondary)f(storage,)2010 3623 y(and)25
b(discuss)g(ho)n(w)g(it)h(can)f(b)r(e)h(resolv)n(ed)e(with)i
(encryption.)2010 3722 y(Section)38 b(4)h(explains)f(ho)n(w)f(w)n(e)i
(implemen)n(ted)g(sw)n(ap)e(en-)2010 3822 y(cryption.)55
b(In)34 b(Section)g(5)g(w)n(e)f(analyse)g(ho)n(w)g(the)h(paging)2010
3921 y(times)c(and)f(system)g(throughput)g(are)g(a\013ected.)42
b(Finally)-7 b(,)2010 4021 y(w)n(e)27 b(conclude)h(in)f(Section)h(6.)
2010 4421 y Fn(2)112 b(Related)37 b(W)-9 b(ork)2010 4704
y Fm(Computer)29 b(systems)g(frequen)n(tly)h(pro)r(cess)e(data)h(that)h
(re-)2010 4803 y(quires)38 b(protection)f(from)h(unauthorized)g(users.)
68 b(Often)2010 4903 y(it)42 b(is)f(enough)g(to)h(use)f(access)f(con)n
(trol)g(mec)n(hanisms)h(of)2010 5003 y(the)29 b(op)r(erating)f(system)g
(to)h(determine)g(who)f(ma)n(y)g(access)2010 5102 y(sp)r(eci\014c)38
b(data.)67 b(In)38 b(man)n(y)f(cases)g(a)g(system)h(also)e(needs)2010
5202 y(to)30 b(b)r(e)g(secured)f(against)f(ph)n(ysical)h(attac)n(ks)g
(or)f(protected)2010 5301 y(against)20 b(securit)n(y)h(compromises)f
(that)i(allo)n(w)f(the)h(circum-)2010 5401 y(v)n(en)n(tion)43
b(of)h(access)f(con)n(trols.)84 b(Blaze)43 b(addresses)g(data)2010
5501 y(protection)37 b(with)h(a)f(cryptographic)e(\014le)j(system)f
(called)2010 5600 y(CFS)32 b(b)n(y)f(encrypting)f(all)h(\014le)h
(system)f(data,)g(prev)n(en)n(ting)2010 5700 y(an)n(y)n(one)e(without)h
(the)h(prop)r(er)f(cryptographic)e(k)n(ey)h(from)p eop
%%Page: 2 2
2 1 bop 0 383 a Fm(accessing)32 b(its)i(con)n(ten)n(t)f([4].)55
b(Anderson,)35 b(Needham)e(and)0 483 y(Shamir)26 b(aim)h(at)g(hiding)g
(the)g(existence)g(of)f(data)h(from)f(an)0 582 y(attac)n(k)n(er)34
b(b)n(y)h(using)g(a)g(\\Steganographic)e(File)i(System")0
682 y([1].)42 b(A)29 b(cryptographic)f(k)n(ey)g(and)h(the)h(kno)n
(wledge)e(that)h(a)0 782 y(\014le)19 b(exists)f(are)g(needed)h(to)g
(access)e(a)i(\014le's)g(con)n(ten)n(ts.)33 b(Ho)n(w-)0
881 y(ev)n(er,)25 b(securit)n(y)h(dep)r(ends)h(on)e(the)i(whole)f
(system,)g(and)g(an)0 981 y(in)n(v)n(estigation)37 b(of)h(the)h(in)n
(teraction)e(with)i(other)e(system)0 1080 y(comp)r(onen)n(ts)27
b(is)h(essen)n(tial.)0 1280 y(Neither)i(pap)r(er)f(lo)r(oks)g
(carefully)g(at)h(its)g(op)r(erating)f(en)n(vi-)0 1379
y(ronmen)n(t,)35 b(nor)f(do)g(they)g(tak)n(e)g(in)n(to)g(consideration)
f(that)0 1479 y(con\014den)n(tial)50 b(data)f(migh)n(t)h(inadv)n(erten)
n(tly)f(end)h(up)h(in)0 1579 y(bac)n(king)32 b(store.)51
b(The)33 b(storage)d(of)j(con\014den)n(tial)f(data)g(on)0
1678 y(a)24 b(sw)n(ap)f(device)h(ma)n(y)f(defeat)i(the)f(purp)r(ose)g
(of)g(encryption)0 1778 y(in)29 b(CFS.)h(Sw)n(ap)f(data)f(can)h(also)f
(b)r(e)i(used)f(to)g(reconstruct)0 1877 y(what)37 b(\014les)h(are)e
(presen)n(t)h(in)h(a)f(system,)j(th)n(us)d(defeating)0
1977 y(the)28 b(purp)r(ose)f(of)h(steganograph)n(y)-7
b(.)0 2176 y(Sw)n(ap)42 b(encryption)f(is)i(mean)n(t)f(to)g(protect)g
(con\014den)n(tial)0 2276 y(data)35 b(left)h(on)f(the)h(bac)n(king)e
(store)g(from)h(in)n(truders)f(who)0 2376 y(ha)n(v)n(e)26
b(gained)g(ph)n(ysical)h(access)f(to)h(the)g(storage)e(medium.)0
2475 y(W)-7 b(e)25 b(observ)n(e)e(that)i(the)f(same)g(can)h(b)r(e)f(ac)
n(hiev)n(ed)g(b)n(y)g(delet-)0 2575 y(ing)34 b(all)g(con\014den)n(tial)
g(data)g(once)f(it)i(is)f(no)g(longer)f(refer-)0 2674
y(enced.)i(Ho)n(w)n(ev)n(er,)20 b(Gutmann)i(has)e(sho)n(wn)g(that)i(it)
f(is)g(di\016-)0 2774 y(cult)g(to)f(delete)h(thoroughly)e(information)g
(from)i(magnetic)0 2874 y(media)39 b(or)g(random-access)e(memory)i([16)
o(].)73 b(He)39 b(states:)0 2973 y(\\the)22 b(easiest)g(w)n(a)n(y)f(to)
h(solv)n(e)f(the)i(problem)f(of)g(erasing)f(sen-)0 3073
y(sitiv)n(e)j(information)h(from)f(magnetic)h(media)f(is)h(to)g(ensure)
0 3173 y(that)38 b(it)f(nev)n(er)g(gets)f(to)h(the)h(media)f(in)h(the)f
(\014rst)g(place.)0 3272 y(Although)31 b(not)h(practical)e(for)g
(general)g(data,)i(it)g(is)f(often)0 3372 y(w)n(orth)n(while)21
b(to)h(tak)n(e)g(steps)g(to)g(k)n(eep)g(particularly)f(imp)r(or-)0
3471 y(tan)n(t)28 b(information)g(suc)n(h)f(as)h(encryption)f(k)n(eys)g
(from)h(ev)n(er)0 3571 y(b)r(eing)g(written)g(to)f(disk.")0
3770 y(Sc)n(hneier)39 b(and)g(Kelsey)f(describ)r(e)h(a)g(secure)f(log)g
(system)0 3870 y(that)43 b(k)n(eeps)f(the)h(con)n(ten)n(ts)g(of)g(the)g
(log)f(\014les)h(con\014den-)0 3970 y(tial)31 b(ev)n(en)g(if)h(the)f
(system)g(has)g(b)r(een)h(compromised)e([24)o(].)0 4069
y(While)22 b(sw)n(ap)f(encryption)h(is)f(quite)h(di\013eren)n(t)g(from)
g(secure)0 4169 y(logging,)27 b(the)j(attac)n(k)d(scenario)g(and)i(op)r
(erating)f(en)n(viron-)0 4268 y(men)n(t)g(is)f(similar.)0
4468 y(There)43 b(are)g(other)h(systems)f(that)h(mo)r(dify)h(the)f
(paging)0 4567 y(b)r(eha)n(vior)h(of)i(a)f(virtual)g(memory)g(system.)
93 b(Notably)-7 b(,)0 4667 y(F)g(red)33 b(Douglis')g(compression)e(cac)
n(he)i(compresses)e(mem-)0 4767 y(ory)c(pages)f(to)h(a)n(v)n(oid)g
(costly)g(disk)g(accesses)f([10)o(].)0 5192 y Fn(3)112
b(Virtual)35 b(Memory)j(System)0 5501 y Fm(One)e(purp)r(ose)g(of)h
(virtual)f(memory)g(is)h(to)f(increase)g(the)0 5600 y(size)45
b(of)g(the)h(address)e(space)h(visible)g(to)g(pro)r(cesses)f(b)n(y)0
5700 y(cac)n(hing)36 b(frequen)n(tly-accessed)f(subsets)i(of)h(the)f
(address)2010 383 y(space)c(in)h(ph)n(ysical)f(memory)g([2)o(].)55
b(Data)34 b(that)g(do)r(es)f(not)2010 483 y(\014t)22
b(in)f(ph)n(ysical)g(memory)f(is)i(sa)n(v)n(ed)d(on)i(secondary)f
(storage)2010 582 y(kno)n(wn)31 b(as)g(the)h(bac)n(king)e(store.)48
b(P)n(aged)30 b(out)h(memory)g(is)2010 682 y(restored)f(to)h(ph)n
(ysical)f(memory)h(when)g(a)g(pro)r(cess)f(needs)2010
782 y(to)d(access)g(it)h(again)e([7].)2010 981 y(In)47
b(man)n(y)g(op)r(erating)f(systems,)51 b(the)c(virtual)g(memory)2010
1080 y(pager)22 b(daemon)h(is)g(resp)r(onsible)g(for)g(reading)f(and)h
(writing)2010 1180 y(pages)35 b(to)h(and)h(from)f(their)g(designated)g
(bac)n(king)f(store.)2010 1280 y(When)46 b(a)e(page)g(has)h(b)r(een)g
(written,)50 b(it)45 b(is)g(mark)n(ed)f(as)2010 1379
y(\\clean")31 b(and)g(can)h(b)r(e)g(evicted)g(from)g(ph)n(ysical)f
(memory)-7 b(.)2010 1479 y(The)31 b(next)f(time)h(a)g(pro)r(cess)e
(accesses)g(the)i(virtual)f(mem-)2010 1579 y(ory)24 b(that)i(w)n(as)e
(asso)r(ciated)g(with)i(this)g(page,)f(a)g(page)g(fault)2010
1678 y(o)r(ccurs.)2010 1877 y(If)i(the)g(page)f(is)h(still)g(residen)n
(t)f(in)h(ph)n(ysical)f(memory)-7 b(,)26 b(it)h(is)2010
1977 y(mark)n(ed)22 b(as)g(\\recen)n(tly)g(used,")i(and)f(additionally)
f(\\dirt)n(y")2010 2077 y(if)27 b(the)f(page)f(fault)h(is)g(caused)g(b)
n(y)f(a)h(write)g(access.)35 b(Other-)2010 2176 y(wise,)24
b(b)r(ecause)f(the)g(page)g(is)g(no)g(longer)f(residen)n(t)g(in)i(ph)n
(ys-)2010 2276 y(ical)29 b(memory)-7 b(,)29 b(the)h(pager)d(allo)r
(cates)i(a)f(page)h(of)g(ph)n(ysical)2010 2376 y(memory)e(and)g
(retriev)n(es)f(the)i(data)f(from)h(bac)n(king)e(store.)2010
2681 y Fk(3.1)105 b(Secondary)36 b(Storage)2010 2987
y Fm(Compared)45 b(to)h(RAM)h(sp)r(eeds,)k(secondary)45
b(storage)f(is)2010 3086 y(usually)39 b(made)f(up)i(from)e(slo)n(w)g
(media,)k Fl(e.g.)72 b Fm(ra)n(w)38 b(par-)2010 3186
y(titions)26 b(on)g(disk)g(driv)n(es.)36 b(Unlik)n(e)26
b(primary)f(memory)-7 b(,)26 b(sec-)2010 3286 y(ondary)33
b(storage)g(is)h(non)n(v)n(olatile,)h(and)f(the)h(data)f(stored)2010
3385 y(on)21 b(it)h(is)g(preserv)n(ed)d(after)j(a)f(system)g(sh)n(utdo)
n(wn.)34 b(Dep)r(end-)2010 3485 y(ing)f(on)f(usage)g(patterns,)i(a)e
(sw)n(ap)g(partition)g(can)h(retain)2010 3585 y(data)27
b(for)g(man)n(y)g(mon)n(ths)h(or)e(ev)n(en)h(y)n(ears.)2010
3784 y(Con\014den)n(tial)g(data)f(in)h(a)g(pro)r(cess')f(address)g
(space)g(migh)n(t)2010 3883 y(b)r(e)d(sa)n(v)n(ed)f(on)h(secondary)e
(storage)g(and)i(surviv)n(e)f(there)h(b)r(e-)2010 3983
y(y)n(ond)30 b(the)i(exp)r(ectations)e(of)h(a)f(user.)47
b(She)31 b(assumes)f(that)2010 4083 y(all)25 b(con\014den)n(tial)g
(data)g(is)g(deleted)h(with)g(the)f(termination)2010
4182 y(of)j(the)f(pro)r(cess.)36 b(Ho)n(w)n(ev)n(er,)26
b(the)i(data)f(found)h(b)n(y)f(lo)r(oking)2010 4282 y(at)20
b(the)h(con)n(ten)n(t)f(of)h(sev)n(eral)e(sw)n(ap)g(partitions)h(of)h
(mac)n(hines)2010 4382 y(at)39 b(the)h(Cen)n(ter)g(of)f(Information)g
(T)-7 b(ec)n(hnology)38 b(In)n(tegra-)2010 4481 y(tion)26
b(included:)37 b(login)25 b(passw)n(ords)3110 4451 y
Fj(1)3145 4481 y Fm(,)i(PGP)e(pass)g(phrases,)2010 4581
y(email)i(messages,)f(cryptographic)f(k)n(eys)h(from)h(ssh-agen)n(t,)
2010 4680 y(shell)h(command)f(histories,)f(URLs,)i Fl(etc.)2010
4880 y Fm(T)-7 b(o)37 b(a)n(v)n(oid)f(this,)k(w)n(e)d(dev)n(elop)r(ed)g
(a)f(system)i(that)f(mak)n(es)2010 4979 y(data)23 b(on)g(the)g(bac)n
(king)f(store)g(imp)r(ossible)h(for)g(an)g(attac)n(k)n(er)2010
5079 y(to)28 b(read)g(if)h(it)g(w)n(as)e(written)i(a)f(certain)f(time)i
(prior)e(to)i(the)2010 5179 y(op)r(erating)e(system's)g(compromise.)
2010 5378 y(One)35 b(approac)n(h)f(is)h(to)h(a)n(v)n(oid)e(sw)n(apping)
g(completely)h(b)n(y)2010 5477 y(not)47 b(using)f(secondary)f(storage)g
(at)h(all.)94 b(But)47 b(this)g(is)p 2010 5544 744 4
v 2102 5598 a Fi(1)2137 5621 y Fh(The)19 b(author)h(w)n(as)f(amazed)g
(to)h(\014nd)f(not)h(only)f(his)g(curren)n(t)g(pass-)2010
5700 y(w)n(ord,)i(but)g(also)f(older)g(ones)h(that)h(had)f(not)g(b)r
(een)g(used)g(for)f(mon)n(ths.)p eop
%%Page: 3 3
3 2 bop 0 383 a Fm(not)37 b(a)f(general)f(solution,)j(and)f(there)f
(are)f(man)n(y)h(appli-)0 483 y(cations)26 b(and)g(en)n(vironmen)n(ts)f
(that)i(require)f(a)g(virtual)g(ad-)0 582 y(dress)19
b(space)f(bigger)g(than)i(the)g(ph)n(ysical)e(memory)h(presen)n(t)0
682 y(in)28 b(the)g(system.)0 881 y(An)50 b(application)f(can)g(prev)n
(en)n(t)g(memory)g(from)g(b)r(eing)0 981 y(sw)n(app)r(ed)28
b(out)h(b)n(y)f(using)h(the)g(\\mlo)r(c)n(k\(\)")e(system)i(call)f(to)0
1080 y(lo)r(c)n(k)22 b(the)h(ph)n(ysical)f(pages)f(asso)r(ciated)g
(with)i(a)g(virtual)f(ad-)0 1180 y(dress)40 b(range)g(in)n(to)h(memory)
g([16)o(].)78 b(There)41 b(are)f(sev)n(eral)0 1280 y(disadv)-5
b(an)n(tages)35 b(with)j(this)f(approac)n(h.)63 b(It)37
b(requires)f(ap-)0 1379 y(plications)d(to)h(b)r(e)g(rewritten)f(to)g
(use)h(\\mlo)r(c)n(k\(\)",)g(whic)n(h)0 1479 y(migh)n(t)26
b(not)g(b)r(e)g(p)r(ossible)f(for)g(legacy)g(applications)g(or)g(dif-)0
1579 y(\014cult)32 b(if)g(it)f(requires)f(a)h(complicated)g(analysis)f
(of)h(whic)n(h)0 1678 y(parts)i(of)g(the)h(memory)f(con)n(tain)g
(con\014den)n(tial)g(data.)54 b(In)0 1778 y(addition,)30
b(\\mlo)r(c)n(k\(\)")f(reduces)f(the)i(opp)r(ortunit)n(y)f(of)h(the)0
1877 y(virtual)42 b(memory)f(system)h(to)g(evict)g(stale)g(pages)f
(from)0 1977 y(ph)n(ysical)35 b(memory)-7 b(,)37 b(whic)n(h)f(can)f(ha)
n(v)n(e)g(a)h(sev)n(ere)e(impact)0 2077 y(on)27 b(system)h(p)r
(erformance.)0 2276 y(In)f(general,)f(it)i(is)f(not)g(desirable)f(to)h
(prev)n(en)n(t)g(the)g(system)0 2376 y(from)18 b(sw)n(apping)f(memory)h
(to)g(the)h(disk.)34 b(Instead,)20 b(encryp-)0 2475 y(tion)h(can)g(b)r
(e)g(used)g(to)g(protect)f(con\014den)n(tial)h(data)f(when)i(it)0
2575 y(is)g(written)h(to)f(secondary)f(storage)f(b)n(y)i(the)h(pager.)
34 b(A)23 b(user)0 2674 y(program)28 b(could)i(install)g(its)g(o)n(wn)g
(encrypting)g(pager)e([2].)0 2774 y(This)22 b(w)n(ould)g(lead)h(to)f
(greater)f(complexit)n(y)-7 b(,)23 b(require)e(mo)r(d-)0
2874 y(i\014cation)j(of)g(applications)g(and)g(p)r(oses)g(di\016cult)h
(decisions)0 2973 y(ab)r(out)19 b(whic)n(h)g(cryptosystem)f(to)h(use.)
34 b(If)19 b(a)g(cryptographic)0 3073 y(\014le)34 b(system)g(lik)n(e)g
(CFS)g([4])g(w)n(ere)g(a)n(v)-5 b(ailable,)34 b(the)h(virtual)0
3173 y(memory)26 b(pager)g(could)g(b)r(e)h(con\014gured)f(to)h(sw)n(ap)
f(to)g(a)h(\014le)0 3272 y(that)h(resided)f(on)g(an)h(encrypted)f
(\014le)h(system.)0 3471 y(Ho)n(w)n(ev)n(er,)50 b(in)e(con)n(trast)e
(to)h(common)g(use)g(of)g(encryp-)0 3571 y(tion)26 b([20)o(],)h(w)n(e)e
(require)g(di\013eren)n(t)i(c)n(haracteristics)c(for)j(our)0
3671 y(cryptographic)g(system:)83 3946 y Fg(\017)41 b
Fm(When)20 b(a)f(page)f(on)h(bac)n(king)f(store)h(is)g(no)g(longer)f
(refer-)166 4045 y(enced)25 b(b)n(y)g(its)h(o)n(wner,)e(the)i
(decryption)f(k)n(ey)f(for)h(that)166 4145 y(page)19
b(should)h(b)r(e)h(irretriev)-5 b(ably)19 b(lost)h(after)f(a)h
(suitable)166 4244 y(time)28 b(p)r(erio)r(d)g(\()p Ff(t)676
4256 y Fe(R)730 4244 y Fm(\))g(has)f(passed.)83 4429
y Fg(\017)41 b Fm(Only)28 b(the)h(virtual)e(memory)h(pager)f(should)h
(b)r(e)g(able)166 4528 y(to)g(decrypt)f(data)g(read)g(from)g(the)h(bac)
n(king)e(store.)0 4803 y(Clearly)-7 b(,)23 b(the)h(b)r(est)g
(protection)e(is)h(ac)n(hiev)n(ed)f(with)i Ff(t)1630
4815 y Fe(R)1708 4803 y Fm(=)e(0.)0 4903 y(The)32 b(decryption)g(k)n
(ey)-7 b(,)32 b(and)g(indirectly)g(the)h(page's)e(con-)0
5003 y(ten)n(t,)25 b(is)e(irretriev)-5 b(ably)21 b(remo)n(v)n(ed)h
(immediately)h(when)h(the)0 5102 y(page)33 b(is)g(no)h(longer)e
(referenced.)54 b(This)34 b(b)r(eha)n(vior)e(meets)0
5202 y(the)40 b(user's)f(exp)r(ectation)h(that)g(con\014den)n(tial)f
(data)g(in)h(a)0 5301 y(pro)r(cess')29 b(address)g(space)h(is)g
(deleted)g(with)h(the)g(termina-)0 5401 y(tion)d(of)f(the)h(pro)r
(cess.)0 5600 y(Ho)n(w)n(ev)n(er,)39 b(this)g(is)f(di\016cult)i(to)e
(ac)n(hiev)n(e,)i(and)e(w)n(e)g(ha)n(v)n(e)0 5700 y(to)30
b(trade)f(o\013)h(securit)n(y)g(against)e(p)r(erformance.)43
b(Often,)31 b(a)2010 383 y Ff(t)2040 395 y Fe(R)2124
383 y Ff(>)e Fm(0)i(is)g(still)h(acceptable.)48 b(In)31
b(the)h(initial)g(implemen-)2010 483 y(tation,)d(w)n(e)f(only)g(guaran)
n(tee)e Ff(t)2996 495 y Fe(R)3075 483 y Fg(\024)f Fm(system)i(uptime)q
(,)h(but)2010 582 y(attempt)g(to)g(minimize)g(the)g(a)n(v)n(erage)d
Ff(t)3256 594 y Fe(R)3310 582 y Fm(.)2010 782 y(This)46
b(implies)f(the)h(use)g(of)f(v)n(olatile)g(encryption)g(k)n(eys,)2010
881 y(v)-5 b(alid)22 b(maximally)g(for)g(the)h(duration)e(of)h(the)h
(system's)f(up-)2010 981 y(time.)38 b(Suc)n(h)27 b(k)n(eys)g(are)g
(similar)g(to)g(ephemeral)g(k)n(eys)g(used)2010 1080
y(to)21 b(ac)n(hiev)n(e)f(p)r(erfect)i(forw)n(ard)d(secrecy)h([9].)35
b(A)22 b(v)n(olatile)e(k)n(ey)2010 1180 y(is)f(completely)g(unrelated)g
(to)g(all)g(other)g(k)n(eys.)33 b(Kno)n(wledge)2010 1280
y(of)h(it)h(do)r(es)f(not)g(allo)n(w)g(the)g(decryption)g(of)g(old)h
(data)e(on)2010 1379 y(secondary)g(storage.)56 b(Encryption)34
b(k)n(eys)g(are)g(used)g(only)2010 1479 y(b)n(y)28 b(the)h(virtual)f
(memory)g(pager)f(and)h(can)g(b)r(e)h(generated)2010
1579 y(on)d(demand)g(when)h(they)f(are)g(required,)f(eliminating)i(the)
2010 1678 y(need)h(for)f(complicated)g(k)n(ey)g(managemen)n(t.)2010
1877 y(On)41 b(the)g(other)f(hand,)45 b(sw)n(apping)40
b(to)h(a)f(cryptographic)2010 1977 y(\014le)27 b(system)f(do)r(es)h
(not)g(ful\014ll)g(either)g(of)f(the)i(t)n(w)n(o)d(require-)2010
2077 y(men)n(ts.)56 b(Key)33 b(managemen)n(t)g(is)g(an)h(in)n(tegral)e
(part)i(of)f(an)2010 2176 y(encrypting)20 b(\014le)h(system)g([5)o(].)
35 b(Consequen)n(tly)-7 b(,)21 b(p)r(ermanen)n(t)2010
2276 y(non)n(v)n(olatile)33 b(encryption)h(k)n(eys)g(are)f(presen)n(t,)
j(making)e(it)2010 2376 y(p)r(ossible)28 b(to)h(read)f(the)h(data)f(on)
h(the)g(sw)n(ap)f(storage)e(after)2010 2475 y(the)20
b(system)f(has)g(b)r(een)h(sh)n(ut)f(do)n(wn.)34 b(F)-7
b(urthermore,)20 b(a)f(user)2010 2575 y(with)27 b(access)f(righ)n(ts)f
(to)i(the)g(sw)n(ap)f(\014le)h(on)f(the)h(encrypted)2010
2674 y(\014le)c(system)f(-)g(usually)g(the)g(ro)r(ot)g(user)g(-)g(can)g
(directly)g(read)2010 2774 y(its)28 b(con)n(ten)n(ts.)2010
2973 y(Instead,)39 b(w)n(e)d(emplo)n(y)h(encryption)f(at)h(the)g(pager)
f(lev)n(el.)2010 3073 y(P)n(ages)42 b(that)j(are)f(sw)n(app)r(ed)g(out)
g(are)g(\(optionally\))g(en-)2010 3173 y(crypted,)f(and)d(encrypted)f
(pages)g(that)h(are)f(read)g(from)2010 3272 y(secondary)26
b(storage)f(are)i(decrypted.)1914 4845 y @beginspecial
50 @llx 50 @lly 410 @urx 302 @ury 2494 @rwi @setspecial
%%BeginDocument: lifetime-eps.ps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: lifetime-eps.ps
%%Creator: gnuplot 3.7 patchlevel 0
%%CreationDate: Sun Jun 11 20:26:53 2000
%%DocumentFonts: (atend)
%%BoundingBox: 50 50 410 302
%%Orientation: Portrait
%%EndComments
/gnudict 256 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/userlinewidth gnulinewidth def
/vshift -46 def
/dl {10 mul} def
/hpt_ 31.5 def
/vpt_ 31.5 def
/hpt hpt_ def
/vpt vpt_ def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/UL { gnulinewidth mul /userlinewidth exch def } def
/PL { stroke userlinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 1 0 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/Pnt { stroke [] 0 setdash
   gsave 1 setlinecap M 0 0 V stroke grestore } def
/Dia { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  Pnt } def
/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  Pnt } def
/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  Pnt  } def
/Star { 2 copy Pls Crs } def
/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
  0 vpt2 neg V  hpt2 0 V  0 vpt2 V
  hpt2 neg 0 V  closepath fill } def
/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath fill } def
/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
  hpt neg vpt 1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt -1.62 mul V closepath stroke
  Pnt  } def
/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
  hpt neg vpt 1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt -1.62 mul V closepath fill} def
/DiaF { stroke [] 0 setdash vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath fill } def
/Pent { stroke [] 0 setdash 2 copy gsave
  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
  closepath stroke grestore Pnt } def
/PentF { stroke [] 0 setdash gsave
  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
  closepath fill grestore } def
/Circle { stroke [] 0 setdash 2 copy
  hpt 0 360 arc stroke Pnt } def
/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450  arc } bind def
/C1 { BL [] 0 setdash 2 copy        moveto
       2 copy  vpt 0 90 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C2 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 90 180 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C3 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 0 180 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C4 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 180 270 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C5 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 0 90 arc
       2 copy moveto
       2 copy  vpt 180 270 arc closepath fill
               vpt 0 360 arc } bind def
/C6 { BL [] 0 setdash 2 copy moveto
      2 copy  vpt 90 270 arc closepath fill
              vpt 0 360 arc closepath } bind def
/C7 { BL [] 0 setdash 2 copy moveto
      2 copy  vpt 0 270 arc closepath fill
              vpt 0 360 arc closepath } bind def
/C8 { BL [] 0 setdash 2 copy moveto
      2 copy vpt 270 360 arc closepath fill
              vpt 0 360 arc closepath } bind def
/C9 { BL [] 0 setdash 2 copy moveto
      2 copy  vpt 270 450 arc closepath fill
              vpt 0 360 arc closepath } bind def
/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
       2 copy moveto
       2 copy vpt 90 180 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C11 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 0 180 arc closepath fill
       2 copy moveto
       2 copy  vpt 270 360 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C12 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 180 360 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C13 { BL [] 0 setdash  2 copy moveto
       2 copy  vpt 0 90 arc closepath fill
       2 copy moveto
       2 copy  vpt 180 360 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C14 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 90 360 arc closepath fill
               vpt 0 360 arc } bind def
/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
               vpt 0 360 arc closepath } bind def
/Rec   { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
       neg 0 rlineto closepath } bind def
/Square { dup Rec } bind def
/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
       exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
       2 copy vpt Square fill
       Bsquare } bind def
/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
       Bsquare } bind def
/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
       Bsquare } bind def
/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
       2 copy vpt Square fill Bsquare } bind def
/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
       2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
/DiaE { stroke [] 0 setdash vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke } def
/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke } def
/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke } def
/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
  hpt neg vpt 1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt -1.62 mul V closepath stroke } def
/PentE { stroke [] 0 setdash gsave
  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
  closepath stroke grestore } def
/CircE { stroke [] 0 setdash 
  hpt 0 360 arc stroke } def
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
/DiaW { stroke [] 0 setdash vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V Opaque stroke } def
/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V Opaque stroke } def
/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V Opaque stroke } def
/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
  hpt neg vpt 1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt -1.62 mul V Opaque stroke } def
/PentW { stroke [] 0 setdash gsave
  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
  Opaque stroke grestore } def
/CircW { stroke [] 0 setdash 
  hpt 0 360 arc Opaque stroke } def
/BoxFill { gsave Rec 1 setgray fill grestore } def
end
%%EndProlog
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
newpath
(Helvetica) findfont 140 scalefont setfont
1.000 UL
LTb
714 420 M
63 0 V
-147 0 R
(0) Rshow
714 1056 M
63 0 V
-147 0 R
(200) Rshow
714 1692 M
63 0 V
-147 0 R
(400) Rshow
714 2328 M
63 0 V
-147 0 R
(600) Rshow
714 2964 M
63 0 V
-147 0 R
(800) Rshow
714 3600 M
63 0 V
-147 0 R
(1000) Rshow
714 4236 M
63 0 V
-147 0 R
(1200) Rshow
714 4872 M
63 0 V
-147 0 R
(1400) Rshow
714 420 M
0 63 V
0 4389 R
0 -63 V
714 280 M
(0) Cshow
1551 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(10) Cshow
2387 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(20) Cshow
3224 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(30) Cshow
4060 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(40) Cshow
4897 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(50) Cshow
5733 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(60) Cshow
6570 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(70) Cshow
6570 420 M
-63 0 V
147 0 R
(0) Lshow
6570 1310 M
-63 0 V
147 0 R
(20) Lshow
6570 2201 M
-63 0 V
147 0 R
(40) Lshow
6570 3091 M
-63 0 V
147 0 R
(60) Lshow
6570 3982 M
-63 0 V
147 0 R
(80) Lshow
6570 4872 M
-63 0 V
147 0 R
(100) Lshow
1.000 UL
LTb
714 420 M
5856 0 V
0 4452 V
-5856 0 V
714 420 L
140 2646 M
currentpoint gsave translate 90 rotate 0 0 M
(number of pages) Cshow
grestore
7059 2646 M
currentpoint gsave translate 90 rotate 0 0 M
(cumulative probability in percent) Cshow
grestore
3642 70 M
(time in minutes) Cshow
1.000 UL
LT0
736 3206 M
23 0 V
0 -1864 V
22 0 V
0 3365 V
22 0 V
803 423 L
23 0 V
0 3 V
22 0 V
0 531 V
22 0 V
0 -527 V
22 0 V
0 82 V
23 0 V
0 566 V
22 0 V
0 -604 V
22 0 V
0 175 V
23 0 V
0 -216 V
22 0 V
0 305 V
22 0 V
0 -280 V
23 0 V
0 220 V
22 0 V
0 108 V
22 0 V
0 -191 V
23 0 V
0 6 V
22 0 V
0 -165 V
22 0 V
0 38 V
22 0 V
0 3 V
23 0 V
0 172 V
22 0 V
0 375 V
22 0 V
0 -601 V
23 0 V
0 261 V
22 0 V
0 -146 V
22 0 V
0 -108 V
23 0 V
0 919 V
22 0 V
0 -875 V
22 0 V
0 -48 V
23 0 V
0 1187 V
22 0 V
0 -1145 V
22 0 V
0 -3 V
67 0 V
0 -16 V
22 0 V
0 31 V
23 0 V
0 -50 V
44 0 V
0 54 V
45 0 V
0 -39 V
45 0 V
0 -9 V
22 0 V
0 -13 V
22 0 V
0 32 V
67 0 V
0 -32 V
22 0 V
0 19 V
23 0 V
0 19 V
44 0 V
0 48 V
67 0 V
0 -83 V
23 0 V
0 147 V
44 0 V
0 -121 V
23 0 V
0 -22 V
66 0 V
0 -7 V
290 0 V
0 22 V
290 0 V
67 0 V
0 -19 V
67 0 V
0 668 V
23 0 V
0 757 V
67 0 V
0 -1358 V
44 0 V
0 -60 V
22 0 V
0 9 V
45 0 V
0 -16 V
45 0 V
0 -3 V
22 0 V
22 0 V
0 3 V
290 0 V
0 16 V
23 0 V
0 -16 V
67 0 V
0 7 V
22 0 V
0 -3 V
44 0 V
0 -4 V
23 0 V
134 0 V
0 -3 V
223 0 V
0 328 V
111 0 V
0 -13 V
23 0 V
0 -305 V
133 0 V
0 86 V
90 0 V
0 -74 V
67 0 V
0 115 V
67 0 V
0 25 V
66 0 V
0 -162 V
45 0 V
0 178 V
45 0 V
0 -165 V
22 0 V
0 -10 V
22 0 V
0 74 V
90 0 V
0 -67 V
22 0 V
0 149 V
67 0 V
0 -149 V
44 0 V
0 -3 V
23 0 V
0 9 V
44 0 V
0 -6 V
67 0 V
0 -7 V
67 0 V
0 -3 V
45 0 V
0 38 V
111 0 V
0 -19 V
469 0 V
0 38 V
357 0 V
0 -47 V
134 0 V
0 270 V
22 0 V
0 -16 V
45 0 V
0 -248 V
89 0 V
0 -13 V
22 0 V
0 10 V
67 0 V
0 -6 V
1.000 UL
LT1
736 1044 M
23 207 V
22 960 V
22 1 V
23 1 V
22 121 V
22 2 V
22 20 V
23 148 V
22 12 V
22 51 V
23 3 V
22 71 V
22 9 V
23 58 V
22 82 V
22 39 V
23 40 V
22 4 V
22 12 V
22 13 V
23 51 V
22 136 V
22 0 V
23 59 V
22 27 V
22 2 V
23 208 V
22 12 V
22 1 V
23 268 V
22 10 V
22 10 V
67 7 V
22 13 V
23 2 V
44 15 V
45 5 V
45 4 V
22 1 V
22 7 V
67 1 V
22 5 V
23 9 V
44 20 V
67 2 V
23 34 V
44 7 V
23 2 V
66 1 V
290 6 V
290 5 V
67 2 V
67 151 V
23 320 V
67 17 V
44 3 V
22 5 V
45 1 V
45 1 V
22 0 V
22 2 V
290 5 V
23 1 V
67 3 V
22 2 V
44 2 V
23 1 V
134 1 V
223 74 V
111 71 V
23 3 V
133 22 V
90 6 V
67 31 V
67 37 V
66 1 V
45 40 V
45 4 V
22 1 V
22 18 V
90 3 V
22 36 V
67 3 V
44 2 V
23 5 V
44 3 V
67 1 V
67 1 V
45 9 V
111 5 V
469 14 V
357 2 V
134 64 V
22 60 V
45 4 V
89 1 V
22 4 V
67 2 V
1.000 UL
LT2
736 4427 M
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
58 0 V
57 0 V
stroke
grestore
end
showpage
%%Trailer
%%DocumentFonts: Helvetica

%%EndDocument
 @endspecial 2010 5019 a Fl(Figur)l(e)44 b(1:)68 b Fd(Histo)l(gr)l(am)
42 b(of)f(p)l(age)h(r)l(esidency)g(in)f(se)l(c)l(ondary)2010
5110 y(stor)l(age)34 b(for)f(a)f(desktop)i(session)g(and)e(c)l(orr)l
(esp)l(onding)j(cumu-)2010 5202 y(lative)28 b(pr)l(ob)l(ability.)2010
5401 y Fm(W)-7 b(e)27 b(compared)f(page)g(encryption)g(to)h(zeroing)e
(a)h(page)g(on)2010 5501 y(the)31 b(bac)n(king)f(store)f(after)i(it)g
(is)f(dereferenced.)46 b(T)-7 b(o)30 b(get)g(a)2010 5600
y(b)r(etter)k(understanding)e(of)h(the)h(o)n(v)n(erheard)d(incurred)h
(b)n(y)2010 5700 y(suc)n(h)c(a)h(measure,)f(w)n(e)g(recorded)g(ho)n(w)g
(long)g(pages)g(reside)p eop
%%Page: 4 4
4 3 bop 0 383 a Fm(on)36 b(bac)n(king)e(store.)61 b(Figure)36
b(1)f(sho)n(ws)g(the)h(result)g(for)f(a)0 483 y(desktop)27
b(session.)0 682 y(Most)33 b(pages)e(remain)i(in)g(the)g(bac)n(king)f
(store)g(for)g(only)g(a)0 782 y(few)j(min)n(utes.)60
b(The)35 b(strong)f(temp)r(oral)g(correlation)f(b)r(e-)0
881 y(t)n(w)n(een)e(sw)n(apping)f(and)h(zeroing)f(can)g(result)h(in)h
(unneces-)0 981 y(sary)e(cleaning)g(of)h(pages)f(that)h(will)g(b)r(e)h
(o)n(v)n(erwritten)d(im-)0 1080 y(mediately)-7 b(,)34
b(and)e(will)g(impact)h(on)f(system)g(p)r(erformance)0
1180 y(due)38 b(to)f(exp)r(ensiv)n(e)g(write)h(op)r(erations.)65
b(Zeroing)36 b(pages)0 1280 y(also)j(fails)h(to)g(protect)g(against)f
(ph)n(ysical)h(attac)n(ks)f(that)0 1379 y(prev)n(en)n(t)18
b(writes)h(to)g(secondary)e(storage,)i Fl(e.g.)35 b Fm(an)19
b(attac)n(k)n(er)0 1479 y(stealing)k(disks)f(or)h(turning)g(o\013)g
(the)h(system's)e(p)r(o)n(w)n(er)g(sup-)0 1579 y(ply)-7
b(.)0 1778 y(In)41 b(summary)-7 b(,)43 b(encryption)d(has)g(the)g
(follo)n(wing)g(adv)-5 b(an-)0 1877 y(tages)32 b(o)n(v)n(er)f(ph)n
(ysically)h(zeroing)f(pages)h(on)g(the)h(bac)n(king)0
1977 y(store.)83 2231 y Fg(\017)41 b Fm(Deleting)25 b(data)e(b)n(y)h
(erasing)f(it)h(on)g(disk)g(incurs)g(extra)166 2331 y(seek)33
b(time)h(and)f(additional)g(I/O)g(for)g(writing.)54 b(On)166
2430 y(the)27 b(other)g(hand,)g(with)h(encryption)e(the)h(con)n(ten)n
(t)g(of)166 2530 y(a)33 b(page)f(disapp)r(ears)g(when)h(its)h(resp)r
(ectiv)n(e)e(encryp-)166 2630 y(tion)d(k)n(ey)g(is)g(deleted.)41
b(F)-7 b(urthermore,)29 b(encrypting)f(a)166 2729 y(page)23
b(is)h(fast)h(compared)e(to)h(writing)f(it,)j(and)e(the)g(en-)166
2829 y(cryption)36 b(cost)g(is)g(spread)f(ev)n(enly)h(o)n(v)n(er)f(the)
h(whole)166 2929 y(sw)n(apping)27 b(pro)r(cess.)83 3089
y Fg(\017)41 b Fm(Encryption)34 b(pro)n(vides)g(b)r(etter)i(protection)
e(against)166 3188 y(ph)n(ysical)h(attac)n(ks.)61 b(Mere)35
b(p)r(ossession)g(of)h(the)g(disk)166 3288 y(driv)n(e)30
b(is)h(not)g(su\016cien)n(t)g(to)g(read)f(its)h(con)n(ten)n(t.)47
b(The)166 3388 y(correct)38 b(encryption)g(k)n(ey)g(is)h(required,)i
(but)f(man)n(y)166 3487 y(ph)n(ysical)g(attac)n(ks)f(disrupt)i(the)g
(op)r(eration)e(of)i(the)166 3587 y(mac)n(hine;)54 b(the)47
b(con)n(ten)n(t)e(of)g(ph)n(ysical)g(memory)g(is)166
3687 y(lost,)h(and)c(th)n(us)g(also)f(the)i(encryption)f(k)n(ey)-7
b(.)80 b(Ad-)166 3786 y(ditionally)-7 b(,)34 b(encryption)f(prev)n(en)n
(ts)f(\\compromising)166 3886 y(emanations")37 b(caused)h(b)n(y)g(data)
g(transfers)f(to)i(sec-)166 3985 y(ondary)31 b(storage,)h
Fl(i.e.)53 b Fm(electromagnetic)31 b(radiation)166 4085
y(that)39 b(carries)f(sensitiv)n(e)g(information)g(and)h(can)g(b)r(e)
166 4185 y(receiv)n(ed)27 b(remotely)f([11)o(].)83 4345
y Fg(\017)41 b Fm(Reliably)30 b(deleting)f(data)h(from)f(magnetic)h
(media)f(is)166 4445 y(di\016cult,)36 b(a)d(problem)g(that)g(do)r(es)g
(not)h(apply)f(when)166 4544 y(using)27 b(encryption)g([16)o(].)0
4798 y(In)c(the)h(next)f(section,)h(w)n(e)f(describ)r(e)g(our)f
(implemen)n(tation)0 4898 y(of)28 b(sw)n(ap)e(encryption.)0
5307 y Fn(4)112 b(Sw)m(ap)38 b(Encryption)0 5600 y Fm(Sw)n(ap)21
b(encryption)g(divides)h(naturally)f(in)n(to)h(t)n(w)n(o)f(separate)0
5700 y(functions:)48 b(encryption)32 b(and)g(decryption.)52
b(The)33 b(former)2010 383 y(requires)39 b(a)h(p)r(olicy)g(decision)g
(ab)r(out)g(when)h(to)f(encrypt)2010 483 y(pages.)33
b(The)19 b(latter)f(requires)f(kno)n(wing)h(whic)n(h)g(pages)g(read)
2010 582 y(from)36 b(sw)n(ap)f(need)h(to)g(b)r(e)g(decrypted.)63
b(The)36 b(encryption)2010 682 y(p)r(olicy)i(can)g(b)r(e)g(v)n(ery)f
(simple,)k Fl(e.g.)69 b Fm(all)38 b(pages)f(that)h(go)2010
782 y(to)g(sw)n(ap)g(will)g(b)r(e)h(encrypted.)69 b(A)38
b(more)g(sophisticated)2010 881 y(p)r(olicy)e(migh)n(t)g(encrypt)h
(only)e(pages)h(of)g(pro)r(cesses)f(that)2010 981 y(ha)n(v)n(e)40
b(read)h(data)f(from)h(a)g(cryptographic)f(\014le)h(system.)2010
1080 y(The)34 b(en)n(umeration)g(of)g(suc)n(h)g(p)r(olicies)g(is)h(the)
g(sub)5 b(ject)34 b(of)2010 1180 y(future)28 b(w)n(ork.)2010
1379 y(In)38 b(all)f(cases,)i(though,)h(the)f(decryption)e(is)g
(completely)2010 1479 y(indep)r(enden)n(t)28 b(from)f(the)h(decision)f
(to)g(encrypt.)37 b(F)-7 b(or)27 b(that)2010 1579 y(reason,)34
b(w)n(e)g(k)n(eep)g(a)g(bitmap)h(in)g(the)f(sw)n(ap)g(device)g(that)
2010 1678 y(indicates)f(for)g(eac)n(h)g(page)f(whether)i(it)g(needs)f
(to)g(b)r(e)h(de-)2010 1778 y(crypted)c(after)g(it)h(has)f(b)r(een)h
(read.)45 b(Th)n(us,)31 b(it)g(is)f(p)r(ossible)2010
1877 y(to)d(c)n(hange)e(the)i(encryption)f(p)r(olicy)h(during)f(the)h
(run)n(time)2010 1977 y(of)39 b(the)h(system)f(without)g(a\013ecting)g
(the)h(decryption)e(of)2010 2077 y(pages)i(that)h(ha)n(v)n(e)f(b)r(een)
i(encrypted)f(while)g(a)g(di\013eren)n(t)2010 2176 y(p)r(olicy)27
b(w)n(as)g(in)h(e\013ect.)2010 2376 y(T)-7 b(o)37 b(ac)n(hiev)n(e)f(lo)
n(w)n(er)g(upp)r(er)i(b)r(ounds)f(on)g(the)h(windo)n(w)f(of)2010
2475 y(vulnerabilit)n(y)29 b(\()p Ff(t)2561 2487 y Fe(R)2615
2475 y Fm(\),)i(w)n(e)e(divide)g(the)h(bac)n(king)e(store)g(in)n(to)
2010 2575 y(sections)38 b(of)h(512)f(KByte)2838 2545
y Fj(2)2875 2575 y Fm(,)k(and)d(giv)n(e)f(eac)n(h)g(section)h(its)2010
2674 y(o)n(wn)23 b(k)n(ey)-7 b(.)35 b(A)25 b(k)n(ey)e(consists)g(of)h
(a)g(128-bit)e(encryption)i(k)n(ey)-7 b(,)2010 2774 y(a)33
b(reference)g(coun)n(ter)g(and)h(an)f(expiration)g(time.)55
b(F)-7 b(or)33 b(a)2010 2874 y(bac)n(king)26 b(store)g(of)i(256)e
(MByte,)h(k)n(eys)f(o)r(ccup)n(y)h(14)g(KByte)2010 2973
y(of)h(memory)-7 b(.)2010 3173 y(A)22 b(section's)e(128-bit)g
(cryptographic)f(k)n(ey)i(is)g(created)f(ran-)2010 3272
y(domly)32 b(the)g(\014rst)g(time)g(it)h(is)f(needed,)h(and)f(its)g
(reference)2010 3372 y(coun)n(ter)k(is)h(set)g(to)g(0.)65
b(Eac)n(h)36 b(time)h(a)g(new)g(page)f(is)h(en-)2010
3471 y(crypted)27 b(with)h(it,)h(the)f(coun)n(ter)e(is)i(incremen)n
(ted.)2010 3671 y(When)h(a)g(page)e(is)i(freed)f(on)h(the)g(bac)n(king)
e(store,)h(the)i(ref-)2010 3770 y(erence)23 b(coun)n(ter)g(of)h(the)g
(resp)r(ectiv)n(e)f(k)n(ey)h(is)f(decremen)n(ted.)2010
3870 y(A)42 b(k)n(ey)f(is)g(immediately)h(deleted)f(when)h(the)g
(reference)2010 3970 y(coun)n(ter)36 b(reac)n(hes)g(0.)64
b(Th)n(us,)39 b(all)e(data)g(encrypted)g(with)2010 4069
y(that)g(k)n(ey)f(can)h(no)f(longer)g(b)r(e)h(decrypted)g(and)f(is)h
(e\013ec-)2010 4169 y(tiv)n(ely)27 b(erased.)2010 4368
y(A)n(t)j(the)h(momen)n(t)f(the)h(\014rst)e(page)h(in)g(a)g(section)f
(b)r(ecomes)2010 4468 y(unreferenced,)21 b(its)f(encryption)g(k)n(ey)f
(is)h(set)g(to)g(expire)f(after)2010 4567 y(a)37 b(time)h(p)r(erio)r(d)
g Ff(t)2587 4579 y Fe(R)2641 4567 y Fm(.)67 b(After)38
b Ff(t)2988 4579 y Fe(R)3080 4567 y Fm(has)f(b)r(een)h(reac)n(hed,)h
(all)2010 4667 y(pages)23 b(that)h(reference)g(it)g(ha)n(v)n(e)f(to)h
(b)r(e)h(re-encrypted)e(with)2010 4767 y(a)35 b(new)g(k)n(ey)-7
b(.)59 b(The)35 b(n)n(um)n(b)r(er)g(of)g(pages)f(that)h(need)h(to)f(b)r
(e)2010 4866 y(pro)r(cessed)j(is)h(b)r(ounded)h(b)n(y)e(the)i(section)f
(size,)i(so)e(that)2010 4966 y(the)28 b(additional)f(encryption)g(o)n
(v)n(erhead)f(is)h(con\014gurable.)2010 5165 y(The)37
b(framew)n(ork)e(for)i(expiration)f(exists,)j(but)f(w)n(e)e(ha)n(v)n(e)
2010 5265 y(y)n(et)25 b(to)g(implemen)n(t)h(re-encryption.)35
b(Ho)n(w)n(ev)n(er,)24 b(once)h(this)2010 5364 y(has)i(b)r(een)i(done,)
f(w)n(e)g(can)f(mak)n(e)g(stricter)h(guaran)n(tees)e(for)2010
5464 y(the)f(time)g(that)g(pages)f(remain)g(readable)g(on)g(the)h(bac)n
(king)p 2010 5544 744 4 v 2102 5598 a Fi(2)2137 5621
y Fh(The)36 b(section)h(size)f(is)f(con\014gurable,)40
b(and)c(dep)r(ends)h(on)g(ho)n(w)2010 5700 y(m)n(uc)n(h)23
b(memory)f(is)h(a)n(v)l(ailable)h(for)f(cryptographic)i(k)n(eys.)p
eop
%%Page: 5 5
5 4 bop 0 383 a Fm(store.)0 582 y(Figure)46 b(2)g(describ)r(es)g(the)h
(paging)f(pro)r(cess)f(in)i(sev)n(eral)0 682 y(steps,)33
b(and)f(sho)n(ws)f(where)h(encryption)g(and)g(decryption)0
782 y(tak)n(e)27 b(place:)60 1062 y(1.)41 b(A)28 b(user)f(pro)r(cess)f
(references)h(memory)-7 b(.)60 1259 y(2.)41 b(If)31 b(the)g(referenced)
f(address)g(has)g(a)g(v)-5 b(alid)31 b(mapping,)166 1358
y(the)e(data)e(is)h(accessed)f(from)h(the)g(mapp)r(ed)h(ph)n(ysical)166
1458 y(page.)60 1654 y(3.)41 b(If)c(the)g(referenced)e(address)g(has)h
(an)g(in)n(v)-5 b(alid)37 b(map-)166 1754 y(ping,)28
b(a)f(page)g(fault)h(o)r(ccurs.)60 1950 y(4.)41 b(The)34
b(pager)f(reads)h(the)g(corresp)r(onding)f(page)g(from)166
2050 y(secondary)26 b(storage.)60 2246 y(5.)41 b(The)23
b(page)e(is)h(decrypted)h(if)g(its)f(en)n(try)g(in)h(the)g(bitmap)166
2346 y(indicates)k(that)h(it)g(is)g(encrypted.)60 2542
y(6.)41 b(Finally)-7 b(,)24 b(the)g(page)e(is)h(mapp)r(ed)g(in)n(to)g
(ph)n(ysical)f(mem-)166 2642 y(ory)-7 b(,)27 b(and)g(the)h(page)f
(fault)h(is)f(resolv)n(ed.)60 2838 y(7.)41 b(Con)n(v)n(ersely)-7
b(,)23 b(if)h(the)g(page)f(daemon)h(decides)f(to)h(evict)166
2937 y(a)j(page)g(from)g(ph)n(ysical)g(memory)-7 b(,)60
3134 y(8.)41 b(the)19 b(pager)e(encrypts)h(the)g(page)g(with)h(the)g
(encryption)166 3233 y(k)n(ey)27 b(of)g(the)h(section)g(that)g(the)g
(page)e(b)r(elongs)h(to.)201 3430 y(\(a\))42 b(If)f(the)h(section)f(do)
r(es)g(not)h(ha)n(v)n(e)e(an)h(encryp-)349 3529 y(tion)32
b(k)n(ey)-7 b(,)34 b Fl(e.g.)53 b Fm(it)33 b(is)f(the)h(\014rst)f
(encryption,)h(a)349 3629 y(v)n(olatile)e(encryption)g(k)n(ey)h(is)g
(initialized)g(from)349 3729 y(the)c(k)n(ernel's)e(en)n(trop)n(y)h(p)r
(o)r(ol.)60 3925 y(9.)41 b(Afterw)n(ards,)g(the)f(page)e(is)h(written)h
(to)f(secondary)166 4024 y(storage.)0 4305 y(There)k(is)h(one)f(cen)n
(tral)g(di\013erence)h(b)r(et)n(w)n(een)f(page)g(en-)0
4405 y(cryption)35 b(and)h(decryption.)61 b(P)n(ages)34
b(can)h(b)r(e)h(decrypted)0 4504 y(in)c(place)f(b)r(ecause)g
(immediately)h(after)f(they)h(ha)n(v)n(e)f(b)r(een)0
4604 y(read)k(in)n(to)g(memory)-7 b(,)38 b(no)d(pro)r(cess)g(is)g(allo)
n(w)n(ed)g(to)g(access)0 4704 y(these)25 b(pages)e(un)n(til)j(they)f
(ha)n(v)n(e)e(b)r(een)i(decrypted.)36 b(On)25 b(the)0
4803 y(other)20 b(hand,)i(ev)n(en)f(after)f(a)g(page)g(has)g(b)r(een)i
(sw)n(app)r(ed)e(out,)0 4903 y(a)26 b(pro)r(cess)e(ma)n(y)i(access)e
(it)j(at)f(an)n(y)f(time.)37 b(This)26 b(precludes)0
5003 y(in-place)39 b(encryption.)70 b(Instead,)42 b(w)n(e)d(ha)n(v)n(e)
f(to)h(allo)r(cate)0 5102 y(pages)c(in)n(to)g(whic)n(h)h(to)f(store)g
(temp)r(orarily)g(the)h(encryp-)0 5202 y(tion)j(result,)j(placing)c
(additional)g(pressure)g(on)g(the)i(al-)0 5301 y(ready)27
b(memory)f(limited)j(VM)f(system.)0 5501 y(The)i(v)n(olatile)f(k)n(eys)
h(are)f(stored)g(in)h(an)g(unmanaged)g(part)0 5600 y(of)j(the)h(k)n
(ernel)f(memory)-7 b(.)54 b(As)33 b(a)g(result,)i(they)f(are)e(nev)n
(er)0 5700 y(paged)27 b(out.)2009 2029 y @beginspecial
0 @llx 0 @lly 459 @urx 420 @ury 2267 @rwi @setspecial
%%BeginDocument: arch.ps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: arch.fig
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Sun Jan 30 19:05:34 2000
%%For: root@warzenschwein (Charlie &)
%%Orientation: Portrait
%%BoundingBox: 0 0 459 420
%%Pages: 0
%%BeginSetup
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/MyAppDict 100 dict dup begin def
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.557 0.557 0.557 srgb} bind def
/col33 {0.255 0.271 0.255 srgb} bind def
/col34 {0.557 0.557 0.557 srgb} bind def
/col35 {0.557 0.557 0.557 srgb} bind def
/col36 {0.557 0.557 0.557 srgb} bind def
/col37 {0.255 0.271 0.255 srgb} bind def
/col38 {0.557 0.557 0.557 srgb} bind def
/col39 {0.255 0.271 0.255 srgb} bind def
/col40 {0.557 0.557 0.557 srgb} bind def
/col41 {0.255 0.271 0.255 srgb} bind def

end
save
-117.0 509.0 translate
1 -1 scale
.9 .9 scale % to make patterns same scale as in xfig

% This junk string is used by the show operators
/PATsstr 1 string def
/PATawidthshow { 	% cx cy cchar rx ry string
  % Loop over each character in the string
  {  % cx cy cchar rx ry char
    % Show the character
    dup				% cx cy cchar rx ry char char
    PATsstr dup 0 4 -1 roll put	% cx cy cchar rx ry char (char)
    false charpath		% cx cy cchar rx ry char
    /clip load PATdraw
    % Move past the character (charpath modified the
    % current point)
    currentpoint			% cx cy cchar rx ry char x y
    newpath
    moveto			% cx cy cchar rx ry char
    % Reposition by cx,cy if the character in the string is cchar
    3 index eq {			% cx cy cchar rx ry
      4 index 4 index rmoveto
    } if
    % Reposition all characters by rx ry
    2 copy rmoveto		% cx cy cchar rx ry
  } forall
  pop pop pop pop pop		% -
  currentpoint
  newpath
  moveto
} bind def
/PATcg {
  7 dict dup begin
    /lw currentlinewidth def
    /lc currentlinecap def
    /lj currentlinejoin def
    /ml currentmiterlimit def
    /ds [ currentdash ] def
    /cc [ currentrgbcolor ] def
    /cm matrix currentmatrix def
  end
} bind def
% PATdraw - calculates the boundaries of the object and
% fills it with the current pattern
/PATdraw {			% proc
  save exch
    PATpcalc			% proc nw nh px py
    5 -1 roll exec		% nw nh px py
    newpath
    PATfill			% -
  restore
} bind def
% PATfill - performs the tiling for the shape
/PATfill { % nw nh px py PATfill -
  PATDict /CurrentPattern get dup begin
    setfont
    % Set the coordinate system to Pattern Space
    PatternGState PATsg
    % Set the color for uncolored pattezns
    PaintType 2 eq { PATDict /PColor get PATsc } if
    % Create the string for showing
    3 index string		% nw nh px py str
    % Loop for each of the pattern sources
    0 1 Multi 1 sub {		% nw nh px py str source
	% Move to the starting location
	3 index 3 index		% nw nh px py str source px py
	moveto			% nw nh px py str source
	% For multiple sources, set the appropriate color
	Multi 1 ne { dup PC exch get PATsc } if
	% Set the appropriate string for the source
	0 1 7 index 1 sub { 2 index exch 2 index put } for pop
	% Loop over the number of vertical cells
	3 index 		% nw nh px py str nh
	{			% nw nh px py str
	  currentpoint		% nw nh px py str cx cy
	  2 index show		% nw nh px py str cx cy
	  YStep add moveto	% nw nh px py str
	} repeat		% nw nh px py str
    } for
    5 { pop } repeat
  end
} bind def

% PATkshow - kshow with the current pattezn
/PATkshow {			% proc string
  exch bind			% string proc
  1 index 0 get			% string proc char
  % Loop over all but the last character in the string
  0 1 4 index length 2 sub {
				% string proc char idx
    % Find the n+1th character in the string
    3 index exch 1 add get	% string proe char char+1
    exch 2 copy			% strinq proc char+1 char char+1 char
    % Now show the nth character
    PATsstr dup 0 4 -1 roll put	% string proc chr+1 chr chr+1 (chr)
    false charpath		% string proc char+1 char char+1
    /clip load PATdraw
    % Move past the character (charpath modified the current point)
    currentpoint newpath moveto
    % Execute the user proc (should consume char and char+1)
    mark 3 1 roll		% string proc char+1 mark char char+1
    4 index exec		% string proc char+1 mark...
    cleartomark			% string proc char+1
  } for
  % Now display the last character
  PATsstr dup 0 4 -1 roll put	% string proc (char+1)
  false charpath		% string proc
  /clip load PATdraw
  neewath
  pop pop			% -
} bind def
% PATmp - the makepattern equivalent
/PATmp {			% patdict patmtx PATmp patinstance
  exch dup length 7 add		% We will add 6 new entries plus 1 FID
  dict copy			% Create a new dictionary
  begin
    % Matrix to install when painting the pattern
    TilingType PATtcalc
    /PatternGState PATcg def
    PatternGState /cm 3 -1 roll put
    % Check for multi pattern sources (Level 1 fast color patterns)
    currentdict /Multi known not { /Multi 1 def } if
    % Font dictionary definitions
    /FontType 3 def
    % Create a dummy encoding vector
    /Encoding 256 array def
    3 string 0 1 255 {
      Encoding exch dup 3 index cvs cvn put } for pop
    /FontMatrix matrix def
    /FontBBox BBox def
    /BuildChar {
	mark 3 1 roll		% mark dict char
	exch begin
	Multi 1 ne {PaintData exch get}{pop} ifelse  % mark [paintdata]
	  PaintType 2 eq Multi 1 ne or
	  { XStep 0 FontBBox aload pop setcachedevice }
	  { XStep 0 setcharwidth } ifelse
	  currentdict		% mark [paintdata] dict
	  /PaintProc load	% mark [paintdata] dict paintproc
	end
	gsave
	  false PATredef exec true PATredef
	grestore
	cleartomark		% -
    } bind def
    currentdict
  end				% newdict
  /foo exch			% /foo newlict
  definefont			% newfont
} bind def
% PATpcalc - calculates the starting point and width/height
% of the tile fill for the shape
/PATpcalc {	% - PATpcalc nw nh px py
  PATDict /CurrentPattern get begin
    gsave
	% Set up the coordinate system to Pattern Space
	% and lock down pattern
	PatternGState /cm get setmatrix
	BBox aload pop pop pop translate
	% Determine the bounding box of the shape
	pathbbox			% llx lly urx ury
    grestore
    % Determine (nw, nh) the # of cells to paint width and height
    PatHeight div ceiling		% llx lly urx qh
    4 1 roll				% qh llx lly urx
    PatWidth div ceiling		% qh llx lly qw
    4 1 roll				% qw qh llx lly
    PatHeight div floor			% qw qh llx ph
    4 1 roll				% ph qw qh llx
    PatWidth div floor			% ph qw qh pw
    4 1 roll				% pw ph qw qh
    2 index sub cvi abs			% pw ph qs qh-ph
    exch 3 index sub cvi abs exch	% pw ph nw=qw-pw nh=qh-ph
    % Determine the starting point of the pattern fill
    %(px, py)
    4 2 roll				% nw nh pw ph
    PatHeight mul			% nw nh pw py
    exch				% nw nh py pw
    PatWidth mul exch			% nw nh px py
  end
} bind def

% Save the original routines so that we can use them later on
/oldfill	/fill load def
/oldeofill	/eofill load def
/oldstroke	/stroke load def
/oldshow	/show load def
/oldashow	/ashow load def
/oldwidthshow	/widthshow load def
/oldawidthshow	/awidthshow load def
/oldkshow	/kshow load def

% These defs are necessary so that subsequent procs don't bind in
% the originals
/fill	   { oldfill } bind def
/eofill	   { oldeofill } bind def
/stroke	   { oldstroke } bind def
/show	   { oldshow } bind def
/ashow	   { oldashow } bind def
/widthshow { oldwidthshow } bind def
/awidthshow { oldawidthshow } bind def
/kshow 	   { oldkshow } bind def
/PATredef {
  MyAppDict begin
    {
    /fill { /clip load PATdraw newpath } bind def
    /eofill { /eoclip load PATdraw newpath } bind def
    /stroke { PATstroke } bind def
    /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
    /ashow { 0 0 null 6 3 roll PATawidthshow }
    bind def
    /widthshow { 0 0 3 -1 roll PATawidthshow }
    bind def
    /awidthshow { PATawidthshow } bind def
    /kshow { PATkshow } bind def
  } {
    /fill   { oldfill } bind def
    /eofill { oldeofill } bind def
    /stroke { oldstroke } bind def
    /show   { oldshow } bind def
    /ashow  { oldashow } bind def
    /widthshow { oldwidthshow } bind def
    /awidthshow { oldawidthshow } bind def
    /kshow  { oldkshow } bind def
    } ifelse
  end
} bind def
false PATredef
% Conditionally define setcmykcolor if not available
/setcmykcolor where { pop } {
  /setcmykcolor {
    1 sub 4 1 roll
    3 {
	3 index add neg dup 0 lt { pop 0 } if 3 1 roll
    } repeat
    setrgbcolor - pop
  } bind def
} ifelse
/PATsc {		% colorarray
  aload length		% c1 ... cn length
    dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
  } ifelse } ifelse
} bind def
/PATsg {		% dict
  begin
    lw setlinewidth
    lc setlinecap
    lj setlinejoin
    ml setmiterlimit
    ds aload pop setdash
    cc aload pop setrgbcolor
    cm setmatrix
  end
} bind def

/PATDict 3 dict def
/PATsp {
  true PATredef
  PATDict begin
    /CurrentPattern exch def
    % If it's an uncolored pattern, save the color
    CurrentPattern /PaintType get 2 eq {
      /PColor exch def
    } if
    /CColor [ currentrgbcolor ] def
  end
} bind def
% PATstroke - stroke with the current pattern
/PATstroke {
  countdictstack
  save
  mark
  {
    currentpoint strokepath moveto
    PATpcalc				% proc nw nh px py
    clip newpath PATfill
    } stopped {
	(*** PATstroke Warning: Path is too complex, stroking
	  with gray) =
    cleartomark
    restore
    countdictstack exch sub dup 0 gt
	{ { end } repeat } { pop } ifelse
    gsave 0.5 setgray oldstroke grestore
  } { pop restore pop } ifelse
  newpath
} bind def
/PATtcalc {		% modmtx tilingtype PATtcalc tilematrix
  % Note: tiling types 2 and 3 are not supported
  gsave
    exch concat					% tilingtype
    matrix currentmatrix exch			% cmtx tilingtype
    % Tiling type 1 and 3: constant spacing
    2 ne {
	% Distort the pattern so that it occupies
	% an integral number of device pixels
	dup 4 get exch dup 5 get exch		% tx ty cmtx
	XStep 0 dtransform
	round exch round exch			% tx ty cmtx dx.x dx.y
	XStep div exch XStep div exch		% tx ty cmtx a b
	0 YStep dtransform
	round exch round exch			% tx ty cmtx a b dy.x dy.y
	YStep div exch YStep div exch		% tx ty cmtx a b c d
	7 -3 roll astore			% { a b c d tx ty }
    } if
  grestore
} bind def
/PATusp {
  false PATredef
  PATDict begin
    CColor PATsc
  end
} bind def

% right45
11 dict begin
/PaintType 1 def
/PatternType 1 def
/TilingType 1 def
/BBox [0 0 1 1] def
/XStep 1 def
/YStep 1 def
/PatWidth 1 def
/PatHeight 1 def
/Multi 2 def
/PaintData [
  { clippath } bind
  { 32 32 true [ 32 0 0 -32 0 32 ]
	{<010101010202020204040404080808081010101020202020
	404040408080808001010101020202020404040408080808
	101010102020202040404040808080800101010102020202
	040404040808080810101010202020204040404080808080
	010101010202020204040404080808081010101020202020
	4040404080808080>}
     imagemask } bind
] def
/PaintProc {
	pop
	exec fill
} def
currentdict
end
/P5 exch def
1.1111 1.1111 scale %restore scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y tr xrad yrad sc 0 0 1 startangle endangle arc
	closepath
	savematrix setmatrix
	} def

/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
10 setmiterlimit
n -1000 9467 m -1000 -1000 l 10584 -1000 l 10584 9467 l cp clip
 0.06000 0.06000 sc
/Times-Roman ff 240.00 scf sf
7200 3450 m
gs 1 -1 sc (Pool) col0 sh gr
% Polyline
7.500 slw
n 8325 1800 m 8925 1800 l 8925 2100 l 8325 2100 l cp gs col0 s gr 
% Polyline
n 8325 2100 m 8925 2100 l 8925 2400 l 8325 2400 l cp gs col0 s gr 
% Polyline
n 8325 2400 m 8925 2400 l 8925 2700 l 8325 2700 l cp gs col0 s gr 
% Polyline
n 8325 2700 m 8925 2700 l 8925 3000 l 8325 3000 l cp gs col0 s gr 
% Polyline
n 8325 3000 m 8925 3000 l 8925 3300 l 8325 3300 l cp gs col0 s gr 
% Polyline
n 8325 3300 m 8925 3300 l 8925 3600 l 8325 3600 l cp gs col0 s gr 
% Polyline
n 8325 3600 m 8925 3600 l 8925 3900 l 8325 3900 l cp gs col0 s gr 
% Polyline
n 8325 3900 m 8925 3900 l 8925 4200 l 8325 4200 l cp gs col0 s gr 
% Polyline
n 8325 4200 m 8925 4200 l 8925 4500 l 8325 4500 l cp gs col0 s gr 
% Polyline
n 8325 4500 m 8925 4500 l 8925 4800 l 8325 4800 l cp gs col0 s gr 
% Polyline
n 8325 4800 m 8925 4800 l 8925 5100 l 8325 5100 l cp gs col0 s gr 
% Polyline
n 8325 5100 m 8925 5100 l 8925 5400 l 8325 5400 l cp gs col0 s gr 
% Polyline
n 8325 5400 m 8925 5400 l 8925 5700 l 8325 5700 l cp gs col0 s gr 
/Times-Roman ff 240.00 scf sf
7800 6150 m
gs 1 -1 sc (Physical Memory) col0 sh gr
% Polyline
gs  clippath
7395 4980 m 7275 4950 l 7395 4920 l 7260 4920 l 7260 4980 l cp
clip
n 7575 4950 m 7275 4950 l gs col0 s gr gr

% arrowhead
n 7395 4980 m 7275 4950 l 7395 4920 l  col0 s
% Polyline
n 6300 4800 m 7275 4800 l 7275 5100 l 6300 5100 l cp gs col0 s gr 
/Times-Roman ff 240.00 scf sf
6450 5025 m
gs 1 -1 sc (encrypt) col0 sh gr
% Ellipse
n 5250 6675 750 225 0 360 DrawEllipse gs col0 s gr

% Ellipse
n 5250 7875 750 225 0 360 DrawEllipse gs col0 s gr

% Polyline
n 4605 2400 m 4500 2400 4500 2895 105 arcto 4 {pop} repeat
  4500 3000 5895 3000 105 arcto 4 {pop} repeat
  6000 3000 6000 2505 105 arcto 4 {pop} repeat
  6000 2400 4605 2400 105 arcto 4 {pop} repeat
 cp gs col0 s gr 
% Polyline
n 2700 1500 m 3300 1500 l 3300 5700 l 2700 5700 l cp gs col0 s gr 
% Polyline
n 2700 1800 m 3300 1800 l gs col0 s gr 
% Polyline
n 2700 2100 m 3300 2100 l gs col0 s gr 
% Polyline
n 2700 2400 m 3300 2400 l gs col0 s gr 
% Polyline
n 2700 2700 m 2850 2700 l 3000 2700 l 3150 2700 l 3300 2700 l gs col0 s gr 
% Polyline
n 2700 3000 m 3300 3000 l gs col0 s gr 
% Polyline
n 2700 3300 m 3300 3300 l gs col0 s gr 
% Polyline
n 2700 3600 m 3300 3600 l gs col0 s gr 
% Polyline
n 2700 3900 m 2850 3900 l 3000 3900 l 3150 3900 l 3300 3900 l gs col0 s gr 
% Polyline
n 2700 4200 m 3300 4200 l gs col0 s gr 
% Polyline
n 2700 4500 m 3300 4500 l gs col0 s gr 
% Polyline
n 2700 4800 m 3300 4800 l gs col0 s gr 
% Polyline
n 2700 5100 m 3300 5100 l gs col0 s gr 
% Polyline
n 2700 5400 m 3300 5400 l gs col0 s gr 
% Polyline
gs  clippath
4398 2770 m 4500 2700 l 4443 2810 l 4532 2709 l 4488 2669 l cp
clip
n 3300 4050 m 4500 2700 l gs col0 s gr gr

% arrowhead
n 4398 2770 m 4500 2700 l 4443 2810 l  col0 s
% Polyline
gs  clippath
8202 1959 m 8325 1950 l 8221 2016 l 8349 1974 l 8330 1917 l cp
clip
n 6075 2700 m 8325 1950 l gs col0 s gr gr

% arrowhead
n 8202 1959 m 8325 1950 l 8221 2016 l  col0 s
% Polyline
n 4605 3750 m 4500 3750 4500 5445 105 arcto 4 {pop} repeat
  4500 5550 5895 5550 105 arcto 4 {pop} repeat
  6000 5550 6000 3855 105 arcto 4 {pop} repeat
  6000 3750 4605 3750 105 arcto 4 {pop} repeat
 cp gs col0 s gr 
% Polyline
n 5996 5550 m 6004 5550 l gs col0 s gr
% Polyline
gs  clippath
5130 3705 m 5100 3825 l 5070 3705 l 5070 3840 l 5130 3840 l cp
clip
n 5100 3000 m 5100 3825 l gs col0 s gr gr

% arrowhead
n 5130 3705 m 5100 3825 l 5070 3705 l  col0 s
% Polyline
gs  clippath
7395 4080 m 7275 4050 l 7395 4020 l 7260 4020 l 7260 4080 l cp
clip
n 7575 4050 m 7275 4050 l gs col0 s gr gr

% arrowhead
n 7395 4080 m 7275 4050 l 7395 4020 l  col0 s
% Polyline
n 6300 3900 m 7275 3900 l 7275 4200 l 6300 4200 l cp gs col0 s gr 
% Polyline
gs  clippath
6180 3945 m 6300 3975 l 6180 4005 l 6315 4005 l 6315 3945 l cp
clip
n 5925 3975 m 6300 3975 l gs col0 s gr gr

% arrowhead
n 6180 3945 m 6300 3975 l 6180 4005 l  col0 s
% Polyline
gs  clippath
6045 4155 m 5925 4125 l 6045 4095 l 5910 4095 l 5910 4155 l cp
clip
n 6300 4125 m 5925 4125 l gs col0 s gr gr

% arrowhead
n 6045 4155 m 5925 4125 l 6045 4095 l  col0 s
% Polyline
gs  clippath
6180 4845 m 6300 4875 l 6180 4905 l 6315 4905 l 6315 4845 l cp
clip
n 5925 4875 m 6300 4875 l gs col0 s gr gr

% arrowhead
n 6180 4845 m 6300 4875 l 6180 4905 l  col0 s
% Polyline
gs  clippath
6045 5055 m 5925 5025 l 6045 4995 l 5910 4995 l 5910 5055 l cp
clip
n 6300 5025 m 5925 5025 l gs col0 s gr gr

% arrowhead
n 6045 5055 m 5925 5025 l 6045 4995 l  col0 s
% Polyline
 [60] 0 sd
n 4575 3825 m 5925 3825 l 5925 4650 l 4575 4650 l cp gs col0 s gr  [] 0 sd
% Polyline
 [60] 0 sd
n 4575 4725 m 5925 4725 l 5925 5475 l 4575 5475 l cp gs col0 s gr  [] 0 sd
% Polyline
gs  clippath
6042 5366 m 5925 5325 l 6047 5306 l 5913 5294 l 5907 5353 l cp
clip
n 8325 5550 m 5925 5325 l gs col0 s gr gr

% arrowhead
n 6042 5366 m 5925 5325 l 6047 5306 l  col0 s
% Polyline
gs  clippath
8216 1708 m 8325 1650 l 8256 1753 l 8356 1662 l 8316 1618 l cp
clip
n 5925 3825 m 8325 1650 l gs col0 s gr gr

% arrowhead
n 8216 1708 m 8325 1650 l 8256 1753 l  col0 s
% Polyline
gs  clippath
7755 3705 m 7725 3825 l 7695 3705 l 7695 3840 l 7755 3840 l cp
clip
n 7725 3525 m 7725 3825 l gs col0 s gr gr

% arrowhead
n 7755 3705 m 7725 3825 l 7695 3705 l  col0 s
% Polyline
n 4500 6675 m 4500 7875 l gs col0 s gr 
% Polyline
n 6000 6675 m 6000 7875 l gs col0 s gr 
% Polyline
n 5100 7200 m 5250 7200 l 5250 7500 l 5100 7500 l cp gs col7 0.70 shd ef gr gs col0 s gr 
% Polyline
n 4800 7575 m 4950 7575 l 4950 7875 l 4800 7875 l cp gs col7 0.70 shd ef gr gs col0 s gr 
% Polyline
n 5400 7575 m 5550 7575 l 5550 7875 l 5400 7875 l cp gs col7 0.70 shd ef gr gs col0 s gr 
% Polyline
n 4800 7050 m 4950 7050 l 4950 7350 l 4800 7350 l cp gs col7 0.70 shd ef gr gs col0 s gr 
% Polyline
n 6405 3825 m 6300 3825 6300 5070 105 arcto 4 {pop} repeat
  6300 5175 7995 5175 105 arcto 4 {pop} repeat
  8100 5175 8100 3930 105 arcto 4 {pop} repeat
  8100 3825 6405 3825 105 arcto 4 {pop} repeat
 cp gs col0 s gr 
% Polyline
n 7575 3825 m 7950 3825 l 7950 5175 l 7575 5175 l cp gs col0 s gr 
% Polyline
n 2700 3900 m 3300 3900 l 3300 4200 l 2700 4200 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
15.00 15.00 sc P5 [16 0 0 -16 180.00 260.00] PATmp PATsp ef gr PATusp gs col0 s gr 
% Polyline
n 8325 1500 m 8925 1500 l 8925 1800 l 8325 1800 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
15.00 15.00 sc P5 [16 0 0 -16 555.00 100.00] PATmp PATsp ef gr PATusp gs col0 s gr 
% Polyline
n 8325 1800 m 8925 1800 l 8925 2100 l 8325 2100 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
15.00 15.00 sc P5 [16 0 0 -16 555.00 120.00] PATmp PATsp ef gr PATusp gs col0 s gr 
% Polyline
n 8325 5400 m 8925 5400 l 8925 5700 l 8325 5700 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
15.00 15.00 sc P5 [16 0 0 -16 555.00 360.00] PATmp PATsp ef gr PATusp gs col0 s gr 
% Polyline
n 7005 3000 m 6900 3000 6900 3420 105 arcto 4 {pop} repeat
  6900 3525 7995 3525 105 arcto 4 {pop} repeat
  8100 3525 8100 3105 105 arcto 4 {pop} repeat
  8100 3000 7005 3000 105 arcto 4 {pop} repeat
 cp gs col0 s gr 
% Polyline
 [60] 0 sd
gs  clippath
4490 4290 m 4575 4200 l 4543 4319 l 4609 4202 l 4556 4172 l cp
clip
n 4800 7200 m 4799 7198 l 4796 7194 l 4792 7187 l 4785 7175 l 4774 7159 l
 4761 7138 l 4745 7112 l 4727 7081 l 4706 7047 l 4683 7008 l
 4658 6967 l 4633 6924 l 4607 6880 l 4581 6835 l 4556 6791 l
 4531 6746 l 4508 6703 l 4485 6661 l 4464 6621 l 4444 6581 l
 4426 6543 l 4408 6506 l 4392 6471 l 4378 6436 l 4364 6402 l
 4351 6368 l 4339 6334 l 4328 6301 l 4318 6268 l 4309 6234 l
 4300 6200 l 4292 6167 l 4285 6134 l 4278 6100 l 4271 6066 l
 4265 6031 l 4259 5995 l 4254 5958 l 4249 5920 l 4244 5882 l
 4240 5843 l 4236 5803 l 4233 5763 l 4230 5722 l 4227 5681 l
 4225 5640 l 4224 5598 l 4223 5557 l 4222 5516 l 4222 5475 l
 4222 5434 l 4222 5394 l 4223 5354 l 4225 5316 l 4227 5278 l
 4229 5241 l 4231 5204 l 4234 5169 l 4237 5135 l 4241 5102 l
 4245 5070 l 4249 5038 l 4253 5008 l 4258 4979 l 4263 4950 l
 4269 4916 l 4276 4883 l 4283 4851 l 4291 4819 l 4300 4788 l
 4310 4757 l 4320 4726 l 4332 4694 l 4344 4661 l 4358 4628 l
 4372 4594 l 4388 4559 l 4405 4524 l 4422 4487 l 4440 4451 l
 4459 4415 l 4477 4379 l 4495 4345 l 4512 4314 l 4527 4285 l
 4541 4261 l 4552 4240 l 4561 4225 l 4575 4200 l gs col0 s gr gr
 [] 0 sd
% arrowhead
n 4490 4290 m 4575 4200 l 4543 4319 l  col0 s
% Polyline
 [60] 0 sd
gs  clippath
4718 7632 m 4800 7725 l 4684 7681 l 4795 7758 l 4829 7709 l cp
clip
n 4575 5100 m 4573 5102 l 4569 5105 l 4562 5111 l 4552 5121 l 4537 5134 l
 4519 5152 l 4498 5172 l 4474 5196 l 4448 5222 l 4422 5251 l
 4396 5280 l 4370 5311 l 4345 5342 l 4322 5373 l 4301 5404 l
 4282 5435 l 4264 5466 l 4249 5498 l 4235 5530 l 4224 5563 l
 4213 5597 l 4205 5633 l 4198 5670 l 4192 5709 l 4188 5750 l
 4185 5779 l 4183 5810 l 4182 5842 l 4181 5874 l 4180 5908 l
 4180 5943 l 4181 5980 l 4182 6017 l 4183 6056 l 4185 6095 l
 4187 6136 l 4190 6177 l 4193 6219 l 4197 6262 l 4201 6306 l
 4206 6350 l 4211 6395 l 4217 6439 l 4223 6484 l 4229 6529 l
 4235 6573 l 4242 6617 l 4249 6661 l 4257 6704 l 4264 6747 l
 4272 6788 l 4280 6829 l 4288 6869 l 4297 6907 l 4305 6945 l
 4313 6981 l 4322 7016 l 4331 7050 l 4339 7082 l 4348 7113 l
 4357 7143 l 4366 7172 l 4375 7200 l 4389 7242 l 4404 7280 l
 4420 7317 l 4436 7351 l 4453 7383 l 4471 7413 l 4490 7442 l
 4511 7470 l 4533 7497 l 4557 7524 l 4582 7550 l 4608 7575 l
 4635 7600 l 4663 7623 l 4690 7645 l 4715 7665 l 4738 7682 l
 4758 7696 l 4774 7707 l 4800 7725 l gs col0 s gr gr
 [] 0 sd
% arrowhead
n 4718 7632 m 4800 7725 l 4684 7681 l  col0 s
/Times-Roman ff 240.00 scf sf
1950 6150 m
gs 1 -1 sc (Virtual Address Space) col0 sh gr
/Times-Roman ff 240.00 scf sf
4875 2775 m
gs 1 -1 sc (Mapper) col0 sh gr
/Times-Roman ff 240.00 scf sf
4800 5175 m
gs 1 -1 sc (Page Out) col0 sh gr
/Times-Roman ff 240.00 scf sf
4800 4350 m
gs 1 -1 sc (Page In) col0 sh gr
/Times-Roman ff 240.00 scf sf
4950 5850 m
gs 1 -1 sc (Pager) col0 sh gr
/Times-Roman ff 240.00 scf sf
6450 4125 m
gs 1 -1 sc (decrypt) col0 sh gr
/Times-Roman ff 240.00 scf sf
5175 3375 m
gs 1 -1 sc (not resident) col0 sh gr
/Times-Roman ff 240.00 scf sf
6600 2175 m
gs 1 -1 sc (resident) col0 sh gr
/Times-Roman ff 270.00 scf sf
4650 2100 m
gs 1 -1 sc (VM System) col0 sh gr
/Times-Roman ff 240.00 scf sf
4350 8400 m
gs 1 -1 sc (Secondary Storage) col0 sh gr
/Times-Roman ff 240.00 scf sf
7800 5100 m
gs 1 -1 sc  90.0 rot (volatile key) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
3750 3375 m
gs 1 -1 sc (1) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
6525 2475 m
gs 1 -1 sc (2) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
4950 3450 m
gs 1 -1 sc (3) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
4125 5100 m
gs 1 -1 sc (4) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
6150 3900 m
gs 1 -1 sc (5) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
6900 2850 m
gs 1 -1 sc (6) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
7050 5700 m
gs 1 -1 sc (7) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
4050 6525 m
gs 1 -1 sc (9) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
7800 3750 m
gs 1 -1 sc (8a) col0 sh gr
/Helvetica-Bold ff 180.00 scf sf
6150 4800 m
gs 1 -1 sc (8) col0 sh gr
/Times-Roman ff 240.00 scf sf
7050 3225 m
gs 1 -1 sc (Entropy) col0 sh gr
% Polyline
n 8325 1500 m 8925 1500 l 8925 1800 l 8325 1800 l cp gs col0 s gr 
$F2psEnd
rs
end

%%EndDocument
 @endspecial 2010 2204 a Fl(Figur)l(e)j(2:)39 b Fd(A)n(n)28
b(overview)g(of)g(the)g(swap)g(encryption)h(pr)l(o)l(c)l(ess.)2010
2464 y Fk(4.1)105 b(Cipher)35 b(Selection)2010 2760 y
Fm(T)-7 b(o)31 b(b)r(e)g(suitable)g(for)g(sw)n(ap)f(encryption,)i(a)e
(cipher)h(needs)2010 2860 y(to)c(ful\014ll)i(at)e(least)h(three)f(imp)r
(ortan)n(t)g(criteria:)2093 3120 y Fg(\017)41 b Fm(Encryption)19
b(and)g(decryption)g(need)h(to)f(b)r(e)h(fast)g(com-)2176
3220 y(pared)27 b(to)h(disk)g(I/O,)g(so)f(that)h(the)h(encryption)e(do)
r(es)2176 3319 y(not)e(b)r(ecome)h(the)f(limiting)h(factor)f(in)g(the)h
(sw)n(apping)2176 3419 y(pro)r(cess.)2093 3582 y Fg(\017)41
b Fm(The)60 b(generation)f(of)h(a)g(cipher's)g(k)n(ey)f(sc)n(hedule)
2176 3682 y(should)29 b(b)r(e)h(inexp)r(ensiv)n(e)f(compared)f(to)i
(encrypting)2176 3782 y(a)d(page,)f(so)g(that)h(c)n(hanging)f(the)h(k)n
(ey)g(sc)n(hedule)f(do)r(es)2176 3881 y(not)31 b(a\013ect)g(p)r
(erformance.)45 b(The)30 b(k)n(ey)g(sc)n(hedule)h(of)f(a)2176
3981 y(cipher)25 b(is)f(usually)h(larger)d(than)j(its)g(encryption)g(k)
n(ey)-7 b(.)2176 4080 y(T)g(o)29 b(conserv)n(e)f(system)i(memory)f(w)n
(e)g(should)g(recom-)2176 4180 y(pute)34 b(it)h(ev)n(ery)d(time)j(w)n
(e)e(switc)n(h)h(encryption)f(k)n(eys,)2176 4280 y Fl(e.g.)j
Fm(the)22 b(encryption)f(k)n(ey)g(c)n(hanges)g(when)h(pages)e(are)2176
4379 y(written)28 b(to)f(di\013eren)n(t)h(sections.)2093
4543 y Fg(\017)41 b Fm(The)32 b(cipher)g(has)g(to)g(supp)r(ort)g
(encryption)f(and)h(de-)2176 4642 y(cryption)25 b(on)h(a)f(page)g(b)n
(y)g(page)g(basis,)g(since)h(page)f(in)2176 4742 y(and)c(page)f(out)h
(are)f(not)h(sequen)n(tial.)34 b(This)21 b(precludes)2176
4842 y(the)28 b(use)f(of)h(a)f(stream)g(cipher.)2010
5102 y(Initially)-7 b(,)50 b(w)n(e)45 b(planned)h(to)g(emplo)n(y)e(Sc)n
(hneier's)h(Blo)n(w-)2010 5202 y(\014sh)34 b(encryption)g(algorithm)f
([23)o(].)56 b(Its)35 b(soft)n(w)n(are)d(imple-)2010
5301 y(men)n(tation)k(is)g(v)n(ery)f(fast,)k(and)d(it)h(has)e(b)r(een)i
(in)f(use)h(for)2010 5401 y(sev)n(eral)d(y)n(ears)g(without)i(an)n(y)f
(apparen)n(t)g(securit)n(y)g(\015a)n(ws.)2010 5501 y(Nonetheless,)52
b(Blo)n(w\014sh)47 b(has)f(one)h(critical)g(dra)n(wbac)n(k.)2010
5600 y(The)29 b(computation)f(of)h(its)g(k)n(ey)f(sc)n(hedule)g(is)h(v)
n(ery)e(exp)r(en-)2010 5700 y(siv)n(e,)36 b(and)g(requires)d(more)i
(than)g(4)g(KByte)g(of)g(memory)-7 b(.)p eop
%%Page: 6 6
6 5 bop 0 383 a Fm(F)-7 b(or)31 b(that)g(reason,)g(computing)g(the)g(k)
n(ey)g(sc)n(hedule)g(when)0 483 y(it)25 b(is)f(needed)g(is)g(to)r(o)g
(exp)r(ensiv)n(e,)h(and)f(precomputation)f(is)0 582 y(not)28
b(p)r(ossible)f(due)h(to)f(large)f(memory)h(requiremen)n(ts.)0
782 y(Based)g(on)g(our)g(en)n(vironmen)n(tal)f(constrain)n(ts,)g(the)i
(cipher)0 881 y(that)e(matc)n(hes)g(our)f(needs)h(the)g(b)r(est)g(is)g
(Rijndael)h([8)o(].)37 b(W)-7 b(e)0 981 y(describ)r(e)27
b(it)h(in)g(the)g(next)g(section.)0 1269 y Fk(4.2)105
b(Rijndael)0 1558 y Fm(Rijndael)32 b(is)g(one)f(of)h(the)g(\014nalists)
g(in)g(the)g(adv)-5 b(anced)31 b(en-)0 1658 y(cryption)f(standard)g
(\(AES\))h(comp)r(etition.)47 b(It)31 b(is)g(a)f(v)-5
b(ari-)0 1757 y(able)39 b(blo)r(c)n(k)g(and)h(k)n(ey)f(length)g
(cipher.)73 b(In)40 b(con)n(trast)e(to)0 1857 y(man)n(y)27
b(other)g(blo)r(c)n(k)f(ciphers,)h(its)h(round)f(transformation)0
1956 y(do)r(es)39 b(not)h(ha)n(v)n(e)e(the)i(F)-7 b(eistel)40
b(structure.)72 b(Instead,)43 b(the)0 2056 y(round)37
b(transformation)f(is)i(comp)r(osed)f(of)h(distinct)g(la)n(y-)0
2156 y(ers:)g(a)28 b(linear)g(mixing)h(la)n(y)n(er,)e(a)h(non-linear)g
(la)n(y)n(er,)f(and)h(a)0 2255 y(k)n(ey)21 b(addition)g(la)n(y)n(er.)33
b(Rijndael's)22 b(design)f(tries)g(to)g(ac)n(hiev)n(e)0
2355 y(resistance)f(against)h(all)g(kno)n(wn)g(attac)n(ks)g(while)h
(main)n(tain-)0 2455 y(ing)27 b(simplicit)n(y)h([8].)0
2654 y(Compared)k(to)g(Blo)n(w\014sh,)i(Rijndael)f(is)f(faster)h(in)g
(all)f(as-)0 2754 y(p)r(ects,)25 b(but)f(less)e(studied)i([12)o(].)36
b(W)-7 b(e)24 b(decided)f(to)g(use)h(Rijn-)0 2853 y(dael)g(with)h
(128-bit)d(blo)r(c)n(ks)i(and)g(128-bit)f(k)n(eys.)35
b(With)25 b(the)0 2953 y(optimized)32 b(C)g(implemen)n(tation)g(b)n(y)f
(Gladman)h([13)o(],)h(the)0 3052 y(encryption)22 b(k)n(ey)g(sc)n
(hedule)h(can)f(b)r(e)h(computed)g(in)g(305)f(cy-)0 3152
y(cles)27 b(on)f(a)h(P)n(en)n(tium)g(Pro;)e(the)j(decryption)e(k)n(ey)g
(sc)n(hedule)0 3252 y(costs)i(1398)f(cycles.)39 b(A)29
b(blo)r(c)n(k)f(can)g(b)r(e)h(encrypted)g(in)f(374)0
3351 y(cycles,)f(and)g(blo)r(c)n(k)h(decryption)f(tak)n(es)f(352)g
(cycles.)0 3551 y(Ho)n(w)n(ev)n(er,)33 b(b)r(ecause)g(all)g(encryption)
g(and)g(decryption)g(is)0 3650 y(done)25 b(on)g(4)g(KByte)g(units,)h
(the)g(cost)f(of)g(the)h(k)n(ey)e(sc)n(hedule)0 3750
y(computation)41 b(is)g(amortized.)77 b(Therefore,)44
b(ev)n(en)d(if)g(w)n(e)0 3849 y(c)n(hange)27 b(the)h(k)n(ey)f(sc)n
(hedule)h(ev)n(ery)f(time,)h(the)h(encryption)0 3949
y(cost)18 b(is)h(only)g(375)e(cycles)h(on)h(a)n(v)n(erage,)f(and)g(for)
h(decryption)0 4049 y(it)28 b(is)g(357)e(cycles.)0 4248
y(Normally)-7 b(,)50 b(the)c(o)n(v)n(erall)e(p)r(erformance)h(of)h(an)g
(encryp-)0 4348 y(tion)33 b(algorithm)f(is)g(in\015uenced)h(b)n(y)g(w)n
(ord)f(con)n(v)n(ersion)e(to)0 4447 y(accommo)r(date)43
b(little)i(and)f(big)g(endian)g(arc)n(hitectures.)0 4547
y(Ho)n(w)n(ev)n(er,)37 b(b)r(ecause)f(encryption)g(and)g(decryption)g
(hap-)0 4646 y(p)r(en)k(on)f(the)h(same)f(mac)n(hine,)k(the)c(w)n(ord)g
(order)f(of)i(the)0 4746 y(algorithm's)34 b(output)j(is)e(not)h(relev)
-5 b(an)n(t,)37 b(and)e(w)n(e)h(do)f(not)0 4846 y(need)28
b(to)f(tak)n(e)g(endianness)g(in)n(to)g(consideration.)0
5045 y(W)-7 b(e)45 b(use)g(Rijndael)h(in)f(cipher-blo)r(c)n(k)f(c)n
(haining)g(\(CBC\))0 5145 y(mo)r(de.)35 b(The)24 b(CBC)e(mo)r(de)i(of)f
(op)r(eration)f(in)n(v)n(olv)n(es)f(the)i(use)0 5244
y(of)i(a)f(128-bit)g(initialization)g(v)n(ector.)35 b(Iden)n(tical)24
b(plain)n(text)0 5344 y(blo)r(c)n(ks)32 b(encrypted)g(under)g(the)h
(same)f(k)n(ey)g(but)h(di\013eren)n(t)0 5443 y Ff(I)7
b(V)19 b Fm(s,)i(pro)r(duce)e(di\013eren)n(t)g(cipher)g(blo)r(c)n(ks.)
34 b(With)20 b Ff(c)1579 5455 y Fj(0)1639 5443 y Fm(=)j
Ff(I)7 b(V)19 b Fm(,)0 5543 y(the)28 b(result)f(of)h(the)g(encryption)f
(is)g(de\014ned)h(as)574 5700 y Ff(c)610 5712 y Fe(i)660
5700 y Fm(=)23 b Ff(E)809 5712 y Fe(K)873 5700 y Fm(\()p
Ff(c)941 5712 y Fe(i)p Fc(\000)p Fj(1)1073 5700 y Fg(\010)18
b Ff(x)1203 5712 y Fe(i)1231 5700 y Fm(\))p Ff(;)2010
383 y Fm(where)25 b(the)g Ff(x)2435 395 y Fe(i)2489 383
y Fm(are)f(the)i(plain)n(text)f(and)g Ff(c)3309 395 y
Fe(i)3362 383 y Fm(the)h(ciphertext)2010 483 y(blo)r(c)n(ks.)36
b(The)28 b(decryption)f(is)g(similar)2569 666 y Ff(x)2616
678 y Fe(i)2667 666 y Fm(=)c Ff(c)2791 678 y Fe(i)p Fc(\000)p
Fj(1)2922 666 y Fg(\010)18 b Ff(E)3071 630 y Fc(\000)p
Fj(1)3066 690 y Fe(K)3160 666 y Fm(\()p Ff(c)3228 678
y Fe(i)3256 666 y Fm(\))p Ff(:)2010 948 y Fm(F)-7 b(or)35
b(sw)n(ap)g(encryption,)j(the)e(initial)g(128-bit)f Ff(I)7
b(V)55 b Fm(is)36 b(the)2010 1048 y(64-bit)e(blo)r(c)n(k)f(n)n(um)n(b)r
(er)h(to)g(whic)n(h)h(the)f(page)g(is)g(written,)2010
1147 y(concatenated)22 b(with)i(its)g(bit)n(wise)f(complemen)n(t.)35
b(This)23 b(en-)2010 1247 y(sures)k(that)h(eac)n(h)e(page)h(is)h
(encrypted)f(uniquely)-7 b(.)2010 1446 y(Caution)23 b(is)h(indicated)g
(b)r(ecause)f(c)n(hanging)f(the)i Ff(I)7 b(V)43 b Fm(in)24
b(se-)2010 1546 y(quen)n(tial)36 b(incremen)n(ts)h(for)f(adjacen)n(t)g
(pages)f(ma)n(y)h(result)2010 1646 y(in)43 b(only)g(small)g(input)h
(di\013erences)e(to)h(the)h(encryption)2010 1745 y(function.)c(The)28
b(attac)n(ks)g(describ)r(ed)g(in)g(\\F)-7 b(rom)28 b(Di\013eren-)2010
1845 y(tial)33 b(Cryptanalysis)e(to)i(Ciphertext-Only)g(A)n(ttac)n(ks")
e([3])2010 1944 y(migh)n(t)k(apply)h(in)f(suc)n(h)h(a)f(situation.)60
b(F)-7 b(or)35 b(that)h(reason,)2010 2044 y(w)n(e)c(encrypt)g(the)h
(blo)r(c)n(k)f(n)n(um)n(b)r(er)g(and)h(use)f(that)h(for)f(the)2010
2144 y Ff(I)7 b(V)19 b Fm(.)38 b(Biryuk)n(o)n(v)26 b(and)i(Kushilevitz)
g(also)f(state,)h(\\Another)2010 2243 y(metho)r(d)j(of)g(IV)h(c)n
(hoice)e(is)h(the)g(encryption)g(of)g(the)g(data-)2010
2343 y(gram)22 b(sequence)g(n)n(um)n(b)r(ers)g([...],)i(and)f(sending)f
([the])i(IV)f(in)2010 2443 y([the])34 b(clear)f(\(explicit)h(IV)g
(metho)r(d\))g([...].)55 b(This)34 b(metho)r(d)2010 2542
y(is)f(also)e(v)n(ery)h(vulnerable)f(to)i(our)f(analysis,)g([...].")52
b(Nev-)2010 2642 y(ertheless,)27 b(in)h(our)f(case)g(the)h
Ff(I)7 b(V)47 b Fm(is)28 b(not)g(explicit,)g(and)f(no)2010
2742 y Ff(I)7 b(V)47 b Fm(di\013erences)27 b(can)g(b)r(e)h(observ)n(ed)
e(directly)-7 b(.)2010 3041 y Fk(4.3)105 b(Pseudo-random)35
b(Generator)2010 3340 y Fm(T)-7 b(o)32 b(initialize)g(a)f(v)n(olatile)g
(encryption)h(k)n(ey)f(w)n(e)h(require)e(a)2010 3440
y(source)g(of)i(random)f(bits.)49 b(The)32 b(generation)e(of)h(random-)
2010 3539 y(ness)f(with)h(deterministic)g(computers)e(is)i(v)n(ery)e
(hard.)45 b(In)2010 3639 y(particular,)37 b(w)n(e)f(do)g(not)g(striv)n
(e)f(to)h(create)g(p)r(erfect)g(ran-)2010 3738 y(domness)28
b(c)n(haracterized)e(b)n(y)i(the)h(uniform)f(distribution.)2010
3838 y(Instead,)f(w)n(e)h(use)f(pseudo-random)f(generators.)2010
4037 y(A)40 b(pseudo-random)e(generator)f(has)j(the)g(goal)e(that)i
(its)2010 4137 y(output)49 b(is)f(computationally)f(indistinguishable)h
(from)2010 4237 y(the)36 b(uniform)f(distribution,)i(while)f(its)f
(execution)g(m)n(ust)2010 4336 y(b)r(e)e(feasible)f([14)o(].)51
b(A)33 b(pseudo-random)d(generator)h(is)h(re-)2010 4436
y(alized)e(b)n(y)g(a)g(stretc)n(hing)f(function)i Ff(g)i
Fm(that)d(maps)g(strings)2010 4535 y(of)35 b(length)g
Ff(n)g Fm(to)g(strings)f(of)h(length)g Ff(l)r Fm(\()p
Ff(n)p Fm(\))g Ff(>)g(n)p Fm(.)58 b(If)36 b Ff(X)41 b
Fm(is)2010 4635 y(a)30 b(random)f(v)-5 b(ariable)29 b(uniformly)h
(distributed)g(on)g(strings)2010 4735 y(of)e(length)g
Ff(n)g Fm(then)h Ff(g)s Fm(\()p Ff(X)7 b Fm(\))28 b(app)r(ears)f(to)h
(b)r(e)g(uniformly)g(dis-)2010 4834 y(tributed)g(on)f(strings)g(of)h
(length)f Ff(l)r Fm(\()p Ff(n)p Fm(\))h([18)o(].)2010
5034 y(F)-7 b(or)34 b(our)g(purp)r(ose,)i(w)n(e)e(use)g(the)h
(pseudo-random)e(n)n(um-)2010 5133 y(b)r(er)i(generator)d(\(PRNG\))k
(pro)n(vided)e(b)n(y)g(the)i(Op)r(enBSD)2010 5233 y(k)n(ernel)d([21)o
(].)56 b(The)34 b(PRNG)g(is)g(a)f(cryptographic)f(stream)2010
5332 y(cipher)26 b(that)h(uses)f(a)h(source)e(of)i(strong)e(randomness)
3708 5302 y Fj(3)3771 5332 y Fm(for)p 2010 5386 744 4
v 2102 5440 a Fi(3)2137 5463 y Fh(The)36 b(term)f(\\source)h(of)f
(strong)h(randomness")g(represen)n(ts)g(a)2010 5542 y(generator)c
(whose)f(output)i(is)d(not)h(really)g(random,)g(but)h(dep)r(ends)2010
5621 y(on)24 b(so)g(man)n(y)f(en)n(trop)n(y)h(pro)n(viding)g(ph)n
(ysical)g(pro)r(cesses)g(that)h(an)f(at-)2010 5700 y(tac)n(k)n(er)h
(can)f(not)h(practically)f(predict)g(its)f(output.)p
eop
%%Page: 7 7
7 6 bop 0 383 a Fm(initialization)29 b(and)g(reseeding.)41
b(This)30 b(source)e(is)h(referred)0 483 y(to)e(as)g(the)h(\\en)n(trop)
n(y)e(p)r(o)r(ol.")0 682 y(Nonetheless,)51 b(the)c(problem)f(on)g(ho)n
(w)g(to)g(accum)n(ulate)0 782 y(strong)41 b(randomness)h(for)g(the)h
(en)n(trop)n(y)e(p)r(o)r(ol)i(remains.)0 881 y(F)-7 b(ortunately)g(,)66
b(a)58 b(m)n(ulti-user)f(op)r(erating)h(system)g(has)0
981 y(man)n(y)23 b(external)g(ev)n(en)n(ts)f(from)i(whic)n(h)f(it)h
(can)f(deriv)n(e)g(some)0 1080 y(randomness.)62 b(Gutmann)37
b(describ)r(es)f(a)g(generic)g(frame-)0 1180 y(w)n(ork)26
b(for)h(a)g(randomness)g(p)r(o)r(ol)g([17)o(].)0 1379
y(In)h(Op)r(enBSD,)g(the)g(en)n(trop)n(y)e(p)r(o)r(ol)527
1538 y Ff(P)35 b Fm(:=)22 b Fg(f)p Ff(p)809 1550 y Fj(1)846
1538 y Ff(;)14 b(p)925 1550 y Fj(2)962 1538 y Ff(;)g(:)g(:)g(:)g(;)g(p)
1189 1550 y Fj(128)1292 1538 y Fg(g)0 1697 y Fm(consists)27
b(of)h(128)f(32-bit)g(w)n(ords.)37 b(T)-7 b(o)28 b(increase)f(the)h(p)r
(o)r(ol's)0 1796 y(randomness)i(the)j(k)n(ernel)d(collects)i
(measuremen)n(ts)e(from)0 1896 y(v)-5 b(arious)38 b(ph)n(ysical)g(ev)n
(en)n(ts:)58 b(the)39 b(in)n(ter-k)n(eypress)e(timing)0
1996 y(from)25 b(terminals,)h(the)f(mouse)g(in)n(terrupt)h(timing)f
(and)h(the)0 2095 y(rep)r(orted)36 b(p)r(osition)h(of)g(the)g(mouse)g
(cursor,)g(the)h(arriv)-5 b(al)0 2195 y(time)34 b(of)g(net)n(w)n(ork)e
(pac)n(k)n(ets,)i(and)g(the)g(\014nishing)g(time)g(of)0
2295 y(disk)27 b(requests.)0 2494 y(The)k(measured)e(v)-5
b(alues)31 b(from)f(these)g(sources)g(are)f(added)0 2593
y(to)f(the)g(en)n(trop)n(y)f(p)r(o)r(ol)h(b)n(y)g(a)f(mixing)h
(function.)39 b(F)-7 b(or)27 b(eac)n(h)0 2693 y(v)-5
b(alue,)26 b(the)g(function)h(replaces)d(one)h(w)n(ord)g(in)h(the)g(p)r
(o)r(ol)g(as)0 2793 y(follo)n(ws:)324 2930 y Ff(p)366
2942 y Fe(i)417 2930 y Fg( )d Ff(u)18 b Fg(\010)g Ff(p)714
2942 y Fe(i)p Fj(+99)877 2930 y Fg(\010)g Ff(p)1002 2942
y Fe(i)p Fj(+59)1165 2930 y Fg(\010)g Ff(p)1290 2942
y Fe(i)p Fj(+31)1453 2930 y Fg(\010)933 3054 y Ff(p)975
3066 y Fe(i)p Fj(+9)1105 3054 y Fg(\010)g Ff(p)1230 3066
y Fe(i)p Fj(+7)1360 3054 y Fg(\010)g Ff(p)1485 3066 y
Fe(i)1513 3054 y Ff(;)0 3209 y Fm(where)j Ff(i)g Fm(is)g(the)h(curren)n
(t)e(p)r(osition)i(in)f(the)h(p)r(o)r(ol,)h(and)e Ff(u)g
Fm(the)0 3309 y(32-bit)h(w)n(ord)f(that)i(is)g(added.)35
b(Index)22 b(addition)h(is)f(mo)r(dulo)0 3409 y(128.)34
b(After)25 b(a)e(v)-5 b(alue)24 b(has)f(b)r(een)h(added)g
Ff(i)g Fm(is)f(decremen)n(ted.)0 3508 y(T)-7 b(o)20 b(estimate)g(the)h
(randomness)e(in)i(the)g(p)r(o)r(ol,)h(the)e(en)n(trop)n(y)0
3608 y(is)29 b(measured)f(b)n(y)g(a)h(heuristic)f(based)g(on)h(the)g
(deriv)-5 b(ativ)n(es)0 3707 y(of)28 b(di\013erences)f(in)h(the)g
(input)g(v)-5 b(alues.)0 3907 y(A)32 b(random)g(seed)g(is)g(extracted)f
(from)h(the)g(en)n(trop)n(y)f(p)r(o)r(ol)0 4006 y(as)g(follo)n(ws:)45
b(First,)33 b(the)f(concatenation)f(of)h Ff(p)1474 4018
y Fj(1)1511 4006 y Ff(p)1553 4018 y Fj(2)1604 4006 y
Ff(:)14 b(:)g(:)g(p)1757 4018 y Fj(128)0 4106 y Fm(is)41
b(giv)n(en)g(as)f(input)i(to)g(an)f(MD5)g(hash)g([22)o(].)78
b(Second,)0 4206 y(the)27 b(in)n(ternal)f(state)h(of)g(the)g(MD5)g
(hash)g(for)f(the)h(previous)0 4305 y(computation)e(is)h(added)f(in)n
(to)g(the)h(en)n(trop)n(y)e(p)r(o)r(ol.)36 b(Third,)0
4405 y(the)h(resulting)f(p)r(o)r(ol)h(is)f(fed)h(once)g(more)e(in)n(to)
i(the)g(MD5)0 4504 y(hash.)e(Finally)-7 b(,)25 b(the)g(message)e
(digest)h(is)g(calculated.)35 b(The)0 4604 y(output)24
b(is)f(\\folded")f(in)h(half)h(b)n(y)e(X)n(OR-ing)h(its)g(upp)r(er)g
(and)0 4704 y(lo)n(w)n(er)33 b(w)n(ord.)57 b(The)34 b(resulting)g(64)g
(bits)h(are)f(returned)g(as)0 4803 y(the)28 b(seed.)0
5003 y(The)35 b(stretc)n(hing)f(function)h(is)g(implemen)n(ted)g(b)n(y)
f(AR)n(C4,)0 5102 y(a)29 b(cipher)g(equiv)-5 b(alen)n(t)29
b(to)g(RSADSI's)i(R)n(C4)d([25].)42 b(The)29 b(ci-)0
5202 y(pher)c(has)g(an)g(in)n(ternal)g(memory)f(size)h(of)g
Ff(M)32 b Fm(=)23 b Ff(n)p Fm(2)1609 5172 y Fe(n)1667
5202 y Fm(+)14 b(2)p Ff(n)p Fm(,)0 5301 y(with)33 b(in)g(our)e(case)h
Ff(n)f Fm(=)f(8.)51 b(W)-7 b(e)33 b(use)f(the)h(random)f(seeds)0
5401 y(extracted)26 b(from)h(the)h(en)n(trop)n(y)e(p)r(o)r(ol)h(to)g
(initialize)g(the)g Ff(M)0 5501 y Fm(bits.)47 b(The)31
b(output)g(of)g(R)n(C4)f(is)h(exp)r(ected)g(to)g(cycle)f(after)0
5600 y(2)42 5570 y Fe(M)6 b Fc(\000)p Fj(1)225 5600 y
Fm(iterations.)35 b(Ho)n(w)n(ev)n(er,)23 b(Goli)n(\023)-39
b(c)23 b(sho)n(w)n(ed)h(that)g(a)g(cor-)0 5700 y(relation)f(b)r(et)n(w)
n(een)g(the)h(second)f(binary)g(deriv)-5 b(ativ)n(e)23
b(of)h(the)2010 383 y(least)34 b(signi\014can)n(t)g(bit)i(output)f
(sequence)f(and)h(1)f(can)h(b)r(e)2010 483 y(detected)27
b(in)g(signi\014can)n(tly)e(few)n(er)h(iterations)f([15)o(],)i(whic)n
(h)2010 582 y(allo)n(ws)18 b(the)i(di\013eren)n(tiation)f(of)h
Ff(R)q(C)6 b Fm(4)19 b(from)g(a)g(uniform)g(dis-)2010
682 y(tribution.)47 b(W)-7 b(e)31 b(can)g(a)n(v)n(oid)e(this)i(problem)
g(b)n(y)f(reseeding)2010 782 y(R)n(C4's)36 b(in)n(ternal)h(state)g(b)r
(efore)g(the)h(n)n(um)n(b)r(er)f(of)g(critical)2010 881
y(iterations)27 b(has)g(b)r(een)h(reac)n(hed.)35 b(In)28
b(fact,)g(the)g(implemen-)2010 981 y(tation)37 b(in)h(Op)r(enBSD)g
(reseeds)f(the)h(AR)n(C4)f(ev)n(ery)g(time)2010 1080
y(enough)27 b(new)h(en)n(trop)n(y)e(has)h(b)r(een)h(accum)n(ulated.)
2010 1280 y(The)34 b(k)n(ernel)e(pro)n(vides)g(the)i
(\\arc4random\(3\)")d(function)2010 1379 y(to)41 b(obtain)f(a)h(32-bit)
f(w)n(ord)f(from)i(the)g(pseudo-random)2010 1479 y(n)n(um)n(b)r(er)27
b(generator.)2010 1678 y(The)k(v)n(olatile)f(k)n(ey)g(of)h(a)f(section)
g(is)h(created)f(b)n(y)h(\014lling)g(it)2010 1778 y(with)36
b(the)g(output)h(from)e(\\arc4random\(3\).")58 b(W)-7
b(e)36 b(hop)r(e)2010 1877 y(that)30 b(b)r(et)n(w)n(een)f(the)h(time)h
(the)e(system)h(has)f(b)r(een)h(b)r(o)r(oted)2010 1977
y(and)c(the)h(\014rst)e(sw)n(ap)h(encryption)f(su\016cien)n(t)i
(randomness)2010 2077 y(is)44 b(a)n(v)-5 b(ailable)43
b(in)h(the)g(k)n(ernel)f(en)n(trop)n(y)g(p)r(o)r(ol)h(to)g(ensure)2010
2176 y(go)r(o)r(d)30 b(randomness)e(in)j(the)f(R)n(C4)g(output.)45
b(Nonetheless,)2010 2276 y(it)34 b(should)f(b)r(e)g(noted)h(that)f
(this)h(construction)e(do)r(es)h(not)2010 2376 y(create)h(a)g(pro)n(v)
-5 b(ably)34 b(pseudo-random)f(generator)f(as)i(de-)2010
2475 y(scrib)r(ed)27 b(in)h(the)g(b)r(eginning)g(of)f(this)h(section.)
2010 2920 y Fn(5)112 b(P)m(erformance)37 b(Ev)-6 b(aluation)2010
3249 y Fm(In)33 b(the)h(follo)n(wing,)f(w)n(e)g(analyse)f(the)h
(e\013ect)h(of)f(sw)n(ap)f(en-)2010 3349 y(cryption)f(on)h(the)g
(paging)f(b)r(eha)n(vior.)48 b(W)-7 b(e)32 b(lo)r(ok)f(at)h(page)2010
3448 y(encryption)45 b(and)h(decryption)f(times,)51 b(and)45
b(assess)g(the)2010 3548 y(run)n(time)28 b(of)f(applications)g(with)h
(large)e(w)n(orking)g(sets.)2010 3747 y(All)i(measuremen)n(ts)f(w)n
(ere)g(p)r(erformed)g(on)h(an)g(Op)r(enBSD)2010 3847
y(2.6)40 b(system)g(with)h(128)e(MByte)h(main)h(memory)e(and)h(a)2010
3946 y(333)g(MHz)i(Celeron)e(pro)r(cessor.)76 b(The)41
b(sw)n(ap)g(partition)2010 4046 y(w)n(as)50 b(on)h(a)g(6)g(GByte)g
(Ultra-DMA)g(IDE)g(disk,)57 b(IBM)2010 4146 y(mo)r(del)40
b(DBCA-206480)e(running)h(at)h(4200)f(rev)n(olutions)2010
4245 y(p)r(er)50 b(min)n(ute.)104 b(The)50 b(op)r(erating)f(system)h
(can)f(sustain)2010 4345 y(an)34 b(a)n(v)n(erage)e(blo)r(c)n(k)i(write)
h(rate)f(of)g(7.5)g(MByte/s)g(and)g(a)2010 4445 y(blo)r(c)n(k)26
b(read)f(rate)h(of)h(6.3)e(MByte/s.)36 b(Op)r(enBSD)27
b(uses)f(the)2010 4544 y(UVM)i([7])g(virtual)f(memory)f(system.)2010
4873 y Fk(5.1)105 b(Micro)36 b(Benc)m(hmark)2010 5202
y Fm(Our)i(micro)f(b)r(enc)n(hmark)h(measures)f(the)h(time)h(it)g(tak)n
(es)2010 5301 y(to)30 b(encrypt)h(one)f(page.)45 b(A)31
b(test)g(program)d(allo)r(cates)h(200)2010 5401 y(MByte)20
b(of)g(memory)-7 b(,)21 b(and)e(\014lls)h(the)h(memory)e(sequen)n
(tially)2010 5501 y(with)25 b(zeros.)34 b(Afterw)n(ards,)24
b(it)h(reads)f(the)g(allo)r(cated)g(mem-)2010 5600 y(ory)40
b(from)g(the)h(b)r(eginning)f(in)h(sequen)n(tial)f(order.)75
b(The)2010 5700 y(pro)r(cess)26 b(is)i(rep)r(eated)f(three)h(times.)p
eop
%%Page: 8 8
8 7 bop 0 383 a Fm(W)-7 b(e)28 b(use)f(k)n(ernel)f(pro\014ling)g(to)h
(measure)f(page)h(encryption)0 483 y(frequency)-7 b(,)35
b(and)f(the)g(cum)n(ulativ)n(e)f(time)h(of)g(the)g(encryp-)0
582 y(tion)19 b(function.)34 b(The)19 b(k)n(ernel)f(function)h(\\sw)n
(ap)p 1456 582 25 4 v 28 w(encrypt\(\)")0 682 y(is)39
b(called)g(155336)d(times)j(with)h(a)f(cum)n(ulativ)n(e)f(running)0
782 y(time)j(of)g(67)p Ff(:)p Fm(96)e(seconds.)75 b(One)40
b(4)g(KByte)h(page)e(could)0 881 y(b)r(e)28 b(encrypted)f(in)g(0)p
Ff(:)p Fm(44)f(ms,)i(resulting)e(in)i(an)f(encryption)0
981 y(bandwidth)39 b(of)f(8)p Ff(:)p Fm(9)g(MByte/s.)68
b(The)38 b(total)g(amoun)n(t)g(of)0 1080 y(memory)27
b(encrypted)g(is)h(600)e(MByte.)0 1280 y(In)50 b(UVM,)g(writes)g(to)f
(the)h(bac)n(king)f(store)f(are)h(asyn-)0 1379 y(c)n(hronous)27
b(and)h(reads)g(are)f(sync)n(hronous.)38 b(T)-7 b(o)28
b(determine)0 1479 y(if)37 b(I/O)f(is)g(still)h(the)g(b)r(ottlenec)n(k)
f(of)h(the)g(sw)n(apping)e(pro-)0 1579 y(cess,)30 b(w)n(e)f(measured)h
(the)g(run)n(time)g(of)g(the)g(test)g(program)0 1678
y(for)i(di\013eren)n(t)g(memory)g(sizes,)g(with)h(and)f(without)h(sw)n
(ap)0 1778 y(encryption.)88 b(W)-7 b(e)45 b(measure)f(an)g(increase)g
(in)h(run)n(time)0 1877 y(of)36 b(ab)r(out)g(14\045)f(with)i
(encryption.)61 b(T)-7 b(o)36 b(measure)f(asyn-)0 1977
y(c)n(hronous)h(writes,)j(w)n(e)e(mo)r(di\014ed)h(the)f(test)h(program)
d(to)0 2077 y(write)24 b(only)g(to)g(memory)-7 b(.)35
b(The)24 b(run)n(time)g(increase)f(of)h(26\045)0 2176
y(-)19 b(36\045)g(is)h(due)g(to)f(allo)r(cation)g(of)g(new)h(pages)e
(that)i(store)f(the)0 2276 y(encrypted)25 b(pages)f(un)n(til)i(they)g
(are)e(written)i(to)f(disk,)h(th)n(us)0 2376 y(causing)35
b(the)i(system)f(to)g(sw)n(ap)f(more)g(often.)63 b(Figure)35
b(3)0 2475 y(sho)n(ws)26 b(a)i(graph)e(of)i(the)g(results.)-96
4074 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury
2494 @rwi @setspecial
%%BeginDocument: graph2.ps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: graph2.ps
%%Creator: gnuplot 3.7 patchlevel 0
%%CreationDate: Mon Feb  7 08:58:35 2000
%%DocumentFonts: (atend)
%%BoundingBox: 50 50 410 302
%%Orientation: Portrait
%%EndComments
/gnudict 256 dict def
gnudict begin
/Color false def
/Solid false def
/gnulinewidth 5.000 def
/userlinewidth gnulinewidth def
/vshift -46 def
/dl {10 mul} def
/hpt_ 31.5 def
/vpt_ 31.5 def
/hpt hpt_ def
/vpt vpt_ def
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow { currentpoint stroke M
  0 vshift R show } def
/Rshow { currentpoint stroke M
  dup stringwidth pop neg vshift R show } def
/Cshow { currentpoint stroke M
  dup stringwidth pop -2 div vshift R show } def
/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def
/DL { Color {setrgbcolor Solid {pop []} if 0 setdash }
 {pop pop pop Solid {pop []} if 0 setdash} ifelse } def
/BL { stroke gnulinewidth 2 mul setlinewidth } def
/AL { stroke gnulinewidth 2 div setlinewidth } def
/UL { gnulinewidth mul /userlinewidth exch def } def
/PL { stroke userlinewidth setlinewidth } def
/LTb { BL [] 0 0 0 DL } def
/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def
/LT0 { PL [] 1 0 0 DL } def
/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def
/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def
/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def
/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def
/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def
/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def
/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def
/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def
/Pnt { stroke [] 0 setdash
   gsave 1 setlinecap M 0 0 V stroke grestore } def
/Dia { stroke [] 0 setdash 2 copy vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke
  Pnt } def
/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V
  currentpoint stroke M
  hpt neg vpt neg R hpt2 0 V stroke
  } def
/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke
  Pnt } def
/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M
  hpt2 vpt2 neg V currentpoint stroke M
  hpt2 neg 0 R hpt2 vpt2 V stroke } def
/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke
  Pnt  } def
/Star { 2 copy Pls Crs } def
/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M
  0 vpt2 neg V  hpt2 0 V  0 vpt2 V
  hpt2 neg 0 V  closepath fill } def
/TriUF { stroke [] 0 setdash vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath fill } def
/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
  hpt neg vpt 1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt -1.62 mul V closepath stroke
  Pnt  } def
/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M
  hpt neg vpt 1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt -1.62 mul V closepath fill} def
/DiaF { stroke [] 0 setdash vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath fill } def
/Pent { stroke [] 0 setdash 2 copy gsave
  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
  closepath stroke grestore Pnt } def
/PentF { stroke [] 0 setdash gsave
  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
  closepath fill grestore } def
/Circle { stroke [] 0 setdash 2 copy
  hpt 0 360 arc stroke Pnt } def
/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def
/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450  arc } bind def
/C1 { BL [] 0 setdash 2 copy        moveto
       2 copy  vpt 0 90 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C2 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 90 180 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C3 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 0 180 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C4 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 180 270 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C5 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 0 90 arc
       2 copy moveto
       2 copy  vpt 180 270 arc closepath fill
               vpt 0 360 arc } bind def
/C6 { BL [] 0 setdash 2 copy moveto
      2 copy  vpt 90 270 arc closepath fill
              vpt 0 360 arc closepath } bind def
/C7 { BL [] 0 setdash 2 copy moveto
      2 copy  vpt 0 270 arc closepath fill
              vpt 0 360 arc closepath } bind def
/C8 { BL [] 0 setdash 2 copy moveto
      2 copy vpt 270 360 arc closepath fill
              vpt 0 360 arc closepath } bind def
/C9 { BL [] 0 setdash 2 copy moveto
      2 copy  vpt 270 450 arc closepath fill
              vpt 0 360 arc closepath } bind def
/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
       2 copy moveto
       2 copy vpt 90 180 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C11 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 0 180 arc closepath fill
       2 copy moveto
       2 copy  vpt 270 360 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C12 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 180 360 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C13 { BL [] 0 setdash  2 copy moveto
       2 copy  vpt 0 90 arc closepath fill
       2 copy moveto
       2 copy  vpt 180 360 arc closepath fill
               vpt 0 360 arc closepath } bind def
/C14 { BL [] 0 setdash 2 copy moveto
       2 copy  vpt 90 360 arc closepath fill
               vpt 0 360 arc } bind def
/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
               vpt 0 360 arc closepath } bind def
/Rec   { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
       neg 0 rlineto closepath } bind def
/Square { dup Rec } bind def
/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def
/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def
/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def
/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def
/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill
       exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def
/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def
/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
       2 copy vpt Square fill
       Bsquare } bind def
/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def
/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def
/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
       Bsquare } bind def
/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
       Bsquare } bind def
/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def
/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
       2 copy vpt Square fill Bsquare } bind def
/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
       2 copy exch vpt sub exch vpt Square fill Bsquare } bind def
/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def
/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def
/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def
/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def
/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def
/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def
/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def
/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def
/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def
/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def
/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def
/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def
/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def
/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def
/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def
/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def
/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def
/DiaE { stroke [] 0 setdash vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V closepath stroke } def
/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V closepath stroke } def
/TriUE { stroke [] 0 setdash vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V closepath stroke } def
/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M
  hpt neg vpt 1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt -1.62 mul V closepath stroke } def
/PentE { stroke [] 0 setdash gsave
  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
  closepath stroke grestore } def
/CircE { stroke [] 0 setdash 
  hpt 0 360 arc stroke } def
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
/DiaW { stroke [] 0 setdash vpt add M
  hpt neg vpt neg V hpt vpt neg V
  hpt vpt V hpt neg vpt V Opaque stroke } def
/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M
  0 vpt2 neg V hpt2 0 V 0 vpt2 V
  hpt2 neg 0 V Opaque stroke } def
/TriUW { stroke [] 0 setdash vpt 1.12 mul add M
  hpt neg vpt -1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt 1.62 mul V Opaque stroke } def
/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M
  hpt neg vpt 1.62 mul V
  hpt 2 mul 0 V
  hpt neg vpt -1.62 mul V Opaque stroke } def
/PentW { stroke [] 0 setdash gsave
  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
  Opaque stroke grestore } def
/CircW { stroke [] 0 setdash 
  hpt 0 360 arc Opaque stroke } def
/BoxFill { gsave Rec 1 setgray fill grestore } def
end
%%EndProlog
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
newpath
(Helvetica) findfont 140 scalefont setfont
1.000 UL
LTb
630 420 M
63 0 V
6269 0 R
-63 0 V
546 420 M
(0) Rshow
630 1162 M
63 0 V
6269 0 R
-63 0 V
-6353 0 R
(50) Rshow
630 1904 M
63 0 V
6269 0 R
-63 0 V
-6353 0 R
(100) Rshow
630 2646 M
63 0 V
6269 0 R
-63 0 V
-6353 0 R
(150) Rshow
630 3388 M
63 0 V
6269 0 R
-63 0 V
-6353 0 R
(200) Rshow
630 4130 M
63 0 V
6269 0 R
-63 0 V
-6353 0 R
(250) Rshow
630 4872 M
63 0 V
6269 0 R
-63 0 V
-6353 0 R
(300) Rshow
918 420 M
0 63 V
0 4389 R
0 -63 V
918 280 M
(100) Cshow
2069 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(120) Cshow
3220 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(140) Cshow
4372 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(160) Cshow
5523 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(180) Cshow
6674 420 M
0 63 V
0 4389 R
0 -63 V
0 -4529 R
(200) Cshow
1.000 UL
LTb
630 420 M
6332 0 V
0 4452 V
-6332 0 V
630 420 L
140 2646 M
currentpoint gsave translate 90 rotate 0 0 M
(runtime in seconds) Cshow
grestore
3796 70 M
(allocated memory in MByte) Cshow
1.000 UP
1.000 UL
LT0
918 436 M
0 2 V
-31 -2 R
62 0 V
-62 2 R
62 0 V
2069 2533 M
0 145 V
-31 -145 R
62 0 V
-62 145 R
62 0 V
1120 685 R
0 58 V
-31 -58 R
62 0 V
-62 58 R
62 0 V
1121 381 R
0 81 V
-31 -81 R
62 0 V
-62 81 R
62 0 V
1120 327 R
0 70 V
-31 -70 R
62 0 V
-62 70 R
62 0 V
1120 353 R
0 127 V
-31 -127 R
62 0 V
-62 127 R
62 0 V
918 437 Pls
2069 2605 Pls
3220 3392 Pls
4372 3842 Pls
5523 4245 Pls
6674 4696 Pls
1.000 UP
1.000 UL
LT0
918 436 M
0 2 V
-31 -2 R
62 0 V
-62 2 R
62 0 V
2069 2660 M
0 45 V
-31 -45 R
62 0 V
-62 45 R
62 0 V
1120 331 R
0 4 V
-31 -4 R
62 0 V
-62 4 R
62 0 V
1121 376 R
0 3 V
-31 -3 R
62 0 V
-62 3 R
62 0 V
1120 349 R
0 69 V
-31 -69 R
62 0 V
-62 69 R
62 0 V
1120 314 R
0 8 V
-31 -8 R
62 0 V
-62 8 R
62 0 V
918 437 Pls
2069 2683 Pls
3220 3038 Pls
4372 3417 Pls
5523 3803 Pls
6674 4155 Pls
1.000 UP
1.000 UL
LT2
3906 4739 M
(seq. read and write with encryption) Rshow
3990 4739 M
399 0 V
918 437 M
2069 2605 L
1151 787 V
1152 450 V
1151 403 V
1151 451 V
918 437 Star
2069 2605 Star
3220 3392 Star
4372 3842 Star
5523 4245 Star
6674 4696 Star
4189 4739 Star
1.000 UP
1.000 UL
LT3
3906 4599 M
(seq. read and write without encryption) Rshow
3990 4599 M
399 0 V
918 437 M
2069 2683 L
1151 355 V
1152 379 V
1151 386 V
1151 352 V
918 437 Box
2069 2683 Box
3220 3038 Box
4372 3417 Box
5523 3803 Box
6674 4155 Box
4189 4599 Box
1.000 UP
1.000 UL
LT0
918 437 M
-31 0 R
62 0 V
-62 0 R
62 0 V
1120 32 R
0 16 V
-31 -16 R
62 0 V
-62 16 R
62 0 V
1120 30 R
0 2 V
-31 -2 R
62 0 V
-62 2 R
62 0 V
1121 43 R
0 6 V
-31 -6 R
62 0 V
-62 6 R
62 0 V
1120 41 R
0 8 V
-31 -8 R
62 0 V
-62 8 R
62 0 V
1120 46 R
0 4 V
-31 -4 R
62 0 V
-62 4 R
62 0 V
918 437 Pls
2069 477 Pls
3220 516 Pls
4372 563 Pls
5523 611 Pls
6674 663 Pls
1.000 UP
1.000 UL
LT0
918 437 M
-31 0 R
62 0 V
-62 0 R
62 0 V
1120 22 R
0 11 V
-31 -11 R
62 0 V
-62 11 R
62 0 V
1120 25 R
0 1 V
-31 -1 R
62 0 V
-62 1 R
62 0 V
1121 33 R
0 2 V
-31 -2 R
62 0 V
-62 2 R
62 0 V
1120 33 R
0 1 V
-31 -1 R
62 0 V
-62 1 R
62 0 V
1120 32 R
0 2 V
-31 -2 R
62 0 V
-62 2 R
62 0 V
918 437 Pls
2069 465 Pls
3220 496 Pls
4372 530 Pls
5523 564 Pls
6674 598 Pls
1.000 UL
LT0
3906 4459 M
(seq. write with encryption) Rshow
3990 4459 M
399 0 V
918 437 M
1151 40 V
1151 39 V
1152 47 V
1151 48 V
1151 52 V
1.000 UL
LT1
3906 4319 M
(seq. write without encryption) Rshow
3990 4319 M
399 0 V
918 437 M
1151 28 V
1151 31 V
1152 34 V
1151 34 V
1151 34 V
stroke
grestore
end
showpage
%%Trailer
%%DocumentFonts: Helvetica

%%EndDocument
 @endspecial 0 4248 a Fl(Figur)l(e)48 b(3:)74 b Fd(Performanc)l(e)46
b(di\013er)l(enc)l(e)f(b)l(etwe)l(en)h(swap)e(en-)0 4340
y(cryption)31 b(and)f(normal)g(swapping)g(when)g(p)l(ages)h(ar)l(e)f
(ac)l(c)l(esse)l(d)0 4431 y(se)l(quential)t(ly,)53 b(il)t(lustr)l
(ating)48 b(the)g(di\013er)l(enc)l(e)h(b)l(etwe)l(en)g(asyn-)0
4522 y(chr)l(onous)29 b(write)f(and)g(synchr)l(onous)j(r)l(e)l(ads.)0
4875 y Fk(5.2)105 b(Macro)36 b(Benc)m(hmark)0 5202 y
Fm(T)-7 b(o)46 b(judge)h(the)f(impact)h(of)f(sw)n(ap)g(encryption)g(on)
g(ap-)0 5301 y(plication)37 b(programs,)h(w)n(e)f(used)h(ImageMagic)n
(k)d(to)i(pro-)0 5401 y(cess)f(a)g(960)23 b Fg(\002)h
Fm(1280)34 b(image)i(with)h(a)f(16-bit)f(colorspace.)0
5501 y(The)29 b(image)g(w)n(as)f(magni\014ed)g(and)h(then)h(rotated)e
(b)n(y)h(24)1801 5471 y Fe(o)1837 5501 y Fm(.)0 5600
y(The)d(run)n(times)g(for)g(di\013eren)n(t)h(magni\014cation)e(factors)
g(are)0 5700 y(sho)n(wn)i(in)h(T)-7 b(able)27 b(1.)p
2010 303 1899 4 v 2008 403 4 100 v 2375 403 V 2492 373
a(No)g(Encryption)p 3141 403 V 294 w(Encryption)p 3907
403 V 2010 406 1899 4 v 2008 506 4 100 v 2066 476 a(Magni-)p
2375 506 V 136 w(Ma)5 b(jor)p 2729 506 V 99 w(Run)n(time)p
3141 506 V 132 w(Ma)g(jor)p 3495 506 V 98 w(Run)n(time)p
3907 506 V 2008 606 V 2060 576 a(\014cation)p 2375 606
V 130 w(F)-7 b(aults)p 2729 606 V 144 w(\(in)28 b(sec\))p
3141 606 V 131 w(F)-7 b(aults)p 3495 606 V 144 w(\(in)28
b(sec\))p 3907 606 V 2010 609 1899 4 v 2010 625 V 2008
725 4 100 v 2115 695 a(2)p Ff(:)p Fm(30)p Fg(\002)p 2375
725 V 98 w Fm(0.4)f(10)2645 665 y Fj(3)p 2729 725 V 2977
695 a Fm(49s)p 3141 725 V 99 w(0.4)f(10)3410 665 y Fj(3)p
3495 725 V 3743 695 a Fm(49s)p 3907 725 V 2010 728 1899
4 v 2008 828 4 100 v 2115 798 a(2)p Ff(:)p Fm(35)p Fg(\002)p
2375 828 V 121 w Fm(19)h(10)2645 768 y Fj(3)p 2729 828
V 2936 798 a Fm(145s)p 3141 828 V 121 w(18)f(10)3410
768 y Fj(3)p 3495 828 V 3702 798 a Fm(147s)p 3907 828
V 2010 831 1899 4 v 2008 931 4 100 v 2115 901 a(2)p Ff(:)p
Fm(40)p Fg(\002)p 2375 931 V 121 w Fm(22)h(10)2645 871
y Fj(3)p 2729 931 V 2936 901 a Fm(169s)p 3141 931 V 121
w(22)f(10)3410 871 y Fj(3)p 3495 931 V 3702 901 a Fm(180s)p
3907 931 V 2010 934 1899 4 v 2008 1034 4 100 v 2115 1004
a(2)p Ff(:)p Fm(50)p Fg(\002)p 2375 1034 V 121 w Fm(24)h(10)2645
974 y Fj(3)p 2729 1034 V 2936 1004 a Fm(179s)p 3141 1034
V 121 w(24)f(10)3410 974 y Fj(3)p 3495 1034 V 3702 1004
a Fm(276s)p 3907 1034 V 2010 1037 1899 4 v 2010 1186
a Fl(T)-6 b(able)36 b(1:)50 b(R)n(untime)33 b(of)j(image)g(pr)l(o)l(c)l
(essing)g(to)l(ol)f(for)h(dif-)2010 1286 y(fer)l(ent)30
b(magni\014c)l(ation)g(factors.)2010 1545 y Fm(The)j(table)g(compares)e
(the)i(ma)5 b(jor)32 b(faults)h(and)f(program)2010 1644
y(run)n(time)g(for)f(a)g(system)h(that)g(do)r(es)f(not)h(use)g
(encryption)2010 1744 y(against)25 b(a)g(system)g(that)h(do)r(es.)36
b(A)26 b(ma)5 b(jor)25 b(fault)h(is)g(a)f(page)2010 1844
y(fault)35 b(that)f(requires)f(I/O)g(to)i(service)e(it,)j(and)e(do)r
(es)g(not)2010 1943 y(tak)n(e)g(in)n(to)g(accoun)n(t)g(the)h(pages)e
(that)i(ha)n(v)n(e)f(b)r(een)h(paged)2010 2043 y(out)28
b(b)n(y)f(the)h(paging)e(daemon.)2010 2242 y(With)38
b(increasing)e(magni\014cation)g(factor,)j(the)f(w)n(orking)2010
2342 y(set)c(size)f(of)h(the)g(program)e(gro)n(ws)g(larger.)54
b(W)-7 b(e)34 b(measure)2010 2441 y(a)28 b(sharp)g(increase)f(of)h(the)
h(running)g(time)g(with)g(sw)n(ap)e(en-)2010 2541 y(cryption)e(for)h(a)
f(magni\014cation)g(factor)g(of)h(2)p Ff(:)p Fm(5.)35
b(Ho)n(w)n(ev)n(er,)2010 2641 y(for)21 b(the)h(other)f(magni\014cation)
g(factors)f(the)i(program)e(run-)2010 2740 y(time)30
b(is)f(not)g(a\013ected)h(that)f(m)n(uc)n(h,)h(ev)n(en)f(though)g
(nearly)2010 2840 y(half)24 b(of)g(the)g(program's)e(memory)h(w)n(as)g
(on)h(bac)n(king)f(store.)2010 2940 y(Th)n(us,)37 b(w)n(e)e(b)r(eliev)n
(e)h(that)f(the)h(o)n(v)n(erhead)d(caused)i(b)n(y)g(en-)2010
3039 y(cryption)27 b(is)g(tolerable.)2010 3451 y Fn(6)112
b(Conclusion)2010 3747 y Fm(Con\014den)n(tial)27 b(data)g(can)g(remain)
f(on)h(bac)n(king)f(store)h(long)2010 3847 y(after)37
b(the)h(pro)r(cess)f(to)g(whic)n(h)h(the)g(data)f(originally)f(b)r(e-)
2010 3946 y(longed)28 b(has)g(terminated.)41 b(This)28
b(is)h(con)n(trary)e(to)i(a)f(user's)2010 4046 y(exp)r(ectations)45
b(that)h(all)g(con\014den)n(tial)f(data)g(is)h(deleted)2010
4145 y(with)41 b(the)h(termination)e(of)h(the)g(pro)r(cess.)76
b(An)41 b(in)n(v)n(esti-)2010 4245 y(gation)23 b(of)h(secondary)e
(storage)h(of)h(mac)n(hines)f(at)h(the)g(Cen-)2010 4345
y(ter)h(for)f(Information)g(T)-7 b(ec)n(hnology)23 b(In)n(tegration)h
(rev)n(ealed)2010 4444 y(v)n(ery)31 b(con\014den)n(tial)i(information,)
g(suc)n(h)f(as)g(the)h(author's)2010 4544 y(PGP)27 b(pass)g(phrase.)
2010 4743 y(W)-7 b(e)32 b(in)n(v)n(estigate)e(sev)n(eral)g(alternativ)n
(e)g(solutions)h(to)h(pre-)2010 4843 y(v)n(en)n(t)38
b(con\014den)n(tial)h(data)f(from)h(remaining)f(on)g(bac)n(king)2010
4942 y(store,)26 b Fl(e.g.)38 b Fm(erasing)26 b(data)g(ph)n(ysically)g
(from)h(the)g(bac)n(king)2010 5042 y(store)j(after)g(pages)g(on)h(it)g
(b)r(ecome)g(unreferenced.)46 b(Ho)n(w-)2010 5142 y(ev)n(er,)23
b(w)n(e)g(\014nd)h(that)f(encryption)g(of)g(data)g(on)g(the)g(bac)n
(king)2010 5241 y(store)30 b(with)i(v)n(olatile)f(random)f(k)n(eys)g
(has)h(sev)n(eral)f(adv)-5 b(an-)2010 5341 y(tages)27
b(o)n(v)n(er)e(other)i(approac)n(hes:)2093 5600 y Fg(\017)41
b Fm(The)32 b(con)n(ten)n(t)f(of)g(a)g(page)g(disapp)r(ears)f(when)i
(its)g(re-)2176 5700 y(sp)r(ectiv)n(e)h(encryption)f(k)n(ey)g(is)h
(deleted,)i(a)d(v)n(ery)g(fast)p eop
%%Page: 9 9
9 8 bop 166 383 a Fm(op)r(eration.)83 567 y Fg(\017)41
b Fm(Encryption)35 b(pro)n(vides)f(protection)h(against)g(ph)n(ysi-)166
667 y(cal)f(attac)n(ks,)h Fl(e.g.)58 b Fm(an)34 b(attac)n(k)n(er)e
(stealing)i(the)g(disk)166 766 y(that)28 b(con)n(tains)f(the)h(sw)n(ap)
e(partition)0 1041 y(Encryption)32 b(enables)g(us)g(to)h(mak)n(e)f(the)
h(guaran)n(tee)e(that)0 1141 y(unreferenced)22 b(pages)f(on)h(the)h
(bac)n(king)e(store)g(b)r(ecome)h(un-)0 1240 y(readable)e(after)h(a)g
(suitable)g(time)h(p)r(erio)r(d)f(upp)r(er)h(b)r(ounded)0
1340 y(b)n(y)27 b(system)h(uptime)g(has)f(passed.)0 1539
y(W)-7 b(e)27 b(ha)n(v)n(e)e(demonstrated)g(that)i(the)f(p)r
(erformance)g(of)g(our)0 1639 y(encryption)d(system)h(is)g(acceptable,)
g(and)g(it)g(pro)n(v)n(es)e(to)i(b)r(e)0 1738 y(a)j(viable)g(solution.)
0 1938 y(The)55 b(soft)n(w)n(are)f(is)h(freely)g(a)n(v)-5
b(ailable)53 b(as)i(part)g(of)g(the)0 2037 y(Op)r(enBSD)20
b(op)r(erating)f(sytem)h(and)g(can)g(also)f(b)r(e)h(obtained)0
2137 y(b)n(y)27 b(con)n(tacting)g(the)h(author.)0 2561
y Fn(7)112 b(Ac)m(kno)m(wledgmen)m(ts)0 2869 y Fm(I)45
b(thank)f(P)n(atric)n(k)f(McDaniel)h(and)h(m)n(y)f(advisor)f(P)n(eter)0
2969 y(Honeyman)20 b(for)f(careful)h(reviews)f(and)h(helpful)h(commen)n
(ts)0 3068 y(on)44 b(the)h(organization)e(of)h(this)h(pap)r(er.)88
b(I)45 b(also)e(thank)0 3168 y(Ch)n(uc)n(k)32 b(Lev)n(er)f(for)h
(getting)h(me)g(in)n(terested)f(in)h(sw)n(ap)e(en-)0
3268 y(cryption,)43 b(Artur)e(Grab)r(o)n(wski)e(for)h(impro)n(ving)g(m)
n(y)g(un-)0 3367 y(derstanding)27 b(of)h(UVM)g(and)g(Da)n(vid)f(W)-7
b(agner)27 b(for)g(helpful)0 3467 y(feedbac)n(k)g(on)g(cipher)h
(selection.)0 3891 y Fn(References)38 4112 y Fb([1])43
b(R.)34 b(Anderson,)j(R.)e(Needham,)g(and)g(A.)f(Shamir.)61
b(The)161 4203 y(Steganographic)29 b(File)f(System.)39
b(In)27 b Fd(Pr)l(o)l(c)l(e)l(e)l(dings)32 b(of)d(the)161
4295 y(Information)e(Hiding)h(Workshop)p Fb(,)f(April)e(1998.)38
4428 y([2])43 b(A.)21 b(App)r(el)f(and)g(K.)h(Li.)26
b(Virtual)21 b(Memory)f(Primitiv)n(es)h(for)161 4520
y(User)27 b(Programs.)40 b(In)27 b Fd(Pr)l(o)l(c)l(e)l(e)l(dings)k(of)e
(the)h(4th)f(Interna-)161 4611 y(tional)22 b(Confer)l(enc)l(e)h(on)g(A)
n(r)l(chite)l(ctur)l(al)h(Supp)l(ort)g(for)e(Pr)l(o-)161
4702 y(gr)l(amming)i(L)l(anguages)i(and)e(Op)l(er)l(ating)i(Systems)p
Fb(,)e(April)161 4794 y(1991.)38 4927 y([3])43 b(Alex)27
b(Biryuk)n(o)n(v)g(and)g(Ey)n(al)h(Kushilevitz.)40 b(F)-6
b(rom)26 b(Di\013er-)161 5018 y(en)n(tial)39 b(Cryptanalysis)h(to)f
(Ciphertext-Only)e(A)n(ttac)n(ks.)161 5110 y(In)h Fd(Pr)l(o)l(c)l(e)l
(e)l(dings)k(of)d(the)h(A)l(dvanc)l(es)h(in)e(Cryptolo)l(gy)j(|)161
5201 y(CR)-6 b(YPTO)36 b('98)p Fb(,)i(pages)e(72{88.)i(Springer-V)-6
b(erlag,)38 b(Au-)161 5292 y(gust)26 b(1998.)38 5426
y([4])43 b(Matt)25 b(Blaze.)33 b(A)24 b(Cryptographic)h(Filesystem)f
(for)i(Unix.)161 5517 y(In)40 b Fd(Pr)l(o)l(c)l(e)l(e)l(dings)k(of)d
(the)i(First)f(A)n(CM)g(Confer)l(enc)l(e)h(on)161 5609
y(Computer)29 b(and)f(Communic)l(ations)h(Se)l(curity)p
Fb(,)e(pages)g(9{)161 5700 y(16,)g(No)n(v)n(em)n(b)r(er)d(1993.)2048
383 y([5])43 b(Matt)36 b(Blaze.)66 b(Key)35 b(Managemen)n(t)g(in)h(an)f
(Encrypting)2171 474 y(File)d(System.)49 b(In)30 b Fd(Pr)l(o)l(c)l(e)l
(e)l(dings)35 b(of)d(the)h(1994)g(USENIX)2171 566 y(Summer)g(T)-6
b(e)l(chnic)l(al)34 b(Confer)l(enc)l(e)p Fb(,)g(pages)f(27{35,)i(June)
2171 657 y(1994.)2048 785 y([6])43 b(G.)62 b(Cattaneo)h(and)e(G.)h(P)n
(ersiano.)143 b(Design)62 b(and)2171 876 y(Implemen)n(tation)43
b(of)i(a)h(T)-6 b(ransparen)n(t)44 b(Cryptographic)2171
968 y(Filesystem)37 b(for)h(Unix.)67 b(Unpublished)35
b(T)-6 b(ec)n(hnical)38 b(Re-)2171 1059 y(p)r(ort,)52
b(July)47 b(1997.)99 b Fa(ftp://edu-gw.dia.unisa.it/)2171
1150 y(pub/tcfs/docs/tcfs.ps.gz)p Fb(.)2048 1278 y([7])43
b(Charles)g(D.)g(Cranor)g(and)f(Gurudatta)g(M.)g(P)n(arulk)l(ar.)2171
1370 y(The)24 b(UVM)e(Virtual)i(Memory)f(System.)29 b(In)23
b Fd(Pr)l(o)l(c)l(e)l(e)l(dings)2171 1461 y(of)g(the)h(1999)g(USENIX)g
(A)n(nnual)f(T)-6 b(e)l(chnic)l(al)24 b(Confer)l(enc)l(e)p
Fb(,)2171 1552 y(pages)i(117{130,)j(June)d(1999.)2048
1680 y([8])43 b(Joaen)20 b(Daemen)e(and)h(Vincen)n(t)f(Rijmen.)23
b(AES)c(Prop)r(osal:)2171 1772 y(Rijndael.)69 b(AES)37
b(submission,)j(June)d(1998.)70 b Fa(http://)2171 1863
y(www.esat.kuleuven.ac.be/~rijm)q(en/ri)q(jnda)q(el/)p
Fb(.)2048 1991 y([9])43 b(Whit\014eld)62 b(Di\016e,)72
b(P)n(aul)63 b(C.)g(v)l(an)f(Oorsc)n(hot,)72 b(and)2171
2082 y(Mic)n(hael)34 b(J.)f(Wiener.)54 b(Authen)n(tication)32
b(and)g(authen)n(ti-)2171 2174 y(cated)26 b(k)n(ey)e(exc)n(hanges.)34
b Fd(Designs,)28 b(Co)l(des)g(and)g(Crypto)l(g-)2171
2265 y(r)l(aphy)p Fb(,)f(2\(2\):107{125,)j(June)25 b(1992.)2010
2393 y([10])43 b(F)-6 b(red)26 b(Douglis.)36 b(The)26
b(Compression)h(Cac)n(he:)36 b(Using)26 b(On-)2171 2484
y(Line)31 b(Compression)g(to)f(Extend)g(Ph)n(ysial)h(Memory.)49
b(In)2171 2576 y Fd(Pr)l(o)l(c)l(e)l(e)l(dings)37 b(of)e(1993)g(Winter)
h(USENIX)e(Confer)l(enc)l(e)p Fb(,)2171 2667 y(pages)26
b(519{529,)j(1993.)2010 2795 y([11])43 b(Berk)n(e)29
b(Durak.)43 b(Hidden)28 b(Data)h(T)-6 b(ransmission)30
b(b)n(y)e(Con-)2171 2886 y(trolling)40 b(Electromagnetic)f(Emanations)g
(of)g(Comput-)2171 2978 y(ers.)c(W)-6 b(ebpage.)2171
3069 y Fa(http://altern.org/berke/tempe)q(st/)p Fb(.)2010
3197 y([12])43 b(Niels)j(F)-6 b(erguson,)51 b(John)45
b(Kelsey)-6 b(,)51 b(Mik)n(e)45 b(Sta)n(y)-6 b(,)50 b(Da)n(vid)2171
3288 y(W)-6 b(agner,)24 b(and)e(Bruce)h(Sc)n(hneier.)29
b(Impro)n(v)n(ed)21 b(Cryptanal-)2171 3379 y(ysis)d(of)h(Rijndael.)j
(In)17 b Fd(F)-6 b(ast)22 b(Softwar)l(e)f(Encryption)h(Work-)2171
3471 y(shop)28 b(2000)p Fb(,)f(April)f(2000.)2010 3599
y([13])43 b(Brian)30 b(Gladman.)43 b(AES)29 b(Algorithm)f(E\016ciency)
-6 b(.)44 b(W)-6 b(eb-)2171 3690 y(page.)2171 3781 y
Fa(http://www.btinternet.com/~br)q(ian.g)q(ladm)q(an/)2171
3873 y(cryptography)p 2644 3873 24 4 v 31 w(technology/aes/index.html)p
Fb(.)2010 4001 y([14])43 b(Oded)i(Goldreic)n(h.)96 b
Fd(Mo)l(dern)47 b(Crypto)l(gr)l(aphy,)53 b(Pr)l(ob)l(a-)2171
4092 y(bilistic)34 b(Pr)l(o)l(ofs)i(and)f(Pseudo-r)l(andomness)p
Fb(.)62 b(Springer-)2171 4183 y(V)-6 b(erlag,)26 b(1999.)2010
4311 y([15])43 b(Jo)n(v)l(an)23 b(Dj.)g(Goli)n(\023)-36
b(c.)30 b(Linear)24 b(Statistical)g(W)-6 b(eakness)22
b(of)h(Al-)2171 4403 y(leged)g(R)n(C4)g(Keystream)f(Generator.)30
b(In)22 b Fd(Pr)l(o)l(c)l(e)l(e)l(dings)27 b(of)2171
4494 y(the)c(A)l(dvanc)l(es)i(in)d(Cryptolo)l(gy)j(|)d(Eur)l(o)l(crypt)
j('97)p Fb(,)d(pages)2171 4585 y(226{238.)29 b(Springer-V)-6
b(erlag,)26 b(Ma)n(y)f(1997.)2010 4713 y([16])43 b(P)n(eter)18
b(Gutmann.)h(Secure)e(Deletion)h(of)g(Data)g(from)f(Mag-)2171
4805 y(netic)i(and)f(Solid-State)g(Memory)-6 b(.)22 b(In)c
Fd(Pr)l(o)l(c)l(e)l(e)l(dings)23 b(of)e(the)2171 4896
y(Sixth)35 b(USENIX)f(Se)l(curity)j(Symp)l(osium)p Fb(,)e(pages)g
(77{89,)2171 4987 y(July)26 b(1996.)2010 5115 y([17])43
b(P)n(eter)25 b(Gutmann.)30 b(Soft)n(w)n(are)c(Generation)f(of)g
(Practially)2171 5207 y(Strong)37 b(Random)f(Num)n(b)r(ers.)67
b(In)37 b Fd(Pr)l(o)l(c)l(e)l(e)l(dings)j(of)e(the)2171
5298 y(Seventh)31 b(USENIX)d(Se)l(curity)j(Symp)l(osium)p
Fb(,)d(pages)g(243{)2171 5389 y(255,)f(June)f(1998.)2010
5517 y([18])43 b(J.)26 b(Hastad,)g(R.)f(Impagliazzo,)i(L.)e(Levin,)g
(and)g(M.)h(Lub)n(y)-6 b(.)2171 5609 y(Construction)19
b(of)g(Pseudorandom)f(Generator)h(from)g(an)n(y)2171
5700 y(One-W)-6 b(a)n(y)24 b(F)-6 b(unction,)25 b(1993.)p
eop
%%Page: 10 10
10 9 bop 0 383 a Fb([19])43 b(J.)23 b(Heidemann)d(and)i(G.)h(P)n(op)r
(ek.)29 b(File-System)21 b(Dev)n(elop-)161 474 y(men)n(t)f(with)h(Stac)
n(k)l(able)g(La)n(y)n(ers.)28 b Fd(A)n(CM)23 b(T)-6 b(r)l(ansactions)26
b(on)161 566 y(Computer)j(Systems)p Fb(,)e(12\(1\):58{89,)i(F)-6
b(ebruary)25 b(1994.)0 690 y([20])43 b(Maurice)26 b(P)-6
b(.)25 b(Herlih)n(y)f(and)g(J.)i(D.)e(T)n(ygar.)34 b(Ho)n(w)25
b(to)g(Mak)n(e)161 782 y(Replicated)i(Data)g(Secure.)38
b(In)26 b Fd(Pr)l(o)l(c)l(e)l(e)l(dings)31 b(of)e(the)g(A)l(d-)161
873 y(vanc)l(es)37 b(in)d(Cryptolo)l(gy)j(-)f(CR)-6 b(YPTO)34
b('87)p Fb(,)j(pages)d(379{)161 964 y(391.)27 b(Springer-V)-6
b(erlag,)26 b(1988.)0 1089 y([21])43 b(Theo)21 b(de)f(Raadt,)h(Niklas)g
(Hallqvist,)h(Artur)d(Grab)r(o)n(wski,)161 1180 y(Angelos)38
b(D.)g(Kerom)n(ytis,)h(and)e(Niels)i(Pro)n(v)n(os.)70
b(Cryp-)161 1271 y(tograph)n(y)30 b(in)f(Op)r(enBSD:)h(An)f(Ov)n
(erview.)46 b(In)30 b Fd(Pr)l(o)l(c)l(e)l(e)l(d-)161
1363 y(ings)d(of)g(the)h(USENIX)e(A)n(nnual)h(T)-6 b(e)l(chnic)l(al)28
b(Confer)l(enc)l(e,)161 1454 y(FREENIX)f(T)-6 b(r)l(ack)p
Fb(,)27 b(June)f(1999.)0 1579 y([22])43 b(R.)23 b(L.)g(Riv)n(est.)29
b(The)23 b(MD5)h(Message)h(Digest)e(Algorithm.)161 1670
y(RF)n(C)j(1321,)h(April)f(1992.)0 1794 y([23])43 b(Bruce)c(Sc)n
(hneier.)74 b(Description)40 b(of)f(a)h(New)f(V)-6 b(ariable-)161
1886 y(Length)37 b(Key)-6 b(,)39 b(64-Bit)f(Blo)r(c)n(k)g(Cipher)f
(\(Blo)n(w\014sh\).)70 b(In)161 1977 y Fd(F)-6 b(ast)62
b(Softwar)l(e)g(Encryption,)71 b(Cambridge)61 b(Se)l(curity)161
2068 y(Workshop)46 b(Pr)l(o)l(c)l(e)l(e)l(dings)p Fb(,)51
b(pages)45 b(191{204.)i(Springer-)161 2160 y(V)-6 b(erlag,)26
b(Decem)n(b)r(er)f(1993.)0 2284 y([24])43 b(Bruce)38
b(Sc)n(hneier)e(and)h(John)h(Kelsey)-6 b(.)68 b(Cryptographic)161
2376 y(Supp)r(ort)19 b(for)h(Secure)f(Logs)i(on)e(Un)n(trusted)f(Mac)n
(hines.)26 b(In)161 2467 y Fd(Pr)l(o)l(c)l(e)l(e)l(dings)j(of)e(the)h
(Seventh)g(USENIX)f(Se)l(curity)h(Sym-)161 2558 y(p)l(osium)p
Fb(,)e(pages)h(53{62,)h(Jan)n(uary)d(1998.)0 2683 y([25])43
b(RSA)36 b(Data)h(Securit)n(y)-6 b(.)67 b(The)37 b(R)n(C4)g(Encryption)
g(Algo-)161 2774 y(rithm,)25 b(Marc)n(h)h(1992.)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF