%!PS-Adobe-2.0%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software%%Title: 09.dvi%%Pages: 27%%PageOrder: Ascend%%BoundingBox: 0 0 595 842%%DocumentFonts: Times-Bold ComicSansMS CMBX12 CMMIB10 CMBSY10 CMTT12%%+ CMBX8 CMBX10 CMBXTI10 CMBX7 ComicSansMS-Bold%%EndComments%DVIPSWebPage: (www.radicaleye.com)%DVIPSCommandLine: dvips 09.dvi -o 09.ps%DVIPSParameters: dpi=600%DVIPSSource: TeX output 2005.07.02:0955%%BeginProcSet: tex.pro 0 0%!/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{SN}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 00 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsizemul 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 roundexch 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}2array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat Ndf-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn Adefinefont 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 ctr1 add N}if}B/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 Cysetcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemaskrestore}B/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 Amul 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 X1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4index 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 0exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelseend{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemaskgrestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch roundexch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlinetofill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S pdelta 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 Srmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end%%EndProcSet%%BeginProcSet: pstricks.pro 0 0%!% PostScript prologue for pstricks.tex.% Version 97 patch 4, 04/05/10% For distribution, see pstricks.tex.%/tx@Dict 200 dict def tx@Dict begin/ADict 25 dict def/CM { matrix currentmatrix } bind def/SLW /setlinewidth load def/CLW /currentlinewidth load def/CP /currentpoint load def/ED { exch def } bind def/L /lineto load def/T /translate load def/TMatrix { } def/RAngle { 0 } def/Atan { /atan load stopped { pop pop 0 } if } def/Div { dup 0 eq { pop } { div } ifelse } def/NET { neg exch neg exch T } def/Pyth { dup mul exch dup mul add sqrt } def/PtoC { 2 copy cos mul 3 1 roll sin mul } def/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def }def/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ }/pathforall load stopped { pop pop pop pop } if z } def/STP { .996264 dup scale } def/STV { SDict begin normalscale end STP } def%%%-------------- DG begin patch 15 ---------------%%%/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def%PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y%mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul%/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ]%0 } ifelse setdash stroke } def/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse /b ED /x1 ED /y1 ED /x ED /y ED /z y x add y1 add x1 add def /Coef b a .5 sub 2 mul y mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div def /y y Coef mul def /x x Coef mul def /y1 y1 Coef mul def /x1 x1 Coef mul def x1 0 gt y1 0 gt x 0 gt y 0 gt and { [ y x y1 x1 ] 1 a sub y mul} { [ 1 0] 0 } ifelse setdash stroke} def%%-------------- DG end patch 15 ---------------%%/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y adddef } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1setlinecap stroke } def/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25% DG/SR modification begin - Dec. 12, 1997 - Patch 2%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED aitransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a% DG/SR modification endDiv cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore }% defa mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestorepop pop } def% DG/SR modification end/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub negexch 3 index sub exch Atan rotate newpath } def/EndArrow { @mtrx setmatrix CP grestore end } def/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fillgrestore } def/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0CLW moveto } def/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0CLW moveto } def/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto }def/SD { 0 360 arc fill } def/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DSCLW sub SD } if 0 DS z add CLW 4 div sub moveto } def/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {/closepath load } /pathforall load stopped { pop pop pop pop CP /movetoload } if ] cvx newpath 3 1 roll T exec } def/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exchcvi def } def/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } iff { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 subdef n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 }ifelse { pop } repeat a } def/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eqand { pop pop /n n 1 sub def } if } def/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop }repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll LinetoLineto pop pop closepath } ifelse } def/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mulneg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w adddef } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrxsetmatrix } def% DG modification begin - Jan. 15, 1997%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq {%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx%setmatrix } def/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dupCLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)% setmatrix } defsetmatrix pop } def% DG/SR modification end/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pythdef } def/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pythdef } def/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c expmul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cosabs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mulm mul neg def } def/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if }ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def }def/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def/NC { CC x1 y1 x2 y2 x y curveto } def/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def/NAC { x2 y2 x y curveto CC x1 y1 } def/EAC { x2 y2 x y ArrowB curveto pop pop } def/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def n { NC } repeat EOC } ifelse } def/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { poppop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt {CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC }repeat closepath pop pop } ifelse } def/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore }def/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrixrotate matrix concatmatrix exch findfont exch makefont setfont } def/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 linetox1 y1 lineto closepath } def/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 divexch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arctox2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath }ifelse } def/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq {pop pop Rect } { OvalFrame } ifelse } def/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ]aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 62 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto }ifelse } def/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv {6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore }def/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowAx0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0y0 x0 2 mul x1 sub y1 ] def } def/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 }if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy divround cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx divround cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def }if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def }{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 addexch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy ndiv ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt {dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt {pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dupstringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg}{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i iw add def } repeat grestore gsave n 0 gt% DG/SR modification begin - Nov. 7, 1997 - Patch 1%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }% DG/SR modification end{ 2 setlinecap } ifelse /i y1 def /f x1 dx muln 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx ndiv 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvsdup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto gexch t L stroke /i i h add def } repeat grestore } def/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 01 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x addexch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div cmul neg d } def/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def/Rot { CP CP translate 3 -1 roll neg rotate NET } def/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 }def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngledup a add ] cvx def } def/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ]cvx def } def/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b sabs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c bdiv w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } {h1 abs h sub dup s mul abs } ifelse } def/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div smul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 addexch } def/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def} if } ifelse } def/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnitneg exch neg exch idtransform T moveto } def /BOL { BeginOL } def/IfVisible true def } defend% END pstricks.pro%%EndProcSet%%BeginProcSet: pst-dots.pro 0 0%!PS-Adobe-2.0%%Title: Dot Font for PSTricks%%Creator: Timothy Van Zandt <tvz@Princeton.EDU>%%Creation Date: May 7, 1993%% Version 97 patch 1, 99/12/16%% Modified by Etienne Riga <etienne.riga@skynet.be> - Dec. 16, 1999%% to add /Diamond, /SolidDiamond and /BoldDiamond10 dict dup begin /FontType 3 def /FontMatrix [ .001 0 0 .001 0 0 ] def /FontBBox [ 0 0 0 0 ] def /Encoding 256 array def 0 1 255 { Encoding exch /.notdef put } for Encoding dup (b) 0 get /Bullet put dup (c) 0 get /Circle put dup (C) 0 get /BoldCircle put dup (u) 0 get /SolidTriangle put dup (t) 0 get /Triangle put dup (T) 0 get /BoldTriangle put dup (r) 0 get /SolidSquare put dup (s) 0 get /Square put dup (S) 0 get /BoldSquare put dup (q) 0 get /SolidPentagon put dup (p) 0 get /Pentagon put dup (P) 0 get /BoldPentagon put% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga dup (l) 0 get /SolidDiamond put dup (d) 0 get /Diamond put (D) 0 get /BoldDiamond put% DG/SR modification end /Metrics 13 dict def Metrics begin /Bullet 1000 def /Circle 1000 def /BoldCircle 1000 def /SolidTriangle 1344 def /Triangle 1344 def /BoldTriangle 1344 def /SolidSquare 886 def /Square 886 def /BoldSquare 886 def /SolidPentagon 1093.2 def /Pentagon 1093.2 def /BoldPentagon 1093.2 def% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga /SolidDiamond 1008 def /Diamond 1008 def /BoldDiamond 1008 def% DG/SR modification end /.notdef 0 def end /BBoxes 13 dict def BBoxes begin /Circle { -550 -550 550 550 } def /BoldCircle /Circle load def /Bullet /Circle load def /Triangle { -571.5 -330 571.5 660 } def /BoldTriangle /Triangle load def /SolidTriangle /Triangle load def /Square { -450 -450 450 450 } def /BoldSquare /Square load def /SolidSquare /Square load def /Pentagon { -546.6 -465 546.6 574.7 } def /BoldPentagon /Pentagon load def /SolidPentagon /Pentagon load def% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga /Diamond { -428.5 -742.5 428.5 742.5 } def /BoldDiamond /Diamond load def /SolidDiamond /Diamond load def% DG/SR modification end /.notdef { 0 0 0 0 } def end /CharProcs 20 dict def CharProcs begin /Adjust { 2 copy dtransform floor .5 add exch floor .5 add exch idtransform 3 -1 roll div 3 1 roll exch div exch scale } def /CirclePath { 0 0 500 0 360 arc closepath } def /Bullet { 500 500 Adjust CirclePath fill } def /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath } def /SolidTriangle { TrianglePath fill } def /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath } def /SolidSquare { SquarePath fill } def /Square { SquarePath .89 .89 scale SquarePath eofill } def /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def /PentagonPath { -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto 0 574.7 lineto -546.6 177.6 lineto closepath } def /SolidPentagon { PentagonPath fill } def /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath } def /SolidDiamond { DiamondPath fill } def /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def% DG/SR modification end /.notdef { } def end /BuildGlyph { exch begin Metrics 1 index get exec 0 BBoxes 3 index get exec setcachedevice CharProcs begin load exec end end } def /BuildChar { 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind defend/PSTricksDotFont exch definefont pop%END pst-dots.pro%%EndProcSet%%BeginProcSet: pst-node.pro 0 0%!% PostScript prologue for pst-node.tex.% Version 97 patch 1, 97/05/09.% For distribution, see pstricks.tex.%/tx@NodeDict 400 dict def tx@NodeDict begintx@Dict begin /T /translate load def end/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def }if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next endgrestore } def/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def} def/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exchSin mul } def } def/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def }ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dxdup Sin mul Cos Div } ifelse } def/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub/u ED /NodePos { GetRnodePos } def } def/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dupCos mul exch Sin mul } def/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w hmul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul} ifelse } def/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /dED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def dsub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atansin def /NodePos { TriNodePos } def } def/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Coshh mul Atan dup cos ww mul exch sin hh mul } def/GetCenter { begin X Y NodeMtrx transform CM itransform end } def/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { DistDist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg }{ 0 Dist Sin mul } ifelse } ifelse Do } def/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransformexch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrxdtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED popXYPos } ifelse } def/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1roll sin mul sub exch } ifelse } def/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleAAddOffset yA add /yA1 ED xA add /xA1 ED } def/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleBAddOffset yB add /yB1 ED xB add /xB1 ED } def/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmAAngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do EDArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED} ifelse } def/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmBAngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do EDArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED} ifelse } def/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict bknown and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yAED /xA ED NodeB GetCenter /yB ED /xB ED } if } def/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t submul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop} repeat LPutLine cleartomark } def/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bxsub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul muladd cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul addy0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mulmul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def} def/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def/NAngle yyB yyA sub xxB xxA sub Atan def } def/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd } def/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def} def/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def/NAngle yyB yyA sub xxB xxA sub Atan def } def/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomarkVPosEnd } def/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvxdef grestore exec /LPutVar /SaveLPutVar load def } def/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add defGetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {LPutVar VPutLine } def LPutVar } def/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop popend } def/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA subAtan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos {LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }ifelse } def/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmAGetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dictbegin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotatedef xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrxitransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ]cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {VPutLines } def } def/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate defxA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrxtransform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def }{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dictbegin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvxdef /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {VPutLines } def } def/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } ifxB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }def/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB EDGetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict beginfalse Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }def/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotatedef xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin falseLine end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ]cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {VPutLines } def } def% DG/SR modification begin - May 9, 1997 - Patch 1%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp rr mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA addexch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED% DG/SR modification end} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a addAngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 rDiv def /y ED /x ED } def/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cosmul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dyadd xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVartx@Dict begin false Polygon end } def/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atandef /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r divdef /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add defGetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mulsub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn }{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 00 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat }ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le {r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC }{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul addadd AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t submul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 tsub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelsey0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos {LPutPos } def } def/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yBsub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xBw sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub negexch X sub neg exch moveto setmatrix CP grestore } def/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0def } ifelse LPutCoor } def/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg }if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop }ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED }def/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } ifr Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop }ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED }defend% END pst-node.pro%%EndProcSet%%BeginProcSet: pst-text.pro 0 0%!% PostScript header file pst-text.pro% Version 97, 94/04/20; patched MV 10-09-99 00:36% For distribution, see pstricks.tex./tx@TextPathDict 40 dict deftx@TextPathDict begin% Syntax: <dist> PathPosition -% Function: Searches for position of currentpath distance <dist> from% beginning. Sets (X,Y)=position, and Angle=tangent./PathPosition{ /targetdist exch def /pathdist 0 def /continue true def /X { newx } def /Y { newy } def /Angle 0 def gsave flattenpath { movetoproc } { linetoproc } { } { firstx firsty linetoproc } /pathforall load stopped { pop pop pop pop /X 0 def /Y 0 def } if grestore} def/movetoproc { continue { @movetoproc } { pop pop } ifelse } def/@movetoproc{ /newy exch def /newx exch def /firstx newx def /firsty newy def} def/linetoproc { continue { @linetoproc } { pop pop } ifelse } def/@linetoproc{ /oldx newx def /oldy newy def /newy exch def /newx exch def /dx newx oldx sub def /dy newy oldy sub def /dist dx dup mul dy dup mul add sqrt def /pathdist pathdist dist add def pathdist targetdist ge { pathdist targetdist sub dist div dup dy mul neg newy add /Y exch def dx mul neg newx add /X exch def /Angle dy dx atan def /continue false def } if} def/TextPathShow{ /String exch def /CharCount 0 def String length { String CharCount 1 getinterval ShowChar /CharCount CharCount 1 add def } repeat} def% Syntax: <pathlength> <position> InitTextPath -/InitTextPath{ gsave currentpoint /Y exch def /X exch def exch X Hoffset sub sub mul Voffset Hoffset sub add neg X add /Hoffset exch def /Voffset Y def grestore} def/Transform{ PathPosition dup Angle cos mul Y add exch Angle sin mul neg X add exch translate Angle rotate} def/ShowChar{ /Char exch def gsave Char end stringwidth tx@TextPathDict begin 2 div /Sy exch def 2 div /Sx exch def%%% MV 10-09-99 00:36 /sc?currentpoint where {pop sc?currentpoint} {currentpoint} ifelse% currentpoint Voffset sub Sy add exch Hoffset sub Sx add Transform Sx neg Sy neg moveto Char end tx@TextPathSavedShow tx@TextPathDict begin grestore Sx 2 mul Sy 2 mul rmoveto} defend% END pst-text.pro%%EndProcSet%%BeginProcSet: 8r.enc 0 0% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30%% @@psencodingfile@{% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry,% W. Schmidt, P. Lehman",% version = "2.0",% date = "30 October 2002",% filename = "8r.enc",% email = "tex-fonts@@tug.org",% docstring = "This is the encoding vector for Type1 and TrueType% fonts to be used with TeX. This file is part of the% PSNFSS bundle, version 9"% @}% % The idea is to have all the characters normally included in Type 1 fonts% available for typesetting. This is effectively the characters in Adobe% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol,% MacRoman, and some extra characters from Lucida.% % Character code assignments were made as follows:% % (1) the Windows ANSI characters are almost all in their Windows ANSI% positions, because some Windows users cannot easily reencode the% fonts, and it makes no difference on other systems. The only Windows% ANSI characters not available are those that make no sense for% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen% (173). quotesingle and grave are moved just because it's such an% irritation not having them in TeX positions.% % (2) Remaining characters are assigned arbitrarily to the lower part% of the range, avoiding 0, 10 and 13 in case we meet dumb software.% % (3) Y&Y Lucida Bright includes some extra text characters; in the% hopes that other PostScript fonts, perhaps created for public% consumption, will include them, they are included starting at 0x12.% These are /dotlessj /ff /ffi /ffl.% % (4) hyphen appears twice for compatibility with both ASCII and Windows.%% (5) /Euro was assigned to 128, as in Windows ANSI%% (6) Missing characters from MacRoman encoding incorporated as follows:%% PostScript MacRoman TeXBase1% -------------- -------------- --------------% /notequal 173 0x16% /infinity 176 0x17% /lessequal 178 0x18% /greaterequal 179 0x19% /partialdiff 182 0x1A% /summation 183 0x1B% /product 184 0x1C% /pi 185 0x1D% /integral 186 0x81% /Omega 189 0x8D% /radical 195 0x8E% /approxequal 197 0x8F% /Delta 198 0x9D% /lozenge 215 0x9E%/TeXBase1Encoding [% 0x00 /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef /Zcaron /zcaron% 0x10 /caron /dotlessi /dotlessj /ff /ffi /ffl /notequal /infinity /lessequal /greaterequal /partialdiff /summation /product /pi /grave /quotesingle% 0x20 /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash% 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question% 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O% 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore% 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o% 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef% 0x80 /Euro /integral /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /Omega /radical /approxequal% 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /Delta /lozenge /Ydieresis% 0xA0 /.notdef /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron% 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown% 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis% 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls% 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis% 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def%%EndProcSet%%BeginProcSet: texmital.enc 0 0% TeX math italic encoding.% No ligatures or kerns.% /TeXMathItalicEncoding [ % now 256 chars follow% 0x0/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon% 0x8/Phi/Psi/Omega/alpha/beta/gamma/delta/epsilon1% 0x10/zeta/eta/theta/iota/kappa/lambda/mu/nu% 0x18/xi/pi/rho/sigma/tau/upsilon/phi/chi% 0x20/psi/omega/epsilon/theta1/pi1/rho1/sigma1/phi1% 0x28/arrowlefttophalf/arrowleftbothalf/arrowrighttophalf/arrowrightbothalf/arrowhookleft/arrowhookright/triangleright/triangleleft% 0x30/zerooldstyle/oneoldstyle/twooldstyle/threeoldstyle/fouroldstyle/fiveoldstyle/sixoldstyle/sevenoldstyle% 0x38/eightoldstyle/nineoldstyle/period/comma/less/slash/greater/star% 0x40/partialdiff/A/B/C/D/E/F/G% 0x48/H/I/J/K/L/M/N/O% 0x50/P/Q/R/S/T/U/V/W% 0x58/X/Y/Z/flat/natural/sharp/slurbelow/slurabove% 0x60/lscript/a/b/c/d/e/f/g% 0x68/h/i/j/k/l/m/n/o% 0x70/p/q/r/s/t/u/v/w% 0x78/x/y/z/dotlessi/dotlessj/weierstrass/vector/tie% Have to have 128 .notdef's now to fill things out.% /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef ] def%%EndProcSet%%BeginProcSet: texps.pro 0 0%!TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 rollexec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 getdiv def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict enddefinefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dupsin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 rollmul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}defend%%EndProcSet%%BeginProcSet: special.pro 0 0%!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{/hoX}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 mdmaxlength 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 Satan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 rolltransform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 rollcurveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdfpop 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 3get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflipyflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg subneg 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 pop90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 getneg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr2 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 STR}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$SavedStatesave N userdict maxlength dict begin/magscale true def normalscalecurrentpoint 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$xpsf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sxpsf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury subTR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 rollnewpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S linetoclosepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscalecurrentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hsneg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotaterwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelsescale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neglly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urxury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSaverestore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveYmoveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrixmatrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arcsavematrix setmatrix}N end%%EndProcSet%%BeginProcSet: color.pro 0 0%!TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{popsetrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exchknown{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.610.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.870.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.900 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 00 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 00.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{10.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.110 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 00.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 00.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 01 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end%%EndProcSetTeXDict begin @defspecial /DvipsToPDF { 72.27 mul Resolution div } def /PDFToDvips { 72.27 divResolution mul } def /HyperBorder { 1 PDFToDvips } def /H.V {pdf@hoffpdf@voff null} def /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def/H.S { currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF/pdf@hoff exch def HyperBorder sub /pdf@llx exch def } def /H.L { 2sub dup /HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpointHyperBaseDvips sub /pdf@ury exch def /pdf@urx exch def } def /H.A {H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePtsub sub /pdf@voff exch def } def /H.R { currentpoint HyperBorder sub/pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exchpop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def } def systemdict/pdfmark known not {userdict /pdfmark systemdict /cleartomark get put}if@fedspecial end%%BeginFont: ComicSansMS-Bold%!PS-AdobeFont-1.0: ComicSansMS-Bold Copyright [c] 1995 Microsoft Corporation. All rights reserved.%%CreationDate: Sat Sep 14 10:17:13 2002% Converted by ttf2pt1 3.4.2/ttf% Args: -a -b comicbd.ttf%%EndComments12 dict begin/FontInfo 9 dict dup begin/version (Version 2.10) readonly def/Notice (Copyright [c] 1995 Microsoft Corporation. All rights reserved.) readonly def/FullName (Comic Sans MS Bold) readonly def/FamilyName (Comic Sans MS) readonly def/Weight (Bold) readonly def/ItalicAngle 0.000000 def/isFixedPitch false def/UnderlinePosition -133 def/UnderlineThickness 85 defend readonly def/FontName /ComicSansMS-Bold def/PaintType 0 def/StrokeWidth 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] def/FontBBox {-112 -292 1229 1102} readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 0 /.notdef putreadonly defcurrentdict endcurrentfile eexecD9D66F633B846A989B9974B0179FC6CC445BC1325EB8F274DD24A5D21C05636413EFC099729365596A8A52075A624087116520034680FDBD3E86220CBF46C2E82BA32413E26C0AE960BB760BE98B2E1348D6A21CDB5429260899F7FF77617B00E876499AFB997425D58673778E90672CE2F26C816F6EF6C1F6F0724D575749C55AE9D8CD0337709436E75CF2354AFBA7974814727450620BF79E10457E31E899430F90AC9865F70FE6B6776E627CF8EF16BCE98FC20BF19118EFF621136A34E7DFC1D81C92C0A08A2EC36BA3DEA3D39B40BCD8C02C3BB49721A82A2AFA7C71E921ED507C851DE47682AEDBE1BC9FB9486BE62F811D476C5759AB64F05ED46B4435825B33EFD87DD94B24DBAFA17855A7A6C2890A6667F4437DC4CE8158F39396013978584B1F19FA92086B30B03D22D7048D338583E1FFEF30F749910C228FA3D6F4E130847988D50B7AAD24BD36B1964DD6224C736461035DF3E79F9662CA19F05C4FEF3C27BB75FF95CDB588A1954DCEA4A1FEA85D88EB893CDA427BB463C3443C887C5820F1530D3A40C5971DBC3E5DDAF87D55A0B515CB50DD3913ECE7B833248E6D72DD363BCD0EAEEF2FD3AE92A7FB2C16635427B49324FE10CBEA6F0D6C15ED584ED6EAB25A8A4E1A3875EE1406794E9611B58D245B8BBD40BB59EC21BD40ABD4B9459C4AAD8FAAAF4205BF93EBCA3B6F8F985EC1325B394EC7B861CCF94195191D65201B433987A1F3A7991E8A856D787C8781DA6AC960A3C9C90D4A7548BDBF6A35F12379B1113D12FA558E3CD6B827A8DB1FC3466DBF5CA45728E92187CB21F05A3C85F4400A79EA826DE17534D16A4D81FE3741D934528381A770E9EFA7845A3A760AAC08F1F16077C147BF5F1244276269FA38553060EE0264F81BABC9E046AE2194FB3339475DFD9D85DA4D3E367D012547314DEE4B2C11F97896DC43141F02009FA57F0C3166E0AA20AEA505C0871967BD9417C50C2372E576B0B39D5736EB891101032D9E0E2D075ED47DD6FE8909C387D8F02A88FD24540AD71A0AF058614B77D0112527C92DF85C31BE5BB722452186A475D567791289908F9708D1FFA5F4099812BCA4BDBFA39E4CBD884D4994A7EC9407F5280FE5690CC34119365218791DA09A09C7AB12BE2E64A6DA55B6D7EF3150A34363BC35D052DA1C3DB6E76F6AD8C924533AB5F50DCAD816D501A60C51FB1F38771C27251A57EE152D77D1880741555F4B089778D5E104CC29E7EF7524DCB8FCA4872915C7253EBA33E38AAE46D5DD4E0C35A2988F74C13F38BA26ED7D36C34AC14C42BDAE0489D6115BF34E660434E53077206B06696878E08870DB1D4D77D17EAA35BD7DEF5A54D050720CEB18CF877FB951E69F5F24D03D05ED34391BF881DDFE353820303F279B2D44EEDC14642AB382A9CB0BC3FBF1AE253A830BE79F5E0824AFB010DC809783AB31CB4CDD9555FD81A22DE96084D7181957F70B74CB84912E460562F3C701390274F4A233B7C21EABC56271E0D26F4CCB717C3C883DE02F1CEFD0BD71260782BEF67219E82B1674DD4546756FF8D79D108816E9072BCDD882B334C4BD614EA7496D58CE8BF62247CB10F89304885B49122E8FB0D17159B13C71A7CFF6F63E1B427EA99B53DA1134B7EF26D10EE05685EA4B31E5396C428318BA9543F0A89C4DF01C43A24BFE5463C9619F0CEFF5DEA94F85AE991C1AFE483903A4919605795E6EC932C36022EFAB437A48B1D7B2E5B2D9E2935768B1823394D8389C25CAC32F16DD308D6D5AD32E6D8DE72E1D038EA627ED64658353BE1CA3769040F003E92214BBBCC2D016EF4B68FE6C549FFD52BC02589DFAE6B65AE5873D64C726C983B33756ACF3FE3AD85C6A57197DE4D0DB5024B0A05421302E4430D8AF79983D5174BC3C8C802A1517D9C6FDA3474591F19D573EB051F7CE992295363B9409C8A7916330905E72BBAC052520CA7FC0DDC68A26E11D7A9E290BF2211ADADF1135C305F08924329C470DA39B8EEC46215048146B5F31EA6097919179FCDE51DAEA400AAF8982DD653B0A7791EF8530230CDE952ACF0B77A4AE35ED74B5E419A572934BFD62F54A6A98F74CB852D6510B5AB1B30E1EB1E8116C67523E5C62E46F94D75C14E7DFCA3E9A3549ADC9438B74A118064460F8A6CB7312AB9DC7B89962EED2F3F10BA883CB2046E81CE317A0B867554FC41F0F75319DD0C6220DF64B6153B1AB46DA2C41B5D25E0232CDB7BC5DD0E9B0DA3088D62C10DA3AD6350EBFAD0D077FE7AE2463F40DA89824D1C5D17DC70E135B29E4B7759C944FF72ECE869A601FD898304C6EAEF483BA138014A4F744CA3897AE5E0C66DE09FE538B27A576708AFEAB29E9A7CBE0BC90D0E45B0149324F511DABF9616E20B6B12B517C1E56B18A51C229D30911A99CA11FF988ABB796B6595823707D1A37CD0C8A8CE1B860C90893FC6E41DBC54EBC143D45C196E89415E302E06C5302A0AA8076611164AD52FF3CFCE4A345352296A5510B31F2F70F2E3B2CC8F7CDCB7F42AB4F2C0801E1B884A635A73EC67F26C4A36894C4120C6F87F22F4D29ECF78540427039371C045B266FF717BF9D170FA3FDB5915208CA9D59E85A01FC3464C31224C8E385C837EE253220A279F05876328864C9C224825F66C4DA164EC2F64DD3E2383554FE5F16DBAF19B45020D4500F7D6E49783E9FC958D3954BB4737612EF74A6C8F9C33E90BD705474E6FDFA990C996F1A54A9E56872A5C2A3AB701369C9C627C4A31F0982334E7EDC130ABAFB058534BF9B357739886C97C3459D8EC421D207815F79EEF626A126E8005FCA77ECB3172F5190BAFE7739382EB296E6C8B20081C7787B17C43558A3588B34522F89E6B7EACEC2DA13A8D0B66AA0C3A6F6A0D4B69BDA5F6825733B48FADB06F9C8BEB8E15E0A1D354C0AF52388BE94F3F9B3AEE160AC879F57229B3F5AAE87122DC4DF7738F78702789C89D8733DCA9371F362A4BA881C2746ED44CC856FE7D20B08126105E0FA25D586BC15614C89272DE6D1F25C31FB754CBC6819ED22A9E83B7C851AAC3FB59E4C7FCDCD4BE63F44E9909CD4A49E4600DBC7FE9A727D18EA999ED4D55111992E516453EC5F7B220A0338C7ECAE46C727E41B6950D5D43C08932DAF40BC1620DFF03D5CF3889FCC17F19F5255E594ABF60D9EDEBC898BFE8CFA95C2C1F75CDEBBD4BD866647D52BA254D2E4B7016095234E0D2BCAA31920271BE74A082ACB55C3009CDCF3AEA04AF25F0A82F1114AC09880F80827DBBE528FF70A5920E486BFE64013CCB6B421BA3852A701573108EC52D3CE37E2F63D1B34FB1EBDC9A60F4AB8C27EF8BC9116C0E58457A66912291DAA0915E7D640105F331EDD90B90DA35A18C332D39E16F9F5AB7D81B729ADA7BD58118E046DFC0B5CB2A4054EDC8C7A27E4579B5D168648D7A188149E58F6C806469FB5D13A5E9910E596212167ADE22B5728F5F9B1E60889D97FAC2C79364D471A4D7A6449D75188F3F600D5FE70576EA42B2AA54B223C4F40C139AB891A41C7D5BA5338BFD58EC40A628121B6317FB8E40E11E48E61DC6DB3FD9118D67D5DDE7E613EDEF7D7B4F4EA57368DB1F336643E2594ADE159725480EAB33FDF27CC3291F8C096084DB8C2897F69823BAC1B0B67C888528EDA585C835330FB47F0B4DE4315683E204DFA5B92C319E84AD9437645A4B6470AF1DF4F4EBE911581EA3BE89E4CDAA34BFF94055D1F1BDC06C89A7EF1AB04C8E0875032E159EA0CBDD65D0C55D2E264F74091CDF78246C28EE58208E0F6E6427D9846911C6779A48145C6C5F586DD1AA3B98EB2635BC660D7704664695A83680221C6397E36FED57A836082E8CAAEF1F93926CA457899A06AC3DD5F5124033FBE445069B059AED17AD34223300533FDA11730BD788A522F80E751FEF2DACB35DD9B875F3E5A4AE2D89D3FF3C7D3DC1DB94102FB88F631211557D3A4F79A8E5FD8B89E95D378DDF5E3879446BFA1B4F06E2C329AE0BA411A2E0D693391DEA7CB26D4A418E48A2989167B7DCE26CD25D0C90AE79806808157F97F850FE90EC0DB9F2D847E326250B44907874A1B286B7DCE0D4D5B51864B34188AC93CD3573A884EDEAF39394589F3372502D683BD0009265C678124D666B3BBFC54CB9DAC41F1B748FDFEAC156000FC8819217B195EC6E4FAD1F39E803B20AD604AD2D09235C7430364163AEC6E911191B06F159BBBE9A3AEA756BD12E38A9FE90DFC2E0E7E928AAD853268D738F115008C71804A8D2F25B580BFAB9F2D969CECE3555AE15D65127B1CABB84D2439BE88596B165E5DA6866E0AE0EA8DFA8BC885FAE09A9446DFDF923961AE5C0616226E24D841F078106D54A33F97FFD30E36E69B3F433351010301055D27B9479396116CB75D3735842F6E706AEF55277C688490F6CEB331FA03DA5E7C9B6F7D4D91566101E4E8E63459B85C5A9EE068854000081A0C911F1EEDB771AA83D699485A7E03E71DA50FB2096EE5DAC923C8B241779C1C30A634A48F72899426CF9EC7C334FDFB78478D5E57E07CF0A0966ECF94F269208FB8CC62857042F5D5ED620E6066CE322A34927B8BCD0708A1B45270B76EA81FCE8D612125A9132BBE333BF49BE67A05EF6631EDC73A553C55AA3402337C6C9B077A033B01F3B878BB4BA6E520FB83F50F647650E90E3AB137912FB38808FCEBAB9F030772112A25AF16F68150C378455FDD227E611820E66F10354BDAECB0ADC7DC3FA7B24303B3C291B98625F5EB442BF47047FF186B26AE1DCC2AA5081B915CF7AFCE78232A361060B3AA3D532005EBE263002D398756D3B0B0F625F831BF96045BA65956D3F6C169C9A3E79D8532284A8BE86436AAA3C6526E6DB6C905057A9D4FC8A56CA36601AA0C8052945A3865D41F6872019CDDD64B3FD0AAE9624050D4DFDA25E581FB2630E8840AC5354B340EFEAA6C8CE3B066A7C6A2626635CD202D499070A88F218BBA826D0881E6FB959DCBA34B5F5BEA5D456CECDAA15751CD9F07BD4383826983F859FA4BE52C24C1BDC522AC76124A59410EF51880CA64BDC73AD1A8116CFE32F2D4EC08972754E1D090E33D5F7177AF459A58B14A8EEDED2E000BF86196349DE0CF5A47C770E62C69C1F8F1B218C15439BC36B753A93BA344CB6AF35D2AA9116D7FB8C4709934F5BF921A7F042B3C3909D833C63F9C38CAA54EFD38F6228B438F5C1BBD77E1C0E49642378FD971242BA3C2D27C237197E05345B2970824C7FD2389B1A3CB1C34B70A65BC2335A3A23306E999705B85B1BC45A841EB3B963B47C988AB19E90AFCF255DD7C80245D9E8D139FD43467F85A6012F3BEBA9D5822E3172F75FBB2484432310692BE5B542A8D06A25135505C220DD1A84EE4A8E900D49C439D7A0A2979BBD6460F393365098CA717F915EC22B96BCC9F0661D553F814511378EBB3037BB0667F0382E0FE8E0E5BCE6581A2C28C351126B799284434C917A81E7BE59824E5308F85563A98DD44DB8CC9662BEA42BB11F4C185CD6EDA68951673D6384E6CD12944F86D178BEC9D5DABEE0776B1A98FC2D040C14DD87114A9B084D3FCDA9FC8B7B93CCD6D4F24070097AD9B966A19934FC26E2890EBDF90624BB22393DDB90DF1D8545651EA776AC2BDF64D6A0AEB2C3DDAB25909FEF00778D7003A85E0D85A8EF854921223C8CF29FD813EDD931A53CB338FE33080C524694C3A5C7F698AF2C21E8301D1D4D1EE1927A1DA0D7C5500A05DBAA0C671065C069B7A80127C68342FD188339A7CFC900B41FB02F13722D4D754B382C82C76C72331D6B04D84EC272A85F97D2358B1DC13AE97ED868BF3D6B37501E9AD147D24DA5A393A6D91B00C28533B4A017CEBA3A38EE6BA2063A650CBC87EB9D1C2DBC356B1B38376ABA7407CC293D890A2BD0ED6CB619DD55E532B8FF446F974F01DA8B66CE6C6E2484343AE644DFCC2209C8B110472F95FD5CEE1A7EC2A78941AFD0B102C6CE65BFDBD9D1711C55D85517389B468FAEA7A34B37B24617F8F56BE5DD221F4E05D8C864F9DD3E99FF86035A80A916B01C3A6062F7A3BC54250B62CEF85C03F169FF662477D9526E492876E68EDFFADD2E4AA3D5831D8B652781088D410AEA9CAC3C1C46158F508D7AB7F99ADD2095D67693BBF4A936F085874E5F906BF0053655C34FC487AA7F06A3C36A4C792D168DC61B0E00C91D6056457B2F4CB6BFFF49506F54C9EA5C41B37AA1D7D57BD7C73B8EAD55D0D712E617802976F8F223C8ADDCA895309CF900B30F57792DAF2D43D99E9EB6392846DA0B01BEB974320D3D8A54E790A3188E4AECD064BBF94DB3DFFE16F8E45BE46363E2130C0EA0DF460C5472E7D58C18746880AAE1950C7639C28C5C08C860EAD0EC4977851FF7A7EB79E3AAC7F81979ECA8231422739C0C58B4ADD86BF564FFA711F4949A68C1F57865095CBA6E700A1CE8C185D22E77CC42473F8BBFD5986525AF9535A2078DD3E501B0B032956E4B83456C246AA84F284B5F4E57BFFFE3002D45CC7EAABE035F2A19ADAE898B7F06CE566B5620FD5BEDD29AF2ACCE51092BF2DBAF4E6124BDED04BFE6694D40C0FA9C7DF2A3062F218582C3E3F3F350DA7673EE235C58243053F3EC5C349D20D4CB099D2DD02B66C62B4BE8E235D8E8786E71E98E4EA36D07A87F9D3B02FF5BE7849C3683FE698C4C99B11D90001545C4F3D4F3F2EE3D97319A0009DA311F4899F65E76D6828EC8777F0D25E4C43BE485CE287700079E48F83A260A9ADF9FA61FDB9DF22595019D55F02941BFBBAC3E6D948D124F2417C2D4DA38EA432F04EFE64E70B54C52573C822B546D0B3F60BA1D575AB9D9E2172FC810D86604C88C7D59BD5E346CE233C275E3C95DDE4CA70E9A40AE6FF88CB67DF1D266655E2FF6B267ACD8E1FD4B60841592EF5BB02ECCC44A5DE3F200072E6CE16B421FE7090E50A22639EE315626BC14D272D97333B743C7AF418C2A2E8957272239B7DA8B9139CCF9ABC5294AF21AF58E4A762BFEF7CCD947D1F6CFEE8A32C268DC6FE77C016E2435F2F21563212B299C296401C85FCEFCB9B92D2B260636396BF025CBC117087F0702F0B228D76EE3EF3F92A49FAA0EBCDCED96FF1576600F1389BAC04F9EFA749674C119164D6F9F6B7C3C24258D58F35232088B67BBE916BE8A2146AC6A23F6C5A8AAE834A0587D990024BBE87DE0D393417537F7F723DB71C80C8EBF1D239416C879A2A35BF27C61D987552FAA97813EE20376D20927C4E0989D57CCC0E927EF7D853D4E937E83A49AC57D38A894A4E289220A27CBD23A3057371330B4041566CF5A666F29D3F96E4A38C1576C9EE90FE9E0A9F5EC4928A31B816149906B49FB32C714816D0B196EBEDCE6649F7B0100A03E3B17CB6C82D7263DE921E4F22630D3B3B95B790F606BC8D547C7102779082F718B9CA73069109EEBEBAD50790485372B21965174AE927597E71030A2C1BEFD70287B65B6F39ECA953914323E8F7B43A98AE32F9D9D2FE7C009E553136B9DEEDDEC8B5B8140FD6DD90F440CB913E39C859BFADE8A8519DA7B402E60BEA64C810336918FC01F1F2A728150795CF2BA78D4DAF8E3555D2A47248BAAA2A6D8C33FFBEDE32CA5B6E0E95558767062938BAA63B0039BE04F56534A6DE2283B14060DB0FBDD745BA5DDB10DBDA14114FAD3B7507A1F2E69489EF60C9F559162294AD2E091DD7659A4DE4DE812FC920354999BE93236FEB7C26498593783878C0A96D083E18D9F88CF8442D1FAE29342016D1C381E1215F0849BBEB95D3FF126D00F9C5F948DCB5DC6BAA38B43805207BE1887DC76024BE54EAEAA592F499107FB92E22D07071D76B34DBB969A610CCAAA37B4B7E6C306F51B995F3DE816B7A79D26F951A8AA43640ABAF6B76BA80AC895F0644E4601D291DA08BED8BD957A8C2C6C4DE815EE019D6F83586C3FD9DDFB32B1E415A0C84DBF08A43A5DDBC57464B86210DC54757607953614354E1D423DC878ECAA1011D0985932814A7A7B1095661F38769F153C67290B347FE024DD7192D110D083804ED168E62BDB2F1D42B77B63E912F9A4F2FC04149BA7F1F3334AAA50B56D05D29B98C9D152D6C0DC98C533DED8F63352C072081722603261CA99CBF3D382D4AACDF9298D807D2ACA57AB52253DD323B75170FB57B1ED2068DC4EB29885A11D100A928720A707BA004D9543EC7BB530330233066FCBA83EE6C45350AA213AD5635DFD3CEA9B76A56A327053E0F6D96D1C2B699867EB1007BCE7777D3140B4AA22256DAACF1B9CFE374403C5DCEFFB62C1811DA066F16583E31EDBAF6421FD5099C6A2A45AA0C3CC323D4E55C35805B7926F2875A4BDCBD80D21C4907DABCEC84A5888BA906D86EC1A519C44D8310F79B48D56F011EF8324BEB50EB6E5BE244A925FD7DD45F46993BDACFA0099A46ADFC9FD09C8C71EA7C2ACF11A96ED257E0C7B6EB1C817BBFD0DF496F725256DC9C88264BA9AFFAF0CE68DA4046B10FB45E3B2D0748BC00B27DF5ADC841B29EE521879E4F1C41E48D12BB1DFEF4DDC4709FF15D04F70C4F652DF6A4537FC25299BE55008332B6ABA850FC4D1BDD06BC0ACBF3400DB1C8C3FDC65A218FE065BBE5C411864B743D5814B07B9FC3ACC17CB6A528591EF32E721D6BD3E75F966CAA3936E5654367EBD86676AF13EC18489E648A058E234468B01F1768A88549516ABCD75D6AED960159774FFFC29099C47CA5E666860414F5C000335E686842284608EE57CAAAED470B4E2C6091DE95DEA75ABE9A74A953D0596EC517F8B0AAAF8B9FE2315DD9F837C6799F84B3C46E0DE3791C791A0005560E1177EA1828F7D1DC8CE605FB1DEE02FF872386C6812D798EBFF9AACE0299E84F7E998A509829304582BCBDD328BFD52FFB7F1815646481B007B57B80116C42EE5257FAD43F2D67F6302B926423726322FD0A2F50DA64EA39F2D21788EC186353B9C4B264B889D9ABA448E3E6CDB016D1A1D9CAF3A648D7726661BDF8AB0F1A11BB8F81EE0DECF26057EB4CB9D9FEEAEB380CD9466DF4256758083F708A700F1B882FBE7A03BF1C3904DF76BD67748E4CDE91ACDE2A412712D4145F5C6BA494F00C16711C074A9C05A17CFDB00A77D1590E5AEC067387557533A84EF0714F19E22681C08AA4D8E791C64EA44DE301FC6B4CAAD241F15498B8C221F564E3B93CE411E0A0DC70D2C189CB1AC1CE9A84EDFE008A1C4BC266F91479510A09A9177D383D70FE4071E42BF7C669EB921867529FFD3AAF902D898051C4FDE207F01B8D84CE64D47160927CFF10954D07152A14AA1A5D1C8E8E4C0DC566AD6C81510FE72BD14F31F672FC7AB4E6985D7F8EDC73B2F58514FDDE63DA671C30B4105493F9B65B8C873CECB42A7EC3D81E91B3C7B42D4AE17CC760C1AD919743CF70FD439180676A70A82DC6AEB4D81277FCAB2959F4FB822FA49D4C41AFB57DE82AA79DAF7BD2D526A0EDCFB4627F687D07BCBBD92E3C027460791BD42213757E16CE7F9DEE73C7B2A0C7E6D3271EE4F39559305B8FE9AEBEBBF29B1C621E81D70B4B9BBD536777051D260E87CCFE083DF39A0B24CC5F0715D4F065CB9DA3E6694D0923ECAF2FEF5B08A94D463779B7E5F1302E81418910FF1CADB00A035E878CC916F6BA213282FEEE0610BFB320B3D091CB309C3E2877CE32B7B90D0336010E5DFFF13E1FF003896DC1140498B062909505DBC4A5812801B5ACDDFF578EA36541CE481501D8C98321C8CFFA884715704DD87ABE3623659C4EE5641B00E26E048349460E4CB59676F735D71D8686B5E2C2DBCDE0701249BA53C9035D0E9C5CB3CBBFF18A00178011A8EC2CF49901191A25608B05377D7F0BF0A7713699FD4728066AC048E542AB48E0FD021916A94FB1660A58B448A2319CF2D3A9404697FBEDDEA9C8CC894F1FD5CE89CA8B13FEF002CF82D94007F6A91840D48806F82B4B5A268C61D5FD1663A2F4D44BD69269EACAB072824CAD7AB8BD91ECEDB7385F87EB92846BF9F1011AE7A2990DD4F34884958D77931DBB32B5707118E77137C8B57CDC826AE87D56F3989F7F21BB45D6561EC0B3E7145532C83920E0D91B6C9AE2AAD8317EFDB366541DA6616D04E9F30D2C286CB4EB6CA0D55A5766795F6F91F6C189E3B3DBD26FB8C6A8EF9D99D25E959333483D94B1D49265846A00CD260A6E93796E3ED468FC068A95C39D9759A821B15045AD270389D47162DF3B17B6A33D57CABFE8E160710B8222D8F3C5777EC8E6D48F89977E93D91802465296A0ECAF048F61000B821AFFC6473DDD864992E6EF7753202520C7306733F1171BC868474881545CCAFC24ECDC9D46994A095D9EE5FB3367C61A5AA62DF3241B10A1811BC0C8C68B45BDFDF9D7FCB80FA4F507BE7965EA1CECBF62DC7F7E0C697C3AD3BF3AEA1079F4F6660CC313416DA0A4879C536C76A9498326774EB2338A60ACEEEC14AFC32C63491D5A8D0FEDB2D94C6926A2DB6135EA714CDDDC3E3D44909CB0EF674260A345E0F2B537C24153BA06EC2380A315024C4DB48831A0E6A126A923A11249F1B78C2E9C652638E3D81C4513735DC3966D2AFAC3DF443EE3809430297E30D5C50B329DD3C5AB3607513F9C4A958A7E42202DCE9AB3649C812E93174F4C94163AF3DFE46734E78A0D2AB9C0E89BF4847108E961021796AF7FF1650FCDEC04BEBAC1EA2A7978ED833BC652E547A76FCF7D3D454A365D1D402623A2B3EB30B6207D0F6F014D0C3B350B96573B9B9D6E440CD063552A0C24480F17D457E72F9E46C637E09644BE8F5C7C418B2BC344A1EC3FA9744192C2A81BE67DF714BD1B90241700F10855586FF44F85F7FF1671EF3F8D77E4473EDF310FD01AC04C3DC2BEA6CC47C77A075E568343D7D1EC4FCE9FD4FB466CA9E75B48D93D6962579A4C73B5FCF0600E9B281B8641B9587CD4B01BA9E1BDE935437A408DE83184CB40EA410C70700B052935D3E0577980B9411DDF855A6BEFC921B409DF07A96E597104B452369EBA3CA6E24C51FF38EB7CA17713F7E7416C4C75C675F8E720684820F9FB8E1926859BDCB7D5FA8D8F798AAADE624B0E8B5080CFB4114711AF3CDF798C5D398EE3FCFEEAEA0FFC7F1D4A594E49C54E95E271762D3CE2C1C2DF7E5ADE044BFFA8A70F01ECC40989EF74CD38F7068087D93C8BBA3B70B3438402BDD096AA26496B92E27D075603CE72EB51AF24F2E8D2A80825629FCD33F39058E5F89952F42DFBF7E3714A5D6DB1A465E4EDDF9E432D4F188BB45D04260952A750417D380261B638FB038158FED0ABF8A8202596E54463BE88563BD65EE013B726D9C251BDF71BAD4527EB1708645C965E07D1CD170AAFA129296A50562A70B91F9905F38363A752A0BC1C1E8C6BCD1884DECA49F235DB83B19CC41AE19DEB858BB59C06DCAFB12EA0E1C7E8513367BAAE18F765A1A767431CB67F42B5823CF3CDD685813B2A87554C6AE404DC60ABFDBD4E5F46B3ECFF76BD912F92ED6079350A37440FBC90B1366E8CC2902B03FFCA2EB754F8AC5C2056EACB9BD85561485103BF3C2DD316582CD75502C213253C3AA2F172B9622C7C2FEC5D166DEE3D6A5345192945EE676126E4D232DACFBDF87256FE4E8431C99A2F0F93284CEF95D884779519137898380C18C7AB0B04FE1B72836CF58625A2B1ABD30C18885A9C2A9789A50766EA5099031C134BE838633BA8367C07940CE37F3705F93A801E989AF3763A70BDAA8799E13588764063D1BCCF64AF1B25064F08ACC05CDC5E5CA630036426D82FB7EBA8C4AC74BB21073D7A313CDCDF1B54F1C36A39C844375D721406343A6DAFD2DED55DAA8665E041D2FD9D32D1839F6EB4DEB202A26013ED0A13CB44575DEFA6BCF4B8B5801C4B61A9B06034181A61C70E41DF776DF667195A12242ABEA960419F7D89CA0F3E3C7FA48E15D28F362C26B6C533AC5715AD8A1A57B1FB8EAC9B788EF98E7F03EAE68A4CD8390B422D603E4CABC36A9DEA159BE4C9E107A49580AFAAC7E91F02AF1A4D757A79C554D804551C371DC39560E9A8E4608181A8A59EA9B78043A4A77255EAB88FAB501C1BCD9C0B51779227E11FD954D4B2E59726AEF94077A3AD46CFF61C44E6BDFCBC7B800A86B52F457FE7AC37617D5AC0387A68D12CC08C48638650A31326133BC49E6869CD811A9707424873D0BC58806C83AD6DA69307661246E77355EFAF5005DBB2275CFCDAF254DAB8FAB1D7F0B6A1BCD013F09730E68C76DC733D8FF43268FD347DDAFAD15B51949DE01E0D989F623C02400C80C178AC83FC8BAC4593760F92F0C8F784B275D0113F17337FD710AFCCF145F35EC00384775BCA7A1EFC62756C44E9D8EE9F53D1206D7FC590D2F8BF9FCB5DB0306861889B571C8449A6F9513029464358F7DD35C4858C721CEE3CD9C8CFF16C3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont %%BeginFont: CMBX7%!PS-AdobeFont-1.1: CMBX7 1.0%%CreationDate: 1991 Aug 20 16:35:49% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.11 dict begin/FontInfo 7 dict dup begin/version (1.0) readonly def/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def/FullName (CMBX7) readonly def/FamilyName (Computer Modern) readonly def/Weight (Bold) readonly def/ItalicAngle 0 def/isFixedPitch false defend readonly def/FontName /CMBX7 def/PaintType 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 49 /one putdup 50 /two putreadonly def/FontBBox{-55 -250 1289 751}readonly defcurrentdict endcurrentfile eexecD9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF81719098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014FD2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B82BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712B1805DA88AE375A04F3C90C160DE16F890E93B13B46BB2F4971D900BB550E53FEC6248832A83CF441B4851445885479839AFAA2903A27676E5FDBCD653467C5B6757DA1B722133018873A10B4FD9D710BBD9BE518D989B67DD4533F8702D640EB84C3CC2607748FBD7C4BC6DA98537C7A83BCDCD871BC342E318F22902994EA58F5F698960BF55B6DD1ADBAA57D96E80D7C28E06447C5E0131B450234C39D332D6EBE6E76DD503B658866DF4DB6774597338B1DB90AC6C0ABAEBA29CE9656E89167D88958F3BF262133689AD41A5B9A90DF2838A221C5067B73066612A0FAD186A3670B2A69D1731367C8335600294ABC365F383F983A8AB1E37C1C1804893F7DBF122DA9C3843D1715ACBEF92F28AECE850981251D1D25F13B0DE4320D26157D14147622A29E7E7F6A037AF34A0197D57AB2A9F7129001F7F636F3B07E0F12FD409D880B878EC8C911E3B1F24AE299AC56227FB9D6ECDDDC5F8DFCD18D8D0B14BF4C36A2E36F69E7291A1A0F738ED27D586BAAE8C04E00D5B3C88316AD3374C5164218F5588EEDBF966055C55E9781D75B1D7B9C1A2FD2682E7CB88FA9C68898C5510BD1964BB505CABF99F91C7110745DFBC4B8A2A15295320EAF27A97ED84C6E59474C2832859A5E2536E33893D90929D6D2585C73A6F3D316B96DCF60413912E288DC3945E3A2C53EE1580FA68D40CC336D9AF2EDB87DAC04ACBF223D3795482F7EF56A8DE5175D4D988BD67040B7B4634B145F6C995009C1D9671217E37758B75D54A26EF8D6F56822318B256B2C43B27E2892E250E98F438334182171D99CF39FD8F18FECC0C511B82F9E4B4F4105FB790D635D44CC9EADB5CB7F61CAEFD72FA3ECCDA89D292F3006297BA24565170174F7DC8EF0FB0793A5A861B3A54CE7E36A339066D1B7E2F60A9682BB4613080028E2B345A354396C7A75C8446DFE5FCEE0EACC4DEC1735FD13458B08963BEE0DAE02A8A1D5760190DD509A229DF6B149FEA6260F2AF15A60E0581FB1919C2E4DFD78BDEC0B636A7B05D415D36C063143D8A63541169BF1612A8A1CD7C852ACC0A266C2DE1BF9ADD8F6A1E29450EA49EDD65E4AD4E6A2ACF2B8477389BFF23A2325CA84D394133DF63190781A20E81BC486A28B79B49E0A95005A122A58AF2F37093CB757A3EE125C5D51B2C634A40EA87E7FDCBB49A1C9E728E712D558936107EFD4A550687A72F914247E04285905ADE5DBF2DC664BFD681B1D0F042486DAE0BAE81272A2C777D1F9E66A649B3C2F7A924CD93D6085091647B4A4CFF3E9298E6241FC8BFC443201345177537B05D50F3071F855943FC8F802E0322F1A648C7DA697A3CB02580777B68A693A24F1379199257F69D95CB1E42AA3E467107640E4F4355EC58CAEE6502D70A8E591F4357115F6A8EE85D3C3EBEA5165475043905681E7E4E19E307887700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont %%BeginFont: CMBXTI10%!PS-AdobeFont-1.1: CMBXTI10 1.0%%CreationDate: 1991 Aug 18 17:46:30% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.11 dict begin/FontInfo 7 dict dup begin/version (1.0) readonly def/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def/FullName (CMBXTI10) readonly def/FamilyName (Computer Modern) readonly def/Weight (Bold) readonly def/ItalicAngle -14.04 def/isFixedPitch false defend readonly def/FontName /CMBXTI10 def/PaintType 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 97 /a putdup 101 /e putdup 102 /f putdup 112 /p putdup 115 /s putdup 116 /t putdup 121 /y putreadonly def/FontBBox{-29 -250 1274 754}readonly defcurrentdict endcurrentfile eexecD9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FED919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DFE27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB33BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66EBB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B6322009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB464C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5BFD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B200382244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404EDE6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5178DAA76C07C2FB191F95F95636E9147E67B84930AA4C15095B87A03BF1C3369482D7F999FA80434B001D68A333D2702FE9B1FD4BF487CA5AE90F92F416F52691776E2ED457D4A2D69D1896E1F72C32ACEE93980779E17EB2B3234965B8D4D55BE2697FF59693637A0A4A527033B350D9CBBBFBE4E4BB5DC7C2D4E006856F3714333B0ACBF0CCF18CDD105BD2CD4CC639213CA806C5454356BFF89F1C0C70DAD65D015056856AB34DF84797574D568773B858D73CA907B4864400F1C9F9C38CECE5CBEECEEA96B4D5D9E91054AFD37CC42F89690141F9165B17F7AD96F4D828C2CBFCB1F2CF9D8A6FC7064AB0471614A9C5FEFDEDA34FEB2D10C9789EEDEEFFDC9228AB95769813F5DE2EBAEB39EB5D66A2DDCC0D1306BC6BED91FD14A8A40503B8DCA77BE36E715D7FB3A1255E5F838C4CD572102FA44F53565D47BB5C04129F8529D4128DB5B4A7F3495245D1310334B3D441738F09AE91223D36FC6259F3E73E5A90FCB81AD1165F012A021E2BEA8194795E2CC84EEA26F49E7AC161311D5C8343F410B588D65DEE903E65656E373607012CB35B63D48E20041F32606DB8A50FC09A59493EFF0E077016FBFB85E3C39C4C2F620C03A4317B1D32950A50455D230112553F85BC139294DF73370C7353F83B2F8A42DF8E7A8831CD2C113F7AF8E78DE1CBA87DCD309B33A21CFD478AFBBF7208E2DF97CE369904530B5D6AE3AA343D9B5A81C879E77E497A4F85494C663FCD7443704123FFB024B544B93BBD6B905D453D0062C9EA40E3B0D7BF10FE951BEC9951D842F7310D0F46FDC47B559BC1954029BFC41D93688D06DAF349A0D97E83F79450C8265AC46F27778067414DE72C1BFFA40F76E7A8D745645D40D794367661011D2EFA8FEC13009D7772F0784F93C722D2165A11D4404B5ABF0A29BC95D14AC54831DE8D497064EDDA066CBC9F53445899CCAA763AED3BB1ABEF30C072371C62FEFB9612B76140B26139A9626FCB1E75D84E3F0E9A03BA157F1A25AE264C0DF6F0BC20957F024D3C05652EBBB935D0EEC17741D721BAC0DF920EDC041AA498A1C90FAD6E011CA2FE00982D69DCAB2D3B9D8DCF35B4307401E255557E0F21B4724F37367BADE3F28B45B307DA252730220A6BCEF497FA4DEDE47D93FC801FA98C4C67366C228AC7F8C9D98509C88919E8D4626BAD3EF2BA85361E3EBE79D91F4D0CCF8D8095E9E6691EFB0931261A6A032EC254D65EF08010EC5B74F8D17578704D3B5CCE01B58B79DCBED2C10BEDE3A0F6AEBEFBE6944C293EBECD85A3C68B250E2551127620B618B3447C465138DF4722BDAB319989FF46951C79A98D40B900E53C2AD0E6131679953E43663F1D96435CBEBBAD5836800F931812C634DB6752F35CA6A88A55C5DD4F52C80891B6B94E483F6E12518CC7A04DBDFC490157ECF69DE85A9CC00D643C72C08AD7EB26F214731E65734290214A083930B4891DE877EDA4BEC97846A1E5D3496B8C8AB29DBAEA4C6259E255FE4A089A955C9FFB1216531EB26D4C017A946CB004BB00FEB1C87479CE1FEB62A1ED94249DC4FB538CCF99197B02F354CA31BD81482664C5AC063CBDCB708F332479B8658BB6BBE1058D1DE3E9366297A6C007916829BA1839F7A807B82EAFDA1C78047D5738605F12B5B82D07BB9AF6CBA146057324BDD4FBD0D190B63CD9EDA6F9DA4853F9FACB8753C5144660E80FC8333DCC6D2619DA97884E718AD1C182731B0B0ECC14802D1E3E9D644C95725D31F4AC8BFE178E5B6F4F941556ADADCEBE21E2587B9D045C171D8BF80BA429FE5FD6099BE52B4B08E98B8CA857311D6C8E31DF3E28C21F86A235F9203C0D7F696F695B9ACB365B794820E1FE243C98B98D71072FB5AEB5B3E01270E49815A96CF98142129209DDE582926B373725890156B69FDC97980230510F673C04CEA12012D4FCA038CEC4D82416A9B4CF8DEF55FC5167DEAB18DC4E48A177364516A83DB1FD778F26F34B674D62C99637C391791CF80F119864792B9A1F2FF6B7C3B7CDF0F0929A81ECC91C96E6C76B1D839344679C0CFB9DC6551F80CFCB3E898FFB43B659F2629DFE4FF59E7A7B13D8353FD382F575F0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont %%BeginFont: CMMIB10%!PS-AdobeFont-1.1: CMMIB10 1.100%%CreationDate: 1996 Jul 23 07:54:00% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.11 dict begin/FontInfo 7 dict dup begin/version (1.100) readonly def/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def/FullName (CMMIB10) readonly def/FamilyName (Computer Modern) readonly def/Weight (Bold) readonly def/ItalicAngle -14.04 def/isFixedPitch false defend readonly def/FontName /CMMIB10 def/PaintType 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 11 /alpha putdup 19 /iota putdup 21 /lambda putdup 25 /pi putdup 58 /period putdup 59 /comma putdup 65 /A putdup 80 /P putdup 97 /a putdup 98 /b putdup 99 /c putdup 100 /d putdup 101 /e putdup 105 /i putdup 106 /j putdup 109 /m putdup 110 /n putdup 111 /o putdup 112 /p putdup 114 /r putdup 115 /s putdup 116 /t putdup 117 /u putdup 120 /x putdup 121 /y putdup 122 /z putreadonly def/FontBBox{-15 -250 1216 750}readonly defcurrentdict endcurrentfile eexecD9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FED919C2DDD26BDC0D99398B9F4D004B836D34E88C25F6CE738846C8E2E59A2BCF4ACF80A26D78872E9343A0537BC3BD7715F32ACD958D5AAED865BFE129278935063A31C2634DE2F9077E0AAAAEB224466B779096D8E3FF0A12AD5157F6603DED1A82F3511359143311179080C510740B401C930C96270FD1AB3ECBCFEF5DE53FE846BAAE95828D5790922640EF8AB9D7CEBE7669FEA02B72F86872D3D8754A18A1629C40A7C00C956F140BC63362478279C36EE353638CD3E249897207A945044400668C8E702058EBF7284C9BDF830A3FC79C7EE900CC4C3664F9767A237275CEE3671644A75F1E696DA906B4C66870DBE87F5B4A176920C078ADBE24F55C093D18CDE21B5FBC1C6A8AB18E05EDBEF9D1C1C18B3E6377BA2A688579D4F708F9A5CF4F56C5E39E2726106E9713E638775E606464CD674E5DC25CE9A696A65806C8E9D206B421E246F18013ACC6C7B2985BA93B1B7D7745CCB25B09957F50128CB523A55ACA6A7A2A0193A536E590291ED9D577B527CAD0372E05BFCA1829FED1662D06144A5FFA628C587A4FA05B179F1A7E3B23B47765FDC054271A0DBF9C2BB4F4771F80D1F7AAD9024868C30DAD5CF728DB2A71D86D53B0E674996E8C01F7EF97B225A28872F8AD4752A466E078C2B020EB832F237CB9B5631EB2D2EDDB00709D3864CA3A6C3EF18085EAEABC011E9F35C9BE4B5D0B608361F329B5784DAC5557A602E9E3C204909D84DB988F0BAB914E87CD685C7DA55C5E0B9F0176184FFC39B570873BBF346A0D1DE3942DA05434949A65CE64D8BAB0A091C40F7FF47A4FC57CB4420221C7B3EB8B891044B5FB0227009F0F6028D3F28545E63C808F298B94361F81076879D9A577EAB4C8C791A2A4B0D75B237EEEC409B271F9E91231E5C6DA5CAF97A530F671CFE8CF7A0C125C58EE7CA97980283ABBF19FF52D440CAA6FF82AA8E853722879AA7A979D631BA36D8318A3B6E118D3FC48AD056C1C3A333E10CF664CF7E1A531AA76632FAD6FDB4A79276B95363BB3F55B9E0A87AD3232A68B0AC4C554265E71FB07BE885C87A8AD397BAD52B62AE06C4A0069FD0675E74322E4DF40E13A4057FE9DDECEC96C07165AED235F5026CAF16D5167C0FB8353E2F83A82E4C4628D5C195CE669595D03FF504CA066C11B8583716299B30D08A188E9A794ACEAC9A54A6296CEB16F98C5EAF603B9134D1127BA5C0F8CBFB8618D8735F21FDADC5E4AD6A4BD1C6E58F067F91BBEDDB29F223A9612A2E2006EF6E6376D32E35B88E759FC81BE53B934391DC11B652F50DEC4E498272BD406B09F22458B2BA50207D5B58B10F6E05F434D637514AC9B5EEE653FB50F8D23C5A5727109FAC5B49E88BA203B22754128F6241EC68C9FD43D4B29B57DF6938A5DC807F00662277B0364F48D542F8B630C6B0742ACB505896F73BDC5BB14FCF1848C02F5948FF11A2613D4451CAD95BB015D62ABC659537019F96F67ECA3EA3D9707626E255DA0ABE6C2B541C7922C91D3113B7E33A6598F337C474D1BB51ECA72EA723A9BFA5B573E396E06EA4D97A564AC4B2D18064344E38F7B9A0959AE5A63439704A50DDE709A6F2E7199FD5BEC9A46C78B1F985513986BB458B2E467FAA24456660189C42672EB943E46382F4CB4AE40C498E15A8EDA830730FFE764549684A8236CBF73A0F1FC4F81F62A9AAE1C7EEE78AABA9D46D32B40F57CF904A4CB0A9BD9A7928DAAF70AEA38BBA5401666D8E52DF96A9ECBC3D1D8FB6C1E7C8008914B7C5F8C93DF4CDC6F5CDD3BED979FAD067F854EDC72CD1900A0EEAB637CFB264A96C680E726D0664E75D09525B0E3D1197EF8BC938B72F02053E357D48F0D36B79369688A2C6C4AF9B7619C702D64211EEA027A94C3F5676434579945E14292E4402085090B2426C1023B628244527C70A3E45D310101DB6DE02927F68158C959EC89B6E94F229459EAC9C9672F9865A8F15C38A81C4BC053B68B94BD250BC0476397D1F3F71F13A3E44F2B230C2BF93C2ED38E342150D5F36B88739A65024A15261FCE9C3EC36E07A72745160A3DFF2B0AA2C810F0EF1C919D160EEFC9BF35CAC95D03D0C618ED2826802242FA29A2271F03205A000AEE3272BD0CBC7DFDBBD761CA1D2D10AE1F569D2329FC0E83FCB79D084C7F9B0B764B2DD173990775C8817DDCBAFDC85943A629500AA84210AD9EF334FAE5BED2BC67695FD182BBF6934E6DA336F60DA05C10B630B2908F35BF20B31CE16BCFFAB0C4FF9D857069ED465B6B9E44E47C7ED81123A2A35BF4EDF7EDD52DBF60E2C613BC5D4C01F0C7EC62E63E886696E888D22050BBB4B08BEEE54EA96CF29F42FB30FAB4AB8A232F5398DFAE13B72300C8C1FF4AA6FDE113E1D2F54A02068CFF3C924460D9DD988DC711689BF758B7535B2DFBE074CF77D6B25AC7B0A4B5A66A7CB9E36C1CCC43BA527B891E0E95782FD5164B49A48F1F23C13265F6CDF987DD1130C3C64FF46E51BE97B3C0FA3C519AF65CC3A1FB063C7D4DDF2D183E141CD033E703F87AE0AA0E072F6109742F4B9B1C2190F64011496BB3085BF7FA19A2564FEA38B28B74C9FF4EB9FD1BEE53CAAEBC596FA4A07A638DCE63EC85F00851A54EA4A79B9F4EA96B9DF25B13B77A62B53D60D21D16545F22F1A59358D2620F63841B91738F7A21893637005B7A2E2A092E4197C86ABD0B50F907508634C8B8635FBFD1002C7649C327459479C2A6EB3DD0D2580FCEA98FDF60553DECFF233B0315159815EB3599CF0A8D868CF8961272CF87E1FD038D386C9C91526045C6A4C7DF87784F42A1769127C62E273A04BE5BFBB1AFCE62C26396DA63C7E6EFFA4630F95154FB00BFB640B17C764916BAD97D531E345614809BEC66C99872EC17B4B1E4CFDE386078861B2A3480B8B7F4C6570015C23AA3B315B437F5D3606A7EA22AF6F83C086F2D9F61B397108DE9F9B03C18E35755DD2A5E0C226B5DF71000FF9576D9D84095D5598FC8258CF4D7EBDC849577E9D026E04BE7BDE0B5F0339336C9018C92C274C65F330E1B621508E3C2688353281B6562C34ACDDD58EAB018FDA68D70873EF847C797F73BEC228FEB98EEA8F8095B47D98379EBEA989012EA0C784BE706F9A245BD97C4D96CFA06D7C7769EBB452DCB0768F159A9D2BBEE732D38E23858402DF7B5314DA58F3E09BEC1A735602FA68B75CCD655BCA206A5163D195A4DBEF1EF206C6DBB9202CD66C88EDDBC06BB22F5A46F5F8864927B2785C00CBB8BCBF0159DB44389575FD769FA29FBA3440FDFE866E090D5B6DDE01921FB52B3C7FE1F4F61E1FC1A28E24B4690BF805CEBD0998D050481F33A6D20D7095E3E622D4C0E4511124FF11B0F9AC84FBAE62D667C38577D60A33D8413510586EE3CF73EC76548B94E26124F18EB9E9CE22C069A731FBC56C41A94D580F4742ABD58189540D41105D27841EC53169B9001FCA6C07A570045C2DBCD627E0A74EF977B58FB16F43E4889C3312FC68036381DE3787DFAF7D533A10280034FDF61E53B8948AA11D1E9B71E28E77AAD7DF32E2B2D82D3EEBA3B5319A2FB4418297EA73961C5060B16C77E48DFFF6CBA06BA02305E5BF26893B05910E685917DF55527EF8022F7FBFD0185A97946CFCC80EA5575B73CDA90830E03AF55D5276D9AC11A24BE63DE56D4F967E862A9979345A03CCBFEF03DDBFE7C65B81D69B7276AFEDAED5DC52A7A13AE527E85D930DCBFA2CF76FEBDE9D0A0927C698DBD3F7977B13D628587FCDC9325DA0689A7ED338B83CAE7A8A8309DB78686F9482A6901FB12DAB37501E9DEE7CD0F4744D1D4D6F98FDB8E6D8A34849023671F9509118E64B1A176F6D003263F06B4B42875D1CB96D6A1ADA5BED17BABE34EC7C53252B76E12ED075B6DBB3DEF04B1BE526923AD1D8559E9D8FB767FE6E2D8ED5B9B09F84718EF5DD6321AAAF7ABB8BAF4FBEE9D37520020AFBF1DF6C2D0277A4F2F0975AB0B43895F4AADDCD7AFA70A9225C108D8955265AAA7FCB55818B3BF3533D47A5B9AEA206145ED659308BEA618254603D5ED3B108E4AE5D5328F1FE72E8DCD5FD63EB0E901730489C837DCB5B36DF68C6C6B8C2AEA3CBE457B78BA04F49F1163C4BE140A24F17CB09B8A63830D3C1EB4B728E049E37E20D2DB1F62C381D51A35723082081FDDC51BF4B4BDC0E87AB325E250B556919EADC8F4176122F1E22640C3EF003D27CBB3C79AF7C565184C8718C63091597E166254AFDD557FFD68497BD4FD91E8EA60B96722694370DB4DE5D5EC2AD5B25AF560054390F6EC1FD81C9D48152D06C135CB99E9702096DC5FA2521E7A04E3740ED7287153C483B57C839508210D7AFD8409B1806B5D01EC185B7A2100414660A350A1A0283181DB2BB9E2299F513370EF91AB72E7A382314C40A26B8EC5885A3FFEBF32B94BC71F456162E363294B7421555B8AA67586868B1381A4CF61FF1B4090666938132B0F4848CFAD99E111C087B080E161C02A256C9CBCBE8AB08F28B1BEE9E9D857A69C76B3B3C92C05DCBDAB12E4EB1D4E54DB040F0DE5B2CC70628C2B4B6BDA348B5A56C9909C2E25BED981AD186389BDC8BB41169439FB78F55700A2554BABE37E6ECA26D2460378C297FAF3E77D2D9E682EF98FF6A19A111AC49A9BDE66ED8ED28DBE54C7FCB65623E020BFA11C179F580C15EDD2E4850168F854D78330D36C516D917BA727281A9BD182D779C6ED60852B96931BD470B896086AFD752FDCCFDC996BB97D4B2284EF6443C96A67A0662A3705F427915D3011C06B95C1CAA962CB7DA734AF0A6C86A74E1D6289D20E73BC503FC0B38AD8FBFA2863226F066F61368F34F925D48247EB1DE04DD33DF3B44EED2E2CA62341AE3E8EF0DE1ABDD4DFC636E2AFA799FA9010E6AD4A00AC9FE6A7C22C90CEFC447D2EB033E4DD2DC7D58E13E1F8F1FA8CC87433F55CB702D3E079B27CA7FDCB0FEB6BD4F0193DDA13170CF2B0C7C4172ACB90C1966FEE7316A6D677F3C42C45649BD21F7E576327E9C0BBCC9EDEC5A31902B258A16DE67B36D5421C0A1E878B964531B575341F5E6CC713F8186B0047D516E892BED8463657218C4DE9F1D34EC4BF8F25A5F085D5C9F6AFAD5BEB6B5D0DA911C8D653834EB8AE49E98A2DD855860F48C6F751D967EE154749BEE3E58508A75CBB40655623CB5C4FBC296154EEB67A0A83A6F296AF57C540535DAC464B4C0DD5F65C7F84F09324EFE90FFB8EDC86CA9381EB1EE60A88E5FB9BC9890661B8AC8C39D24943BC85D13375F77F3208D578833729423B653A47550152D0FD21730F3A84C064562C0C2483058E43A93F4C93324E70F78EE11C4BF3DBC59276D44F0096D7B7801AA8B1C8B4CCDC81743D9802C0E1EE8AC1501C46EB6935C85A15BF22C1F13E44678BFC92B8900A98901DFF291927CAE09AC8EBD8BDF4034E308CC14962F74BE566FB2D2461F192FAAA1A8567BF508B57A8C3F5FB30A74EDD072BE395805A5AF1C77ABCD371C36AF87D1B32C9720700B23AD85304C4419859066121B89BF4DFE287222A3FCB957BD491996CD85F8030F2E7336D44687D2D1898C29C68D5A755364D84FF8979CE3886295176052F518FE959EB063A4B99CA5706D70DD4BF632EF925DA755D0B8A990D1C8064E778F07B5D092066E4E117AA6BFC24B2839B8FAF823CB7266E7382E13908FE92B1FF9294B73CB0C71638CC242DD14582AE2196A2FBDBA36BE1DD227C79146168B1263F1F75CDCA95762A1E4F0C79A3F188B6D7175161F5E4CF2E4FC847E1A8380441DE0E3544244168D084752A45DFF4EABB69C54C83E235CB52FF1F0311ACBBB194BD2BEA352F4BAEC61181A16470489D1046626BAC327AF32A27E0CC1CE64103FB4848F56657D45AB9C653AC6E4E2F221D21DB6FAC180C2EEF0668A50110B3E9EC7BFEFBB642D9D656353CAFE4A207F2F208A6F8C73E7F89981C4F2F6FEBEE17CF1027171C7912751F79F1FB284E5EC9025112A2FABD0EEECB8213E5E55080A22193338C8AB3B46790E374C23F86A43FBE00E74E1E2CB8DD56FABDB4D642FE4BF06D742BD00DC3CE88AD50561AD567E1ADE0432794B829FA541EE0A2E7019051C7709BD8B4EDEB133295E03CD4976EFCEA93457A520A32E58B744A6AB5CF3388A236D48E111DB1746C2D2AD1C6AFDBF241DE35AE55F39C1DA5E7A72B5C945B11068DBAB1CC21C8AA609B7510AFAE8084B4D8D7BD5C1E7C72D3D0C3696CBFB6390038711ED152DA090788EA5BC809E03D20FE3010E077D2A99D74EECF98CF4DFF56CD90B728F19CF8B2F291C1FB168BBE6FB8E962A66C2A748B5189783446BE465781774915A69A9A9FD208281209925D2A0E38024DD44BDB757B78B516E6A95745F1924421AC9109C357C3AC38A052A1C57D89CCAC713E7AE7182EC2C5C9CB2559BA28726A91E4FA1E0E3B472D9A5E15AB8CB5AB146149FE84A07C066ECD718AB628D00E8B1CCC7B2E9DD28377536FFF9246C88CC2C9C181F326FF8F34E32938C3D986D4D03373B3B2F464D0A34906E3E553A14EF8B2C67D712BDB55516B4A537256B2B27387614E2A682FE64D6CC777ED48C09E2353AC778188BBBAE440D22ED24FA79D3CD3F00547F86B58A4E1713ABFB6DFEBAE3989D947456DDFFD32234F9B8F46FE7DEEE5A77C98D09B0736DED9C8157CEFF985979D180F83B1BB322288FD2B0191FEAF5306B7D87291E75AE1319BEE1BB0083A8D04EE5D0147817F847EA0C08C69427EC57105E0E77F7909DDD33A193A1096B57D8F7A56E221053F57C1AB2D3213C74BEA8BA9A8B1610731091A5A9BFD26D4561890F14AA3DFFEC5E486E79B1D6166EE41572DC65BD21C57BDFE09DE0F43AC23DE5C6BE785F361722AB92880F5330456DCC4BF01C9B68C31CA2AEEDA175686C372A9E1A15085391566434E3BC3DAEBE15FAF5A5AB77669A57116083782EBEDFBD776EAED53A9CE2CAB9B811777673E7B3B83B9FE0776B13B856A73D9D24C3AD97885BF00154C3CD7EFF11244D9546DAF81456344FA74404D108C9CE6DC39FCE7EE18600BA4433FCEE885CF15EE329B36D5C752F6A65E34F6CB8A7F87FC14BA70774F1D4A8731683EE062C68E3C212C31E0E46F327C9BA21B084EA0246A730C834CAF26573C7B747097B6ED30E74D82264AD3A4146CCFECEB146C8F0F81B6AEBDE5A76D680191B0AB5E61B04D83DC722595479428609E04B954804488C36E79BED2EDDE85A51D057305FEA4CC323279DF8E737C39532D5BA6C3635FC0676996F5EFB4B616DF4650AE70D56D0244FF73AB251EF2C0C6BC6D04E8730D86F5BD5EC6273F301D03915EEF82FF841D2A545D86542D7E140ABF8657F0242F727E56B1897B4525406AD750F28FF078E3F431A7BBD84480FCFDBB95533FCEF3D471F1F8C2C166487C7935A8B4723CDB5D9C80229814458F558C3540954AE5E5D1EDCCAF44D3478CA3954C06EFA9D65952C3232C054ABC6466F03B1A3E51F7D9F284890D184C67A8BFEDB59DE0B95EAA7A347DDF08173B1A830D575A88317FE042CDC434172907DABA93F1323517AFCE9B568C565A20BB07CDD859C82B65E674F46728321EA35E7F148EA79701C9BD6E4DBE81FA50FB3042536BB0B874F2FD05C6A29B98D3804D6403CD9F7ED2EDDD914CEE1DDD192ABB2E59561F6A14DE2D4A5FF7D96F4EC0F543F18327255508034CF69430059796D94C8248B8F3F6AD495D311BDF0CFF0DB618A3A0517B99607DAC43B30838F9E107BF38E034CC81F1AB42104B1CBFAE2C4FD1C2A5D6206E603D038C85A8A4C753AF35F374147168FA30AE49DBC0C2020CC096595F500B6A932E8DBA90EB1D2AE6C1E5C531A04EDE06BF2A03318E633717902637CD57C7AED9ACE2AB5AED9EB45BADFB826BFA695EC77D42FB995AE102CB1349F9337F87FBBA944CCD02006D221ED5EBBEB4ADC40DD66E40073CF02D065FFC7D1F980F43F449104ECBA3641ABDB699A70A33CC138C2EAA6F95362F43999D71A053CEEFAF592CD548310B50A910EE5CC69060EAF4C2E2276DCB53A92542E2200369D9924BBA7EAF66910ADF479C08EA4D0E1AD2E1C79983CDF2FA3282E08EB35F97C544674E1C9B728D964D9A2AD34E70568FBF78148977D5102A34BB3AE70DC971B6E7198DCB57CA663426D30C60A6F62C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont %%BeginFont: CMBX10%!PS-AdobeFont-1.1: CMBX10 1.00B%%CreationDate: 1992 Feb 19 19:54:06% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.11 dict begin/FontInfo 7 dict dup begin/version (1.00B) readonly def/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def/FullName (CMBX10) readonly def/FamilyName (Computer Modern) readonly def/Weight (Bold) readonly def/ItalicAngle 0 def/isFixedPitch false defend readonly def/FontName /CMBX10 def/PaintType 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 49 /one putdup 50 /two putdup 58 /colon putreadonly def/FontBBox{-301 -250 1164 946}readonly defcurrentdict endcurrentfile eexecD9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF81719098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014FD2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B82BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F827DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC46437877B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB182DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73FDE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA687AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C49F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C40E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C94046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA620E40822E15C2AB8BF88EF4FF68D9C81564F0AC5495C426E3ED091CF4AEAD7696C3B00A0D6FB6CE60547AD516EC9CC7B904D6617F81D2AC5086C30E40057B3C8854C4893D3B1D822D61C4414046FFBFDCD7AD22EE19016B50905C92287F9946F2DBA4CB1B18E118FD01CB5EB39E77C77A4BE276258F7EF35269272729704F2A26BDE6159A9A0F1B6DB761B9E1AEE8ADFE2A314E55529A309DDACBE407E36635496A321808343124DFA290E61280BF17F5F6ABF97F7CE5375E238B6AC9CA0490A431876AC3D4F2A34A31A5F431AD688400103CCF1808A062083941E389DCFB0784122C3888444E7D8AD6F88941D127077D2E7C5886EC68F651EDFA27ACBC3E5A66874A29ED8D20F47EA3CFFE992516EE0194B37CF8F66C65966EAAFFA517B6E52F5C9FC2CE010F9FE1F9967834E468ADA8B31D300E46CB7770B771B98A78B499AA7CD8FFD39F670B3146F8F2491E775FA76024311B297262CB8F67F672578B340AE3269F0AF525E8BBF560CBF8D3CB8417B205A9CA4717E664DFDA36529539F4889FD55CC36C1FAAAF275D20D5EBB509707AE819E29AF44BE491A0960069B8F5243F6CBE200286E6152FCCDD3542AB689862F1405E63D85873EC2D13D1B4A1A87832B0BA184A52AD166C7E85F63FCC0F4E0814A5FD120EFDC8745991E68F8E0684E7DA63E122552377B51571CFE8198EDA223A751342568A3F19981095EA555EB9EC2554C46D391F8FF747147D137BDA692C82281FFF4878FEB55057EE8C57690B86FF3861D0844082A7627CF4A9711D51437F751CA8E5D53BAE278E60476CE6AAFE020ECA10F3AD4FE162FDBE8D2DA5BBE627C21F7C73E15D00049E02D0EE46C9A5438B6C75D5A74EAEA49FC72A9F563BFF847FEC8543CFBA6600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont %%BeginFont: CMTT12%!PS-AdobeFont-1.1: CMTT12 1.0%%CreationDate: 1991 Aug 20 16:45:46% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.11 dict begin/FontInfo 7 dict dup begin/version (1.0) readonly def/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def/FullName (CMTT12) readonly def/FamilyName (Computer Modern) readonly def/Weight (Medium) readonly def/ItalicAngle 0 def/isFixedPitch true defend readonly def/FontName /CMTT12 def/PaintType 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 45 /hyphen putdup 48 /zero putdup 49 /one putdup 54 /six putdup 62 /greater putdup 97 /a putdup 99 /c putdup 101 /e putdup 102 /f putdup 104 /h putdup 105 /i putdup 108 /l putdup 109 /m putdup 110 /n putdup 111 /o putdup 112 /p putdup 114 /r putdup 115 /s putdup 116 /t putdup 117 /u putdup 120 /x putreadonly def/FontBBox{-1 -234 524 695}readonly defcurrentdict endcurrentfile eexecD9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF81719098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014FD2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B82BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0EC81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358DD5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA326B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDFF1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B80138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC6661353CC1FC512D59DFF847ACCD04A1C36D8C678E99A0CAF0B7AA7DE226F220BA18145EC4F43D390DE65A99750CCB976DF6CF79A1ED03B3956CCDD036FAD8C402094448A1969529E625126AA23205D65829F9C640419EAF13C08981E729EA1E0062D2261D21A5B16485A0BE5819A45A9731EE2848BB0D7EC628CBF66FFB0A09CA4E2E4A9104719AA93869D48F9E48E244C3EF3C195C64123D3FEFD13B3B30F35372B3EA17E07F0B80E862947CC6E9552B0D8E39487B4F59C64E42E26CC20D20329B9E480059ECE31751553EF7AF50908C429B19FDACE4380314A59C5D7ECAB88559C972F414555ED69A1361AB2C25FD1D23E32742F692E7DE9BB96CA545F8FD57612896438F59DEB38B3B6A42EA305158167B46F33B4E613874BC2DD766BB9B54B01126C45931CFF27940C387B4DC0DE1AE722336168154A73682BA796803C84D5721402C0657F67DA68E0539B8A88EBC34F85C99A5903558422CEF3A7B28BA3A1AA647EA1EA508E975CD11A95FE0948EBD6B798BE8810008288304A685E1318DB712C021CB00AE70EA82F7C34000791C447502CB926F9627783BA626A3E8D526E978CCDCC59B15AE9F073F9EB92435F0F3FF3AD32735867B603921F20CC447892539A1AD8F804044148BE8929C540D63446DAE25F4207974176D1AB8BF0E3D4DC99381737A87E80AC8CD0D934D75594847862EE822D69165B16E38336500E03FFA4376EC5B8DFA4D68EB24E63F5E53AE2B65C64A31F5D521DB20DAE085CDE1B7E9817E7E598E3295322D0B3E237FEDBA8114094AB30584FC2A3EE17B09B34ADDB359FD70BA147CF36A3554844016E9D689C87352FDA888BEABD3275F846DC94CE6CD2939F459FD2C4D1C169F6760C96658C954E03A7906DE90D57EB44AD716FCA0B4C871AC7D43A80ED684860149EA431B4E779F27B2367617C395458BAEA24D37DE090768AF8F012528EDE99A8AB53579B9B7FF9DF5387049E4948022AE1CC6C9E95888439645DAA1C7BAFFBFAD97E9D1187C2D3DDAE6EED08265659CF4FCA6DA69B862F3E1F385714EB76DD61076E91EB6FC81310E115FFB1FDAE4B598308CD4025675017E494D44C4E8C1783303C3706EDD26A08E1B3D5EDE61DB983AC01D0F3AF1F91AF96F50D79C1140D447840B0926CB7B417B2B791ED6300E82F816D1F8975D3881C58BF28760742884E816AF09CD2AB1A761DC23643F9FB920A117AA102EECA0E07FFC998239550532DC36A6BF149F7B2E78060DF8804F11E2E1EF0FB0034BC1A7C1BC65810F691774AF4CF861CC2234B62B160B916CCAE7BFB2396AA163F5BC0063B7648A6A8985E8ACE7A550C0806D9C0D1AAE4BE5BE59C7FAAD41CE8DF9E83AD7F58DCFCA1A44BB22417C039DF17660247B8AE410FB5EE364DF0F10D802F23CC564727ACC50B6016CBD77A7F540517E24B13719317D2E38E9E81354F9A5855D8280B1443A2CC84CF01955C90AB60BBB979177A78D418B56A6C0AB46B89351E52C8401EC8F39FA259E1A79FAEB47E4C819ADBF8813CD9563B2833C55F1AD8BCB6383DEFD22FF3A2012D9B54528983589FEA203286675C00B28B58E841788158C61441A786439C11B930D70E6D545F2CA63235801FBE6F74C3EA31203A0C9DD1481245E53BEECDAEB42225729657819FB86B37BE4CDDE5D7023C099267778BF049FEE4FC912FCDAC22B5501A0EFCADDD0183E1D084B6DC744176F3D5479A34E1DF91C82F5AF081A83701F9BAEDC137985B68A5EF22FAE92F543330B9CA16CB9909D60E200CDD70B194FB9BE5AD03A834E8247F302D952979EB30FE7C7A10D0E9395F192DF8206128F1939A0C5DC09A11B21AD3000E9373EA1FC0831B9DB05E1275DCCF00FDDF6210A93A00B878BBEA102A1098D14EF925756BED97C61951D44DFC1A3711796FDD46D6B83936B6E6082693BB209C9F3DDD7DCC71E875F6583644219EABDF5A0F283345FDC5AC093A656B9BD8C3A0C80CFE1E44735119ED61053D1C9C28D2EE5F6DB24113CB6F7E8C0BFA1A5A527F082433C08DDF5F0E0D65E7A54B9517C88C15BF9CAA289095173E29541513847F1D7A8DFC41F9378A0DA94184B5B32862406BB87140F119A17A5C915ED81951821EDEF85525158B30253C73C177DA30D1EC5891A931C6FF6D35103AB924D18CB6B90CA396A51DBDD7B1E063C42615B3BD317D0EB33F19967DD8C3EAB89551FC6DC847C4A353F1F4A5E265E68A8E8647D73CB026D5841865603681272DA1AFAB37573A8A932396BD56B2796B5E04B1D599BB6ECF8CA0B3BB9375F642F6F2A60C4153409B49F704259077BA17AADA70231B0AC156592F4A0DAC81C5B0C382032279B643F9FC5ED010E282CC170F027B75BFD5FB5FE359B34AD408C3106E0590B254B53CB5BEA9F1D27489359B678026330DDB0643D50D5093C98BACB3B9BB6D6F817AE027BB09F23C250ADEFDB66961692AD1E09AF149B486CED6E5EE239DC0E56E27808AA5905CE9BB90E8047FD519C94CF797E141FCFE35085A7ABD45070A4097F99F641B32BEDFB8F0CB7C28CA2B0F5C65756B3E133D10AD8FE74B61F63901434956F66C1210C5ED798429809AD0485A7AA732890E922DCFC7B8806B37C7B1803EF2B047326CF51F6E43B9242FCB55A419D5C18F95E1C7DC6F2A767F6648733ADE9D1654A51FE41C1656BEABEFD0225785EDC43ED1BE139CA5E04666C9C7B4AA303D36C03EB0CBEECA3DCA651AC65EA9337F6C7F8BB2427D54EC34A7E5B4950C387C3031328B26CC8809C3946DE87D025DE65517651085E22E3D622756AF4D24C662C9D18815377C57017E303B2D4202FEAF87B9FB1011C0E658814DDF93B07BC994D5855EFDAF25F6E177F1B8F91B0EC760AEDAA313D2C77A850A1EBDDE62FD28FF3C09AFBA5A4CBF208159482A687786EF1D8997228A4E86E60CD5F9E0F95CE9EF612D9254F279608A9E575176793E7EF4765BF3357A5F93DF090DFF5EA4D1086E991836630102786753AE2ECC359AB04EE8F31B2805313FCA4B7731A53C20855A2A54B413B5B9C9F17A5217D31808A2D6EFFA41B4C9491238B7CC3A3DD5F21A5C25CECBED95F8753ABDD38270F9F4786F3D68E2C4FEEED448083E55A2C1F4C003D05E87E88921E493A86811A946317EB03FB25A20019CA664C27BEB328441B7C76A854095926689F404D9657C2872206638D2674919A5322C884E90D9A405A43D667FBA6B7791D22FB468727EE727077C70AAA4D6DCFC5A45765FCEA2EB68BE505D387D3AD5929624213F2778A843FD290F066C2278CC7CFA5E01FFCF1FB5F008F26089961F501D30FBBE346D72C56BC9FE949568A49258BAD9471BDE26011C27651DF0BE240193FA723E0FA5C2682D7449E7B5FE6F66D0CECB82E9898FAA6012BE14AA374A330C9347AA7F6039F2528DD5642C0A01E66C063AE4027DA5E4F36B5F26FF3E6C807D3AF20519EA21B9C7D66C206EB22DCE98200161F38AEA37E535F5E25C25ADE94C780434FDD10809C83BE7586C136737AD54BB9E57C3C3347C2FB1301A93224DF1529C478D57FFFB5C747AAA88E159E4646EFD1F8E6931404E2B8584C54F9D9D92C6F2F6A33966D97B02C1CE4EEB291E14AD81D104E8AFFCE21CE504CB1E35EAE7B62669C0F1DD970B064F4AE6C3350E8BFC1ACBB496AA51ED53000A04AA19D2864736FF718A253518EB6A226CC988FB34224068B535576ABA75A53ADF6B3D8D16DED584F745733E96A32457C6D202609CEBE6BD285C4B54B7E419A3A068069EB0321BF0C2198F4DD407B8542A969DA86F6DF056D126C196F990CAAC2138D5BC81A6B7B71C005AC96A181715DC18427C827046FC64B0D8FDAF394D4ECFB1F5A1F948B59A79176390E96B08C481ACD259D76B8B608AFD9E1F370ADC94B656CDBDB28E03004988C7B6CD94E81B69E70029E300E93C92B2A7C51272741E3E95D6ED7647FD5E99DC7E7DFD461EFA9ED9F442967FB26EC86991C479D26E0D3EE470DEAD8CAAE58703D662E7616E19CB6D6E8B3E88606537101E50A836EACEEB138B078BBABA25010A48CA3A41609EECDD56EF81F528D0796CD19302BFA94C6B476E01A6FF5D5E2041C7471DBF342755187548F1E400EB6A780C3BD1A5C2C08A629AFDF8FE75237F7E9C5C653AE188C532FCC8850DFA1322C8B76DC4BA641C0B99ACE8D5861380EFD342CB1159FF61D4BAD8283488C2FEA87299CFEA2B705EE784E0A506ABAABFDC1B9881C1EDEB952446B46B115258CEA626B4C0F4C36BF29B6E0D718FA9AB0D9B178C160A38C75948474983218DF24477AB7D3A5BD926347AC6603F65DC7071F5F7EF59E2C1BDFC822D58C7B492A1A2BBD9C19B4495CEF911110290E0733FFF57181C42BBBAC8A62A629F3A754970A0A1632800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont %%BeginFont: CMBSY10%!PS-AdobeFont-1.1: CMBSY10 1.00%%CreationDate: 1992 Jul 23 21:21:18% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.11 dict begin/FontInfo 7 dict dup begin/version (1.00) readonly def/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def/FullName (CMBSY10) readonly def/FamilyName (Computer Modern) readonly def/Weight (Bold) readonly def/ItalicAngle -14.035 def/isFixedPitch false defend readonly def/FontName /CMBSY10 def/PaintType 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 0 /minus putdup 1 /periodcentered putdup 2 /multiply putdup 3 /asteriskmath putdup 18 /reflexsubset putdup 24 /similar putdup 33 /arrowright putdup 41 /arrowdblright putdup 44 /arrowdblboth putdup 50 /element putdup 54 /negationslash putdup 56 /universal putdup 94 /logicaland putdup 95 /logicalor putdup 102 /braceleft putdup 103 /braceright putdup 106 /bar putreadonly def/FontBBox{-27 -940 1332 825}readonly defcurrentdict endcurrentfile eexecD9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF81719098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014FD2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B82BDBF16FBC7512FAA308A093FE5CF17EFB0FFE6C69FEBA8389DCC1923D30683DA8CD93F7195D5A07BA2F18CB3FD5FFEDA4D83BF758062134D84AC0100187A6CD1F80F5DC15B47D73F69655445AD218A8AD78C16EF96F385C9E2D46F8A330C7B5A859EB0610C78FC5CE39715A1C5458D30498C0A339504A74C7E8F84B3DEC1516B3ABAA0A06DEDCD5F9FEAA5AC4AE8D5A5BA5EC0B64784454F58049E13467D7058F13A22BDED5F93EDDCAB7A1886A5168D25B120F8BBCC23546BC7398D4E3EC17138921404C390EB84C3CC243C0FF3DEC9EBFFF3DEA73365F1E4BC2F3AB911B2F780946F4F6F49935A54EF955D9894FEB37239C896CF98240162F6A6E9677EA2406BEE1F04463C033047F7F972C560213C7A02BFEE5AE5AE5BF72377CED942A6D8059E59CF03CD6782BD34BC02AA4FD1BA25A5CBE32569D7FED28EFB4C0F5F7C86DADC1A047CB514E19B36A84D4DB390FFE5B841C390666FE27C712E23E22FC84A8670626E8B72700B9EE9F06F2121264C1CF69FEEC3E20897D0D9057032830FEA18A4BA2AD5CE10EE4FED4BB9E2A9C06965779827D7CBA93926793A7161454E3C5AC6A3AAEB75EC64556142508DE6E37B71058F8B97C1A9B4CEBF74FBD2D6D84F5DAA2B04AD30B313070B33789935E83DB470FAB8EC65165679F247964BD0C2078291B6E13C29E8B86429C1B90C396729D6BDE4CCF24BE000390D798DA73BBECAC5C9B1AC19B2C660CF1CDEC05289F6CAEF0E43465E3627DE26670BAA825429B4B8FE57928267D5EBE38C5BF93F90304EB89DE120F81362FB5A3D374AB25B33CD03A8E9E176E41C964625E58A65EA958EF2B089933C06B71E29249A96D5A2395DE687A0C60B837B565787D5B2C19B6F17CBEC93C6461AFBE87A6AFA5BC89F877C03E368B5C7E0801076E6BC147F2EAB39A3D670A270A24056E60F3112863974016673309827BCDBE0884F6293957EDE08D50B5AE771013AC6BEB5FC0DB16D7A0507B50CEA1B59EBAA0B20DCEAFC465AE3D9A04A95ADF0D9D021B249F3F5F8AB447CF8D40EA4F29E94D817DC87A4DD19FD54C5E018B73161CA976B491DD40425B1A2E1F2CAA499B8D1014E4A1D7BB150F33D73B4B79CA80EB7F92807415FD3F202843D29DD531A236CA776EFE1F5883D24E1333F6DB93C3E72BE8294CF32C42A5AD9263BE076C6FE5ED650D3BF878F5DAFA31AB38127150EB686B7C7990134F6AE4B2B4209F96411A4C703C0203F1CB3834F565CA7B36FFF953A0E0B86EB5B824A4F2AC3B0733C1637B211F03BC9B25E5EB9840D19E6ECFD4EBCEFEE14F27E01AD7D3FEB81B1DF5D57E430EFBD430AE9E72FF21228775844947EF8E0EFDD2FF28E19526DD7C614DE731AD1BDDF6E50C1AA8ADA7580F2BC0477A2B1047056013CD87882F191503C5690457364ABD6584231CD6BE84A539C9A63CE6769C79EA8383F116E359E534DF90F9E405089D748DA8FAEC90FB4C1530FA3B8B2215E2A3CA7DC4F9E49BA1336A9AEB1A4FD05A5CF17F6825EC8A12854CFD58D1A022A04B5D192EC6863F206F5743171D9831A46C0CA71383E5492FFAD42F283CA6F0F1CE3822458587B1DA00BC1ABEC66416C16965DBFA0BB1FA4F5D70BA8D9E8E8041D8EB6CD2F3BD55F0C7470229CD65E7D86843AFA29599C697A92CD034153CD50DD0A558DC152B2CB0816333D91FED2D149439D58DFB445F1AE86AD72F8062CB0AEAC82966FE610F64B2BFE3D8CE9BEBB676C510A8087F03FDF40C5BA6CC03E196CD6309B08618A30CA45583A2439A9B7771B367EB622115400D76F3DBCEEBCFBC1D0A54CB9D38239780B08669E3007C840DC151BF9FB4800398FB93A74E62ECC30B41E6B7740DB2C017E30CBBCB3EFBD4B55555FB7F49A7D72B73F3E3273089DA9C6B9EEB36B216AF26F64644EACCD90F2BF9785A0DF10B09D14B557B4C005DC69B98F55B457BA45E225C0229A0B4509894DC0AAE3AD1731D785E092CE5AD0E59DD222402418735DAF452F90099C5692F44F6139A33AA6A920795E57C39A877B30BAF1FE7A6DDBA6FF72919D3E2EBA87C202B17683B539E5C94F9A1DBE4F9FB80275786DEBD17C75A427117660248273225823F99A929FAAB928BC8C85C0F569FAC04F293B99732C4FB52A9F1C0F2905DA5A91A07E528A6AF51C7C62462E20E3E8F196D6AFAAEBB34FA371316D9F26655F0EDCD6D37BEBD491316511F09EB9CB5C1C31582ADFE8AA33825D3F6304F912F36EDEC08BE5D48EB88D81C51664EC6CEE16457393CA3343973A033605FFFF932DB9FA277EFC03FFF8E0C8F7F261F06996EAED63B2EB871F6796822395CADFB74BBFC9802D54853B4AF057350608E97E99FC8C09E9F9021C2D439A033CCA74AFF31E8D2D2086B8EA7C525491F73F4029BB8993596FAF102D4112DA4BD35A9BDADC8B714B2FB375C38D17F87C5F71189BB7B5CA8A9A228CB721C6252889B06DB8857CE185C286E0BDF0A369CBF1F293497C8F14507567D3C0EB8B5D7BAEF812A8274514AB102AF7F97F2773F193DAB72A84D76B6B81AAFA6D873C965F3918D45C8B2C0DE895968779C91900F11ADC67318F43D2B287153B9FFB72B4050D3166F98594FD55E1E46F474DB42439D33EA94A77E68DC70E83749B318D388A0BFA682820E2C893555A3BE4D0586C4B41944E486AA6C7F33D0E5E7EC5B78F8C29D0815B3136F04A34087143A7A1BA77F9224D92AB95A54D5594E634F073DDC42F833328672EA471FE98C067B857C2F98D9B905D49040BCDC9DEFB1333848B1643626CE14F7BF508F0340E2DF087E435B174BF0F1DC4923CCDBB13E7CA046A59EC2E1C32F634D9614ADD0CB213C7026A5BDDE7210A562C2D9F95B8389A6F89920686DB7C387E725C61AAA4B5A19201ED589C001BD75D77DAB2BACD01FA234B81BAC2C1B07E00AAF959078C48208A8E900C8A15819D7F91D1DF866B0D7902B9AA82C26B98F1CFFB2749413BE9B778E958B0B46CF9089C1C1E773134E1D4AC464773FFAAB267D417021774AFBDBD46D034D23B08A0A9E51C9EFFA8828EE6633C03447E32DDDF1875130A7EF7216D603DE6D3E4842B82D23049E86263E20E6AB104362F7B27E7F696F276CDD79F81B6E6A10153BDD4F81F30A84E2F1607256E64D5F9A415F16512C2FCBD38DD7BB3B2CAADAE1195F533874D1BC66A4B408E61570EC3C82C49D5146E3E13446641C82D476C63FB517883A327E360C7DDEB00EF968A01CBACFB677E7330A71F3AC403EBFA8D201B5870834CD5CAD13EEE48634DCD117D762698C2A38F6D9791A33D03AACA52348610E5D549FFA0FDB45E215DB59638BB8BFAC677FCE07869BA8F9183FD183A8036926137C45D22DB66DB94788FA73E716C89DEFA55E43F6E77BBA1F368ECE69F26EC67551793266DE37416FC7944E47D7E81C666D4EC36B0C9817BCD01589C4F00FCDAF10F937F43F3BCA9CD76B0B72C8EF1F055225EDF481D76142C93FEC2A67F932B1E022651AF3BACB4814CE9EAFE4934FEA1EE12F9AED3C6CA7774F39325223D544D9134AAB31D6184EA1D81A1E039F28C4ED15392852340024DC953E365B4E9E0109F347AB68D849F3707DD2D940BC7A2B6006C28071F183C6172B0D2B691D66D6E49448184801CD6B243929BF30E7861D820D06ABA3EEDD06FFCFC90C2DA653543A894B9E20931E417A6B914F48CE74545B9E1CAA21186580EC655A38C052D042A5436E978068CD1063525D6DB5ABF16B6F4F29BD2E002E4F3482EB4E1BFD096495CE87CC021BBD49AB88652BE017DB254E0B5C0320B912BEF0631A329E46E89A7FC7ED7BDE323CAE98317FF30317241FBE7A76330C0061FEFA4FE79A84C68E18B728372CFCCE522B17165A7EC67EF1209A98E6AD0573A5371CEB73B5AB26C63FACDFDE826ACEC062B0E8DDDE4F6F0125564FD3A61E2EACBEBD588F85781344396CEC5F26F75FBBD06568953A45CB961377CC91A8B8C2CCBA50DDB62B0DF876CAF63F6A0EB56D0AE9F5CCC6A4483F42C71829CDB6348267907FCEFF4E7BF147E0C4C0AEDD85B89A09A1914A2616D9AD63AB73821F18FFB141C5170E5CAF872A111CD1B3F308412A33AE827B3B4B4EF036C766F1ADA48C89A09C0546865B74DEBE6CB4C8EB7CCCD99871CB7216590577A18269AA79DFCA4E52C553CB7E7286CA4408E2EF5D71ADA798EB27FA91127EBF1B3B04A38C1B80606E480F3B4B33DB4F173C22E07554038E9E7AB78C747B34CED1790BF443C51D1418755F0645D78A141D95ECED60B1365B83EA0D5C73B5C52B7F9F8E14DCFDCBE4F11EC51EDB0C668064D2BE0D5AC14F70E213E393201DD59F6BD39BFAAD96737046E1E8E2F1EF473C8F6628C5A4FFE2D053DD379477243B51283578E0AA9A1A8F4F42B39D24252614DA4AC6AA4291C9F752BE3507D374D0F222D21172DA57DCB6253C35939ADA3F3DAABFEE590968E441A86AA62C10BFEA5E32007B74303916AD3D0C29BD3BA4A7A88F90B719B1FD32EDFD563E160144CBB29D49DE1BEF68AAAA873C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont %%BeginFont: CMBX12%!PS-AdobeFont-1.1: CMBX12 1.0%%CreationDate: 1991 Aug 20 16:34:54% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.11 dict begin/FontInfo 7 dict dup begin/version (1.0) readonly def/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def/FullName (CMBX12) readonly def/FamilyName (Computer Modern) readonly def/Weight (Bold) readonly def/ItalicAngle 0 def/isFixedPitch false defend readonly def/FontName /CMBX12 def/PaintType 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 3 /Lambda putdup 35 /numbersign putdup 40 /parenleft putdup 41 /parenright putdup 58 /colon putdup 59 /semicolon putdup 61 /equal putdup 64 /at putdup 91 /bracketleft putdup 93 /bracketright putreadonly def/FontBBox{-53 -251 1139 750}readonly defcurrentdict endcurrentfile eexecD9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF81719098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014FD2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B82BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF267FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316DF957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E2677C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5EC55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E830855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19CE936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7B00AD58FAF6451297991B5D01701E82228D0313FC7C66B263BC79ACDDF9AAC48A3CBF42B96E38583E1D059953076D68148DC8B6C9527B3A74CE7DEF788A11531F44120BDF0F610B2F3ED94EEBCDE4ACD23834C242AA4314B9EF98E4BE72DB76EBDD0A028CEA9DB4C38C1F2D24B8FDE686832FE96204552C820E45B6BAF0C3308742AE2BF8E09B5C68BEBF37982B2EC24C4A8F927B7240E6480B09DDCDD7AFEF55DAD15F0248CFBEAA3179576A6479A27E6437A09DF72A27B575204999C43F5267C8B3E815A614820143FD88E771C1F9111261F53CF2770A20F5B3E43A65EF855F4F2D2CF7848194BF6F2937CE0B53A599EE4FE4936F1B556D1A44FC793DD6E0CE48EB60156F7F56F97389F348307947950126ADEE088C37C8E3274426C8404BB9EB1161583BA82BE207A54942FA751B94789488CF5D14C3ACA627C0045D29ED06F91952BE4771D05D40C62059A51C7599CB2638C8CE94AF312007DAF1B70E93D1CD3137224381F4A3A5A0DD50B6B9C5BD26C5B490BDDB67AC6AE72FDC85954FAF4B76AA0A5732B95AFD21D9B2A7779C23BFD95C25EB095CF14D8AA0A77268012E0B689E706702F8DEB228EF25B2F39C06DA623F0703767A3125639892693D28D9E4D94B04B443CDE7E069B84283D4F5A54CC1CE530EE9C14306DFAED175974377107434635CCF433EA33AE1DC622B878654467BBEBDF32035265E0DE5C2B4E5978DEAED90101564E0BB4FC668641F779B7F998311E48BC0C2AB20CBB733E04E448FDDB321F00F0377BC6158F7114509991580CABA9CCE782C40B2C159BC2B761E5089C7DECA17681691FA6F19D56A73FE7E80EC8BCFAC65097D0E1B6EC2923FD3CC751212DB68C52B3350F37AC53C94FE1A4ECC4780CF41A7998D157FCF1F55A961C83B244E7E9C072BC88E4E118538F6A290EB3FEE014E41C2CC785E6B504B44FF048AF414161723E7AE944574111B8948D8FB1F53F42D58E57798576A08A108E8BB19E02CA406AC4B931567ADE9E43E0982CAAEE7EB8864CD77149693F56900EB28E34E952284AD1404FE7DFAA5983BD4AC647E877A524B5D9C6C40D8CD9DBB9C79CE76C7D24DF4FFA607116246123B0636D77897D8039202692B0ECE7063D75B74E4F61E8976E1A32E300B3344178818012EAA7703EC6FEC436F629EAD5EE58003355509CC377445D1F369FF39ED3CDF6BEA115D96B29692E8A18FDD2B42EABDFFE19D30D966D7F94CAD110A4C4BE24B3CBF85E2CAECEB123D52676174B6747D04C898E409B8D68C202EE6D439D5F456EDC49953D511B9CAD853D04092793D9BA3D340CA8D1B849134693FE8E8ED6DF4717D0891A476CE1FB237D421D509CB58BE50E86FB2E5EFD4A88D708FC35DF9C2A504363548F382172976713379613233C9FA19318E56BF234B94BCD42523A63A7E91C9A805A5504F2C7C4F5CD239B64DC93D6F383E65922041322F53C95DDE6F460B086FE07E940BA3EC95009DEFE5868FBA4B6B355DF18146B9F459527E0CF5A109A138104A1672FB04042BA4CA89B55AFBBA2208690066F3EBB1E44F5BF10CF07BBE435A35E88035E47945BB8E4226D369140C7657AC17FAE8F0085E1A2B54F9CA5E4D8FC35C43ACD179B91553F7C19401F2573BE93BD750840782CDB00CA87E9DAB86217DF3D086E867AABFB6C3BD63A92B79C95ECD7CA224836E359D4FC0416A1F27110AFC2FAF0258FB05DC3B4FB8ED87CDFA1C23B4AD364095561439F2C68B205330BFCD47D571805D9BA13963E6144899A3E354BE6D2F5BA5903705862B261B9F6CCCEB9A89F68BA95ACCC23777FA01063924CED9913A909B002AA31F7B1F702F2A621F79F1619034D16CA881970FDDEBD745E5B45E31B315C30746BC84FBAD6B9BBAAFCB578E1216B9886B290845C98AB2007680B5600EB1D56BCFB34B0602D07A9B4DA5991A11878106C2A58698C2CD9051B6463ACA3CB298CAB9C3C943D5B45B45CD824EB1E7C04F8E1E838C1DD82887E59E34E953A9C507082AFE14A15BC557FE79D372974962FDDB6408FF78293D8A06859E76786832C765A2EFDBA810CA6C435B1F7682890D61DF38821635165F3F39B719BF1987E9B481B114E3895C296AD9A48B288B694FAC31CF2A36AC0110199B152901BDB8F079EFCC241A2D8275B5207E9DB3B5CFB24E451BB50ED4B92509A4AD244958D3C939AC6A9F5EB814B3CE72EB21FE456DB25E4F87BC053C812D656D0AB27AFF946C57577B804718FC3856102410C69EA74CBE6CC810F4F5C9ECC86553765CFF384B7129F38CAF5856CB3286F48B617BA3FA14548DDB7074E464E2C4189A1B7C29B33ADE2815E100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont %%BeginFont: ComicSansMS%!PS-AdobeFont-1.0: ComicSansMS Copyright [c] 1995 Microsoft Corporation. All rights reserved.%%CreationDate: Sat Sep 14 10:16:33 2002% Converted by ttf2pt1 3.4.2/ttf% Args: -a -b comic.ttf%%EndComments12 dict begin/FontInfo 9 dict dup begin/version (Version 2.10) readonly def/Notice (Copyright [c] 1995 Microsoft Corporation. All rights reserved.) readonly def/FullName (Comic Sans MS) readonly def/FamilyName (Comic Sans MS) readonly def/Weight (Regular) readonly def/ItalicAngle 0.000000 def/isFixedPitch false def/UnderlinePosition -133 def/UnderlineThickness 85 defend readonly def/FontName /ComicSansMS def/PaintType 0 def/StrokeWidth 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] def/FontBBox {-93 -312 1187 1102} readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 0 /.notdef putreadonly defcurrentdict endcurrentfile eexecD9D66F633B846A989B9974B0179FC6CC445BC1325EB8F274DD24A5D21C05636413EFC099729365596A8A52075A624087116520034680FDBD3E86220CBF46C2E82BA32413E26C0AE960BB760BE98B2E1348D6A21CDB5429260899F7FF77617B00E876499AFB997425D58673778E90672CE2F26C816F6EF6C1F6F0724D575749C55AE9D8CD0337709436E75CF2354AFBA7974814727450620BF79E10457E31E899430F90AC9865F70FE6B6777C3B647DBF5479B987AFBD6DBAEA380CEC42950CA19398EFFA5677DCC3A12382E5728D26A08A739460E0C7EEFBC2B287F337C81126D554D5A2079FE15A7AAB1D1578A6B7E7AE509A0C8EA12CB3BFFA8CA21F80C28F165E56DDE1398D280FC068CB1C04C8317F894F38EBAFBDA29AB0EA3916EA9E64672E802980AA50F43C457AB4070C6F095772F85CEB9ED0FD0CA31682AC547B8E8DEBE311665FCB8AE3AE78AC5AC5FB3F47582BEFEFAEC16DB1FD2025778C99C2488806E7D306ACBD579C02F05107A52DD8289D51C2D63372BB823C9B17F5FB7681F2778107E303E1951D955443AC4C731FE01234033C6FD1AAFAEF0C3981E9B2CA2386BF69A80C9019A7D8CF24477C4A5AB1BD191D1A8784E6260E49B87788FCB6F169985E9C65C30DE793F4A68E75FB3A8135C52F8CB70F96ABE2F5FF571BBD0732FF0A6EF848E437B50688DF5645B3A30E47B5AA0F1EB35A669B2B0603A931D08C5B9669221238E5745FF9DBF2BA765274A440F3987FBFC0689BE4C0407E9819FE68FC2C4CAA484A4DBF909B2858AD23B1EDEF2CB984E273CCDBE03C107CCD13EFFC1A953F569C002E526244487C242639D8BF38201CD6447ACCA150D05B25BA9C9DDC2F597C8D4B091D853369B8ADE0B18E8DFDE785893B5EFD6019AC678B9658F8649182BA4DD7D16E5DC259E3F5083D2A5B98281323C7EB5A6A1BB84E58E792C362F039EC894655E7B06095437FEF27B81EB14663E3073EA5D9410D411CDA75C4C5C7864FA957AAFEEA79FEC8CC064641BD58F0EC389FACADA308A1723A5C2492BA061EE8AD39200BFD0358D8D606291B417D0B25542A15E0DECFE2C7694669121D5623921B1DCBE64808E61DD4F21BF74F5BF076049BAC620D7C544BEF828A51B066C7134AD5D0447045AF93358ACF5DE07C87C7C94DEF2EF284C2DAE08E3664B7D51FC34898B2382F1AF4831554814D1846C82E64B2AD350340A400301BD2C6D721E5EFD3BEC41F18FB8C6D2B457E60950E1CEE746CA7155A9563A3B3009F37E856E1E39ADD6AB74B4CF8C077BF2D626D2100D5784D8CE19198772CD7C7AE13A3928640F97B6E66D0A2557B6A75D56EFA3BE862FBBE0D3CF1E4E4489A47D23E91AE3911DE781EA5719684E8C9B2EBB2EDE5273C41CBFC78BEE42E887A2D4115CCEA5FE4C0CF761E921D7D2992EB24625547D54C50B9EB097FF31C13D0010E4A3B947F6998826D10AB53A1067BAD45E3F4249AACD8AE81CEC8190320B98A39199BFCD1C4FF3CE4851D494EF97D357057B13F2C830A38C7B58AF68CFECB09313F5745B02B4BB60DBB2B680A764BAF9085F3C72EFDD42EF25EBCB78702057AE8A23C751014185DE9AFC917F2D783A0838DB6577607E207CCB5FB4007BE7A3F43824A3BFF8B9F6A1E5C9D03B3CD1425CC36C2E4B233E8AF4A29074189D859A96C113F239B3FDDB442396970B2C343CA8658711636549C90976D8F07AF398EDFAA15CD75A52428102EEB5128796E46CB0AF4B537987C2ED552B37D82CF312B030E422825AE97E638E539D1E22D2D4630424B9FB0C8025111091F54823FDAAC9DDFDDFCC6DD14B65C493F0DF9044517835C5A18B6EDACA49FE842BFC82666D2BCC82B4DA8AC924829C2BF2C24F464D9A4D5D5F7A76DA1ADF692B8DA6E68C40FD16885A589F1FC2459F2E6B90131359A396EF818B1F1A690DFC246D5F82FADDA2C3ABF2B3E9255EE6BB12EF66E699062A3B686AEAF76305955ED24298C2DF6DD952B33819F09B3C7CE2DC374653E4B7339877DE9B4D3E0D96F9B3F3D0E1CAD7342541435FD02230E4678EEE1DEBA4603B10AF17643F3FB2278A00844E981B2B4EE60E2E09DFC242EB629D14A2F2603D8D1EE7C918FEA038360616F45D6816CFA0C618732D04E0D6B7E7B091F85367186DDB626D66F223A6ED2EAE1D37826EC186491BE75C89124DADA58C9CDF79DF9383F779695C9A9695FEDB35240D20345FA57D34BFF49DFDED802B3CDA24BE5B94FDF2910214E9DE600AA45F7BAA0038FF602E7D0B63A9540CE04C041D24ED01904D121DDC0D8645161A24017FC678A738607329268F446E523CFCD29A4047457D56024588C0F93212BB4092079B1B94BF917D001A5D7C9A8DD9088FE86FD10BB19E18B570DC8370D1F18C28B61B4E00C448F2637D7E20FBEFC3ADB587959D05FD294A4E55E4E56AB5305B7B32A1F4FFFBC36AE063F84EF962146ED64FFDDC683B50FE5F93E6735F77E02745FDF1B36582E2DE257D768E49692834144953AB91593FA24BA1141FE5999A70FC188CED3256B046F7E559C29107B7770BABC5FFD5F430D5438128A62C8BB985C3F3E02C1DD8901661DDD0190AEB798B8DE5EADCD6C5216CAFABE8A0478EE9B9C3C85B6E9C13DC13EECCEC90B036F774F7FF2D7030768CDB682898E01228F3224DF331F1BE63EEA95A09C7B64F4F10CE24095BFFB5DD7A934A294D964F05B333D877C114A8495A573F018075B5411AF5EBE0B73570A95B9429D4882427BD832EC908DEC483D4DCDDD175FC9AD9EEA5E07982F7D4B7B7112BFDD19A8451B0A3E8A3CB3498FB39ADE64DC03EB3490850789BEB08F5B331CB742B1E842D5A02974D1D210E80AADCD191C733C69A79FF4554DD25EF581017758A172F80111BA19167650D65779019E678CC866ACE6308C956DBA08B815B258E525FA7BB0DA8242AB619E3D729125DEBF1DDF6527CA8FD03772C588357472CDAE684C2AC5D6DC1A66571928161ED7AD8493B4A9EE36401A2A54A603C2A9AAFF83B1C11A39A5F66D23E105CCBFD81AE1A02E982F9ED1C700AACDBAA0E2486937FE85441BC83DACEBF2BD44E268A8508C06E4972F8B408FFD530F677304BB66F4E666EEE16F92FC2D420DAD874CFD20B4543CAE763C3B0988F3E22CC56E0DE2AB57F8B4CE5CEEB784D63790B994764431DA01F023D4D6706CCC054636EBED2449863C38560F4C54DFD6394A8897961385B053495BBDCF3AA66565148F3FC891B2692B472107AE54C0587AFB35100BC6A572E57D225DEF89BFE7329FD722301945BD16B2540799F253D4CD901CDF60A34B00B0F3D6CC24FE6E8AE746147056CCF240A1D04175184B6412DE383DA77E7ABE60B6F23DA55665259A4402AA48A455A074DCB38388C104FA629E2B664966198248B186F9D8B00FBBC7B9C635BB8D08FE653D05C558029E92103BDE93E7DF94564A140D982474F4FBAB6E38A8D691D00141839F0032560881EE58F413163F08C5ACBE8B292816772463F644C7D257C583A3009B748D79386D23C7203BF068D8A609184ABEC0D139EAFA8705723A5D49D049F420266F034B72EE3B707AF5701B1DFA5DBD6CA4827C23FFE2BCADEB2F949DC6A4263A8C82E274A0A0FC2BC1A334AEDA418BB9093624A64B5A860155B96B4CD17D25C1F6918616CE476C1BFFE5E27E777DAED707339191E22C609DD2720E8BBE43D02A196F9653441D5D99563AD6A015995764F5E692207E6C29B69E80D205669E929607730606CFA77866C98CB112889DD3B16E3C2BF4191D7947DD3A946E115CC85A4383F380C770AD1E44970D66A6C473EE119C7FEA9789840A5620C8DD4F4FAEADDF737EBFAA05E04C709409A166796ABF2CFF02A492B25295679DE2006075AB71CA71ADC08570D5DE3EC220C719B63A98775F67BEECF4995DC35D4691A78401D74535498797FE4382E4302DB3EDE6A964FBB99F8AF170A5FD7DC8C618FA7E9C396B60AC5143C3CB11070C1E4411918E89263FEE7F713E9062B80F9C42F94BC805E3EC207B26A7A6E54C5D4B306649FD15D7B59B4A93910016A4E585578EC5D526315E4285458E9022CF808EEF614A4175FE9F7F41F5815F3A3191BCE2422D7A2ED72A737596B0F34D3064BADECD2208915F105B9B3BFE688D3C21C5A4862E27937D3712B626E7C8B5F8709BC9CC5164A7370E148FF806B504D8C6807C21360D0C3F7742F47CBC2FD139F14201CB1E5F4CC8301ED12E93B18927331E64897CD652A60FEEA3CC3D11A56D1CB957F27AE487F8CE7039C128BC8B137C75E49C91A533463A187B28DA844741AF466017C0484F43E3826342C8BBC9150CAF79A3F85E82C396D9E2754CDA64EA59700A01ADFCCB4250DC50BE37BB6E42B8F92CC7496CBA2C297D25B4BE338A19A2152B2E99C14C0CEB5C3F6251F58BB03D2522CF70DFB04790905077BB9B48D3CE0E4D343C477AEF90C0AAF406FCE9A1E61EDDD92C3B9B65D6D70A1DE46C81B20532C64BE2B227E421D60BED5FDC378F9CA52C11416DCDE3BFE23BEAF3F65E5A0401E2CD085366B7BC5126FCF52983DD048E774D949CA70529CD05A3ED43457146021A822A218E3CECD9570D49B84BE1362D29F6D04515C381514C1E1BDF36283AAFF8AD785A49E0911192304A2A44CA18B10CDD9DED32A96DF332C5E4270C9C6D475A0A959A7E18CB6EF39717F4102487A13336F742AA2BD6A95599770732EBB5A44792004E125FEE4463A06E156CFFE2D1DE3A9C4D5F986B5B114CE454186605D494FE3B8F7A361CA77F3E807FF945B24970EC6078E5A3DF9A388755454E7EDDEEFB9EEC6B86B633E3389DC25CD65E4B00FD203DAF0ABB86935831DDBC7C4519325DE12E4D62D6E3B3397769EA5D4D96AE35A6BA0B59619F5F01882D67922C20215BAD4D4BD33AED0901A54116A7355F79D06964067EB337AF105F8E9E03FAD6D901DCD0EAB2CFC52E40F8C61A1079A1FE96E5ECB9CC7D56E24281BDC1FD6101C6879A684E2702C8BC2D3D65765B7FE168768A15431A61AD9B26CD95DE42221170CF619110BFDF011436D9D5088BF98C1F20E279CD96B4F9C3CF1D8220AC921079B88C505A9E57B5A52F96956296AC123A36E5C449F405CE62F7FE30E901A505E3B7900EC0AD7FDEDB23C805F0954948F5774C3C632ECD4C850CA44CDB22F0CACD75B55F73D8CCCC734539424239C618F1D92EA724CE46CCE0D73E5DEF603D94C6C7A6C43CD033326E50E0B8C62105738F26BDFD53C6F33B5BE8837EA00B303274074ADBF5F3F26D62CB109BCD72332A9483E5492C46B74A9FBFBDCBCFCF477A2C30A72EC227B20A08183FD2D405A7A5606EC5452A69E1CF38CFE5F50CF1E4CFC036DDA3B3BDF2721951FCD97D40ACB70C5FA5B967D425A4FD2C8149582F92F13324F38AFA789C22EAB3F99F2B2583DBF7EC1ACECFF6C21C5CA9D78076AFE88EB1C042E28A6DFEF17F8CEE35911EF18186172CA4428E3B46B94D46A3CD8BA8FD921721FA43FEBB546B5ADBE9C5032A6D6EEEF05AF57CF46710EA0724F65604B718C7BF0A650D81D9F7079760FB890503857A377A287B1E23C26B4279C37E26B2DC9C7CC9FCE378C494030348ECCD9429F16AE6DE1F3858881D295CCDAB8AAC408F7668357E1E47B4D4AD31E7B1B94161CE4D70033B9BCEA3C0D677191F26BD3145C75C8379D90855CC8F27504FFFF0BE8E23886ABE91959D05BA2DE534AA12A76B3C9E8A4E329313ABF582381DF278C46A4F26DEEE6333C46FB5D3A2F9F05D4C2965133552841672BE2487B959964287B6070A6A9637D2DE7A830859D84F8CD79C7D48B5A11B07D0DCD1B64A69627A97A3CE8303F16C4BACBEA8E0504553BA54D4C2D3463B82015C2F181248AE60D6FC05A0F71C6C2D3818CCC5F665B78D7FAB12E36D1C8D80179B5B51F33D505FE3ED168109F1F39AC5C3357E48C894332CC4CF7E8DA48AE10F19464273ECAC6A6CB033D54BF7E0672AD64EBB14C9F19F9E6DD333B78E91E4D70098B20CF5301148D3FF60C0D208A8233A0200CF7F8E6BDB927B470D9D91F2C1BD1ED08C01D4B98559AD18A41A892A83B879671A87722307DD8BE84F65F443B78CC7512A878F35C9C79BE3BA370215A15953B841058296B4C5F27E304CA777D89A005F17863E572A3411D94F83A0C55B9F134A2832CD7CC85B9E09A7E4A3E6E6A2A78B06763C3D1E8C758915784EF5540B85A1ADEE63F53833C5742D8643978F01FAC3F92ECCCEFA318473A779855CE2AAEC5F1A821E6301D243C0D27D21F892B9AE600CEECE1B6D101433A2A9559819B4786D1D83B3869BB5DE616809BB7CEBA6BFE1CCC792165036821DC7F75ED97EE45989D6781350E96A18FB1AC6CF819110E6FE1175A23992E6549F4FBC08668E391ADE6CAD47A163806D002EA3132EB84619D3BD362D8D7EC28828AE02CE61468A63000217458FABB5802F810901C8FDF3704C77BCEE0DA9DB8311E65368BA859CB747B4DC8C34987E510F3AB8B92503625E747F6F4FDCE4BA38858B1C010F48AC7760E7B6B94D5C1D60C59C49ADDC24B5EC4F1E3A8FEBE1260F6699D945A64659D4B56F9C2F76670120FEB293F4FCF1D78EFDE07218DB59A8385466AC97F5F8F4361DAA66686A89E3C4C1E4BDE16BEAB2EF6A77F16BBB6E90FDD676A2215FF11B3E6D9249FEC24A61E5A4F7CCA68D1DF0A39EBDABA5F3F9005C63C95E789382461E84C460D0B87B60DC612AFB2B8CCDDD2FD96D9E404038CB57A801878980B52AFEEBEACF52DF4A9BCEB4DE7DF3FB85FBA15A1D1070FEA87AD10103576DF2D32C346D6A51ECED2875F7F94A744C67F1C960E1F28340DF37AA75DB61EB4929AB62872DAFA7DD0374DF45A0B3BCD6478ED664774225E83D3E036A99EEDC24451396E267DA4FEF83F58B46A22BC54F9D7BA1ACF3AC2302C08791F29A7831480E17EF470AA749FA585CF10B555625DD74ACAA44FEFF11F36BDE0E2B1BDA5E23B74ACD79560771B58BD38E2D621DD4DFFB6670BDBE2B563E091E4820C12FE47E3154789E02FE363C31913AEC6CF016B702D8EF62D1CAA336732EE5F578302026F85034C81E373C26C2B8B8A2A90B6D6C9B00B56052E8DD1C4F7E36F75B06C555D966E73FA7A1164CF197CECA7422A6D59EA23358BAE52FED3B478E8EA53088DF117BEA075EC892387BD5D39784ACA3F8B905882A7FE76CA938806B0D5D0826F62516DE799F5F0ED3CB5CA0A6938F1BBF331D54D2124A525F7A98CE9B93A645D6711CF277F695CFBECB0DFF2F1F72CC57B49FA5D8EB7A9E13D836C7B0C571138F131CBEC871D9D041AFE0416F920416DA2C31EC35BFE6E513E36230A5D27C749ADAF0CD16E95C9143AF924705F1FFB5A125795F3CEAD65F842DD8816291EE7725531D24AB7FB24F292DB225FC258FC621B73054D48319E7A6E931CC61CDDFC39A2771808871A6C01140D481213BF1E9563E505C277AEA53A9EDE1682E05CBD7C3DDD724917AF07AC9EE894683A19DECE1BBE7CF7BFF7D29A3BCFCE2DD1877D5D3CDA8B1329836CC6148D95F7B008CE8661DBABE30C1F0BD685C7DA55C5E0B9F021C137B75386D23C7203BF068AEBCC4736878C6ECB538B1BF021B240977087F77C404116B9C1CA2428CC06ACE1E2C55C37B59B71EE5A11AF90587A45AE742E8C21F066619AE3978F76AF912A77AA96A6FB1648AA2493F9FE0AFE56EB0324ABAC61ACFDDC13D65906CABB386F92461440CC0BE03329FB9B40DCB7305716F4FDCE4BA38858B2A4182B736E9415BE35C9DFC6B4F46AE49D7FC704003D610912188FEF263C1C217E4D9F9D2103663FE29397D8ADC9CDE8B6276A26D72A2F390B82C53D2238DB5DDE30B7848326A47FCD6200A4B62DDE4408D9658F8649182BA4D2BCAF9C200AF751B2E3878A4B306950873DA92CF42C54D9627E275FC30DD6D6D51E2F3D5E87D245B9BCB8893323434F822D3CDF776EAF4F2E08C893A5F118A6A50F6BAEB237CD8C62EB97060F1646204CFA8DE394D0ED0DAA781BFF978632F746188A6BFDA7D34FCE14EBE1A399D77D476E2C3BF2F3A12464B792256869F1B1BDF599780090249C0448B4DA8EA461D7B9AF33929CFA9BF724EC63C15F8FD1EFE4A4F82A73A0CA70DC88BCAAD117284134AB99755852C1371A114FE0AF10E1D1EBE111B14D0CE702AEFDF98AB7820675260841609CA4401A08D43CDB3A383FE18F74FE011E7F780307168F5F61A1BE98A48001EC473410F96B56B11448E658C2C0C0050E7334C2E2089A27762BAA4ED7295F3D3C66C7FED09C0EB1C2E7C8D496EA849396D28AECD410B347F3D32BEF2887FC77A5680FD5D8DE85F94FC5A224EB6828EBD90EA17E949ECCDD4920DE71B55B66336A92050F1F9F10F519D24B1E2A278771A455187F1356382226C92B9537D0B980706437EFA34E32D4779B0E99370DA9C9AEAF16763C5CBD83B848E819175C41500DC087B1914CBDACBEE68BCBEA7419EE8EFC5D01E60652E08CAD9DDA97ED412A626B66273562E2837A23DAD790B83C3ACEAC83CF88F4569F17AFB4DB4227F0028311E0B6B84B610225B0AEABABB020ED2476275D5384CB25EBB76C03AA401C5E44BE01179F69EF013B1833D047A88763A7F0AF2DDE1E7A4C663BB879EF2797830468685029B252F6D9C1A4E401CA8D7E4598397870926BBD2F72F5DDD89CE2A169BBA8D108E3C1A77C775F945CF1F96E8EE97900A631544CC051BAFED6A0DB511D7892F79999D0D5FB2D11A06515D8A3E3576E3DEB9E994FF0C6A67F4437DD15B87B9F71C15A7D41B0152F2CD3BCBB0AB202B0C6FB438D13CFE0142AE5891F32651A942E74C1C44CB55A131F8880C15E753D68FF76EB8536A1DF4CEB57A188200A91C7D93861132AB28A13C1DF299898AA6095BC1DD02A43BD6BCB6D746FB614A799351C43349AFDD6B2E7478E1EA7C8D88CB5EE37F1D3A56AE2B5647CB5CD00E401EF867F4FB1741FC0FF9472664A4049499CAFA735BC76E0A2C74C090DB4AD61A73C5433512F9E1744B1C735AEAE93E456ADFDC6EDB1F148130F18B83D8AE0C987682D220F76D89F2C31AEA9D19FABD53C2FD450DD2639E3D24E6C41BE1FABB97C28755C33DAFCE68CF821605ABD6F56AD740FEAF4636303DDD37A8C952219AEB236F85E192A7444313C171B4C958589D602C09CCE1580820D6779DC776AD7E4E095AE3AD75110338DB92FCC991DFF2A393C913D530FA17EDC57D407C7B7FC79CB978B508C47ECF01BC054639363BEEFB5ACBBFB8E3BFE0248667367ED8E6E60DE90966B9A2828A0DB79845CEC7CAEEBD3857D30089F2BD5E0497B9DF2DC211CAD013A51B07C79F65939B07A261CBA5001017DD1468413194DE3EAF440A39F29E7E10E5CB790A0931BAEFCB34CD780C1B9A21FA9B584EBA80642668E88FADDB38686EF45DD312F1B174E4B55A869C96FCA75E5733DA04724791DC1A8BDA580F555C164BB3AFF7CA8F5ABDD0752ED2E819C551C1BC9E7C6D7B05AA38B7FC33C2D094CC938AAA94C3076661D0BF5541EEBEF456FF9B867B6994E2B977F7BD15F19CBCE5F93259A6C4A8CAD50B9186BF1462D7EE2F0550746CA3B21B026E261F8D920C2BA8F9DFCFC498DC25F4943B0272AC32A384E2225C7D16114E13819CF3A305BE5821CFB8DA9DEC9B6DEE0EC34592289E82FEC51B3CD54B67FC7D43906423B100A61A395A0C021BD7151232F1B11C4311BAA0E661295C0543E19625D4EE1D3C7D043E074565A14EB60996DCA950A5A947F1174BB23054ED017A73AF34A29A2AFC69F5168EDCD3F3DF7D34CAF15323639AF5C05AB13D9E27E5952848017132AE6CD2829498336EA9ADF6D2C97A4145731D72F3C583CF4135A92E825C24C92F498231E662E3F99243D20A42C7315FDF74D3948549355B2CF2DDF7E66A730C88802FCA4F1C330C0EA54C3B0051E9BAD493D051B6F15130BC42BD743A80D124A189783BDCEAC117EA056D12D0D5B0CABF90599F630C25FEAAFF5B4855AEBEF322648F56EA13A1CD757EAE23DFFDCD5D253F509E6E27D54D4869BD9004CBECE468B9A7E21254D461B2681AAC160E417DBDF9C41EB842A66E6FBB5338F24FE2053BA061D33C7FBCC8DCBC80979EAD5F8380396404F6576BC49FBD64F7A934E47BEEA124CE96786CC228DD6B29A5B155371C67A96EC9CD9533DB03DDFF8E5D5EC1DB96942543FDE90924C9A3BFC6E02C598508A09E3C8E80218623DBEAEF2A79A4B3FE9C5888EA7D6D15C0293B8F417D54A17C579F6EC88B3BFF3B6E50CEAD45ED2F907C2B90401E8B0E6A5586B6F4F50C00B602F55298E529328F337B4B1CBF8F3B24C95A20B962B8DDF0CD885A659F078B617D25337826DDC47B76A04EAFC90D9DEE76C22B5878277EAB2D5F893EE00D41A35ABDDF8114650FAB9BB935BC5E655B8B3F29D8A3D5791E7BB6D8AFFDC6C626F7EBEC2D93337293784224CCE088FC754831142A1512A899C877A1F71CF52794492758EE2D31C80DB45F90DE9249C5AA81F6F30FD75E9763A4AF799EB128418613F6B3406C7771CC988759AFEF42B52D27B79411CF355A9EF3F028A0BAFF629CFE81D098BBADA307706B36EB97D9202C5763599B3C05E1464BA145F36A56FD8086D05B4D5C88D88BEC3ED1305354BD3093B8C7214B0C40D761DBE360876BF7709B1B64848626676D5786C0382E7D2547C9B47869DA6F735671291F976F3C518366F1C2F5E26BE84489840775E4744089EE8FCA3CA631CB447D19FD60F946A660DACF72BA715467566FA869E6111008B70521E4C3F3EFD4F84DC63083CC9EB1E6412649842B599EE30047F31794AB9B449F059AE81FFC6B1EE32B2425551E7F03D504F27BF98F90DBC75FB27F9F361A53953D75312631D6F07794B1D853251462B587F876671BD65F869D2D389DB0D75797A8D577CAC54227080C9D7CDDEBEB00524F2A8AA21C85408FA4D85B5AA01CBB5E4F958D452D448485D7F64F8FEE8212CD7722EBBB94F08BBC60B5DB9D19965C742945873049981546A275BD7D555403B83025FC259D4ABAD69050D64014F2655846074A63B80E60E46E129F6B57DC84CB8BD753C0168406D584CA516A265A9132694BF1A6C96DCFEB8326877B943CAF8038C03C57418377255201AE91F48B7FC795864E44A16A51FBC10F2F4BD0EB7475E396C85116A9D5520AB44F83A07764C5B7017A8DF4AE3478C68B4F7ACF962E826C1BB1FB0AFB847E1B1AD35A5A69F32289DF67C05BE5D92123D613716CD80627501DBE50DE2B82BEDBB318C372F8F801A548A930A46DBF03CCAB754A76FD99CB5CACEE0A97B51478A990843F11F9E2C94E6710CED49F53DA1134B7EF26D10EE05685EA4B31E5396C4282629E518DB9EB523CFDB347EAE7611E3C332FD10EF7D7C2099FF1ABFE7D3672D76A748A9E277FFDD25F5477D35DA887F8582E18ACE8384F4B60393CC6EEA8118F3696E5464F14D0F503064F1C78C7A6DE3181A839528F7AFC0D7F7ADC7CA9998BE79DBBC7E1738945BA0F664F19C1F5E7343DA01E1383BA6D010A596CBDCF5A96FA3215DA351CE981FF38A306FE6BA6A35630A7D636C1FCDB936CD7120D3C27980F2AC626048688FD358323496D8882592C276835EAEE832EAA7D5B6BB5D9D2D263B0C712FEBADD59485FC1BF14B6584EB4424D2E2F37B7FED3BB8E0FDD6399EF4332B8606F8473AABE20673348F59F48E71ACA503873D49AB0B965BEC1A8B100500554145125FB0C1FEC33A8D931D72997CC2A31671D9D35080A726673FBA510A12BCE234F7D09BE4F16756AFE1E5A4F1E267E7F4AB0721C8F989103E4F6F8A25A31E864651CDCFEE7ADB4E1273F7A28A16A343214089692C8B5C2BD542B3D402A73033A07E9A06D683510CEA1CD89A67BCA5F06C8945229462A476A1F590B805B34FF465AB2A6DD504A9B6B811ED2BC07CAA9595DAF1E8D29A7D573D96880ECE94CB8E351F91924855405F02213933F1C51AF2CA7A39AE328D71210EA3D220AC1798A5781DFBE3E47C31D0B5A0927A0ED0A5A2C1C623A6D6615F24FED298A68097564A8403A77ED9D3F4875B1976810CAD9099468F5D521B51F5D840919365662F6447C26EBEF90C3C5C5827A77DB590DE4B1C1AEF9D75056B84005CD292DE5F77ABE35B2D23730771B40D48806F82B4B5AA65A7A9B6E99FED552EB194EB692DEB484A8B9100A31AD1DF7CE7CEDF45D8D70B4CBE384947A14739733F9011788FF8C76EF12390D5F3A8C420854DE15AF291ED675A634C151193D29AA6E064A0CBACE4E8D26405777B063247CD0F1D75102D7BEB07B8D14720C008F4FFA8D3075910926C6322184103598037BF96CA49D0F9A5A63AA4C9451B3B017C0C2BACDA38921BA73EC097E978C1A3277A9E33B6810E923D71610D1543563EAD2A590DB978A395C56DA4B9994B74C3FC098DBCC059BFE0ECADA74E5E10262F9006D5F16497CF07C453BC0C120073E96DD4AE86F022260FCFE119FD46170F5C9ED1EFE6638CDEDE12D75CB1F93F83A7F1C70DEFC5A30B447F5378B37F05D535E6759C193D44CE02071FFCE381CD2DE3DB70458D95772040A5D25C0640844690B5785B9FAB32BCDC051BE4025B6839664B8ACB442DE1A90DB7DB969C07E70F4D2F5C6D7F44664C00B6ED7369222E5DAD7F7EE9E663DEED5CE3E94734B26CA503A2645C0CE8A2DF6DD952B33819FF58DC3B451611B1DACAC775059F0CEFD84E9F655600B8893EE2C65BB593B873B24F42BFC717F43E4672572B9AF6850E95A9D9EA5D91196E559703167002ACA1C42FD15FCC4C0F0F5BA7AC1F92EE933D99D2B61165C824C1AB174BB19E8202B76888934022AFA3E5BEF8D7B942444975C89293EDCE4112DB37E690FCB3CB63E55734B673E53DF4FA4F2D087E6F865CB50C016D28FAA91548361B38A729CF1E6DF63A016E7CF724CF5EA532AA886EC057F20839E4DDED60F0FB0544DDE32EA808C4DD41C0FEA3951EB2C8D17C29BA94687A6027C2668E1663315B430D1C80D2D39F88E87D4554BB865B81FA3F3844CFB23383CA50C135971F27E862D82D031E2C7AEFE726FD3303189FBB23B25B8BD6276ADAF4F6EEC51BA0E3B73895A45C136704094A97F5F335EDA4781C77C2D7887B361297AE1D1E38DC82512E4336F12A94086646AA14FA38D0D6B9C0C7CE81C66030F1833121AE232E0D1F9F1E4A0135C64145D44C0D9BDB91E3923091BD39100C3A762BED4DF80EC9C8ED45E90258AC675B5C34BA55DB6D86E691B2CA7B82F4ED2802349FAAB08C48240387F1D4C2912B3FE793C6BC40C82F3A7EBD957B01FB0C75E7052CC504F68D10A2CD9E15A2FDB5D2EBFB47B23F94CC4DCCFA7D52DEA507E5D026AAE0868259256608B150E779FDD9DB73AEEA11615E7DEF726AACE340B89CAA3F64D2E64AB21C48203C608CCC92CFF820CBE314DFF9E679553C2535B4FDD75927036E62840318517AB3E76887915A5D26105B85F6BB781408C91BCDB000CE8FA80E6907300DED6A5D94668AC4B5ED7D2565B25C82C2CA3CFB976C9151056EACA79E2258D77C264076812DA289555DB7E62A74F7AF17554C9818684AC2CFF3C2B8707C75AEF406420D45D3A4A4D9CD0419A4E7CD45E6A41C488543E6F5CCBC5780936829A15DE3B4654B265AA11241DCF5DE1745E800BCA9FDD7F16E43C168230EED7CAF618390F67BF16F9B4CB43B26AB9B8ECF42FA55819C195D281AF0BC516AE5D6CC4E176544A47869A64E638A05FE22543725685D53509FA2529A052AA14FA1A81FF17FFB561998935167338ABDBF7E8DDAFFFC3D0003ED524D00ACF0491B1252A876D89D1B42E837AF5891BAB0B11D62C0912CBF14A1982227AB214371C060C9383278C8436CA9ACEF70F7756409B3522155968A3B9C77F202ED1113A2478F6F6C9DCBD03608C8041F8BDA4312FAD2201A8675C523A5943DBAEE793729AF8302FB8B5DCFC2F824C65B68DE81582F0FA4728B81578FC2EB39C989C6C0075455420B15B31C0EB8C910767C395ECB870DCD89036969A885A0A4AA26F19F8348EC62189B42297868AD06D7DAD8253C8460D4159149C1EE0F65C84B23A94F21E90A0EC13432AD104E1E588A434ED028A2F301EC9B98B57A44D91B8C0B4B022FA0CD8B0AD48BF97B97292A1862D2CA2EBCCD2D329949F213EB8A9D370EF0A74E770329004F038FCDE2A796E981760EED747888E8FFAE336119CFE5D968E8B8C8365DFE7896681C36A50CAA1C636B9476FF3F1C3B79341CD06E983A7CE9009A72B6EC01E7B5F7BDB13E2A460620B8ED0372A76B058E4BC1F616F6DAB09C021434CC2FDC35A4FDC88E365F40B9D576708B6B75ED9316A8E0CE4F32521B65F83F15287234F09C3FDB281D0E914A8193C18E7F401C44816311719E11D1FCAE267D97C462D2C10D3674F72090CC15AAD971B63A4809F0120E4BC324C436303E25F013D1F713C24FA7BFD9A1FC3640A870F02D282D91027980B70C1F429DE136CB7FC99A6F9648EDD54A1BE9C8AA189A7E4BD7932F7B743F040AAF2ED1D90FDF92AC9F25075CE7D76366B5B28A88BB8BCC0993871E9718A75DFFFC74395B532A58983B50F5B0C6DEBC833692D4A13E2D795232E925FB4EC9A23217D3C78438E141CB19E762A9FBE87281D258697DF5C4DC7B4A973030A9F3040C921F3B82D67AE5E767C5448319411AECD6390F8027137D6FCA1F8F1EFF023267462DE836C7855509CD57489F07108D995887AEA9D20B3C6DB3005B993F5CFDB502635117336387D170AB42F95F80333A8F1EB48AC809BE050BAD39813DCF287E7B822B5911794C6DEE3FA7431267CB6EC7A96C590EBC1CC7334661C8767225E00D4DA958B0CA5AB955CFC82B4A73B244D0287848E6766CC8D703B64341ADC30B47F91282EDD16EC77FECD107853612CB37BCB221B328D41B17F7A1AF9A01D1645E399B20090DBB60D0B3F5EA1A13FB288A9C851592268E393BFA04605EAF9BC3D8611E3607832D68463534F8E7AE523E0362AE977FED22B5D04F2E7058954988D2AA2DF53F6E853C7037FBB63DB74A5D79874B0FDFF158EC0CBE445C9127E26A13D3A8E987C451BBA3FEA16D6ACD81856288366086F50154919E5C99CF62A7151A47067ACCAFB470469798AC194B31AA1E693DE59D55A32B64B7D1A70D83A06C101AB379CB47D6A72839E7659609E8518074632F6BB0639E2AA1DBBF34708FDB80FC2C7E038A136F8256B7DCCA0D7503A0750027042AE2D295CB1490992CF23F617D40D2309AB16ED7A01EA4CB23D4F7E8535ED02349884DE2E55FFF208D6D731C47D6179E54C7115B5D8DF47C67E367D2376B73CE5E992441DE943A2663BDF01C8867CB36C961FB9DA5EC6C7229DACDC78492BB8EF96B9D0B8AD794FC37229A534DDDB4A68305C9D97BC1D32360ECFB378192605E726A3DDA7E5B52C17106E5F0960352C75105A1222751EDFBB3E8B72927619226D4929EE7C9DC63EA8F9780763E889B13FB2B9FCCFE9C7A986CF2EEE20EE2DCF174188380EA574CD7A0AE9346FDA4604790E97B39E274197FC6E23FF8368C90BB2EC4DBE7679F7D60AB6DDC04938A42C948093629A56AD36B443B92E158AF667638543A1C25BD46A6A37279E951F33CAFF807F256B31120CF711DE24CAB53C624BD7B7D2CB8DB11D5DC82583BFEC2642310F2FE0596A7693AC70C9BA6C6794E3AC06D503EE876C915252EA75E3539A3B8186EE2454E318F5CC571A951409B0E69BB7A5EC23C9AA3B0AD9C6C4112ECA1325C0D9620309096E275E03344F1D4D782CA0ABA987541FFD5934A377B4E6770026DDAEFD798892E8865EBF5276D595486474679F6B2A39ADD9140716CBF1C5624422FB5D2B891586DBA34EDF39B0BB982F75ACF33109F8AE7ADE4954D0B1E180201BE99F917F6077D95716E5AC076A63945057FADE224B4B06E5912DB8937D1A4497FC262B6D2B266FB7345BA2BA252EB74EE66E1D478AA9DD6DD5B53BAC23802A803C05ED51F2E58AF26122C2D5ECD87C49AA90065CD6999586E525B32A178A1E5DB965018AAB7C7884EB7CB454272C082A19321B7CF95EF16323FAA568836ECFD4A813D65902DA9A69AE9D4255FDFCE29059393B889F479A2D323FC173266D8ACED067119C4592AC1DCD83087C2DB81E869D8D5A31CAD2D60599E9024B649B0EDDE106038EFCA2BD975D523B7CFDAC57C03F5C5296CE274C11555E06635BB9DAB558FC69B86672F40041DDB160BE6CC01F856A919A3BAB4047E252ADB05C6BB87648C7A4EE7A3FD66A828A4F4DBE2FBDBB4E975D99697D88EC5151E724984539732BAE5C829A64F189DB3FB249EB775AEF178D35B032A511312DB573060A7E73001ABA76E395D789B199256D329FABA01826377C35067A7C6785ECE0C669C03E135A27DE3A06A64B95E285E8AD93D568750046F603187813D06D2F587530D12214A3CA55B5C2F6657467529682DBC48D353FC68A77014365407D48C1350E58ECA8C11BB24D734BF44CECB039B86F475DB68A6AFA0948DB4FB7DE5978A9A97AAFF053914E587B8B95AFE807D313E7843EB7CD4D94EA9CFF6DABB320F88FF54702D2F9D1A7E27CA1B6498F5EDF6E0C13AA68398A6E28FEB3B0BAFB15D128B49A5828DD1E2C9F43CAC5A774B3174D266F4E1EAC4CBDA518D132087207CE9B22291F5811A89F3F1D5B89C30DA60205116AB7833FC159283054AA61D40A0B8EBA920BD5657F0064D24DDE0E0560100742C0C991B77CDB47403BA7FCD1B57B6C8C3E0553729B37E4FFFAD445472B357C57195B410F7428C9B538574609C27B61C37ED5AF2DEBB2EE0FD69336E7070E3EF345D6D1EDF0B9BE66DE2AB549077A292B73EC6AC2F77A93BBFB1A82DC1E01D12ACB834856A2A46D83CC900DFF2B519493C9E9E56254AD758A7C7BE59C3BAA712A0A56D9636B62813D67E45FB18F6C6A2C175D46C65DE37427737C529217C8F2218AAE385AD7B587A7E8E59EF92E6CC1D2BC815E17A93E9BCCBF37D44713F3C1D3A2C9472B2EA38F173D29D2F6E43B182BD85FD6FF960420E3B5F8A1C120887EE8D38A5814BDC0A95D1A0D196A3C7897AE48DACFF21C84A48AE73099943D762D20ABC42DFCCF4ED0E151DCDC6BB02AB6EF8FE6D2DC18EB4C02C6BFCEC3E71E20E6D9805812CE17F036C10A982D3D5A26CAB55D1F43B9F5C8642C46E245E7B58AEDEE8CE96DB6DB9FABFFCDE8B4D3B3CA47D05958084939B1D3211509BAAF2B79E737AF4BB31E3E5684BD9484F2D6B94F12E4EA3A9BDB285BED832622BB0AD280D9197054727BA157B2B027B791FC039843DF0762F18FF86AF9B2A5B3E2A8E7AD8930C9777AD0AA191D92295BB7FEEDE3A4F983FA3424D8908193BFF7CD44DA695C511F534A3BEDD69FE0B1FFD51EE19692ED63CA5CAA5805FAEFABB436323D319E607297892E09B978C67FCFC416D861B0E313E9387668640FB271BA9179996A2CE35305FFC71211EBB0E78F0DCE9A1928EF6140F9147CD97B47C540603DCBE9F9B6E92622BFD1D67944BAEECC55D90C8CCAC8BFACFCF0E923F2EF64841BC9B7B4D6359F302BDBA57DA671A26A6A2ABE9D3BB94C81695370D8DDD21E07F526FBC2F8E32C84758C4515916CB249FBD7996BEEBB7E1A4F11954E669DE14B907CAB448E39CE2DF1E41C94D9928885FADD5A7E59CB42872E6AA780CB8EADB0F8AE1F2AF3BC364351E1FDB12AB959E9C943C16F2C5ECD72D3C635376F88F28238E2BC34D15E5DF791E73762684C3BB8CF107864C3D34C29F89C28469F230BBF3C2D6F5E4A4B898478E82A3DD10055B80BAD84AF0140A74D1489DFD974588112D4CB630389A4F601F285A8635171C47A257EBC1FA6B40E10B77C81889061E66E5B758A9E199346B2D3460E650FE5767B20B56DA1BEACD0289929090294676AAE3ECABB2F4E65F5271B585DF3C83934FF96E72458EC8813C0142F72DD544A34124184C1FE674A341419C793F0EEE5EF217AF0F8CDEA8C137CE18305F645DF1A4A5582FE6AFB6816FB7B2DAA62C67B915AAE1F0470E60207001B8C41F6C9528B9FF55B57B1764728552FE5641F3F463F43AEB75CA5648A11C4330DA8A0A95347F2DB16D3390FBDEFE059EC4B154FAC3E522823050061080970262BA056550070633FDCE592272DC80CFFC57D97601280566D93EDB3776748198CE6A6F4604E33199F3875A0BF4AAEC39143D85CD32C949F3D91E14475416262747ACFFD9C16129FB088DDCB10080AEB47E66D28074A54E0785BD51DFFE90077736717DED0E883B1D32C3D557ED2F6F284CBCF8856B2A22E72C0C524A6C3FB22CCBDBDB5A63297B0925B5B6F3E45E74379D67EC0B65EF04D2B65133B2C709819EC8140972837450A37BCA2E6D6030926C71F72B7AFBD8D3DDE82428650B6B9274940F292128333A7D40FD505A13439F826DC1E9721E532C6604C059C461322A13D5954C3537FDC96BBDAF34C4253332B6536763C946C41229697E222195D0C80F5ECC44BAEB2FC41F8067705303FC1F7F0EC7DAEABFFBEB1CAC3646F547C1BB5DC525303B903C023E531EA276574CA4AFC943201F183104CC8EDF426DFF6B247F37CED8C20F3F505874C644677E0BA0A6A4B288F4E35761CBCB75A27CEE1E7B75A2C332D7F0A2D13ACAB1D2ABE56285CCA92E809E0C72380B92F4B946A7BAF34835CA8F8A0703464B9F74DBA7B6B88A28E3C976E64C24E8B2F8D60F29DC7C9DD280AE72E332B074E6DCE1DA35C76469EC5A469F633A58C0089CDBC77805956B5A603DB88731B0643B30E165D9572F9FCE01DB7D89D00AB1F14DCCDBE96AC3AD7FB22BA4BDD28DF0811FD0F8198F207555091AF00A00D64680648F8DCF47A989C23AA8A00773A6FC4E6E1F32E3F90B51313D7430BE1825C90D88DF40E71F5FBA19C7196EE55648E642184BDF993C99EF7C10ADF30B07372105F841A259EF699DB0CD08D81478BA5733A0BAE467D4856A8FE1E3057ED9B6CCA466A3EA918A1ED12E1971BF05D091824EA3E01AFF38BA1917A296C2BA4EB40EC59E4C56D3C57E14995A8ADFA51CC6C3A84D3D321FC5CBF459DD05EEEA240F0678A6F5EE9C776AC7EE03A97A4AD9037AF794A318355BE39108F5DE57048EE03B04BEF88F1FEE5AC7014E8652E21891F7FBB5D720CDDF9F9337343002C75ABD706FF6281B4E17D6B61868A61DED4E61DF82B5E597B9C218320C9DEA095D808662B7F771BFB70C3050A613EAC7B19C21C70BA586C6FF368ABDC4437782E7272CDE99CFB059F74A683E2DEE44B71F1D6F27A60F57E5235557DA055A16C36F864907BFF7E28A71990C9D9D9DDE13D7B1C40BD4CD96B7F8A14BC0986AB3C4B8B5A6999A329F6A6D89A70661B37173023CD6135A30D357235C43B72B56A423760D744B9FF70EF21A2E7834F11ABBE79FDD3E2CBE2A5C2CBB204660CE19C34F78426B9D515CEE2AF42DFF51FEC04B5C12B40DD9B8613ABD5870D0957CC66A4DECE03E2E1A66F8B1C0E9FED6C19D5C8FAFD7573A09EA32673F4C7A0147E1CD4477B18DA6FB8B2A3E2A0A43D2E11EF7FE859B9B94A200381EBEE82D396F2A3B3A74B310E9F832EF2713410A6B952D6DD5C50C265B368127EE0D680AA314F300712CA2EB4694BB644DB269A1A81FCFBF8CEE282FE4A21273FB88CE7B8903177B9769D5428106F07A8A7116A1078F7D021C5B82E29D4AB3CF9F1434E102FFC683B50DEE9B35D01511475FA0667F9582C0BBCE4DFEE40B5D59663145F8B2B8FF44C8368C9464B13C7D043DB383EB6396A9FEC76F2BC3787E30E3B884424180BA6A2E561D5D6E6F4FCB5F40E8D0377A5DAE68089A85226F1C443D9FCB231412DBF1E92AD8ADA6ED74844B96FB1D53FA2378837C0628454D4851A7F146D508C8609F01ADF3706D735F1C4E629774EE297AFDCF3F8B468FC7AA2DDBE2EF0248238D40920B66CF66586678116FF0FE9C34A650F3A3FE95C10D9E57861FF46B4A5D8A7261B49DEE67B689F2BB00B24FD3FB3CE3EE392D8EA0BC03C28FE68C8E444AD667F9B578842C8FD33EDE4C2862B5A58D27F0402B9279EF31DC6C66D7F26066974104FE2B70C119C6FA72EB97BEDBD9B76276BDAD62D894738C60BEDE45A43F8F15C3624707B91EA476E88A666F0EE0954D5F7DCB2ECF1CC692A9BFB087DEDA4C2619B9CD0C85EF2E3BFDDAF4DDC36E3DA6BA5004C43DF03F2BF99396D1EC400302633B700490B0A805422A9356DDEAF55290271BE2E0BA24DCC5A01853DE355EDD3E8D2150F537BFCB1D758BCC58728DB8C2B515CFA9CBFFEC887407264585B7C950FB04BEC19299DF98108F771A9C302FFF5F322F6453741A675B94C40F1FC65A1315D1597E1019BC1F14F34A61F3CBD2EF2D290A47662A38F426AED558B2310138E6EA06EFE54A87FD8F5029E76A98441A5451621A90D43333AC29665B26540A0E33D932DF758CEB19A345741B06E16D2669D36CAC047E34EC68D1E28014CEDDDDA7F85035BE4D940413920BB374BD7EEE19A4BC449A53519BA1CEDC02E319A376B8E4C9DC6992D2EF98B83E6D51E16622607BDAE59D8FF46F1A09D5F815ADC5CB15D0601A94D1FEDF22521882C3C8652FC94A0A61BF5BFE0EB20783381A62942B45D6B15C5B485B3258197AC884475CCB2E2FA704265DE614EB4E2DDE13F5FBED3C62D1C882831E7ECE271DB18DC9FC82E466A807B0FB904B8EC155885F738F50DD315AD0EE6472E1675E94663B4E132EAAE4929A6AD554C1F050BB25FEBCE1C41A77FAA655A47FED39CEB3FBBDD74C2B0284CC1A62BEAAA2434EFF5A9589177BB006ABDD4D63F53EF10E89AFA9E9854A8E15C9FC434000CD3EEE3661AD6DCC2873CC149D2EAD63B1B42F7B4CF6C29D8A068929C854A3B81E13F5559190C6F8EF8C347B55EF14C2D5D5603B8081A4E299461F2AA410611B29CBA68F184A87004B730E8FB22DA5C399A0F3A06DF59AC23E33BC6BB61EE846F3D2F094C65A34CF7F92B893DED51D76830E15A275F50811ADC334BC50A858D10AD8DA467225C8E17CF1B4324A4915C32F6E41DE926771EC65BBFA2815CA225E08AE35CA384EF5291B61A98CCEA49E1F5EDD93C8BA0C32DC08C05727241B42599728C7974481B8BB8B84CBF04A0B087903F89F888AC31BF9AF5E29726EC97D172FF96E0C195C33CBD586D32F4556978056FCF7746D55F4F6306CFCA43DB3E760E1010610B041ED36B5C1602664EB78B97CF6F4BBC1515D0E914371F7761F0673A085792DBA6A9012A2E32E79E87C0B15B3562C58D0A31BE87B576EEE30E3BC9DEFCF6B67A066C2076541120548791A6C8573656589530EB688931DD411FC0509B55F09880050FDD588BD115E6DFE3A75379052C29962E0DD2EC57502BE51BB8CD3B9AB5E6CE4B91DB0F15CD125C14B90BBB04ED2EE775DF09698E46B3E1722E47719F858DB39451104EC75A88C5630D5ED296BD1921E50ACE2E8BCA2D8963D74E69447F504A29D88E04998CCE62197C369930D6D591D11D35F3956C5C73EEDB8CBA7BC1A5DE266A6B2C9671E3AF86ABEE396C232B4B69807FE70EBEE3BACD98B4D95D28A2E86F0DDFF430BE56AAF695C7954A09E681F010A24CE8F855C6107AE2969A4C92636C0BE6F944D5E121D9DD748D90231609E0EBDFDA88BF89B6405B3B253B707EA9EFC2B582651D9F6F8BEE9EC2DB45F3E615CB0B5E2AD90E07DE7A08BB26424F9DF74D0F5E4624B1B1744D0ADCFA6F2AE13D817B699E8807850E3B1BCF0CEDF264B5A5FB22618B8FC1145ACFE0E3335B20926C5E70A8993CD59191E290F7BFBD2D2698573A716D214C2AA0A333D320DF88BCC1F9213DFC7EE3F7F5CF1360AE3C74A7F37580878C523C70A5B7E90497727C53B25C95E25E50E9BF6C827E355CE70273B21DCAA3646AE1CBE39B033C65317E8305B19F6D544082B2E880935AF14E7CF0D786A99C6C733EEC08D09EC8046C80F30150A5A16FAD406825D33B16BDADC624FEFD2417E2218FB0F9EBADA772EE679625848AE14ED79BB5BF72AA848D4CF88EB0B8FBA7AAD3D5A9753BFEF23F1D92D6529EF24A0114C1E7613F83E3BFA35741E3940FC3A0CD124DFAC23E7E138DD1059A93AB40813C22B6261B3D3EDAACC420473FF13E14B5A79F79EEE99F0D819219140F19424A63491303B415BA89759D54F85C915C8C342A90345DEB0BC0762640C3DC2448582C8EB85F69A4FA62DBE4A43A8DD94D43340B7EC02C43984977341EDA7B69AF3E0AE815C24AC4B6F02EA6BE27300D604120FCD0C8B25258A8B5B299574E54F0067EAC4B40B3A72BB114289EEEB467259EC092BF4D2D146BDC9C9A73861086F7D73C394B3BA1053BA5D96F4356D08799307622C7CFFD258EDF1BEEEBBFB25E5D212602E21A87045F4FFC7E06BEB98C0AB7F396E8297446C0DF172FE47FB4C575FF8F724B522F62C87E694F41391DA1FC6C14C62FA87733E0328C3B882670E710FA3458BFB2D16288D0D1469DC42EB9691E4DBC53CB2679872253650CBEC91579F54C9179BCC2EFD3C7ABD1D81999E1F5C2DFF7B2ADF76C2DBDA7C104B249E338A63706628F0FD1CB81F75E654724908370A03FBDD016504A0C86FF3454C715E059123288B4575C1AFBE484223EBFB89058A5F9B3F0DA69E72906C9F2B5134F9FA1975B5D3C140C5FB5579CABEB3B542D6C34591EEA198C5D7546CE0D1D5342953513C6BC142924D64F2D602140F6368E21430B4EB6B7223835E33D59234F0F420F74173F92B4A7165EC0EC4E6B031A708683544BCD592F55C7A650B3D8B84074906E052E8AD7F3D1F31AE6E1739C2758E372ECBB7930F2DD879BC05AABCA16C3371CFA64D625555B5291F20D70DCAC49BF53BE426A73028EF3E0699DCA14158A89826E81115E0FF48F26C9704B6C8EFDD5AAD6EDA64618618C858553CB8738EAE7AE68E6245F054E96062ECC475D3787465673885F29D17BAC0BF6E0006B36B4CE4A1DB26A9D4409E63B7BA398A082B193D8EBDD030960E24929A07F49409169268CA1A216762179739C426B7E90E17FD2650F93113EB19617BBB31992AF95EE139A13A08397F5323C48054E47E376CE31D002EB4158CFD8DFB38240E730344B8E828A854E07C5BDB985DE30C37112D09673832CBC65E578E5733D0EED1033677477FE11BB31C9D6E586CC25F54FF1F2761B32AE5D9750E4A69B5937E712880651005E76171C4D588F1E9C63068ADB29015191BA8760778070159963C801987E7F62AF9B9CCBF9295B3D66BA8CF6B07601191920B3554A58EC9260B7F584E64560A4B0C7D3BC65FB9717A41CBE598AA09E444D0FF7C577662E3C68575C1F890F08E501941E6F09F60FAC59DDADC8CCB2D6EE2EE10D2FC607EAA4CFC17385D925A3EA45802E1E20F83C0C1F001911C9686FA83A8A29B4434EB07C1146FB141CE8E380B58CEA7D794FF19820AA4DA0E289C170B0654CBFE69B88E58BA373ACF6526FDA99B0B20BBDA6E971549BD509F572E1C775C879F9920FB9F9F81D2819273DA914051854A299A0197C1EFA5032A07E2BAE27610AEE1200670376CF08B83350CA579781271D1C73675BC4DEBAD52A340B3CCE7D824BB5B2CEF8FC2C33B98C18A8221F8B9E64138F68D7FF059028DEBAA94385426B770D542AE838F6115D21713990F38321880EFED8B82D8FCF2606DBF715BB241484D079F8CB9FBF974FF2EC84E28C8A625BDF2761634AE0F1DF761013EE8240457EC4AE55352F4B309C6C207E40C7E71D16A6C1422BF52EAFA61C6C67C0971B92B6567C82E96E515C7860D5C707453AE684267DC17C7A0E00BECF8ABC3620942C6F29162D5120D47347E7F4046E09587C4C0799B8DF16F3790A8AF150917B95800BDA0AB371AC768927CC4E18ADE0403E01EA7B25FCDA835BF573047864C701F2AD6151E6779B59C63CDBD06BE8E39BC4F3663E50563292060931D2C3AB126AC327932557FB5057BCE4780F89305A03C667C75901C26790732E6E1FCDC91100DCD3316099EE81EF95613DCE9321B3B4DAF79C37E9012AF941DDCD1E53263FFCD2DEAE4BB97D89D337006CCA79051AAD1855184A993CA5D40146AD26FF1E3581C6EB25E6AF675B3BFEFC1FA2C643DBA2E6A12E81AEAFB70B6FDF63ED8E76847C6B8E6B2AEC3E55C0F2A7B4C13933A5CB19E4AAFCFC400E432910AA2BD8EEE306D3DC9AE45D0DE4B3E46CCA1180D482ADE939E389C8DFF833FB617224566E01CFC1AF04EC5A5346F54527843E299B460F641E058FEB9C2DADAFADAD634656AFC39DE400C40AA26429989E3BC75EFB6AE7F1BF96A7645DE0639060A17B23FF1AC4772F34ECA024A363C2E6B9CF4EF03C1CBD6645B527093817B243C2E9F245CD0B1556FBAFE12F666D681A4FA8B2C746DD913D78DB0C0243B0C14CBEEE89784E602E0FEDF226E23535A33C2BDE07BE5D95FF81E10AB3B5430292DF8860D06F2ADE30BF9F1ECB5C4EC2D1A77AF2A0BC2E20A485F2926DD306E12A9731A522A99C5033B6EE44716B5FBEF565552C99DC55360820E8ED5C68672390DB1B66F378FA157F5633E8C849F8BFB906FB796F8C5DEE1F5C51C46FFBA874A36C6DCD5F1C85D3D211FD64C2489D8AF5BA266D112934D241F1E8737F6A6D1F6B16A024BC0D6216FED3173B60EB26000AC3B566B51B5DD3F2D2F97262FA4997DBBFD63DD72638A9D88D19A33F03FAE2CB51667F0EB96CE89C6C7B86EAC7CFC2EC5C13E393B2EBF53C5CD090C4EA392AF9714D50C5ED16D23F8B988D8463A91FAA342C0BAEC5835545260054DA7F0B628CA8E8FFA3140B6FE66A31BA077AE02A2114D428EFE94FAFEA98B2408E44F0F3692CDC575CE8D47B1AFFE4C81B74E53E3009136CC91A8E909BD9FAD8AD40C5E8A544A6BD0A257B75AA17DF8A519D3882B07CB5185C4EC55D91861773C0E131FED5341B670A3D099F40839231E3ABF1C242FC43FA6BAE45D76FF01A7A7031B24C783427D309A9FE70A93B2F43EC5A50EF2C4236915782D1BD09A6EC80633BCE758D2333F53A8932C0AF823A4387DE10ED0C534D35A11E43FAEFC4FC79EDAAE770899DC54D3A721CB44754919EE77F556A61C20CBC92E334CE7C712E00F8370BB7D0BDEC8EE619939781D8CB4EA7BC74A1FA6EB865BE383F47BB8E2493807248C1A10B6198576F36A510B63BACDF8303E24B1C3188BF8D2B931B6AEE42E8B06E48A8B22AC5CD8E82832477D66181D85BD553635A74678451824091CC128FC0C007FDD46DEA51F8D08F3E5AC9562D6BD8ECC04668E21A40D1407E9DABDF377996A4F0BD58CF4EEB512EAB95AC899DFB4426EED0974EA740335B84099271BCB4AC7401DEC86CC5F387E80460575BE5C7A2444FF48ED38690953E3D9A386C26ABB20F2752C2CA125572817D7748C648D2527E66EA054E17C87E511F9A3C37690FD986A3B569BE6C5E20838AEF4500F95176AAC54A2293BF1AED4978D18B2007498FF3FCBA0E22B91A5721E9BF154313EFAABFDE681E2CECC5101B9512611627D141234E6CA6A38555FCD784F2AE8D3BB1469319E19A8D68F042DBF96FC5EC6015EB4446125B2E8EE8F8A07B13083768A8064BCB9BB12B06EE35A4B834B8661CFBF5681368063FD54FAE8C027EF1059BD058833ACF5D88A5634824B3860DFE0FE9B30055451E308D97EAC4D140763AB9A82E08C1B57F4CE61C89E560FE54CE5C99CCAE9F0F081705E6AB11A446100FFFDAFD1D6F8513FD2FE38128DD8A056E4FB26E561E66B2D315083E785D800E9392D46EDE92F8A81031343C5881CB5B65D1C83689B9DEFCD67EF0C6F4B2C55EF5C385371AC944861AD66856F95D19EC77F5183C695D8CB63AB6775F7A9E4724F88E741A5F4D4EC9F1114EDA257A1A274A0F415C99DD9628373B1C6236BB1039EB133DC75814E9039AECED7DAE63CAEB84CA96D0B86843F4254EB6B480A28BD5E3B51FB5A8196C4C3E17A5BE074F9B1A598CD020E8DF3B36DB44DA463BC86C1356B50ECB37BCB40FF63A878D7AA718F18E20E890BFD2ED43BBB829AE3FCB6E1DF053EC13BC6795514B2656AAE442D7EDACB48F2F93C7150D6B1132919AC6F048EA6FD004953739CF1FFAAA6B482DA6576699FB148C2B824820F62C52C13C93206986689574BD88D10698BDF1B55B71D32FE337BC8E1038B2BE226120AF01C184A7F06AA8B06DB23CE0D678279D7FA4D2F81CC5C622A94666F33D9472223AAFD62A1C90CB6158E5E4AA09A1E1DF7E46943FFAC3BF4CF54565BE3C100F3DD57B5C54709A74B9BDAB8341CEE13D4EF29FE91A6D97FF3A61B62CD1918941D6EB0FAE697A90B8B64B4A189878F20FF7D0213746692DFC5763AC347C16069E380804AA88ED7C749FA73DBE0C7A6D1B3A91346B3AB2E87D8A37F24E4F043C754F6ED67B590E756768C510797B7D3BC08326BCB9470BF527BAF8FDB5F28C31BA9D78DAE3E1D4BFA71E3C80C1C8997F61416E4796198D586F73C593161E9A75C3606D8371C2FB4B0F0815727CD02C557A3583FC824D941550568779A86F0ECB6E0C3C6758D18EA7551FA7FC979D1EAD71790CBF34BF2184FAC7200311DDC860342BAAEB967806A15F0048C4EBD7317052EAF5B104BC8D31C1FD81F06E09DFA6C53926DD0310768DB247A6BD720A53D5755B33F0D976C2DB66C2BC7BE88BC03AACBF87A21C43BF05597EEA406C7853AA8755F6136D65CE4DB6DAE8A808C2C3BBC976644066BBD308FB027331DC645FFC57BA3C31D1F78D1CCEC4AA0FE9ED5C5A07DFF14AD738F28671362AAEA27C66C6FB4360E6D9C41817C35025414124821697ACEC9B861DE16AF22237494CEB4E78760F8A25C6090158F51789EFC5F10177BB734AA9C339839A56C21A40246E4CCCE40D4470B218A62192EE2BA8A7376B33EF7F420D6A1B65A21741CF93231E6C9846FD61A09959E225C60C2C10CE33F49B3B92A522E432AF0A1E94476FDCC4D88CA8A47BB7867693BBFEA91F058DD3ABB1BF87E0ECED103C82BF7A068DA68BB2A3832DF74C635383B85316ED8E857AFEDC1B0257DE534D72EB439C874909961CCA7CA3DA07266F5E35710B8EB60815E73165AFA3446C9B46C47C57B20F88AE2A1D8A28B66C1B2CE61CEF8FC2AEEE8931B849AD270CAE6FE64AB8544C864A81F16C6AED8595886D17F30AE66D98A038DDD0F3D14B315F51328B92D0E8D56EB56A10AAD9B1A05710DA436586445C2BCB83931EF29E6CE329FF93CF856145CC88076E710E033D04B8BCDEECE887C844194AAA25E0D8E5BE26786B43F9CEAFA8106A000300B53228A6A8F9C50989B4230C9A925A9F7DAEB73677E7E5007E50C67040A07B275855977AB15ACDAC8A36257EAF95657EC10FFEBC698782025CCBD97876AD4D141539516ACCEBAB25D75E5D9545BD35C356D1DCBCA5F87555CB799D88367CFC931B2BE682747090559DB985D389205E01DBF88ECB627D7CFEE4CE547DE17705B6214D9A1B331DCFB86E3C668B0368241F364489F1EA7CBCB99DA0ADD2CEFE253B02EE51FD3F9014992F3D0519E303583E1AB68F837355DA0FC7E4E19345193757323F48FC681A3F39266E3DF29AB1B2F6D354B53C05F0F0DA6B04ED35503CAD086521E776EF29556225E378FD88679A756DEF26D11C869F60FB926A27F33EEB59F9F41BD1B29165B608FB4FDFEAFCFD29A3360D4A1178EF3C4016D3E7046212AFDDE00BE9B36664FDA893671FECC6730EE3C9EFFDA036DC85646396AA84DFA8EDDC51A9736D650F6517E1C78EAF8C0F03C37B4BE181170F446F516CCD5724D6329E6E6A0DFC7EA41ACD3371C27C4DA3EF606C9BE6D02F6A3C2437C9C41C405678F4C8075B0125A73B3A9ADF00800D1BE90F24504FBCC88DA2FC3ED35760477CA13541D30C467964C24E3E136D29EF93577BCE5DB250C3BEED1507EC2D6D891BE40A6C11CEFE2700F864D89F359FFEBFBEC6EAF3BAA20C59EA2AD2DAD5283B4CD3002E16F5B3B6F135F5C9ECDA8EB506DBD8C61C54E8B5E3AABD25FCC133B9708E43CF00926EBD4F98597DA4303BB12B27DEA658AB1E51DC4BC1201631640A561187E3DA4ABF5117DEA644C72DA3E85094E5FA31BA6FE1F32F67D3638EB0016680C81105447C8173E5E61A50A08E1042AC17098953BBCB49CD860529E16ED46D50743CCA995A7058CFDC7C0EC08756558BC0A51D02FB12E6FA27CE34A09EFE8DDFAA29DAE26848B37475E50B0EA86BAF9AB01F7C7D42CDD48D54AE118B0A622CA40C902646684EF58571E1B7B728B2356EBB49B5A0E536FA06BD44929789719EC292664228CA5E354F27237D5B8744305EBB2E5B102FF7F25AF816F8C7BE11563ECA6D9051930D5C9FD73165A013546B3803DBFC5691490936821FDCC9DEF6D806474908655786E5A3D920371B62433970D0C9F32A6412B3CBB23A441661F84553518B94C813B1F843280FB8206D97E4C59DD6E888727DB3C5122C13CF865BCEB32CA9E5DAE678D3A0F34C04085F52F9C47ED0F122DD901D7C63CB536A1F4F9A7A94FDB407D4A66A1FD49334D0049AB7215FF50AD3F34544EBCAC0A4C95F54E3FFD1F9D227B4BE0EBECD6D3CDF6A0A911BE2D872E57171181094426171B2841529C8C5785FFEC30980CAE21F865BAD8929AC79FCD461241D2AF8DE2F0007B2207EE10214259F5D047CAFDD08821C5991983EA5C0D1490E20F4213A01B5DAAE4043781AA64CD337CB3362839664592A8DEF9CC9F94EEC9FD7EBD8D0A933E1F0E94A136611EDDA682F6F19E9A3D6AF0744F0398FC50803ECDE95DD4C353C3EDE29CABFC0777BC6DA67C72478A3C11FBC67C456F4F3D1CB19AE0D82C3C99095E7613478B44D2F6244019FE2F9AE74933204BA7796083175BAFB7A68C9161E4F90B13E58DACFEAB3E1FDB3C9C356ED29D1AD99EC85DECF1DB9D46A273ECB1B1A4207471583666797064AA5C2EADC5EEECF6DD65E9C817A752DB525D2D3476717DC5C969D8DF1B2A1DFB51D800EEB4905E9D55AD7AE790AF2DCADAF9CFD096BDF58268915B6B63C577CD9BFDF349B5C40AA3A86D5CBF3BD79E7E9A5943DC410AD063AFE948F147204B71A0A7FF12F229BFACA0785AA219F050CFB073F02594388C1125B6FC2FC0D6D03093C4056431BCD1AB1FC42CA613D680CA1DC618DE51094C6EC83EF39506BFB4DAFEB50A4DEB183C8159A9ED07F3C4BA2C622C7DC197505FA98A698DBCD06692CEFF2966AFA3AB338D6CE531B7FFF8689BF86EE79FE10638B9690FF3F6B419190E88D49A6AF5D08330661696429DAEC882F6C377EAF314E80B44F8C9A97E3CD3D73CB19005ABF2BA79E991237E747962ED4551193C71AB8F010CF577D1C11856B2064AE81CDF7407281FB95478BFF09939094E51F2F51D689E4FBF4844B2CB25B62267F9D21F04573B3433A00FECCCA69236683E95B2F1550CC175A9B4428AE91F774CA9CFCC8477B659020210E5DE2F5000097F2C755A7F475D3D48888AFEEC1C8CF7BE6F06D08466411710591053D4BA345E9E312D07E3FE8BEED82248237CB64C98813D1AF096DBE7A78B044E55D0E132A5D4B2E1BB8B1B4BCBB65EDB753544006DFD0CD539DEB4569CD9B2811F39B13AC405B82227A0654957641F539BB60B6B4AAE1600BD0C9B4AC24505BEA0E982786C21C65028BCE571C76C2CE4721D5044F13DE53E811C2672FFEA4C8F66B550B1E236D1E2EF74EEAD4DDF2EF0E48AC447D1E1B1DB0F7CD221C984EF641D019829AFE8637C7DF1D4B1809A7686F4CB7735E88435734CC609FD214E31E08A4FAC0F392BC52375E0A24052A0DA4316F92CA41AAB7F76463C348692784F59300DE53A2AAD16C6E345C267804755109B4AC54F74495285547CD1AA1629A1F449AACC5C6EC76B6C4C135EEE5200047BE042E786B1EB666F674A7B0459B4B9EA530DFE375A4F4D4AB5CFD696CD29C2189F45892BABA6710CA30CD2A7C7E74FCD2F722CC6BF1CCFAAA57BF51D22A1A81D6F24838DCA60EBCACF0BF4AD2BDF3A5D8DDE0F632345E5791A8F3F0C9BAB3F8D7DE0937F4F0F7F9B6090F52A82A8A8FFB475985911F906BC25A0ECF2583651E121831C20B96E880161AF528DBD9222AE88A254AA4CFA419B1EFE91C4A568B900BF001A85115AE94E5E7F80D4515766076863F16000383F5982CA54668C7A83F9F86E93640F072D71AFC71DA87C4ED61E6EF8C9878878BD3140DCAF504193A9F0F8C999B5340CE201B04A52463A0330A387DEAD07B9E9C709DF899D6EE24F18DB6FB63E0D906782A169C88045C41F75FDC445F98495AF5AC1D004D149D9EFD38F4B55C2BE81DAA2B9EEC89148F1763546181E10A50816A1C2963708D5359CAFDA68A71E027847F68EC02BC386B4B9FC6347032FEC1F711A1869349138DDCAB32FE4533857073CC678163D7EE40A3BE073AC94F1039643124A14DE4FE6E5B3ED261562DA2E67680E05088112153D17D277A41BE7A31BFDCFB09ABD35A038E68C3AF2E4C0D0564B13B661B1797C1115F17B4F7FF41A5972D734DD7BE3306F20B3D50F3555033D9DED4AD922656155BA5146140CCFF396A4A8241B5A76253BE093E3638F74E86ACD235A8530DC5B200AFB54AE4C0B6B34D46183D0F33A2301B1284E882DD0BB66A488743B3A0037F17AE6C3B1A13C6EF7C4AF5E7F43E857DF154A45AE4702E0036EB48B856B12F1EC17A577E424C251A36C19325108798938FE7DD5AB9E05B5501D6BBABE865E7ABBE7757DECADBE4F70CFED0F0065A360EAF16C5D806026A22DDD7C3C18696EDB95D102CBA7CD5B00C1CB5937A0E57EA057A997317FC7A36F56157F5A66EEA16C6FE9542B4DA0C93E148A931C892424687DC59983EAAE5B5927BCFF40F3BF34279FCF33C9BA7CE427C0D9E3FE917284D86A065DE929A1ED95CF1BA9135C70B24EA2950BE8A4D36DDC8BF8C766A6C5D8ED7DE8CE04417C498A40859C4515852E3BA152AFB3082BA1479BBD478BF1C5B8BBF64DABF3777F510F4900D2FE0F38516E1ADF655234F3CB8ED62762413DC3E958C6DEF54FEF08241C7BD8220D86049D4F3B8EC30DB102FABB75F29FFF472D103F0E506CBF6DB0282A930365D78717C88B961D64AC64C68A56512D11B14E3FE324D26ED1BE97B2C6DC92A5F3D1574459FC82D28FF9A585CC03E975B0457AEBB9B2489077601D0DA14F3EE788F4A1E44516E08070559395DF0E9989EBD4C682BE721DCFC6F20BB2C2C161510A64A26F946332BA0DF0B6526A7721F13F6DFB2010E53EAA94CD235D009BFD3355ABE682874AFF73444ABEFF8E0AB42E84E2785A724749F147F745D2D3E6A20F96DE8C887983F22ECEFC75A68FA561BB9EE770D707BAAF579C0D5A07D0EAEE27B50CE484FC0D69604ABF47FA83A47C8B3EECEC04C5A59C15BE76F5992204AAA6C1827219427F4122229E7FE5B2DB5E78EF944A6DA2F7D6EB99AE7D76D2599C1AB6FBDB82860C630F2FF2646E94179D30E3D69FA8234F273BBE29AF2B639C2BD8C82D95FB82AE8B13E5C3954BE480B4A5BFA8F8749F4253A28AF7D31F77739D3AC8914DD5D2EFA43174AF007DFAFFE664EA328F4D25A3DE1167E07803FB5E137749A964AE870296C7DBE2A38955F364F32DC405E252A9645839E0C27D0943DD947E93FBCE68AD43AF4DACF0645AD5C5F57A4E97F088739E6747D18863EAE772156F68D8EB85CAAD42D827C36E50CB9CEB6C5F90366998E506C7E1609FF1FE040C839F7E91DF2BF44878C05A4901E4FC3C22401C3966B7F5E7C120E1D232B8CD8E9C326BEA37B9F1172F685DF671DB83B23BE9CCDE47E3B46D593221B8648279C450C86E1EE0F35207F92DFCF0588C2C2D920558842806DD485B4DBA01D3F2B68CFB95BB78D5FF4A023BA9EDE63E85D5F95B2BFD0CB6C51157594FBBF91FEE78CE18BA1BB6EA5D6CA1459A66DF9B4A9678B8CA700E647987C74691BC05E8D887BE754169567FD460B79887513A4A1EF3518698F525F3A22CB7EB339AB5581FB4C8B9A04CBD313A8C624E99048172890F4BF067C3AAA39EDDD5D32CD9D258350CDB97056F9FCE9E0F454545CCB24194D13821301D374CFC9C1A0314F24290BD4BD5984DEE489B8D95D5EDC257199D87E13F6BE0CDEF2864D58AC30180297566CEB25B6A29E3052AC527FE7C0A49ECC9641452B6F46767183C90F64390CE72F66986E23FCC0B24AF847CE47A91A310812DADE42869D6DAF5FA44385B966E9AF11DB5EE16534CE947DE61F12710F13A0E10E7FEE78F4B7AE865DF45723FC15B6C3D4760DFC9103ED5CB3EF391A6DAE805D94146317E46E9E8F17D129C9B3440B6483D11B98605BD31FFD2ED30CF58CC0486E7A4D387C4C564A1EEDCB714E8DFDA7DE131D3126621A9F5AC58A168FE41F428CCAE5DB82C78132843EF8742647CE2FF1BD7EFC519AE23E15024E7454A6F5CD0EAC90237857DD62CC322294BB51CDD86759E5D76FFBE8242963620CB5785769A9E4ECCEF05B34D6D86823521EAF272BF7C0DD18A7E7DEE540D6689CB0D15C063C8E42A847031A7D4EC69647A3A45768C3C047A5EAEEA2DA6943D2A933A156EA51BEE6955D31B9B7D2A999EB3EED12D6378E3E09711C280F204CDD8021A2E860235BCAB3CE278D14B9A00981B2AFA3F23B32BFA909D66164FF88535FF1EB74B0370500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont %%BeginFont: CMBX8%!PS-AdobeFont-1.1: CMBX8 1.0%%CreationDate: 1991 Aug 20 16:36:07% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.11 dict begin/FontInfo 7 dict dup begin/version (1.0) readonly def/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def/FullName (CMBX8) readonly def/FamilyName (Computer Modern) readonly def/Weight (Bold) readonly def/ItalicAngle 0 def/isFixedPitch false defend readonly def/FontName /CMBX8 def/PaintType 0 def/FontType 1 def/FontMatrix [0.001 0 0 0.001 0 0] readonly def/Encoding 256 array0 1 255 {1 index exch /.notdef put} fordup 49 /one putdup 50 /two putdup 51 /three putdup 52 /four putreadonly def/FontBBox{-59 -250 1235 750}readonly defcurrentdict endcurrentfile eexecD9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF81719098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014FD2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B82BDBF16FBC7512FAA308A093FE5F05C11F9A72F5DA508C30BC4BF52C8B1EC5FB7F9DDDD0964A6D59193A389D490DAA6F6ACD02CF71C06802F3AE5A001F2B3A6DEEB60E9DD26DBCE1D29C825A9BEFE3A6572E70DC7B60344C3E0C9C77ABE1804C7ED61C544F0B4A3D6C7662DE8575C07BED3F6DBA7D64A9C8613AA152B74A140EAAD9B66E0FAEED6AF9D1820F361C1269A5E90519A3E6D40782E06778C0AFAA30E8CEAB87054C4D156C1B14B4E8471D78648FDAC70A3B8ED474FA356393A774204211F60E397D2FEFC6A8D91A80C84EB9E38E663249FB91D5C8A5CBA68BA042725D5D42497E1CF5CA1E62EC2B139F5CD4D6318EBBA7AE28614D2D88709C2A3762611524B8A1FFC7B0FCBAF77AD8159C354F4887DB1A27781DE0A4BA7DF2CE2025D9278CED48584E8E6BDF30BFD24284BA1DF828B637BF84A02908BBCED67372C9EF44711BC2B1DA343C8D9D27A9745525C774F5D639B7AEC197CEEDD06FD2792335ED0D402AEEB51134665A47847429D91CF419CA9B09DC905F610F8DFC54E606ADCDA19D5CC68A7BC7108EC9236C64205B23CE68B9BC38EF3E5BF9E0E6ADF4047365C8D0436609438C82EEB2F356F79186DDF6C1C797D3C278108B1767D15178C4C3E8ADC2482BAB9536AE8419E5CF3EE1B6E53BDCE2A83E2E485F496A562C10B3F5A131BB19D1E5414C86C5F995521076340536E10613E42779FA15EFDB451F53495CE8EFF239E4EC442E1439594549D45F5276F93D496C9AC712D762D0B702E894290BA028837304AFDDD8BAA6564E9DC307A14A7A206550FADDC7784DE3BF3390188BBCDDD929C82B1D7B529553BA75ACF5B385D31EE3902D96B2B5DDFFF19F0F90FD791E54128C1717F313486896868A34FAFF22E23CEF046D02C65E4575EC2E27F559F1BDD6305D043AE923C3A2E74AC01A182D115BD60844F6FF42CA031E0DA79CEA8F04198459933B24368974EC2E90222E9180D2DC82DB80479B7E5F99A823E87B0E4486B21BBB3C10BC03F96FDBB04BEF4C6C3FF937F78D6DB0A9389A538D2148C13A41899F6051EF1947EA0428640A37E468F2FAEBB3C43B5886FBE2AABDE00F5F7FD4C591BC1336DF39CAFA549BB752975BDE2A3B8A507C87954CCEB321044363511DD7BCC9291ADB09C07131578EF684ED95EE03533A4849AC85FCCD24C693DD9C9883D0B1F4A3B6067973A72889086900B95020A58D91F48E97851FE9C4C971F6BBA735AE1D3CAF55F956D7A55840BCC3BA114006F761693C536AEF68781BE694D30505E86A6ADA0F0E3DBD25F78AC263AA3AEA89117F5EB756170BD329B288A37FEBFA0C8EDCE5B539F8633F82058C909F59F0E72498E6BD6CE961512863FBAFB29AE17E56F906761A30683DDEC8A2AD23F45CED90124FC0DA7791097806B0225641823DCCF46D8D259FDE9A2C8E353CA93FD43C5D309AD239CD102D52C133DE3F01EF96DB9939A31173C642D43BD42AFB18D75257FAA26EE6675ACABC5708CC7E31F8A8E7BE347DB6E05E4D4C77FAFB23B0A478FDCF9F91801255D426A60EFFBDDB847D10A5E236EB88857B9BE6D39924033B751F682EF997E77E7D6FDE25652FB29E052DB49BFF766D93627851AA4C10D4F05A766D922222CDC9FE20119DD19224D619A2AB59235DF0BA3D9DAB05434AD6C174F173B0747E0A6292D5B3B73D19B646F41D1BD0778FA80256D5AC753E44A2B6A391C7D19C17C7BE9E0B162DBBA7A95EBAFCA81286A3D8F5782DAE101DFED02F492599187C159E5887D800FF246CD9BBE3F6F61C76FF83A3432C6BD9C6D26D13679FDEA0819D643342D3D6F61008E26F3C9DD6B302BBD3CC26176FFC9B4531C30C20F84DC9A6ED58C8B8DEF7736DB4CD1E4C15EC3ED6B77B57EB2E0C00AF900BE24438492C4596B31F38DE7065E30AA5725219253B04EB77D39308C6CB0569ACB7EC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cleartomark%%EndFont TeXDict begin 39158280 55380996 2488 600 600 (09.dvi)@start /Fa 135[258 299 1[227 206 1[210 2[229 228 1[119236 5[244 1[224 20[355 44[104 33[{TeXBase1Encoding ReEncodeFont}13436.833 /ComicSansMS-Bold rf /Fc 205[94 94 49[{}2 144.591/CMBX7 rf /Fd 134[167 4[115 145 2[176 9[119 158 3[17697[{}7 297.444 /CMBXTI10 rf /Fe 134[122 4[86 3[124 1[147213 7[114 3[131 37[66 39[85 7[157 11[{}10 206.559 /CMMIB10rf /Ff 244[391 11[{}1 513.918 /CMMIB10 rf /Fg 197[667[119 119 49[{}3 206.559 /CMBX10 rf /Fh 135[153 3[153153 153 1[153 153 153 153 153 2[153 153 1[153 153 1[1531[153 97[{}15 297.444 /CMTT12 rf /Fi 149[95 2[171 1716[228 228 37[190 1[0 3[228 5[342 2[342 7[342 8[266 5[26615[266 1[266{}15 297.444 /CMBSY10 rf /Fj 134[176 1962[203 124 158 157 1[179 174 212 307 2[140 120 3[165 181153 155 188 37[95 95 32[203 3[200 1[123 7[226 11[{}23297.444 /CMMIB10 rf /Fk 162[93 1[93 26[260 2[260 2[9316[130 130 4[279 31[234 3[{}9 297.444 /CMBX12 rf /Fl104[223 29[131 149 173 123 131 119 123 121 1[135 133132 196 69 137 102 71 146 134 128 138 148 130 150 1299[263 164 1[172 175 4[201 223 139 2[138 1[172 153 4[1856[75 10[129 63 105 70 2[93 93 37[166 2[{TeXBase1Encoding ReEncodeFont}44 252.83 /ComicSansMS rf /Fn 203[101 101 101 101 49[{}4165.247 /CMBX8 rf /Fo 138[128 128 128 128 3[128 1[1282[128 128 1[128 128 1[128 1[128 34[128 7[128 4[128 1282[128 45[{}17 247.87 /CMTT12 rf /Fp 134[110 124 144 102110 99 102 101 1[113 111 110 163 58 114 1[59 122 112107 115 124 108 125 108 9[219 137 1[143 146 3[168 2[1167[152 2[154 6[63 11[52 1[58 2[77 77 37[139 2[{TeXBase1Encoding ReEncodeFont}37 210.691 /ComicSansMSrf /Fr 254[164 1[{}1 513.918 /CMBSY10 rf /Fs 105[39 32[464[47 1[46 4[25 51 2[48 1[45 21[77 2[58 16[54 54 54 5454 54 54 54 40 54 45 22 1[24 2[32 32 40[{TeXBase1Encoding ReEncodeFont}25 87.7881 /ComicSansMS rf /Fu 149[79 10[190 190 37[1581[0 3[190 5[285 2[285 7[285 29[143 222 1[222{}12 247.87/CMBSY10 rf /Fv 133[138 1[163 2[169 103 132 131 1[149145 177 256 3[100 3[137 151 127 129 157 16[179 14[2165[79 79 32[169 3[166 9[189 11[{}23 247.87 /CMMIB10 rf/Fw 162[77 1[77 29[217 1[77 77 16[108 108 4[232 35[{}8247.87 /CMBX12 rf /Fx 153[98 105 113 100[{TeXBase1Encoding ReEncodeFont}3 192.256 /ComicSansMS rf /Fz 107[257 257 25[257 2571[257 286 171 200 228 286 286 257 286 428 143 286 1[143286 257 171 228 286 228 286 257 9[514 371 371 343 2861[400 314 400 1[485 343 2[200 1[400 314 343 371 371 343371 6[171 12[171 42[286 2[{TeXBase1Encoding ReEncodeFont}46513.918 /Times-Bold rf end%%EndProlog%%BeginSetup%%Feature: *Resolution 600dpiTeXDict begin%%PaperSize: A4 end%%EndSetup%%Page: 1 1TeXDict begin 1 0 bop 0 TeXcolorgray 1 TeXcolorgray 0TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray0 TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray0 TeXcolorgray 0.25 TeXcolorgray 0 TeXcolorgray 0.5 TeXcolorgray0 TeXcolorgray 0.75 TeXcolorgray 0 TeXcolorgray -6006416 aSDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEWpdfmark end -600 6416 a -600 6416 aSDict begin [ /CropBox [0 0 595 890] /PAGES pdfmark end -600 6416 a -600 6416aSDict begin [ {Catalog} << /ViewerPreferences<</FitWindow true/CenterWindowtrue>>>> /PUT pdfmark end -600 6416 a -600 6416 aSDict begin H.S end -600 6416 a -600 6416 aSDict begin 12 H.A end -6006416 a -600 6416 aSDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmarkend -600 6416 a 4360 6416 a tx@Dict begin 90 Rot end 4360 6416a 4609 1909 aSDict begin [ /Rotate 90 /PAGES pdfmark end 4609 1909 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 46091909 aSDict begin H.S end 4609 1909 a 0 TeXcolorgray 0 TeXcolorgray 46091909 aSDict begin H.R end 4609 1909 a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 4609 1909 aSDict begin [ /Title () /Subject () /Creator (LaTeX with hyperref package)/Author () /Producer (dvips + Distiller) /Keywords () /DOCINFO pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ /Page 1/View [ /XYZ null null null ] /Title (Quick Calculation)/OUT pdfmark end 46091909 a Gray 5555 2027 a Fz(Quick)128 b(Calculation)p0 TeXcolorgray Black White 4623 2340 a Fx(def)4672 2486y Fw(=)p Black Blue 112 w Fv(A)79 b(suppor)8 b(ts)78b Fw(\()p Fv(\025x:x)i Fu(62)g Fv(A)p Fw(\))p Black 0TeXcolorgray 10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray9388 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.1)g(\(1/6\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 1 2TeXDict begin 1 1 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray5555 2027 a Fz(Quick)128 b(Calculation)p 0 TeXcolorgrayBlack White 4623 2340 a Fx(def)4672 2486 y Fw(=)p BlackBlue 112 w Fv(A)79 b(suppor)8 b(ts)78 b Fw(\()p Fv(\025x:x)iFu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb 4623 2741a Fx(def)4672 2887 y Fw(=)p Black Blue 112 w Fu(8)p Fv(a)f(b:)h(a;)47b(b)80 b Fu(62)f Fv(A)g Fu(\))p Black Blue 6704 3141a Fw(\()p Fv(a)48 b(b)p Fw(\))7254 3200 y Fr(\001)74183141 y Fw(\()p Fv(\025x:x)81 b Fu(62)e Fv(A)p Fw(\))h(=)f(\()pFv(\025x:x)h Fu(62)g Fv(A)p Fw(\))p Black 0 TeXcolorgray10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9374 6307a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.1)g(\(2/6\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 1 3TeXDict begin 1 2 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray5555 2027 a Fz(Quick)128 b(Calculation)p 0 TeXcolorgrayBlack White 4623 2340 a Fx(def)4672 2486 y Fw(=)p BlackBlue 112 w Fv(A)79 b(suppor)8 b(ts)78 b Fw(\()p Fv(\025x:x)iFu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb 4623 2741a Fx(def)4672 2887 y Fw(=)p Black Blue 112 w Fu(8)p Fv(a)f(b:)h(a;)47b(b)80 b Fu(62)f Fv(A)g Fu(\))p Black Blue 6704 3141a Fw(\()p Fv(a)48 b(b)p Fw(\))7254 3200 y Fr(\001)74183141 y Fw(\()p Fv(\025x:x)81 b Fu(62)e Fv(A)p Fw(\))h(=)f(\()pFv(\025x:x)h Fu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb4623 3514 a(=)p Black Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48b(b)79 b Fu(62)g Fv(A)g Fu(\))p Black Blue 5773 3768a Fw(\()p Fv(\025x:)p Fw(\()p Fv(a)49 b(b)p Fw(\))68403827 y Fr(\001)7004 3768 y Fw(\(\()p Fv(a)g(b)p Fw(\))76633827 y Fr(\001)7827 3768 y Fv(x)80 b Fu(62)f Fv(A)p Fw(\)\))h(=)f(\()pFv(\025x:x)h Fu(62)g Fv(A)p Fw(\))p Black 0 TeXcolorgray10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9374 6307a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.1)g(\(3/6\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 1 4TeXDict begin 1 3 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray5555 2027 a Fz(Quick)128 b(Calculation)p 0 TeXcolorgrayBlack White 4623 2340 a Fx(def)4672 2486 y Fw(=)p BlackBlue 112 w Fv(A)79 b(suppor)8 b(ts)78 b Fw(\()p Fv(\025x:x)iFu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb 4623 2741a Fx(def)4672 2887 y Fw(=)p Black Blue 112 w Fu(8)p Fv(a)f(b:)h(a;)47b(b)80 b Fu(62)f Fv(A)g Fu(\))p Black Blue 6704 3141a Fw(\()p Fv(a)48 b(b)p Fw(\))7254 3200 y Fr(\001)74183141 y Fw(\()p Fv(\025x:x)81 b Fu(62)e Fv(A)p Fw(\))h(=)f(\()pFv(\025x:x)h Fu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb4623 3514 a(=)p Black Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48b(b)79 b Fu(62)g Fv(A)g Fu(\))p Black Blue 5773 3768a Fw(\()p Fv(\025x:)p Fw(\()p Fv(a)49 b(b)p Fw(\))68403827 y Fr(\001)7004 3768 y Fw(\(\()p Fv(a)g(b)p Fw(\))76633827 y Fr(\001)7827 3768 y Fv(x)80 b Fu(62)f Fv(A)p Fw(\)\))h(=)f(\()pFv(\025x:x)h Fu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb4623 4141 a(=)p Black Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48b(b)79 b Fu(62)g Fv(A)g Fu(\))p Black Blue 5058 4396a Fw(\()p Fv(\025x:)p Fw(\(\()p Fv(a)50 b(b)p Fw(\))62344454 y Fr(\001)6398 4396 y Fw(\()p Fv(a)e(b)p Fw(\))69484454 y Fr(\001)7113 4396 y Fv(x)p Fw(\))80 b Fu(62)fFw(\()p Fv(a)48 b(b)p Fw(\))8283 4454 y Fr(\001)84474396 y Fv(A)p Fw(\))80 b(=)f(\()p Fv(\025x:x)h Fu(62)gFv(A)p Fw(\))p Black 0 TeXcolorgray 10821 5925 a 0 setgray 108215925 a 0.5 TeXcolorgray 9374 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.1)g(\(4/6\))p 0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 43606416 a eop end%%Page: 1 5TeXDict begin 1 4 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray5555 2027 a Fz(Quick)128 b(Calculation)p 0 TeXcolorgrayBlack White 4623 2340 a Fx(def)4672 2486 y Fw(=)p BlackBlue 112 w Fv(A)79 b(suppor)8 b(ts)78 b Fw(\()p Fv(\025x:x)iFu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb 4623 2741a Fx(def)4672 2887 y Fw(=)p Black Blue 112 w Fu(8)p Fv(a)f(b:)h(a;)47b(b)80 b Fu(62)f Fv(A)g Fu(\))p Black Blue 6704 3141a Fw(\()p Fv(a)48 b(b)p Fw(\))7254 3200 y Fr(\001)74183141 y Fw(\()p Fv(\025x:x)81 b Fu(62)e Fv(A)p Fw(\))h(=)f(\()pFv(\025x:x)h Fu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb4623 3514 a(=)p Black Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48b(b)79 b Fu(62)g Fv(A)g Fu(\))p Black Blue 5773 3768a Fw(\()p Fv(\025x:)p Fw(\()p Fv(a)49 b(b)p Fw(\))68403827 y Fr(\001)7004 3768 y Fw(\(\()p Fv(a)g(b)p Fw(\))76633827 y Fr(\001)7827 3768 y Fv(x)80 b Fu(62)f Fv(A)p Fw(\)\))h(=)f(\()pFv(\025x:x)h Fu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb4623 4141 a(=)p Black Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48b(b)79 b Fu(62)g Fv(A)g Fu(\))p Black Blue 5058 4396a Fw(\()p Fv(\025x:)p Fw(\(\()p Fv(a)50 b(b)p Fw(\))62344454 y Fr(\001)6398 4396 y Fw(\()p Fv(a)e(b)p Fw(\))69484454 y Fr(\001)7113 4396 y Fv(x)p Fw(\))80 b Fu(62)fFw(\()p Fv(a)48 b(b)p Fw(\))8283 4454 y Fr(\001)84474396 y Fv(A)p Fw(\))80 b(=)f(\()p Fv(\025x:x)h Fu(62)gFv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb 4623 4768 a(=)pBlack Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48 b(b)79 b Fu(62)gFv(A)g Fu(\))p Black Blue 6704 5023 a Fw(\()p Fv(\025x:x)iFu(62)e Fw(\()p Fv(a)48 b(b)p Fw(\))8283 5081 y Fr(\001)84475023 y Fv(A)p Fw(\))80 b(=)f(\()p Fv(\025x:x)h Fu(62)gFv(A)p Fw(\))p Black 0 TeXcolorgray 10821 5925 a 0 setgray 108215925 a 0.5 TeXcolorgray 9374 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.1)g(\(5/6\))p 0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 43606416 a eop end%%Page: 1 6TeXDict begin 1 5 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray5555 2027 a Fz(Quick)128 b(Calculation)p 0 TeXcolorgrayBlack White 4623 2340 a Fx(def)4672 2486 y Fw(=)p BlackBlue 112 w Fv(A)79 b(suppor)8 b(ts)78 b Fw(\()p Fv(\025x:x)iFu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb 4623 2741a Fx(def)4672 2887 y Fw(=)p Black Blue 112 w Fu(8)p Fv(a)f(b:)h(a;)47b(b)80 b Fu(62)f Fv(A)g Fu(\))p Black Blue 6704 3141a Fw(\()p Fv(a)48 b(b)p Fw(\))7254 3200 y Fr(\001)74183141 y Fw(\()p Fv(\025x:x)81 b Fu(62)e Fv(A)p Fw(\))h(=)f(\()pFv(\025x:x)h Fu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb4623 3514 a(=)p Black Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48b(b)79 b Fu(62)g Fv(A)g Fu(\))p Black Blue 5773 3768a Fw(\()p Fv(\025x:)p Fw(\()p Fv(a)49 b(b)p Fw(\))68403827 y Fr(\001)7004 3768 y Fw(\(\()p Fv(a)g(b)p Fw(\))76633827 y Fr(\001)7827 3768 y Fv(x)80 b Fu(62)f Fv(A)p Fw(\)\))h(=)f(\()pFv(\025x:x)h Fu(62)g Fv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb4623 4141 a(=)p Black Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48b(b)79 b Fu(62)g Fv(A)g Fu(\))p Black Blue 5058 4396a Fw(\()p Fv(\025x:)p Fw(\(\()p Fv(a)50 b(b)p Fw(\))62344454 y Fr(\001)6398 4396 y Fw(\()p Fv(a)e(b)p Fw(\))69484454 y Fr(\001)7113 4396 y Fv(x)p Fw(\))80 b Fu(62)fFw(\()p Fv(a)48 b(b)p Fw(\))8283 4454 y Fr(\001)84474396 y Fv(A)p Fw(\))80 b(=)f(\()p Fv(\025x:x)h Fu(62)gFv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb 4623 4768 a(=)pBlack Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48 b(b)79 b Fu(62)gFv(A)g Fu(\))p Black Blue 6704 5023 a Fw(\()p Fv(\025x:x)iFu(62)e Fw(\()p Fv(a)48 b(b)p Fw(\))8283 5081 y Fr(\001)84475023 y Fv(A)p Fw(\))80 b(=)f(\()p Fv(\025x:x)h Fu(62)gFv(A)p Fw(\))p Black 0 0 1 TeXcolorrgb 4623 5409 a(=)pBlack Blue 62 w Fu(8)p Fv(a)g(b:)f(a;)48 b(b)79 b Fu(62)gFv(A)g Fu(\))g Fw(\()p Fv(\025x:x)i Fu(62)e Fv(A)p Fw(\))g(=)g(\()pFv(\025x:x)i Fu(62)e Fv(A)p Fw(\))p Black 0 TeXcolorgray10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9374 6307a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.1)g(\(6/6\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 2 7TeXDict begin 2 6 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 7/View [ /XYZ null null null ] /Title (A Slightly More Interesting Datatype)/OUT pdfmark end 4609 1909 a Gray 5810 2027 a Fz(A)128 b(Slightly)g(Mor)-9b(e)5303 2506 y(Inter)g(esting)129 b(Datatype)p 0 TeXcolorgrayBlack Black Black Blue 4746 3227 a Fv(tr)8 b(m)p BlackBlue 248 w Fw(::=)p Black Blue 249 w Fp(Var)78 b Fw(:)iFv(name)p Black Blue 5638 3496 a Fu(j)p Black Blue 395w Fp(App)e Fw(:)i Fv(tr)8 b(m)79 b(tr)8 b(m)p Black Blue5638 3766 a Fu(j)p Black Blue 395 w Fp(Lam)79 b Fw(:)h([)pFv(name)p Fw(])p Fv(:tr)8 b(m)p Black Blue 5638 4036a Fu(j)p Black Blue 395 w Fp(Let)79 b Fw(:)h([)p Fv(name)pFw(])p Fv(:tr)8 b(m)80 b(tr)8 b(m)p Black Blue 5638 4305a Fu(j)p Black Blue 395 w Fp(Letrec)80 b Fw(:)f([)p Fv(name)pFw(])p Fv(:)p Fw(\([)p Fv(name)p Fw(])p Fv(:tr)8 b(m)66b Fu(\002)d Fv(tr)8 b(m)p Fw(\))p Black 4623 4680 a Fp(Differences)64b(between)p Blue 64 w(Let)p Black 63 w(and)p Blue 62w(Letrec)p Black 1 w(:)p Black Green Black Green BlackOliveGreen Black 4900 5109 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW TeXDict begin Green end 0. true0.0 0.0 9.14807 9.14807 .5 Frame gsave 2.0 -45. PtoC Shadow TeXDictbegin OliveGreen end gsave fill grestore stroke grestore gsave TeXDictbegin Green end gsave fill grestore stroke grestore gsave TeXDict beginGreen end fill grestore gsave 0.0 SLW TeXDict begin Green end 0 setlinecapstroke grestore end@endspecial Black Blue 269 w Fo(let)77 b Fv(x)j Fw(:=)fFv(e)6383 5146 y Fn(1)6574 5109 y Fo(in)g Fv(e)7046 5146y Fn(2)p Black Blue 8677 5109 a Fv(x)p Black 63 w Fp(is)63b(in)g(scope)f(of)p Blue 63 w Fv(e)10388 5146 y Fn(2)pBlack Black Green Black Green Black OliveGreen Black4900 5442 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW TeXDict begin Green end 0. true0.0 0.0 9.14807 9.14807 .5 Frame gsave 2.0 -45. PtoC Shadow TeXDictbegin OliveGreen end gsave fill grestore stroke grestore gsave TeXDictbegin Green end gsave fill grestore stroke grestore gsave TeXDict beginGreen end fill grestore gsave 0.0 SLW TeXDict begin Green end 0 setlinecapstroke grestore end@endspecial BlackBlue 269 w Fo(let)77 b(rec)h Fv(x)i Fw(:=)f Fv(e)68455479 y Fn(1)7036 5442 y Fo(in)g Fv(e)7508 5479 y Fn(2)pBlack Blue 8370 5442 a Fv(x)p Black 63 w Fp(is)63 b(in)g(scope)g(of)pBlue 62 w Fv(e)10081 5479 y Fn(1)p Black 10193 5442 aFp(,)p Blue Fv(e)10388 5479 y Fn(2)p Black 0 TeXcolorgray10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9374 6307a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.2)g(\(1/3\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 2 8TeXDict begin 2 7 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray5810 2027 a Fz(A)128 b(Slightly)g(Mor)-9 b(e)5303 2506y(Inter)g(esting)129 b(Datatype)p 0 TeXcolorgray BlackBlack Black Blue 4746 3227 a Fv(tr)8 b(m)p Black Blue248 w Fw(::=)p Black Blue 249 w Fp(Var)78 b Fw(:)i Fv(name)pBlack Blue 5638 3496 a Fu(j)p Black Blue 395 w Fp(App)eFw(:)i Fv(tr)8 b(m)79 b(tr)8 b(m)p Black Blue 5638 3766a Fu(j)p Black Blue 395 w Fp(Lam)79 b Fw(:)h([)p Fv(name)pFw(])p Fv(:tr)8 b(m)p Black Blue 5638 4036 a Fu(j)p BlackBlue 395 w Fp(Let)79 b Fw(:)h([)p Fv(name)p Fw(])p Fv(:tr)8b(m)80 b(tr)8 b(m)p Black Blue 5638 4305 a Fu(j)p BlackBlue 395 w Fp(Letrec)80 b Fw(:)f([)p Fv(name)p Fw(])pFv(:)p Fw(\([)p Fv(name)p Fw(])p Fv(:tr)8 b(m)66 b Fu(\002)dFv(tr)8 b(m)p Fw(\))p Black 4623 4680 a Fp(Differences)64b(between)p Blue 64 w(Let)p Black 63 w(and)p Blue 62w(Letrec)p Black 1 w(:)p Black Green Black Green BlackOliveGreen Black 4900 5109 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW TeXDict begin Green end 0. true0.0 0.0 9.14807 9.14807 .5 Frame gsave 2.0 -45. PtoC Shadow TeXDictbegin OliveGreen end gsave fill grestore stroke grestore gsave TeXDictbegin Green end gsave fill grestore stroke grestore gsave TeXDict beginGreen end fill grestore gsave 0.0 SLW TeXDict begin Green end 0 setlinecapstroke grestore end@endspecial Black Blue 269 w Fo(let)77 b Fv(x)j Fw(:=)fFv(e)6383 5146 y Fn(1)6574 5109 y Fo(in)g Fv(e)7046 5146y Fn(2)p Black Blue 8677 5109 a Fv(x)p Black 63 w Fp(is)63b(in)g(scope)f(of)p Blue 63 w Fv(e)10388 5146 y Fn(2)pBlack Black Green Black Green Black OliveGreen Black4900 5442 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW TeXDict begin Green end 0. true0.0 0.0 9.14807 9.14807 .5 Frame gsave 2.0 -45. PtoC Shadow TeXDictbegin OliveGreen end gsave fill grestore stroke grestore gsave TeXDictbegin Green end gsave fill grestore stroke grestore gsave TeXDict beginGreen end fill grestore gsave 0.0 SLW TeXDict begin Green end 0 setlinecapstroke grestore end@endspecial BlackBlue 269 w Fo(let)77 b(rec)h Fv(x)i Fw(:=)f Fv(e)68455479 y Fn(1)7036 5442 y Fo(in)g Fv(e)7508 5479 y Fn(2)pBlack Blue 8370 5442 a Fv(x)p Black 63 w Fp(is)63 b(in)g(scope)g(of)pBlue 62 w Fv(e)10081 5479 y Fn(1)p Black 10193 5442 aFp(,)p Blue Fv(e)10388 5479 y Fn(2)p Black Red Black1 1 0.8 TeXcolorrgb Black 4825 2861 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW TeXDict begin Red end 0.15 true3.8 neg 43.67264 neg 276.94662 49.67265 .5 Frame gsave 1 1 0.8 setrgbcolorfill grestore gsave 0.8 SLW TeXDict begin Red end 0 setlinecap stroke grestore end@endspecial -781 x Fp(A)g(simple)g(Ocaml)f(program)g(for)h(factorial:)4949 2525 y Fo(let)78 b(rec)5125 2795 y(fact)f Fw(=)iFo(fun)f(n)h(->)f(if)h(n)f Fw(=)h Fo(0)g(then)f(1)80643064 y(else)f(n)63 b Fu(\003)g Fo(fact)p Fw(\()p Fo(n)eFu(\000)i Fo(1)p Fw(\))4949 3334 y Fo(in)4949 3603 y(fact)77b(6)p Fw(;)48 b(;)p 0 TeXcolorgray 10821 5925 a 0 setgray 108215925 a 0.5 TeXcolorgray 9360 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.2)g(\(2/3\))p 0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 43606416 a eop end%%Page: 2 9TeXDict begin 2 8 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray5810 2027 a Fz(A)128 b(Slightly)g(Mor)-9 b(e)5303 2506y(Inter)g(esting)129 b(Datatype)p 0 TeXcolorgray BlackBlack Black Blue 4746 3227 a Fv(tr)8 b(m)p Black Blue248 w Fw(::=)p Black Blue 249 w Fp(Var)78 b Fw(:)i Fv(name)pBlack Blue 5638 3496 a Fu(j)p Black Blue 395 w Fp(App)eFw(:)i Fv(tr)8 b(m)79 b(tr)8 b(m)p Black Blue 5638 3766a Fu(j)p Black Blue 395 w Fp(Lam)79 b Fw(:)h([)p Fv(name)pFw(])p Fv(:tr)8 b(m)p Black Blue 5638 4036 a Fu(j)p BlackBlue 395 w Fp(Let)79 b Fw(:)h([)p Fv(name)p Fw(])p Fv(:tr)8b(m)80 b(tr)8 b(m)p Black Blue 5638 4305 a Fu(j)p BlackBlue 395 w Fp(Letrec)80 b Fw(:)f([)p Fv(name)p Fw(])pFv(:)p Fw(\([)p Fv(name)p Fw(])p Fv(:tr)8 b(m)66 b Fu(\002)dFv(tr)8 b(m)p Fw(\))p Black 4623 4680 a Fp(Differences)64b(between)p Blue 64 w(Let)p Black 63 w(and)p Blue 62w(Letrec)p Black 1 w(:)p Black Green Black Green BlackOliveGreen Black 4900 5109 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW TeXDict begin Green end 0. true0.0 0.0 9.14807 9.14807 .5 Frame gsave 2.0 -45. PtoC Shadow TeXDictbegin OliveGreen end gsave fill grestore stroke grestore gsave TeXDictbegin Green end gsave fill grestore stroke grestore gsave TeXDict beginGreen end fill grestore gsave 0.0 SLW TeXDict begin Green end 0 setlinecapstroke grestore end@endspecial Black Blue 269 w Fo(let)77 b Fv(x)j Fw(:=)fFv(e)6383 5146 y Fn(1)6574 5109 y Fo(in)g Fv(e)7046 5146y Fn(2)p Black Blue 8677 5109 a Fv(x)p Black 63 w Fp(is)63b(in)g(scope)f(of)p Blue 63 w Fv(e)10388 5146 y Fn(2)pBlack Black Green Black Green Black OliveGreen Black4900 5442 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW TeXDict begin Green end 0. true0.0 0.0 9.14807 9.14807 .5 Frame gsave 2.0 -45. PtoC Shadow TeXDictbegin OliveGreen end gsave fill grestore stroke grestore gsave TeXDictbegin Green end gsave fill grestore stroke grestore gsave TeXDict beginGreen end fill grestore gsave 0.0 SLW TeXDict begin Green end 0 setlinecapstroke grestore end@endspecial BlackBlue 269 w Fo(let)77 b(rec)h Fv(x)i Fw(:=)f Fv(e)68455479 y Fn(1)7036 5442 y Fo(in)g Fv(e)7508 5479 y Fn(2)pBlack Blue 8370 5442 a Fv(x)p Black 63 w Fp(is)63 b(in)g(scope)g(of)pBlue 62 w Fv(e)10081 5479 y Fn(1)p Black 10193 5442 aFp(,)p Blue Fv(e)10388 5479 y Fn(2)p Black 0 TeXcolorgray10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9360 6307a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.2)g(\(3/3\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 3 10TeXDict begin 3 9 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 10/View [ /XYZ null null null ] /Title (Abstractions as Functions)/OUT pdfmark end 4609 1909 a Gray 4720 2027 a Fz(Abstractions)128b(as)h(Functions)p 0 TeXcolorgray Black 4623 2582 a Fl(In)75b(the)h(datatype-package)h(I)e(am)h(creating,)g(every)46232897 y(element)g(of)p Blue 76 w Fk([)p Fj(name)p Fk(])pFj(:tr)10 b(m)p Black 74 w Fl(is)75 b(a)h(speci\002c)pRed 75 w(partial)p Black 4623 3192 a(function.)93 b(That)76b(means)g(the)f(type)h(of)p Blue 76 w(Letrec)p BlackBlue 5374 3669 a Fp(Letrec)k Fw(:)g([)p Fv(name)p Fw(])pFv(:)p Fw(\([)p Fv(name)p Fw(])p Fv(:tr)8 b(m)65 b Fu(\002)eFv(tr)8 b(m)p Fw(\))p Black 4623 4151 a Fl(will)75 b(be)g(subset)h(of)g(the)f(function-space)p Blue 4623 4627 a Fv(name)j Fu(!)iFw(\(\()p Fv(name)f Fu(!)h Fw(\()p Fv(tr)8 b(m)p Fw(\))79b Fv(option)p Fw(\))64 b Fu(\002)f Fv(tr)8 b(m)p Fw(\))80b Fv(option)p Black 4623 5167 a Fp(That)62 b(looks)f(complicated,)i(but)f(it)h(works)g(splendidly.)p 0 TeXcolorgray 108215925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9388 6307 a Fs(Munich,)26b(28.)f(June)h(2005)e(\226)i(p.3)g(\(1/1\))p 0 TeXcolorgray4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 4 11TeXDict begin 4 10 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 11/View [ /XYZ null null null ] /Title (The Specific Functions)/OUT pdfmark end 4609 1909 a Gray 5077 2027 a Fz(The)128 b(Speci\002c)g(Functions)p 0 TeXcolorgray Black 4623 2582 a Fl(The)75b(functions)h(of)f(type)p Blue 5891 3135 a Fj(name)95b Fi(!)h Fk(\()p Fj(tr)10 b(m)p Fk(\))94 b Fj(option)pBlack 4623 3664 a Fl(we)75 b(are)h(interested)h(in)f(are:)pBlue 4837 4284 a Fk([)p Fj(a)p Fk(])p Fj(:t)5525 4110y Fx(def)5553 4284 y Fk(=)123 b Fj(\025b:)94 b Fh(if)hFj(b)g Fk(=)h Fj(a)f Fh(then)g Fl(Some)q Fk(\()p Fj(t)pFk(\))f Fh(else)p Black Blue 6483 4619 a(if)h Fj(b)gFk(#)g Fj(t)g Fh(then)g Fl(Some)p Fk(\(\()p Fj(a)58 b(b)pFk(\))9867 4677 y Fr(\001)10031 4619 y Fj(t)p Fk(\))pBlack Blue 6483 4953 a Fh(else)95 b Fl(None)p Black 0TeXcolorgray 10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray9388 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.4)g(\(1/1\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 5 12TeXDict begin 5 11 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 12/View [ /XYZ null null null ] /Title (By ``Miracle'')/OUT pdfmark end 4609 1909 a Gray 6084 2027 a Fz(By)128 b(\223Miracle\224)p0 TeXcolorgray Black 4623 2582 a Fl(.)44 b(.)h(.)g(these)76b(functions)g(satisfy)g(the)g(properties:)p Black GreenBlack Green Black OliveGreen Black 4876 3006 a @beginspecial@setspecial tx@Dict begin STP newpath 0.0 SLW TeXDict begin Green end 0. true0.0 0.0 9.14807 9.14807 .5 Frame gsave 2.0 -45. PtoC Shadow TeXDictbegin OliveGreen end gsave fill grestore stroke grestore gsave TeXDictbegin Green end gsave fill grestore stroke grestore gsave TeXDict beginGreen end fill grestore gsave 0.0 SLW TeXDict begin Green end 0 setlinecapstroke grestore end@endspecial Black Blue 293 w Fj(\031)53833065 y Fr(\001)5547 3006 y Fk([)p Fj(a)p Fk(])p Fj(:t)94b Fk(=)i([)p Fj(\031)6897 3065 y Fr(\001)7061 3006 yFj(a)p Fk(])p Fj(:)p Fk(\()p Fj(\031)7781 3065 y Fr(\001)79453006 y Fj(t)p Fk(\))p Black Black Green Black Green BlackOliveGreen Black 4876 3500 a @beginspecial @setspecial tx@Dict begin STP newpath 0.0 SLW TeXDict begin Green end 0. true0.0 0.0 9.14807 9.14807 .5 Frame gsave 2.0 -45. PtoC Shadow TeXDictbegin OliveGreen end gsave fill grestore stroke grestore gsave TeXDictbegin Green end gsave fill grestore stroke grestore gsave TeXDict beginGreen end fill grestore gsave 0.0 SLW TeXDict begin Green end 0 setlinecapstroke grestore end@endspecial Black Blue 293 w([)p Fj(a)p Fk(])p Fj(:t)57623545 y Fg(1)5985 3500 y Fk(=)g([)p Fj(b)p Fk(])p Fj(:t)69013545 y Fg(2)7124 3500 y Fi(,)p Black Blue White 51693877 a(_)p Blue Fk(\()p Fj(a)f Fk(=)g Fj(b)76 b Fi(^)gFj(t)6824 3922 y Fg(1)7048 3877 y Fk(=)95 b Fj(t)75273922 y Fg(2)7656 3877 y Fk(\))p Black Blue 5169 4254a Fi(_)p Fk(\()p Fj(a)g Fi(6)p Fk(=)g Fj(b)76 b Fi(^)gFj(t)6824 4299 y Fg(1)7048 4254 y Fk(=)95 b(\()p Fj(a)58b(b)p Fk(\))8064 4313 y Fr(\001)8228 4254 y Fj(t)83524299 y Fg(2)8556 4254 y Fi(^)76 b Fj(a)96 b Fk(#)f Fj(t)96424299 y Fg(2)9770 4254 y Fk(\))p Black 4623 4659 a Fi(\))75b Fl(relative)h(straight-forward)h(calculations)p Blue4797 5135 a Fp(Letrec)q Fw(\([)p Fv(a)p Fw(])p Fv(:)pFw(\([)p Fv(b)p Fw(])p Fv(:t)6523 5172 y Fn(1)6637 5135y Fv(;)48 b(t)6867 5172 y Fn(2)6978 5135 y Fw(\)\))80b(=)f Fp(Letrec)q Fw(\([)p Fv(c)p Fw(])p Fv(:)p Fw(\([)pFv(d)p Fw(])p Fv(:t)9288 5172 y Fn(3)9403 5135 y Fv(;)48b(t)9633 5172 y Fn(4)9744 5135 y Fw(\)\))80 b Fu(,)pBlack Blue White 4726 5628 a(_)p Blue Fw(\()p Fv(a)fFw(=)g Fv(c)64 b Fu(^)f Fw([)p Fv(b)p Fw(])p Fv(:t)64655665 y Fn(1)6657 5628 y Fw(=)79 b([)p Fv(d)p Fw(])p Fv(:t)74405665 y Fn(3)7616 5628 y Fu(^)64 b Fv(t)7973 5665 y Fn(2)81635628 y Fw(=)79 b Fv(t)8562 5665 y Fn(4)8674 5628 y Fw(\))pBlack Blue 4726 5897 a Fu(_)p Fw(\()p Fv(a)g Fu(6)p Fw(=)gFv(c)64 b Fu(^)f Fw([)p Fv(b)p Fw(])p Fv(:t)6465 5935y Fn(1)6657 5897 y Fw(=)79 b(\()p Fv(a)48 b(c)p Fw(\))75015956 y Fr(\001)7666 5897 y Fw([)p Fv(d)p Fw(])p Fv(:t)81535935 y Fn(3)8329 5897 y Fu(^)63 b Fv(a)79 b Fw(#)h(\([)pFv(d)p Fw(])p Fv(:t)9725 5935 y Fn(3)9838 5897 y Fv(;)48b(t)10068 5935 y Fn(4)10179 5897 y Fw(\)\))p Black 0TeXcolorgray 10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray9388 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.5)g(\(1/1\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 6 13TeXDict begin 6 12 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 13/View [ /XYZ null null null ] /Title (These Functions are Completely Generic)/OUT pdfmark end 4609 1909 a Gray 5353 2027 a Fz(These)128 b(Functions)g(ar)-9b(e)5370 2408 y(Completely)129 b(Generic)p 0 TeXcolorgrayBlack 4623 2837 a Fl(For)75 b(every)i(atom)p Blue 75w Fj(a)p Black 76 w Fl(of)e(type)p Blue 77 w Fj(\013)pBlack 75 w Fl(and)h(object)p Blue 75 w Fj(x)p Black 76w Fl(of)f(type)p Blue 76 w Fj(\023)p Black Blue 47653375 a Fk([)p Fj(a)p Fk(])p Fj(:x)5525 3200 y Fx(def)55533375 y Fk(=)123 b Fj(\025b:)94 b Fh(if)h Fj(b)g Fk(=)hFj(a)f Fh(then)g Fl(Some)q Fk(\()p Fj(x)p Fk(\))g Fh(else)pBlack Blue 6411 3709 a(if)g Fj(b)g Fk(#)g Fj(x)g Fh(then)gFl(Some)p Fk(\(\()p Fj(a)58 b(b)p Fk(\))9867 3768 y Fr(\001)100313709 y Fj(x)p Fk(\))p Black Blue 6411 4044 a Fh(else)95b Fl(None)p Black 4623 4506 a(is)74 b(a)i(function)g(of)g(type)pBlue 76 w Fj(\013)95 b Fi(!)g Fj(\023)g(option)p BlackFl(.)d(They)76 b(have)g(to:)p Blue 4937 4949 a(Letrec)96b Fk(:)f([)p Fj(name)p Fk(])p Fj(:)p Fk(\([)p Fj(name)pFk(])p Fj(:tr)10 b(m)75 b Fi(\002)h Fj(tr)10 b(m)p Fk(\))pBlack 4623 5455 a Fl(The)117 b(only)h(thing)f(we)h(have)f(to)h(know)f(is)g(that)p Blue 117 w Fj(\013)p Black 118 w Fl(is)g(an)46235796 y(atom-type)94 b(and)g(that)g(over)p Blue 94 w Fj(\023)pBlack 93 w Fl(an)g(appropriate)g(permu-)4623 6137 y(tation)79b(function)h(is)e(de\002ned)k(\(we)d(come)g(to)g(that)g(later\).)p0 TeXcolorgray 10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray9388 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.6)g(\(1/1\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 7 14TeXDict begin 7 13 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 14/View [ /XYZ null null null ] /Title (Abstraction Type)/OUT pdfmark end 4609 1909 a Gray 5660 2027 a Fz(Abstraction)128b(T)-38 b(ype)p 0 TeXcolorgray Black 4623 2582 a Fl(Therefore)76b(it)f(makes)h(sense)g(to)f(introduce)h(a)4623 2861 y(type-former)pBlue 7246 3203 a Fk([)p Fj(\013)p Fk(])p Fj(:\023)p Black4623 3635 a Fl(for)f(abstraction)h(types.)94 b(It)75b(contains)g(all)h(these)4623 3927 y(speci\002c)f(partial)h(functions.)93 b(We)76 b(can)f(show)g(the)4623 4219 y(crucial)g(properties:)pBlue 5644 4804 a Fj(a)96 b Fk(#)e([)p Fj(b)p Fk(])p Fj(:x)pBlack 95 w Fl(iff)p Blue 96 w Fj(a)h Fk(=)h Fj(b)76 bFi(_)g Fj(a)95 b Fk(#)g Fj(x)p Black Blue 5646 5286 aFl(supp)q Fk(\([)p Fj(a)p Fk(])p Fj(:x)p Fk(\))g(=)hFl(supp)p Fk(\()p Fj(x)p Fk(\))76 b Fi(\000)g(f)p Fj(a)pFi(g)p Black 7379 5763 a Fl(provided)p Blue 77 w(supp)pFk(\()p Fj(x)p Fk(\))p Black 76 w Fl(is)f(\002nite)p0 TeXcolorgray 10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray9388 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.7)g(\(1/1\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 8 15TeXDict begin 8 14 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 15/View [ /XYZ null null null ] /Title ($\alpha $-Equivalence Classes)/OUT pdfmark end 4609 1909 a Gray 5079 2027 a Ff(\013)p Fz(-Equi)-5b(v)g(alence)128 b(Classes)p 0 TeXcolorgray Black 46232582 a Fl(.)44 b(.)h(.)g(still)75 b(need)i(to)e(be)h(de\002ned)h(by)f(hand)p Black Black Blue 4748 2978 a Fj(tr)10 b(m)p BlackBlue 247 w Fk(::=)p Black Blue 248 w Fl(Var)96 b Fk(:)fFj(name)p Black Blue 5769 3312 a Fi(j)p Black Blue 423w Fl(App)g Fk(:)g Fj(tr)10 b(m)94 b(tr)10 b(m)p BlackBlue 5769 3647 a Fi(j)p Black Blue 423 w Fl(Lam)96 bFk(:)f Fj(name)g Fi(!)g Fk(\()p Fj(tr)10 b(m)94 b(option)pFk(\))p Black Black Black 1 1 0.8 TeXcolorrgb 1 1 0.8TeXcolorrgb 5062 5427 4998 1549 v 1 1 0.8 TeXcolorrgbBlack Blue 5248 4220 1683 9 v 5248 4484 a Fl(Var)q Fk(\()pFj(a)p Fk(\))h Fi(2)g Fk(\003)6763 4529 y Fe(\013)p BlackBlue 7401 4144 a Fj(t)7525 4189 y Fg(1)7749 4144 y Fi(2)gFk(\003)8306 4189 y Fe(\013)8726 4144 y Fj(t)8850 4189y Fg(2)9074 4144 y Fi(2)g Fk(\003)9631 4189 y Fe(\013)p7401 4239 2398 9 v 7615 4484 a Fl(App)g Fj(t)8289 4529y Fg(1)8512 4484 y Fj(t)8636 4529 y Fg(2)8860 4484 yFi(2)g Fk(\003)9417 4529 y Fe(\013)p Black Blue 70524906 a Fj(t)f Fi(2)h Fk(\003)7827 4951 y Fe(\013)p 65855000 1877 9 v 6585 5264 a Fl(Lam)p Fk([)p Fj(a)p Fk(])pFj(:t)g Fi(2)g Fk(\003)8294 5309 y Fe(\013)p Black 1 1 0.8TeXcolorrgb Black Blue 4875 5808 a Fl(Lam)g Fk([)p Fj(a)pFk(])p Fj(:t)6027 5853 y Fg(1)6251 5808 y Fk(=)h Fl(Lam)fFk([)p Fj(b)p Fk(])p Fj(:t)7726 5853 y Fg(2)7949 5808y Fi(,)h Fk([)p Fj(a)p Fk(])p Fj(:t)8980 5853 y Fg(1)92035808 y Fk(=)g([)p Fj(b)p Fk(])p Fj(:t)10119 5853 y Fg(2)pBlack 0 TeXcolorgray 10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray9388 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.8)g(\(1/1\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 9 16TeXDict begin 9 15 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 16/View [ /XYZ null null null ] /Title (Axiomatic Type-Classes)/OUT pdfmark end 4609 1909 a Gray 4947 2027 a Fz(Axiomatic)128b(T)-38 b(ype-Classes)p 0 TeXcolorgray Black Blue 49222875 a Fh(consts)p Black Blue 4922 3210 a Fj(per)10 b(m)95b Fk(:)g Fj(name)g(pr)10 b(m)94 b Fi(\))h Fj(\023)g Fi(\))gFj(\023)505 b Fk(\()p 9602 3210 76 9 v 9636 3210 V 96713210 V 9746 3268 a Fr(\001)p 9926 3210 V 9960 3210 V9994 3210 V 10070 3210 a Fk(\))p Black Blue 4922 3720a Fh(axclass)191 b Fj(pty)11 b(pe)93 b Fi(\022)i Fj(ty)11b(pe)p Black Blue 5099 4055 a Fk([])5285 4114 y Fr(\001)54494055 y Fj(x)95 b Fk(=)g Fj(x)p Black Blue 5099 4390 aFk(\()p Fj(\031)5432 4434 y Fg(1)5561 4390 y Fk(@)p Fj(\031)60244434 y Fg(2)6153 4390 y Fk(\))6283 4448 y Fr(\001)64484390 y Fj(x)g Fk(=)g Fj(\031)7297 4434 y Fg(1)7426 4448y Fr(\001)7590 4390 y Fk(\()p Fj(\031)7923 4434 y Fg(2)80524448 y Fr(\001)8216 4390 y Fj(x)p Fk(\))p Black Blue5099 4724 a Fj(\031)5302 4769 y Fg(1)5526 4724 y Fi(\030)gFj(\031)6090 4769 y Fg(2)6314 4724 y Fi(\))g Fj(\031)69544769 y Fg(1)7083 4783 y Fr(\001)7247 4724 y Fj(x)g Fk(=)hFj(\031)8097 4769 y Fg(2)8226 4783 y Fr(\001)8390 4724y Fj(x)p Black Blue 4922 5235 a Fh(primrec)p Black Blue5099 5570 a Fj(\031)5313 5629 y Fr(\001)5477 5570 y Fk(\()pFj(x;)57 b(y)11 b Fk(\))95 b(=)g(\()p Fj(\031)7066 5629y Fr(\001)7230 5570 y Fj(x;)57 b(\031)7792 5629 y Fr(\001)79575570 y Fj(y)11 b Fk(\))p Black Red Black 1 1 0.8 TeXcolorrgbBlack 4560 3642 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW TeXDict begin Red end 0.15 true3.8 neg 56.32027 neg 302.55394 63.52025 .5 Frame gsave 1 1 0.8 setrgbcolorfill grestore gsave 0.8 SLW TeXDict begin Red end 0 setlinecap stroke grestore end@endspecial-1067 x Fp(When)63 b(we)g(de\002ne)g(the)g(type)f(of)pBlue 5459 3040 a(Letrec)80 b Fw(:)g([)p Fv(name)p Fw(])pFv(:)p Fw(\([)p Fv(name)p Fw(])p Fv(:tr)8 b(m)65 b Fu(\002)eFv(tr)8 b(m)p Fw(\))p Black 4560 3463 a Fl(as)p Blue4580 3887 a Fv(name)79 b Fu(!)h Fw(\(\()p Fv(name)f Fu(!)hFw(\()p Fv(tr)8 b(m)p Fw(\))79 b Fv(option)p Fw(\))64b Fu(\002)f Fv(tr)8 b(m)p Fw(\))79 b Fv(option)p Black4560 4368 a Fl(we)d(need)g(to)g(ensure)h(that)e(on)g(the)h(product,)g(option)f(and)4560 4655 y(function)h(an)g(appropriate)g(permutation)h(is)e(de\002ned.)p 0 TeXcolorgray 10821 5925 a 0 setgray 108215925 a 0.5 TeXcolorgray 9374 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.9)g(\(1/3\))p 0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 43606416 a eop end%%Page: 9 17TeXDict begin 9 16 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray4947 2027 a Fz(Axiomatic)128 b(T)-38 b(ype-Classes)p0 TeXcolorgray Black Blue 4922 2875 a Fh(consts)p BlackBlue 4922 3210 a Fj(per)10 b(m)95 b Fk(:)g Fj(name)g(pr)10b(m)94 b Fi(\))h Fj(\023)g Fi(\))g Fj(\023)505 b Fk(\()p9602 3210 76 9 v 9636 3210 V 9671 3210 V 9746 3268 aFr(\001)p 9926 3210 V 9960 3210 V 9994 3210 V 10070 3210a Fk(\))p Black Blue 4922 3720 a Fh(axclass)191 b Fj(pty)11b(pe)93 b Fi(\022)i Fj(ty)11 b(pe)p Black Blue 5099 4055a Fk([])5285 4114 y Fr(\001)5449 4055 y Fj(x)95 b Fk(=)gFj(x)p Black Blue 5099 4390 a Fk(\()p Fj(\031)5432 4434y Fg(1)5561 4390 y Fk(@)p Fj(\031)6024 4434 y Fg(2)61534390 y Fk(\))6283 4448 y Fr(\001)6448 4390 y Fj(x)g Fk(=)gFj(\031)7297 4434 y Fg(1)7426 4448 y Fr(\001)7590 4390y Fk(\()p Fj(\031)7923 4434 y Fg(2)8052 4448 y Fr(\001)82164390 y Fj(x)p Fk(\))p Black Blue 5099 4724 a Fj(\031)53024769 y Fg(1)5526 4724 y Fi(\030)g Fj(\031)6090 4769 yFg(2)6314 4724 y Fi(\))g Fj(\031)6954 4769 y Fg(1)70834783 y Fr(\001)7247 4724 y Fj(x)g Fk(=)h Fj(\031)80974769 y Fg(2)8226 4783 y Fr(\001)8390 4724 y Fj(x)p BlackBlue 4922 5235 a Fh(primrec)p Black Blue 5099 5570 aFj(\031)5313 5629 y Fr(\001)5477 5570 y Fk(\()p Fj(x;)57b(y)11 b Fk(\))95 b(=)g(\()p Fj(\031)7066 5629 y Fr(\001)72305570 y Fj(x;)57 b(\031)7792 5629 y Fr(\001)7957 5570y Fj(y)11 b Fk(\))p Black Red Black 1 1 0.8 TeXcolorrgbBlack 4523 3642 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW TeXDict begin Red end 0.15 true3.8 neg 60.97542 neg 306.20146 68.17542 .5 Frame gsave 1 1 0.8 setrgbcolorfill grestore gsave 0.8 SLW TeXDict begin Red end 0 setlinecap stroke grestore end@endspecial-1163 x Fp(Similarly,)61 b(in)i(our)g(induction)f(principle)pBlue 4523 2865 a Fw(\()p Fu(8)p Fv(x)48 b(a)p Fw(\))80b Fv(P)87 b Fw(\()p Fp(Var)p Fw(\()p Fv(a)p Fw(\)\))49b Fv(x)4523 3252 y Fw(\()p Fu(8)p Fv(x)f(t)5103 3290y Fn(1)5215 3252 y Fv(;)f(t)5444 3290 y Fn(2)5556 3252y Fw(\))80 b(\(\()p Fu(8)p Fv(z)10 b Fw(\))80 b Fv(P)88b(t)6824 3290 y Fn(1)6983 3252 y Fv(z)10 b Fw(\))64 bFu(^)f Fw(\(\()p Fu(8)p Fv(z)10 b Fw(\))81 b Fv(P)87b(t)8636 3290 y Fn(2)8795 3252 y Fv(z)10 b Fw(\))79903522 y Fu(\))79 b Fv(P)88 b Fw(\()p Fp(App)o Fw(\()pFv(t)9319 3559 y Fn(1)9431 3522 y Fv(;)48 b(t)9661 3559y Fn(2)9772 3522 y Fw(\)\))h Fv(x)4523 3909 y Fw(\()pFu(8)p Fv(x)f(a)g(t)p Fw(\))79 b Fv(a)g Fw(#)h Fv(x)64b Fu(^)142 b Fw(\(\()p Fu(8)p Fv(z)10 b Fw(\))81 b Fv(P)87b(t)48 b(z)10 b Fw(\))79 b Fu(\))h Fv(P)87 b Fw(\([)pFv(a)p Fw(])p Fv(:t)p Fw(\))49 b Fv(x)p 4523 4040 56789 v 6687 4267 a Fw(\()p Fu(8)p Fv(x)g(t)p Fw(\))79 bFv(P)88 b(t)47 b(x)p Black 4523 4516 a Fp(we)63 b(need)g(to)g(ensure)g(that)p Blue 63 w Fv(x)p Black 63 w Fp(has)f(\002nite)h(support)f(\(usually)4523 4763 y(instantiated)h(with)g(list,)g(tuples,)f(mixed)i(things)f(etc.\).)p 0 TeXcolorgray 10821 5925 a 0 setgray 108215925 a 0.5 TeXcolorgray 9360 6307 a Fs(Munich,)26 b(28.)f(June)h(2005)e(\226)i(p.9)g(\(2/3\))p 0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 43606416 a eop end%%Page: 9 18TeXDict begin 9 17 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray4947 2027 a Fz(Axiomatic)128 b(T)-38 b(ype-Classes)p0 TeXcolorgray Black Blue 4922 2875 a Fh(consts)p BlackBlue 4922 3210 a Fj(per)10 b(m)95 b Fk(:)g Fj(name)g(pr)10b(m)94 b Fi(\))h Fj(\023)g Fi(\))g Fj(\023)505 b Fk(\()p9602 3210 76 9 v 9636 3210 V 9671 3210 V 9746 3268 aFr(\001)p 9926 3210 V 9960 3210 V 9994 3210 V 10070 3210a Fk(\))p Black Blue 4922 3720 a Fh(axclass)191 b Fj(pty)11b(pe)93 b Fi(\022)i Fj(ty)11 b(pe)p Black Blue 5099 4055a Fk([])5285 4114 y Fr(\001)5449 4055 y Fj(x)95 b Fk(=)gFj(x)p Black Blue 5099 4390 a Fk(\()p Fj(\031)5432 4434y Fg(1)5561 4390 y Fk(@)p Fj(\031)6024 4434 y Fg(2)61534390 y Fk(\))6283 4448 y Fr(\001)6448 4390 y Fj(x)g Fk(=)gFj(\031)7297 4434 y Fg(1)7426 4448 y Fr(\001)7590 4390y Fk(\()p Fj(\031)7923 4434 y Fg(2)8052 4448 y Fr(\001)82164390 y Fj(x)p Fk(\))p Black Blue 5099 4724 a Fj(\031)53024769 y Fg(1)5526 4724 y Fi(\030)g Fj(\031)6090 4769 yFg(2)6314 4724 y Fi(\))g Fj(\031)6954 4769 y Fg(1)70834783 y Fr(\001)7247 4724 y Fj(x)g Fk(=)h Fj(\031)80974769 y Fg(2)8226 4783 y Fr(\001)8390 4724 y Fj(x)p BlackBlue 4922 5235 a Fh(primrec)p Black Blue 5099 5570 aFj(\031)5313 5629 y Fr(\001)5477 5570 y Fk(\()p Fj(x;)57b(y)11 b Fk(\))95 b(=)g(\()p Fj(\031)7066 5629 y Fr(\001)72305570 y Fj(x;)57 b(\031)7792 5629 y Fr(\001)7957 5570y Fj(y)11 b Fk(\))p Black 0 TeXcolorgray 10821 5925 a 0 setgray10821 5925 a 0.5 TeXcolorgray 9360 6307 a Fs(Munich,)26b(28.)f(June)h(2005)e(\226)i(p.9)g(\(3/3\))p 0 TeXcolorgray4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 10 19TeXDict begin 10 18 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 19/View [ /XYZ null null null ] /Title (Instance Proofs)/OUT pdfmark end 4609 1909 a Gray 5860 2027 a Fz(Instance)128 b(Pr)-9b(oofs)p 0 TeXcolorgray Black Blue 4991 2875 a Fh(primrec)pBlack Blue 5167 3210 a Fj(\031)5381 3268 y Fr(\001)55453210 y Fk(\()p Fj(x;)57 b(y)11 b Fk(\))95 b(=)g(\()pFj(\031)7134 3268 y Fr(\001)7299 3210 y Fj(x;)57 b(\031)78613268 y Fr(\001)8025 3210 y Fj(y)11 b Fk(\))p Black Blue4991 3720 a Fh(instance)190 b Fi(\002)95 b(\022)g Fk(\()pFj(pty)11 b(pe;)56 b(pty)11 b(pe)p Fk(\))93 b Fj(pty)11b(pe)p Black 4991 4231 a Fl(To)74 b(show:)p Blue 51674684 a Fk([])5353 4742 y Fr(\001)5517 4684 y Fk(\()pFj(x;)57 b(y)11 b Fk(\))95 b(=)g(\()p Fj(x;)57 b(y)11b Fk(\))p Black Blue 5167 5018 a(\()p Fj(\031)5500 5063y Fg(1)5629 5018 y Fk(@)p Fj(\031)6092 5063 y Fg(2)62225018 y Fk(\))6352 5077 y Fr(\001)6516 5018 y Fk(\()pFj(x;)57 b(y)11 b Fk(\))95 b(=)g Fj(\031)7964 5063 yFg(1)8093 5077 y Fr(\001)8257 5018 y Fk(\()p Fj(\031)85905063 y Fg(2)8719 5077 y Fr(\001)8884 5018 y Fk(\()p Fj(x;)57b(y)11 b Fk(\)\))p Black Blue 5167 5353 a Fj(\031)53705397 y Fg(1)5594 5353 y Fi(\030)95 b Fj(\031)6158 5397y Fg(2)6382 5353 y Fi(\))g Fj(\031)7022 5397 y Fg(1)71515412 y Fr(\001)7316 5353 y Fk(\()p Fj(x;)57 b(y)11 bFk(\))94 b(=)i Fj(\031)8764 5397 y Fg(2)8893 5412 y Fr(\001)90575353 y Fk(\()p Fj(x;)57 b(y)11 b Fk(\))p Black 0 TeXcolorgray10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9349 6307a Fs(Munich,)25 b(28.)g(June)i(2005)d(\226)i(p.10)f(\(1/1\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 11 20TeXDict begin 11 19 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 20/View [ /XYZ null null null ] /Title (Lemmas in this Way)/OUT pdfmark end 4609 1909 a Gray 5315 2027 a Fz(Lemmas)128 b(in)h(this)f(W)-33b(ay)p 0 TeXcolorgray Black 4623 2582 a Fl(.)44 b(.)h(.)g(look)75b(as)g(follows:)p Black Black 1 1 0.8 TeXcolorrgb 1 1 0.8TeXcolorrgb 4623 4296 6141 1305 v 1 1 0.8 TeXcolorrgbBlack 4808 3288 a(Lemma:)95 b(Given)p Blue 75 w Fj(a)gFk(:)g Fj(name)p Black Fl(,)p Blue 76 w Fj(\031)106 bFk(:)95 b Fj(name)g(pr)10 b(m)p Black 75 w Fl(and)p Blue4808 3623 a Fj(x)95 b Fk(:)g Fj(\023)g Fk(::)g Fj(pty)11b(pe)p Black Fl(:)p Blue 5396 4134 a Fj(\031)5610 4192y Fr(\001)5774 4134 y Fk([)p Fj(a)p Fk(])p Fj(:x)95 bFk(=)h([)p Fj(\031)7197 4192 y Fr(\001)7361 4134 y Fj(a)pFk(])p Fj(:)p Fk(\()p Fj(\031)8081 4192 y Fr(\001)82454134 y Fj(x)p Fk(\))p Black 1 1 0.8 TeXcolorrgb BlackBlack Black 1 1 0.8 TeXcolorrgb 1 1 0.8 TeXcolorrgb 46235417 6013 970 v 1 1 0.8 TeXcolorrgb Black 4808 4744 aFl(Lemma:)f(Given)p Blue 75 w Fj(a)g Fk(:)g Fj(name)pBlack 76 w Fl(and)p Blue 76 w Fj(x)g Fk(:)g Fj(\023)gFk(::)f Fd(fstyp)-18 b(e)p Black 26 w Fl(:)p Blue 53965255 a Fj(a)95 b Fk(#)g([)p Fj(a)p Fk(])p Fj(:x)p Black1 1 0.8 TeXcolorrgb Black 4623 5749 a Fl(Very)114 b(convenient)f(reasoning,)123 b(except)113 b(that)g(it)g(is)g(not)46236089 y(general)76 b(enough.)46 b(.)f(.)p 0 TeXcolorgray10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9363 6307a Fs(Munich,)25 b(28.)g(June)i(2005)d(\226)i(p.11)f(\(1/1\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 12 21TeXDict begin 12 20 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 21/View [ /XYZ null null null ] /Title (Only One Type-Parameter)/OUT pdfmark end 4609 1909 a Gray 4642 2027 a Fz(Only)128 b(One)g(T)-38b(ype-P)-5 b(arameter)p 0 TeXcolorgray Black Blue 56192664 a Fh(consts)p Black Blue 5619 2998 a Fj(per)10 b(m)94b Fk(:)p Red 95 w Fj(\013)p Blue 96 w Fi(\))h Fj(\023)fFi(\))h Fj(\023)506 b Fk(\()p 8906 2998 76 9 v 8940 2998V 8974 2998 V 9050 3057 a Fr(\001)p 9229 2998 V 92632998 V 9297 2998 V 9373 2998 a Fk(\))p Black Blue 56193509 a Fh(axclass)191 b Fj(pty)11 b(pe)93 b Fi(\022)iFj(ty)11 b(pe)p Black Blue 5795 3844 a Fk([])5981 3903y Fr(\001)6145 3844 y Fj(x)95 b Fk(=)h Fj(x)p Black Blue5795 4179 a Fk(\()p Fj(\031)6128 4223 y Fg(1)6258 4179y Fk(@)p Fj(\031)6721 4223 y Fg(2)6850 4179 y Fk(\))69804237 y Fr(\001)7144 4179 y Fj(x)f Fk(=)h Fj(\031)79944223 y Fg(1)8123 4237 y Fr(\001)8287 4179 y Fk(\()p Fj(\031)86204223 y Fg(2)8749 4237 y Fr(\001)8913 4179 y Fj(x)p Fk(\))pBlack Blue 5795 4513 a Fj(\031)5998 4558 y Fg(1)62224513 y Fi(\030)g Fj(\031)6787 4558 y Fg(2)7011 4513 yFi(\))f Fj(\031)7651 4558 y Fg(1)7780 4572 y Fr(\001)79444513 y Fj(x)g Fk(=)g Fj(\031)8793 4558 y Fg(2)8922 4572y Fr(\001)9087 4513 y Fj(x)p Black Black Black 1 1 0.8TeXcolorrgb 1 1 0.8 TeXcolorrgb 4623 5937 6177 970 v1 1 0.8 TeXcolorrgb Black 4684 5264 a Fl(Lemma:)g(Given)pBlue 75 w Fj(a)g Fk(:)g Fj(\013)h Fk(::)f Fd(atyp)-18b(e)p Black 100 w Fl(and)p Blue 76 w Fj(x)95 b Fk(:)gFj(\023)g Fk(::)g Fd(fstyp)-18 b(e)p Black 25 w Fl(:)pBlue 5272 5775 a Fj(a)95 b Fk(#)g([)p Fj(a)p Fk(])p Fj(:x)pBlack 1 1 0.8 TeXcolorrgb Black 0 TeXcolorgray 108215925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9349 6307 a Fs(Munich,)25b(28.)g(June)i(2005)d(\226)i(p.12)f(\(1/1\))p 0 TeXcolorgray4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 13 22TeXDict begin 13 21 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 22/View [ /XYZ null null null ] /Title (Abstractly: Predicates)/OUT pdfmark end 4609 1909 a Gray 5103 2027 a Fz(Abstractly:)159b(Pr)-9 b(edicates)p 0 TeXcolorgray Black 4623 2367 aFl(So)75 b(I)g(am)h(using)g(very)g(standard)h(predicates:)pBlue 4959 2846 a Fj(pty)11 b(pe)5793 2890 y Fe(\023;\013)62052671 y Fx(def)6233 2846 y Fk(=)p Black Blue White 55473298 a Fi(^)p Blue 95 w Fk(\()p Fi(8)p Fj(x)95 b Fk(:)gFj(\023:)g Fk([])7168 3357 y Fr(\001)7332 3298 y Fj(x)gFk(=)g Fj(x)p Fk(\))p Black Blue 5547 3691 a Fi(^)g Fk(\()pFi(8)p Fj(x)g Fk(:)g Fj(\023)190 b(\031)7185 3736 y Fg(1)73143691 y Fj(;)57 b(\031)7669 3736 y Fg(2)7893 3691 y Fk(:)95b Fj(\013)g(pr)10 b(m:)p Black Blue 6546 4085 a Fk(\()pFj(\031)6879 4129 y Fg(1)7008 4085 y Fk(@)p Fj(\031)74714129 y Fg(2)7600 4085 y Fk(\))7730 4143 y Fr(\001)78954085 y Fj(x)95 b Fk(=)g Fj(\031)8744 4129 y Fg(1)88734143 y Fr(\001)9037 4085 y Fk(\()p Fj(\031)9370 4129y Fg(2)9499 4143 y Fr(\001)9664 4085 y Fj(x)p Fk(\)\))pBlack Blue 5547 4478 a Fi(^)g Fk(\()p Fi(8)p Fj(x)g Fk(:)gFj(\023)190 b(\031)7185 4523 y Fg(1)7314 4478 y Fj(;)57b(\031)7669 4523 y Fg(2)7893 4478 y Fk(:)95 b Fj(\013)g(pr)10b(m:)p Black Blue 6546 4871 a(\031)6749 4916 y Fg(1)69734871 y Fi(\030)95 b Fj(\031)7537 4916 y Fg(2)7761 4871y Fi(\))g Fj(\031)8401 4916 y Fg(1)8530 4930 y Fr(\001)86944871 y Fj(x)g Fk(=)h Fj(\031)9544 4916 y Fg(2)9673 4930y Fr(\001)9837 4871 y Fj(x)p Fk(\))p Black Black Black1 1 0.8 TeXcolorrgb 1 1 0.8 TeXcolorrgb 5262 6200 4599970 v 1 1 0.8 TeXcolorrgb Black 5324 5527 a Fl(Lemma:)e(Given)pBlue 75 w Fj(pty)11 b(pe)7836 5572 y Fe(\023;\013)p Black8229 5527 a Fl(and)p Blue 76 w Fj(aty)g(pe)9557 5572y Fe(\013)p Black 9723 5527 a Fl(:)p Blue 5911 6038 aFj(\031)6125 6097 y Fr(\001)6290 6038 y Fk([)p Fj(a)pFk(])p Fj(:x)95 b Fk(=)g([)p Fj(\031)7712 6097 y Fr(\001)78766038 y Fj(a)p Fk(])p Fj(:)p Fk(\()p Fj(\031)8596 6097y Fr(\001)8761 6038 y Fj(x)p Fk(\))p Black 1 1 0.8 TeXcolorrgbBlack 0 TeXcolorgray 10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray9349 6307 a Fs(Munich,)25 b(28.)g(June)i(2005)d(\226)i(p.13)f(\(1/1\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 14 23TeXDict begin 14 22 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 23/View [ /XYZ null null null ] /Title (Then use Axclasses)/OUT pdfmark end 4609 1909 a Gray 5462 2027 a Fz(Then)128 b(use)h(Axclasses)p0 TeXcolorgray Black 4623 2588 a Fl(Then)75 b(I)g(am)h(using)g(an)f(axlcass)h(with)p Blue 75 w Fj(\031)8618 2632 y Fg(1)pBlack 8822 2588 a Fl(and)p Blue 76 w Fj(pi)9606 2632y Fg(2)p Black 9811 2588 a Fl(of)4623 2867 y(type)p Blue76 w Fj(name)95 b(pr)10 b(m)p Black Fl(:)p Blue 57293251 a Fh(axclass)191 b Fj(pty)11 b(pe)93 b Fi(\022)iFj(ty)11 b(pe)p Black Blue 5906 3586 a Fk([])6092 3645y Fr(\001)6256 3586 y Fj(x)95 b Fk(=)g Fj(x)p Black Blue5906 3921 a Fk(\()p Fj(\031)6239 3965 y Fg(1)6368 3921y Fk(@)p Fj(\031)6831 3965 y Fg(2)6960 3921 y Fk(\))70903979 y Fr(\001)7254 3921 y Fj(x)h Fk(=)f Fj(\031)81043965 y Fg(1)8233 3979 y Fr(\001)8397 3921 y Fk(\()p Fj(\031)87303965 y Fg(2)8859 3979 y Fr(\001)9023 3921 y Fj(x)p Fk(\))pBlack Blue 5906 4255 a Fj(\031)6109 4300 y Fg(1)63334255 y Fi(\030)g Fj(\031)6897 4300 y Fg(2)7121 4255 yFi(\))g Fj(\031)7761 4300 y Fg(1)7890 4314 y Fr(\001)80544255 y Fj(x)g Fk(=)h Fj(\031)8904 4300 y Fg(2)9033 4314y Fr(\001)9197 4255 y Fj(x)p Black 4623 4713 a Fl(and)76b(show)e(that)p Blue 6406 5121 a Fj(pty)11 b(pe)72405166 y Fe(\023)p Fg(::)p Fe(pty)d(pe;name)p Black 46235599 a Fl(holds)66 b(\(I)h(have)g(to)f(do)h(this)g(for)g(every)h(kind)f(of)g(atom)g(the)4623 5939 y(user)g(wants)g(to)g(use)g(\227)f(on)h(the)g(SML-level)h(of)e(Isabelle\).)p 0 TeXcolorgray 108215925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9349 6307 a Fs(Munich,)25b(28.)g(June)i(2005)d(\226)i(p.14)f(\(1/1\))p 0 TeXcolorgray4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 15 24TeXDict begin 15 23 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 24/View [ /XYZ null null null ] /Title (Aside)/OUT pdfmark end 4609 1909 a Gray 6947 2027 a Fz(Aside)p 0 TeXcolorgrayBlack 4623 2582 a Fl(When)75 b(one)g(has)h(more)g(than)f(one)h(kind)f(of)h(atoms,)4623 2861 y(e.g.)p Blue 75 w Fj(name)p Black75 w Fl(and)p Blue 77 w Fj(coname)p Black Fl(,)e(the)46233153 y(properties/predicate:)p Blue 4959 3573 a Fj(pty)11b(pe)5793 3618 y Fe(\023;\013)6205 3399 y Fx(def)62333573 y Fk(=)p Black Blue White 5547 4026 a Fi(^)p Blue95 w Fk(\()p Fi(8)p Fj(x)95 b Fk(:)g Fj(\023:)g Fk([])71684084 y Fr(\001)7332 4026 y Fj(x)g Fk(=)g Fj(x)p Fk(\))pBlack Blue 5547 4419 a Fi(^)g Fk(\()p Fi(8)p Fj(x)g Fk(:)gFj(\023)190 b(\031)7185 4464 y Fg(1)7314 4419 y Fj(;)57b(\031)7669 4464 y Fg(2)7893 4419 y Fk(:)95 b Fj(\013)g(pr)10b(m:)p Black Blue 6546 4812 a Fk(\()p Fj(\031)6879 4857y Fg(1)7008 4812 y Fk(@)p Fj(\031)7471 4857 y Fg(2)76004812 y Fk(\))7730 4871 y Fr(\001)7895 4812 y Fj(x)95b Fk(=)g Fj(\031)8744 4857 y Fg(1)8873 4871 y Fr(\001)90374812 y Fk(\()p Fj(\031)9370 4857 y Fg(2)9499 4871 y Fr(\001)96644812 y Fj(x)p Fk(\)\))p Black Blue 5547 5206 a Fi(^)gFk(\()p Fi(8)p Fj(x)g Fk(:)g Fj(\023)190 b(\031)71855250 y Fg(1)7314 5206 y Fj(;)57 b(\031)7669 5250 y Fg(2)78935206 y Fk(:)95 b Fj(\013)g(pr)10 b(m:)p Black Blue 65465599 a(\031)6749 5644 y Fg(1)6973 5599 y Fi(\030)95 bFj(\031)7537 5644 y Fg(2)7761 5599 y Fi(\))g Fj(\031)84015644 y Fg(1)8530 5658 y Fr(\001)8694 5599 y Fj(x)g Fk(=)hFj(\031)9544 5644 y Fg(2)9673 5658 y Fr(\001)9837 5599y Fj(x)p Fk(\))p Black 4623 6159 a Fl(is)74 b(not)i(enough)g(to)f(characterise)h(permutations.)p 0 TeXcolorgray 108215925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9335 6307 a Fs(Munich,)25b(28.)g(June)h(2005)f(\226)h(p.15)f(\(1/2\))p 0 TeXcolorgray4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 15 25TeXDict begin 15 24 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a Gray6947 2027 a Fz(Aside)p 0 TeXcolorgray Black 4623 2582a Fl(When)75 b(one)g(has)h(more)g(than)f(one)h(kind)f(of)h(atoms,)46232861 y(e.g.)p Blue 75 w Fj(name)p Black 75 w Fl(and)pBlue 77 w Fj(coname)p Black Fl(,)e(the)4623 3153 y(properties/predicate:)p Blue 4959 3573 a Fj(pty)11 b(pe)57933618 y Fe(\023;\013)6205 3399 y Fx(def)6233 3573 y Fk(=)pBlack Blue White 5547 4026 a Fi(^)p Blue 95 w Fk(\()pFi(8)p Fj(x)95 b Fk(:)g Fj(\023:)g Fk([])7168 4084 yFr(\001)7332 4026 y Fj(x)g Fk(=)g Fj(x)p Fk(\))p BlackBlue 5547 4419 a Fi(^)g Fk(\()p Fi(8)p Fj(x)g Fk(:)gFj(\023)190 b(\031)7185 4464 y Fg(1)7314 4419 y Fj(;)57b(\031)7669 4464 y Fg(2)7893 4419 y Fk(:)95 b Fj(\013)g(pr)10b(m:)p Black Blue 6546 4812 a Fk(\()p Fj(\031)6879 4857y Fg(1)7008 4812 y Fk(@)p Fj(\031)7471 4857 y Fg(2)76004812 y Fk(\))7730 4871 y Fr(\001)7895 4812 y Fj(x)95b Fk(=)g Fj(\031)8744 4857 y Fg(1)8873 4871 y Fr(\001)90374812 y Fk(\()p Fj(\031)9370 4857 y Fg(2)9499 4871 y Fr(\001)96644812 y Fj(x)p Fk(\)\))p Black Blue 5547 5206 a Fi(^)gFk(\()p Fi(8)p Fj(x)g Fk(:)g Fj(\023)190 b(\031)71855250 y Fg(1)7314 5206 y Fj(;)57 b(\031)7669 5250 y Fg(2)78935206 y Fk(:)95 b Fj(\013)g(pr)10 b(m:)p Black Blue 65465599 a(\031)6749 5644 y Fg(1)6973 5599 y Fi(\030)95 bFj(\031)7537 5644 y Fg(2)7761 5599 y Fi(\))g Fj(\031)84015644 y Fg(1)8530 5658 y Fr(\001)8694 5599 y Fj(x)g Fk(=)hFj(\031)9544 5644 y Fg(2)9673 5658 y Fr(\001)9837 5599y Fj(x)p Fk(\))p Black 4623 6159 a Fl(is)74 b(not)i(enough)g(to)f(characterise)h(permutations.)p Red Black 1 1 0.8 TeXcolorrgbBlack 4884 4212 a @beginspecial @setspecial tx@Dict begin STP newpath 0.8 SLW TeXDict begin Red end 0.15 true3.8 neg 27.63428 neg 271.25572 34.83426 .5 Frame gsave 1 1 0.8 setrgbcolorfill grestore gsave 0.8 SLW TeXDict begin Red end 0 setlinecap stroke grestore end@endspecial-474 x Fp(One)63 b(cannot)g(prove)f(properties)h(such)g(as:)pBlue 6188 4203 a Fv(\031)6357 4240 y Fn(1)6469 4262 yFr(\001)6633 4203 y Fw(\()p Fv(\031)6910 4240 y Fn(2)70224262 y Fr(\001)7186 4203 y Fv(x)p Fw(\))80 b(=)f Fv(\031)80024240 y Fn(2)8114 4262 y Fr(\001)8278 4203 y Fw(\()p Fv(\031)85554240 y Fn(1)8667 4262 y Fr(\001)8832 4203 y Fv(x)p Fw(\))pBlack 4884 4656 a Fp(for)p Blue 62 w Fv(\031)5434 4693y Fn(1)5625 4656 y Fw(:)h Fv(\013)5971 4693 y Fn(1)61614656 y Fv(pr)8 b(m)p Black 63 w Fp(and)p Blue 62 w Fv(\031)73414693 y Fn(2)7532 4656 y Fw(:)79 b Fv(\013)7877 4693 yFn(2)8068 4656 y Fv(pr)8 b(m)p Black 62 w Fp(with)p Blue63 w Fv(\013)9350 4693 y Fn(1)9540 4656 y Fu(6)p Fw(=)79b Fv(\013)10025 4693 y Fn(2)p Black 10136 4656 a Fp(.)p0 TeXcolorgray 10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray9321 6307 a Fs(Munich,)25 b(28.)g(June)h(2005)f(\226)h(p.15)f(\(2/2\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 16 26TeXDict begin 16 25 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 26/View [ /XYZ null null null ] /Title (Very Ugly)/OUT pdfmark end 4609 1909 a Gray 6466 2027 a Fz(V)-51 b(ery)129b(Ugly)p 0 TeXcolorgray Black 4623 2367 a Fl(I)75 b(need)h(on)g(the)f(abstract)h(level)g(also)f(the)h(predicates:)p Blue 49112846 a Fj(disj)19 b(oint)6159 2890 y Fe(\013)6316 2921y Fc(1)6420 2890 y Fe(;\013)6643 2921 y Fc(2)6852 2671y Fx(def)6880 2846 y Fk(=)p Black Blue White 5498 3298a Fi(^)p Blue Fk(\()p Fi(8)p Fj(\031)107 b Fk(:)94 bFj(\013)6769 3342 y Fg(1)6994 3298 y Fj(pr)10 b(m)189b(x)96 b Fk(:)e Fj(\013)8541 3342 y Fg(2)8671 3298 yFj(:)h(\031)9075 3357 y Fr(\001)9239 3298 y Fj(x)g Fk(=)gFj(x)p Fk(\))p Black Blue 5498 3691 a Fi(^)p Fk(\()pFi(8)p Fj(\031)107 b Fk(:)94 b Fj(\013)6769 3736 y Fg(2)69943691 y Fj(pr)10 b(m)189 b(x)96 b Fk(:)e Fj(\013)85413736 y Fg(1)8671 3691 y Fj(:)h(\031)9075 3750 y Fr(\001)92393691 y Fj(x)g Fk(=)g Fj(x)p Fk(\))p Black 4623 4251 aFl(and)76 b(even)g(more)g(ugly:)p Blue 4916 4934 a Fj(commute)63494979 y Fe(\023;\013)6657 5010 y Fc(1)6760 4979 y Fe(;\013)69835010 y Fc(2)7192 4760 y Fx(def)7220 4934 y Fk(=)p BlackBlue 5504 5386 a Fi(8)95 b Fj(\031)5992 5431 y Fg(1)62165386 y Fk(:)g Fj(\013)6630 5431 y Fg(1)6854 5386 y Fj(pr)10b(m)190 b(\031)7900 5431 y Fg(2)8124 5386 y Fk(:)95 bFj(\013)8538 5431 y Fg(2)8762 5386 y Fj(pr)10 b(m)190b(x)95 b Fk(:)g Fj(\023)p Black Blue 5797 5721 a(\031)60005765 y Fg(1)6129 5780 y Fr(\001)6294 5721 y Fk(\()p Fj(\031)66275765 y Fg(2)6756 5780 y Fr(\001)6920 5721 y Fj(x)p Fk(\))g(=)gFj(\031)7899 5765 y Fg(2)8029 5780 y Fr(\001)8193 5721y Fk(\()p Fj(\031)8526 5765 y Fg(1)8655 5780 y Fr(\001)88195721 y Fj(x)p Fk(\))p Black 0 TeXcolorgray 10821 5925a 0 setgray 10821 5925 a 0.5 TeXcolorgray 9349 6307 a Fs(Munich,)25b(28.)g(June)i(2005)d(\226)i(p.16)f(\(1/1\))p 0 TeXcolorgray4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Page: 17 27TeXDict begin 17 26 bop 0 TeXcolorgray 4360 6416 a tx@Dict begin 90 Rot end 43606416 a 4609 1909 aSDict begin /product where{pop product(Distiller)search{pop pop popversion(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 movetoclosepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)showgrestore}if}{pop}ifelse}{pop}ifelse}if end 4609 1909 a 4609 1909 aSDict begin H.S end 4609 1909a 0 TeXcolorgray 0 TeXcolorgray 4609 1909 aSDict begin H.R end 4609 1909a 4609 1909 aSDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmarkend 4609 1909 a 4609 1909 aSDict begin [ {ThisPage}<</Trans << /S /R >> >> /PUT pdfmark end 4609 1909 a 46091909 aSDict begin [ /Page 27/View [ /XYZ null null null ] /Title (Fin) /OUTpdfmark end 4609 1909 a Gray 7190 2027 a Fz(Fin)p 0 TeXcolorgrayBlack Black Black 5217 3140 a Fa(Next)188 b(week)i(no)f(lecture!)p0 TeXcolorgray 10821 5925 a 0 setgray 10821 5925 a 0.5 TeXcolorgray9349 6307 a Fs(Munich,)25 b(28.)g(June)i(2005)d(\226)i(p.17)f(\(1/1\))p0 TeXcolorgray 4360 6416 a tx@Dict begin -90 Rot end 4360 6416 a eop end%%Traileruserdict /end-hook known{end-hook}if%%EOF