packages feed

chalmers-lava2000 1.3 → 1.4.1

raw patch · 4 files changed

+15/−16550 lines, 4 filesbinary-addedPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

+ Doc/tutorial.pdf view

binary file changed (absent → 464081 bytes)

− Doc/tutorial.ps
@@ -1,16541 +0,0 @@-%!PS-Adobe-2.0-%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software-%%Pages: 93-%%PageOrder: Ascend-%%BoundingBox: 0 0 596 842-%%DocumentPaperSizes: A4-%%EndComments-%DVIPSCommandLine: /usr/pd/tex/teTeX/bin/sparc-solaris2.5.1/dvips.bin-%+ -o!lpr -f-%DVIPSParameters: dpi=600, comments removed-%DVIPSSource:  TeX output 2000.08.15:1545-%%BeginProcSet: tex.pro-/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N-/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72-mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}-ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale-isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div-hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul-TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}-forall round exch round exch]setmatrix}N /@landscape{/isls true N}B-/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B-/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{-/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N-string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N-end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{-/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]-N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup-length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{-128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub-get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data-dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N-/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup-/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx-0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff-setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff-.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}-if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup-length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{-cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin-0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul-add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict-/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook-known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X-/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for-65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0-0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V-{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7-getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}-ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false-RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1-false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform-round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg-rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail-{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}-B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{-4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{-p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p-a}B /bos{/SS save N}B /eos{SS restore}B end-%%EndProcSet-%%BeginProcSet: special.pro-TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N-/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen-false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B-/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit-div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{-/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{-10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B-/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale-true def end /@MacSetUp{userdict /md known{userdict /md get type-/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup-length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}-N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath-clippath mark{transform{itransform moveto}}{transform{itransform lineto}-}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{-itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{-closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39-0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N-/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1-scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get-ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip-not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0-TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR-pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1--1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg-TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg-sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr-0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add-2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp-{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72-div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}-N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict-maxlength dict begin /magscale true def normalscale currentpoint TR-/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts-/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx-psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy-scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR-/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{-psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2-roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath-moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict-begin /SpecialSave save N gsave normalscale currentpoint TR-@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial-{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto-closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx-sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR-}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse-CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury-lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath-}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{-end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}-N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{-/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX-SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X-/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad-yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end-%%EndProcSet-TeXDict begin 39158280 55380996 1000 600 600 () @start-/Fa 9 74 df<000000000000000000000C000000000000000000001E0000000000000000-00003E000000000000000000007E00000000000000000000FC00000000000000000001F8-00000000000000000003F000000000000000000007E00000000000000000000FC0000000-0000000000001F800000000000000000003F000000000000000000007E00000000000000-000000FC00000000000000000001F800000000000000000003F000000000000000000007-E00000000000000000000FC00000000000000000001F800000000000000000003F000000-000000000000007E00000000000000000000FC00000000000000000001F8000000000000-00000003F000000000000000000007E00000000000000000000FC0000000000000000000-1F800000000000000000003F000000000000000000007E00000000000000000000FC0000-0000000000000001F800000000000000000003F000000000000000000007E00000000000-000000000FC00000000000000000001F800000000000000000003F000000000000000000-007E00000000000000000000FC00000000000000000001F800000000000000000003F000-000000000000000007E00000000000000000000FC00000000000000000001F8000000000-00000000003F000000000000000000007E00000000000000000000FC0000000000000000-0001F800000000000000000003F000000000000000000007E00000000000000000000FC0-0000000000000000001F800000000000000000003F000000000000000000007E00000000-000000000000FC00000000000000000001F800000000000000000003F000000000000000-000007E00000000000000000000FC00000000000000000001F800000000000000000003F-000000000000000000007E00000000000000000000FC00000000000000000001F8000000-00000000000003F000000000000000000007E00000000000000000000FC0000000000000-0000001F800000000000000000003F000000000000000000007E00000000000000000000-FC00000000000000000001F800000000000000000003F000000000000000000007E00000-000000000000000FC00000000000000000001F800000000000000000003F000000000000-000000007E00000000000000000000FC00000000000000000001F8000000000000000000-03F000000000000000000007E00000000000000000000FC00000000000000000001F8000-00000000000000003F000000000000000000007E00000000000000000000FC0000000000-0000000000F8000000000000000000006000000000000000000000575782D453>0-D<00000000001800000000003C00000000007C00000000007C0000000000F80000000000-F80000000001F00000000001F00000000003E00000000003E00000000007C00000000007-C0000000000F80000000000F80000000001F00000000001F00000000003E00000000003E-00000000007C00000000007C0000000000F80000000000F80000000001F00000000001F0-0000000003E00000000003E00000000007C00000000007C0000000000F80000000000F80-000000001F00000000001F00000000003E00000000003E00000000007C00000000007C00-00000000F80000000000F80000000001F00000000001F00000000003E00000000003E000-00000007C0000000000FC0000000000F80000000001F00000000001F00000000003E0000-0000003E00000000007C00000000007C0000000000F80000000000F80000000001F00000-000001F00000000003E00000000003E00000000007C00000000007C0000000000F800000-00000F80000000001F00000000001F00000000003E00000000003E00000000007C000000-00007C0000000000F80000000000F80000000001F00000000001F00000000003E0000000-0003E00000000007C00000000007C0000000000F80000000000F80000000001F00000000-001F00000000003E00000000003E00000000007C00000000007C0000000000F800000000-00F80000000000F000000000006000000000002E5782D42A>I<000000060000000F0000-001F0000001F0000001E0000003E0000003E0000003C0000007C0000007C000000780000-00F8000000F8000000F0000001F0000001F0000001E0000003E0000003E0000003C00000-07C0000007C00000078000000F8000000F8000000F0000001F0000001F0000001E000000-3E0000003E0000003C0000007C0000007C00000078000000F8000000F8000000F0000001-F0000001F0000001E0000003E0000003E0000003C0000007C0000007C00000078000000F-8000000F8000000F0000001F0000001F0000001E0000003E0000003E0000003C0000007C-0000007C00000078000000F8000000F8000000F0000001F0000001F0000001E0000003E0-000003E0000003C0000007C0000007C00000078000000F8000000F8000000F0000001F00-00001F0000001E0000003E0000003E0000003C0000007C0000007C00000078000000F800-0000F8000000F000000060000000205782D41C>I<00000001000000020000000C000000-3C000000F8000003F800000FF000003FF00000FFE00003FFE0001FFFC0007FFFC003FFFF-801FFFFF80FFFFFF007FFFFF003FFFFE001FFFFE000FFFFC0007FFFC0003FFFC0001FFF8-0000FFF800007FF000003FF000001FF000000FE0000007E0000003E0000001C0000000C0-000000400020204DD253>18 D<001800001800001800001800003C00003C00003C00007E-00007E00007E0000FF0000FF0000FF0001FF8001FF8001FF8003FFC003FFC007FFE007FF-E007FFE00FFFF00FFFF01FFFF81FFFF83FFFFC3FFFFC7FFFFE7FFFFEFFFFFFFFFFFF181F-8CD053>54 D<6000000000000000000000F800000000000000000000FC00000000000000-0000007E000000000000000000003F000000000000000000001F80000000000000000000-0FC000000000000000000007E000000000000000000003F000000000000000000001F800-000000000000000000FC000000000000000000007E000000000000000000003F00000000-0000000000001F800000000000000000000FC000000000000000000007E0000000000000-00000003F000000000000000000001F800000000000000000000FC000000000000000000-007E000000000000000000003F000000000000000000001F800000000000000000000FC0-00000000000000000007E000000000000000000003F000000000000000000001F8000000-00000000000000FC000000000000000000007E000000000000000000003F000000000000-000000001F800000000000000000000FC000000000000000000007E00000000000000000-0003F000000000000000000001F800000000000000000000FC000000000000000000007E-000000000000000000003F000000000000000000001F800000000000000000000FC00000-0000000000000007E000000000000000000003F000000000000000000001F80000000000-0000000000FC000000000000000000007E000000000000000000003F0000000000000000-00001F800000000000000000000FC000000000000000000007E000000000000000000003-F000000000000000000001F800000000000000000000FC000000000000000000007E0000-00000000000000003F000000000000000000001F800000000000000000000FC000000000-000000000007E000000000000000000003F000000000000000000001F800000000000000-000000FC000000000000000000007E000000000000000000003F00000000000000000000-1F800000000000000000000FC000000000000000000007E000000000000000000003F000-000000000000000001F800000000000000000000FC000000000000000000007E00000000-0000000000003F000000000000000000001F800000000000000000000FC0000000000000-00000007E000000000000000000003F000000000000000000001F8000000000000000000-00FC000000000000000000007E000000000000000000003F000000000000000000001F80-0000000000000000000FC000000000000000000007E000000000000000000003F0000000-00000000000001F800000000000000000000FC000000000000000000007E000000000000-000000003E000000000000000000001E000000000000000000000C575782D453>64-D<600000000000F00000000000F80000000000F800000000007C00000000007C00000000-003E00000000003E00000000001F00000000001F00000000000F80000000000F80000000-0007C00000000007C00000000003E00000000003E00000000001F00000000001F0000000-0000F80000000000F800000000007C00000000007C00000000003E00000000003E000000-00001F00000000001F00000000000F80000000000F800000000007C00000000007C00000-000003E00000000003E00000000001F00000000001F00000000000F80000000000F80000-0000007C00000000007C00000000003E00000000003E00000000001F00000000001F0000-0000000F80000000000FC00000000007C00000000003E00000000003E00000000001F000-00000001F00000000000F80000000000F800000000007C00000000007C00000000003E00-000000003E00000000001F00000000001F00000000000F80000000000F800000000007C0-0000000007C00000000003E00000000003E00000000001F00000000001F00000000000F8-0000000000F800000000007C00000000007C00000000003E00000000003E00000000001F-00000000001F00000000000F80000000000F800000000007C00000000007C00000000003-E00000000003E00000000001F00000000001F00000000000F80000000000F80000000000-7C00000000007C00000000003C0000000000182E5782D42A>I<60000000F0000000F800-0000F8000000780000007C0000007C0000003C0000003E0000003E0000001E0000001F00-00001F0000000F0000000F8000000F8000000780000007C0000007C0000003C0000003E0-000003E0000001E0000001F0000001F0000000F0000000F8000000F8000000780000007C-0000007C0000003C0000003E0000003E0000001E0000001F0000001F0000000F0000000F-8000000F8000000780000007C0000007C0000003C0000003E0000003E0000001E0000001-F0000001F0000000F0000000F8000000F8000000780000007C0000007C0000003C000000-3E0000003E0000001E0000001F0000001F0000000F0000000F8000000F80000007800000-07C0000007C0000003C0000003E0000003E0000001E0000001F0000001F0000000F00000-00F8000000F8000000780000007C0000007C0000003C0000003E0000003E0000001E0000-001F0000001F0000000F00000006205782D41C>I<8000000040000000300000003C0000-001F0000001FC000000FF000000FFC000007FF000007FFC00003FFF80003FFFE0001FFFF-C001FFFFF800FFFFFF00FFFFFE007FFFFC007FFFF8003FFFF0003FFFE0003FFFC0001FFF-80001FFF00000FFE00000FFC00000FF8000007F0000007E0000007C00000038000000300-0000020000202080D253>73 D E /Fb 1 1 df<FFFFFFFFFEFFFFFFFFFEFFFFFFFFFE27-037A8F34>0 D E /Fc 5 63 df<F000000000FC00000000FF00000000FFC00000003FE0-0000000FF800000007FC00000003FE00000000FF000000007F800000003FC00000001FC0-0000001FE00000000FF000000007F000000007F800000003F800000003FC00000001FC00-000001FC00000001FE00000000FE00000000FE00000000FE00000000FE00000000FE0000-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000-FE00000000FE00000000FF000000007F000000007F000000007F000000003F800000003F-800000003FC00000001FC00000000FE00000000FE000000007F000000003F800000003FC-00000001FE00000000FF000000007F800000001FC00000000FF000000007F800000001FE-000000007E000000007E00000001FE00000007F80000000FF00000001FC00000007F8000-0000FF00000001FE00000003FC00000003F800000007F00000000FE00000000FE0000000-1FC00000003FC00000003F800000003F800000007F000000007F000000007F00000000FF-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000-01FE00000001FC00000001FC00000003FC00000003F800000007F800000007F00000000F-F00000001FE00000001FC00000003FC00000007F80000000FF00000003FE00000007FC00-00000FF80000003FE0000000FFC0000000FF00000000FC00000000F00000000027C67582-3E>27 D<F8000000FE000000FF800000FFC00000FFF000003FF800001FFC00000FFE0000-03FF000001FF800000FFC000007FE000003FF000003FF800001FFC00000FFC000007FE00-0007FF000003FF000003FF800001FF800001FFC00000FFC00000FFC000007FE000007FE0-00007FE000003FF000003FF000003FF000003FF000003FF800001FF800001FF800001FF8-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8-00001FF800001FF800001FF800001FF81D4B737E4A>57 D<00001FF800001FF800001FF8-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8-00001FF800001FF800001FF800001FF800003FF800003FF000003FF000003FF000003FF0-00007FE000007FE000007FE00000FFC00000FFC00001FFC00001FF800003FF800003FF00-0007FF000007FE00000FFC00001FFC00003FF800003FF000007FE00000FFC00001FF8000-03FF00000FFE00001FFC00003FF80000FFF00000FFC00000FF800000FE000000F8000000-1D4B73804A>59 D<FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-FFC000007FE000007FE000007FE000007FE000007FE000003FF000003FF000003FF00000-1FF800001FF800000FF800000FFC00000FFC000007FE000003FE000003FF000001FF0000-01FF800000FF8000007FC000003FE000003FF000001FF000000FF8000007FC000003FE00-0001FF000000FF8000003FE000001FF0000007F0000003F0000007F000001FF000003FE0-0000FF800001FF000003FE000007FC00000FF800001FF000003FF000003FE000007FC000-00FF800001FF800001FF000003FF000003FE000007FE00000FFC00000FFC00000FF80000-1FF800001FF800003FF000003FF000003FF000007FE000007FE000007FE000007FE00000-7FE00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000-1C9760804A>61 D<FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0-FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC00A1B60804A>I-E /Fd 5 53 df<00000E00000000000E00000000000E00000000000E00000000000E0000-0000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000-0000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000-0000000E00000000000E00000000000E000000FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFF-E000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000-0000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000-0000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000-0000000E00000000000E0000002B2B7DA333>43 D<00380000780001F8001FF800FEF800-E0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800-00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800-00F80000F80000F80000F80000F80000F80001FC00FFFFF8FFFFF815267BA521>49-D<00FF000003FFE0000E03F0001800F80030007C0060007E0078003F00FC003F00FE001F-80FE001F80FE001F80FE001F807C001F8000001F8000001F0000003F0000003E0000007E-0000007C000000F8000001F0000003E0000003C00000078000000E0000001C0000003800-000070018000E001800180018003000300060003000C0003001FFFFF003FFFFF007FFFFE-00FFFFFE00FFFFFE0019267DA521>I<00FF000003FFE0000F01F8001C007C0030007E00-3C003E007E003F007E003F007E003F007E003F003C003F0000003E0000007E0000007C00-0000F8000001F0000007E00001FF800001FF00000001E0000000F00000007C0000003E00-00003F0000001F0000001F8000001F8038001F807C001F80FE001F80FE001F80FE001F00-FC003F0078003E0070007C003800F8001F01F00007FFC00000FF000019277DA521>I<00-00380000003800000078000000F8000001F8000001F8000003F8000007F8000006F80000-0CF800001CF8000018F8000030F8000070F8000060F80000C0F80001C0F8000180F80003-00F8000700F8000E00F8000C00F8001C00F8003800F8003000F8006000F800E000F800FF-FFFFE0FFFFFFE00000F8000000F8000000F8000000F8000000F8000000F8000000F80000-01FC00003FFFE0003FFFE01B277EA621>I E /Fe 10 122 df<00FF000007FFE0001FFF-F0003FFFF8003FFFFC003F00FE0038007F0020003F0000003F0000001F8000001F800000-1F8000001F8000001F8000001F80000FFF8000FFFF8007FFFF801FFFFF803FFC1F807FC0-1F80FE001F80FC001F80FC001F80FC003F80FC003F80FE007F807F83FF807FFFFF803FFF-FF803FFF9F801FFE1F8007F0000019217D9F22>97 D<000003F0000003F0000003F00000-03F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000-03F0000003F0000003F0007F03F001FFE3F003FFFBF007FFFFF00FFFFFF01FF03FF03FC0-0FF03F8007F07F0003F07E0003F07E0003F0FE0003F0FC0003F0FC0003F0FC0003F0FC00-03F0FC0003F0FC0003F0FC0003F0FC0003F0FE0003F07E0003F07E0003F07F0007F03F80-0FF03FC01FF01FF03FF00FFFFFF007FFFBF003FFF3F001FFC3F0007F00001C2F7EAD24>-100 D<001F800000FFF00001FFF80007FFFC000FFFFE000FE07F001FC03F003F801F003F-000F807E0007807E0007807C0007C0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0F8-000000F8000000FC000000FC0000007C0000007E0000007E0000003F0000003F8000401F-C001C00FF01FC007FFFFC003FFFFC001FFFF80007FFE00001FE0001A217E9F1F>I<FCFC-FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC-FCFCFCFCFCFCFCFC062E7BAD11>108 D<000FE000FC3FF800FCFFFC00FDFFFE00FFFFFF-00FFC0FF00FF803F00FF003F80FE001F80FE001F80FE001F80FC001F80FC001F80FC001F-80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F-80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80191F7B-9E24>110 D<001FE000007FF80001FFFE0003FFFF0007FFFF800FF03FC01FC00FE01F80-07E03F0003F03F0003F07E0001F87E0001F87C0000F8FC0000FCFC0000FCFC0000FCFC00-00FCFC0000FCFC0000FCFC0000FCFC0000FC7E0001F87E0001F87F0003F83F0003F03F80-07F01FC00FE00FF03FC007FFFF8003FFFF0001FFFE00007FF800001FE0001E217E9F23>-I<0007F000FC3FF800FCFFFE00FFFFFF00FFFFFF80FFC0FF80FF003FC0FE001FC0FC000F-E0FC000FE0FC0007E0FC0007F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003-F0FC0003F0FC0003F0FC0007E0FC0007E0FC000FE0FE000FC0FE001FC0FF007F80FFC1FF-80FFFFFF00FFFFFE00FCFFFC00FC7FF000FC0FC000FC000000FC000000FC000000FC0000-00FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000001C2C7B-9E24>I<FC001FC001F8FC003FC001F87E003FC001F07E003FE003F07E003DE003F03F00-7DE003E03F0079F007E03F0079F007E01F00F9F007C01F80F8F00FC01F80F8F80FC01F80-F0F80FC00FC1F0F80F800FC1F0781F800FC1F07C1F8007C1E07C1F0007E3E07C1F0007E3-E03E3F0003E3E03E3E0003E3C03E3E0003E3C03E3E0003F7C01E7E0001F7801F7C0001F7-801F7C0001F7800F7C0000F7800F780000FF000FF80000FF0007F800007F0007F000007E-0007F0002D1E7F9D30>119 D<7E0000FC3F0001FC1F8003F81FC007F00FE007E007F00F-C003F01F8001F83F0000FC7F00007E7E00003FFC00001FF800001FF000000FE0000007C0-00000FE000000FF000001FF800003EFC00007C7E0000FC3F0001F81F8003F00F8003E00F-C007E007E00FC003F01F8001F83F0001FC7F0000FEFE00007F201E809D21>I<FC0000FC-7E0001F87E0001F87F0001F83F0003F03F8003F01F8007E01FC007E00FC007E00FC00FC0-07E00FC007E00F8007F01F8003F01F0003F03F0001F83F0001F83E0000F83E0000FC7C00-007C7C00007C7C00007C7800003EF800003EF000001EF000001EF000000FE000000FE000-0007C0000007C0000007800000078000000F8000000F0000001F0000001E0000003E0000-003E0000307C00003FF800003FF800003FF000003FE000000FC000001E2C7F9D21>I-E /Ff 7 117 df<FFFFFFFFFFFFFFFF0000000000000000000000007F7F7F7F7F7F7F7F-7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F08397BB814>-105 D<FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000-FE0003FE00FE0007FC00FE000FF800FE001FF000FE003FE000FE007FC000FE00FF8000FE-01FF0000FE03FE0000FE03FC0000FE07F80000FE0FF00000FE1FE00000FE3FC00000FE7F-800000FEFFC00000FFFFE00000FFFFE00000FFFFF00000FFF7F80000FFE3F80000FFC1FC-0000FF80FE0000FF00FF0000FE007F0000FE003F8000FE003FC000FE001FC000FE000FE0-00FE000FF000FE0007F000FE0003F800FE0001FC00FE0001FE00FE0000FE00FE00007F00-FE00007F80213A7AB929>107 D<0001FC00FE0FFF80FE1FFFC0FE7FFFE0FEFFFFF0FFF8-1FF8FFE007F8FFC003F8FF8003FCFF8001FCFF0001FCFF0001FCFF0001FCFE0001FCFE00-01FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE00-01FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE00-01FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FC1E267AA52B>110-D<0003FE0000000FFF8000003FFFE00000FFFFF80001FFFFFC0003FE03FE0007F800FF00-0FF0007F800FE0003F801FC0001FC03F80000FE03F80000FE03F000007E07F000007F07F-000007F07E000003F0FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE00-0003F8FE000003F8FE000003F8FE000003F87F000007F07F000007F07F000007F03F8000-0FE03F80000FE01FC0001FC01FE0003FC00FF0007F8007F800FF0003FE03FE0001FFFFFC-0000FFFFF800007FFFF000001FFFC0000003FE000025287EA62A>I<0001FC0000FE0FFF-0000FE3FFFC000FEFFFFE000FFFFFFF000FFF03FF800FFC00FF800FF8003FC00FF0003FC-00FE0001FE00FE0000FE00FE0000FF00FE00007F00FE00007F00FE00007F80FE00003F80-FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE-00003F80FE00007F00FE00007F00FE00007F00FE0000FF00FE0000FE00FE0001FE00FF00-03FC00FF8007FC00FFC00FF800FFF03FF000FFFFFFE000FEFFFFC000FE7FFF8000FE1FFE-0000FE07F80000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000-FE00000000FE0000000021367AA52B>I<0007F03F80003FFC3F8000FFFE3F8001FFFFBF-8003FFFFFF8007FE07FF800FF801FF801FF000FF801FE000FF803FC0007F803F80007F80-7F80003F807F00003F807F00003F807F00003F80FE00003F80FE00003F80FE00003F80FE-00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FF00003F807F00-003F807F00003F807F80003F803F80003F803FC0007F801FE0007F801FE000FF800FF801-FF8007FE07FF8007FFFFFF8003FFFF3F8000FFFE3F80007FF83F80001FE03F800000003F-800000003F800000003F800000003F800000003F800000003F800000003F800000003F80-0000003F800000003F800000003F800000003F800000003F800000003F800000003F8021-367DA52B>I<01FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC-000001FC000001FC0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001FC000001FC-000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC-000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC-000001FC000001FC000001FC000001FC000001FC000001FE008001FE018000FF07C000FF-FFC000FFFFC0007FFF00003FFC00001FE0001A307FAE1E>116 D-E /Fg 3 111 df<000E00001F00003F00003F00003E00001C0000000000000000000000-000000000000000000000003E00007F0000C7800187C00307C00307C00607C0060F800C0-F800C0F80001F00001F00001F00003E00003E00007C00007C00007C1800F81800F81801F-03001F03001F06000F0C000F1C0007F00003E00011287DA617>105-D<003E000007FE000007FE0000007C0000007C000000FC000000FC000000F8000000F800-0001F8000001F8000001F0000001F0000003F0000003F0078003E01FC003E0386007E061-E007E0C3E007C187E007C307E00FC607C00FCC03800FB800000FE000001FF000001FFE00-001F3F80001F0FC0003F07E0003F03E0003E03E0603E03E0607E03E0607E03C0C07C03C0-C07C03C180FC03C180FC01E300F800FE0070007C001B297CA723>107-D<07801FC0000FE07FF00018F0E0F80030F1807C0030FB007C0060FE003C0060FC003C00-60F8003C00C1F8007C00C1F0007C0001F0007C0001F0007C0003E000F80003E000F80003-E000F80003E001F00007C001F00007C001F06007C003E06007C003E0600F8007C0C00F80-07C0C00F8007C1800F8003C3001F0003C7001F0001FE000E0000F800231B7D9929>110-D E /Fh 20 120 df<000000FE000000000001FF000000000003FF800000000003FF8000-00000007FFC00000000007FFC00000000007FFC00000000007FFC0000000000FFFE00000-00000FFFE0000000000FEFE0000000000FEFE0000000000FEFE0000000001FEFF0000000-001FC7F0000000001FC7F0000000001FC7F0000000003FC7F8000000003FC7F800000000-3FC7F8000000003F83F8000000007F83FC000000007F83FC000000007F83FC000000007F-83FC000000007F01FC00000000FF01FE00000000FF01FE00000000FF01FE00000000FF01-FE00000001FE00FF00000001FE00FF00000001FE00FF00000001FE00FF00000003FE00FF-80000003FC007F80000003FC007F80000003FC007F80000003FC007F80000007F8003FC0-000007F8003FC0000007F8003FC0000007F8003FC000000FF8003FE000000FF0001FE000-000FF0001FE000000FF0001FE000000FF0001FE000001FFFFFFFF000001FFFFFFFF00000-1FFFFFFFF000001FFFFFFFF000003FFFFFFFF800003FFFFFFFF800003FFFFFFFF800003F-C00007F800007FC00007FC00007F800003FC00007F800003FC00007F800003FC00007F80-0003FC0000FF800003FE0000FF000001FE0000FF000001FE0000FF000001FE0001FF0000-01FF0001FE000000FF0001FE000000FF003FFFF0001FFFF87FFFF8003FFFFCFFFFFC007F-FFFEFFFFFC007FFFFEFFFFFC007FFFFE7FFFF8003FFFFC3FFFF0001FFFF8374B7DCA3E>-65 D<000001FF0003C000000FFFF007E000003FFFFC0FE00000FFFFFE0FE00001FFFFFF-9FE00007FFFFFFDFE0000FFFFFFFFFE0001FFF80FFFFE0003FFC001FFFE0007FF0000FFF-E0007FE00007FFE000FFC00003FFE001FF800001FFE003FF000000FFE003FE000000FFE0-07FC0000007FE007FC0000007FE00FF80000003FE00FF00000003FE01FF00000003FE01F-E00000001FE01FE00000001FE03FE00000001FE03FC00000001FE03FC00000001FE07FC0-0000000FC07F8000000000007F8000000000007F8000000000007F800000000000FF8000-00000000FF000000000000FF000000000000FF000000000000FF000000000000FF000000-000000FF000000000000FF000000000000FF000000000000FF000000000000FF00000000-0000FF000000000000FF000000000000FF000000000000FF8000000000007F8000000000-007F8000000000007F8000000000007F8000000000007FC000000000003FC00000000FC0-3FC00000001FE03FE00000001FE01FE00000001FE01FE00000001FE01FF00000001FE00F-F00000001FE00FF80000003FE007FC0000003FC007FC0000003FC003FE0000007FC003FF-0000007F8001FF800000FF8000FFC00001FF00007FE00003FE00007FF00007FE00003FFC-001FFC00001FFF80FFF800000FFFFFFFF0000007FFFFFFE0000001FFFFFFC0000000FFFF-FF000000003FFFFC000000000FFFF00000000001FF800000334B7BC93E>67-D<7FFFFFFFF000007FFFFFFFFE0000FFFFFFFFFF8000FFFFFFFFFFE000FFFFFFFFFFF800-7FFFFFFFFFFC007FFFFFFFFFFE0000FF00007FFF0000FF00000FFF8000FF000003FF8000-FF000000FFC000FF0000007FE000FF0000003FE000FF0000003FE000FF0000001FF000FF-0000000FF000FF0000000FF000FF0000000FF800FF00000007F800FF00000007F800FF00-000007F800FF00000007F800FF00000007F800FF00000007F800FF00000007F800FF0000-000FF800FF0000000FF000FF0000000FF000FF0000001FF000FF0000003FE000FF000000-3FE000FF0000007FE000FF000000FFC000FF000003FF8000FF00000FFF8000FF00007FFF-0000FFFFFFFFFE0000FFFFFFFFFC0000FFFFFFFFF80000FFFFFFFFE00000FFFFFFFF8000-00FFFFFFFE000000FFFFFFF0000000FF000000000000FF000000000000FF000000000000-FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF-000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00-0000000000FF000000000000FF000000000000FF000000000000FF000000000000FF0000-00000000FF000000000000FF000000000000FF000000000000FF00000000007FFFFE0000-00007FFFFE00000000FFFFFF00000000FFFFFF00000000FFFFFF000000007FFFFE000000-007FFFFE0000000035497DC83E>80 D<0000FFF00078000007FFFE00FC00001FFFFF81FC-00007FFFFFE1FC0000FFFFFFF9FC0001FFFFFFFFFC0003FFFFFFFFFC0007FFC03FFFFC00-0FFE0003FFFC001FF80001FFFC003FF000007FFC003FE000003FFC007FC000001FFC007F-8000001FFC007F8000000FFC00FF80000007FC00FF00000007FC00FF00000007FC00FF00-000007FC00FF00000003FC00FF00000003FC00FF00000003FC00FF80000003FC00FF8000-0001F8007FC000000000007FC000000000003FE000000000003FF000000000001FF80000-0000001FFE00000000000FFFE00000000007FFFE0000000003FFFFE000000001FFFFFE00-000000FFFFFFE00000003FFFFFF80000000FFFFFFE00000003FFFFFF000000007FFFFFC0-00000003FFFFE0000000003FFFF00000000003FFF000000000007FF800000000001FFC00-0000000007FC000000000003FE000000000003FE000000000001FF000000000000FF0000-00000000FF000000000000FF803E000000007F807F000000007F80FF000000007F80FF00-0000007F80FF000000007F80FF000000007F80FF000000007F80FF80000000FF80FF8000-0000FF00FF80000000FF00FFC0000001FF00FFE0000001FE00FFF0000003FE00FFF80000-07FC00FFFE00000FF800FFFF80003FF800FFFFFC01FFF000FFFFFFFFFFE000FFFFFFFFFF-C000FE7FFFFFFF8000FE1FFFFFFE0000FE07FFFFFC0000FC00FFFFE0000078000FFF0000-00314B7AC93E>83 D<000FFFC0000000007FFFF800000001FFFFFE00000003FFFFFF8000-0007FFFFFFE000000FFFFFFFF000000FFFFFFFF800001FFC007FFC00001FF8000FFE0000-1FF80007FE00001FF80001FF00001FF80001FF00000FF00000FF800007E000007F800000-0000007FC000000000003FC000000000003FC000000000003FC000000000003FC0000000-00003FC000000000003FC000000003FFFFC00000007FFFFFC0000003FFFFFFC000001FFF-FFFFC000007FFFFFFFC00000FFFFFFFFC00003FFFFC03FC00007FFF8003FC0000FFF8000-3FC0001FFC00003FC0003FF000003FC0003FE000003FC0007FC000003FC0007F8000003F-C000FF8000003FC000FF0000003FC000FF0000003FC000FF0000003FC000FF0000003FC0-00FF0000003FC000FF8000007FC0007F8000007FC0007FC00000FFC0003FE00003FFC000-3FF8000FFFE0001FFF00FFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFFC07FFFFFFCFFFFC01-FFFFFF07FFFC00FFFFFC03FFF8003FFFF0007FF80007FF00000000363679B43E>97-D<000007FFF00000003FFFFE000001FFFFFF800007FFFFFFC0000FFFFFFFE0001FFFFFFF-F0007FFFFFFFF000FFFC003FF801FFE0001FF803FF80001FF803FF00001FF807FE00001F-F80FFC00000FF00FF8000007E01FF0000000001FE0000000003FE0000000003FC0000000-007FC0000000007F80000000007F80000000007F8000000000FF8000000000FF00000000-00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000-00FF0000000000FF0000000000FF80000000007F80000000007F80000000007FC0000000-003FC0000000003FE0000000003FE0000000FC1FF0000001FE1FF8000001FE0FFC000001-FE07FE000003FE07FF000007FC03FFC0000FFC01FFF0001FF800FFFE00FFF0007FFFFFFF-E0003FFFFFFFC0000FFFFFFF800007FFFFFF000001FFFFFC0000007FFFF000000007FF00-002F3678B43E>99 D<00001FF800000000FFFF80000003FFFFE000000FFFFFF800001FFF-FFFC00007FFFFFFE0000FFFFFFFF0001FFF80FFF8001FFC001FFC003FF8000FFE007FE00-003FE00FFC00001FF00FF800000FF01FF000000FF81FF0000007F83FE0000007FC3FE000-0007FC7FC0000003FC7FC0000003FC7F80000003FE7F80000003FEFF80000001FEFF8000-0001FEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFF-FFFFFCFFFFFFFFFFFCFF0000000000FF8000000000FF80000000007F80000000007F8000-0000007FC0000000003FC0000000003FE0000000FC3FE0000000FC1FF0000001FE1FF800-0001FE0FFC000003FE07FE000007FE07FF00000FFC03FF80001FFC01FFE0007FF800FFFC-03FFF0007FFFFFFFE0003FFFFFFFC0001FFFFFFF800007FFFFFF000001FFFFFC0000007F-FFE000000007FF00002F3679B43E>101 D<3FFF8000000000007FFF800000000000FFFF-C00000000000FFFFC00000000000FFFFC000000000007FFFC000000000003FFFC0000000-0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F-C00000000000003FC00000000000003FC00000000000003FC00000000000003FC0000000-0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F-C00000000000003FC007FC000000003FC03FFF800000003FC0FFFFE00000003FC3FFFFF0-0000003FC7FFFFF80000003FCFFFFFFC0000003FDFFFFFFE0000003FFFF80FFE0000003F-FFC003FF0000003FFF0001FF0000003FFE0000FF0000003FFC0000FF8000003FF80000FF-8000003FF800007F8000003FF000007F8000003FF000007F8000003FE000007F8000003F-E000007F8000003FE000007F8000003FC000007F8000003FC000007F8000003FC000007F-8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003F-C000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F-8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003F-C000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F-8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003F-C000007F80003FFFFFC07FFFFF807FFFFFE0FFFFFFC0FFFFFFF0FFFFFFE0FFFFFFF0FFFF-FFE0FFFFFFF0FFFFFFE07FFFFFE0FFFFFFC03FFFFFC07FFFFF803B497FC83E>104-D<00003E00000000007F0000000000FF8000000001FFC000000001FFC000000001FFC000-000001FFC000000001FFC000000000FF80000000007F00000000003E0000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000000000000003FFFFF8000-007FFFFF8000007FFFFFC000007FFFFFC000007FFFFFC000007FFFFFC000003FFFFFC000-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000-0000003FC000007FFFFFFFFF80FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFF-C0FFFFFFFFFFC07FFFFFFFFF802A4A76C93E>I<7FFFFFC00000FFFFFFC00000FFFFFFE0-0000FFFFFFE00000FFFFFFE00000FFFFFFE000007FFFFFE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0-000000001FE0000000001FE0000000001FE000007FFFFFFFFFF8FFFFFFFFFFFCFFFFFFFF-FFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC7FFFFFFFFFF82E4978C83E>108-D<00000FC0007E00007FF07FF003FF8000FFF0FFFC07FFE000FFFBFFFE1FFFF000FFFFFF-FE3FFFF000FFFFFFFF7FFFF800FFFFFFFF7FFFF8007FFFF07FFF83FC0003FFC03FFE01FC-0003FF803FFC01FC0003FF003FF801FE0003FF001FF800FE0003FE001FF000FE0003FE00-1FF000FE0003FC001FE000FE0003FC001FE000FE0003FC001FE000FE0003FC001FE000FE-0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F800-1FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE-0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F800-1FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE-0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F800-1FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE-007FFFC0FFFE07FFF0FFFFE1FFFF0FFFF8FFFFE3FFFF1FFFF8FFFFE3FFFF1FFFF8FFFFE3-FFFF1FFFF8FFFFE1FFFF0FFFF87FFFC0FFFE07FFF03D3480B33E>I<00000007FC000000-3FFF803FFF8000007FFF80FFFFE00000FFFFC3FFFFF00000FFFFC7FFFFF80000FFFFCFFF-FFFC00007FFFDFFFFFFE00003FFFFFF80FFE0000003FFFC003FF0000003FFF0001FF0000-003FFE0000FF0000003FFC0000FF8000003FF80000FF8000003FF800007F8000003FF000-007F8000003FF000007F8000003FE000007F8000003FE000007F8000003FE000007F8000-003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000-007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000-003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000-007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000-003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000-007F8000003FC000007F8000003FC000007F8000003FC000007F80003FFFFFC07FFFFF80-7FFFFFE0FFFFFFC0FFFFFFF0FFFFFFE0FFFFFFF0FFFFFFE0FFFFFFF0FFFFFFE07FFFFFE0-FFFFFFC03FFFFFC07FFFFF803B347FB33E>I<00001FF000000000FFFE00000003FFFF80-00000FFFFFE000001FFFFFF000007FFFFFFC0000FFFFFFFE0001FFF01FFF0001FFC007FF-0003FF0001FF8007FE0000FFC00FFC00007FE00FF800003FE01FF000001FF01FE000000F-F03FE000000FF83FC0000007F83FC0000007F87F80000003FC7F80000003FC7F80000003-FC7F80000003FCFF00000001FEFF00000001FEFF00000001FEFF00000001FEFF00000001-FEFF00000001FEFF00000001FEFF00000001FEFF00000001FEFF00000001FEFF80000003-FE7F80000003FC7F80000003FC7FC0000007FC7FC0000007FC3FC0000007F83FE000000F-F81FF000001FF01FF000001FF00FF800003FE00FFC00007FE007FE0000FFC007FF0001FF-C003FFC007FF8001FFF01FFF0000FFFFFFFE00007FFFFFFC00003FFFFFF800000FFFFFE0-000003FFFF80000000FFFE000000001FF000002F3679B43E>I<00001FF800FC00000000-FFFE00FC00000003FFFF81FE0000000FFFFFE1FE0000001FFFFFF1FE0000003FFFFFF9FE-0000007FFFFFFDFE000000FFF80FFFFE000001FFC001FFFE000003FF80007FFE000007FE-00003FFE00000FFC00001FFE00000FF800001FFE00001FF000000FFE00001FF0000007FE-00003FE0000007FE00003FC0000003FE00007FC0000003FE00007F80000003FE00007F80-000001FE00007F80000001FE0000FF80000001FE0000FF00000001FE0000FF00000001FE-0000FF00000001FE0000FF00000001FE0000FF00000001FE0000FF00000001FE0000FF00-000001FE0000FF00000001FE0000FF00000001FE0000FF80000001FE00007F80000001FE-00007F80000003FE00007F80000003FE00007FC0000003FE00003FC0000007FE00003FE0-000007FE00001FE000000FFE00001FF000000FFE00000FF800001FFE00000FFC00003FFE-000007FE00007FFE000007FF0000FFFE000003FFC003FFFE000001FFF01FFFFE000000FF-FFFFFDFE0000007FFFFFF9FE0000003FFFFFE1FE0000000FFFFFC1FE00000007FFFF81FE-00000001FFFE01FE000000003FF001FE00000000000001FE00000000000001FE00000000-000001FE00000000000001FE00000000000001FE00000000000001FE00000000000001FE-00000000000001FE00000000000001FE00000000000001FE00000000000001FE00000000-000001FE00000000000001FE00000000000001FE00000000000001FE00000000000001FE-00000000000001FE00000000000001FE00000000000001FE000000000003FFFFFF000000-0003FFFFFF0000000007FFFFFF8000000007FFFFFF8000000007FFFFFF8000000003FFFF-FF0000000003FFFFFF00394F7BB33E>113 D<0000000007FE003FFFF8007FFFC07FFFF8-01FFFFE0FFFFFC07FFFFF0FFFFFC0FFFFFF0FFFFFC1FFFFFF87FFFFC3FFFFFF83FFFFC7F-FC0FF80003FCFFC00FF80003FDFF0007F00003FFFE0003E00003FFF80000000003FFF000-00000003FFE00000000003FFE00000000003FFC00000000003FF800000000003FF800000-000003FF000000000003FF000000000003FE000000000003FE000000000003FE00000000-0003FE000000000003FC000000000003FC000000000003FC000000000003FC0000000000-03FC000000000003FC000000000003FC000000000003FC000000000003FC000000000003-FC000000000003FC000000000003FC000000000003FC000000000003FC000000000003FC-000000000003FC000000000003FC000000000003FC000000000003FC000000000003FC00-0000000003FC000000003FFFFFFFFC00007FFFFFFFFE0000FFFFFFFFFE0000FFFFFFFFFE-0000FFFFFFFFFE00007FFFFFFFFE00003FFFFFFFFC000035347CB33E>I<0001FFF00F00-001FFFFE1F8000FFFFFFBF8003FFFFFFFF8007FFFFFFFF800FFFFFFFFF801FFFFFFFFF80-3FFE003FFF803FF00007FF807FC00001FF807F000000FF80FF000000FF80FE0000007F80-FE0000007F80FE0000007F80FE0000007F80FF0000007F80FF0000003F007FC000000000-7FF0000000003FFE000000001FFFF00000000FFFFFC0000007FFFFFE000003FFFFFF8000-00FFFFFFE000003FFFFFF8000007FFFFFC0000003FFFFE00000000FFFF0000000007FF80-00000000FFC03E0000003FE07F0000001FE0FF0000000FE0FF0000000FF0FF80000007F0-FF80000007F0FF80000007F0FFC0000007F0FFC0000007F0FFE000000FF0FFF000000FE0-FFF000001FE0FFFC00003FC0FFFE0000FFC0FFFFC00FFF80FFFFFFFFFF00FFFFFFFFFE00-FEFFFFFFFC00FE3FFFFFF800FE1FFFFFE000FC07FFFF800078007FF800002C3677B43E>-I<00007C000000000000FC000000000001FE000000000001FE000000000001FE00000000-0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000-01FE000000000001FE000000000001FE000000000001FE000000000001FE000000003FFF-FFFFFFFC007FFFFFFFFFFC00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE007FFFFF-FFFFFC007FFFFFFFFFFC000001FE000000000001FE000000000001FE000000000001FE00-0000000001FE000000000001FE000000000001FE000000000001FE000000000001FE0000-00000001FE000000000001FE000000000001FE000000000001FE000000000001FE000000-000001FE000000000001FE000000000001FE000000000001FE000000000001FE00000000-0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000-01FE00003F000001FE00003F000001FE00007F800001FE00007F800001FE00007F800001-FE00007F800001FE00007F800001FE00007F800001FE00007F800001FF0000FF800000FF-0000FF000000FF8001FF000000FFC007FE0000007FF01FFE0000007FFFFFFC0000003FFF-FFF80000001FFFFFF00000000FFFFFE000000007FFFF8000000001FFFE00000000003FF0-000031437DC13E>I<3FFF80007FFF00007FFF8000FFFF0000FFFFC001FFFF8000FFFFC0-01FFFF8000FFFFC001FFFF80007FFFC000FFFF80003FFFC0007FFF8000003FC000007F80-00003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC0-00007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F80-00003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC0-00007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F80-00003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC0-00007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F80-00003FC000007F8000003FC000007F8000003FC00000FF8000003FC00000FF8000003FC0-0001FF8000003FC00003FF8000003FE00003FF8000001FE0000FFF8000001FF0001FFF80-00001FFE00FFFFFF80000FFFFFFFFFFFC00007FFFFFFFFFFE00007FFFFFF7FFFE00001FF-FFFE7FFFE00000FFFFF83FFFC000003FFFE03FFF80000007FF000000003B347FB23E>I<-7FFFF8003FFFFCFFFFFC007FFFFEFFFFFE00FFFFFEFFFFFE00FFFFFEFFFFFE00FFFFFEFF-FFFC007FFFFE7FFFF8003FFFFC00FE000000FE0000FE000000FE0000FF000001FE00007F-000001FC00007F000001FC00007F800003FC00003F800003F800003F800003F800003FC0-0007F800001FC00007F000001FC00007F000001FE0000FF000000FE0000FE000000FE000-0FE000000FF0001FE0000007F0001FC0000007F0001FC0000007F8003FC0000003F8003F-80000003F8003F80000003FC007F80000001FC007F00000001FC007F00000001FE00FF00-000000FE00FE00000000FE00FE00000000FF01FE000000007F01FC000000007F01FC0000-00007F83FC000000003F83F8000000003F83F8000000003FC7F8000000001FC7F0000000-001FC7F0000000001FEFF0000000000FEFE0000000000FEFE0000000000FFFE000000000-07FFC00000000007FFC00000000007FFC00000000003FF800000000001FF000000000000-FE00000037347DB23E>I<7FFFFC001FFFFF00FFFFFC001FFFFF80FFFFFE003FFFFF80FF-FFFE003FFFFF80FFFFFE003FFFFF80FFFFFC001FFFFF807FFFFC001FFFFF0003F8000000-0FE00003F80000000FE00003F80000000FE00003F80000000FE00003F80000000FE00001-FC0000001FC00001FC0000001FC00001FC0000001FC00001FC0000001FC00001FC000000-1FC00001FC0000001FC00000FE0000003F800000FE0000003F800000FE003E003F800000-FE007F003F800000FE00FF803F800000FE01FFC03F8000007F01FFC07F0000007F01FFC0-7F0000007F01FFC07F0000007F03FFE07F0000007F03F7E07F0000007F03F7E07F000000-3F87F7F0FE0000003F87F7F0FE0000003F87E3F0FE0000003F87E3F0FE0000003F8FE3F8-FE0000003F8FE3F8FE0000001F8FE3F8FC0000001FCFC1F9FC0000001FCFC1F9FC000000-1FDFC1FDFC0000001FDFC1FDFC0000000FDF80FDF80000000FDF80FDF80000000FFF80FF-F80000000FFF80FFF80000000FFF007FF80000000FFF007FF800000007FF007FF0000000-07FE003FF000000007FE003FF000000003FC001FE000000001F8000FC0000039347EB23E->I E /Fi 5 55 df<7FFFFFFFFFFF80FFFFFFFFFFFFC0FFFFFFFFFFFFC07FFFFFFFFFFF-803204799641>0 D<000FE000007FFC0000FFFE0003FFFF8007F83FC00FC007E01F8003-F03F0001F83E0000F87C00007C7C00007C7800003CF800003EF800003EF000001EF00000-1EF000001EF000001EF800003EF800003E7800003C7C00007C7C00007C3E0000F83F0001-F81F8003F00FC007E007F83FC003FFFF8000FFFE00007FFC00000FE0001F207BA42A>14-D<000FE000007FFC0000FFFE0003FFFF8007FFFFC00FFFFFE01FFFFFF03FFFFFF83FFFFF-F87FFFFFFC7FFFFFFC7FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFF-FEFFFFFFFEFFFFFFFE7FFFFFFC7FFFFFFC7FFFFFFC3FFFFFF83FFFFFF81FFFFFF00FFFFF-E007FFFFC003FFFF8000FFFE00007FFC00000FE0001F207BA42A>I<00000000003C0000-0000000000003C00000000000000003E00000000000000001E00000000000000001F0000-0000000000000F00000000000000000F800000000000000007C00000000000000003C000-00000000000003E00000000000000001F00000000000000000F800000000000000007C00-007FFFFFFFFFFFFE0000FFFFFFFFFFFFFF0000FFFFFFFFFFFFFF80007FFFFFFFFFFFFFC0-0000000000000003F00000000000000001F80000000000000000FE00000000000000003F-80000000000000001FE00000000000000007F80000000000000001FF0000000000000001-FF0000000000000007F8000000000000001FE0000000000000003F8000000000000000FE-0000000000000001F80000000000000003F0007FFFFFFFFFFFFFC000FFFFFFFFFFFFFF80-00FFFFFFFFFFFFFF00007FFFFFFFFFFFFE00000000000000007C0000000000000000F800-00000000000001F00000000000000003E00000000000000003C00000000000000007C000-0000000000000F80000000000000000F00000000000000001F00000000000000001E0000-0000000000003E00000000000000003C00000000000000003C00000048307BAC53>41-D<0000000001800000000003C00000000007C00000000007C0000000000F80000000000F-80000000001F00000000001F00000000003E00000000003E00000000007C00000000007C-0000000000F80000000000F80000000001F00000000001F00000000003E00000000003E0-0000000007C0000000000FC0000000000F80000000001F00000000001F00000000003E00-000000003E00000000007C00000000007C0000000000F80000000000F80000000001F000-00000001F00000000003E00000000003E00000000007C00000000007C0000000000F8000-0000000F80000000001F00000000001F00000000003E00000000003E00000000007C0000-0000007C0000000000F80000000000F80000000001F00000000001F00000000003E00000-000003E00000000007C00000000007C0000000000F80000000000F80000000001F000000-00001F00000000003E00000000003E00000000007C0000000000FC0000000000F8000000-0001F00000000001F00000000003E00000000003E00000000007C00000000007C0000000-000F80000000000F80000000001F00000000001F00000000003E00000000003E00000000-007C00000000007C0000000000F80000000000F80000000000F000000000006000000000-002A4E75BB00>54 D E /Fj 17 123 df<0003800000000007E0000700000FE0000F8000-0FE0001F80000FC0001F80000FC0001F80001FC0003F80001FC0003F80001F80003F0000-1F80003F00003F80007F00003F80007F00003F00007E00003F00007E00007F0000FE0000-7F0000FE00007E0000FC00007E0000FC0000FE0001FC0000FE0001FC0000FC0001F80000-FC0001F80001FC0003F80001FC0003F80001F80003F01801F80003F01803F80007F01803-F80007F03803F80007E03003F8000FE03007F8000FE07007F8001FE06007F8003FE06007-FC0077E0E00FFE00E3E1C00FFF03C1F3800FCFFF00FF000FC3FC003E001FC0000000001F-C0000000001F80000000001F80000000003F80000000003F80000000003F00000000003F-00000000007F00000000007F00000000007E00000000007E0000000000FE0000000000FE-0000000000FC0000000000FC00000000007000000000002D377EA432>22-D<1C007F00FF80FF80FF80FF80FF807F001C000909798817>58 D<1C007F00FF80FF80FF-C0FFC0FFC07FC01CC000C000C000C000C001C00180018003800300070006000E001C0038-00700060000A19798817>I<00000000006000000000000070000000000000F000000000-0001F0000000000001F0000000000003F0000000000003F0000000000007F00000000000-0FF000000000000FF000000000001FF800000000001FF8000000000033F8000000000073-F8000000000063F80000000000C3F80000000000C3F8000000000183F8000000000183F8-000000000303F8000000000603F8000000000603FC000000000C03FC000000000C01FC00-0000001801FC000000003001FC000000003001FC000000006001FC000000006001FC0000-0000C001FC00000001C001FC000000018001FC000000030001FE000000030001FE000000-060000FE0000000E0000FE0000000C0000FE000000180000FE0000001FFFFFFE0000003F-FFFFFE0000003FFFFFFE000000600000FE000000C00000FE000000C00000FF0000018000-00FF0000018000007F0000030000007F0000060000007F0000060000007F00000C000000-7F00000C0000007F0000180000007F0000380000007F0000700000007F0000F00000007F-8001F80000007F8007F8000000FF80FFFF80003FFFFFFFFF80007FFFFFFFFF80007FFFFF-383C7DBB3E>65 D<0003FFFFFFFF80000007FFFFFFFFF0000007FFFFFFFFFC00000007F8-0003FE00000007F00000FF00000007F000007F8000000FF000003FC000000FF000001FC0-00000FE000001FE000000FE000001FE000001FE000001FE000001FE000001FE000001FC0-00001FE000001FC000001FE000003FC000001FE000003FC000001FC000003F8000003FC0-00003F8000003F8000007F8000007F8000007F8000007F0000007F000000FE0000007F00-0001FC000000FF000003F8000000FF00000FF0000000FE00001FC0000000FE0000FF0000-0001FFFFFFFC00000001FFFFFFF800000001FC0000FF00000001FC00003FC0000003FC00-000FE0000003FC000007F0000003F8000007F0000003F8000003F8000007F8000003F800-0007F8000003FC000007F0000001FC000007F0000001FC00000FF0000001FC00000FF000-0003FC00000FE0000003FC00000FE0000003FC00001FE0000003FC00001FE0000007F800-001FC0000007F800001FC000000FF000003FC000000FF000003FC000001FE000003F8000-003FC000003F8000007F8000007F800000FF0000007F800001FE0000007F000007FC0000-00FF00003FF00000FFFFFFFFFFC00000FFFFFFFFFF000000FFFFFFFFF80000003B397DB8-3F>I<0003FFFFFFFFFFE00007FFFFFFFFFFE00007FFFFFFFFFFE0000007F800003FE000-0007F000000FE0000007F0000003C000000FF0000003C000000FF0000001C000000FE000-0001C000000FE0000001C000001FE0000001C000001FE0000001C000001FC0000001C000-001FC00000018000003FC00000018000003FC00000018000003F800000018000003F8000-60018000007F8000E0018000007F8000E0000000007F0000C0000000007F0000C0000000-00FF0001C000000000FF0001C000000000FE00038000000000FE00078000000001FE001F-8000000001FFFFFF8000000001FFFFFF0000000001FFFFFF0000000003FC001F00000000-03FC000F0000000003F8000E0000000003F8000E0000000007F8000E0000000007F8000E-0000000007F0000C0000000007F0000C000000000FF0001C000000000FF0001C00000000-0FE00000000000000FE00000000000001FE00000000000001FE00000000000001FC00000-000000001FC00000000000003FC00000000000003FC00000000000003F80000000000000-3F800000000000007F800000000000007F800000000000007F00000000000000FF800000-000000FFFFFFC000000000FFFFFFC000000000FFFFFFC0000000003B397DB835>70-D<03FFFFFFFFFFFE03FFFFFFFFFFFE07FFFFFFFFFFFE07F8003FC001FE07C0003F80007E-0F80003F80003C0F00007F80001C1E00007F80001C1C00007F00001C1C00007F00001C38-0000FF00001C380000FF00001C300000FE00001C700000FE000018600001FE000018E000-01FE000018C00001FC000018C00001FC000018C00003FC000018000003FC000000000003-F8000000000003F8000000000007F8000000000007F8000000000007F0000000000007F0-00000000000FF000000000000FF000000000000FE000000000000FE000000000001FE000-000000001FE000000000001FC000000000001FC000000000003FC000000000003FC00000-0000003F8000000000003F8000000000007F8000000000007F8000000000007F00000000-00007F000000000000FF000000000000FF000000000000FE000000000000FE0000000000-01FE000000000001FE000000000001FC000000000001FC000000000003FC000000000003-FC000000000003F800000000000FFC000000003FFFFFFF0000007FFFFFFF0000007FFFFF-FF00000037397EB831>84 D<00003FC00001FFF00007E03C000F800E003F0007007E001F-00FC007F01F800FF03F000FF07E000FF0FE000FF0FC000FE1FC000383F8000003F800000-7F8000007F0000007F0000007F000000FF000000FE000000FE000000FE000000FE000000-FC000000FC000000FC000000FC000003FC0000077E0000067E00000E3E00003C3F000070-1F0000E00F8007C007C03F0001FFF800003FC00020267DA424>99-D<00000000F80000000003FE000000000F87000000001F0F800000003E3F800000003E7F-800000007C7F800000007C7F80000000FC7F80000000FC7F00000000FC1C00000001F800-00000001F80000000001F80000000001F80000000003F80000000003F00000000003F000-00000003F00000000003F00000000007F00000000007E00000000007E000000007FFFFF0-000007FFFFF0000007FFFFF00000000FE0000000000FC0000000000FC0000000000FC000-0000000FC0000000001FC0000000001F80000000001F80000000001F80000000001F8000-0000003F80000000003F00000000003F00000000003F00000000003F00000000007F0000-0000007E00000000007E00000000007E00000000007E00000000007E0000000000FE0000-000000FC0000000000FC0000000000FC0000000000FC0000000001FC0000000001F80000-000001F80000000001F80000000001F80000000003F00000000003F00000000003F00000-000003F00000000003E00000000007E00000000007E00000000007C00000001E07C00000-003F07C00000007F8F800000007F8F80000000FF8F00000000FF1E00000000FE1E000000-007C3C000000007878000000001FF00000000007C000000000294C7CBA29>102-D<000007E00000001FF80000007C1C380001F80EFC0003F007FC0007E003FC000FC003FC-001F8001FC003F0001F8007F0001F8007E0003F800FE0003F800FE0003F001FC0003F001-FC0007F003FC0007F003F80007E003F80007E003F8000FE007F8000FE007F0000FC007F0-000FC007F0001FC007F0001FC007E0001F8007E0001F8007E0003F8007E0003F8007E000-3F0003E0007F0003F000FF0001F001FF0001F003FE0000F8077E00007C1EFE00001FF8FE-000007E0FC00000000FC00000001FC00000001FC00000001F800000001F800000003F800-1E0003F0003F0003F0007F8007F0007F8007E000FF800FC000FF001F8000FE003F00007C-007E00003C01F800001FFFE0000003FF00000026367FA428>I<0003F0000001FFF00000-01FFF0000001FFF000000007F000000007E000000007E000000007E00000000FE0000000-0FC00000000FC00000000FC00000001FC00000001F800000001F800000001F800000003F-800000003F000000003F000000003F000000007F000000007E0007C0007E001FF0007E00-783800FE00E0F800FC01C1FC00FC0383FC00FC0707FC01FC0E07FC01F81C07F801F83803-F001F87001E003F8E0000003F1C0000003F380000003F700000007FE00000007FE000000-07FFE0000007E7F800000FE0FE00000FC07F00000FC03F80000FC01F80001FC01FC0001F-800FC0301F800FC0301F800FC0703F801FC0603F001F80603F001F80603F001F80E07F00-1F80C07E001F81C07E000F81807E000F8380FE00078700FC0003FE00380000F800263B7C-B92B>107 D<03E0007F0000FE000007F801FFE003FFC0000E3C0781F00F03E0001C3E1E-00F83C01F000383F3800FC7001F800303F7000FCE001F800303FE0007DC000F800703FC0-007F8000F800603F80007F0000F800603F80007F0000F800E03F0000FE0001F800C07F00-00FE0001F800C07E0000FC0001F800C07E0000FC0001F800007E0001FC0003F80000FE00-01FC0003F00000FC0001F80003F00000FC0001F80003F00000FC0003F80007F00001FC00-03F80007E00001F80003F00007E00001F80003F0000FE00001F80007F0000FC00003F800-07F0000FC00003F00007E0001FC06003F00007E0001F806003F0000FE0003F80E007F000-0FE0003F00C007E0000FC0003F00C007E0000FC0003F01C007E0001FC0003E01800FE000-1FC0003E03800FC0001F80003E03000FC0001F80003E07000FC0003F80003E0E001FC000-3F80001E1C001F80003F00000FF8000700000E000003E00043267EA449>109-D<03E0007F000007F801FFE0000E3C0781F0001C3E1E00F800383F3800FC00303F7000FC-00303FE0007C00703FC0007C00603F80007C00603F80007C00E03F0000FC00C07F0000FC-00C07E0000FC00C07E0000FC00007E0001FC0000FE0001F80000FC0001F80000FC0001F8-0000FC0003F80001FC0003F00001F80003F00001F80007F00001F80007E00003F80007E0-0003F0000FE03003F0000FC03003F0001FC07007F0001F806007E0001F806007E0001F80-E007E0001F00C00FE0001F01C00FC0001F01800FC0001F03800FC0001F07001FC0000F0E-001F800007FC0007000001F0002C267EA432>I<0001C0000003E0000007E0000007E000-0007E0000007E000000FE000000FC000000FC000000FC000001FC000001F8000001F8000-001F8000003F8000003F00007FFFFF807FFFFF80FFFFFF80007E0000007E0000007E0000-00FE000000FC000000FC000000FC000001FC000001F8000001F8000001F8000003F80000-03F0000003F0000003F0000007F0000007E0000007E0000007E000000FE000000FC00600-0FC006000FC00E001FC00C001F801C001F8018001F8038001F8070001F8060001F80E000-0F81C0000787800003FE000000F8000019357EB31E>116 D<0007E001F000001FF807FC-0000783E0E0F0000E01F1C1F0001C01F383F8003800FF07F8003000FE0FF8007000FE0FF-800E000FC0FF000C000FC07E000C001FC03C001C001F80000018001F80000018001F8000-0000003F80000000003F80000000003F00000000003F00000000007F00000000007F0000-0000007E00000000007E0000000000FE0000000000FE0000000000FC000C000000FC000C-000001FC001C001E01FC0018003F01F80018007F81F80038007F83F8007000FF83F80060-00FF07F800E000FE0E7C01C0007C1C7C03800078383E0F00001FF00FFC000007C003F000-0029267EA42F>120 D<00F800000003FE000070070F0000F80E0F8001F81C0F8001F818-0F8001F8380F8003F8300F8003F0701F8003F0601F8003F0603F8007F0E03F0007E0C03F-0007E0C07F0007E0007E000FE0007E000FC000FE000FC000FC000FC000FC001FC001FC00-1F8001F8001F8001F8001F8001F8003F8003F8003F0003F0003F0003F0003F0003F0007F-0003F0007E0003F0007E0003F0007E0003F000FE0003F000FC0003F001FC0001F003FC00-00F807FC00007C1FF800003FF9F800000FE1F800000003F800000003F000000003F0000E-0007F0003F8007E0007F800FC0007F800FC0007F801F80007F801F00007F003E00007C00-7C00007000F800003801F000001E07C000000FFF00000001FC00000025367EA429>I<00-01E00060000FF800E0001FFC00C0003FFE01C0007FFF038000FFFF070000F81FFF0001E0-03FE0001C0001C0001800038000180007000000000E000000001C0000000038000000007-000000000E000000001C000000003800000000F000000001E00000000380000000070000-00000E000000001C0000000038000300007000030000E000070001C00006000380000E00-0700001C000FFC007C001FFF81F8001E0FFFF8003807FFF0007003FFE0006003FFC000E0-01FF0000C0007C000023267DA427>I E /Fk 36 122 df<000380000FC0001FC0003F80-00FF0000FE0001F80003F80007F0000FE0000FC0001F80001F80003F00003F00003E0000-7E00007E00007C00007C0000FC0000FC0000F80000F80000F80000F80000F80000F80000-F80000F80000FC0000FC00007C00007C00007E00007E00003E00003F00003F00001F8000-1F80000FC0000FE00007F00003F80001F80000FE0000FF00003F80001FC0000FC0000380-123476AD23>40 D<700000FC0000FE00007F00003FC0001FC00007E00007F00003F80001-FC0000FC00007E00007E00003F00003F00001F00001F80001F80000F80000F80000FC000-0FC00007C00007C00007C00007C00007C00007C00007C00007C0000FC0000FC0000F8000-0F80001F80001F80001F00003F00003F00007E00007E0000FC0001FC0003F80007F00007-E0001FC0003FC0007F0000FE0000FC000070000012347AAD23>I<1F003F807FC07FE07F-E07FE07FE03FE01FE007E007E00FC01FC07F80FF00FE00FC0070000B12748823>44-D<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A067C9623>I<3E007F00-FF80FF80FF80FF80FF807F003E000909738823>I<001800003C00007C00007C0000FC00-01FC0003FC0007FC007FFC00FFFC00FFFC00FF7C007C7C00007C00007C00007C00007C00-007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00-007C00007C00007C00007C00007C00007C00007C00007C007FFFFC7FFFFE7FFFFE7FFFFE-7FFFFC172A7AA923>49 D<007FC00003FFF00007FFFC001FFFFE003FFFFF807F80FF807E-003FC0FE000FE0FC0007E0FE0003F0FE0003F0FE0003F0FE0001F07C0001F0380001F000-0001F0000003F0000003F0000007E0000007E000000FC000001FC000003F8000003F0000-00FE000001FE000003F8000007F000000FE000003FC000007F800000FE000001FC000003-F800000FF000E01FE001F03F8001F07FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE01C-2A7DA923>I<007FC00001FFF00007FFFC000FFFFE001FFFFF003FE07F803F801FC03F80-0FC03F8007C03F8007C03F8007C00E0007C000000FC000000FC000001F8000003F800001-FF00007FFE0000FFFC0000FFF80000FFFC00007FFF0000007F8000001FC000000FE00000-07E0000003F0000003F0000001F0000001F07C0001F0FE0001F0FE0003F0FE0003F0FE00-07E0FC000FE0FE001FC07FC07FC03FFFFF801FFFFF000FFFFC0003FFF800007FC0001C2B-7DA923>I<3E007F00FF80FF80FF80FF80FF807F003E0000000000000000000000000000-0000000000000000003E007F00FF80FF80FF80FF80FF807F003E00091D739C23>58-D<1F003F807FC07FC07FC07FC07FC03F801F000000000000000000000000000000000000-00000000001E003F807F807FC07FC07FC07FC03FC01FC00FC00FC01F803F807F00FF00FE-00F80070000A26749C23>I<000FC000000FC000001FE000001FE000001FE000001FE000-003CF000003CF000003CF000003CF000003CF000007CF800007CF800007CF80000787800-00F87C0000F87C0000F87C0000F87C0000F87C0001F03E0001F03E0001F03E0001F03E00-03F03F0003E01F0003E01F0003FFFF0003FFFF0007FFFF8007FFFF8007FFFF8007C00F80-0FC00FC00F8007C00F8007C00F8007C07FF03FF8FFF03FFCFFF03FFCFFF03FFC7FF03FF8-1E2A7EA923>65 D<FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE007C00007C00007C00007C0000-7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000-7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000-7C00007C00007C00FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE17297AA823>73-D<03FFF0000FFFFC001FFFFE003FFFFF003FFFFF007F807F807E001F807C000F807C000F-80FC000FC0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007-C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007-C0F80007C0F80007C0F80007C0F80007C0F80007C0FC000FC0FC000FC07C000F807C000F-807E001F807F807F803FFFFF003FFFFF001FFFFE000FFFFC0003FFF0001A2B7CA923>79-D<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A067C7E23>95-D<03FF80000FFFE0001FFFF8003FFFFC003FFFFE003F80FF003F803F801F001F8000001F-8000000F800000FF80007FFF8003FFFF800FFFFF801FFFFF807FF00F807F000F80FC000F-80FC000F80F8000F80F8001F80FC001F80FE003F807F81FF807FFFFFFC3FFFFFFE1FFFFF-FE07FFC7FE01FE01FC1F1D7D9C23>97 D<FF800000FFC00000FFC00000FFC00000FFC000-0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C1FC0007C7FF-0007DFFFC007FFFFE007FFFFF007FE0FF807F803F807F001FC07E000FC07E000FC07C000-7E07C0007E07C0003E07C0003E07C0003E07C0003E07C0003E07C0007E07E0007E07E000-FC07F000FC07F001FC07F803F807FE0FF007FFFFF007FFFFE007DFFF8007CFFF000383F8-001F297FA823>I<003FF00000FFFC0003FFFF0007FFFF000FFFFF001FE07F003F807F00-7F003E007E0000007E000000FC000000FC000000F8000000F8000000F8000000F8000000-F8000000FC000000FC0000007E0007007F000F807F001F803FC01F801FF07F000FFFFF00-07FFFE0003FFFC0000FFF000003FC000191D7B9C23>I<0000FF800000FFC00000FFC000-00FFC00000FFC0000007C0000007C0000007C0000007C0000007C0000007C0000007C000-7F87C001FFE7C003FFF7C00FFFFFC01FFFFFC01FE0FFC03F803FC07F001FC07E000FC07E-000FC0FC0007C0FC0007C0F80007C0F80007C0F80007C0F80007C0F80007C0FC000FC0FC-000FC07E000FC07E001FC07F003FC03F807FC03FE0FFC01FFFFFFE0FFFFFFE03FFF7FE01-FFC7FE007F03FE1F297EA823>I<003FC00000FFF80003FFFC0007FFFF000FFFFF801FF0-7F803F801FC03F000FC07E0007C07E0007E0FC0007E0FFFFFFE0FFFFFFE0FFFFFFE0FFFF-FFE0FFFFFFC0F8000000FC000000FC0000007E0001C07F0003E03F8007E03FE007E01FF8-1FC00FFFFFC007FFFF8001FFFE00007FFC00001FE0001B1D7D9C23>I<00007F000001FF-C00007FFE0000FFFE0001FFFE0003FCFE0003F0FE0003E07C0003E0000003E0000003E00-00003E00007FFFFF80FFFFFFC0FFFFFFC0FFFFFFC07FFFFF80003E0000003E0000003E00-00003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00-00003E0000003E0000003E0000003E0000003E0000003E0000003E00003FFFFE007FFFFF-007FFFFF007FFFFF003FFFFE001B297EA823>I<000001F0003F07FC00FFDFFE03FFFFFE-07FFFFFE0FFFFF7E1FE1FE7E1F807E183F003F003F003F003E001F003E001F003E001F00-3E001F003F003F003F003F001F807E001FE1FE000FFFFC001FFFF8001FFFF0001EFFC000-1E3F00001E0000001F0000001F4000000FFFFC000FFFFF801FFFFFC03FFFFFF07E0007F8-7C0000F8F800007CF800007CF000003CF000003CF000003CF800007CFC0000FC7F0003F8-7FE01FF83FFFFFF00FFFFFC007FFFF8001FFFE00003FF0001F2E7E9D23>I<FF800000FF-C00000FFC00000FFC00000FFC0000007C0000007C0000007C0000007C0000007C0000007-C0000007C0000007C1FC0007C7FF0007DFFF8007FFFFC007FFFFC007FE0FE007F807E007-F003E007E003E007E003E007E003E007C003E007C003E007C003E007C003E007C003E007-C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0FFFE1FFFFF-FE3FFFFFFE3FFFFFFE3FFFFFFE1FFF20297FA823>I<00380000FE0000FE0000FE0000FE-0000FE000038000000000000000000000000000000000000007FFC00FFFE00FFFE00FFFE-007FFE00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E-00003E00003E00003E00003E00003E00003E00003E00003E007FFFFEFFFFFFFFFFFFFFFF-FF7FFFFE182A7AA923>I<7F800000FFC00000FFC00000FFC000007FC0000003C0000003-C0000003C0000003C0000003C0000003C0000003C0000003C0FFFC03C1FFFC03C1FFFC03-C1FFFC03C0FFFC03C03F0003C07E0003C0FC0003C1F80003C3F00003C7E00003CFC00003-DFE00003FFF00003FFF00003FCF80003F8FC0003F07E0003E03E0003C01F0003C01F8003-C00FC003C007C003C003E07FFE0FFFFFFF1FFFFFFF1FFFFFFF1FFF7FFE0FFF20297FA823->107 D<7FFE0000FFFF0000FFFF0000FFFF00007FFF0000001F0000001F0000001F0000-001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000-001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000-001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000-001F00007FFFFFC0FFFFFFE0FFFFFFE0FFFFFFE07FFFFFC01B297CA823>I<7E1F01F000-FF7FC7FC00FFFFEFFE00FFFFFFFE007FFFFFFF000FE1FE1F000FC1FC1F000FC0FC0F000F-80F80F000F80F80F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00-F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F0-0F000F00F00F007FE3FE3FE0FFF3FF3FF0FFF3FF3FF0FFF3FF3FF07FE3FE3FE0241D819C-23>I<FF81FC00FFC7FF00FFDFFF80FFFFFFC0FFFFFFC007FE0FE007F807E007F003E007-E003E007E003E007E003E007C003E007C003E007C003E007C003E007C003E007C003E007-C003E007C003E007C003E007C003E007C003E007C003E007C003E0FFFE1FFFFFFE3FFFFF-FE3FFFFFFE3FFFFFFE1FFF201D7F9C23>I<003F000001FFE00003FFF00007FFF8000FFF-FC001FC0FE003F807F003E001F007E001F807C000F80FC000FC0F80007C0F80007C0F800-07C0F80007C0F80007C0F80007C0FC000FC0FC000FC07C000F807E001F803F003F003F80-7F001FE1FE000FFFFC0007FFF80003FFF00001FFE000003F00001A1D7C9C23>I<FF81FC-00FFC7FF00FFDFFFC0FFFFFFE0FFFFFFF007FE0FF807F803F807F001FC07E000FC07E000-FC07C0007E07C0007E07C0003E07C0003E07C0003E07C0003E07C0003E07C0007E07E000-7E07E000FC07F000FC07F001FC07F803F807FE0FF007FFFFF007FFFFE007DFFF8007CFFF-0007C3F80007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000-0007C0000007C00000FFFE0000FFFE0000FFFE0000FFFE0000FFFE00001F2C7F9C23>I<-7FF00FE0FFF87FF8FFF8FFFCFFFBFFFC7FFFFFFC00FFF8FC00FFC07800FF800000FF0000-00FE000000FE000000FC000000FC000000FC000000F8000000F8000000F8000000F80000-00F8000000F8000000F8000000F8000000F8000000F800007FFFFC00FFFFFE00FFFFFE00-FFFFFE007FFFFC001E1D7E9C23>114 D<01FF9C0FFFFE1FFFFE7FFFFE7FFFFEFF00FEFC-007EF8003EF8003EFC001CFE00007FF0003FFF800FFFE007FFF8007FFC0001FE00007F70-003FF8001FFC001FFC003FFE003FFF80FFFFFFFEFFFFFCFFFFF8FFFFF070FF80181D7B9C-23>I<0070000000F8000000F8000000F8000000F8000000F8000000F8000000F800007F-FFFF80FFFFFFC0FFFFFFC0FFFFFFC07FFFFF8000F8000000F8000000F8000000F8000000-F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F801C000-F803E000F803E000F803E000FC07E000FC0FE000FE1FC0007FFFC0007FFF80003FFE0000-0FFC000007F0001B257EA423>I<FF807FC0FFC07FE0FFC07FE0FFC07FE0FFC07FE007C0-03E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C0-03E007C003E007C003E007C003E007C003E007C003E007C003E007C007E007C00FE007E0-3FE007FFFFFF03FFFFFF03FFFFFF00FFF3FF003FC1FF201D7F9C23>I<7FF00FFEFFF81F-FFFFF81FFFFFF81FFF7FF00FFE1F0000F80F0000F00F0000F00F0000F00F0000F00F0000-F00F8000F00783E1E00787F1E00787F1E00787F1E0078FF9E0038F79C003CF79C003CF79-C003DF7BC003DF7BC003DE3BC001DE3B8001FE3F8001FE3F8001FC1F8001FC1F8000F80F-00201D7F9C23>119 D<7FF07FF0FFF8FFF8FFF8FFF8FFF8FFF87FF07FF003E03E0001F0-3C0000F87C000078F800007CF000003FE000001FE000000FC000000F800000078000000F-C000001FE000003DE000003CF0000078780000F07C0001F03C0001E01E0003C01F007FF0-3FF8FFF87FFCFFF87FFCFFF87FFC7FF03FF81E1D7E9C23>I<FFF03FFCFFF03FFCFFF03F-FCFFF03FFCFFF03FFC078007C00780078007C0078003C00F8003C00F0001E00F0001E01F-0001F01E0000F01E0000F01E0000F83C0000783C0000783C00003C7800003C7800003C78-00001E7000001EF000000EF000000FE000000FE0000007E0000007C0000007C0000007C0-000007800000078000000F8000000F0000000F00003E1F00007F1E00007F3E00007CFC00-007FFC00007FF800003FF000001FE000000F8000001E2C7E9C23>I-E /Fl 70 123 df<078007C00FC00FE01FE00FE01FE01FE01FE01FE03FC01FE03FC01FE0-3FC01FC03F803FC03F803FC03F803F807F003F807F003F807F003F007E007F007E007F00-7E007E00FC007E00FC007E00FC007C00F800FC00F800FC00F800F800F000F80060007000-1B196EB32C>34 D<001E00007F0000FF8000FF8000FFC000FFC000FFC000FFC0003FC000-0F80000F80000F80001F80001F00003F00007E00007E0000FC0001F80003F80007F0001F-E0007FC0007F8000FF00007C0000700000121B6BB22C>39 D<00000038000000FC000001-FC000007FC00000FF800001FE000007FC00000FF000001FE000003FC000007F800000FF0-00000FE000001FC000003F8000007F0000007E000000FE000001FC000001F8000003F800-0003F0000007E0000007E000000FC000000FC000001FC000001F8000003F8000003F0000-003F0000003F0000007F0000007E0000007E0000007E000000FE000000FC000000FC0000-00FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000-007C0000007E0000007E0000007E0000003E0000003F0000003F0000001F8000001F8000-000FC000000FE0000007F0000003F0000003FC000001FC000000FE0000007C0000001C00-001E426DB92C>I<0000E0000001F0000001F8000001FC000000FE0000007F0000003F80-00001F8000000FC000000FC0000007E0000007E0000003F0000003F0000003F0000001F8-000001F8000001F8000001F8000001F8000001F8000000F8000000F8000000F8000001F8-000001F8000001F8000001F8000001F8000001F8000001F8000003F8000003F0000003F0-000003F0000007F0000007E0000007E000000FE000000FC000001FC000001F8000001F80-00003F0000007F0000007E000000FE000000FC000001FC000003F8000007F0000007F000-000FE000001FC000003F8000007F000000FE000003FC000007F800000FF000003FE00000-7FC00000FF000000FE000000F8000000700000001D427AB92C>I<000007000000000F80-0000001F800000001F800000001F800000001F800000003F800000003F000000003F0000-00003F000000007F000000007E000000007E000000007E00000000FE00000000FC00003F-FFFFFFE07FFFFFFFF0FFFFFFFFF0FFFFFFFFF07FFFFFFFF03FFFFFFFE00003F800000003-F000000003F000000003F000000007F000000007E000000007E000000007E00000000FE0-0000000FC00000000FC00000000FC00000001FC00000001F800000000F80000000070000-00242677AB2C>43 D<007C0000FF0001FF8003FF8003FFC007FFC007FFC007FFC003FFC0-03FF8000FF80001F80003F00003F00007E0000FC0003FC000FF8007FF0007FE000FF8000-7E00007800001217748A2C>I<3FFFFFFF807FFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFF-FFC03FFFFFFF802206769B2C>I<0F801FC03FE07FE07FE0FFE0FFE0FFE07FC03F801E00-0B0B6F8A2C>I<000003F00000001FFC0000007FFF000000FFFF800003FFFF800007F83F-C0000FE00FE0001FC00FE0003F8007E0003F0003F0007E0003F000FC0003F001F80003F0-01F80001F003F00001F803E00001F807E00001F807C00001F80FC00001F80FC00001F81F-800001F01F800003F01F000003F03F000003F03F000003F03F000003F07E000007E07E00-0007E07E000007E07E00000FE07E00000FC0FC00000FC0FC00001F80FC00001F80FC0000-3F80FC00003F00FC00003F00FC00007E00FC0000FE00FE0000FC00FE0001F8007E0003F8-007E0003F0007F0007E0007F000FC0003F801F80003F807F80001FE0FE00001FFFFC0000-0FFFF8000007FFF0000003FFC00000007E000000253577B32C>48-D<000000E0000001F0000001F0000003F0000007F000000FF000001FF000003FE000007F-E00001FFE0003FFFE0007FFFC0007FFFC0007FDFC0003F1FC000001F8000001F8000003F-8000003F8000003F0000003F0000007F0000007F0000007E0000007E000000FE000000FE-000000FC000000FC000001FC000001FC000001F8000001F8000003F8000003F8000003F0-000003F0000007F0000007F0000007E0000007E000000FE000000FE000000FC000000FC0-00001FC000001FC0007FFFFFC0FFFFFFE0FFFFFFE0FFFFFFE07FFFFFC01C3477B32C>I<-000001FE000000000FFFC00000003FFFF0000000FFFFF8000003FFFFFC000007FF03FE00-000FF800FF00001FF0003F00003FC0003F80003F80001F80007F00001FC0007E00000FC0-00FE00000FC000FC00000FC001FC00000FC001F800000FC001F800000FC000F800001FC0-000000001F80000000001F80000000003F80000000007F0000000000FF0000000001FE00-00000003FC000000000FFC000000001FF8000000007FF000000001FFC000000007FF8000-00003FFE00000000FFFC00000003FFF000000007FFC00000001FFF000000003FFC000000-007FE00007C000FFC00007C001FF00000FC003FE00000FC007F800001FC00FF000001FC0-0FE000003F801FF000007F801FFF80007F003FFFF001FE003FFFFE07FE007FFFFFFFFC00-7F9FFFFFF8007E01FFFFF000FE007FFFC0007C001FFF8000780003FC00002A357CB32C>-I<000007FE0000003FFF800000FFFFE00003FFFFF00007FFFFF8001FFE07FC001FF001FE-003FC000FE007F00007E007F00003F00FE00003F00FC00003F00FC00003F007800007F00-0000007E000000007E00000000FE00000001FC00000001FC00000003F80000000FF00000-001FE0000000FFC00003FFFF800003FFFF000007FFFC000003FFFC000001FFFE00000001-FF000000007F000000003F800000001F800000001F800000001F800000000FC00000000F-C03C00000FC07E00001FC0FF00001F80FF00001F80FF00001F80FF00003F80FE00007F00-FC0000FF00FC0001FE00FE0007FC007E001FF8007F80FFF0003FFFFFE0001FFFFF80000F-FFFE000003FFF8000000FF800000283579B32C>I<00000000E000000001F000000003F0-00000003F000000003F000000007F000000007E000000007E000000007E00000000FE000-00000FC00000000FC00000001F800000001F800000003F800000003F000000003F000000-007E000000007E00000000FE00000000FC00000001FC00000001F800000003F800000003-F000000007E00000000FE00000000FC00000001FC00000001F800000003F000000007F00-000000FE00000000FC00000001FC0F000003F81F800007F01F80000FE03F80001FC03F00-003F803F00007F003F0000FF007F0001FE007E0003FC007E0007F0007E001FFF80FE003F-FFF0FC007FFFFEFC00FFFFFFFC1CFFFFFFFFFEF800FFFFFE70001FFFFE000003FFFC0000-03FFF0000003F000000003F000000003F000000007F000000007E000000007E000000007-E00000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F80-0000000F8000000007000027467EB32C>I<0007FFFFFE000FFFFFFF000FFFFFFF000FFF-FFFF001FFFFFFE001F800000001F800000001F800000003F800000003F000000003F0000-00003F000000007F000000007E000000007E000000007E00000000FE00000000FC000000-00FC3FE00000FDFFF80001FFFFFE0001FFFFFF0001FFFFFF8001FFE03F8003FF001FC003-FC000FC003F80007E003E00007E001C00007E000000007E000000003E000000007E00000-0007E000000007E000000007E03E000007E07F00000FE0FF00000FC0FF00001FC0FF0000-1F80FE00003F80FE00007F00FC0000FF00FC0001FE00FE0007FC007F000FF8007FC07FF0-003FFFFFE0001FFFFF80000FFFFE000003FFF80000007FC00000283479B22C>I<000000-7F80000003FFE000001FFFF000003FFFF80000FFFFF80001FFC1FC0007FE01FC000FF803-FC001FF003FC003FC003FC007F8003F8007F0003F800FE0000E001FC00000003F8000000-03F800000007F000000007E00000000FE00000000FC0FF00001FC7FFE0001F9FFFF0003F-FFFFF8003FFFFFFC003FFF81FE003FFC007F007FF0003F007FE0003F807FC0001F807F80-001F80FF00001FC0FE00000FC0FE00000FC0FE00001FC0FC00001F80FC00001F80FC0000-1F80FC00003F80FC00003F00FC00003F00FC00007F00FC0000FE00FC0001FC00FC0003FC-007E0007F8007E000FF0003F003FE0003FC0FFC0001FFFFF80000FFFFF000007FFFC0000-03FFF00000007F800000263577B32C>I<00F03F8000F001F9FFE001F801FFFFF001F803-FFFFF807F803FFFFF80FF007FFFFFC3FF007FFE0FFFFE00FFF007FFFC00FFC003FFFC01F-F0001FFF801FE0000FFF003FC000007F003F800000FE007F000001FC007E000001FC00FE-000003F800FC000007F0007C000007F0000000000FE0000000000FC0000000001FC00000-00001F80000000003F80000000003F00000000007F00000000007E0000000000FE000000-0000FC0000000001FC0000000001F80000000003F80000000003F00000000007F0000000-0007E0000000000FE0000000000FC0000000000FC0000000001FC0000000001F80000000-001F80000000003F80000000003F00000000003F00000000007F00000000007E00000000-007E0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC00000000-00F80000000000700000002D3578B32C>I<000001FE0000001FFFC000007FFFF00001FF-FFF80003FFFFFC0007FC07FE000FF001FE001FC000FE003F80007F007F00007F007E0000-3F00FC00003F00FC00003F00FC00003F01F800007E01F800007E01FC0000FC00FC0001FC-00FC0003F8007E0007F0007F001FE0003FC07F80001FFFFE000007FFF8000000FFC00000-07FFF800003FFFFC00007F80FF0001FC003F8003F0001F8007E0000FC00FC0000FC01F80-0007E03F000007E03F000007E07E000007E07E000007E07E000007E0FC00000FC0FC0000-0FC0FC00001FC0FC00001F80FE00003F00FE00007F007F0000FE007F8001FC003FC007F8-003FF03FF0001FFFFFE0000FFFFF800007FFFF000001FFF80000003FC00000283579B32C->I<000007F80000003FFF000000FFFF800003FFFFC00007FFFFE0000FFC0FF0001FF003-F0003FC001F8007F8001F800FF0001F801FC0000FC01FC0000FC03F80000FC03F00000FC-07F00000FC07E00000FC07E00000FC07E00000FC0FE00000FC0FC00001FC0FC00001FC0F-C00003FC0FC00003F80FE00007F807E0000FF807E0001FF807F0003FF003F800FFF001FE-07FFF001FFFFFFF000FFFFFFE0007FFFE7E0001FFF8FE00007FC0FC00000001FC0000000-1F800000003F800000007F000000007E00000000FE003C0001FC007E0003F800FF0007F8-00FF000FF000FF001FE000FF007FC000FE00FF8000FE07FF0000FFFFFC00007FFFF80000-3FFFE000001FFF80000007FC000000263578B32C>I<001E00007F0000FF8001FFC001FF-C001FFC001FF8001FF8001FF0000FE00007C000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000F80001FC0003FE0007FE0-007FE000FFE000FFE000FFE0007FC0003F80001E000012246FA32C>I<00000000380000-0000FC00000001FE00000007FE0000001FFC0000007FF8000001FFE0000003FFC000000F-FF0000003FFC000000FFF0000003FFC0000007FF8000001FFE0000007FF8000001FFE000-0007FF8000000FFF0000003FFC0000007FF0000000FFC0000000FF800000007FC0000000-3FE00000001FF80000000FFC00000003FE00000001FF00000000FFC00000003FE0000000-1FF00000000FFC00000007FE00000001FF00000000FFC00000007FE00000001FF0000000-0FF800000007FC00000001FC00000000F8000000007000272A76AD2C>60-D<07FFFFFFFE0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF03FFFFFFFE0000000000-00000000000000000000000000000000000000000000000000000000000000000000003F-FFFFFFE07FFFFFFFF0FFFFFFFFF8FFFFFFFFF87FFFFFFFF03FFFFFFFE0281479A22C>I<-0038000000007E000000007F000000007F800000007FC00000003FF00000000FF8000000-07FC00000003FF00000001FF800000007FC00000003FF00000001FF800000007FC000000-03FF00000001FF800000007FC00000003FE00000001FF800000007FC00000003FC000000-0FFC0000001FFC0000007FF8000001FFE0000007FF8000001FFE0000003FFC000000FFF0-000003FFC000000FFF0000003FFC000000FFF8000001FFE0000007FF8000001FFE000000-7FF8000000FFE0000000FFC0000000FF00000000FC000000007000000000262A7AAD2C>-I<0007FE00003FFF8000FFFFE003FFFFF007FFFFF80FFE07F81FF001FC3FC000FC7F8000-FC7F0000FCFF0000FCFF0000FCFF0001FCFF0001FC7E0003F83C000FF800003FF000007F-E00001FFC00007FF80001FFE00007FF80000FFF00001FFC00003FF000003FC780007F0FC-0007E0FC0007E1FC0007E3FC0007FFF80007FFF00003FFE00001FFC00000FF0000000000-000000000000000000000000000000000000000000000000000000000003C0000007E000-000FF000001FF000001FF000001FF000001FE000000FE00000078000001E3471B32C>I<-0000000FC00000001FE00000003FE00000003FE00000007FE00000007FE0000000FFE000-0000FBE0000001F7E0000001F7E0000003F7E0000003E7C0000007E7C0000007C7C00000-0FC7C000000FC7C000001F87C000001F87C000003F0FC000003F0FC000003E0FC000007E-0FC000007E0FC00000FC0FC00000FC0FC00001F80FC00001F80FC00003F00FC00003F00F-C00007E00FC00007E00FC0000FC00FC0000FC00FC0001FFFFFC0001FFFFFC0001FFFFFC0-003FFFFFC0003FFFFFC0007E000FC0007E001FC000FC001FC000FC001FC001F8001F8001-F8001F8003F0001F8003F0001F8007F0001F807FFC01FFF0FFFE03FFF8FFFE03FFF8FFFE-03FFF87FFC01FFF025347DB32C>65 D<0007FFFFFC00000FFFFFFF00000FFFFFFFC0000F-FFFFFFE00007FFFFFFE00000FE001FF00000FC0007F00000FC0003F80001FC0003F80001-FC0001F80001F80001F80001F80001F80003F80001F80003F80003F00003F00003F00003-F00003F00007F00007E00007F0000FC00007E0001FC00007E0003F80000FE0007F00000F-E003FE00000FFFFFF800000FFFFFF000001FFFFFE000001FFFFFF800001FFFFFFC00001F-8001FE00003F80007F00003F80007F00003F00003F00003F00003F80007F00001F80007F-00001F80007E00001F80007E00001F8000FE00001F8000FE00003F0000FC00003F0000FC-00007F0001FC00007E0001FC0000FE0001F80001FC0001F80003F80003F8000FF00003F8-003FE0007FFFFFFFC000FFFFFFFF8000FFFFFFFF0000FFFFFFFC00007FFFFFE000002D33-7EB22C>I<000001FE01C000000FFF83E000003FFFE7E00000FFFFF7E00001FFFFFFE000-03FF03FFE00007F801FFE0000FF000FFC0001FE0007FC0003F80003FC0007F00003FC000-FE00003F8001FE00003F8001FC00003F8003F800003F8003F000003F0007F000003F0007-E000001E000FE0000000000FC0000000001FC0000000001F80000000003F80000000003F-00000000003F00000000003F00000000007F00000000007E00000000007E00000000007E-00000000007E0000000000FE0000000000FC0000000000FC0000000000FC0000000000FC-0000000000FC0000078000FC000007C0007E00000FC0007E00000FC0007E00001FC0007E-00001F80003F00003F80003F00007F00003F8000FF00001F8001FE00001FC007FC00000F-F03FF8000007FFFFF0000003FFFFC0000001FFFF800000007FFE000000001FF00000002B-3578B32C>I<000FFFFFF000001FFFFFFC00001FFFFFFE00001FFFFFFF00000FFFFFFF80-0001FC00FFC00001F8003FC00001F8001FE00003F8000FE00003F80007E00003F00007F0-0003F00007F00007F00003F00007F00003F00007E00003F00007E00003F0000FE00003F0-000FE00003F0000FC00003F0000FC00003F0001FC00003F0001FC00003F0001F800003F0-001F800003F0003F800003F0003F800007E0003F000007E0003F000007E0007F000007E0-007F00000FC0007E00000FC0007E00001F8000FE00001F8000FE00003F8000FC00003F00-00FC00007F0001FC00007E0001FC0000FC0001F80001FC0001F80001F80003F80003F000-03F80007F00003F0000FE00003F0003FC00007F0007F800007F003FF00007FFFFFFE0000-FFFFFFF80000FFFFFFF00000FFFFFFC000007FFFFE0000002C337EB22C>I<000FFFFFFF-FF00000FFFFFFFFF80001FFFFFFFFF80000FFFFFFFFF80000FFFFFFFFF800000FE00003F-000000FC00003F000000FC00003F000001FC00007F000001FC00007E000001F800007E00-0001F800007E000003F800003C000003F8000000000003F0000000000003F00000000000-07F0000000000007F001E000000007E003F000000007E003F00000000FE007F00000000F-E007F00000000FFFFFE00000000FFFFFE00000001FFFFFE00000001FFFFFE00000001FFF-FFC00000001F800FC00000003F801FC00000003F801FC00000003F000F800000003F000F-000000007F0000000000007F0000000000007E0000000000007E000000000000FE000000-000000FE00000F000000FC00001F800000FC00001F800001FC00003F800001FC00003F00-0001F800003F000001F800003F000003F800007F000003F800007E00007FFFFFFFFE0000-FFFFFFFFFE0000FFFFFFFFFE0000FFFFFFFFFC00007FFFFFFFFC000031337EB22C>I<00-0FFFFFFFFE001FFFFFFFFF001FFFFFFFFF001FFFFFFFFF000FFFFFFFFF0000FE00007E00-00FC00007E0000FC00007E0001FC0000FE0001FC0000FC0001F80000FC0001F80000FC00-03F80000780003F80000000003F00000000003F00000000007F00000000007F000000000-07E003C0000007E007C000000FE00FE000000FE00FE000000FC00FC000000FFFFFC00000-1FFFFFC000001FFFFFC000001FFFFF8000001FFFFF8000003F803F8000003F803F800000-3F003F0000003F003F0000007F001E0000007F00000000007E00000000007E0000000000-FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC0000000001-F80000000001F80000000003F80000000003F8000000007FFFC0000000FFFFE0000000FF-FFE0000000FFFFE00000007FFFC000000030337DB22C>I<0007FFE01FFF80000FFFF03F-FFC0000FFFF03FFFC0000FFFF03FFFC00007FFE01FFF800000FE0003F0000000FC0003F0-000000FC0003F0000001FC0007F0000001FC0007E0000001F80007E0000001F80007E000-0003F8000FE0000003F8000FC0000003F0000FC0000003F0000FC0000007F0001FC00000-07F0001F80000007E0001F80000007E0001F8000000FE0003F8000000FE0003F0000000F-FFFFFF0000000FFFFFFF0000001FFFFFFF0000001FFFFFFE0000001FFFFFFE0000001F80-007E0000003F8000FE0000003F8000FC0000003F0000FC0000003F0000FC0000007F0001-FC0000007F0001F80000007E0001F80000007E0001F8000000FE0003F8000000FE0003F0-000000FC0003F0000000FC0003F0000001FC0007F0000001FC0007E0000001F80007E000-0001F80007E0000003F8000FE0000003F8000FC000007FFF01FFFC00007FFF81FFFE0000-FFFF83FFFE00007FFF81FFFE00007FFF01FFFC000032337EB22C>72-D<000FFFFFFF00001FFFFFFF80001FFFFFFF80001FFFFFFF80000FFFFFFF00000003F800-00000003F00000000003F00000000007F00000000007F00000000007E00000000007E000-0000000FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC000-0000001F80000000001F80000000003F80000000003F80000000003F00000000003F0000-0000007F00000000007F00000000007E00000000007E0000000000FE0000000000FE0000-000000FC0000000000FC0000000001FC0000000001FC0000000001F80000000001F80000-000003F80000000003F80000000003F00000000003F00000000007F00000000007F00000-000007E00000000007E0000000000FE0000000000FE00000007FFFFFF80000FFFFFFF800-00FFFFFFFC0000FFFFFFF800007FFFFFF80000293379B22C>I<0007FFFE00000FFFFF00-000FFFFF00000FFFFF000007FFFE0000007F000000007E000000007E00000000FE000000-00FE00000000FC00000000FC00000001FC00000001FC00000001F800000001F800000003-F800000003F800000003F000000003F000000007F000000007F000000007E000000007E0-0000000FE00000000FE00000000FC00000000FC00000001FC00000001FC00000001F8000-00001F800000003F800000003F800000003F000000003F000000007F000000007F00001E-007E00003F007E00003F00FE00007F00FE00007E00FC00007E00FC00007E01FC0000FE01-FC0000FC7FFFFFFFFC7FFFFFFFFCFFFFFFFFFC7FFFFFFFF87FFFFFFFF828337EB22C>76-D<0007FF000FFF80000FFF801FFFC0000FFFC01FFFC0000FFFC01FFFC00007FFC00FFF80-0000FFC001F0000000FBC001F0000000FBC001F0000001FBC003F0000001FBC003E00000-01F3C003E0000001F3C003E0000003F3E007E0000003F3E007C0000003E3E007C0000003-E3E007C0000007E3E00FC0000007E3E00F80000007C3E00F80000007C1E00F8000000FC1-E01F8000000FC1E01F0000000F81E01F0000000F81F01F0000001F81F03F0000001F81F0-3E0000001F01F03E0000001F01F03E0000003F01F07E0000003F01F07C0000003E01F07C-0000003E00F07C0000007E00F0FC0000007E00F0F80000007C00F0F80000007C00F0F800-0000FC00F9F8000000FC00F9F0000000F800F9F0000000F800F9F0000001F800FBF00000-01F8007BE0000001F0007BE0000001F0007BE0000003F0007FE0000003F0007FC000007F-FE007FC000007FFF007FC00000FFFF007FC000007FFF003F8000007FFE003F8000003233-7EB22C>78 D<00001FFFE0000001FFFFFC000003FFFFFE00000FFFFFFF00001FFFFFFF00-001FF001FF80003FC0007F80007F00003F80007F00003F80007E00003F8000FC00003F80-00FC00003F8001F800003F0001F800003F0001F800003F0003F000003F0003F000003F00-03F000007E0007E000007E0007E000007E0007E000007E0007E000007E000FC00000FC00-0FC00000FC000FC00000FC000FC00000FC001F800001F8001F800001F8001F800001F800-1F800001F8003F000003F0003F000003F0003F000003F0003F000003F0007F000007E000-7E000007E0007E000007E0007E00000FC0007E00000FC0007E00000FC000FE00001F8000-FC00001F8000FC00003F8000FE00003F0000FE00007F0000FE0000FE0000FF0001FE0000-FFC00FFC0000FFFFFFF800007FFFFFF000003FFFFFE000001FFFFF80000003FFFC000000-293579B32C>I<000FFFFFFC00000FFFFFFF80001FFFFFFFC0000FFFFFFFE0000FFFFFFF-F00000FE001FF80000FC0007F80000FC0003FC0001FC0001FC0001FC0000FC0001F80000-FC0001F80000FC0003F80000FC0003F80000FC0003F00000FC0003F00000FC0007F00000-FC0007F00001F80007E00003F80007E00003F0000FE00007F0000FE0000FE0000FC0003F-C0000FC0007F80001FC003FF00001FFFFFFE00001FFFFFFC00001FFFFFF000001FFFFFC0-00003FFFFE0000003F00000000003F00000000003F00000000007F00000000007E000000-00007E00000000007E0000000000FE0000000000FC0000000000FC0000000000FC000000-0001FC0000000001F80000000001F80000000001F80000000003F8000000007FFF000000-00FFFF80000000FFFF80000000FFFF800000007FFF000000002E337EB22C>I<0007FFFF-C000000FFFFFF800000FFFFFFC00000FFFFFFF000007FFFFFF000000FE01FF800000FC00-7FC00000FC001FC00001FC001FC00001FC000FE00001F8000FE00001F8000FE00003F800-0FE00003F8000FC00003F0000FC00003F0000FC00007F0001F800007F0001F800007E000-3F000007E0007F00000FE001FE00000FE003FC00000FC01FF800000FFFFFF000001FFFFF-C000001FFFFF8000001FFFFF8000001FFFFFC000003F803FC000003F800FE000003F0007-E000003F0007E000007F0007E000007F0007E000007E0007E000007E0007E00000FE000F-E00000FE000FE00000FC000FC00000FC000FC00001FC000FC38001FC001FCFC001F8001F-8FC001F8001F8FC003F8001F9FC003F8001F9F807FFF001FBF807FFF801FFF00FFFF800F-FF007FFF800FFE007FFF0007FC0000000001F0002B347EB22C>82-D<000001FF00E000000FFFE1F000003FFFF9F000007FFFFFF00001FFFFFFF00003FF01FF-F00007FC007FE0000FF0003FE0000FE0001FE0001FC0001FE0001F80001FC0003F80001F-C0003F00000FC0003F00001FC0007F00001F80007E00000F80007E00000F00007F000000-00007F00000000003F80000000003FC0000000001FF8000000001FFF000000000FFFF000-000007FFFE00000003FFFF80000000FFFFC00000001FFFE000000001FFF0000000001FF0-0000000007F80000000003F80000000001FC0000000001FC0000000000FC0000000000FC-000F000000FC000F800001FC001F800001F8001F800001F8001F800001F8003F800003F0-003F800007F0003F80000FE0003FC0000FE0007FC0003FC0007FF0007F80007FFE03FF00-007FFFFFFE0000FFFFFFFC0000FCFFFFF00000783FFFC000007807FF0000002C357CB32C->I<0FFFFFFFFF001FFFFFFFFF801FFFFFFFFF801FFFFFFFFF803FFFFFFFFF803F803F80-3F003F003F003F003F003F003F007F007F007F007F007F007E007E007E007E007E007E00-7E003C00FE003C000000FE0000000000FC0000000000FC0000000001FC0000000001FC00-00000001F80000000001F80000000003F80000000003F80000000003F00000000003F000-00000007F00000000007F00000000007E00000000007E0000000000FE0000000000FE000-0000000FC0000000000FC0000000001FC0000000001FC0000000001F80000000001F8000-0000003F80000000003F80000000003F00000000003F00000000007F00000000007F0000-0000007E00000000007E0000000000FE0000000000FE000000007FFFF0000000FFFFF800-0000FFFFF8000000FFFFF80000007FFFF0000000293375B22C>I<1FFFE01FFFE01FFFF0-1FFFF03FFFF03FFFF01FFFF01FFFF01FFFE01FFFE001FC0001FC0001F80001F80001F800-01F80001F80003F80003F80003F80003F00003F00003F00003F00003F00007F00007F000-07F00007E00007E00007E00007E00007E0000FE0000FE0000FE0000FC0000FC0000FC000-0FC0000FC0001FC0001FC0001FC0001F80001F80001F80001F80001F80003F80003F8000-3F80003F00003F00003F00003F00003F00007F00007F00007F00007E00007E00007E0000-7E00007E0000FE0000FE0000FE0000FC0000FC0000FC0000FC0000FC0001FC0000FC0001-F80000FC0003F80000FC0003F00000FC0007F00000FC000FE00000FC000FE00000FC001F-C000007E007F8000007F00FF0000003F83FE0000003FFFFC0000001FFFF80000000FFFF0-00000003FFC000000000FE000000002C3476B22C>I<7FFC00FFFCFFFE00FFFCFFFE01FF-FEFFFE00FFFC7FFC00FFFC1FC0001F801FC0001F801FC0003F001FC0003F001FC0007E00-1FC0007E001FC000FC001F8000FC001F8001F8001F8001F8001F8003F0001F8003F0001F-8007E0001F8007E0001F800FC0001F800FC0001F801FC0001F801F80001F803F80001F80-3F00001F803F00001F807E00001F807E00001F80FC00001F80FC00001F81F800001F81F8-00001F83F000001F83F000001F87E000001F87E000001F8FC000001F8FC000001F8F8000-001F9F8000001F9F0000001F3F0000001F3E0000001F7E0000001F7C0000001FFC000000-1FF80000001FF80000001FF00000001FF00000001FE00000000FC0000000273472B22C>-I<0FFE0001FFC01FFF0003FFE01FFF0003FFE01FFF0003FFE00FFE0001FFC007C000003E-0007C000003E0007C000003E0007C000007C0007C000007C0007C000007C0007C00000F8-000F800000F8000F800001F0000F800001F0000F800001F0000F800003E0000F800003E0-000F800003E0000F800007C0001F00FC07C0001F03FC0780001F03FC0F80001F07FC0F80-001F07FC1F00001F0FFC1F00001F0FBC1F00001E0F7C3E00003E1F7C3E00003E1E7C3C00-003E3E7C7C00003E3E7C7C00003E7C7C7800003C7C7CF800003C787CF800003CF878F000-007CF879F000007CF079E000007DF079E0000079E07BE0000079E07BC000007BC0FBC000-007BC0F7C00000FB80F7800000F780F7800000FF80FF800000FF00FF000000FF00FF0000-00FE00FE000000FE00FE000000FC00FC000000F800780000002B3476B22C>I<0000FFFF-F00001FFFFF80001FFFFF80003FFFFF80003FFFFF00003F000000003F000000007F00000-0007F000000007E000000007E00000000FE00000000FE00000000FC00000000FC0000000-1FC00000001FC00000001F800000001F800000003F800000003F800000003F000000003F-000000007F000000007F000000007E000000007E00000000FE00000000FE00000000FC00-000000FC00000001FC00000001FC00000001F800000001F800000003F800000003F80000-0003F000000003F000000007F000000007F000000007E000000007E00000000FE0000000-0FE00000000FC00000000FC00000001FC00000001FC00000001F800000001F800000003F-800000003F800000003F000000003F000000007F000000007F000000007E000000007E00-000000FE00000000FFFFF80000FFFFFC0000FFFFFC0000FFFFFC00007FFFF80000254170-B92C>91 D<0000FFFFF00001FFFFF80001FFFFF80001FFFFF80000FFFFF800000003F000-000003F000000003F000000007F000000007E000000007E000000007E00000000FE00000-000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F80000000-3F800000003F000000003F000000003F000000007F000000007E000000007E000000007E-00000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F800-000001F800000003F800000003F000000003F000000003F000000007F000000007E00000-0007E000000007E00000000FE00000000FC00000000FC00000000FC00000001FC0000000-1F800000001F800000001F800000003F800000003F000000003F000000003F000000007F-000000007E000000007E000000007E00007FFFFE0000FFFFFC0000FFFFFC0000FFFFFC00-007FFFF8000025417EB92C>93 D<00038000000FC000007FF00001FFF80007FFFE001FFF-FF007FFCFFC07FF07FE0FFC03FE07F000FE07C0007C0300001801B0C6EB22C>I<7FFFFF-FF00FFFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFF807FFFFFFF0022067D7D2C>I<0003-F00000000FFC7800003FFFFC00007FFFFC0000FFFFFC0001FE1FFC0003FC0FF80007F80F-F8000FF007F8000FE007F8001FC007F0001F8007F0003F8007F0003F0007F0007F0007E0-007E0007E0007E0007E0007E000FE000FE000FE000FC000FC000FC000FC000FC001FC180-FC001F87E0FC003F87E0FC003F87E0FC007F8FE0FC00FF0FC0FC01FF0FC0FE03FF0FC07E-07FF1F807F0FFF3F803FFFFFFF001FFFDFFF001FFF8FFE0007FE07FC0001F801F0002324-76A32C>97 D<7FF80000FFFC0000FFFC0000FFFC00007FFC000001FC000001F8000001F8-000003F8000003F8000003F0000003F0000007F0000007F0000007E0000007E1FC000FE7-FF000FFFFF800FFFFFC00FFFFFE01FFF0FE01FFC07F01FF803F01FF001F83FE001F83FC0-01F83F8001F83F8001F87F0001F87F0001F87E0001F87E0001F87E0003F8FE0003F8FC00-03F0FC0003F0FC0007F0FC0007E0FC000FE0FC000FC0FC001FC0FC003F80FC007F007E00-FF007F01FE003F87FC003FFFF8001FFFF0000FFFC00007FF000001FC00001D3375B22C>-I<00007F800003FFE0000FFFF8003FFFFC007FFFFC00FFC1FE01FE00FE03FC01FE07F801-FE0FF001FE0FE001FC1FC001FC3F8000703F0000003F0000007E0000007E0000007E0000-00FE000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FE0000-007E00001C7F00003E3F8000FE3FC00FFE1FFFFFFE0FFFFFFC07FFFFF001FFFFC0007FFE-001F2475A32C>I<000003FF80000007FFC0000007FFC0000007FFC0000003FFC0000000-1FC00000001F800000001F800000003F800000003F800000003F000000003F000000007F-000000007F000000007E000003F07E00000FFCFE00003FFFFE00007FFFFC0000FFFFFC00-01FE1FFC0003FC0FFC0007F80FF8000FF007F8000FE007F8001FC007F8001F8007F0003F-8007F0003F0007F0007F0007F0007E0007E0007E0007E0007E000FE000FE000FE000FC00-0FC000FC000FC000FC001FC180FC001FC7E0FC003F87E0FC003F87E0FC007F8FE0FC00FF-8FC0FC01FF0FC0FE03FF0FC07E07FF1F807F0FFF3F803FFFFFFF001FFFDFFF001FFF8FFE-0007FE07FC0001F801F000233376B22C>I<00007F000003FFC0000FFFF0003FFFF8007F-FFFC00FFC1FC01FE00FC03FC007E07F8007E0FE000FE0FE000FC1FC000FC3F8001FC3F00-07F87F003FF87FFFFFF07FFFFFE07FFFFF80FFFFFE00FFFFF000FC000000FC000000FC00-0000FC000000FC000000FC0000007E0000007E00001C7F00003E3F8000FE3FC00FFE1FFF-FFFE0FFFFFFC07FFFFF001FFFFC0007FFE001F2475A32C>I<00000003FC000000001FFF-000000003FFFC00000007FFFC00000007FFFE0000000FE1FE0000000FC1FE0000000FC1F-E0000000FC1FE0000001FC0FC0000001F80780000001F80000000001F80000000001F800-00000001F800000003FFFFF8000003FFFFFC000007FFFFFC000003FFFFFC000003FFFFF8-00000007F00000000007E00000000007E00000000007E00000000007E00000000007E000-0000000FE0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC000-0000001FC0000000001F80000000001F80000000001F80000000001F80000000001F8000-0000003F80000000003F00000000003F00000000003F00000000003F00000000007F0000-0000007E00000000007E00000000007E00000000007E00000000007E0000000000FE0000-000000FC0000000000FC0000000000FC0000000001FC0000000001F80000000001F80000-000001F80000000003F80000001C03F00000007F03F00000007F07F0000000FF07E00000-00FF0FE0000000FF1FC0000000FFFF800000007FFF800000003FFF000000001FFC000000-0007F0000000002B457DB22C>I<000007F00000001FFC7800007FFEFC0001FFFFFC0003-FFFFFC0007FC3FFC000FF01FFC001FE00FF8001FC007F8003F8007F8007F0007F8007E00-07F000FE0007F000FC0007F001FC0007F001F80007E001F80007E001F8000FE003F8000F-E003F0000FC003F0000FC003F0001FC003F0001FC003F0003F8003F0003F8003F0007F80-03F000FF8003F001FF0001F803FF0001FC07FF0000FE1FFF0000FFFFFE00007FFFFE0000-3FFFFE00001FFCFE000007F0FC00000000FC00000001FC00000001FC00000001F8000000-01F800000003F800000003F800000003F0003C0007F0007E000FE000FF001FE000FF003F-C000FF01FF8000FFFFFF0000FFFFFE00007FFFF800003FFFE000000FFF00000026367BA3-2C>I<07FF0000000FFF8000000FFF8000000FFF80000007FF800000003F800000003F00-0000003F000000007F000000007F000000007E000000007E00000000FE00000000FE0000-0000FC00000000FC3FC00001FCFFF00001FFFFF80001FFFFFC0001FFFFFC0003FFF0FE00-03FFC07E0003FF007E0003FE007E0007FE007E0007FC007E0007F8007E0007F8007E000F-F000FE000FF000FC000FE000FC000FE000FC001FC001FC001FC001F8001FC001F8001F80-03F8003F8003F0303F8003F0FC3F0007F0FC3F0007E0FC7F0007E1FC7F000FE1F87E000F-C1F87E000FC3F0FE000FC7F0FE000FCFE0FC000FFFE0FC0007FFC0FC0007FF80F80003FE-00700000FC00263379B22C>I<00000F0000001F8000003FC000003FC000003FC000003F-C000001F8000000F00000000000000000000000000000000000000000000000000000000-0000000000003F000000FFC00003FFF00007FFF0000FFFF8001FE1F8003FC1F8003F81F8-007F01F8007E01F800FE03F800FC03F000FC07F000FC07E0000007E000000FE000000FC0-00001FC000001FC000001F8000003F8000003F0060003F01F8007F01F8007E01F800FE03-F800FC03F000FC07F000FC0FE000FC1FE000FC3FC000FFFF80007FFF00007FFE00001FF8-000007E0001D3475B32C>I<0FFF0000001FFF8000001FFF8000001FFF8000000FFF8000-00003F800000003F000000003F000000007F000000007F000000007E000000007E000000-00FE00000000FE00000000FC00000000FC001F8001FC007FC001FC01FFE001F803FFE001-F807FFF003F80FF3F003F81FC3F003F03F87F003F07F0FF007F0FE1FF007F1FC1FF007E3-F80FE007E7F00FC00FFFE007800FFFC000000FFF8000000FFF8000001FFFE000001FFFF8-00001FFFFC00001FBFFE00003F81FF00603F807F01F83F003F01F83F003F81F87F003F83-F87F003F03F07E003F03F07E003F07F0FE003F07E0FE003F8FC0FC001FFFC0FC001FFF80-FC000FFF00F80007FE00700001F800253378B22C>107 D<7FFF00FFFF80FFFF80FFFF80-7FFF80003F80003F00003F00007F00007F00007E00007E0000FE0000FE0000FC0000FC00-01FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F00007E00007E000-0FE0000FE0000FC0000FC0001FC0001FC0001F80001F80003F80183F807E3F007E3F007E-7F00FE7F00FC7E00FC7E01F87E03F87F87F03FFFF01FFFE00FFFC007FF0001FE00173370-B22C>I<00707E007E000079FF81FF8000FFFFC7FFC000FFFFCFFFC000FFFFFFFFE000FF-C3FFC3E001FF83FF83E001FF03FF03F001FE03FE03F001FC03FC03E003FC03FC03E003F8-03F803E003F803F803E003F007F007E007F007F007C007F007F007C007E007E007C00FE0-0FE00FC00FC00FC00F800FC00FC00F801FC01FC01F801F801F801F001F801F801F001F80-1F803F003F803F803E003F003F003E003F003F007E003F003F007C007F007F007C007E00-7E007C007E007E007C007E007E007F00FE00FE007F00FC00FC003F80FC00FC003F007800-78000F002C247DA32C>I<01F007F00007F81FFC000FFC7FFE001FFEFFFF003FFFFFFF80-3F3FFE1F803F3FF81F807E3FF01F807E3FE01F807E7FC01F80FE7FC01F80FC7F801F80FC-7F001F80FCFF003F8000FE003F0000FE003F0000FE003F0001FC007F0001FC007E0001FC-007E0001F800FE0003F800FC1803F800FC7E03F001FC7E03F001F87E07F001F8FE07F003-F8FC07E003F0FC07E003F1FC0FE003F1F80FE003F3F00FC003FFF00FC001FFE00FC001FF-C00F8000FF800700003E0027247AA32C>I<0000FE000007FF80001FFFE0003FFFF000FF-FFF001FF83F803FE01FC03F800FC07F000FC0FE0007E1FC0007E1FC0007E3F80007E3F00-007E7F00007E7E00007E7E00007E7E0000FEFE0000FEFC0000FCFC0000FCFC0001FCFC00-01F8FC0003F8FC0007F0FC0007F0FC000FE07E001FC07E003F807F00FF803F83FF001FFF-FE001FFFF8000FFFF00003FFC00000FE00001F2476A32C>I<0007C00FC000001FF03FF0-00003FF8FFFC00007FFDFFFC00007FFFFFFE0000FE7FF87F0000FC7FF03F0001F87FE03F-8001F87FC01F8001F8FF801F8003F8FF001F8003F0FE001F8003F0FE001F8003F1FC001F-800001FC001F800001F8001F800001F8001F800003F8003F800003F8003F800003F0003F-000003F0003F000007F0007F000007F0007E000007F000FE000007F000FC00000FF001FC-00000FF003F800000FF007F800000FF80FF000001FF81FE000001FFC3FC000001FFFFF80-00001FFFFF0000003FFFFE0000003F9FF80000003F07E00000003F00000000007F000000-00007F00000000007E00000000007E0000000000FE0000000000FE0000000000FC000000-0000FC0000000001FC0000000001FC0000000001F80000000001F8000000007FFFE00000-007FFFE0000000FFFFF00000007FFFE00000007FFFE0000000293680A32C>I<0001FC0E-0007FF0F001FFF9F007FFFDF00FFFFFF01FF0FFF03FC07FF07F803FE07F001FE0FE001FE-1FC001FE1F8001FC3F8001FC3F0001FC7F0001FC7E0001F87E0001F87E0001F8FE0003F8-FC0003F0FC0003F0FC0007F0FC0007F0FC000FE0FC000FE0FC001FE0FC003FE0FC007FC0-7E00FFC07F01FFC03F87FFC03FFFFF801FFFFF800FFFDF8007FF3F8001FC3F0000003F00-00003F0000007F0000007E0000007E0000007E000000FE000000FC000000FC000000FC00-0001FC000001F8000001F80001FFFFF003FFFFF003FFFFF803FFFFF001FFFFF0203675A3-2C>I<01F800FF8007FE03FFE00FFF0FFFF81FFF9FFFFC1FFFFFFFFE3F9FFF81FE3F0FFE-007E7E0FFC007F7E0FF800FF7E1FF001FFFC1FF001FFFC1FE000FEFC1FE000FCFC3FC000-78003FC00000003F800000003F800000007F000000007F000000007F000000007E000000-00FE00000000FE00000000FC00000000FC00000001FC00000001FC00000001F800000001-F800000003F800000003F800000003F000000003F000000003F000000003E000000001C0-000000282479A32C>I<0000FFE0000007FFFC00001FFFFE00003FFFFF00007FFFFF8000-FF807F8000FC007F8001F8007F8001F0007F8001F0007F8003F0003F0003F0001C0001F8-00000001FE00000001FFF8000000FFFF0000007FFFC000001FFFF0000007FFF80000003F-FC00000001FC000000007E000000007E001C00003E007F00003E007F00007E00FF00007C-00FF0000FC00FF0001FC00FE0003F800FF803FF0007FFFFFE0003FFFFFC0001FFFFF8000-07FFFE000000FFE00000212478A32C>I<0001E0000003F0000003F0000003F0000007F0-000007F0000007E0000007E000000FE000000FE000000FC000000FC000001FC000001FC0-00001F80007FFFFF807FFFFFC0FFFFFFC07FFFFFC07FFFFF80007F0000007F0000007E00-00007E000000FE000000FE000000FC000000FC000001FC000001FC000001F8000001F800-0003F8000003F8000003F0000003F0000007F000C007F003F007E003F007E003F00FE007-F00FE00FE00FC01FE00FC03FC00FC07F800FE1FF0007FFFE0007FFFC0003FFF80001FFE0-00007F00001C3374B22C>I<00F80001C003FE0003E007FF0007E00FFF0007E01FFF8007-E03F9F800FE03F1F800FE07F1F800FC07E1F800FC07E3F801FC0FE3F001FC0FC3F001F80-FC7F001F80FC7E003F80007E003F8000FE003F0000FC003F0000FC007F0001FC007F0001-F8007E0001F8007E0001F800FE1803F800FE7E03F001FC7E03F001FC7E03F003FC7E03F0-03FCFE03F007F8FC03F00FF8FC03F81FF9FC01FC3FF9F801FFFFFFF800FFFFFFF0007FFE-7FE0003FF83FC0000FE00F8027247AA32C>I<007E0000F001FF8001F007FFC001F80FFF-C001F81FFFE001F81FC7E001FC3F87E000FC3F07E000FC7F07E001FC7E07E001F8FE0FE0-01F8FC0FC001F8FC1FC001F8FC1F8003F8001F8003F0003F8003F0003F0003F0003F0007-F0007F0007E0007E0007E0007E0007E0007E000FC000FE000FC000FC001FC000FC001F80-00FC001F8000FC003F0000FC007F00007E007E00007E00FC00007F83FC00003FFFF80000-1FFFF000000FFFE0000007FF80000000FE000026247AA32C>I<3C0003800E003F0003C0-1F007F8007C03F803F8007C03F803FC007C01F8007C00FC01F8007C00F801F8007C00F80-1F8007C00F801F8007C01F801F800FC01F001F000F801F001F000F801F001F001F803F00-3F001F003E003E003F003E003E003E003E003E003E007E007E007E007E007C007C007C00-7C007C007C007C007C00FC00FC00FC00FC00F800F800F800F800F801F801F800F801F801-F000F801F801F000F803F803F000FC03FC03E0007C07FC07E0007E0FFE0FC0007FFFFFFF-C0003FFFBFFF80001FFF1FFF00000FFE0FFE000003F803F80000292479A32C>I<001FC0-1F8000FFF07FE001FFF9FFF807FFFFFFF80FFFFFFFFC1FF0FFF0FC3FC07FE07E3F803FC0-FE7F003F81FE7E003F83FEFE003F03FEFC003F01FCFC003F01F8FC007F00F000007F0000-00007E000000007E00000000FE00000000FE00000000FC00000000FC00000001FC00181E-01FC007E3F01F8007E7F01F8007E7F83F800FEFF83F800FCFF03F801FCFE07F803F8FC0F-FC07F87E1FFE1FF07FFFFFFFE03FFFFFFFC03FFF3FFF000FFC1FFE0003F007F00027247A-A32C>I<007E00003801FF80007C03FFC000FC07FFC000FC0FFFE000FC1FC7E001FC3F87-E001F83F07E001F87F07E001F87E0FE003F8FE0FC003F0FC0FC003F0FC1FC003F0FC1F80-07F0001F8007E0003F8007E0003F0007E0003F000FE0007F000FC0007E000FC0007E001F-C0007E001FC000FE001F8000FC003F8000FC003F8000FC007F8000FC007F0000FC00FF00-00FC01FF00007E03FF00007F0FFE00007FFFFE00003FFFFE00001FFFFE00000FFFFC0000-01FCFC00000000FC00000001FC00000001F800000001F800000003F800078003F0000FC0-07F0001FE00FE0001FE01FC0001FE01FC0001FC07F80001FC0FF00001F83FE00001FFFFC-00000FFFF8000007FFE0000003FFC0000000FE00000026367AA32C>I<0003F003C0000F-FC03E0003FFF07E0007FFFCFE000FFFFFFE001FFFFFFC001FE1FFF8003F803FF0003F800-FF0003F001FE0007F003FC0003E007F80001C00FF00000003FE00000007FC0000000FF80-000001FF00000003FC00000007F80000001FF00000003FE003E0007FC003E000FF8007E0-01FE0007E003FC000FE007F8000FC00FF0001FC01FF8003F801FFF007F803FFFC1FF007F-FFFFFE00FFFFFFFC00FF1FFFF800FC03FFF000F801FFC00078007F0000232478A32C>I-E /Fm 60 123 df<00000000FFFC0000000000001FFFFF800000000001FFFFFFE0000000-0007FFFFFFF0000000001FFFC00FF8000000007FFE0003FC00000000FFF00000FE000000-01FFE00003FF00000003FF800007FF00000007FF00000FFF8000000FFE00001FFF800000-0FFE00001FFF8000001FFC00001FFF8000001FFC00003FFFC000003FFC00001FFF800000-3FF800001FFF8000003FF800001FFF8000003FF800001FFF8000003FF800000FFF000000-3FF8000007FE0000003FF8000001F80000003FF8000000000000003FF800000000000000-3FF8000000000000003FF8000000000000003FF8000000000000003FF800000000000000-3FF8000000000000003FF8000000000000003FF8000000000000003FF80003FFFFC000FF-FFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FF-FFFFFFFFFFFFC000003FFC000007FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC0003F-FFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03F-FFFFFC03FFFFFFC042547DD34B>12 D<00000000FFFE0000000000001FFFFFCFC0000000-01FFFFFFFFC000000007FFFFFFFFC00000001FFFC007FFC00000007FFC0007FFC0000000-FFF0000FFFC0000001FFC0001FFFC0000003FF80001FFFC0000007FF00001FFFC000000F-FE00001FFFC000000FFE00001FFFC000001FFC00001FFFC000001FFC00000FFFC000003F-FC00000FFFC000003FF8000007FFC000003FF8000003FFC000003FF8000003FFC000003F-F8000003FFC000003FF8000003FFC000003FF8000003FFC000003FF8000003FFC000003F-F8000003FFC000003FF8000003FFC000003FF8000003FFC000003FF8000003FFC000003F-F8000003FFC000003FF8000003FFC000003FF8000003FFC000003FF8000003FFC000003F-F8000003FFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFF-FFFFFFFFFFC000FFFFFFFFFFFFFFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F-FC000003FFC0003FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFF-FFFC03FFFFFFC03FFFFFFC03FFFFFFC042547DD34B>I<07F0001FF8003FFE007FFF007F-FF00FFFF80FFFFC0FFFFC0FFFFC0FFFFE0FFFFE0FFFFE07FFFE07FFFE03FFFE01FFDE007-F1E00001E00001E00003E00003C00003C00003C00007C0000780000F80000F80000F0000-1F00003E00003E00007C0000F80001F00003F00007E0000FC0001F80001F00000C000013-2876D225>39 D<07F0000FF8001FFC003FFE007FFF00FFFF80FFFF80FFFF80FFFF80FFFF-80FFFF80FFFF807FFF003FFE001FFC000FF80007F0001111769025>46-D<000003FFC0000000003FFFFC00000000FFFFFF00000003FFFFFFC000000FFF81FFF000-001FFC003FF800003FF8001FFC00007FF0000FFE0000FFE00007FF0001FFC00003FF8003-FF800001FFC003FF800001FFC007FF800001FFE00FFF000000FFF00FFF000000FFF00FFF-000000FFF01FFF000000FFF81FFF000000FFF83FFF000000FFFC3FFE0000007FFC3FFE00-00007FFC3FFE0000007FFC7FFE0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE0000-007FFE7FFE0000007FFE7FFE0000007FFEFFFE0000007FFFFFFE0000007FFFFFFE000000-7FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007F-FFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFF-FFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFF-FE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFF7FFE-0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE00-00007FFE3FFE0000007FFC3FFE0000007FFC3FFF000000FFFC3FFF000000FFFC1FFF0000-00FFF81FFF000000FFF81FFF000000FFF80FFF000000FFF00FFF000000FFF007FF800001-FFE007FF800001FFE003FFC00003FFC001FFC00003FF8001FFE00007FF8000FFF0000FFF-00007FF8001FFE00001FFC003FF800000FFF81FFF0000007FFFFFFE0000001FFFFFF8000-00003FFFFC0000000003FFC00000384F7BCD43>48 D<000000780000000000FC00000000-03FC0000000007FC000000001FFC00000000FFFC0000000FFFFC000007FFFFFC0000FFFF-FFFC0000FFFFFFFC0000FFFF7FFC0000FFF07FFC0000F8007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000-7FFC000000007FFC000000007FFC000000007FFC000000007FFC00007FFFFFFFFFFE7FFF-FFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE2F4E76CD43>I<00003FFE000000-0003FFFFE00000000FFFFFFC0000003FFFFFFF000000FFFFFFFFC00001FFC07FFFE00003-FE000FFFF80007F80003FFFC000FE00001FFFE001FC00000FFFF003F8000007FFF003FF0-00007FFF807FF800003FFFC07FFC00003FFFC0FFFE00001FFFE0FFFF00001FFFE0FFFF00-001FFFE0FFFF00000FFFF0FFFF00000FFFF0FFFF00000FFFF0FFFF00000FFFF0FFFF0000-0FFFF07FFE00000FFFF07FFE00000FFFF03FFC00000FFFF00FF000000FFFF003C000000F-FFF0000000000FFFE0000000001FFFE0000000001FFFE0000000001FFFC0000000003FFF-C0000000003FFF80000000003FFF80000000007FFF00000000007FFE0000000000FFFC00-00000001FFF80000000001FFF00000000003FFE00000000003FFC00000000007FF800000-00000FFF00000000001FFE00000000001FFC00000000003FF800000000007FE000000000-00FFC00000000001FF800000000003FE000000000007FC000000000007F800000000000F-F00001F000001FE00001F000003F800001F000007F000001F00000FE000003E00001FC00-0003E00003F8000003E00007F0000003E0000FE0000003E0001F80000007E0003F000000-07E0003E0000000FE0007FFFFFFFFFE000FFFFFFFFFFC001FFFFFFFFFFC003FFFFFFFFFF-C007FFFFFFFFFFC00FFFFFFFFFFFC01FFFFFFFFFFFC03FFFFFFFFFFFC07FFFFFFFFFFFC0-FFFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF8034-4E79CD43>I<00000FFFC000000000FFFFFC00000007FFFFFF8000001FFFFFFFE000003F-F807FFF00000FF8001FFFC0001FE00007FFE0003F800003FFF0003F000003FFF8007FC00-001FFF800FFF00001FFFC00FFF80001FFFC01FFFC0001FFFE01FFFC0001FFFE01FFFC000-1FFFE01FFFC0001FFFE01FFFE0001FFFE01FFFC0001FFFE01FFFC0001FFFE01FFFC0001F-FFE00FFFC0001FFFC007FF80001FFFC003FF00003FFFC001FC00003FFF80000000003FFF-80000000007FFF00000000007FFE00000000007FFE0000000000FFFC0000000001FFF800-00000003FFF00000000007FFC0000000000FFF8000000000FFFE00000000FFFFF8000000-00FFFFE000000000FFFFFC00000000FFFFFF800000000007FFE00000000001FFF8000000-00007FFE00000000003FFF00000000001FFF80000000000FFFC0000000000FFFE0000000-0007FFF00000000007FFF00000000007FFF80000000007FFF80000000003FFFC00000000-03FFFC0000000003FFFE0000000003FFFE03E0000003FFFE0FF8000003FFFE1FFC000003-FFFE3FFE000003FFFE7FFF000003FFFEFFFF800003FFFEFFFF800003FFFEFFFF800003FF-FEFFFF800003FFFCFFFF800003FFFCFFFF800007FFFCFFFF800007FFF8FFFF000007FFF8-7FFF000007FFF07FFE00000FFFF03FFC00000FFFE03FF000001FFFC01FE000003FFF800F-F800007FFF0007FF0000FFFE0003FFF007FFFC0000FFFFFFFFF000007FFFFFFFE000001F-FFFFFF80000003FFFFFC000000001FFF800000374F7ACD43>I<00000000007C00000000-000000FE00000000000000FE00000000000001FE00000000000003FE00000000000007FE-0000000000000FFE0000000000000FFE0000000000001FFE0000000000003FFE00000000-00007FFE0000000000007FFE000000000000FFFE000000000001FFFE000000000003FFFE-000000000003FFFE000000000007FFFE00000000000FFFFE00000000001FBFFE00000000-003F3FFE00000000003E3FFE00000000007C3FFE0000000000FC3FFE0000000001F83FFE-0000000001F03FFE0000000003E03FFE0000000007E03FFE000000000FC03FFE00000000-0F803FFE000000001F003FFE000000003F003FFE000000007E003FFE000000007C003FFE-00000000F8003FFE00000001F8003FFE00000003F0003FFE00000007E0003FFE00000007-C0003FFE0000000F80003FFE0000001F80003FFE0000003F00003FFE0000003E00003FFE-0000007C00003FFE000000FC00003FFE000001F800003FFE000001F000003FFE000003E0-00003FFE000007E000003FFE00000FC000003FFE00001F8000003FFE00001F0000003FFE-00003E0000003FFE00007E0000003FFE0000FC0000003FFE0000FFFFFFFFFFFFFFC0FFFF-FFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0000000007FFE-0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE00000000-00007FFE0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE-0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE00000000-00007FFE000000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFF-FFC000000FFFFFFFFFC03A4F7CCE43>I<03800000000E0007E00000007E0007FE000003-FE0007FFF0007FFE0007FFFFFFFFFC0007FFFFFFFFF80007FFFFFFFFF00007FFFFFFFFE0-0007FFFFFFFFC00007FFFFFFFF800007FFFFFFFF000007FFFFFFFE000007FFFFFFFC0000-07FFFFFFF0000007FFFFFFC0000007FFFFFF00000007FFFFF800000007E1FF0000000007-E0000000000007E0000000000007E0000000000007E0000000000007E0000000000007E0-000000000007E0000000000007E0000000000007E0000000000007E0000000000007E000-0000000007E00FFF00000007E07FFFF0000007E3FFFFFE000007E7FFFFFF800007FFF807-FFC00007FFC001FFE00007FE0000FFF80007FC00007FFC0007F800003FFC0007F000003F-FE0007E000001FFF0003C000001FFF80000000001FFF80000000001FFFC0000000000FFF-C0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFF0-000000000FFFF0000000000FFFF00FE000000FFFF01FF000000FFFF03FF800000FFFF07F-FC00000FFFF0FFFE00000FFFF0FFFE00000FFFF0FFFE00000FFFF0FFFE00000FFFF0FFFE-00000FFFE0FFFE00000FFFE0FFFE00000FFFE0FFFC00000FFFE07FF800001FFFC07FF000-001FFFC07FE000001FFF803E0000003FFF803F0000003FFF001F8000007FFE001FC00000-7FFC000FE00000FFF80007F80001FFF00003FE0007FFE00001FFC03FFFC00000FFFFFFFF-8000003FFFFFFE0000001FFFFFF800000003FFFFC0000000007FF8000000344F79CD43>-I<0000000FFF0000000000FFFFE000000007FFFFF00000001FFFFFFC0000007FFE03FE00-0001FFF0007F000003FFC0003F800007FF00001F80000FFE00007FC0001FFC0000FFC000-3FF80001FFE0007FF00003FFE000FFF00007FFE001FFE00007FFE001FFE00007FFE003FF-C00007FFE007FFC00007FFE007FFC00007FFE00FFFC00003FFC00FFF800001FF801FFF80-0000FF001FFF8000007E001FFF80000000003FFF80000000003FFF80000000003FFF0000-0000007FFF00000000007FFF00000000007FFF00080000007FFF01FFF800007FFF07FFFF-0000FFFF0FFFFFC000FFFF1FFFFFF000FFFF3F007FF800FFFF3C003FFC00FFFF78001FFE-00FFFFF0000FFF00FFFFF00007FF80FFFFE00007FFC0FFFFE00007FFC0FFFFC00007FFE0-FFFFC00003FFF0FFFF800003FFF0FFFF800003FFF8FFFF800003FFF8FFFF800003FFF8FF-FF800003FFF8FFFF000003FFFCFFFF000003FFFCFFFF000003FFFC7FFF000003FFFC7FFF-000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC3FFF00-0003FFFC3FFF000003FFFC3FFF000003FFFC3FFF000003FFFC1FFF000003FFF81FFF8000-03FFF81FFF800003FFF80FFF800003FFF80FFF800003FFF007FF800007FFF007FF800007-FFE003FFC00007FFC001FFC00007FFC001FFE0000FFF8000FFF0000FFF00007FF8001FFE-00003FFC007FFC00001FFF01FFF800000FFFFFFFF0000003FFFFFFC0000000FFFFFF0000-00003FFFFC0000000007FFC00000364F7ACD43>I<1F000000000000001F800000000000-001FC00000000000001FFF8000000000001FFFFFFFFFFFFF801FFFFFFFFFFFFF801FFFFF-FFFFFFFF801FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF003FFFFFFFFFFFFE-003FFFFFFFFFFFFC003FFFFFFFFFFFF8003FFFFFFFFFFFF8003FFFFFFFFFFFF0003FFFFF-FFFFFFE0003FFFFFFFFFFFC0007FFFFFFFFFFF80007F800000007F00007E00000000FF00-007E00000001FE00007C00000003FC00007C00000003F800007C00000007F000007C0000-000FF000007C0000001FE00000F80000003FC00000F80000007F800000F80000007F0000-00F8000000FE00000000000001FE00000000000003FC00000000000003F8000000000000-07F00000000000000FF00000000000001FE00000000000001FE00000000000003FC00000-000000003FC00000000000007F80000000000000FF80000000000000FF80000000000001-FF00000000000001FF00000000000003FF00000000000003FE00000000000007FE000000-00000007FE0000000000000FFE0000000000000FFE0000000000000FFC0000000000001F-FC0000000000001FFC0000000000003FFC0000000000003FFC0000000000003FFC000000-0000003FFC0000000000007FFC0000000000007FF80000000000007FF80000000000007F-F8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000-000000FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000000001FF-F8000000000001FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000-000001FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000000000FF-F0000000000000FFF00000000000003FC00000000000001F8000000000395279D043>I<-000007FFC0000000007FFFFC00000003FFFFFF8000000FFFFFFFE000001FFC01FFF80000-3FE0003FFC00007F80000FFE0000FF000007FF0001FE000003FF0003FC000001FF8007FC-000001FFC007F8000000FFC00FF8000000FFC00FF8000000FFE00FF80000007FE00FF800-00007FE01FF80000007FE01FFC0000007FE01FFC0000007FE01FFE0000007FE01FFF0000-007FE01FFF800000FFE01FFFE00000FFC01FFFF80000FFC01FFFFE0001FF800FFFFF0001-FF800FFFFFC003FF000FFFFFF007FE0007FFFFF807FC0007FFFFFE1FF80003FFFFFFBFF0-0001FFFFFFFFE00001FFFFFFFF800000FFFFFFFE0000007FFFFFFF0000003FFFFFFF8000-000FFFFFFFE0000007FFFFFFF0000001FFFFFFFC000007FFFFFFFE00001FFFFFFFFF0000-3FFFFFFFFF8000FFE7FFFFFF8001FF81FFFFFFC003FF007FFFFFE007FE001FFFFFF00FFC-000FFFFFF01FF80003FFFFF01FF80000FFFFF83FF000007FFFF83FF000001FFFF87FE000-0007FFFC7FE0000001FFFC7FE0000000FFFCFFC00000007FFCFFC00000003FFCFFC00000-003FFCFFC00000001FFCFFC00000001FFCFFC00000000FFCFFC00000000FFCFFC0000000-0FF8FFC00000000FF8FFE00000000FF87FE00000000FF07FF00000001FF07FF00000001F-F03FF80000003FE01FF80000003FC01FFC0000007FC00FFE000000FF8007FF800003FF00-03FFE0000FFE0001FFFC00FFFC00007FFFFFFFF000003FFFFFFFE000000FFFFFFF800000-01FFFFFC000000000FFFC00000364F7ACD43>I<00000FFF8000000000FFFFF800000003-FFFFFE0000000FFFFFFF8000001FFF03FFC000007FF800FFE00000FFF0003FF00001FFE0-001FF80003FFC0001FFC0007FFC0000FFE000FFF80000FFF000FFF800007FF001FFF8000-07FF803FFF800007FF803FFF000007FFC07FFF000007FFC07FFF000003FFE07FFF000003-FFE07FFF000003FFF0FFFF000003FFF0FFFF000003FFF0FFFF000003FFF0FFFF000003FF-F8FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8-FFFF000003FFFCFFFF000003FFFCFFFF000003FFFCFFFF000003FFFC7FFF000007FFFC7F-FF000007FFFC7FFF000007FFFC3FFF000007FFFC3FFF000007FFFC3FFF00000FFFFC1FFF-80000FFFFC0FFF80001FFFFC0FFF80001FFFFC07FF80003FFFFC03FFC0003FFFFC01FFE0-007BFFFC00FFF000F3FFFC007FF803F3FFFC001FFFFFE3FFFC000FFFFFC3FFFC0003FFFF-83FFF800007FFE03FFF80000004003FFF80000000003FFF80000000003FFF80000000003-FFF00000000007FFF00000000007FFF00000000007FFF001F8000007FFE003FC000007FF-E007FE000007FFC00FFF000007FFC01FFF80000FFF801FFF80000FFF801FFF80000FFF00-1FFF80001FFF001FFF80001FFE001FFF80003FFC001FFF00003FFC000FFE00007FF8000F-FC0000FFF0000FF80001FFE00007F00003FFC00003FC000FFF800003FF807FFE000001FF-FFFFFC0000007FFFFFF00000003FFFFFC00000000FFFFE0000000000FFF0000000364F7A-CD43>I<07F0000FF8001FFC003FFE007FFF00FFFF80FFFF80FFFF80FFFF80FFFF80FFFF-80FFFF807FFF003FFE001FFC000FF80007F0000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-0000000007F0000FF8001FFC003FFE007FFF00FFFF80FFFF80FFFF80FFFF80FFFF80FFFF-80FFFF807FFF003FFE001FFC000FF80007F000113576B425>I<00000000001F00000000-000000000000003F80000000000000000000007FC0000000000000000000007FC0000000-00000000000000FFE000000000000000000000FFE000000000000000000000FFE0000000-00000000000001FFF000000000000000000001FFF000000000000000000003FFF8000000-00000000000003FFF800000000000000000003FFF800000000000000000007FFFC000000-00000000000007FFFC00000000000000000007FFFC0000000000000000000FFFFE000000-0000000000000FFFFE0000000000000000001FFFFF0000000000000000001FFFFF000000-0000000000001FFFFF0000000000000000003FFFFF8000000000000000003F7FFF800000-0000000000007F7FFFC000000000000000007E7FFFC000000000000000007E3FFFC00000-000000000000FE3FFFE00000000000000000FC1FFFE00000000000000001FC1FFFF00000-000000000001F81FFFF00000000000000001F80FFFF00000000000000003F80FFFF80000-000000000003F007FFF80000000000000007F007FFFC0000000000000007E007FFFC0000-000000000007E003FFFC000000000000000FE003FFFE000000000000000FC001FFFE0000-00000000001FC001FFFF000000000000001F8001FFFF000000000000001F8000FFFF0000-00000000003F8000FFFF800000000000003F00007FFF800000000000007F00007FFFC000-00000000007E00007FFFC00000000000007E00003FFFC0000000000000FE00003FFFE000-0000000000FC00001FFFE0000000000001FC00001FFFF0000000000001F800001FFFF000-0000000001F800000FFFF0000000000003F800000FFFF8000000000003F0000007FFF800-0000000007F0000007FFFC000000000007E0000007FFFC000000000007E0000003FFFC00-000000000FFFFFFFFFFFFE00000000000FFFFFFFFFFFFE00000000001FFFFFFFFFFFFF00-000000001FFFFFFFFFFFFF00000000001FFFFFFFFFFFFF00000000003F80000000FFFF80-000000003F000000007FFF80000000007F000000007FFFC0000000007F000000007FFFC0-000000007E000000003FFFC000000000FE000000003FFFE000000000FC000000001FFFE0-00000001FC000000001FFFF000000001FC000000001FFFF000000001F8000000000FFFF0-00000003F8000000000FFFF800000003F00000000007FFF800000007F00000000007FFFC-00000007F00000000007FFFC00000007E00000000003FFFC0000000FE00000000003FFFE-0000000FC00000000003FFFE0000001FC00000000001FFFF000000FFFC0000000001FFFF-0000FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFFFFFF-FFE0FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFFFFFFFFE05B547BD366>65-D<FFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFE000000FFFFFFFFFFFFFFFFC00000FFFF-FFFFFFFFFFFFF00000FFFFFFFFFFFFFFFFFC00000007FFF0000003FFFF00000007FFF000-00007FFF80000007FFF00000003FFFC0000007FFF00000000FFFE0000007FFF000000007-FFF0000007FFF000000007FFF8000007FFF000000003FFF8000007FFF000000003FFFC00-0007FFF000000001FFFC000007FFF000000001FFFE000007FFF000000000FFFE000007FF-F000000000FFFE000007FFF000000000FFFF000007FFF000000000FFFF000007FFF00000-0000FFFF000007FFF000000000FFFF000007FFF000000000FFFF000007FFF000000000FF-FF000007FFF000000000FFFF000007FFF000000000FFFF000007FFF000000001FFFE0000-07FFF000000001FFFE000007FFF000000001FFFC000007FFF000000003FFFC000007FFF0-00000003FFF8000007FFF000000007FFF8000007FFF000000007FFF0000007FFF0000000-0FFFE0000007FFF00000001FFFC0000007FFF00000007FFF00000007FFF0000001FFFE00-000007FFF0000007FFF800000007FFFFFFFFFFFFE000000007FFFFFFFFFFFF0000000007-FFFFFFFFFFFF8000000007FFFFFFFFFFFFF000000007FFF0000003FFFE00000007FFF000-00003FFF80000007FFF00000000FFFE0000007FFF000000007FFF0000007FFF000000001-FFF8000007FFF000000001FFFC000007FFF000000000FFFE000007FFF0000000007FFF00-0007FFF0000000007FFF800007FFF0000000003FFFC00007FFF0000000003FFFC00007FF-F0000000001FFFE00007FFF0000000001FFFE00007FFF0000000001FFFE00007FFF00000-00001FFFF00007FFF0000000001FFFF00007FFF0000000001FFFF00007FFF0000000000F-FFF00007FFF0000000000FFFF00007FFF0000000000FFFF00007FFF0000000001FFFF000-07FFF0000000001FFFF00007FFF0000000001FFFF00007FFF0000000001FFFE00007FFF0-000000001FFFE00007FFF0000000003FFFE00007FFF0000000003FFFC00007FFF0000000-003FFFC00007FFF0000000007FFF800007FFF000000000FFFF800007FFF000000000FFFF-000007FFF000000001FFFE000007FFF000000007FFFE000007FFF00000000FFFFC000007-FFF00000003FFFF0000007FFF0000001FFFFE000FFFFFFFFFFFFFFFFFF8000FFFFFFFFFF-FFFFFFFF0000FFFFFFFFFFFFFFFFF80000FFFFFFFFFFFFFFFFC00000FFFFFFFFFFFFFFF8-00000054527CD160>I<0000000001FFFC000001C0000000007FFFFFC00003C000000007-FFFFFFF80007C00000003FFFFFFFFE001FC0000000FFFFFFFFFF803FC0000003FFFFE003-FFC07FC000000FFFFC00003FF0FFC000003FFFE000000FF9FFC000007FFF80000003FFFF-C00001FFFE00000000FFFFC00003FFF8000000007FFFC00007FFF0000000003FFFC0000F-FFE0000000001FFFC0001FFFC0000000000FFFC0003FFF800000000007FFC0007FFF0000-00000003FFC000FFFE000000000001FFC000FFFE000000000001FFC001FFFC0000000000-00FFC003FFF8000000000000FFC003FFF80000000000007FC007FFF00000000000007FC0-0FFFF00000000000003FC00FFFF00000000000003FC01FFFE00000000000001FC01FFFE0-0000000000001FC01FFFE00000000000001FC03FFFC00000000000001FC03FFFC0000000-0000000FC03FFFC00000000000000FC07FFFC00000000000000FC07FFFC0000000000000-0FC07FFFC000000000000000007FFF8000000000000000007FFF800000000000000000FF-FF800000000000000000FFFF800000000000000000FFFF800000000000000000FFFF8000-00000000000000FFFF800000000000000000FFFF800000000000000000FFFF8000000000-00000000FFFF800000000000000000FFFF800000000000000000FFFF8000000000000000-00FFFF800000000000000000FFFF800000000000000000FFFF800000000000000000FFFF-8000000000000000007FFF8000000000000000007FFF8000000000000000007FFFC00000-0000000000007FFFC000000000000000007FFFC000000000000007C03FFFC00000000000-0007C03FFFC000000000000007C03FFFC000000000000007C01FFFE000000000000007C0-1FFFE000000000000007C01FFFE00000000000000FC00FFFF00000000000000F800FFFF0-0000000000000F8007FFF00000000000001F8003FFF80000000000001F8003FFF8000000-0000001F0001FFFC0000000000003F0000FFFE0000000000007E0000FFFE000000000000-7E00007FFF000000000000FC00003FFF800000000001F800001FFFC00000000003F80000-0FFFE00000000007F0000007FFF0000000000FE0000003FFFC000000001FC0000001FFFE-000000007F800000007FFF80000000FF000000003FFFE0000007FE000000000FFFFE0000-1FF80000000003FFFFE001FFF00000000000FFFFFFFFFFC000000000003FFFFFFFFF0000-0000000007FFFFFFFC000000000000007FFFFFE00000000000000001FFFC000000005254-79D261>I<FFFFFFFFFFFFFF8000000000FFFFFFFFFFFFFFFC00000000FFFFFFFFFFFFFF-FF80000000FFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFFC0000000007FFF000000F-FFFF0000000007FFF0000000FFFFC000000007FFF00000001FFFE000000007FFF0000000-07FFF800000007FFF000000001FFFC00000007FFF000000000FFFE00000007FFF0000000-007FFF00000007FFF0000000003FFF80000007FFF0000000001FFFC0000007FFF0000000-000FFFC0000007FFF00000000007FFE0000007FFF00000000003FFF0000007FFF0000000-0003FFF8000007FFF00000000001FFF8000007FFF00000000001FFFC000007FFF0000000-0000FFFC000007FFF00000000000FFFE000007FFF00000000000FFFE000007FFF0000000-00007FFF000007FFF000000000007FFF000007FFF000000000007FFF000007FFF0000000-00007FFF800007FFF000000000003FFF800007FFF000000000003FFF800007FFF0000000-00003FFFC00007FFF000000000003FFFC00007FFF000000000003FFFC00007FFF0000000-00003FFFC00007FFF000000000003FFFC00007FFF000000000003FFFE00007FFF0000000-00003FFFE00007FFF000000000003FFFE00007FFF000000000001FFFE00007FFF0000000-00001FFFE00007FFF000000000001FFFE00007FFF000000000001FFFE00007FFF0000000-00001FFFE00007FFF000000000001FFFE00007FFF000000000001FFFE00007FFF0000000-00001FFFE00007FFF000000000001FFFE00007FFF000000000003FFFE00007FFF0000000-00003FFFE00007FFF000000000003FFFE00007FFF000000000003FFFC00007FFF0000000-00003FFFC00007FFF000000000003FFFC00007FFF000000000003FFFC00007FFF0000000-00003FFFC00007FFF000000000003FFF800007FFF000000000003FFF800007FFF0000000-00007FFF800007FFF000000000007FFF000007FFF000000000007FFF000007FFF0000000-00007FFF000007FFF00000000000FFFE000007FFF00000000000FFFE000007FFF0000000-0000FFFC000007FFF00000000001FFFC000007FFF00000000001FFF8000007FFF0000000-0003FFF0000007FFF00000000007FFF0000007FFF00000000007FFE0000007FFF0000000-000FFFC0000007FFF0000000001FFF80000007FFF0000000003FFF00000007FFF0000000-00FFFE00000007FFF000000001FFFC00000007FFF000000007FFF800000007FFF0000000-1FFFF000000007FFF0000000FFFFC000000007FFF000000FFFFF000000FFFFFFFFFFFFFF-FFFE000000FFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFF-FC00000000FFFFFFFFFFFFFF80000000005B527CD167>I<FFFFFFFFFFFFFFFFFF80FFFF-FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF-FF800007FFF8000001FFFFC00007FFF80000001FFFC00007FFF800000007FFC00007FFF8-00000001FFC00007FFF800000000FFC00007FFF8000000007FC00007FFF8000000003FC0-0007FFF8000000001FC00007FFF8000000001FC00007FFF8000000000FE00007FFF80000-00000FE00007FFF80000000007E00007FFF80000000007E00007FFF80000000007E00007-FFF80000000003E00007FFF80000000003E00007FFF80000000003E00007FFF80000F800-03E00007FFF80000F80003F00007FFF80000F80001F00007FFF80000F80001F00007FFF8-0000F80001F00007FFF80000F80001F00007FFF80000F80000000007FFF80001F8000000-0007FFF80001F80000000007FFF80001F80000000007FFF80003F80000000007FFF80007-F80000000007FFF8000FF80000000007FFF8007FF80000000007FFFFFFFFF80000000007-FFFFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF800-00000007FFF8007FF80000000007FFF8000FF80000000007FFF80007F80000000007FFF8-0003F80000000007FFF80001F80000000007FFF80001F80000000007FFF80001F8000000-0007FFF80000F80000000007FFF80000F800003E0007FFF80000F800003E0007FFF80000-F800003E0007FFF80000F800007C0007FFF80000F800007C0007FFF80000F800007C0007-FFF800000000007C0007FFF800000000007C0007FFF80000000000FC0007FFF800000000-00FC0007FFF80000000000F80007FFF80000000000F80007FFF80000000001F80007FFF8-0000000001F80007FFF80000000001F80007FFF80000000003F80007FFF80000000003F0-0007FFF80000000007F00007FFF8000000000FF00007FFF8000000000FF00007FFF80000-00001FF00007FFF8000000003FF00007FFF8000000007FE00007FFF800000001FFE00007-FFF800000007FFE00007FFF80000001FFFE00007FFF8000003FFFFE0FFFFFFFFFFFFFFFF-FFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFF-FFFFFFFFFFC04F517CD058>I<FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFF-FFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE000007FFF8000007FFFF-000007FFF80000007FFF000007FFF80000001FFF000007FFF800000007FF000007FFF800-000003FF000007FFF800000001FF000007FFF800000000FF000007FFF8000000007F0000-07FFF8000000003F000007FFF8000000003F800007FFF8000000003F800007FFF8000000-001F800007FFF8000000001F800007FFF8000000001F800007FFF8000000000F800007FF-F8000000000F800007FFF8000000000F800007FFF8000000000F800007FFF8000000000F-C00007FFF80000F80007C00007FFF80000F80007C00007FFF80000F80007C00007FFF800-00F80007C00007FFF80000F80000000007FFF80000F80000000007FFF80000F800000000-07FFF80001F80000000007FFF80001F80000000007FFF80001F80000000007FFF80003F8-0000000007FFF80007F80000000007FFF8000FF80000000007FFF8007FF80000000007FF-FFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF80000-000007FFFFFFFFF80000000007FFF8007FF80000000007FFF8000FF80000000007FFF800-07F80000000007FFF80003F80000000007FFF80001F80000000007FFF80001F800000000-07FFF80001F80000000007FFF80000F80000000007FFF80000F80000000007FFF80000F8-0000000007FFF80000F80000000007FFF80000F80000000007FFF80000F80000000007FF-F80000F80000000007FFF80000000000000007FFF80000000000000007FFF80000000000-000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF800-00000000000007FFF80000000000000007FFF80000000000000007FFF800000000000000-07FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF8000000-0000000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FF-F80000000000000007FFF8000000000000FFFFFFFFFFF800000000FFFFFFFFFFF8000000-00FFFFFFFFFFF800000000FFFFFFFFFFF800000000FFFFFFFFFFF8000000004A517CD055->I<0000000001FFFC000001C000000000007FFFFFC00003C00000000007FFFFFFF80007-C0000000003FFFFFFFFE001FC000000000FFFFFFFFFF803FC000000003FFFFE003FFC07F-C00000000FFFFC00003FF0FFC00000003FFFE000000FF9FFC00000007FFF80000003FFFF-C0000001FFFE00000000FFFFC0000003FFF8000000007FFFC0000007FFF0000000003FFF-C000000FFFE0000000001FFFC000001FFFC0000000000FFFC000003FFF800000000007FF-C000007FFF000000000003FFC00000FFFE000000000001FFC00000FFFE000000000001FF-C00001FFFC000000000000FFC00003FFF8000000000000FFC00003FFF80000000000007F-C00007FFF00000000000007FC0000FFFF00000000000003FC0000FFFF00000000000003F-C0001FFFE00000000000001FC0001FFFE00000000000001FC0001FFFE00000000000001F-C0003FFFC00000000000001FC0003FFFC00000000000000FC0003FFFC00000000000000F-C0007FFFC00000000000000FC0007FFFC00000000000000FC0007FFFC000000000000000-00007FFF800000000000000000007FFF80000000000000000000FFFF8000000000000000-0000FFFF80000000000000000000FFFF80000000000000000000FFFF8000000000000000-0000FFFF80000000000000000000FFFF80000000000000000000FFFF8000000000000000-0000FFFF80000000000000000000FFFF80000000000000000000FFFF8000000000000000-0000FFFF80000000000000000000FFFF80000000000000000000FFFF8000000000000000-0000FFFF800000000000000000007FFF800000007FFFFFFFFFE07FFF800000007FFFFFFF-FFE07FFFC00000007FFFFFFFFFE07FFFC00000007FFFFFFFFFE07FFFC00000007FFFFFFF-FFE03FFFC000000000003FFFC0003FFFC000000000003FFFC0003FFFC000000000003FFF-C0001FFFE000000000003FFFC0001FFFE000000000003FFFC0001FFFE000000000003FFF-C0000FFFF000000000003FFFC0000FFFF000000000003FFFC00007FFF000000000003FFF-C00003FFF800000000003FFFC00003FFF800000000003FFFC00001FFFC00000000003FFF-C00000FFFE00000000003FFFC00000FFFE00000000003FFFC000007FFF00000000003FFF-C000003FFF80000000003FFFC000001FFFC0000000003FFFC000000FFFE0000000007FFF-C0000007FFF0000000007FFFC0000003FFFC00000000FFFFC0000001FFFF00000000FFFF-C00000007FFF80000001FFFFC00000003FFFF0000007FBFFC00000000FFFFE00001FF1FF-C000000003FFFFF001FFE0FFC000000000FFFFFFFFFFC07FC0000000003FFFFFFFFF001F-C00000000007FFFFFFFC0007C000000000007FFFFFE00001C0000000000001FFFE000000-00005B5479D26A>I<FFFFFFFFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFFFFFFFF-FFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFF0007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFFFFFFFFFFFFFFFE0000007FF-FFFFFFFFFFFFFFE0000007FFFFFFFFFFFFFFFFE0000007FFFFFFFFFFFFFFFFE0000007FF-FFFFFFFFFFFFFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE000FFFFFF-FFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFFFFFFFF-FFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFF60527CD169>I<FFFFFFFFFFC0FFFF-FFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC00007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007-FFF800000007FFF800000007FFF800000007FFF80000FFFFFFFFFFC0FFFFFFFFFFC0FFFF-FFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC02A527CD132>I<FFFFFFFFFFF8000000FFFFFFFF-FFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF80000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8-00000000000007FFF8000000007C0007FFF8000000007C0007FFF8000000007C0007FFF8-000000007C0007FFF800000000FC0007FFF800000000F80007FFF800000000F80007FFF8-00000000F80007FFF800000000F80007FFF800000000F80007FFF800000001F80007FFF8-00000001F80007FFF800000001F80007FFF800000003F80007FFF800000003F80007FFF8-00000007F80007FFF800000007F00007FFF80000000FF00007FFF80000000FF00007FFF8-0000001FF00007FFF80000003FF00007FFF80000007FF00007FFF8000000FFF00007FFF8-000003FFF00007FFF8000007FFF00007FFF800003FFFF00007FFF80001FFFFF0FFFFFFFF-FFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFF-FFFFFFFFE046527CD151>76 D<FFFFFFFC000000000000003FFFFFFEFFFFFFFE00000000-0000007FFFFFFEFFFFFFFE000000000000007FFFFFFEFFFFFFFF00000000000000FFFFFF-FEFFFFFFFF00000000000000FFFFFFFE0007FFFF00000000000000FFFFC0000007FFFF80-000000000001EFFFC0000007FFFF80000000000001EFFFC0000007EFFFC0000000000003-CFFFC0000007EFFFC0000000000003CFFFC0000007E7FFE00000000000078FFFC0000007-E7FFE00000000000078FFFC0000007E3FFF000000000000F0FFFC0000007E3FFF0000000-00000F0FFFC0000007E1FFF800000000001E0FFFC0000007E1FFF800000000001E0FFFC0-000007E1FFF800000000001E0FFFC0000007E0FFFC00000000003C0FFFC0000007E0FFFC-00000000003C0FFFC0000007E07FFE0000000000780FFFC0000007E07FFE000000000078-0FFFC0000007E03FFF0000000000F00FFFC0000007E03FFF0000000000F00FFFC0000007-E01FFF8000000001E00FFFC0000007E01FFF8000000001E00FFFC0000007E00FFFC00000-0003C00FFFC0000007E00FFFC000000003C00FFFC0000007E00FFFC000000003C00FFFC0-000007E007FFE000000007800FFFC0000007E007FFE000000007800FFFC0000007E003FF-F00000000F000FFFC0000007E003FFF00000000F000FFFC0000007E001FFF80000001E00-0FFFC0000007E001FFF80000001E000FFFC0000007E000FFFC0000003C000FFFC0000007-E000FFFC0000003C000FFFC0000007E000FFFC0000003C000FFFC0000007E0007FFE0000-0078000FFFC0000007E0007FFE00000078000FFFC0000007E0003FFF000000F0000FFFC0-000007E0003FFF000000F0000FFFC0000007E0001FFF800001E0000FFFC0000007E0001F-FF800001E0000FFFC0000007E0000FFFC00003C0000FFFC0000007E0000FFFC00003C000-0FFFC0000007E00007FFE0000780000FFFC0000007E00007FFE0000780000FFFC0000007-E00007FFE0000780000FFFC0000007E00003FFF0000F00000FFFC0000007E00003FFF000-0F00000FFFC0000007E00001FFF8001E00000FFFC0000007E00001FFF8001E00000FFFC0-000007E00000FFFC003C00000FFFC0000007E00000FFFC003C00000FFFC0000007E00000-7FFE007800000FFFC0000007E000007FFE007800000FFFC0000007E000007FFE00780000-0FFFC0000007E000003FFF00F000000FFFC0000007E000003FFF00F000000FFFC0000007-E000001FFF81E000000FFFC0000007E000001FFF81E000000FFFC0000007E000000FFFC3-C000000FFFC0000007E000000FFFC3C000000FFFC0000007E0000007FFE78000000FFFC0-000007E0000007FFE78000000FFFC0000007E0000003FFFF0000000FFFC0000007E00000-03FFFF0000000FFFC0000007E0000003FFFF0000000FFFC0000007E0000001FFFE000000-0FFFC0000007E0000001FFFE0000000FFFC0000007E0000000FFFC0000000FFFC0000007-E0000000FFFC0000000FFFC0000007E00000007FF80000000FFFC0000007E00000007FF8-0000000FFFC0000007E00000003FF00000000FFFC0000007E00000003FF00000000FFFC0-00003FFC0000001FE00000000FFFC000FFFFFFFF00001FE00001FFFFFFFFFEFFFFFFFF00-001FE00001FFFFFFFFFEFFFFFFFF00000FC00001FFFFFFFFFEFFFFFFFF00000FC00001FF-FFFFFFFEFFFFFFFF000007800001FFFFFFFFFE77527CD180>I<000000000FFFC0000000-0000000003FFFFFF000000000000001FFFFFFFE0000000000000FFFFFFFFFC0000000000-03FFFC00FFFF00000000000FFFC0000FFFC0000000003FFF000003FFF0000000007FFC00-0000FFF800000001FFF80000007FFE00000003FFE00000001FFF00000007FFC00000000F-FF8000000FFF8000000007FFC000001FFF0000000003FFE000003FFF0000000003FFF000-007FFE0000000001FFF80000FFFC0000000000FFFC0000FFFC0000000000FFFC0001FFF8-00000000007FFE0003FFF800000000007FFF0003FFF000000000003FFF0007FFF0000000-00003FFF8007FFE000000000001FFF800FFFE000000000001FFFC00FFFE000000000001F-FFC01FFFE000000000001FFFE01FFFC000000000000FFFE01FFFC000000000000FFFE03F-FFC000000000000FFFF03FFFC000000000000FFFF03FFFC000000000000FFFF07FFF8000-0000000007FFF87FFF80000000000007FFF87FFF80000000000007FFF87FFF8000000000-0007FFF87FFF80000000000007FFF8FFFF80000000000007FFFCFFFF80000000000007FF-FCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF-80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF800000-00000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF800000000000-07FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFC-7FFF80000000000007FFF87FFFC000000000000FFFF87FFFC000000000000FFFF87FFFC0-00000000000FFFF87FFFC000000000000FFFF83FFFC000000000000FFFF03FFFC0000000-00000FFFF03FFFE000000000001FFFF01FFFE000000000001FFFE01FFFE000000000001F-FFE01FFFE000000000001FFFE00FFFF000000000003FFFC00FFFF000000000003FFFC007-FFF800000000007FFF8007FFF800000000007FFF8003FFF800000000007FFF0001FFFC00-00000000FFFE0001FFFE0000000001FFFE0000FFFE0000000001FFFC00007FFF00000000-03FFF800003FFF8000000007FFF000001FFFC00000000FFFE000000FFFE00000001FFFC0-000007FFF00000003FFF80000003FFF80000007FFF00000001FFFC000000FFFE00000000-FFFF000003FFFC000000003FFFE0001FFFF0000000000FFFFC00FFFFC00000000003FFFF-FFFFFF000000000000FFFFFFFFFC0000000000001FFFFFFFE000000000000003FFFFFF00-000000000000001FFFE000000000565479D265>79 D<FFFFFFFFFFFFFF000000FFFFFFFF-FFFFFFF80000FFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFF000-0007FFF000001FFFFC000007FFF0000001FFFF000007FFF00000007FFF800007FFF00000-003FFFC00007FFF00000000FFFE00007FFF00000000FFFF00007FFF000000007FFF00007-FFF000000003FFF80007FFF000000003FFFC0007FFF000000003FFFC0007FFF000000001-FFFE0007FFF000000001FFFE0007FFF000000001FFFE0007FFF000000001FFFE0007FFF0-00000001FFFF0007FFF000000001FFFF0007FFF000000001FFFF0007FFF000000001FFFF-0007FFF000000001FFFF0007FFF000000001FFFF0007FFF000000001FFFF0007FFF00000-0001FFFF0007FFF000000001FFFE0007FFF000000001FFFE0007FFF000000001FFFE0007-FFF000000001FFFC0007FFF000000003FFFC0007FFF000000003FFFC0007FFF000000003-FFF80007FFF000000007FFF00007FFF00000000FFFE00007FFF00000001FFFE00007FFF0-0000003FFFC00007FFF00000007FFF000007FFF0000001FFFE000007FFF000001FFFFC00-0007FFFFFFFFFFFFF0000007FFFFFFFFFFFFC0000007FFFFFFFFFFFE00000007FFFFFFFF-FFE000000007FFF80000000000000007FFF80000000000000007FFF80000000000000007-FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF800000000-00000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF8-0000000000000007FFF80000000000000007FFF80000000000000007FFF8000000000000-0007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF80000-000000000007FFF80000000000000007FFF80000000000000007FFF80000000000000007-FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF800000000-00000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF8-0000000000000007FFF80000000000000007FFF80000000000000007FFF8000000000000-FFFFFFFFFFC000000000FFFFFFFFFFC000000000FFFFFFFFFFC000000000FFFFFFFFFFC0-00000000FFFFFFFFFFC00000000050527CD15C>I<000000000FFFC00000000000000003-FFFFFF000000000000001FFFFFFFE0000000000000FFFFFFFFFC000000000003FFFC00FF-FF00000000000FFFC0000FFFC0000000003FFF000003FFF0000000007FFC000000FFF800-000001FFF00000003FFE00000003FFE00000001FFF00000007FFC00000000FFF8000000F-FF8000000007FFC000001FFF0000000003FFE000003FFE0000000001FFF000007FFC0000-000000FFF80000FFFC0000000000FFFC0000FFF800000000007FFC0001FFF80000000000-7FFE0003FFF000000000003FFF0003FFF000000000003FFF0007FFE000000000001FFF80-07FFE000000000001FFF800FFFE000000000001FFFC00FFFC000000000000FFFC01FFFC0-00000000000FFFE01FFFC000000000000FFFE01FFF80000000000007FFE03FFF80000000-000007FFF03FFF80000000000007FFF03FFF80000000000007FFF07FFF80000000000007-FFF87FFF80000000000007FFF87FFF00000000000003FFF87FFF00000000000003FFF87F-FF00000000000003FFF8FFFF00000000000003FFFCFFFF00000000000003FFFCFFFF0000-0000000003FFFCFFFF00000000000003FFFCFFFF00000000000003FFFCFFFF0000000000-0003FFFCFFFF00000000000003FFFCFFFF00000000000003FFFCFFFF00000000000003FF-FCFFFF00000000000003FFFCFFFF00000000000003FFFCFFFF00000000000003FFFCFFFF-00000000000003FFFCFFFF00000000000003FFFCFFFF00000000000003FFFC7FFF000000-00000003FFF87FFF00000000000003FFF87FFF80000000000007FFF87FFF800000000000-07FFF87FFF80000000000007FFF83FFF80000000000007FFF03FFF80000000000007FFF0-3FFF80000000000007FFF01FFFC000000000000FFFE01FFFC000000000000FFFE01FFFC0-00000000000FFFE00FFFC000000000000FFFC00FFFE000000000001FFFC007FFE0000000-00001FFF8007FFF000000000003FFF8003FFF00001FE00003FFF0001FFF80007FF80007F-FE0001FFF8000FFFE0007FFE0000FFFC003FFFF000FFFC00007FFC007F03F800FFF80000-3FFE007C00FC01FFF000001FFF00F8007E03FFE000000FFF80F8003F07FFC0000007FFC0-F0001F8FFF80000003FFE0F0001F9FFF00000001FFF0F0000FFFFE00000000FFFCF8000F-FFFC000000003FFFF80007FFF0000000000FFFFC000FFFC00000000003FFFF00FFFF0000-00000000FFFFFFFFFC0000000000001FFFFFFFFC00000C00000003FFFFFFFC00001E0000-00001FFFE3FE00001E00000000000001FF00001E00000000000001FF80003E0000000000-0001FFC0007E00000000000001FFE000FE00000000000001FFF807FE00000000000000FF-FFFFFE00000000000000FFFFFFFC00000000000000FFFFFFFC000000000000007FFFFFFC-000000000000007FFFFFFC000000000000007FFFFFF8000000000000007FFFFFF8000000-000000003FFFFFF8000000000000003FFFFFF0000000000000001FFFFFE0000000000000-001FFFFFE0000000000000000FFFFFC00000000000000007FFFF800000000000000003FF-FF000000000000000001FFFE0000000000000000007FF80000000000000000001FE00057-6A79D265>I<FFFFFFFFFFFFF00000000000FFFFFFFFFFFFFF8000000000FFFFFFFFFFFF-FFF800000000FFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFC00000000007FFF00000-FFFFF00000000007FFF000000FFFF80000000007FFF0000001FFFE0000000007FFF00000-00FFFF0000000007FFF00000007FFF8000000007FFF00000003FFFC000000007FFF00000-001FFFC000000007FFF00000000FFFE000000007FFF00000000FFFF000000007FFF00000-000FFFF000000007FFF000000007FFF800000007FFF000000007FFF800000007FFF00000-0007FFF800000007FFF000000007FFFC00000007FFF000000007FFFC00000007FFF00000-0007FFFC00000007FFF000000007FFFC00000007FFF000000007FFFC00000007FFF00000-0007FFFC00000007FFF000000007FFFC00000007FFF000000007FFFC00000007FFF00000-0007FFF800000007FFF000000007FFF800000007FFF00000000FFFF800000007FFF00000-000FFFF000000007FFF00000000FFFE000000007FFF00000000FFFE000000007FFF00000-001FFFC000000007FFF00000003FFF8000000007FFF00000007FFF0000000007FFF00000-00FFFE0000000007FFF0000003FFFC0000000007FFF000000FFFF00000000007FFF00000-FFFFC00000000007FFFFFFFFFFFF000000000007FFFFFFFFFFF8000000000007FFFFFFFF-FFE0000000000007FFFFFFFFFFF8000000000007FFF00003FFFE000000000007FFF00000-7FFF800000000007FFF000003FFFC00000000007FFF000001FFFE00000000007FFF00000-0FFFF00000000007FFF0000007FFF80000000007FFF0000003FFFC0000000007FFF00000-03FFFE0000000007FFF0000001FFFE0000000007FFF0000001FFFE0000000007FFF00000-01FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF0000000007FFF00000-00FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF0000000007FFF00000-00FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF8000000007FFF00000-00FFFF8000000007FFF0000000FFFF8000000007FFF0000000FFFF8000000007FFF00000-00FFFF8000000007FFF0000000FFFF8000000007FFF0000000FFFF8000000007FFF00000-00FFFF80001C0007FFF0000000FFFFC0003E0007FFF0000000FFFFC0003E0007FFF00000-00FFFFC0003E0007FFF00000007FFFC0003E0007FFF00000007FFFE0007E0007FFF00000-003FFFE0007C0007FFF00000003FFFF000FC0007FFF00000001FFFF001FCFFFFFFFFFF80-000FFFF803F8FFFFFFFFFF800003FFFE07F0FFFFFFFFFF800001FFFFFFE0FFFFFFFFFF80-00007FFFFFC0FFFFFFFFFF8000000FFFFF000000000000000000007FFC005F537CD164>-I<00000FFF800007000000FFFFF8000F000007FFFFFF001F00001FFFFFFFC03F00003FFF-FFFFF07F0000FFFC00FFF8FF0001FFE0000FFDFF0003FF800001FFFF0007FE0000007FFF-000FFC0000003FFF000FF80000000FFF001FF800000007FF001FF000000003FF003FF000-000003FF003FE000000001FF007FE000000000FF007FE000000000FF007FE0000000007F-00FFE0000000007F00FFE0000000003F00FFE0000000003F00FFF0000000003F00FFF000-0000003F00FFF8000000001F00FFF8000000001F00FFFC000000001F00FFFE000000001F-00FFFF000000000000FFFFC000000000007FFFF000000000007FFFFF00000000007FFFFF-F8000000003FFFFFFF800000003FFFFFFFFC0000001FFFFFFFFFC000001FFFFFFFFFF000-000FFFFFFFFFFC000007FFFFFFFFFF000003FFFFFFFFFFC00001FFFFFFFFFFE00000FFFF-FFFFFFF000007FFFFFFFFFF800003FFFFFFFFFFC00000FFFFFFFFFFE000003FFFFFFFFFE-000000FFFFFFFFFF0000001FFFFFFFFF80000000FFFFFFFF800000000FFFFFFFC0000000-007FFFFFC00000000007FFFFE00000000000FFFFE000000000003FFFE000000000000FFF-F0000000000007FFF0000000000003FFF0000000000003FFF0780000000001FFF0F80000-000000FFF0F80000000000FFF0F80000000000FFF0F800000000007FF0F800000000007F-F0FC00000000007FF0FC00000000007FF0FC00000000007FE0FE00000000007FE0FE0000-0000007FE0FF0000000000FFC0FF0000000000FFC0FF8000000000FFC0FFC000000001FF-80FFE000000001FF00FFF000000003FF00FFFC00000007FE00FFFF0000000FFC00FFFFC0-00001FF800FFFFF800007FF000FF1FFFC003FFE000FE0FFFFFFFFFC000FC03FFFFFFFF00-00F8007FFFFFFC0000F0000FFFFFF00000E000007FFF0000003C5479D24B>I<3FFFFFFF-FFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFF-FFFFFF803FFFFFFFFFFFFFFFFFFF803FFFC0003FFFC0007FFF803FFE00003FFFC00007FF-807FF800003FFFC00001FFC07FE000003FFFC00000FFC07FC000003FFFC000007FC07F80-00003FFFC000003FC07F0000003FFFC000001FC07F0000003FFFC000001FC07E0000003F-FFC000000FC07E0000003FFFC000000FC07E0000003FFFC000000FC07C0000003FFFC000-0007C07C0000003FFFC0000007C07C0000003FFFC0000007C07C0000003FFFC0000007C0-7C0000003FFFC0000007C0FC0000003FFFC0000007E0F80000003FFFC0000003E0F80000-003FFFC0000003E0F80000003FFFC0000003E0F80000003FFFC0000003E0F80000003FFF-C0000003E0F80000003FFFC0000003E0000000003FFFC000000000000000003FFFC00000-0000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000-0000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000000000-3FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0-00000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000-00000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000000000-00003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003F-FFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000-000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000-000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000-003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFF-C000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000-0000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000-0000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000000000-3FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0-000000000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFF000-000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFF0000053517BD05E>I<FFFFFFFFFFC0-0003FFFFFFFCFFFFFFFFFFC00003FFFFFFFCFFFFFFFFFFC00003FFFFFFFCFFFFFFFFFFC0-0003FFFFFFFCFFFFFFFFFFC00003FFFFFFFC0007FFF80000000000FFF0000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000-0000001F80000007FFF800000000001F80000007FFF800000000003F80000007FFF80000-0000003F80000003FFF800000000003F00000003FFFC00000000003F00000003FFFC0000-0000007F00000001FFFC00000000007F00000001FFFC00000000007E00000000FFFE0000-000000FE00000000FFFE0000000001FC000000007FFF0000000001FC000000007FFF0000-000003F8000000003FFF8000000007F8000000001FFF800000000FF0000000000FFFC000-00001FE00000000007FFE00000003FC00000000003FFF80000007F800000000001FFFC00-0003FF0000000000007FFF80000FFE0000000000003FFFF001FFF80000000000000FFFFF-FFFFF000000000000003FFFFFFFFC0000000000000007FFFFFFF00000000000000000FFF-FFF80000000000000000007FFF80000000005E537CD167>I<FFFFFFFFFE0000001FFFFF-FEFFFFFFFFFE0000001FFFFFFEFFFFFFFFFE0000001FFFFFFEFFFFFFFFFE0000001FFFFF-FEFFFFFFFFFE0000001FFFFFFE001FFFF000000000003FFE00001FFFF0000000000007F0-00000FFFF0000000000007E000000FFFF800000000000FE0000007FFF800000000000FC0-000007FFFC00000000000FC0000007FFFC00000000001FC0000003FFFE00000000001F80-000003FFFE00000000003F80000001FFFE00000000003F00000001FFFF00000000007F00-000000FFFF00000000007E00000000FFFF80000000007E00000000FFFF8000000000FE00-0000007FFFC000000000FC000000007FFFC000000001FC000000003FFFE000000001F800-0000003FFFE000000003F8000000001FFFE000000003F0000000001FFFF000000007F000-0000001FFFF000000007F0000000000FFFF800000007E0000000000FFFF80000000FE000-00000007FFFC0000000FC00000000007FFFC0000001FC00000000003FFFC0000001F8000-00000003FFFE0000003F800000000003FFFE0000003F800000000001FFFF0000003F0000-00000001FFFF0000007F000000000000FFFF8000007E000000000000FFFF800000FE0000-000000007FFF800000FC0000000000007FFFC00001FC0000000000007FFFC00001FC0000-000000003FFFE00001F80000000000003FFFE00003F80000000000001FFFF00003F00000-000000001FFFF00007F00000000000000FFFF00007E00000000000000FFFF8000FE00000-000000000FFFF8000FE000000000000007FFFC000FC000000000000007FFFC001FC00000-0000000003FFFE001F8000000000000003FFFE003F8000000000000001FFFE003F000000-0000000001FFFF007F0000000000000001FFFF007F0000000000000000FFFF807E000000-0000000000FFFF80FE00000000000000007FFFC0FC00000000000000007FFFC1FC000000-00000000003FFFC1F800000000000000003FFFE3F800000000000000001FFFE3F0000000-00000000001FFFF3F000000000000000001FFFF7F000000000000000000FFFFFE0000000-00000000000FFFFFE0000000000000000007FFFFC0000000000000000007FFFFC0000000-000000000003FFFF80000000000000000003FFFF80000000000000000003FFFF80000000-000000000001FFFF00000000000000000001FFFF00000000000000000000FFFE00000000-000000000000FFFE000000000000000000007FFC000000000000000000007FFC00000000-0000000000007FFC000000000000000000003FF8000000000000000000003FF800000000-0000000000001FF0000000000000000000001FF0000000000000000000000FE000000000-00000000000007C000000000005F537DD166>I<FFFFFFFFFC007FFFFFFFFE0000FFFFFF-F0FFFFFFFFFC007FFFFFFFFE0000FFFFFFF0FFFFFFFFFC007FFFFFFFFE0000FFFFFFF0FF-FFFFFFFC007FFFFFFFFE0000FFFFFFF0FFFFFFFFFC007FFFFFFFFE0000FFFFFFF0003FFF-C00000001FFFE000000000FFF800003FFFE00000001FFFF0000000000FC000001FFFE000-00000FFFF0000000000F8000001FFFE00000000FFFF8000000000F8000001FFFF0000000-0FFFF8000000001F8000000FFFF000000007FFF8000000001F0000000FFFF800000007FF-FC000000001F0000000FFFF800000003FFFC000000003F00000007FFF800000003FFFC00-0000003E00000007FFFC00000003FFFE000000003E00000003FFFC00000001FFFE000000-007C00000003FFFC00000001FFFF000000007C00000003FFFE00000001FFFF00000000FC-00000001FFFE00000001FFFF00000000F800000001FFFF00000003FFFF80000000F80000-0001FFFF00000003FFFF80000001F800000000FFFF00000003FFFF80000001F000000000-FFFF80000007FFFFC0000001F0000000007FFF80000007FFFFC0000003E0000000007FFF-80000007FFFFE0000003E0000000007FFFC000000FFFFFE0000007E0000000003FFFC000-000F9FFFE0000007C0000000003FFFE000001F9FFFF0000007C0000000003FFFE000001F-0FFFF000000FC0000000001FFFE000001F0FFFF000000F80000000001FFFF000003F0FFF-F800000F80000000000FFFF000003E07FFF800001F00000000000FFFF000003E07FFFC00-001F00000000000FFFF800007E07FFFC00003F000000000007FFF800007C03FFFC00003E-000000000007FFFC0000FC03FFFE00003E000000000007FFFC0000F801FFFE00007E0000-00000003FFFC0000F801FFFE00007C000000000003FFFE0001F801FFFF00007C00000000-0003FFFE0001F000FFFF0000FC000000000001FFFE0001F000FFFF8000F8000000000001-FFFF0003F000FFFF8001F8000000000000FFFF0003E0007FFF8001F0000000000000FFFF-0007E0007FFFC001F0000000000000FFFF8007C0003FFFC003F00000000000007FFF8007-C0003FFFC003E00000000000007FFFC00FC0003FFFE003E00000000000007FFFC00F8000-1FFFE007E00000000000003FFFC00F80001FFFF007C00000000000003FFFE01F80001FFF-F00FC00000000000001FFFE01F00000FFFF00F800000000000001FFFE01F00000FFFF80F-800000000000001FFFF03E000007FFF81F800000000000000FFFF03E000007FFF81F0000-00000000000FFFF87E000007FFFC1F000000000000000FFFF87C000003FFFC3F00000000-00000007FFF87C000003FFFE3E0000000000000007FFFCFC000003FFFE7E000000000000-0003FFFCF8000001FFFE7C0000000000000003FFFCF8000001FFFF7C0000000000000003-FFFFF0000000FFFFFC0000000000000001FFFFF0000000FFFFF80000000000000001FFFF-F0000000FFFFF80000000000000001FFFFE00000007FFFF80000000000000000FFFFE000-00007FFFF00000000000000000FFFFE00000007FFFF000000000000000007FFFC0000000-3FFFE000000000000000007FFFC00000003FFFE000000000000000007FFF800000001FFF-E000000000000000003FFF800000001FFFC000000000000000003FFF800000001FFFC000-000000000000003FFF000000000FFFC000000000000000001FFF000000000FFF80000000-00000000001FFF000000000FFF8000000000000000000FFE0000000007FF000000000000-0000000FFE0000000007FF0000000000000000000FFE0000000007FF0000000000000000-0007FC0000000003FE00000000000000000007FC0000000003FE00000000000000000007-F80000000001FE00000000000000000003F80000000001FC00000000000000000003F800-00000001FC00000000000000000001F00000000000F8000000000084537DD18B>I<FFFF-FFFFFF0000000FFFFFFF80FFFFFFFFFF0000000FFFFFFF80FFFFFFFFFF0000000FFFFFFF-80FFFFFFFFFF0000000FFFFFFF80FFFFFFFFFF0000000FFFFFFF80000FFFFC0000000000-3FFF0000000FFFFE000000000007F800000007FFFF000000000007F000000003FFFF0000-0000000FE000000003FFFF80000000000FE000000001FFFFC0000000001FC000000000FF-FFC0000000003F8000000000FFFFE0000000003F80000000007FFFF0000000007F000000-00003FFFF000000000FE00000000003FFFF800000000FE00000000001FFFFC00000001FC-00000000000FFFFC00000003F800000000000FFFFE00000003F8000000000007FFFF0000-0007F0000000000003FFFF0000000FE0000000000003FFFF8000000FE0000000000001FF-FFC000001FC0000000000000FFFFC000003F80000000000000FFFFE000003F8000000000-00007FFFF000007F000000000000003FFFF00000FF000000000000003FFFF80000FE0000-00000000001FFFFC0001FC000000000000000FFFFC0003FC000000000000000FFFFE0003-F80000000000000007FFFF0007F00000000000000003FFFF000FF00000000000000003FF-FF800FE00000000000000001FFFFC01FC00000000000000000FFFFC03FC0000000000000-0000FFFFE03F8000000000000000007FFFF07F0000000000000000003FFFF0FF00000000-00000000003FFFF8FE0000000000000000001FFFFDFC0000000000000000000FFFFFFC00-00000000000000000FFFFFF800000000000000000007FFFFF000000000000000000003FF-FFF000000000000000000001FFFFE000000000000000000001FFFFC00000000000000000-0000FFFFC0000000000000000000007FFF80000000000000000000007FFF000000000000-00000000007FFF00000000000000000000007FFF00000000000000000000007FFF000000-00000000000000007FFF00000000000000000000007FFF00000000000000000000007FFF-00000000000000000000007FFF00000000000000000000007FFF00000000000000000000-007FFF00000000000000000000007FFF00000000000000000000007FFF00000000000000-000000007FFF00000000000000000000007FFF00000000000000000000007FFF00000000-000000000000007FFF00000000000000000000007FFF00000000000000000000007FFF00-000000000000000000007FFF00000000000000000000007FFF0000000000000000000000-7FFF00000000000000000000007FFF00000000000000000000007FFF0000000000000000-0000007FFF00000000000000000000007FFF00000000000000000000007FFF0000000000-0000000000007FFF00000000000000000000007FFF0000000000000000000FFFFFFFFFF8-000000000000000FFFFFFFFFF8000000000000000FFFFFFFFFF8000000000000000FFFFF-FFFFF8000000000000000FFFFFFFFFF80000000061527ED166>89-D<00007FFF000000000007FFFFF0000000003FFFFFFE00000000FFFFFFFF80000001FFE0-0FFFC0000003FE0001FFF0000007FF0000FFF8000007FF80003FFC00000FFF80003FFE00-000FFFC0001FFE00000FFFC0001FFF00000FFFC0000FFF80000FFFC0000FFF80000FFFC0-000FFF800007FF800007FFC00007FF800007FFC00003FF000007FFC00001FE000007FFC0-000000000007FFC0000000000007FFC0000000000007FFC0000000000007FFC000000000-0007FFC0000000000007FFC0000000007FFFFFC00000000FFFFFFFC0000000FFFFFFFFC0-000007FFFF87FFC000003FFFF007FFC000007FFF8007FFC00001FFFC0007FFC00003FFF0-0007FFC00007FFE00007FFC0000FFFC00007FFC0001FFF800007FFC0003FFF000007FFC0-007FFF000007FFC0007FFE000007FFC0007FFE000007FFC000FFFC000007FFC000FFFC00-0007FFC000FFFC000007FFC000FFFC000007FFC000FFFC00000FFFC000FFFC00000FFFC0-00FFFE00001FFFC0007FFE00001DFFC0007FFE00003DFFC0003FFF000079FFE0001FFF80-00F1FFF8000FFFC003E1FFFFE007FFF81FC0FFFFF003FFFFFF807FFFF000FFFFFF001FFF-F0001FFFFC0007FFE00001FFE0000000003C387CB641>97 D<003FF0000000000000FFFF-F0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFF-F000000000000003FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F001FFE000000000FFF00FFFFE00000000FFF03FFFFFC0000000FFF0FFFFFFF0000000FF-F3FF01FFF8000000FFF7F8003FFE000000FFFFE0000FFF000000FFFF800007FF800000FF-FF000003FFC00000FFFE000001FFE00000FFFC000001FFF00000FFF8000000FFF80000FF-F8000000FFF80000FFF80000007FFC0000FFF80000007FFC0000FFF80000007FFE0000FF-F80000007FFE0000FFF80000007FFF0000FFF80000003FFF0000FFF80000003FFF0000FF-F80000003FFF0000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FF-F80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FF-F80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FF-F80000003FFF8000FFF80000003FFF0000FFF80000003FFF0000FFF80000003FFF0000FF-F80000003FFF0000FFF80000007FFE0000FFF80000007FFE0000FFF80000007FFE0000FF-F80000007FFC0000FFF8000000FFFC0000FFF8000000FFF80000FFFC000001FFF00000FF-FC000001FFF00000FFFE000003FFE00000FFFF000007FFC00000FFFF80000FFF800000FF-CFC0001FFF000000FF87F0007FFC000000FF03FE03FFF8000000FE00FFFFFFE0000000FC-007FFFFF80000000F8001FFFFC00000000000003FFC000000041547BD24B>I<000001FF-F8000000001FFFFF80000000FFFFFFF0000003FFFFFFFC00000FFFC00FFE00001FFE0001-FF00007FFC0003FF8000FFF00007FF8001FFF00007FFC003FFE0000FFFC003FFC0000FFF-C007FFC0000FFFC00FFF80000FFFC00FFF80000FFFC01FFF800007FF801FFF000007FF80-3FFF000003FF003FFF000001FE007FFF00000000007FFE00000000007FFE00000000007F-FE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE-0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE00-00000000FFFE0000000000FFFE0000000000FFFE00000000007FFE00000000007FFF0000-0000007FFF00000000003FFF00000000003FFF00000000003FFF00000003E01FFF800000-03E01FFF80000007E00FFFC0000007C007FFC0000007C007FFE000000FC003FFE000001F-8001FFF000003F0000FFF800007E00007FFE0000FC00003FFF0003F800000FFFE01FF000-0003FFFFFFE0000000FFFFFF800000003FFFFE0000000001FFE0000033387CB63C>I<00-0000000001FF80000000000007FFFF80000000000007FFFF80000000000007FFFF800000-00000007FFFF80000000000007FFFF800000000000001FFF8000000000000007FF800000-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000-0000000007FF8000000001FFE007FF800000001FFFFC07FF80000000FFFFFF07FF800000-03FFFFFFC7FF8000000FFFE03FE7FF8000001FFF0007F7FF8000007FFC0001FFFF800000-FFF80000FFFF800001FFF000003FFF800003FFE000001FFF800007FFC000001FFF800007-FFC000000FFF80000FFF8000000FFF80001FFF8000000FFF80001FFF0000000FFF80003F-FF0000000FFF80003FFF0000000FFF80003FFF0000000FFF80007FFE0000000FFF80007F-FE0000000FFF80007FFE0000000FFF80007FFE0000000FFF8000FFFE0000000FFF8000FF-FE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FF-FE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FF-FE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF80007FFE0000000FFF80007F-FE0000000FFF80007FFE0000000FFF80003FFF0000000FFF80003FFF0000000FFF80003F-FF0000000FFF80001FFF0000000FFF80001FFF0000000FFF80000FFF8000000FFF80000F-FF8000001FFF800007FFC000003FFF800003FFC000003FFF800001FFE000007FFF800000-FFF00001FFFF8000007FF80003FFFFE000003FFE000FEFFFFF80000FFFC07FCFFFFF8000-07FFFFFF8FFFFF800001FFFFFE0FFFFF8000003FFFF80FFFFF80000003FFC00FFE000041-547CD24B>I<000003FFC0000000003FFFFC00000001FFFFFF00000007FFFFFFC000000F-FF81FFE000003FFC007FF800007FF8003FFC0000FFF0001FFE0001FFE0000FFE0003FFC0-0007FF0007FFC00007FF800FFF800003FF800FFF800003FFC01FFF800001FFC01FFF0000-01FFC03FFF000001FFE03FFF000001FFE07FFF000000FFE07FFE000000FFE07FFE000000-FFF07FFE000000FFF0FFFE000000FFF0FFFE000000FFF0FFFE000000FFF0FFFE000000FF-F0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFE0FFFE0000000000-FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE00000000007F-FE00000000007FFE00000000007FFF00000000003FFF00000000003FFF00000000003FFF-00000000E01FFF00000001F01FFF80000003F00FFF80000003F007FFC0000007E007FFC0-000007E003FFE000000FC001FFF000001FC000FFF800003F80007FFC0000FF00001FFE00-03FE00000FFFC03FF8000003FFFFFFF0000000FFFFFFC00000001FFFFE0000000001FFF0-000034387CB63D>I<0000003FFC00000003FFFF0000000FFFFFC000003FFFFFE00000FF-F81FF00001FFC03FF80003FF807FF80007FF00FFFC000FFE00FFFC001FFC00FFFC001FFC-00FFFC003FF800FFFC003FF800FFFC003FF8007FF8007FF0007FF8007FF0003FF0007FF0-000FC0007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF0-000000007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF0-000000007FF0000000007FF0000000FFFFFFFFE000FFFFFFFFE000FFFFFFFFE000FFFFFF-FFE000FFFFFFFFE000007FF8000000007FF8000000007FF8000000007FF8000000007FF8-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8-000000007FF8000000007FF80000007FFFFFFE00007FFFFFFE00007FFFFFFE00007FFFFF-FE00007FFFFFFE00002E547CD329>I<00003FFF0000FF000003FFFFF007FFC0000FFFFF-FC1FFFE0003FFFFFFF7FFFE0007FFC0FFFFF9FF000FFE001FFF83FF001FFC000FFE03FF0-03FF80007FF01FF007FF00003FF81FE00FFF00003FFC0FC00FFF00003FFC07801FFE0000-1FFE00001FFE00001FFE00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF0000-3FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE0000-1FFF00003FFE00001FFF00001FFE00001FFE00001FFE00001FFE00000FFF00003FFC0000-0FFF00003FFC000007FF00003FF8000003FF80007FF0000001FFC000FFE0000000FFE001-FFC0000000FFFC0FFF80000001FFFFFFFF00000003EFFFFFFC00000003C3FFFFF0000000-07C03FFF0000000007C000000000000007C00000000000000FC00000000000000FC00000-000000000FC00000000000000FE00000000000000FE00000000000000FF8000000000000-0FFE0000000000000FFFFFFFFF00000007FFFFFFFFF8000007FFFFFFFFFF000007FFFFFF-FFFFC00003FFFFFFFFFFE00001FFFFFFFFFFF00000FFFFFFFFFFF800007FFFFFFFFFFC00-007FFFFFFFFFFE0001FFFFFFFFFFFF0007FFFFFFFFFFFF000FFE000003FFFF801FF80000-003FFF803FF000000007FF807FE000000003FFC07FE000000001FFC0FFC000000001FFC0-FFC000000000FFC0FFC000000000FFC0FFC000000000FFC0FFC000000000FFC0FFC00000-0000FFC0FFE000000001FFC07FE000000001FF807FF000000003FF803FF000000003FF00-1FF800000007FE000FFE0000001FFC0007FF8000007FF80003FFE00001FFF00001FFFE00-1FFFE000007FFFFFFFFF8000000FFFFFFFFC00000001FFFFFFE0000000000FFFFC000000-3C4F7CB543>I<003FF0000000000000FFFFF0000000000000FFFFF0000000000000FFFF-F0000000000000FFFFF0000000000000FFFFF000000000000003FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF-F000000000000000FFF000000000000000FFF0001FFC00000000FFF000FFFFC0000000FF-F003FFFFF0000000FFF00FFFFFF8000000FFF01FE07FFC000000FFF03F001FFE000000FF-F07C001FFF000000FFF0F0000FFF000000FFF1E0000FFF800000FFF3C0000FFF800000FF-F7800007FF800000FFF7800007FFC00000FFFF000007FFC00000FFFE000007FFC00000FF-FE000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FF-FC000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC000FFFFFFF807FFFFFFC0FFFF-FFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC04253-7BD24B>I<007F000000FF800003FFE00007FFF00007FFF0000FFFF8000FFFF8000FFFF8-000FFFF8000FFFF8000FFFF8000FFFF80007FFF00007FFF00003FFE00000FF8000007F00-000000000000000000000000000000000000000000000000000000000000000000000000-0000000000000000000000000000000000003FF000FFFFF000FFFFF000FFFFF000FFFFF0-00FFFFF00001FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000FFFFFF-E0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE01B547BD325>I<003FF000FFFFF000FFFFF000-FFFFF000FFFFF000FFFFF00001FFF00000FFF00000FFF00000FFF00000FFF00000FFF000-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000-00FFF00000FFF00000FFF000FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C537BD2-25>108 D<003FF0001FFC000000FFE00000FFFFF000FFFFC00007FFFE0000FFFFF003FF-FFF0001FFFFF8000FFFFF00FFFFFF8007FFFFFC000FFFFF01FE07FFC00FF03FFE000FFFF-F03F001FFE01F800FFF00003FFF07C001FFF03E000FFF80000FFF0F0000FFF0780007FF8-0000FFF1E0000FFF8F00007FFC0000FFF3C0000FFF9E00007FFC0000FFF7800007FFBC00-003FFC0000FFF7800007FFFC00003FFE0000FFFF000007FFF800003FFE0000FFFE000007-FFF000003FFE0000FFFE000007FFF000003FFE0000FFFC000007FFE000003FFE0000FFFC-000007FFE000003FFE0000FFFC000007FFE000003FFE0000FFFC000007FFE000003FFE00-00FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC00000-3FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FF-C000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF800-0007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000-FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003F-FE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC0-00003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF80000-07FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FF-F8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE-0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000-003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE00FFFFFFF807FF-FFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFEFFFFFF-F807FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFE67367BB570>I<003FF0001FFC-000000FFFFF000FFFFC00000FFFFF003FFFFF00000FFFFF00FFFFFF80000FFFFF01FE07F-FC0000FFFFF03F001FFE000003FFF07C001FFF000000FFF0F0000FFF000000FFF1E0000F-FF800000FFF3C0000FFF800000FFF7800007FF800000FFF7800007FFC00000FFFF000007-FFC00000FFFE000007FFC00000FFFE000007FFC00000FFFC000007FFC00000FFFC000007-FFC00000FFFC000007FFC00000FFFC000007FFC00000FFF8000007FFC00000FFF8000007-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007-FFC000FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FF-FFFFC0FFFFFFF807FFFFFFC042367BB54B>I<000001FFE000000000001FFFFE00000000-00FFFFFFC000000003FFFFFFF00000000FFF807FFC0000001FFC000FFE0000007FF80007-FF800000FFF00003FFC00001FFE00001FFE00003FFC00000FFF00003FF8000007FF00007-FF8000007FF8000FFF0000003FFC000FFF0000003FFC001FFF0000003FFE001FFF000000-3FFE003FFE0000001FFF003FFE0000001FFF003FFE0000001FFF007FFE0000001FFF807F-FE0000001FFF807FFE0000001FFF807FFE0000001FFF80FFFE0000001FFFC0FFFE000000-1FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FF-FE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE000000-1FFFC0FFFE0000001FFFC07FFE0000001FFF807FFE0000001FFF807FFE0000001FFF803F-FE0000001FFF003FFF0000003FFF003FFF0000003FFF001FFF0000003FFE001FFF000000-3FFE000FFF0000003FFC000FFF8000007FFC0007FF8000007FF80003FFC00000FFF00001-FFE00001FFE00000FFF00003FFC000007FF80007FF8000003FFE001FFF0000000FFF807F-FC00000007FFFFFFF800000000FFFFFFC0000000003FFFFF000000000001FFE00000003A-387CB643>I<003FF001FFE0000000FFFFF00FFFFE000000FFFFF03FFFFFC00000FFFFF0-FFFFFFF00000FFFFF3FF01FFF80000FFFFF7F8007FFE000003FFFFE0001FFF000000FFFF-80000FFF800000FFFF000007FFC00000FFFE000007FFE00000FFFC000003FFF00000FFF8-000001FFF80000FFF8000001FFF80000FFF8000000FFFC0000FFF8000000FFFC0000FFF8-000000FFFE0000FFF80000007FFE0000FFF80000007FFF0000FFF80000007FFF0000FFF8-0000007FFF0000FFF80000007FFF0000FFF80000003FFF8000FFF80000003FFF8000FFF8-0000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF8-0000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF8-0000003FFF8000FFF80000003FFF8000FFF80000003FFF0000FFF80000007FFF0000FFF8-0000007FFF0000FFF80000007FFF0000FFF80000007FFE0000FFF8000000FFFE0000FFF8-000000FFFE0000FFF8000000FFFC0000FFF8000001FFFC0000FFF8000001FFF80000FFFC-000003FFF00000FFFC000003FFF00000FFFE000007FFE00000FFFF00000FFFC00000FFFF-80001FFF800000FFFFC0003FFF000000FFFFF000FFFC000000FFFBFE07FFF8000000FFF8-FFFFFFE0000000FFF87FFFFF80000000FFF81FFFFC00000000FFF803FFC000000000FFF8-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8-000000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFF-F80000000000FFFFFFF80000000000414D7BB54B>I<000001FFE00007800000001FFFF8-000F80000000FFFFFE001F80000003FFFFFF801F8000000FFFF03FC03F8000001FFF800F-E07F8000007FFE0003F07F800000FFFC0001F8FF800001FFF80000FDFF800003FFF00000-7FFF800003FFE000003FFF800007FFE000003FFF80000FFFC000001FFF80001FFFC00000-1FFF80001FFF8000000FFF80003FFF8000000FFF80003FFF8000000FFF80003FFF000000-07FF80007FFF00000007FF80007FFF00000007FF80007FFF00000007FF80007FFE000000-07FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE000000-07FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE000000-07FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE000000-07FF80007FFF00000007FF80007FFF00000007FF80007FFF00000007FF80003FFF000000-07FF80003FFF00000007FF80003FFF80000007FF80001FFF8000000FFF80001FFF800000-0FFF80000FFFC000001FFF80000FFFC000001FFF800007FFE000003FFF800003FFF00000-7FFF800001FFF00000FFFF800000FFF80001FFFF8000007FFC0003FFFF8000003FFF000F-EFFF8000000FFFC07FCFFF80000007FFFFFF0FFF80000001FFFFFE0FFF800000003FFFF8-0FFF8000000003FF800FFF800000000000000FFF800000000000000FFF80000000000000-0FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000000-0FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000000-0FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000000-0FFF800000000000000FFF800000000000000FFF8000000000000FFFFFFF80000000000F-FFFFFF80000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF80414D7CB547->I<007FE003FE00FFFFE00FFF80FFFFE03FFFE0FFFFE07FFFF0FFFFE0FE1FF8FFFFE1F8-3FFC03FFE3E03FFE00FFE3C07FFE00FFE7807FFE00FFEF807FFE00FFEF007FFE00FFEE00-7FFE00FFFE003FFC00FFFC003FFC00FFFC001FF800FFFC000FF000FFF800000000FFF800-000000FFF800000000FFF800000000FFF800000000FFF000000000FFF000000000FFF000-000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000-000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000-000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000-000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000-000000FFF0000000FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC-00002F367CB537>I<0003FFF00F00003FFFFE1F0000FFFFFFFF0003FFFFFFFF0007FF00-3FFF000FF80007FF001FE00001FF003FC00000FF003F8000007F007F8000007F007F0000-003F007F0000003F00FF0000001F00FF0000001F00FF8000001F00FF8000001F00FFC000-001F00FFF000000000FFFC00000000FFFFC00000007FFFFF0000007FFFFFF800003FFFFF-FF00003FFFFFFFC0001FFFFFFFF0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0000FFFF-FFFF00003FFFFFFF80000FFFFFFFC00000FFFFFFC0000007FFFFE00000003FFFE0000000-07FFF000000001FFF0780000007FF0F80000003FF0F80000001FF0FC0000001FF0FC0000-000FF0FC0000000FF0FE0000000FF0FE0000000FE0FF0000000FE0FF8000001FE0FF8000-001FC0FFC000001FC0FFE000003F80FFF800007F00FFFE0001FE00FFFFC00FFC00FF7FFF-FFF800FC1FFFFFE000F807FFFF8000F000FFF800002C387CB635>I<00003E0000000000-3E00000000003E00000000003E00000000003E00000000003E00000000007E0000000000-7E00000000007E00000000007E0000000000FE0000000000FE0000000001FE0000000001-FE0000000001FE0000000003FE0000000007FE0000000007FE000000000FFE000000001F-FE000000003FFE00000000FFFE00000001FFFE0000000FFFFFFFFF00FFFFFFFFFF00FFFF-FFFFFF00FFFFFFFFFF00FFFFFFFFFF00003FFE000000003FFE000000003FFE000000003F-FE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003F-FE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003F-FE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003F-FE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003F-FE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003F-FE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0001FFE000F80001F-FF000F80001FFF000F80000FFF001F00000FFF801F000007FFC03E000003FFF0FC000001-FFFFF80000007FFFF00000001FFFE000000003FF80002A4D7ECB34>I<003FF8000001FF-C000FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFF-C000FFFFF80007FFFFC00003FFF800001FFFC00000FFF8000007FFC00000FFF8000007FF-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF-C00000FFF8000007FFC00000FFF8000007FFC00000FFF800000FFFC00000FFF800000FFF-C00000FFF800000FFFC00000FFF800001FFFC00000FFF800001FFFC000007FF800003FFF-C000007FF800003BFFC000007FF800007BFFC000003FFC0000F3FFC000003FFC0001E3FF-F000001FFE0007C3FFFFC0000FFFC03F83FFFFC00007FFFFFF03FFFFC00001FFFFFE03FF-FFC000007FFFF803FFFFC0000007FFE003FF000042377BB54B>I<FFFFFFF00007FFFFFF-FFFFF00007FFFFFFFFFFF00007FFFFFFFFFFF00007FFFFFFFFFFF00007FFFF01FFF80000-007FE000FFFC0000003F0000FFFC0000003F00007FFC0000003E00007FFE0000007E0000-3FFE0000007C00003FFF000000FC00001FFF000000F800001FFF800001F800000FFF8000-01F000000FFFC00001F000000FFFC00003F0000007FFC00003E0000007FFE00007E00000-03FFE00007C0000003FFF0000FC0000001FFF0000F80000001FFF8001F80000000FFF800-1F00000000FFFC001F00000000FFFC003F000000007FFE003E000000007FFE007E000000-003FFE007C000000003FFF00FC000000001FFF00F8000000001FFF81F8000000000FFF81-F0000000000FFFC3F0000000000FFFC3F00000000007FFE3E00000000007FFE7E0000000-0003FFE7C00000000003FFFFC00000000001FFFF800000000001FFFF800000000000FFFF-000000000000FFFF0000000000007FFE0000000000007FFE0000000000007FFE00000000-00003FFC0000000000003FFC0000000000001FF80000000000001FF80000000000000FF0-0000000000000FF000000000000007E000000000000003C000000040367DB447>I<FFFF-FFE07FFFFFC003FFFFC0FFFFFFE07FFFFFC003FFFFC0FFFFFFE07FFFFFC003FFFFC0FFFF-FFE07FFFFFC003FFFFC0FFFFFFE07FFFFFC003FFFFC001FFF00000FFF000001FF80001FF-F800007FF0000007E00000FFF800007FF8000007C00000FFF800007FF8000007C00000FF-FC00003FF800000FC000007FFC00003FFC00000F8000007FFC00003FFC00000F8000007F-FE00003FFC00001F8000003FFE00007FFE00001F0000003FFF00007FFE00003F0000001F-FF00007FFF00003E0000001FFF0000FFFF00003E0000001FFF8000FFFF00007E0000000F-FF8001FFFF80007C0000000FFFC001F3FF8000FC00000007FFC001F3FFC000F800000007-FFC003F3FFC000F800000007FFE003E1FFC001F800000003FFE007E1FFE001F000000003-FFF007C0FFE001F000000001FFF007C0FFF003E000000001FFF00FC0FFF003E000000001-FFF80F807FF007E000000000FFF80F807FF807C000000000FFF81F003FF807C000000000-FFFC1F003FF80FC0000000007FFC3F003FFC0F80000000007FFE3E001FFC1F8000000000-3FFE3E001FFE1F00000000003FFE7E001FFE1F00000000003FFF7C000FFE3F0000000000-1FFFFC000FFF3E00000000001FFFF80007FF7E00000000000FFFF80007FFFC0000000000-0FFFF80007FFFC00000000000FFFF00003FFFC000000000007FFF00003FFF80000000000-07FFE00001FFF8000000000003FFE00001FFF0000000000003FFE00001FFF00000000000-03FFC00000FFF0000000000001FFC00000FFE0000000000001FF8000007FE00000000000-01FF8000007FE0000000000000FF8000007FC0000000000000FF0000003FC00000000000-007F0000003F800000000000007F0000003F800000000000003E0000001F000000005A36-7DB461>I<7FFFFFF0007FFFFE007FFFFFF0007FFFFE007FFFFFF0007FFFFE007FFFFFF0-007FFFFE007FFFFFF0007FFFFE00007FFE00000FFF0000003FFF000007F80000001FFF80-0007F00000000FFFC0000FE000000007FFC0001FC000000007FFE0003F8000000003FFF0-003F0000000001FFF8007E0000000000FFFC00FC00000000007FFE01FC00000000007FFE-03F800000000003FFF07F000000000001FFF8FE000000000000FFFCFC0000000000007FF-FF80000000000003FFFF00000000000003FFFF00000000000001FFFE00000000000000FF-FC000000000000007FFE000000000000003FFF000000000000003FFF000000000000001F-FF800000000000001FFFC00000000000003FFFE00000000000007FFFF0000000000000FF-FFF0000000000001FDFFF8000000000001F8FFFC000000000003F07FFE000000000007E0-3FFF00000000000FE01FFF00000000001FC01FFF80000000003F800FFFC0000000007F00-07FFE000000000FE0003FFF000000000FC0001FFF800000001F80001FFF800000003F000-00FFFC00000007F000007FFE0000000FE000003FFF0000001FC000001FFF800000FFF000-001FFF8000FFFFFE0001FFFFFFC0FFFFFE0001FFFFFFC0FFFFFE0001FFFFFFC0FFFFFE00-01FFFFFFC0FFFFFE0001FFFFFFC042357EB447>I<FFFFFFF00007FFFFFFFFFFF00007FF-FFFFFFFFF00007FFFFFFFFFFF00007FFFFFFFFFFF00007FFFF00FFF80000007FE000FFFC-0000003F0000FFFC0000003F00007FFE0000003E00007FFE0000007E00003FFE0000007C-00003FFF000000FC00001FFF000000F800001FFF800001F800000FFF800001F000000FFF-C00003F0000007FFC00003E0000007FFE00003E0000007FFE00007E0000003FFF00007C0-000003FFF0000FC0000001FFF8000F80000001FFF8001F80000000FFF8001F00000000FF-FC003F000000007FFC003E000000007FFE007E000000003FFE007C000000003FFF00FC00-0000003FFF00FC000000001FFF80F8000000001FFF81F8000000000FFFC1F0000000000F-FFC3F00000000007FFC3E00000000007FFE7E00000000003FFE7C00000000003FFFFC000-00000001FFFF800000000001FFFF800000000000FFFF000000000000FFFF000000000000-FFFF0000000000007FFE0000000000007FFE0000000000003FFC0000000000003FFC0000-000000001FF80000000000001FF80000000000000FF00000000000000FF0000000000000-07E000000000000007E000000000000007E000000000000007C00000000000000FC00000-000000000F800000000000001F800000000000001F000000000000003F000000001FC000-3E000000003FE0007E000000007FF0007C00000000FFF800FC00000000FFF800F8000000-00FFF801F800000000FFF801F000000000FFF803F000000000FFF807E0000000007FF00F-C0000000007FE01F80000000003FC07F00000000003F81FE00000000001FFFFC00000000-000FFFF0000000000003FFE0000000000000FF000000000000404D7DB447>I<1FFFFFFF-FFFF001FFFFFFFFFFF801FFFFFFFFFFF801FFFFFFFFFFF801FFF80007FFF001FFC0000FF-FF001FF00001FFFE001FE00001FFFC001FC00003FFF8001F800007FFF8001F80000FFFF0-003F00000FFFE0003F00001FFFE0003F00003FFFC0003F00003FFF80003E00007FFF0000-3E0000FFFF00003E0001FFFE00003E0001FFFC00003E0003FFF800003E0007FFF8000000-000FFFF0000000000FFFE0000000001FFFC0000000003FFFC0000000007FFF8000000000-7FFF0000000000FFFF0000000001FFFE0000000001FFFC0000000003FFF8000F800007FF-F8000F80000FFFF0000F80000FFFE0000F80001FFFC0000F80003FFFC0001F80007FFF80-001F00007FFF00001F0000FFFE00001F0001FFFE00003F0003FFFC00003F0003FFF80000-3F0007FFF800007F000FFFF000007F000FFFE00000FF001FFFC00001FF003FFFC00007FF-007FFF80000FFE007FFF0000FFFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE00-7FFFFFFFFFFE0031357CB43C>I E /Fn 54 123 df<000000003FFC0000000001FFFF80-00000007E007C00000001F8001E00000003F0001F00000007E0003F0000000FC0007F000-0000FC0007F0000001F80007F0000001F80007E0000003F0000380000003F00000000000-03F0000000000003F0000000000007F0000000000007E0000000000007E0000000000007-E0000000000007E000000000000FE000000000000FC000000000000FC000000000000FC0-000000000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFE0000001F80007E0000001F8000-7E0000001F8000FE0000003F8000FC0000003F0000FC0000003F0000FC0000003F0001FC-0000003F0001F80000007F0001F80000007E0001F80000007E0003F80000007E0003F000-00007E0003F0000000FE0003F0000000FC0007F0000000FC0007E0000000FC0007E00000-00FC0007E0000001FC000FE0000001FC000FC0000001F8000FC1C00001F8000FC1C00001-F8001FC1C00001F8001F83C00003F8001F83800003F0001F83800003F0001F83800003F0-001F87000007F0001F87000007E0001F0F000007E0000F8E000007E000079E000007E000-03FC00000FE00000F000000FC000000000000FC000000000000FC000000000000F800000-0000001F8000000000001F80000000001C1F00000000007E1F00000000007E3F00000000-00FE3E0000000000FE3C0000000000FE7C0000000000F878000000000078F00000000000-3FE000000000000F800000000000344C82BA2F>12 D<000000007FE00000000003FFFC7E-0000000FC03E7E0000001F000F7E0000003E003FFE0000007C007FFE000000FC007FFC00-0000F8007FFC000001F8007FFC000001F8003DFC000003F00001F8000003F00001F80000-03F00003F8000003F00003F8000007E00003F0000007E00003F0000007E00007F0000007-E00007F000000FE00007E000000FC00007E000000FC0000FE000000FC0000FE000000FC0-000FC0000FFFFFFFFFC0000FFFFFFFFFC0000FFFFFFFFFC000001F80001F8000001F8000-1F8000001F80003F8000003F80003F8000003F00003F0000003F00003F0000003F00007F-0000003F00007F0000007F00007E0000007E00007E0000007E0000FE0000007E0000FE00-00007E0000FC000000FE0000FC000000FC0001FC000000FC0001FC000000FC0001F80000-00FC0001F8000001FC0003F8000001F80003F8000001F80003F0700001F80003F0700001-F80007F0700003F80007F0F00003F00007E0E00003F00007E0E00003F00007E0E00003F0-0007E1C00007F00007E1C00007E00007C3C00007E00003E3800007E00001E7800007E000-00FF00000FC000003C00000FC000000000000FC000000000000FC000000000001F800000-0000001F8000000000001F80000000001C1F00000000007E1F00000000007E3E00000000-00FE3E0000000000FE3C0000000000FE7C0000000000F878000000000078F00000000000-3FE000000000000F800000000000374C82BA31>I<00000000FF00003FF00000000003FF-E001FFFE3F0000000FC0F007E01F3F0000003F00780F8007BF0000007E01F81F001FFF00-00007C03F83E003FFF000000FC03F87E003FFE000001F803F8FC003FFE000001F803F0FC-003FFE000001F801E0FC001EFE000003F00001F80000FC000003F00001F80000FC000003-F00001F80001FC000003F00003F80001FC000007F00003F00001F8000007E00003F00001-F8000007E00003F00003F8000007E00003F00003F8000007E00007F00003F000000FE000-07E00003F000000FC00007E00007F000000FC00007E00007F000000FC00007E00007E000-0FFFFFFFFFFFFFFFE0000FFFFFFFFFFFFFFFE0000FFFFFFFFFFFFFFFE000001F80000FC0-000FC000001F80000FC0000FC000001F80000FC0001FC000003F80001FC0001FC000003F-00001F80001F8000003F00001F80001F8000003F00001F80003F8000003F00001F80003F-8000007F00003F80003F0000007E00003F00003F0000007E00003F00007F0000007E0000-3F00007F0000007E00003F00007E000000FE00007F00007E000000FE00007E0000FE0000-00FC00007E0000FE000000FC00007E0000FC000000FC00007E0000FC000000FC0000FE00-01FC000001FC0000FC0001FC000001F80000FC0001F8380001F80000FC0001F8380001F8-0000FC0003F8380003F80001FC0003F8780003F80001F80003F0700003F00001F80003F0-700003F00001F80003F0700003F00001F80003F0E00007F00003F80003F0E00007F00003-F00003E1E00007E00003F00001F1C00007E00003F00000F3C00007E00003F000007F8000-0FE00007E000001E00000FC00007E000000000000FC00007E000000000000FC00007E000-000000000F80000FC000000000001F80000FC000000000001F80000F80000000001C1F03-801F80000000007E1F0FC01F00000000007E3F0FC01F0000000000FE3E1FC03E00000000-00FE3C1FC07C0000000000FE7C1FC0F80000000000F8780F01F0000000000078F00F83E0-00000000003FE003FF8000000000000F8000FE000000000000504C82BA4A>15-D<01E007F00FF00FF81FF81FF81FF80FF807B0003000300070006000E000C001C0018003-8007000E001C0038007000E000C0000D196EB919>39 D<03C007F00FF01FF01FF81FF81F-F81FF007B0003000700060006000E000C001C00380030007000E001C0038007000E000C0-000D197A8819>44 D<7FFFF87FFFF8FFFFF8FFFFF8FFFFF0150579941E>I<0E003F807F-80FF80FF80FF80FF007E003C000909778819>I<000003F80000001FFE0000007C1F0000-00F807800001E007C00003C003E000078003E0000F8001E0001F0001F0001F0001F0003E-0001F0007E0001F0007C0003F000FC0003F000FC0003F001F80003F001F80003F003F800-07F003F00007F003F00007F007F00007F007F00007E007E0000FE00FE0000FE00FE0000F-E00FE0000FE01FC0001FC01FC0001FC01FC0001FC01FC0001FC03F80003F803F80003F80-3F80003F803F80003F807F00007F007F00007F007F00007F007F00007E007E0000FE007E-0000FE007E0000FC00FE0001FC00FE0001F800FE0001F800FC0003F000FC0003F000FC00-03E0007C0007E0007C0007C0007C000F80007C000F80007C001F00003E003E00003E007C-00001F00F800000F83E0000007FF80000000FE000000243A77B72A>48-D<000000180000003800000078000000F0000001F0000003F0000007F000000FE000001F-E000007FE00003FFE0003FEFC0003F8FC0001C1FC000001FC000001F8000001F8000003F-8000003F8000003F0000003F0000007F0000007F0000007E0000007E000000FE000000FE-000000FC000000FC000001FC000001FC000001F8000001F8000003F8000003F8000003F0-000003F0000007F0000007F0000007E0000007E000000FE000000FE000000FC000000FC0-00001FC000001FC000001F8000001F8000003F8000003F8000003F0000007F8000FFFFFF-80FFFFFF80FFFFFF801D3877B72A>I<000003F80000000FFE0000003C0F800000F007C0-0001E003E00003C003F000078001F000070001F8000E0001F8001E0001F8001C6000FC00-387000FC00383001FC00703001FC00703001FC00F03001FC00E03001FC00E07003FC01E0-6003F801C06003F801C0E003F801C0C007F801C1C007F00181800FF00183800FE001C700-1FC001FE003F800078003F000000007E00000000FC00000001F800000003F000000007C0-0000001F800000003E00000000FC00000001F000000007C00000000F800000001E000000-007C00000000F80000C001F00001C001E00001C003C00001C007800003C00F000003800E-000007801E00000F803C00001F003FF8003F007FFFC07E00783FFFFC00700FFFFC00F007-FFF800E001FFF000E000FFC000E0001F0000263A79B72A>I<000001FC0000000FFF0000-003FFF8000007E07C00001F803E00003F003E00007E001F0000FC001F0001F8001F0003F-8001F8003F0001F8007F0001F8007E0001F800FE0001F800FE0001F801FC0001F801FC00-01F801FC0003F803FC0003F803F80003F803F80003F803F80007F007F80007F007F00007-F007F0000FF007F0000FF007F0000FE003F0001FE003F0001FE003F0003FE003F0007FC0-01F0007FC001F000FFC000F801FFC0007803BF80003C0F3F80001FFC3F000007F07F0000-00007F000000007E00000000FE00000000FC00000001FC00000001F800000003F0000000-03F0003E0007E0007F000FC0007F000F80007F001F0000FE003F0000FC007E00007000F8-00007803F000007C0FE000003FFF8000001FFE00000003F8000000253A78B72A>57-D<0000000001C0000000000003C0000000000003C0000000000007C000000000000FC000-000000000FC000000000001FC000000000001FE000000000003FE000000000003FE00000-0000007FE00000000000FFE00000000000EFE00000000001EFE00000000001CFE0000000-00038FE000000000038FE000000000070FE000000000070FE0000000000E0FE000000000-1E0FE0000000001C0FE000000000380FE000000000380FE000000000700FF00000000070-0FF000000000E007F000000000E007F000000001C007F000000003C007F0000000038007-F0000000070007F0000000070007F00000000E0007F00000000E0007F00000001C0007F0-0000001C0007F0000000380007F00000007FFFFFF00000007FFFFFF0000000FFFFFFF000-0000E00007F8000001C00003F8000001C00003F8000003800003F8000007800003F80000-07000003F800000F000003F800000E000003F800001C000003F800001C000003F8000038-000003F8000078000003F8000070000003F80000F0000003F80003F8000003F80007FC00-0007FC00FFFF8001FFFFF0FFFF8001FFFFF0FFFF8001FFFFF0343C7BBB3E>65-D<0007FFFFFFFC000007FFFFFFFF800007FFFFFFFFC000000FF0001FF000000FE00007F8-00000FE00003F800001FE00003FC00001FE00001FC00001FC00001FE00001FC00001FE00-003FC00000FE00003FC00000FE00003F800001FE00003F800001FE00007F800001FE0000-7F800001FC00007F000003FC00007F000003F80000FF000007F80000FF000007F00000FE-00000FE00000FE00001FC00001FE00003F800001FE00007F000001FC0001FE000001FC00-07F8000003FFFFFFE0000003FFFFFFC0000003F80007F0000003F80001FC000007F80000-FE000007F800007F000007F000003F800007F000003F80000FF000003FC0000FF000001F-C0000FE000001FC0000FE000001FC0001FE000001FC0001FE000003FC0001FC000003FC0-001FC000003FC0003FC000003FC0003FC000007F80003F8000007F80003F8000007F0000-7F800000FF00007F800001FE00007F000003FC00007F000003F80000FF00000FF80000FF-00001FE00000FE00003FC00001FE0001FF8000FFFFFFFFFE0000FFFFFFFFF80000FFFFFF-FFC0000037397BB83A>I<00000003FE000E0000003FFF801E000000FFFFE03C000003FE-01F03C00000FF000787C00003FC0003CFC00007F00001FF80000FE00000FF80003FC0000-0FF80007F8000007F8000FF0000007F0001FE0000003F0003FC0000003F0003F80000003-F0007F00000003E000FF00000003E001FE00000003E001FC00000003E003FC00000003C0-07F800000003C007F800000003C00FF000000003C00FF000000003801FE000000003801F-E000000000001FE000000000003FC000000000003FC000000000003FC000000000007FC0-00000000007F8000000000007F8000000000007F800000000000FF800000000000FF0000-00000000FF000000000000FF000000000000FF000000000000FF000000003800FF000000-003800FF000000007800FE000000007000FF000000007000FF00000000F0007F00000000-E0007F00000001E0007F00000001C0007F00000003C0003F8000000780003F8000000700-001F8000000E00001FC000001E00000FC000003C00000FE0000078000007F00001F00000-03F80003C0000001FE000F800000007F807E000000003FFFFC000000000FFFE000000000-00FF00000000373D74BA3B>I<0003FFFFFFFE00000003FFFFFFFFC0000003FFFFFFFFF0-00000007F8000FF800000007F00003FC00000007F00000FE0000000FF000007F0000000F-F000003F8000000FE000001F8000000FE000001FC000001FE000000FC000001FE000000F-E000001FC000000FE000001FC0000007E000003FC0000007E000003FC0000007F000003F-80000007F000003F80000007F000007F80000007F000007F80000007F000007F00000007-F000007F00000007F00000FF00000007F00000FF0000000FF00000FE0000000FF00000FE-0000000FF00001FE0000000FF00001FE0000000FE00001FC0000001FE00001FC0000001F-E00003FC0000001FE00003FC0000001FC00003F80000003FC00003F80000003FC00007F8-0000003F800007F80000007F800007F00000007F000007F00000007F00000FF0000000FE-00000FF0000000FE00000FE0000001FC00000FE0000001F800001FE0000003F800001FE0-000007F000001FC0000007E000001FC000000FC000003FC000001F8000003FC000003F80-00003F8000007F0000003F800000FC0000007F800003F80000007F800007F00000007F00-001FC0000000FF0001FF8000007FFFFFFFFE000000FFFFFFFFF0000000FFFFFFFF800000-003C397CB83F>I<0007FFFFFFFFFF0007FFFFFFFFFF0007FFFFFFFFFF00000FF00003FF-00000FE000007F00000FE000003E00001FE000003E00001FE000001E00001FC000001E00-001FC000001E00003FC000001E00003FC000001E00003F8000001E00003F8000001C0000-7F8000001C00007F8000001C00007F0003801C00007F0003801C0000FF0007801C0000FF-000780000000FE000700000000FE000F00000001FE000F00000001FE001F00000001FC00-3E00000001FC007E00000003FFFFFE00000003FFFFFE00000003FFFFFC00000003F800FC-00000007F8007C00000007F8003C00000007F0003800000007F000380000000FF0007800-00000FF0007800E0000FE0007000E0000FE0007001E0001FE0007001C0001FE0000001C0-001FC0000003C0001FC000000380003FC000000780003FC000000700003F8000000F0000-3F8000000F00007F8000001E00007F8000003E00007F0000003C00007F0000007C0000FF-000000FC0000FF000001F80000FE000007F80001FE00007FF000FFFFFFFFFFF000FFFFFF-FFFFF000FFFFFFFFFFE00038397BB838>I<0007FFFFFFFFFE0007FFFFFFFFFE0007FFFF-FFFFFE00000FF00007FE00000FE00000FE00000FE000007C00001FE000003C00001FE000-003C00001FC000003C00001FC000003C00003FC000003C00003FC000003C00003F800000-3C00003F8000003800007F8000003800007F8000003800007F0000003800007F00038038-0000FF000780380000FF000780000000FE000700000000FE000700000001FE000F000000-01FE000F00000001FC001E00000001FC003E00000003FC00FE00000003FFFFFE00000003-FFFFFC00000003FFFFFC00000007F800FC00000007F8007C00000007F0007800000007F0-00780000000FF000780000000FF000780000000FE000700000000FE000700000001FE000-F00000001FE000F00000001FC000000000001FC000000000003FC000000000003FC00000-0000003F8000000000003F8000000000007F8000000000007F8000000000007F00000000-00007F000000000000FF000000000000FF000000000000FE000000000001FF0000000000-FFFFFF00000000FFFFFF00000000FFFFFF0000000037397BB836>I<00000003FE000E00-00003FFF801E000000FFFFE03C000003FE01F03C00000FF000787C00003FC0003CFC0000-7F00001FF80000FE00000FF80003FC00000FF80007F8000007F8000FF0000007F0001FE0-000003F0003FC0000003F0003F80000003F0007F00000003E000FF00000003E001FE0000-0003E001FC00000003E003FC00000003C007F800000003C007F800000003C00FF0000000-03C00FF000000003801FE000000003801FE000000000001FE000000000003FC000000000-003FC000000000003FC000000000007FC000000000007F8000000000007F800000000000-7F800000000000FF800000000000FF000000000000FF000007FFFFE0FF000007FFFFE0FF-000007FFFFE0FF00000007FC00FF00000003F800FF00000007F800FF00000007F000FF00-000007F000FF00000007F0007F0000000FF0007F0000000FE0007F0000000FE0007F0000-000FE0003F8000001FE0003F8000001FE0001F8000001FC0001FC000003FC0000FE00000-3FC0000FE000007FC00007F00000FF800003F80003EF800001FE0007C78000007FC03F07-8000003FFFFC030000000FFFF00000000000FF80000000373D74BA40>I<0003FFFFF80F-FFFFE00003FFFFF80FFFFFE00003FFFFF80FFFFFE0000007F800001FE000000007F00000-1FC000000007F000001FC00000000FF000003FC00000000FF000003F800000000FE00000-3F800000000FE000003F800000001FE000007F800000001FE000007F000000001FC00000-7F000000001FC000007F000000003FC00000FF000000003FC00000FE000000003F800000-FE000000003F800000FE000000007F800001FE000000007F800001FC000000007F000001-FC000000007F000001FC00000000FF000003FC00000000FF000003F800000000FE000003-F800000000FE000003F800000001FFFFFFFFF800000001FFFFFFFFF000000001FFFFFFFF-F000000001FC000007F000000003FC00000FF000000003FC00000FE000000003F800000F-E000000003F800000FE000000007F800001FE000000007F800001FC000000007F000001F-C000000007F000001FC00000000FF000003FC00000000FF000003F800000000FE000003F-800000000FE000003F800000001FE000007F800000001FE000007F000000001FC000007F-000000001FC000007F000000003FC00000FF000000003FC00000FE000000003F800000FE-000000003F800000FE000000007F800001FE000000007F800001FC000000007F000001FC-00000000FF000003FC0000007FFFFE01FFFFF80000FFFFFE03FFFFF80000FFFFFE03FFFF-F8000043397CB83E>I<0003FFFFF80003FFFFF80003FFFFF8000007F800000007F00000-0007F00000000FF00000000FF00000000FE00000000FE00000001FE00000001FE0000000-1FC00000001FC00000003FC00000003FC00000003F800000003F800000007F800000007F-800000007F000000007F00000000FF00000000FF00000000FE00000000FE00000001FE00-000001FE00000001FC00000001FC00000003FC00000003FC00000003F800000003F80000-0007F800000007F800000007F000000007F00000000FF00000000FF00000000FE0000000-0FE00000001FE00000001FE00000001FC00000001FC00000003FC00000003FC00000003F-800000003F800000007F800000007F800000007F00000000FF800000FFFFFF0000FFFFFF-0000FFFFFE000025397CB820>I<000007FFFFF0000007FFFFF0000007FFFFF000000007-FC0000000003F80000000003F80000000007F80000000007F00000000007F00000000007-F0000000000FF0000000000FE0000000000FE0000000000FE0000000001FE0000000001F-C0000000001FC0000000001FC0000000003FC0000000003F80000000003F80000000003F-80000000007F80000000007F00000000007F00000000007F0000000000FF0000000000FE-0000000000FE0000000000FE0000000001FE0000000001FC0000000001FC0000000001FC-0000000003FC0000000003F80000000003F80000000003F80000000007F80000000007F8-0000000007F00000000007F0000000000FF0000000000FF000003F000FE000007F000FE0-00007F001FE00000FF001FC00000FF001FC00000FF003F800000FC003F800000E0007F00-0000E000FE0000007000FC0000007001F80000003803F00000001E0FC00000000FFF0000-000001F8000000002C3B78B82C>I<0007FFFFFC000007FFFFFC000007FFFFF80000000F-F8000000000FF0000000000FE0000000001FE0000000001FE0000000001FC0000000001F-C0000000003FC0000000003FC0000000003F80000000003F80000000007F80000000007F-80000000007F00000000007F0000000000FF0000000000FF0000000000FE0000000000FE-0000000001FE0000000001FE0000000001FC0000000001FC0000000003FC0000000003FC-0000000003F80000000003F80000000007F80000000007F80000000007F00000000007F0-000000000FF0000000000FF000000C000FE000001C000FE000001C001FE000003C001FE0-000038001FC0000078001FC0000078003FC0000070003FC00000F0003F800000E0003F80-0001E0007F800003E0007F800003C0007F000007C0007F00000FC000FF00001F8000FF00-003F8000FE0000FF8001FE0007FF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFE002E397B-B834>76 D<0007FFF800000007FFF00007FFF80000000FFFF00007FFF80000001FFFE000-000FF80000001FF00000000FF80000003FE00000000FF80000003FE00000001FF8000000-7FE00000001FF8000000EFC00000001DF8000000EFC00000001CFC000001CFC00000003C-FC000001DFC00000003CFC0000039F8000000038FC0000071F8000000038FC0000071F80-00000078FC00000E3F8000000078FC00000E3F0000000070FC00001C3F0000000070FC00-001C3F00000000F0FC0000387F00000000F0FC0000707E00000000E0FC0000707E000000-00E07E0000E07E00000001E07E0000E0FE00000001E07E0001C0FC00000001C07E000380-FC00000001C07E000380FC00000003C07E000701FC00000003C07E000701F80000000380-7E000E01F800000003807E000E01F800000007807E001C03F800000007807E003803F000-000007007E003803F000000007003F007003F00000000F003F007007F00000000F003F00-E007E00000000E003F01C007E00000000E003F01C007E00000001E003F03800FE0000000-1E003F03800FC00000001C003F07000FC00000001C003F07000FC00000003C003F0E001F-C00000003C003F1C001F8000000038003F1C001F8000000038001FB8001F800000007800-1FB8003F8000000078001FF0003F0000000070001FE0003F0000000070001FE0003F0000-0000F0001FC0007F00000000F0001FC0007E00000001F0001F80007E00000007F8001F80-00FE000000FFFFC01F007FFFFC0000FFFFC01E007FFFFC0000FFFFC00E007FFFFC00004C-397AB84A>I<0003FFF80000FFFFE00003FFF80000FFFFE00003FFFC0000FFFFE0000007-FC000007F800000007FE000003F000000007FE000003E00000000FFE000003C00000000F-FF000003C00000000E7F000003800000000E7F000003800000001E7F800007800000001E-3F800007000000001C3F800007000000001C3FC00007000000003C1FC0000F000000003C-1FE0000E00000000380FE0000E00000000380FE0000E00000000780FF0001E0000000078-07F0001C000000007007F0001C000000007007F8001C00000000F003F8003C00000000F0-03FC003800000000E003FC003800000000E001FC003800000001E001FE007800000001E0-00FE007000000001C000FE007000000001C000FF007000000003C0007F00F000000003C0-007F00E00000000380007F80E00000000380003F80E00000000780003FC1E00000000780-001FC1C00000000700001FC1C00000000700001FE1C00000000F00000FE3C00000000F00-000FE3800000000E00000FF3800000000E000007F3800000001E000007FF800000001E00-0007FF000000001C000003FF000000001C000003FF000000003C000001FF000000003C00-0001FE0000000038000001FE0000000038000000FE0000000078000000FE000000007800-0000FC00000000F80000007C00000003FC0000007C0000007FFFE000003C000000FFFFE0-000038000000FFFFE000003800000043397CB83E>I<0007FFFFFFF8000007FFFFFFFF00-0007FFFFFFFF8000000FF0003FE000000FE0000FF000000FE00003F800001FE00003F800-001FE00001FC00001FC00001FC00001FC00001FC00003FC00001FE00003FC00001FE0000-3F800001FE00003F800001FE00007F800001FE00007F800003FC00007F000003FC00007F-000003FC0000FF000003F80000FF000007F80000FE000007F00000FE00000FE00001FE00-000FE00001FE00001FC00001FC00003F800001FC0000FE000003FC0001FC000003FC000F-F0000003FFFFFFC0000003FFFFFE00000007F8000000000007F8000000000007F0000000-000007F000000000000FF000000000000FF000000000000FE000000000000FE000000000-001FE000000000001FE000000000001FC000000000001FC000000000003FC00000000000-3FC000000000003F8000000000003F8000000000007F8000000000007F8000000000007F-0000000000007F000000000000FF000000000000FF000000000000FE000000000001FE00-00000000FFFFFC00000000FFFFFC00000000FFFFFC0000000037397BB838>80-D<0003FFFFFFF0000003FFFFFFFE000003FFFFFFFF80000007F8003FC0000007F0000FF0-000007F00007F000000FF00003F800000FF00001FC00000FE00001FC00000FE00001FC00-001FE00001FE00001FE00001FE00001FC00001FE00001FC00001FE00003FC00001FE0000-3FC00003FC00003F800003FC00003F800003FC00007F800007F800007F800007F000007F-00000FF000007F00000FE00000FF00001FC00000FF00003F000000FE0000FE000000FE00-01F8000001FE000FE0000001FFFFFF80000001FFFFFC00000001FC003F00000003FC000F-80000003FC000FC0000003F80007E0000003F80007F0000007F80003F0000007F80003F0-000007F00003F0000007F00003F800000FF00007F800000FF00007F000000FE00007F000-000FE00007F000001FE0000FF000001FE0000FF000001FC0000FF000001FC0000FF00000-3FC0000FF000003FC0001FF000003F80001FE007003F80001FE007007F80001FE00F007F-80001FE00E007F00001FE00E00FF00000FE01C7FFFFE000FE03CFFFFFE0007F078FFFFFE-0003F0F00000000000FFE000000000003F80383B7CB83D>82 D<0000003FC00E000001FF-F01C000007FFFC1C00001FC07E3C00003F001F7C00007C000FF80000F80007F80001F000-03F80003E00003F80007C00001F00007C00001F0000F800001F0000F800001F0001F8000-01E0001F000001E0001F000001E0001F000001E0003F000001C0003F000001C0003F0000-01C0003F80000000003F80000000003FC0000000001FE0000000001FFC000000001FFF80-0000000FFFF00000000FFFFE00000007FFFF80000003FFFFE0000000FFFFF00000003FFF-F800000007FFF8000000007FFC000000000FFC0000000003FC0000000001FC0000000001-FC0000000000FC0000000000FC00000000007C000E0000007C000E0000007C000E000000-7C001E000000FC001E000000F8001E000000F8001E000000F8003E000001F0003E000001-F0003E000003E0003E000003E0007F000007C0007F00000F80007F80001F00007FC0003E-0000F9F000FC0000F8FC03F80000F07FFFE00000E01FFF800000C003FC0000002F3D7ABA-2F>I<FFFFF80003FFFEFFFFF80003FFFEFFFFF80003FFFC03FE0000007FC003FC000000-3F0001FC0000003E0001FC0000003C0001FC000000380001FC000000700001FC00000070-0001FC000000E00001FC000001E00001FC000001C00001FE000003800001FE0000038000-00FE000007000000FE00000F000000FE00000E000000FE00001C000000FE00001C000000-FE000038000000FE000038000000FE000070000000FE0000E0000000FE0000E0000000FF-0001C00000007F0001C00000007F0003800000007F0007800000007F0007000000007F00-0E000000007F000E000000007F001C000000007F003C000000007F0038000000007F0070-000000007F8070000000003F80E0000000003F81E0000000003F81C0000000003F838000-0000003F8380000000003F8700000000003F8700000000003F8E00000000003F9E000000-00003F9C00000000003FF800000000003FF800000000001FF000000000001FF000000000-001FE000000000001FC000000000001FC000000000001F8000000000001F800000000000-1F0000000000001E0000000000001E0000000000373B6FB83E>86-D<FFFFF80FFFFF001FFFF0FFFFF80FFFFF003FFFF0FFFFF00FFFFF003FFFE007FE00007F-E00003FE0003F800003F800001FC0003F800003F800000F00003F800003F800000F00003-F800003F800001E00003F800003F800001C00003F800003F800003C00003F800003F8000-03800003F800003F800007800003F800007F800007000003F800007F80000E000003F800-00FF80000E000003F80001FF80001C000003F80001FF80001C000003F80003BF80003800-0003FC0003BF800038000001FC00073F800070000001FC00073F800070000001FC000E3F-8000E0000001FC000E3FC000E0000001FC001C1FC001C0000001FC001C1FC003C0000001-FC00381FC00380000001FC00381FC00700000001FC00701FC00700000001FC00F01FC00E-00000001FC00E01FC00E00000001FC01C01FC01C00000001FC01C01FC01C00000001FC03-801FC03800000001FC03801FC03800000001FC07001FC07000000001FC07001FC0700000-0001FC0E001FC0E000000001FC0E001FC1E000000001FC1C001FC1C000000001FC1C001F-C38000000001FC38001FC38000000001FC78001FC70000000001FC70001FC70000000001-FCE0001FCE0000000001FEE0001FCE0000000000FFC0001FDC0000000000FFC0001FDC00-00000000FF80001FF80000000000FF80001FF80000000000FF00001FF00000000000FF00-000FF00000000000FE00000FE00000000000FE00000FC00000000000FC00000FC0000000-0000FC00000F800000000000F800000F800000000000F000000F000000000000F000000F-000000000000E000000E00000000004C3B6FB853>I<0000F800000007FE0000001F871C-00003E03FE00007C03FE0000F801FE0001F801FE0003F000FC0007E000FC000FE000FC00-0FC001FC001FC001F8001FC001F8003F8001F8003F8003F8007F8003F0007F0003F0007F-0003F0007F0007F000FF0007E000FE0007E000FE0007E000FE000FE000FE000FC000FC00-0FC1C0FC000FC1C0FC001FC1C0FC001F83C0FC001F8380FC003F8380FC003F87807C007F-87007C00FF07003E01FF0F003E038F8E001F0F079E0007FE03FC0001F000F000222677A4-2A>97 D<003F00001FFF00001FFF00001FFF0000007F0000007E0000007E0000007E0000-00FE000000FC000000FC000000FC000001FC000001F8000001F8000001F8000003F80000-03F0000003F0000003F0000007F0000007E0F80007E7FE0007EF0F800FFC07C00FF807C0-0FF003E00FE003E01FC003F01FC003F01F8003F01F8003F03F8003F03F0003F03F0003F0-3F0007F07F0007F07E0007F07E0007F07E000FF0FE000FF0FC000FE0FC000FE0FC001FE0-FC001FC0F8001FC0F8003F80F8003F80F8003F00F8007F00F8007E00F800FC007801F800-7C01F0003C03E0003E07C0001E1F80000FFE000001F000001C3B77B926>I<00007F0000-03FFC0000FC1E0001F0070007E007800FC003801F801F803F003F807F003F807E003F80F-E003F81FC003F01FC000003F8000003F8000007F8000007F0000007F0000007F000000FF-000000FE000000FE000000FE000000FE000000FC000000FC000000FC000000FC000030FC-000038FC0000787C0000F07E0001E03E0003C03E000F801F003E000F81F80003FFE00000-FF00001D2677A426>I<00000001F8000000FFF8000000FFF8000000FFF800000003F800-000003F000000003F000000007F000000007F000000007E000000007E00000000FE00000-000FE00000000FC00000000FC00000001FC00000001FC00000001F800000001F80000000-3F800000003F800000F83F000007FE3F00001F877F00003E03FF00007C03FE0000F801FE-0001F801FE0003F000FE0007E000FC000FE000FC000FC001FC001FC001FC001FC001F800-3F8001F8003F8003F8007F8003F8007F0003F0007F0003F0007F0007F000FF0007F000FE-0007E000FE0007E000FE000FE000FE000FE000FC000FC1C0FC000FC1C0FC001FC1C0FC00-1FC3C0FC001F8380FC003F8380FC003F87807C007F87007C00FF07003E01FF0F003E038F-8E001F0F079E0007FE03FC0001F000F000253B77B92A>I<00007F000003FFC0000FC1E0-003F00F0007E007800FC007801F8007803F0007807E000780FE000780FC000F81FC000F0-3F8001F03F8007E03F801F807F81FF007FFFF8007FFF00007F000000FF000000FE000000-FE000000FE000000FE000000FE000000FC000000FC000000FC0000307C0000387C000078-7E0000F03E0001E03E0003C01F000F800F003E000781F80003FFE00000FF00001D2677A4-26>I<00000007C00000001FF00000003E380000007C3C000000F8FC000000F9FC000001-F9FC000001F1FC000003F1F8000003F0F0000003F000000007F000000007E000000007E0-00000007E000000007E00000000FE00000000FC00000000FC00000000FC00000000FC000-00001FC00000001F8000000FFFFFC0001FFFFFC0001FFFFF8000003F800000003F000000-003F000000003F000000003F000000007F000000007E000000007E000000007E00000000-7E00000000FE00000000FC00000000FC00000000FC00000000FC00000001FC00000001F8-00000001F800000001F800000001F800000003F800000003F000000003F000000003F000-000003F000000007F000000007E000000007E000000007E000000007E00000000FE00000-000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F80000000-1F000000003F0000001C3F0000007E3E0000007E3E000000FE3C000000FE7C000000FE78-000000F8F000000078F00000003FC00000000F80000000264C82BA19>I<000007C00000-003FF0000000FC38E00001F01FF00003E01FF00007C00FF0000F800FF0001F8007F0003F-0007E0007F0007E0007E000FE000FE000FE000FC000FC001FC000FC001FC001FC003FC00-1FC003F8001F8003F8001F8003F8003F8007F8003F8007F0003F0007F0003F0007F0007F-0007F0007F0007E0007E0007E0007E0007E000FE0007E000FE0007E000FC0003E001FC00-03E003FC0003E007FC0001F00FF80000F01FF80000787BF800003FF3F800000FC3F00000-0003F000000007F000000007F000000007E000000007E00000000FE00000000FC0001C00-0FC0007E001FC0007E001F8000FE003F0000FE007E0000FE00FC00007801F800007C07E0-00001FFF80000003FE00000024367CA426>I<0003F0000001FFF0000001FFF0000001FF-F000000007F000000007E000000007E000000007E00000000FE00000000FC00000000FC0-0000000FC00000001FC00000001F800000001F800000001F800000003F800000003F0000-00003F000000003F000000007F000000007E07F000007E1FFC00007E783E0000FFE01F00-00FFC01F8000FF800F8000FF000F8001FE000F8001FE000FC001FC000FC001F8001F8003-F8001F8003F0001F8003F0001F8003F0003F8007F0003F0007E0003F0007E0003F0007E0-007F000FE0007E000FC0007E000FC000FE000FC000FC001FC000FC001F8001FC1C1F8001-F81C1F8001F83C3F8003F8383F0003F0383F0003F0383F0003F0707F0003E0707E0003E0-F07E0003E0E07E0003E1C0FE0001E380FC0000FF003800003C00263B7BB92A>I<0001C0-0007E00007F0000FF0000FE00007E0000380000000000000000000000000000000000000-00000000000000000000000000000000F00003FC00071E000E1F001C1F001C1F00381F00-383F00703F00703F00707F00F07E00E07E00E0FE0000FC0000FC0001FC0001F80003F800-03F80003F00007F00007E00007E0000FE0E00FC0E00FC1E01FC1C01F81C01F81C01F8380-1F03801F07001F07001F0E000F1C0007F80001E000143879B619>I<0003F0000001FFF0-000001FFF0000001FFF000000007F000000007E000000007E000000007E00000000FE000-00000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F800000-003F800000003F000000003F000000003F000000007F000000007E000F80007E003FE000-7E00F0E000FE01C1F000FC0387F000FC0707F000FC0E07F001FC1C07E001F83807E001F8-30038001F870000003F8E0000003F1C0000003F380000003FF00000007FC00000007FE00-000007FFC0000007E7F800000FE1FC00000FC07E00000FC07F00000FC03F00001FC03F80-001F801F81C01F801F81C01F801F83C03F803F83803F003F03803F003F03803F003F0780-7F003F07007E003E07007E001E0E007E001E1E00FE000F3C00FC0007F800380001E00024-3B7BB926>107 D<000FC007FFC007FFC007FFC0001FC0001F80001F80003F80003F8000-3F00003F00007F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0001-F80001F80003F80003F80003F00003F00007F00007F00007E00007E0000FE0000FE0000F-C0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F00007E-0E007E0E00FE0E00FE1E00FC1C00FC1C00FC3C00FC3800F83800F878007870007CE0001F-E0000F8000123B79B915>I<01E000FE0007F00007F803FF801FFC000E3C0F07C0783E00-1E3E3C03E1E01F001C1F7803F3C01F80383FF001F7800F80383FE001F7000F80783FC001-FE000F80703FC001FE000FC0703F8001FC000FC0703F0003F8001F80F07F0003F8001F80-E07E0003F0001F80E07E0003F0001F80007E0007F0003F8000FE0007F0003F0000FC0007-E0003F0000FC0007E0003F0000FC000FE0007F0001FC000FE0007E0001F8000FC0007E00-01F8000FC000FE0001F8001FC000FC0003F8001FC000FC0003F0001F8001FC1C03F0001F-8001F81C03F0003F8001F83C07F0003F8003F83807E0003F0003F03807E0003F0003F038-07E0007F0003F0700FE0007F0003E0700FC0007E0003E0F00FC0007E0003E0E00FC000FE-0003E1C01FC000FE0001E3C01F8000FC0000FF000700003800003C003E2679A444>I<01-E000FE000007F803FF80000E3C0F07C0001E3E3C03E0001C1F7803F000383FF001F00038-3FE001F000783FC001F000703FC001F800703F8001F800703F0003F000F07F0003F000E0-7E0003F000E07E0003F000007E0007F00000FE0007E00000FC0007E00000FC0007E00000-FC000FE00001FC000FC00001F8000FC00001F8001FC00001F8001F800003F8001F800003-F0003F838003F0003F038003F0003F078007F0007F070007E0007E070007E0007E070007-E0007E0E000FE0007C0E000FC0007C1E000FC0007C1C000FC0007C38001FC0003C78001F-80001FE000070000078000292679A42F>I<00007F000003FFC0000FC1F0001F00F8007E-007C00FC007C01F8007E03F0003E07F0003F07E0003F0FE0003F1FC0003F1FC0003F3F80-003F3F80007F7F80007F7F00007F7F00007F7F0000FFFF0000FFFE0000FEFE0000FEFE00-01FEFE0001FCFC0001FCFC0003F8FC0003F8FC0007F0FC0007E0FC000FE07C000FC07E00-1F803E003F003E007E001F00F8000F83F00003FFC00000FE0000202677A42A>I<000780-07C000001FE03FF000003CF0787C000038F8E03E0000787FC03E0000707F801F000070FF-001F0000F0FE001F8000E0FE001F8000E0FC001F8001E1FC001F8001C1FC001F8001C1F8-001F8001C1F8001F800003F8003F800003F8003F800003F0003F800003F0003F800007F0-007F800007F0007F800007E0007F000007E0007F00000FE000FF00000FE000FE00000FC0-00FE00000FC001FC00001FC001FC00001FC001F800001F8003F800001F8003F000003F80-07E000003FC00FC000003FC00F8000003FE01F0000007FE03E0000007F70FC0000007E3F-F00000007E0F80000000FE0000000000FE0000000000FC0000000000FC0000000001FC00-00000001FC0000000001F80000000001F80000000003F80000000003F80000000003F000-00000007F000000000FFFFC0000000FFFFC0000000FFFFC0000000293580A42A>I<0000-F8030007FE07001F871F003E03BF007C03FE00F801FE01F801FE03F000FE07E000FC0FE0-00FC0FC000FC1FC001FC1FC001F83F8001F83F8001F87F8003F87F0003F07F0003F07F00-03F0FF0007F0FE0007E0FE0007E0FE0007E0FE000FE0FC000FC0FC000FC0FC000FC0FC00-1FC0FC001F80FC003F80FC003F807C007F807C00FF003E01FF003E03BF001F0F7F0007FE-7E0001F07E0000007E000000FE000000FC000000FC000000FC000001FC000001F8000001-F8000001F8000003F8000003F0000007F00001FFFFC001FFFFC001FFFFC0203577A426>-I<03C003F0000FF01FFC001E783C0F001C7C700F003C3EE03F80383FC03F80387F803F80-787F803F00707F003F00707F001C00F07E000000E0FE000000E0FC000000E0FC00000000-FC00000001FC00000001F800000001F800000001F800000003F800000003F000000003F0-00000003F000000007F000000007E000000007E000000007E00000000FE00000000FC000-00000FC00000000FC00000001FC00000001F800000001F800000001F800000003F800000-003F000000000E00000000212679A423>I<0000FE000007FF80000F83C0003E00E0007C-00F00078007000F800F001F803F001F003F001F003F001F003E003F001C003F8000003FC-000003FFC00001FFF80001FFFE0000FFFF00007FFF80003FFF80000FFFC00000FFC00000-3FC000001FC000000FC03E000FC07E000FC0FE000F80FE000F80FE000F80FC001F00E000-1F00F0003E0070007C003800F8001E03E0000FFFC00001FE00001C267AA422>I<000380-0007C0000FC0000FC0000FC0000FC0001FC0001F80001F80001F80003F80003F00003F00-003F00007F00007E007FFFFF7FFFFFFFFFFF00FC0000FC0000FC0001FC0001F80001F800-01F80003F80003F00003F00003F00007F00007E00007E00007E0000FE0000FC0000FC000-0FC0001FC0001F801C1F801C1F803C3F80383F00783F00703F00F03F00E03F01C03E03C0-1F07800F0F0007FC0001F000183579B31C>I<00F800000003FE0001C0078F0003E00E0F-8007E01E0F8007E01C0F8007E0380F800FE0381F800FE0781F800FC0701F800FC0703F80-1FC0F03F001FC0E03F001F80E07F001F80007E003F80007E003F8000FE003F0000FC003F-0000FC007F0001FC007F0001F8007E0001F8007E0001F800FE0003F800FE0003F000FC0E-03F000FC0E03F001FC1E03F001FC1C03F001F81C03E001F81C03E001F83C03F003F83803-F007F83801F007F07001F01EF8F000F83C78E0003FF03FC0000FC00F00272679A42D>I<-00F0000E0003FC003F00071E007F800E1F007F801C1F007F803C1F007F80381F003F8038-3F001F80703F000F80703F000F80707F000F80F07E000F00E07E000700E0FE00070000FC-000F0000FC000E0001FC000E0001F8000E0001F8001E0003F8001C0003F0001C0003F000-1C0003F0003C0007F000380007E000380007E000700007E000700007E000700007E000E0-0007E000E00007E001C00007E003C00003E003800003F007000001F00E000000F83C0000-007FF80000000FC00000212679A426>I<00F0000000070003FC0003801F80071E0007C0-3FC00E1F000FC03FC01C1F000FC03FC03C1F000FC03FC0381F001FC01FC0383F001F800F-C0703F001F8007C0703F001F8007C0707F003F8007C0F07E003F800780E07E003F000380-E0FE003F00038000FC007F00078000FC007F00070001FC007E00070001F8007E00070001-F800FE000F0003F800FE000E0003F000FC000E0003F000FC000E0003F000FC001E0007F0-01FC001C0007E001F8001C0007E001F8003C0007E001F800380007E001F800380007E001-F800780007E001F800700007E003F800F00007E003F800E00003E007F801E00003F00FFC-03C00001F01E7C07800000FC3C3E0F0000003FF81FFE0000000FE003F00000322679A437->I<0007E007C0001FF81FF800787C383C00F03E703C01E01EE0FE03C01FE0FE03801FC0-FE07001FC0FC0F001F80FC0E001F80700E003F80001E003F00001C003F00001C003F0000-00007F000000007F000000007E000000007E00000000FE00000000FE00000000FC000000-00FC00000001FC00000001FC00000001F800700001F800700003F800F00003F800E01C03-F000E07E03F001E07E07F001C0FE07F00380FE0FF00780FE0EF00F00781CF81E0078387C-3C003FF03FF00007C00FC00027267CA427>I<00F000000003FC0001C0071E0003E00E1F-0007E01C1F0007E03C1F0007E0381F000FE0383F000FC0703F000FC0703F000FC0707F00-1FC0F07E001F80E07E001F80E0FE001F8000FC003F8000FC003F0001FC003F0001F8003F-0001F8007F0003F8007E0003F0007E0003F0007E0003F000FE0007F000FC0007E000FC00-07E000FC0007E001FC0007E001F80007E001F80007E001F80007E003F80007E003F00007-E007F00003E00FF00003F01FF00001F87FE000007FF7E000001FC7E00000000FE0000000-0FC00000000FC00000001FC0003F001F80007F003F80007F003F00007F007E00007F007C-00007E00FC00007001F800007003E000003807C000003C1F8000000FFE00000003F00000-00233679A428>I<0003C00380000FF00780001FF80700003FFC0F00007FFC0E0000FFFE-1E0000F83FFC0001F007F80001E000F00001C000E00001C001E000000003C00000000780-0000000F000000001E000000003C000000007800000000F000000001E000000003C00000-0007800000000F000000001E000000003C0000000078001C0000F0001C0001E0003C0003-C00038000380007800078000F8000FF801F0001FFF07E0003E1FFFE0003C0FFFC000780F-FF80007007FF0000F003FC0000E000F0000021267BA422>I E /Fo-23 121 df<000000003FFF000000000000000007FFFFF8000000000000003FFFFFFF0000-0000000001FFFFFFFFE0000000000007FFFFFFFFF800000000001FFFFFFFFFFE00000000-003FFFF807FFFF0000000000FFFFC000FFFFC000000001FFFF00003FFFE000000003FFFC-00000FFFF000000007FFF8000007FFF80000000FFFF0000003FFFC0000001FFFE0000001-FFFE0000003FFFC0000000FFFF0000003FFF800000007FFF0000007FFF800000007FFF80-0000FFFF000000003FFFC00000FFFF000000003FFFC00001FFFE000000001FFFE00001FF-FE000000001FFFE00003FFFE000000001FFFF00003FFFE000000001FFFF00007FFFE0000-00001FFFF80007FFFC000000000FFFF8000FFFFC000000000FFFFC000FFFFC000000000F-FFFC000FFFFC000000000FFFFC001FFFFC000000000FFFFE001FFFFC000000000FFFFE00-1FFFFC000000000FFFFE001FFFFC000000000FFFFE003FFFFC000000000FFFFF003FFFF8-0000000007FFFF003FFFF80000000007FFFF003FFFF80000000007FFFF003FFFF8000000-0007FFFF007FFFF80000000007FFFF807FFFF80000000007FFFF807FFFF80000000007FF-FF807FFFF80000000007FFFF807FFFF80000000007FFFF807FFFF80000000007FFFF807F-FFF80000000007FFFF807FFFF80000000007FFFF80FFFFF80000000007FFFFC0FFFFF800-00000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF800000000-07FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFF-C0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFF-F80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000-000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007-FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0-FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF8-0000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF8000000-0007FFFFC07FFFF80000000007FFFF807FFFF80000000007FFFF807FFFF80000000007FF-FF807FFFF80000000007FFFF807FFFF80000000007FFFF807FFFF80000000007FFFF807F-FFF80000000007FFFF807FFFF80000000007FFFF803FFFF80000000007FFFF003FFFFC00-0000000FFFFF003FFFFC000000000FFFFF003FFFFC000000000FFFFF003FFFFC00000000-0FFFFF001FFFFC000000000FFFFE001FFFFC000000000FFFFE001FFFFC000000000FFFFE-000FFFFC000000000FFFFC000FFFFC000000000FFFFC000FFFFC000000000FFFFC0007FF-FE000000001FFFF80007FFFE000000001FFFF80007FFFE000000001FFFF80003FFFE0000-00001FFFF00003FFFE000000001FFFF00001FFFF000000003FFFE00001FFFF000000003F-FFE00000FFFF800000007FFFC000007FFF800000007FFF8000007FFFC0000000FFFF8000-003FFFC0000000FFFF0000001FFFE0000001FFFE0000000FFFF0000003FFFC00000007FF-F8000007FFF800000003FFFC00000FFFF000000001FFFF00003FFFE000000000FFFFC000-FFFFC0000000007FFFF807FFFF80000000001FFFFFFFFFFE000000000007FFFFFFFFF800-0000000001FFFFFFFFE00000000000007FFFFFFF8000000000000007FFFFF80000000000-0000003FFF0000000000527379F061>48 D<0000000001F00000000000000007F8000000-000000000FF8000000000000003FF8000000000000007FF800000000000001FFF8000000-0000000FFFF80000000000003FFFF8000000000001FFFFF800000000003FFFFFF8000000-000FFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000-FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFE7FFFF8000000FFFFC07FFFF8000000-FFF0007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000-0000007FFFF80000000000007FFFF80000000000007FFFF80000007FFFFFFFFFFFFFFFF0-7FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF0-7FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF0447171F061>I<0000-000FFFE000000000000001FFFFFF8000000000000FFFFFFFF000000000007FFFFFFFFE00-00000001FFFFFFFFFF8000000003FFFFFFFFFFE00000000FFFFFFFFFFFF80000003FFFFF-FFFFFFFC0000007FFFC01FFFFFFF000000FFFC0001FFFFFF800001FFE000007FFFFFC000-03FF8000001FFFFFE00007FF0000000FFFFFF0000FFE00000007FFFFF8001FFC00000003-FFFFFC001FFF00000001FFFFFE003FFFC0000000FFFFFF003FFFF00000007FFFFF007FFF-F80000007FFFFF807FFFFC0000003FFFFF807FFFFE0000003FFFFFC0FFFFFE0000001FFF-FFC0FFFFFE0000001FFFFFE0FFFFFF0000000FFFFFE0FFFFFF0000000FFFFFE0FFFFFF00-00000FFFFFE0FFFFFF00000007FFFFF0FFFFFF00000007FFFFF0FFFFFF00000007FFFFF0-FFFFFF00000007FFFFF0FFFFFF00000007FFFFF07FFFFE00000007FFFFF07FFFFE000000-07FFFFF07FFFFE00000007FFFFF03FFFFC00000007FFFFF01FFFF800000007FFFFF00FFF-F000000007FFFFF003FFC000000007FFFFF000FF0000000007FFFFF000000000000007FF-FFE00000000000000FFFFFE00000000000000FFFFFE00000000000000FFFFFE000000000-00001FFFFFC00000000000001FFFFFC00000000000001FFFFF800000000000003FFFFF80-0000000000003FFFFF000000000000007FFFFF000000000000007FFFFE00000000000000-7FFFFC00000000000000FFFFF800000000000001FFFFF800000000000001FFFFF0000000-00000003FFFFE000000000000003FFFFC000000000000007FFFF800000000000000FFFFF-000000000000000FFFFE000000000000001FFFFC000000000000003FFFF0000000000000-007FFFE0000000000000007FFFC000000000000000FFFF8000000000000001FFFE000000-0000000003FFFC0000000000000007FFF8000000000000000FFFE0000000000000001FFF-C0000000000000001FFF80000000000000003FFF00000000000000007FFC000000000000-0000FFF80000000000000001FFF00000000000000003FFE00000000000000007FF800000-0FF00000000FFF0000000FF00000001FFE0000000FF00000003FFC0000000FF00000007F-F80000001FE0000000FFE00000001FE0000001FFC00000001FE0000003FF800000001FE0-000007FF000000001FE000000FFE000000003FE000001FFC000000003FE000003FF00000-00003FC000003FE0000000003FC000007FC0000000007FC00000FF80000000007FC00001-FF0000000000FFC00003FC0000000007FFC00007FFFFFFFFFFFFFFC0000FFFFFFFFFFFFF-FFC0001FFFFFFFFFFFFFFF80003FFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFF8000FFFFFF-FFFFFFFFFF8001FFFFFFFFFFFFFFFF8003FFFFFFFFFFFFFFFF8007FFFFFFFFFFFFFFFF80-0FFFFFFFFFFFFFFFFF801FFFFFFFFFFFFFFFFF003FFFFFFFFFFFFFFFFF007FFFFFFFFFFF-FFFFFF00FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF00FFFF-FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFF-FE00FFFFFFFFFFFFFFFFFE004C7176F061>I<00000001FFFE000000000000003FFFFFF8-000000000001FFFFFFFF00000000000FFFFFFFFFE0000000003FFFFFFFFFF8000000007F-FFFFFFFFFE00000001FFFFFFFFFFFF80000003FFFF003FFFFFC000000FFFF00007FFFFF0-00001FFF800001FFFFF800003FFE000000FFFFFC00007FF80000007FFFFE00007FE00000-003FFFFE0000FFF00000003FFFFF0001FFFC0000001FFFFF8001FFFF0000001FFFFF8003-FFFF8000000FFFFFC003FFFFC000000FFFFFC003FFFFE000000FFFFFC007FFFFE000000F-FFFFE007FFFFF000000FFFFFE007FFFFF000000FFFFFE007FFFFF000000FFFFFE007FFFF-F000000FFFFFE007FFFFF000000FFFFFE007FFFFF000000FFFFFE007FFFFF000000FFFFF-E007FFFFF000000FFFFFE007FFFFF000000FFFFFE003FFFFE000000FFFFFE003FFFFE000-000FFFFFC001FFFFC000001FFFFFC000FFFF8000001FFFFFC0007FFF0000001FFFFF8000-3FFE0000001FFFFF80000FF80000003FFFFF800000000000003FFFFF000000000000003F-FFFE000000000000007FFFFE000000000000007FFFFC00000000000000FFFFF800000000-000001FFFFF000000000000001FFFFE000000000000003FFFFC000000000000007FFFF80-0000000000000FFFFF000000000000001FFFFC000000000000003FFFF800000000000001-FFFFE00000000000007FFFFF8000000000007FFFFFFE000000000000FFFFFFF800000000-0000FFFFFFC0000000000000FFFFFFF8000000000000FFFFFFFF8000000000007FFFFFFF-F0000000000000003FFFFC0000000000000007FFFF0000000000000001FFFFC000000000-000000FFFFE0000000000000007FFFF8000000000000003FFFFC000000000000001FFFFE-000000000000001FFFFF000000000000000FFFFF800000000000000FFFFFC00000000000-0007FFFFE000000000000007FFFFF000000000000007FFFFF000000000000003FFFFF800-000000000003FFFFFC00000000000003FFFFFC00000000000003FFFFFC00000000000001-FFFFFE00000000000001FFFFFE00000000000001FFFFFE00000000000001FFFFFF00FF80-00000001FFFFFF03FFE000000001FFFFFF07FFF000000001FFFFFF1FFFFC00000001FFFF-FF3FFFFE00000001FFFFFF3FFFFE00000001FFFFFF7FFFFF00000001FFFFFF7FFFFF0000-0001FFFFFFFFFFFF80000001FFFFFFFFFFFF80000001FFFFFFFFFFFF80000001FFFFFFFF-FFFF80000001FFFFFEFFFFFF80000001FFFFFEFFFFFF80000001FFFFFEFFFFFF80000003-FFFFFEFFFFFF80000003FFFFFCFFFFFF80000003FFFFFCFFFFFF00000003FFFFFC7FFFFF-00000003FFFFF87FFFFE00000007FFFFF87FFFFC00000007FFFFF03FFFF80000000FFFFF-E03FFFF00000000FFFFFE01FFFC00000001FFFFFC00FFF000000001FFFFF800FFF000000-003FFFFF0007FF800000007FFFFE0003FFF0000000FFFFFC0001FFFC000001FFFFF80000-7FFFC00007FFFFF000003FFFFE003FFFFFC000000FFFFFFFFFFFFF80000007FFFFFFFFFF-FE00000001FFFFFFFFFFF8000000003FFFFFFFFFE0000000000FFFFFFFFF000000000000-FFFFFFF000000000000007FFFE00000000507378F061>I<000000000000000FF0000000-0000000000001FF80000000000000000003FF80000000000000000003FF8000000000000-0000007FF8000000000000000000FFF8000000000000000001FFF8000000000000000001-FFF8000000000000000003FFF8000000000000000007FFF800000000000000000FFFF800-000000000000001FFFF800000000000000001FFFF800000000000000003FFFF800000000-000000007FFFF80000000000000000FFFFF80000000000000000FFFFF800000000000000-01FFFFF80000000000000003FFFFF80000000000000007FFFFF80000000000000007FFFF-F8000000000000000FFFFFF8000000000000001FFFFFF8000000000000003FFFFFF80000-00000000007FFFFFF8000000000000007FBFFFF800000000000000FF3FFFF80000000000-0001FF3FFFF800000000000003FE3FFFF800000000000003FC3FFFF800000000000007F8-3FFFF80000000000000FF83FFFF80000000000001FF03FFFF80000000000003FE03FFFF8-0000000000003FC03FFFF80000000000007FC03FFFF8000000000000FF803FFFF8000000-000001FF003FFFF8000000000001FE003FFFF8000000000003FC003FFFF8000000000007-FC003FFFF800000000000FF8003FFFF800000000001FF0003FFFF800000000001FE0003F-FFF800000000003FE0003FFFF800000000007FC0003FFFF80000000000FF80003FFFF800-00000000FF00003FFFF80000000001FE00003FFFF80000000003FE00003FFFF800000000-07FC00003FFFF80000000007F800003FFFF8000000000FF000003FFFF8000000001FF000-003FFFF8000000003FE000003FFFF8000000007FC000003FFFF8000000007F8000003FFF-F800000000FF0000003FFFF800000001FF0000003FFFF800000003FE0000003FFFF80000-0003FC0000003FFFF800000007F80000003FFFF80000000FF80000003FFFF80000001FF0-0000003FFFF80000003FE00000003FFFF80000003FC00000003FFFF80000007FC0000000-3FFFF8000000FF800000003FFFF8000001FF000000003FFFF8000001FE000000003FFFF8-000003FC000000003FFFF8000007FC000000003FFFF800000FF8000000003FFFF800001F-F0000000003FFFF800001FE0000000003FFFF800003FE0000000003FFFF800007FC00000-00003FFFF80000FF80000000003FFFF80000FFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF-FFFFFFFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFF-FCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFC0000-00000000FFFFF80000000000000000FFFFF80000000000000000FFFFF800000000000000-00FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFF-F80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000-000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000-000000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000-FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8-000000000007FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC00-000007FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC00000007-FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC56727BF161>I<0070000000000000700000-FE000000000001F80000FF80000000000FF80000FFF8000000007FF80000FFFF80000007-FFF80000FFFFFE0001FFFFF80000FFFFFFFFFFFFFFF00000FFFFFFFFFFFFFFE00000FFFF-FFFFFFFFFFC00000FFFFFFFFFFFFFFC00000FFFFFFFFFFFFFF800000FFFFFFFFFFFFFF00-0000FFFFFFFFFFFFFE000000FFFFFFFFFFFFFC000000FFFFFFFFFFFFF8000000FFFFFFFF-FFFFE0000000FFFFFFFFFFFFC0000000FFFFFFFFFFFF80000000FFFFFFFFFFFE00000000-FFFFFFFFFFF800000000FFFFFFFFFFF000000000FFFFFFFFFFC000000000FFFFFFFFFF00-00000000FFFFFFFFF80000000000FFFFFFFFC00000000000FF07FFF8000000000000FF00-0000000000000000FF000000000000000000FF000000000000000000FF00000000000000-0000FF000000000000000000FF000000000000000000FF000000000000000000FF000000-000000000000FF000000000000000000FF000000000000000000FF000000000000000000-FF000000000000000000FF000000000000000000FF000000000000000000FF0000000000-00000000FF000000000000000000FF0001FFFC0000000000FF001FFFFFE000000000FF00-FFFFFFFC00000000FF03FFFFFFFF00000000FF0FFFFFFFFFC0000000FF1FFFFFFFFFF000-0000FF7FFF003FFFF8000000FFFFF0000FFFFE000000FFFF800003FFFF000000FFFE0000-01FFFF800000FFF8000000FFFFC00000FFF00000007FFFE00000FFE00000003FFFF00000-FFC00000003FFFF80000FF800000001FFFFC0000FF000000001FFFFE00007E000000001F-FFFE00007C000000000FFFFF000000000000000FFFFF000000000000000FFFFF80000000-0000000FFFFF800000000000000FFFFFC00000000000000FFFFFC000000000000007FFFF-C000000000000007FFFFE000000000000007FFFFE000000000000007FFFFE00000000000-0007FFFFE000000000000007FFFFE000000000000007FFFFF000000000000007FFFFF000-000000000007FFFFF000FE0000000007FFFFF003FF8000000007FFFFF00FFFC000000007-FFFFF01FFFF000000007FFFFF03FFFF800000007FFFFF07FFFF800000007FFFFF07FFFFC-00000007FFFFF0FFFFFC00000007FFFFF0FFFFFC00000007FFFFF0FFFFFC00000007FFFF-F0FFFFFC00000007FFFFF0FFFFFC00000007FFFFE0FFFFFC00000007FFFFE0FFFFFC0000-0007FFFFE0FFFFFC00000007FFFFE0FFFFFC0000000FFFFFC0FFFFF80000000FFFFFC07F-FFF80000000FFFFFC07FFFF00000000FFFFF807FFFE00000000FFFFF807FFFC00000001F-FFFF803FFF000000001FFFFF003FE0000000001FFFFE001FF0000000003FFFFE001FF800-0000003FFFFC000FFC000000007FFFF8000FFE000000007FFFF80007FE00000000FFFFF0-0003FF80000001FFFFE00001FFC0000003FFFFC00001FFE0000007FFFF8000007FF80000-1FFFFE0000003FFF00007FFFFC0000001FFFF007FFFFF80000000FFFFFFFFFFFE0000000-03FFFFFFFFFF8000000001FFFFFFFFFE00000000007FFFFFFFF800000000001FFFFFFFC0-000000000003FFFFFE000000000000003FFF80000000004C7376F061>I<00000000001F-FF8000000000000003FFFFF80000000000003FFFFFFE000000000001FFFFFFFF80000000-0007FFFFFFFFC0000000001FFFFFFFFFF0000000007FFFFFFFFFF800000000FFFFFC01FF-FC00000003FFFFC0001FFE00000007FFFE000007FF0000001FFFF8000003FF0000003FFF-F0000001FF8000007FFFC000000FFF800000FFFF8000003FFFC00001FFFF0000007FFFC0-0003FFFE000000FFFFC00007FFFC000001FFFFE0000FFFF8000001FFFFE0001FFFF80000-03FFFFE0001FFFF0000003FFFFE0003FFFF0000003FFFFE0007FFFE0000003FFFFE0007F-FFE0000003FFFFE000FFFFC0000003FFFFE001FFFFC0000003FFFFE001FFFF80000003FF-FFE003FFFF80000001FFFFC003FFFF80000001FFFFC007FFFF00000000FFFF8007FFFF00-0000007FFF0007FFFF000000003FFE000FFFFF000000000FF8000FFFFF00000000000000-1FFFFE000000000000001FFFFE000000000000001FFFFE000000000000001FFFFE000000-000000003FFFFE000000000000003FFFFE000000000000003FFFFE000000000000003FFF-FE000000000000007FFFFC0007FFE00000007FFFFC001FFFFE0000007FFFFC007FFFFFC0-00007FFFFC01FFFFFFF800007FFFFC03FFFFFFFC00007FFFFC0FFFFFFFFF0000FFFFFC1F-F803FFFF8000FFFFFC3FC0007FFFE000FFFFFC3F80001FFFF000FFFFFC7E00000FFFF800-FFFFFCFC000007FFFC00FFFFFDFC000003FFFE00FFFFFDF8000001FFFF00FFFFFFF00000-01FFFF80FFFFFFE0000000FFFFC0FFFFFFE0000000FFFFE0FFFFFFC0000000FFFFE0FFFF-FFC00000007FFFF0FFFFFF800000007FFFF0FFFFFF800000007FFFF8FFFFFF800000007F-FFF8FFFFFF000000007FFFFCFFFFFF000000003FFFFCFFFFFF000000003FFFFCFFFFFE00-0000003FFFFEFFFFFE000000003FFFFEFFFFFE000000003FFFFEFFFFFE000000003FFFFE-FFFFFE000000003FFFFFFFFFFE000000003FFFFF7FFFFC000000003FFFFF7FFFFC000000-003FFFFF7FFFFC000000003FFFFF7FFFFC000000003FFFFF7FFFFC000000003FFFFF7FFF-FC000000003FFFFF7FFFFC000000003FFFFF7FFFFC000000003FFFFF3FFFFC000000003F-FFFF3FFFFC000000003FFFFF3FFFFC000000003FFFFF3FFFFC000000003FFFFF3FFFFE00-0000003FFFFF1FFFFE000000003FFFFF1FFFFE000000003FFFFF1FFFFE000000003FFFFE-0FFFFE000000003FFFFE0FFFFE000000003FFFFE0FFFFE000000003FFFFE07FFFE000000-003FFFFE07FFFE000000003FFFFC07FFFF000000007FFFFC03FFFF000000007FFFF803FF-FF000000007FFFF801FFFF000000007FFFF801FFFF800000007FFFF000FFFF80000000FF-FFE0007FFFC0000000FFFFE0007FFFC0000000FFFFC0003FFFE0000001FFFF80001FFFE0-000003FFFF00001FFFF0000003FFFF00000FFFF8000007FFFE000007FFFC00000FFFFC00-0003FFFF00001FFFF0000000FFFF80007FFFE00000007FFFF007FFFFC00000003FFFFFFF-FFFF000000000FFFFFFFFFFE0000000003FFFFFFFFF80000000001FFFFFFFFE000000000-003FFFFFFF80000000000007FFFFFC000000000000007FFF80000000507378F061>I<03-FC00000000000000000003FC00000000000000000007FE00000000000000000007FF0000-0000000000000007FFC0000000000000000007FFFFF00000000000000007FFFFFFFFFFFF-FFFFFFC007FFFFFFFFFFFFFFFFFFC007FFFFFFFFFFFFFFFFFFC007FFFFFFFFFFFFFFFFFF-C00FFFFFFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFFFC00FFF-FFFFFFFFFFFFFFFF800FFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFE000FFFFFFFFF-FFFFFFFFFE001FFFFFFFFFFFFFFFFFFC001FFFFFFFFFFFFFFFFFF8001FFFFFFFFFFFFFFF-FFF0001FFFFFFFFFFFFFFFFFE0001FFFFFFFFFFFFFFFFFC0001FFFFFFFFFFFFFFFFFC000-1FFFFFFFFFFFFFFFFF80001FFFFFFFFFFFFFFFFF00003FFFFFFFFFFFFFFFFE00003FFFFF-FFFFFFFFFFFC00003FFE00000000000FF800003FF000000000001FF800003FE000000000-003FF000003FE000000000007FE000003FC000000000007FC000003FC00000000000FF80-00007FC00000000001FF0000007FC00000000003FF0000007F800000000007FE0000007F-80000000000FFC0000007F80000000000FF80000007F80000000001FF00000007F800000-00003FE0000000FF00000000007FE0000000FF0000000000FFC0000000FF0000000001FF-80000000FF0000000001FF00000000000000000003FE00000000000000000007FC000000-0000000000000FFC0000000000000000001FF80000000000000000001FF0000000000000-0000003FF00000000000000000007FE00000000000000000007FC0000000000000000000-FFC0000000000000000001FF80000000000000000001FF80000000000000000003FF8000-0000000000000007FF00000000000000000007FF0000000000000000000FFE0000000000-000000001FFE0000000000000000001FFE0000000000000000003FFC0000000000000000-003FFC0000000000000000007FFC0000000000000000007FFC000000000000000000FFF8-000000000000000000FFF8000000000000000001FFF8000000000000000001FFF8000000-000000000003FFF0000000000000000003FFF0000000000000000007FFF0000000000000-000007FFF000000000000000000FFFF000000000000000000FFFF000000000000000000F-FFE000000000000000001FFFE000000000000000001FFFE000000000000000003FFFE000-000000000000003FFFE000000000000000003FFFE000000000000000007FFFE000000000-000000007FFFE000000000000000007FFFE00000000000000000FFFFE000000000000000-00FFFFE00000000000000000FFFFC00000000000000000FFFFC00000000000000001FFFF-C00000000000000001FFFFC00000000000000001FFFFC00000000000000001FFFFC00000-000000000003FFFFC00000000000000003FFFFC00000000000000003FFFFC00000000000-000003FFFFC00000000000000003FFFFC00000000000000003FFFFC00000000000000003-FFFFC00000000000000007FFFFC00000000000000007FFFFC00000000000000007FFFFC0-0000000000000007FFFFC00000000000000007FFFFC00000000000000007FFFFC0000000-0000000007FFFFC00000000000000007FFFFC00000000000000007FFFFC0000000000000-0007FFFFC00000000000000007FFFFC00000000000000007FFFFC00000000000000007FF-FFC00000000000000003FFFF800000000000000003FFFF800000000000000001FFFF0000-00000000000001FFFF000000000000000000FFFE0000000000000000003FF80000000000-000000000FE0000000000000527775F461>I<00000000FFFF800000000000001FFFFFFC-000000000000FFFFFFFF800000000003FFFFFFFFF0000000000FFFFFFFFFFC000000003F-FFFFFFFFFF000000007FFFFFFFFFFF80000001FFFF8003FFFFE0000003FFF800003FFFF0-000007FFC000000FFFF800000FFF00000003FFFC00001FFC00000001FFFE00003FF80000-00007FFF00007FF8000000007FFF00007FF0000000003FFF8000FFE0000000001FFF8000-FFE0000000000FFFC001FFE0000000000FFFC001FFC00000000007FFC001FFC000000000-07FFE003FFC00000000007FFE003FFC00000000007FFE003FFC00000000003FFE007FFE0-0000000003FFE007FFE00000000003FFE007FFE00000000003FFE007FFF00000000003FF-E007FFF80000000003FFE007FFFC0000000003FFE007FFFE0000000007FFE007FFFF0000-000007FFE007FFFFC000000007FFC007FFFFE000000007FFC007FFFFF80000000FFFC007-FFFFFE0000000FFF8007FFFFFF8000001FFF8003FFFFFFC000001FFF0003FFFFFFF00000-3FFF0003FFFFFFFC00007FFE0001FFFFFFFE00007FFC0001FFFFFFFF8000FFFC0001FFFF-FFFFE001FFF80000FFFFFFFFF803FFF00000FFFFFFFFFC0FFFC000007FFFFFFFFF1FFF80-00003FFFFFFFFFFFFF0000003FFFFFFFFFFFFC0000001FFFFFFFFFFFF00000000FFFFFFF-FFFFE000000007FFFFFFFFFF8000000003FFFFFFFFFFE000000001FFFFFFFFFFF0000000-007FFFFFFFFFFC000000003FFFFFFFFFFF000000000FFFFFFFFFFF8000000007FFFFFFFF-FFE000000003FFFFFFFFFFF00000000FFFFFFFFFFFF80000003FFFFFFFFFFFFC000000FF-FFFFFFFFFFFE000001FFFFFFFFFFFFFF000007FFF0FFFFFFFFFF80000FFFC07FFFFFFFFF-C0003FFF801FFFFFFFFFE0007FFF0007FFFFFFFFE000FFFE0001FFFFFFFFF001FFFC0000-FFFFFFFFF003FFF800003FFFFFFFF807FFF000000FFFFFFFF807FFE0000007FFFFFFFC0F-FFE0000001FFFFFFFC1FFFC00000007FFFFFFE1FFF800000001FFFFFFE3FFF800000000F-FFFFFE3FFF0000000003FFFFFE7FFF0000000000FFFFFF7FFF00000000003FFFFF7FFE00-000000001FFFFF7FFE00000000000FFFFFFFFE000000000007FFFFFFFE000000000003FF-FFFFFC000000000001FFFFFFFC000000000001FFFFFFFC000000000000FFFFFFFC000000-0000007FFFFFFC0000000000007FFFFFFC0000000000007FFFFFFC0000000000003FFFFF-FC0000000000003FFEFFFC0000000000003FFEFFFE0000000000003FFEFFFE0000000000-003FFE7FFE0000000000003FFC7FFF0000000000003FFC7FFF0000000000007FFC7FFF00-00000000007FF83FFF8000000000007FF83FFF800000000000FFF01FFFC00000000000FF-F01FFFE00000000001FFE00FFFF00000000003FFC007FFF80000000007FFC007FFFC0000-00000FFF8003FFFE000000001FFF0001FFFF800000007FFE0000FFFFE0000001FFFC0000-3FFFFC00000FFFF000001FFFFFC001FFFFE0000007FFFFFFFFFFFF80000003FFFFFFFFFF-FF00000000FFFFFFFFFFFC000000001FFFFFFFFFF00000000007FFFFFFFF800000000000-7FFFFFFC00000000000001FFFF00000000507378F061>I<00000000FFFF000000000000-001FFFFFF0000000000000FFFFFFFE000000000007FFFFFFFF80000000001FFFFFFFFFE0-000000003FFFFFFFFFF800000000FFFFFFFFFFFC00000001FFFFF007FFFF00000007FFFF-0001FFFF8000000FFFFC00007FFFC000001FFFF800003FFFE000003FFFF000001FFFF000-007FFFE000000FFFF80000FFFFC0000007FFFC0001FFFF80000003FFFC0003FFFF800000-03FFFE0007FFFF00000001FFFF0007FFFF00000001FFFF000FFFFF00000000FFFF800FFF-FE00000000FFFF801FFFFE00000000FFFFC01FFFFE00000000FFFFC03FFFFE000000007F-FFE03FFFFE000000007FFFE07FFFFC000000007FFFF07FFFFC000000007FFFF07FFFFC00-0000007FFFF07FFFFC000000007FFFF87FFFFC000000007FFFF8FFFFFC000000007FFFF8-FFFFFC000000007FFFF8FFFFFC000000003FFFFCFFFFFC000000003FFFFCFFFFFC000000-003FFFFCFFFFFC000000003FFFFCFFFFFC000000003FFFFCFFFFFC000000003FFFFEFFFF-FC000000003FFFFEFFFFFC000000003FFFFEFFFFFC000000003FFFFEFFFFFC000000003F-FFFEFFFFFC000000003FFFFEFFFFFC000000003FFFFEFFFFFC000000003FFFFFFFFFFC00-0000007FFFFFFFFFFC000000007FFFFF7FFFFC000000007FFFFF7FFFFC000000007FFFFF-7FFFFC000000007FFFFF7FFFFC000000007FFFFF3FFFFC00000000FFFFFF3FFFFC000000-00FFFFFF3FFFFE00000000FFFFFF1FFFFE00000001FFFFFF1FFFFE00000001FFFFFF0FFF-FE00000001FFFFFF0FFFFE00000003FFFFFF07FFFF00000003FFFFFF07FFFF00000007FF-FFFF03FFFF00000007FFFFFF01FFFF8000000FFFFFFF00FFFF8000001FBFFFFF007FFFC0-00003F3FFFFF003FFFE000003F3FFFFF001FFFF00000FE3FFFFF000FFFF80001FC3FFFFF-0007FFFE0007FC3FFFFF0001FFFFC01FF83FFFFF0000FFFFFFFFF03FFFFE00003FFFFFFF-C03FFFFE00001FFFFFFF803FFFFE000003FFFFFE003FFFFE0000007FFFF8003FFFFE0000-0007FFC0003FFFFE000000000000003FFFFE000000000000007FFFFC000000000000007F-FFFC000000000000007FFFFC000000000000007FFFFC000000000000007FFFF800000000-0000007FFFF8000000000000007FFFF8000000000000007FFFF0001FF000000000FFFFF0-007FFC00000000FFFFF000FFFE00000000FFFFE001FFFF00000000FFFFE003FFFF800000-00FFFFC003FFFF80000001FFFFC007FFFFC0000001FFFFC007FFFFC0000001FFFF8007FF-FFC0000003FFFF0007FFFFC0000003FFFF0007FFFFC0000003FFFE0007FFFFC0000007FF-FE0007FFFFC0000007FFFC0007FFFFC000000FFFF80007FFFF8000001FFFF80007FFFF80-00001FFFF00003FFFF0000003FFFE00003FFFE0000007FFFC00003FFFC000000FFFF8000-01FFF0000001FFFF000001FF80000003FFFE000000FFE000000FFFFC0000007FF000003F-FFF00000007FFE0000FFFFE00000003FFFE00FFFFFC00000001FFFFFFFFFFF0000000007-FFFFFFFFFC0000000003FFFFFFFFF00000000000FFFFFFFFC000000000003FFFFFFF0000-0000000007FFFFF0000000000000007FFE0000000000507378F061>I<00000000000000-03F800000000000000000000000000000007FC0000000000000000000000000000000FFE-0000000000000000000000000000000FFE0000000000000000000000000000001FFF0000-000000000000000000000000001FFF0000000000000000000000000000001FFF00000000-00000000000000000000003FFF8000000000000000000000000000003FFF800000000000-0000000000000000007FFFC000000000000000000000000000007FFFC000000000000000-000000000000007FFFC00000000000000000000000000000FFFFE0000000000000000000-0000000000FFFFE00000000000000000000000000001FFFFF00000000000000000000000-000001FFFFF00000000000000000000000000001FFFFF000000000000000000000000000-03FFFFF80000000000000000000000000003FFFFF80000000000000000000000000007FF-FFFC0000000000000000000000000007FFFFFC0000000000000000000000000007FFFFFC-000000000000000000000000000FFFFFFE000000000000000000000000000FFFFFFE0000-00000000000000000000001FFFFFFF000000000000000000000000001FFFFFFF00000000-0000000000000000001FFFFFFF000000000000000000000000003FFFFFFF800000000000-000000000000003FFFFFFF800000000000000000000000007FFFFFFFC000000000000000-00000000007FFFFFFFC00000000000000000000000007FBFFFFFC0000000000000000000-000000FF9FFFFFE0000000000000000000000000FF1FFFFFE00000000000000000000000-01FF0FFFFFF0000000000000000000000001FF0FFFFFF0000000000000000000000001FE-0FFFFFF0000000000000000000000003FE07FFFFF8000000000000000000000003FC07FF-FFF8000000000000000000000007FC03FFFFFC000000000000000000000007FC03FFFFFC-000000000000000000000007F803FFFFFC00000000000000000000000FF801FFFFFE0000-0000000000000000000FF001FFFFFE00000000000000000000001FF000FFFFFF00000000-000000000000001FF000FFFFFF00000000000000000000001FE000FFFFFF000000000000-00000000003FE0007FFFFF80000000000000000000003FC0007FFFFF8000000000000000-0000007FC0003FFFFFC0000000000000000000007FC0003FFFFFC0000000000000000000-007F80003FFFFFC000000000000000000000FF80001FFFFFE000000000000000000000FF-00001FFFFFE000000000000000000001FF00000FFFFFF000000000000000000001FF0000-0FFFFFF000000000000000000001FE00000FFFFFF000000000000000000003FE000007FF-FFF800000000000000000003FC000007FFFFF800000000000000000007FC000003FFFFFC-00000000000000000007FC000003FFFFFC00000000000000000007F8000003FFFFFC0000-000000000000000FF8000001FFFFFE0000000000000000000FF0000001FFFFFE00000000-00000000001FF0000000FFFFFF0000000000000000001FF0000000FFFFFF000000000000-0000001FE0000000FFFFFF0000000000000000003FE00000007FFFFF8000000000000000-003FC00000007FFFFF8000000000000000007FC00000003FFFFFC000000000000000007F-C00000003FFFFFC000000000000000007F800000003FFFFFC00000000000000000FF8000-00001FFFFFE00000000000000000FF000000001FFFFFE00000000000000001FF00000000-0FFFFFF00000000000000001FF000000000FFFFFF00000000000000001FE000000000FFF-FFF00000000000000003FE0000000007FFFFF80000000000000003FC0000000007FFFFF8-0000000000000007FFFFFFFFFFFFFFFFFC0000000000000007FFFFFFFFFFFFFFFFFC0000-000000000007FFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFE00000000-0000000FFFFFFFFFFFFFFFFFFE000000000000001FFFFFFFFFFFFFFFFFFF000000000000-001FFFFFFFFFFFFFFFFFFF000000000000001FFFFFFFFFFFFFFFFFFF000000000000003F-E000000000007FFFFF800000000000003FC000000000007FFFFF800000000000007FC000-000000003FFFFFC00000000000007FC000000000003FFFFFC00000000000007F80000000-00003FFFFFC0000000000000FF8000000000001FFFFFE0000000000000FF800000000000-1FFFFFE0000000000001FF0000000000000FFFFFF0000000000001FF0000000000000FFF-FFF0000000000001FE0000000000000FFFFFF0000000000003FE00000000000007FFFFF8-000000000003FE00000000000007FFFFF8000000000007FC00000000000003FFFFFC0000-00000007FC00000000000003FFFFFC000000000007F800000000000003FFFFFC00000000-000FF800000000000001FFFFFE00000000000FF800000000000001FFFFFE00000000000F-F000000000000000FFFFFE00000000001FF000000000000000FFFFFF00000000001FE000-000000000000FFFFFF00000000003FE0000000000000007FFFFF80000000003FE0000000-000000007FFFFF80000000003FC0000000000000003FFFFF80000000007FC00000000000-00003FFFFFC0000000007F80000000000000003FFFFFC000000007FFFC00000000000000-1FFFFFE00000FFFFFFFFFF800000001FFFFFFFFFFFFFE0FFFFFFFFFF800000001FFFFFFF-FFFFFFE0FFFFFFFFFF800000001FFFFFFFFFFFFFE0FFFFFFFFFF800000001FFFFFFFFFFF-FFE0FFFFFFFFFF800000001FFFFFFFFFFFFFE0FFFFFFFFFF800000001FFFFFFFFFFFFFE0-FFFFFFFFFF800000001FFFFFFFFFFFFFE0FFFFFFFFFF800000001FFFFFFFFFFFFFE08379-79F892>65 D<FFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFE00000000-FFFFFFFFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFFFFFFFF8000000FFFFFFFFFFFF-FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFC00000FFFFFFFFFFFFFFFFFFFFFFFF-F00000FFFFFFFFFFFFFFFFFFFFFFFFF8000000003FFFFE000000000FFFFFFE000000003F-FFFE0000000001FFFFFF000000003FFFFE00000000007FFFFF800000003FFFFE00000000-001FFFFFC00000003FFFFE00000000000FFFFFE00000003FFFFE000000000007FFFFF000-00003FFFFE000000000003FFFFF80000003FFFFE000000000001FFFFFC0000003FFFFE00-0000000001FFFFFC0000003FFFFE000000000000FFFFFE0000003FFFFE000000000000FF-FFFE0000003FFFFE0000000000007FFFFF0000003FFFFE0000000000007FFFFF0000003F-FFFE0000000000007FFFFF8000003FFFFE0000000000003FFFFF8000003FFFFE00000000-00003FFFFF8000003FFFFE0000000000003FFFFF8000003FFFFE0000000000003FFFFFC0-00003FFFFE0000000000003FFFFFC000003FFFFE0000000000001FFFFFC000003FFFFE00-00000000001FFFFFC000003FFFFE0000000000001FFFFFC000003FFFFE0000000000001F-FFFFC000003FFFFE0000000000001FFFFFC000003FFFFE0000000000003FFFFFC000003F-FFFE0000000000003FFFFFC000003FFFFE0000000000003FFFFF8000003FFFFE00000000-00003FFFFF8000003FFFFE0000000000003FFFFF8000003FFFFE0000000000003FFFFF80-00003FFFFE0000000000007FFFFF0000003FFFFE0000000000007FFFFF0000003FFFFE00-0000000000FFFFFE0000003FFFFE000000000000FFFFFE0000003FFFFE000000000001FF-FFFC0000003FFFFE000000000001FFFFF80000003FFFFE000000000003FFFFF80000003F-FFFE000000000007FFFFF00000003FFFFE00000000000FFFFFE00000003FFFFE00000000-001FFFFFC00000003FFFFE00000000003FFFFF800000003FFFFE00000000007FFFFE0000-00003FFFFE0000000001FFFFFC000000003FFFFE0000000007FFFFF0000000003FFFFE00-0000003FFFFFC0000000003FFFFE00000007FFFFFF00000000003FFFFFFFFFFFFFFFFFF8-00000000003FFFFFFFFFFFFFFFFFC000000000003FFFFFFFFFFFFFFFFF8000000000003F-FFFFFFFFFFFFFFFFFC00000000003FFFFFFFFFFFFFFFFFFF80000000003FFFFFFFFFFFFF-FFFFFFF0000000003FFFFE0000000000FFFFFC000000003FFFFE00000000003FFFFF0000-00003FFFFE00000000000FFFFF800000003FFFFE000000000003FFFFE00000003FFFFE00-0000000001FFFFF00000003FFFFE000000000000FFFFFC0000003FFFFE0000000000007F-FFFE0000003FFFFE0000000000003FFFFF0000003FFFFE0000000000003FFFFF8000003F-FFFE0000000000001FFFFF8000003FFFFE0000000000000FFFFFC000003FFFFE00000000-00000FFFFFE000003FFFFE0000000000000FFFFFE000003FFFFE00000000000007FFFFF0-00003FFFFE00000000000007FFFFF000003FFFFE00000000000007FFFFF800003FFFFE00-000000000003FFFFF800003FFFFE00000000000003FFFFFC00003FFFFE00000000000003-FFFFFC00003FFFFE00000000000003FFFFFC00003FFFFE00000000000003FFFFFC00003F-FFFE00000000000001FFFFFE00003FFFFE00000000000001FFFFFE00003FFFFE00000000-000001FFFFFE00003FFFFE00000000000001FFFFFE00003FFFFE00000000000001FFFFFE-00003FFFFE00000000000001FFFFFE00003FFFFE00000000000001FFFFFE00003FFFFE00-000000000001FFFFFE00003FFFFE00000000000001FFFFFE00003FFFFE00000000000003-FFFFFE00003FFFFE00000000000003FFFFFC00003FFFFE00000000000003FFFFFC00003F-FFFE00000000000003FFFFFC00003FFFFE00000000000003FFFFFC00003FFFFE00000000-000007FFFFF800003FFFFE00000000000007FFFFF800003FFFFE0000000000000FFFFFF8-00003FFFFE0000000000000FFFFFF000003FFFFE0000000000001FFFFFF000003FFFFE00-00000000001FFFFFE000003FFFFE0000000000003FFFFFC000003FFFFE0000000000007F-FFFFC000003FFFFE000000000000FFFFFF8000003FFFFE000000000001FFFFFF0000003F-FFFE000000000003FFFFFE0000003FFFFE00000000000FFFFFFE0000003FFFFE00000000-001FFFFFF80000003FFFFE0000000000FFFFFFF00000003FFFFE0000000007FFFFFFE000-FFFFFFFFFFFFFFFFFFFFFFFFFFC000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF-FFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFF00000FFFFFFFFFFFFFFFFFFFFFFFF-C00000FFFFFFFFFFFFFFFFFFFFFFFE000000FFFFFFFFFFFFFFFFFFFFFFE0000000FFFFFF-FFFFFFFFFFFFFFF800000000777679F58A>I<000000000000007FFFE000000000700000-000000003FFFFFFF00000001F8000000000003FFFFFFFFF0000003F800000000003FFFFF-FFFFFC000007F80000000001FFFFFFFFFFFF80000FF80000000007FFFFFFFFFFFFE0001F-F8000000003FFFFFFFFFFFFFF0003FF800000000FFFFFFFFFFFFFFFC007FF800000003FF-FFFFFF0007FFFE00FFF80000000FFFFFFFC000003FFF81FFF80000001FFFFFFC00000007-FFC3FFF80000007FFFFFE000000001FFF7FFF8000000FFFFFF80000000007FFFFFF80000-03FFFFFE00000000001FFFFFF8000007FFFFF800000000000FFFFFF800000FFFFFE00000-00000007FFFFF800001FFFFFC0000000000001FFFFF800007FFFFF80000000000000FFFF-F80000FFFFFE000000000000007FFFF80001FFFFFC000000000000003FFFF80003FFFFF8-000000000000003FFFF80003FFFFF0000000000000001FFFF80007FFFFF0000000000000-000FFFF8000FFFFFE00000000000000007FFF8001FFFFFC00000000000000003FFF8003F-FFFF800000000000000003FFF8003FFFFF800000000000000001FFF8007FFFFF00000000-0000000001FFF800FFFFFE000000000000000000FFF800FFFFFE000000000000000000FF-F801FFFFFC0000000000000000007FF801FFFFFC0000000000000000007FF803FFFFFC00-00000000000000003FF803FFFFF80000000000000000003FF807FFFFF800000000000000-00001FF807FFFFF00000000000000000001FF80FFFFFF00000000000000000001FF80FFF-FFF00000000000000000000FF80FFFFFF00000000000000000000FF81FFFFFE000000000-00000000000FF81FFFFFE00000000000000000000FF81FFFFFE00000000000000000000F-F83FFFFFE000000000000000000007F83FFFFFC000000000000000000007F83FFFFFC000-000000000000000007F83FFFFFC000000000000000000003F07FFFFFC000000000000000-000000007FFFFFC000000000000000000000007FFFFFC000000000000000000000007FFF-FFC000000000000000000000007FFFFF8000000000000000000000007FFFFF8000000000-00000000000000FFFFFF800000000000000000000000FFFFFF8000000000000000000000-00FFFFFF800000000000000000000000FFFFFF800000000000000000000000FFFFFF8000-00000000000000000000FFFFFF800000000000000000000000FFFFFF8000000000000000-00000000FFFFFF800000000000000000000000FFFFFF800000000000000000000000FFFF-FF800000000000000000000000FFFFFF800000000000000000000000FFFFFF8000000000-00000000000000FFFFFF800000000000000000000000FFFFFF8000000000000000000000-00FFFFFF800000000000000000000000FFFFFF800000000000000000000000FFFFFF8000-00000000000000000000FFFFFF8000000000000000000000007FFFFF8000000000000000-000000007FFFFF8000000000000000000000007FFFFFC000000000000000000000007FFF-FFC000000000000000000000007FFFFFC000000000000000000000007FFFFFC000000000-000000000000003FFFFFC000000000000000000000003FFFFFC000000000000000000000-003FFFFFC000000000000000000003F03FFFFFE000000000000000000007F81FFFFFE000-000000000000000007F81FFFFFE000000000000000000007F81FFFFFE000000000000000-000007F80FFFFFF000000000000000000007F80FFFFFF000000000000000000007F80FFF-FFF00000000000000000000FF807FFFFF00000000000000000000FF807FFFFF800000000-00000000000FF003FFFFF80000000000000000000FF003FFFFFC0000000000000000001F-F001FFFFFC0000000000000000001FF001FFFFFC0000000000000000001FE000FFFFFE00-00000000000000003FE000FFFFFF0000000000000000003FE0007FFFFF00000000000000-00007FC0003FFFFF8000000000000000007FC0003FFFFF800000000000000000FF80001F-FFFFC00000000000000000FF80000FFFFFE00000000000000001FF000007FFFFF0000000-0000000003FF000003FFFFF00000000000000007FE000003FFFFF80000000000000007FE-000001FFFFFC000000000000000FFC000000FFFFFE000000000000001FF80000007FFFFF-800000000000003FF00000001FFFFFC0000000000000FFE00000000FFFFFE00000000000-01FFC000000007FFFFF8000000000003FF8000000003FFFFFE00000000000FFF00000000-00FFFFFF80000000003FFE00000000007FFFFFF000000000FFFC00000000001FFFFFFE00-000003FFF800000000000FFFFFFFC000001FFFE0000000000003FFFFFFFF0003FFFFC000-0000000000FFFFFFFFFFFFFFFF000000000000003FFFFFFFFFFFFFFC0000000000000007-FFFFFFFFFFFFF00000000000000001FFFFFFFFFFFFC000000000000000003FFFFFFFFFFF-00000000000000000003FFFFFFFFF8000000000000000000003FFFFFFF80000000000000-00000000007FFFF00000000000757A75F78C>I<0000003FFFF80000000000000007FFFF-FFE00000000000007FFFFFFFFC000000000001FFFFFFFFFF800000000007FFFFFFFFFFE0-000000001FFFFFFFFFFFF0000000003FFFF0007FFFFC000000007FFE00000FFFFE000000-00FFFF000003FFFF80000001FFFF800001FFFFC0000001FFFFC00000FFFFE0000001FFFF-C000007FFFF0000003FFFFE000003FFFF8000003FFFFE000001FFFF8000003FFFFE00000-1FFFFC000003FFFFE000000FFFFE000003FFFFE000000FFFFE000003FFFFE000000FFFFF-000003FFFFE0000007FFFF000003FFFFE0000007FFFF000001FFFFC0000007FFFF000001-FFFFC0000003FFFF800000FFFF80000003FFFF8000007FFF00000003FFFF8000003FFE00-000003FFFF8000000FF800000003FFFF80000003E000000003FFFF800000000000000003-FFFF800000000000000003FFFF800000000000000003FFFF800000000000000003FFFF80-0000000000000003FFFF800000000000000003FFFF800000000000000003FFFF80000000-00000007FFFFFF8000000000001FFFFFFFFF800000000003FFFFFFFFFF80000000007FFF-FFFFFFFF8000000003FFFFFFFFFFFF800000001FFFFFFE03FFFF80000000FFFFFF8003FF-FF80000003FFFFF80003FFFF8000000FFFFFC00003FFFF8000001FFFFF000003FFFF8000-007FFFFC000003FFFF800000FFFFF0000003FFFF800001FFFFC0000003FFFF800003FFFF-80000003FFFF800007FFFF00000003FFFF80000FFFFE00000003FFFF80001FFFFE000000-03FFFF80003FFFFC00000003FFFF80003FFFF800000003FFFF80007FFFF800000003FFFF-80007FFFF000000003FFFF80007FFFF000000003FFFF8000FFFFF000000003FFFF8000FF-FFE000000003FFFF8000FFFFE000000003FFFF8000FFFFE000000003FFFF8000FFFFE000-000007FFFF8000FFFFE000000007FFFF8000FFFFE000000007FFFF8000FFFFF00000000F-FFFF8000FFFFF00000000FFFFF80007FFFF00000001FFFFF80007FFFF80000003FFFFF80-007FFFF80000007EFFFF80003FFFFC0000007EFFFFC0003FFFFE000001FCFFFFE0001FFF-FF000003F8FFFFFC000FFFFF80000FF0FFFFFFFC07FFFFE0003FE07FFFFFFE01FFFFFC03-FFC07FFFFFFE00FFFFFFFFFF803FFFFFFE003FFFFFFFFE001FFFFFFE000FFFFFFFFC0007-FFFFFE0003FFFFFFF00001FFFFFE00003FFFFF8000003FFFFC000001FFF8000000000000-57507ACE5E>97 D<00000000000000000FFFE00000000000000007FFFFFFE00000000000-000007FFFFFFE00000000000000007FFFFFFE00000000000000007FFFFFFE00000000000-000007FFFFFFE00000000000000007FFFFFFE00000000000000007FFFFFFE00000000000-000007FFFFFFE0000000000000000003FFFFE0000000000000000000FFFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000-000000007FFFE000000000003FFF80007FFFE00000000007FFFFF8007FFFE0000000003F-FFFFFF007FFFE000000001FFFFFFFFC07FFFE000000007FFFFFFFFF07FFFE00000001FFF-FFFFFFFC7FFFE00000007FFFFE007FFE7FFFE0000000FFFFF0000FFF7FFFE0000003FFFF-800001FFFFFFE0000007FFFE0000007FFFFFE000000FFFFC0000003FFFFFE000001FFFF8-0000001FFFFFE000003FFFF00000000FFFFFE000007FFFE000000007FFFFE00000FFFFC0-00000003FFFFE00001FFFFC000000001FFFFE00003FFFF8000000000FFFFE00003FFFF00-00000000FFFFE00007FFFF0000000000FFFFE00007FFFF0000000000FFFFE0000FFFFE00-00000000FFFFE0000FFFFE0000000000FFFFE0001FFFFE0000000000FFFFE0001FFFFC00-00000000FFFFE0003FFFFC0000000000FFFFE0003FFFFC0000000000FFFFE0003FFFFC00-00000000FFFFE0007FFFFC0000000000FFFFE0007FFFF80000000000FFFFE0007FFFF800-00000000FFFFE0007FFFF80000000000FFFFE0007FFFF80000000000FFFFE000FFFFF800-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE000FFFFF800-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE000FFFFF800-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE000FFFFF800-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE000FFFFF800-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE0007FFFF800-00000000FFFFE0007FFFF80000000000FFFFE0007FFFF80000000000FFFFE0007FFFF800-00000000FFFFE0007FFFFC0000000000FFFFE0003FFFFC0000000000FFFFE0003FFFFC00-00000000FFFFE0003FFFFC0000000000FFFFE0001FFFFC0000000000FFFFE0001FFFFC00-00000000FFFFE0001FFFFE0000000000FFFFE0000FFFFE0000000000FFFFE0000FFFFE00-00000000FFFFE00007FFFF0000000000FFFFE00007FFFF0000000001FFFFE00003FFFF80-00000003FFFFE00001FFFF8000000007FFFFE00000FFFFC000000007FFFFE00000FFFFC0-0000000FFFFFE000007FFFE00000001FFFFFE000003FFFF00000003FFFFFE000001FFFF8-000000FFFFFFF000000FFFFC000001FFFFFFFC000003FFFF000007FFFFFFFFFE0001FFFF-C0003FFEFFFFFFFE00007FFFFC01FFF8FFFFFFFE00003FFFFFFFFFF0FFFFFFFE00000FFF-FFFFFFC0FFFFFFFE000003FFFFFFFF00FFFFFFFE0000007FFFFFFC00FFFFFFFE0000000F-FFFFE000FFFFFFFE000000007FFE0000FFFE00005F797AF76C>100-D<000000007FFF800000000000000FFFFFFC0000000000007FFFFFFF800000000001FFFF-FFFFE00000000007FFFFFFFFF8000000001FFFFFFFFFFE000000007FFFF807FFFF000000-01FFFFC000FFFF80000003FFFF00003FFFE0000007FFFC00000FFFF000000FFFF8000007-FFF800001FFFF0000003FFF800003FFFE0000001FFFC00007FFFC0000000FFFE0000FFFF-80000000FFFE0001FFFF800000007FFF0001FFFF000000007FFF8003FFFF000000003FFF-8007FFFE000000003FFF8007FFFE000000003FFFC00FFFFE000000001FFFC00FFFFE0000-00001FFFE01FFFFC000000001FFFE01FFFFC000000001FFFE01FFFFC000000000FFFF03F-FFFC000000000FFFF03FFFFC000000000FFFF03FFFF8000000000FFFF07FFFF800000000-0FFFF07FFFF8000000000FFFF07FFFF8000000000FFFF87FFFF80000000007FFF87FFFF8-0000000007FFF8FFFFF80000000007FFF8FFFFF80000000007FFF8FFFFF80000000007FF-F8FFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFF8FFFFFFFFFF-FFFFFFFFF8FFFFFFFFFFFFFFFFFFF0FFFFF800000000000000FFFFF800000000000000FF-FFF800000000000000FFFFF800000000000000FFFFF800000000000000FFFFF800000000-0000007FFFF8000000000000007FFFF8000000000000007FFFF8000000000000007FFFFC-000000000000003FFFFC000000000000003FFFFC000000000000003FFFFC000000000000-003FFFFC000000000000001FFFFC000000000000001FFFFE000000000000000FFFFE0000-00000003F00FFFFE000000000007F807FFFF000000000007F807FFFF00000000000FF803-FFFF80000000000FF001FFFF80000000001FF001FFFFC0000000001FE000FFFFE0000000-003FE0007FFFF0000000007FC0003FFFF800000000FFC0001FFFFC00000001FF80000FFF-FE00000003FF000007FFFF8000000FFE000003FFFFE000003FFC000001FFFFF80000FFF8-000000FFFFFFC00FFFF00000003FFFFFFFFFFFE00000000FFFFFFFFFFF8000000003FFFF-FFFFFE0000000000FFFFFFFFF800000000001FFFFFFFE0000000000003FFFFFF00000000-0000000FFFE00000004D507BCE58>I<0001FFFC000000000000000000FFFFFFFC000000-000000000000FFFFFFFC000000000000000000FFFFFFFC000000000000000000FFFFFFFC-000000000000000000FFFFFFFC000000000000000000FFFFFFFC000000000000000000FF-FFFFFC000000000000000000FFFFFFFC000000000000000000007FFFFC00000000000000-0000001FFFFC000000000000000000000FFFFC000000000000000000000FFFFC00000000-0000000000000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC00-0000000000000000000FFFFC000000000000000000000FFFFC000000000000000000000F-FFFC000000000000000000000FFFFC000000000000000000000FFFFC0000000000000000-00000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC0000000000-00000000000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC0000-00000000000000000FFFFC000000000000000000000FFFFC000000000000000000000FFF-FC000000000000000000000FFFFC000000000000000000000FFFFC000000000000000000-000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC000000000000-000000000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC000000-000000000000000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC-000000000000000000000FFFFC000000000000000000000FFFFC00000FFFE00000000000-0FFFFC0000FFFFFE00000000000FFFFC0003FFFFFF80000000000FFFFC000FFFFFFFE000-0000000FFFFC003FFFFFFFF8000000000FFFFC007FFFFFFFFC000000000FFFFC01FFF01F-FFFE000000000FFFFC03FF0007FFFF000000000FFFFC07FC0003FFFF800000000FFFFC0F-F00001FFFFC00000000FFFFC1FC00000FFFFC00000000FFFFC3F800000FFFFE00000000F-FFFC7F000000FFFFE00000000FFFFC7E0000007FFFF00000000FFFFCFC0000007FFFF000-00000FFFFDF80000007FFFF00000000FFFFDF00000007FFFF00000000FFFFFF00000003F-FFF80000000FFFFFE00000003FFFF80000000FFFFFE00000003FFFF80000000FFFFFC000-00003FFFF80000000FFFFFC00000003FFFF80000000FFFFF800000003FFFF80000000FFF-FF800000003FFFF80000000FFFFF000000003FFFF80000000FFFFF000000003FFFF80000-000FFFFF000000003FFFF80000000FFFFF000000003FFFF80000000FFFFE000000003FFF-F80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000-003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE-000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF8000000-0FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF8-0000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00000000-3FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00-0000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000F-FFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF800-00000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003F-FFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE0000-00003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFF-FE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000-000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFF-F80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000-003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000FFFFFFFF-FFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FF-FFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFF-FF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80617879F76C>104-D<0001FC0000000007FF000000001FFFC00000003FFFE00000007FFFF0000000FFFFF800-0000FFFFF8000001FFFFFC000001FFFFFC000003FFFFFE000003FFFFFE000003FFFFFE00-0003FFFFFE000003FFFFFE000003FFFFFE000003FFFFFE000001FFFFFC000001FFFFFC00-0000FFFFF8000000FFFFF80000007FFFF00000003FFFE00000001FFFC000000007FF0000-000001FC0000000000000000000000000000000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-000000000000000001FFFC00007FFFFFFC00007FFFFFFC00007FFFFFFC00007FFFFFFC00-007FFFFFFC00007FFFFFFC00007FFFFFFC00007FFFFFFC0000007FFFFC0000001FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000FFFFFFFFFF-80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF-80FFFFFFFFFF80297979F835>I<0001FFF800000FFFE000000000FFFFFFF80000FFFFFE-00000000FFFFFFF80003FFFFFF80000000FFFFFFF8000FFFFFFFE0000000FFFFFFF8003F-FFFFFFF8000000FFFFFFF8007FFFFFFFFC000000FFFFFFF801FFF01FFFFE000000FFFFFF-F803FF0007FFFF000000FFFFFFF807FC0003FFFF800000007FFFF80FF00001FFFFC00000-001FFFF81FC00000FFFFC00000000FFFF83F800000FFFFE00000000FFFF87F000000FFFF-E00000000FFFF87E0000007FFFF00000000FFFF8FC0000007FFFF00000000FFFF9F80000-007FFFF00000000FFFF9F00000007FFFF00000000FFFFBF00000003FFFF80000000FFFFB-E00000003FFFF80000000FFFFFE00000003FFFF80000000FFFFFC00000003FFFF8000000-0FFFFFC00000003FFFF80000000FFFFF800000003FFFF80000000FFFFF800000003FFFF8-0000000FFFFF000000003FFFF80000000FFFFF000000003FFFF80000000FFFFF00000000-3FFFF80000000FFFFF000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00-0000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000F-FFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF800-00000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003F-FFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE0000-00003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFF-FE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000-000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFF-F80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000-003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE-000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF8000000-0FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF8-0000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00000000-3FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00-0000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000F-FFFE000000003FFFF80000000FFFFE000000003FFFF80000FFFFFFFFFFE003FFFFFFFFFF-80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFF-FFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE0-03FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80614E79CD6C>110-D<0001FFFC00007FFE00000000FFFFFFFC000FFFFFF0000000FFFFFFFC007FFFFFFE0000-00FFFFFFFC01FFFFFFFFC00000FFFFFFFC07FFFFFFFFF00000FFFFFFFC1FFFFFFFFFF800-00FFFFFFFC7FFFFFFFFFFE0000FFFFFFFCFFFF007FFFFF0000FFFFFFFFFFF0000FFFFFC0-00007FFFFFFF800003FFFFE000001FFFFFFE000001FFFFF000000FFFFFFC000000FFFFF8-00000FFFFFF00000007FFFFC00000FFFFFE00000003FFFFE00000FFFFFC00000001FFFFF-00000FFFFF800000000FFFFF00000FFFFF000000000FFFFF80000FFFFE0000000007FFFF-C0000FFFFE0000000003FFFFC0000FFFFE0000000003FFFFE0000FFFFE0000000003FFFF-E0000FFFFE0000000001FFFFF0000FFFFE0000000001FFFFF0000FFFFE0000000000FFFF-F8000FFFFE0000000000FFFFF8000FFFFE0000000000FFFFF8000FFFFE0000000000FFFF-F8000FFFFE00000000007FFFFC000FFFFE00000000007FFFFC000FFFFE00000000007FFF-FC000FFFFE00000000007FFFFC000FFFFE00000000007FFFFC000FFFFE00000000003FFF-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000003FFF-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000003FFF-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000003FFF-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000003FFF-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000007FFF-FC000FFFFE00000000007FFFFC000FFFFE00000000007FFFFC000FFFFE00000000007FFF-FC000FFFFE00000000007FFFFC000FFFFE0000000000FFFFF8000FFFFE0000000000FFFF-F8000FFFFE0000000000FFFFF8000FFFFE0000000000FFFFF0000FFFFE0000000001FFFF-F0000FFFFE0000000001FFFFE0000FFFFE0000000003FFFFE0000FFFFE0000000003FFFF-C0000FFFFE0000000007FFFFC0000FFFFE0000000007FFFF80000FFFFF000000000FFFFF-80000FFFFF800000000FFFFF00000FFFFFC00000001FFFFE00000FFFFFC00000003FFFFC-00000FFFFFE00000007FFFF800000FFFFFF0000000FFFFF000000FFFFFFC000001FFFFE0-00000FFFFFFE000003FFFFC000000FFFFFFF80000FFFFF8000000FFFFFFFE0003FFFFE00-00000FFFFE7FFC01FFFFFC0000000FFFFE3FFFFFFFFFF00000000FFFFE0FFFFFFFFFC000-00000FFFFE03FFFFFFFF000000000FFFFE00FFFFFFF8000000000FFFFE003FFFFFC00000-00000FFFFE0003FFF000000000000FFFFE0000000000000000000FFFFE00000000000000-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000-00000FFFFE0000000000000000FFFFFFFFFFE0000000000000FFFFFFFFFFE00000000000-00FFFFFFFFFFE0000000000000FFFFFFFFFFE0000000000000FFFFFFFFFFE00000000000-00FFFFFFFFFFE0000000000000FFFFFFFFFFE0000000000000FFFFFFFFFFE00000000000-005F6F7ACD6C>112 D<0001FFF80007FE0000FFFFFFF8003FFFC000FFFFFFF800FFFFF0-00FFFFFFF803FFFFF800FFFFFFF807FFFFFE00FFFFFFF80FFFFFFF00FFFFFFF81FFC3FFF-80FFFFFFF83FE07FFFC0FFFFFFF87F80FFFFC0007FFFF87F00FFFFC0001FFFF8FE01FFFF-E0000FFFF9FC01FFFFE0000FFFF9F801FFFFE0000FFFFBF801FFFFE0000FFFFBF001FFFF-E0000FFFFBE001FFFFE0000FFFFFE001FFFFE0000FFFFFC001FFFFE0000FFFFFC000FFFF-C0000FFFFF8000FFFFC0000FFFFF80007FFF80000FFFFF80001FFE00000FFFFF00000FFC-00000FFFFF000001E000000FFFFF0000000000000FFFFF0000000000000FFFFE00000000-00000FFFFE0000000000000FFFFE0000000000000FFFFE0000000000000FFFFE00000000-00000FFFFE0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000FFFFFFFFFFF80000-00FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF80000-00FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000434E7ACD4F>114-D<000000FF00000000000000FF00000000000000FF00000000000000FF00000000000000-FF00000000000000FF00000000000000FF00000000000001FF00000000000001FF000000-00000001FF00000000000001FF00000000000001FF00000000000003FF00000000000003-FF00000000000003FF00000000000003FF00000000000007FF00000000000007FF000000-0000000FFF0000000000000FFF0000000000001FFF0000000000001FFF0000000000003F-FF0000000000003FFF0000000000007FFF000000000000FFFF000000000000FFFF000000-000001FFFF000000000003FFFF000000000007FFFF00000000001FFFFF00000000003FFF-FF0000000000FFFFFFFFFFFF000FFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF-00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF000007FF-FF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000-000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FF-FF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000-000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FF-FF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000-000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FF-FF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000-000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FF-FF000000000007FFFF000000000007FFFF000000000007FFFF00001FE00007FFFF00001F-E00007FFFF00001FE00007FFFF00001FE00007FFFF00001FE00007FFFF00001FE00007FF-FF00001FE00007FFFF00001FE00007FFFF00001FE00007FFFF00001FE00007FFFF00001F-E00007FFFF00001FE00007FFFF00001FE00007FFFF00001FE00007FFFF00003FE00007FF-FF80003FC00003FFFF80003FC00003FFFF80007FC00003FFFFC0007F800001FFFFC000FF-800001FFFFE000FF800000FFFFE001FF0000007FFFF003FE0000007FFFFE0FFE0000003F-FFFFFFFC0000000FFFFFFFF800000007FFFFFFF000000001FFFFFFC0000000007FFFFF80-000000001FFFFE000000000001FFF000003B6E7CEC4B>116 D<7FFFFFFFFF00003FFFFF-FFF07FFFFFFFFF00003FFFFFFFF07FFFFFFFFF00003FFFFFFFF07FFFFFFFFF00003FFFFF-FFF07FFFFFFFFF00003FFFFFFFF07FFFFFFFFF00003FFFFFFFF07FFFFFFFFF00003FFFFF-FFF07FFFFFFFFF00003FFFFFFFF00003FFFFC0000001FFFF00000001FFFFE00000007FF0-00000001FFFFF00000007FE000000000FFFFF0000000FFC0000000007FFFF8000001FF80-000000003FFFFC000003FF00000000001FFFFE000007FF00000000001FFFFF00000FFE00-000000000FFFFF00001FFC000000000007FFFF80001FF8000000000003FFFFC0003FF000-0000000001FFFFE0007FE0000000000001FFFFF000FFE0000000000000FFFFF801FFC000-00000000007FFFF803FF800000000000003FFFFC07FF000000000000001FFFFE07FE0000-00000000001FFFFF0FFC000000000000000FFFFF9FF80000000000000007FFFFBFF80000-000000000003FFFFFFF00000000000000001FFFFFFE00000000000000001FFFFFFC00000-000000000000FFFFFF8000000000000000007FFFFF0000000000000000003FFFFE000000-0000000000001FFFFE0000000000000000001FFFFF0000000000000000000FFFFF800000-00000000000007FFFF80000000000000000003FFFFC0000000000000000001FFFFE00000-00000000000001FFFFF0000000000000000003FFFFF8000000000000000007FFFFF80000-0000000000000FFFFFFC00000000000000000FFFFFFE00000000000000001FFFFFFF0000-0000000000003FFFFFFF80000000000000007FE7FFFF8000000000000000FFE3FFFFC000-000000000001FFC1FFFFE000000000000003FF80FFFFF000000000000003FF00FFFFF800-000000000007FE007FFFF80000000000000FFC003FFFFC0000000000001FFC001FFFFE00-00000000003FF8000FFFFF0000000000007FF0000FFFFF800000000000FFE00007FFFF80-0000000000FFC00003FFFFC00000000001FF800001FFFFE00000000003FF000000FFFFF0-0000000007FF000000FFFFF8000000000FFE0000007FFFF8000000001FFC0000003FFFFC-000000003FF80000001FFFFE000000003FF00000000FFFFF000000007FE00000000FFFFF-80000000FFC000000007FFFFC000000FFFF800000003FFFFC000FFFFFFFF800000FFFFFF-FFFEFFFFFFFF800000FFFFFFFFFEFFFFFFFF800000FFFFFFFFFEFFFFFFFF800000FFFFFF-FFFEFFFFFFFF800000FFFFFFFFFEFFFFFFFF800000FFFFFFFFFEFFFFFFFF800000FFFFFF-FFFEFFFFFFFF800000FFFFFFFFFE5F4D7DCC66>120 D E /Fp 83-126 df<3C001E007F007F00FF007F80FF007F80FF007F80FF007F80FF007F80FF007F80-7F007F007F007F007F007F007F007F007F007F007F007F007E003F007E003F007E003F00-7E003F007E003F007E003F003E003E003E003E003E003E003C001E001C001C00191977B3-2C>34 D<000F003C00001F807E00001F807E00001F807E00001F807E00001F807E00001F-807E00001F807E00001F807E00003F80FE00003F00FC00003F00FC00003F00FC00003F00-FC007FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF83FFFFFFFF0007E01F8-00007E01F800007E01F800007E01F800007E01F80000FE03F80000FC03F00000FC03F000-00FC03F00000FC03F00000FC03F00000FC03F0003FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FF-FFFFFFF8FFFFFFFFF87FFFFFFFF001F807E00001F807E00001F807E00003F80FE00003F0-0FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00F-C00001E007800025337DB22C>I<0001C000000003E000000003E000000003E000000003-E000000003E000000003E00000000FFC0000007FFF800001FFFFE00007FFFFF0000FFFFF-F8001FFBEFFC003FC3E1FE003F03E07F007E03E03F007C03E03F00FC03E03F80F803E03F-80F803E07F80F803E07F80F803E07F80FC03E03F00FC03E03F007E03E000007F03E00000-3FC3E000003FFBE000001FFFE000000FFFFC000007FFFF000001FFFFC000007FFFE00000-1FFFF8000003FFFC000003E7FC000003E1FE000003E07F000003E03F001803E01F007E03-E01F807E03E00F80FF03E00F80FF03E00F80FF03E00F80FE03E00F80FE03E01F80FE03E0-1F007E03E03F007F03E03E003F83E0FE003FC3E1FC001FFBEFF8000FFFFFF00007FFFFE0-0003FFFFC00000FFFF0000001FF800000003E000000003E000000003E000000003E00000-0003E000000003E000000001C0000021417BB92C>I<07800007001FE0000F801FE0001F-803FF0001F807FF8003F807FF8003F007CF8007F00FCFC007E00F87C007E00F87C00FE00-F87C00FC00F87C01FC00F87C01F800F87C01F800F87C03F800FCFC03F0007CF803F0007F-F807F0007FF807E0003FF00FE0001FE00FC0001FE00FC00007801FC00000001F80000000-3F800000003F000000003F000000007F000000007E00000000FE00000000FC00000000FC-00000001FC00000001F800000001F800000003F800000003F000000007F000000007E000-000007E00000000FE00000000FC00000001FC00000001F800F00001F803FC0003F807FE0-003F007FE0007F00FFF0007E00F9F0007E00F9F000FE01F9F800FC01F0F800FC01F0F801-FC01F0F801F801F0F803F801F0F803F001F0F803F001F9F807F000F9F007E000F9F00FE0-00FFF00FC0007FE00FC0007FE007C0003FC00380000F0025417DB92C>I<000FC0000000-3FE00000007FF0000000FFF8000000FFFC000001F8FC000001F07C000001F07E000003F0-3E000003E03E000003E03E000003E03E000003E03E000003E03E000003E07E000003E07C-000003E0FC3FF803F0F87FFC01F1F87FFC01F3F07FFC01F7F03FF801F7E01F0001FFC03F-0000FF803E0000FF803E0000FF007E0000FE007C0001FC007C0003FE00FC0007FE00F800-07FF01F8000FDF01F0001F9F81F0003F8F83F0003F0FC3E0007E07E7E0007E07E7C000FC-03F7C000FC01FFC000FC01FF8000FC00FF8010FC00FF007CFC007F007CFC007F007CFE00-FF807C7E01FFC07C7F03FFE0FC3F87F7F1F83FFFE3FFF81FFFC1FFF00FFF80FFF007FF00-7FC001FC001F8026357EB32C>I<0F801FC03FE03FF03FF03FF83FF81FF80FF800F800F8-00F800F801F801F001F003F003E007E00FC01FC03F807F00FE00FC00F80070000D1B71B2-2C>I<0000380000FC0001FC0003FC0007F8000FF0001FC0003F80007F0000FE0001FC00-03F80003F00007F00007E0000FE0000FC0001F80001F80003F80003F00003F00007F0000-7E00007E00007E0000FE0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000-FC0000FC0000FC0000FC0000FE00007E00007E00007E00007F00003F00003F00003F8000-1F80001F80000FC0000FE00007E00007F00003F00003F80001FC0000FE00007F00003F80-001FC0000FF00007F80003FC0001FC0000FC000038164272B92C>I<700000FC0000FE00-00FF00007F80003FC0000FE00007F00003F80001FC0000FE00007F00003F00003F80001F-80001FC0000FC00007E00007E00007F00003F00003F00003F80001F80001F80001F80001-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000-FC0001FC0001F80001F80001F80003F80003F00003F00007F00007E00007E0000FC0001F-C0001F80003F80003F00007F0000FE0001FC0003F80007F0000FE0003FC0007F8000FF00-00FE0000FC0000700000164279B92C>I<000380000007C0000007C0000007C0000007C0-000007C0000007C0002007C008F807C03EFE07C0FEFF07C1FEFFC7C7FEFFE7CFFE3FFFFF-F80FFFFFE003FFFF8001FFFF00007FFC00007FFC0001FFFF0003FFFF800FFFFFE03FFFFF-F8FFE7CFFEFFC7C7FEFF07C1FEFE07C0FEF807C03E2007C0080007C0000007C0000007C0-000007C0000007C0000007C000000380001F247AAA2C>I<00007800000000FC00000000-FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC-00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00007FFFFFFF-F0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF00000FC00000000FC0000-0000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000000-00FC00000000FC00000000FC00000000FC00000000FC00000000FC000000007800002526-7DAB2C>I<0F801FE03FF07FF87FF87FFC7FFC7FFC3FFC1FFC0FFC00FC00F800F801F803-F007F01FE07FC0FF80FF00FC0070000E17718A2C>I<7FFFFFFF00FFFFFFFF80FFFFFFFF-80FFFFFFFF80FFFFFFFF807FFFFFFF0021067B9B2C>I<1F003F807FC0FFE0FFE0FFE0FF-E0FFE07FC03F801F000B0B708A2C>I<00000007000000000F800000001F800000001F80-0000003F800000003F000000007F000000007E00000000FE00000000FC00000001FC0000-0001F800000003F800000003F000000003F000000007F000000007E00000000FE0000000-0FC00000001FC00000001F800000003F800000003F000000007F000000007E00000000FE-00000000FC00000000FC00000001FC00000001F800000003F800000003F000000007F000-000007E00000000FE00000000FC00000001FC00000001F800000001F800000003F800000-003F000000007F000000007E00000000FE00000000FC00000001FC00000001F800000003-F800000003F000000007F000000007E000000007E00000000FE00000000FC00000001FC0-0000001F800000003F800000003F000000007F000000007E00000000FE00000000FC0000-0000FC00000000F800000000780000000021417BB92C>I<0003F80000000FFE0000003F-FF8000007FFFC00000FFFFE00001FE0FF00003F803F80007F001FC0007E000FC000FC000-7E000FC0007E001F80003F001F80003F003F00001F803F00001F803E00000F807E00000F-C07E00000FC07E00000FC07C000007C0FC000007E0FC000007E0FC000007E0FC000007E0-FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC-000007E0FE00000FE07E00000FC07E00000FC07E00000FC07E00000FC03F00001F803F00-001F803F00001F801F80003F001F80003F000FC0007E000FE000FE0007E000FC0007F001-FC0003F803F80001FE0FF00000FFFFE000007FFFC000003FFF8000000FFE00000003F800-0023357CB32C>I<00070000000F8000000F8000001F8000001F8000003F8000007F8000-00FF800001FF800007FF80007FFF8000FFFF8000FFDF8000FF9F80007C1F8000001F8000-001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000-001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000-001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000-001F8000001F8000001F8000001F80007FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE0-1C3477B32C>I<000FF80000007FFF800001FFFFE00007FFFFF0000FFFFFFC001FF80FFE-003FE001FF003F80007F007F00003F807E00001F80FE00001FC0FE00000FC0FF00000FE0-FF000007E0FF000007E0FF000007E07E000007E03C000007E000000007E000000007E000-00000FE00000000FC00000001FC00000001F800000003F800000003F000000007F000000-00FE00000001FC00000003FC00000007F80000000FF00000001FE00000003FC0000000FF-80000001FE00000003FC00000007F80000000FF00000003FE00000007F80000000FF0000-0001FE00000003FC0003C007F80007E01FE00007E03FC00007E07FFFFFFFE0FFFFFFFFE0-FFFFFFFFE0FFFFFFFFE07FFFFFFFC023347CB32C>I<000FFC0000007FFF800001FFFFE0-0007FFFFF8000FFFFFFC001FF807FE001FC000FE003F80007F003FC0003F003FC0003F80-3FC0001F803FC0001F801F80001F800F00001F800000001F800000003F800000003F0000-00007F00000000FE00000001FE00000003FC0000001FF800001FFFF000003FFFE000003F-FFE000003FFFF800001FFFFC00000007FE00000000FF000000007F000000003F80000000-1FC00000000FC00000000FC00000000FE000000007E000000007E03C000007E07E000007-E0FF000007E0FF00000FE0FF00000FC0FF00000FC0FE00001FC07F00003F807F80007F00-3FC000FF001FF807FE000FFFFFFC0007FFFFF80003FFFFE000007FFF8000000FFC000023-357CB32C>I<000007F00000000FF80000001FF80000003FF80000003FF80000007EF800-00007EF8000000FCF8000001F8F8000001F8F8000003F0F8000007E0F8000007E0F80000-0FC0F800001F80F800001F80F800003F00F800007E00F800007E00F80000FC00F80001F8-00F80001F800F80003F000F80003E000F80007E000F8000FC000F8000FC000F8001F8000-F8003F0000F8003F0000F8007E0000F800FC0000F800FFFFFFFFFCFFFFFFFFFEFFFFFFFF-FEFFFFFFFFFE7FFFFFFFFC000000F800000000F800000000F800000000F800000000F800-000000F800000000F800000000F800000000F800000000F80000007FFFF00000FFFFF800-00FFFFF80000FFFFF800007FFFF027347EB32C>I<0FFFFFFE001FFFFFFF001FFFFFFF00-1FFFFFFF001FFFFFFE001F800000001F800000001F800000001F800000001F800000001F-800000001F800000001F800000001F800000001F800000001F800000001F800000001F80-0000001F83FE00001F9FFF80001FFFFFE0001FFFFFF8001FFFFFFC001FFE03FE001FF000-FF001FC0007F001F80003F801F00001F800F00001FC00000000FC00000000FC000000007-E000000007E000000007E000000007E03C000007E07E000007E0FF000007E0FF00000FE0-FF00000FC0FF00000FC0FE00001FC07E00003F807F00007F003F8000FF003FC001FE001F-F80FFC000FFFFFF80007FFFFF00001FFFFC000007FFF0000000FF8000023347CB22C>I<-00003FC0000001FFF8000007FFFC00001FFFFE00003FFFFF00007FE07F0000FF003F8001-FE007F8003F8007F8007F0007F8007E0007F800FE0003F001FC0001E001F800000003F80-0000003F000000003F000000007F000000007E000000007E03FE00007E1FFF8000FC7FFF-E000FDFFFFF000FFFFFFF800FFFE07FC00FFF001FE00FFC0007F00FF80003F80FF00001F-80FF00001FC0FE00000FC0FE00000FE0FE000007E0FE000007E0FE000007E07E000007E0-7E000007E07E000007E07E000007E03F000007E03F00000FE03F80000FC01F80001FC01F-C0001F800FC0003F800FE0007F0007F801FE0003FE07FC0001FFFFF80000FFFFF000007F-FFE000001FFF80000007FC000023357CB32C>I<7800000000FFFFFFFFC0FFFFFFFFE0FF-FFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00003F80FC00007F00FC0000FE00780000FC000000-01FC00000003F800000007F000000007E00000000FE00000000FC00000001F800000003F-800000003F000000007F000000007E00000000FE00000000FC00000001FC00000001F800-000001F800000003F000000003F000000007F000000007E000000007E000000007E00000-000FC00000000FC00000000FC00000000FC00000001F800000001F800000001F80000000-1F800000001F800000003F800000003F000000003F000000003F000000003F000000003F-000000003F000000003F000000003F000000003F000000003F000000001E00000023357C-B32C>I<0007FC0000003FFF800000FFFFE00003FFFFF80007FFFFFC000FFC07FE001FF0-01FF001FC0007F003F80003F803F00001F807F00001FC07E00000FC07E00000FC07E0000-0FC07E00000FC07E00000FC03F00001F803F00001F801F80003F001FC0007F000FF001FE-0003FC07F80001FFFFF000007FFFC0000007FC0000007FFFC00001FFFFF00003FC07F800-0FF001FE001FC0007F001F80003F003F00001F807E00000FC07E00000FC0FC000007E0FC-000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E07E00000FC07E00-000FC07F00001FC03F80003F801FC0007F001FF001FF000FFC07FE0007FFFFFC0003FFFF-F80000FFFFE000003FFF80000007FC000023357CB32C>I<0007FC0000003FFF000000FF-FFC00001FFFFE00003FFFFF00007FC07F8000FF001FC001FE000FE003F80007E003F8000-7F007F00003F007E00001F80FE00001F80FC00001F80FC00000FC0FC00000FC0FC00000F-C0FC00000FC0FC00000FE0FC00000FE0FC00000FE0FE00000FE07E00000FE07F00001FE0-3F00001FE03F80003FE01FC0007FE00FF001FFE007FC0FFFE003FFFFFFE001FFFFF7E000-FFFFC7E0003FFF0FE0000FF80FC00000000FC00000000FC00000001FC00000001F800000-003F800000003F000F00007F001F80007E003FC000FE003FC001FC003FC003F8003FC007-F8003F801FF0001FE07FE0001FFFFFC0000FFFFF000007FFFE000001FFF80000007FC000-0023357CB32C>I<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F00000000000000-000000000000000000000000000000000000000000001F003F807FC0FFE0FFE0FFE0FFE0-FFE07FC03F801F000B2470A32C>I<00000007000000001F800000003F80000000FF8000-0003FF80000007FF0000001FFC0000003FF8000000FFE0000001FF80000007FF0000000F-FC0000003FF80000007FE0000001FFC0000003FF0000000FFE0000001FF80000007FF000-0000FFC0000000FF80000000FF80000000FFC00000007FF00000001FF80000000FFE0000-0003FF00000001FFC00000007FE00000003FF80000000FFC00000007FF00000001FF8000-0000FFE00000003FF80000001FFC00000007FF00000003FF80000000FF800000003F8000-00001F800000000700212A7BAD2C>60 D<7FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFF-F8FFFFFFFFF83FFFFFFFF000000000000000000000000000000000000000000000000000-0000000000000000000000000000003FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FF-FFFFFFF87FFFFFFFF025147DA22C>I<7000000000FC00000000FE00000000FF80000000-FFE00000007FF00000001FFC0000000FFE00000003FF80000000FFC00000007FF0000000-1FF80000000FFE00000003FF00000001FFC00000007FE00000003FF80000000FFC000000-07FF00000001FF80000000FF80000000FF80000001FF80000007FF0000000FFC0000003F-F80000007FE0000001FFC0000003FF0000000FFE0000001FF80000007FF0000000FFC000-0003FF8000000FFE0000001FFC0000007FF0000000FFE0000000FF80000000FE00000000-FC000000007000000000212A7BAD2C>I<0000FE00000001FF00000001FF00000001FF00-000001FF00000003FF80000003FF80000003EF80000003EF80000007EF80000007EFC000-0007EFC0000007C7C0000007C7C000000FC7E000000FC7E000000FC7E000000FC3E00000-1F83F000001F83F000001F83F000001F83F000001F83F000003F01F800003F01F800003F-01F800003F01F800007E00FC00007E00FC00007E00FC00007E00FC00007E00FC0000FC00-7E0000FFFFFE0000FFFFFE0000FFFFFE0001FFFFFF0001FFFFFF0001F8003F0001F8003F-0001F8003F0003F0001F8003F0001F8003F0001F8003F0001F8007F0001FC007E0000FC0-7FFE00FFFC7FFF01FFFCFFFF01FFFE7FFF01FFFC7FFE00FFFC27347EB32C>65-D<7FFFFFE0007FFFFFF800FFFFFFFE007FFFFFFF007FFFFFFFC003F0003FC003F0000FE0-03F00007F003F00003F003F00003F003F00001F803F00001F803F00001F803F00001F803-F00001F803F00001F803F00003F003F00003F003F00007F003F0000FE003F0001FC003F0-00FF8003FFFFFF0003FFFFFE0003FFFFFC0003FFFFFF0003FFFFFFC003F0001FE003F000-07F003F00003F803F00001F803F00000FC03F00000FC03F00000FE03F000007E03F00000-7E03F000007E03F000007E03F000007E03F000007E03F00000FE03F00000FC03F00001FC-03F00003F803F0000FF803F0003FF07FFFFFFFE07FFFFFFFC0FFFFFFFF807FFFFFFE007F-FFFFF00027337FB22C>I<0000FF00700007FFE0F8000FFFF9F8003FFFFDF8007FFFFFF8-00FF81FFF801FE007FF803FC001FF807F0000FF807F00007F80FE00007F80FC00003F81F-800003F81F800001F83F000001F83F000001F87F000001F87E000000F07E000000007E00-000000FE00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000-0000FC00000000FC00000000FC00000000FC00000000FC00000000FE000000007E000000-007E000000007E000000007F000000F03F000001F83F000001F81F800001F81F800001F8-0FC00003F80FE00003F007F00007F007F00007E003FC001FE001FE003FC000FF81FF8000-7FFFFF00003FFFFE00000FFFFC000007FFF0000000FF800025357DB32C>I<7FFFFF0000-FFFFFFC000FFFFFFF000FFFFFFF8007FFFFFFC0007E003FE0007E000FF0007E0007F8007-E0003F8007E0001FC007E0000FE007E0000FE007E00007E007E00007F007E00003F007E0-0003F807E00001F807E00001F807E00001F807E00001F807E00000FC07E00000FC07E000-00FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000-FC07E00000FC07E00000FC07E00001F807E00001F807E00001F807E00003F807E00003F0-07E00003F007E00007F007E00007E007E0000FE007E0001FC007E0003FC007E0007F8007-E000FF0007E003FE007FFFFFFC00FFFFFFF800FFFFFFF000FFFFFFC0007FFFFF00002633-7EB22C>I<7FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF803F00001F803-F00001F803F00001F803F00001F803F00001F803F00001F803F00001F803F00000F003F0-00000003F000000003F000000003F000000003F001E00003F003F00003F003F00003F003-F00003F003F00003FFFFF00003FFFFF00003FFFFF00003FFFFF00003FFFFF00003F003F0-0003F003F00003F003F00003F003F00003F001E00003F000000003F000000003F0000000-03F000000003F000000003F000003C03F000007E03F000007E03F000007E03F000007E03-F000007E03F000007E03F000007E03F000007E7FFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFF-FFFFFE7FFFFFFFFC27337EB22C>I<7FFFFFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFFFFFC7F-FFFFFFFC03F00000FC03F00000FC03F00000FC03F00000FC03F00000FC03F00000FC03F0-0000FC03F000007803F000000003F000000003F000000003F000000003F000000003F000-F00003F001F80003F001F80003F001F80003F001F80003FFFFF80003FFFFF80003FFFFF8-0003FFFFF80003FFFFF80003F001F80003F001F80003F001F80003F001F80003F000F000-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003-F000000003F000000003F000000003F000000003F000000003F00000007FFFE00000FFFF-E00000FFFFF00000FFFFE000007FFFE0000026337EB22C>I<0001FC0380000FFF87C000-1FFFEFC0007FFFFFC000FFFFFFC001FF07FFC003FC01FFC003F800FFC007F0007FC00FE0-003FC00FC0001FC01FC0001FC01F80001FC03F80000FC03F00000FC03F00000FC07E0000-0FC07E000007807E000000007E00000000FE00000000FC00000000FC00000000FC000000-00FC00000000FC00000000FC00000000FC00000000FC00000000FC0003FFF8FC0007FFFC-FC0007FFFCFE0007FFFC7E0003FFF87E00000FC07E00000FC07E00000FC03F00001FC03F-00001FC03F80001FC01F80001FC01FC0003FC00FC0003FC00FE0007FC007F0007FC003F8-00FFC003FC01FFC001FF07FFC000FFFFFFC0007FFFEFC0001FFFCFC0000FFF07800001FC-000026357DB32C>I<7FFE00FFFCFFFF01FFFEFFFF01FFFEFFFF01FFFE7FFE00FFFC07E0-000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E000-0FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000F-C007E0000FC007E0000FC007FFFFFFC007FFFFFFC007FFFFFFC007FFFFFFC007FFFFFFC0-07E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007-E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0-000FC007E0000FC007E0000FC007E0000FC007E0000FC07FFE00FFFCFFFF01FFFEFFFF01-FFFEFFFF01FFFE7FFE00FFFC27337EB22C>I<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7F-FFFFF8000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000-0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000-0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000-0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000-0FC000000FC000000FC000000FC000000FC000000FC0007FFFFFF8FFFFFFFCFFFFFFFCFF-FFFFFC7FFFFFF81E3379B22C>I<7FFFE00000FFFFF00000FFFFF00000FFFFF000007FFF-E0000003F000000003F000000003F000000003F000000003F000000003F000000003F000-000003F000000003F000000003F000000003F000000003F000000003F000000003F00000-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003-F000000003F000000003F000000003F000000003F00000F003F00001F803F00001F803F0-0001F803F00001F803F00001F803F00001F803F00001F803F00001F87FFFFFFFF8FFFFFF-FFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF025337DB22C>76 D<7FE0000FFCFFF0001FFEFF-F0001FFEFFF8003FFE7FF8003FFC0FF8003FE00FBC007BE00FBC007BE00FBC007BE00FBC-007BE00F9E00F3E00F9E00F3E00F9E00F3E00F9F01F3E00F9F01F3E00F8F01E3E00F8F01-E3E00F8F83E3E00F8F83E3E00F8783C3E00F87C7C3E00F87C7C3E00F83C783E00F83C783-E00F83EF83E00F83EF83E00F81EF03E00F81EF03E00F81FF03E00F80FE03E00F80FE03E0-0F80FE03E00F807C03E00F803803E00F800003E00F800003E00F800003E00F800003E00F-800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F80-0003E07FF0001FFCFFF8003FFEFFF8003FFEFFF8003FFE7FF0001FFC27337EB22C>I<7F-F0007FFCFFF800FFFEFFF800FFFEFFFC00FFFE7FFC007FFC07FE0007C007DE0007C007DE-0007C007DF0007C007CF0007C007CF0007C007CF8007C007C78007C007C7C007C007C7C0-07C007C3C007C007C3E007C007C3E007C007C1E007C007C1F007C007C1F007C007C0F007-C007C0F807C007C0F807C007C07C07C007C07C07C007C07C07C007C03E07C007C03E07C0-07C01E07C007C01F07C007C01F07C007C00F07C007C00F87C007C00F87C007C00787C007-C007C7C007C007C7C007C003C7C007C003E7C007C001E7C007C001E7C007C001F7C007C0-00F7C007C000F7C007C000FFC07FFC007FC0FFFE007FC0FFFE003FC0FFFE003FC07FFC00-1F8027337EB22C>I<007FFF000003FFFFE0000FFFFFF8001FFFFFFC003FFFFFFE003FE0-03FE003F8000FE007F00007F007F00007F007E00003F007E00003F007E00003F00FE0000-3F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F-80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80-FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC-00001F80FC00001F80FC00001F80FC00001F80FC00001F80FE00003F80FE00003F807E00-003F007E00003F007E00003F007F00007F007F00007F003F8000FE003FF007FE003FFFFF-FE001FFFFFFC000FFFFFF80003FFFFE000007FFF000021357BB32C>I<7FFFFFC000FFFF-FFF800FFFFFFFC00FFFFFFFF007FFFFFFF8003F000FFC003F0003FC003F0000FE003F000-07F003F00007F003F00003F003F00003F803F00001F803F00001F803F00001F803F00001-F803F00001F803F00001F803F00003F803F00003F003F00007F003F00007F003F0000FE0-03F0003FC003F000FFC003FFFFFF8003FFFFFF0003FFFFFC0003FFFFF80003FFFFC00003-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000-000003F00000007FFF800000FFFFC00000FFFFC00000FFFFC000007FFF80000025337EB2-2C>I<7FFFFC000000FFFFFF800000FFFFFFE00000FFFFFFF800007FFFFFFC000007E007-FE000007E001FE000007E0007F000007E0003F800007E0001F800007E0001F800007E000-0FC00007E0000FC00007E0000FC00007E0000FC00007E0000FC00007E0000FC00007E000-1F800007E0001F800007E0003F800007E0007F000007E001FE000007E007FE000007FFFF-FC000007FFFFF8000007FFFFE0000007FFFFF0000007FFFFF8000007E007FC000007E001-FE000007E000FE000007E0007F000007E0003F000007E0003F000007E0003F000007E000-3F000007E0003F000007E0003F000007E0003F000007E0003F000007E0003F0F0007E000-3F1F8007E0003F1F8007E0003F1F8007E0003F1F8007E0003F1F807FFE001FBF80FFFF00-1FFF00FFFF000FFF00FFFF000FFE007FFE0007FC0000000001F00029347EB22C>82-D<001FF8070000FFFF0F8001FFFFCF8007FFFFFF800FFFFFFF801FF01FFF803FC003FF80-3F8001FF807F0000FF807E00007F80FE00003F80FC00003F80FC00001F80FC00001F80FC-00001F80FC00001F80FE00000F007E000000007F000000007F800000003FE00000001FFC-0000001FFFC000000FFFFC000003FFFFC00001FFFFF000007FFFF8000007FFFC0000007F-FE00000007FF00000000FF800000003F800000001FC00000001FC00000000FE00000000F-E078000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FC0-FE00000FC0FF00001F80FF80003F80FFE0007F00FFFE01FF00FFFFFFFE00FFFFFFFC00F9-FFFFF000F83FFFC0007007FF000023357CB32C>I<7FFFFFFFFCFFFFFFFFFEFFFFFFFFFE-FFFFFFFFFEFFFFFFFFFEFC007E007EFC007E007EFC007E007EFC007E007EFC007E007EFC-007E007EFC007E007E78007E003C00007E000000007E000000007E000000007E00000000-7E000000007E000000007E000000007E000000007E000000007E000000007E000000007E-000000007E000000007E000000007E000000007E000000007E000000007E000000007E00-0000007E000000007E000000007E000000007E000000007E000000007E000000007E0000-00007E000000007E000000007E000000007E000000007E000000007E000000007E000000-3FFFFC00003FFFFC00007FFFFE00003FFFFC00003FFFFC0027337EB22C>I<7FFF803FFF-C0FFFFC07FFFE0FFFFC07FFFE0FFFFC07FFFE07FFF803FFFC003F00001F80003F00001F8-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8-0003F00001F80003F80003F80001F80003F00001F80003F00001FC0007F00000FC0007E0-0000FE000FE000007F001FC000003F803F8000003FE0FF8000001FFFFF0000000FFFFE00-000003FFF800000001FFF0000000003F8000002B3480B22C>I<7FFC007FFCFFFE00FFFE-FFFE00FFFEFFFE00FFFE7FFC007FFC0FC00007E00FE0000FE007E0000FC007E0000FC007-E0000FC007F0001FC003F0001F8003F0001F8003F0001F8003F8003F8001F8003F0001F8-003F0001F8003F0001FC007F0000FC007E0000FC007E0000FC007E0000FC007E00007E00-FC00007E00FC00007E00FC00007E00FC00003F01F800003F01F800003F01F800003F01F8-00001F83F000001F83F000001F83F000001F83F000000F83E000000FC7E000000FC7E000-000FC7E0000007C7C0000007C7C0000007EFC0000007EFC0000003EF80000003EF800000-03FF80000003FF80000001FF00000001FF00000001FF00000001FF00000000FE00002734-7EB22C>I<7FF00007FF00FFF8000FFF80FFF8000FFF80FFF8000FFF807FF00007FF001F-0000007C001F0000007C001F0000007C001F0000007C000F800000F8000F800000F8000F-800000F8000F800000F8000F800000F8000F800000F8000F800000F80007C00001F00007-C00001F00007C00001F00007C00001F00007C03E01F00007C07F01F00007C07F01F00007-C07F01F00003E0FF83E00003E0FF83E00003E0F783E00003E0F783E00003E1F7C3E00003-E1F7C3E00003E1F7C3E00001E1E3C3C00001E1E3C3C00001F1E3C7C00001F3E3E7C00001-F3E3E7C00001F3E3E7C00001F3C1E7C00001F3C1E7C00000F3C1E7800000F3C1E7800000-F7C1F7800000F780F7800000F780F7800000F780F7800000FF80FF8000007F80FF000000-7F007F0000007F007F0000007F007F0000007F007F0000003E003E000029347FB22C>I<-7FFFFCFFFFFEFFFFFEFFFFFEFFFFFCFC0000FC0000FC0000FC0000FC0000FC0000FC0000-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000-FFFFFCFFFFFEFFFFFEFFFFFE7FFFFC17416FB92C>91 D<7800000000F800000000FC0000-0000FC00000000FE000000007E000000007F000000003F000000003F800000001F800000-001FC00000000FC00000000FE000000007E000000007E000000007F000000003F0000000-03F800000001F800000001FC00000000FC00000000FE000000007E000000007F00000000-3F000000003F800000001F800000001F800000001FC00000000FC00000000FE000000007-E000000007F000000003F000000003F800000001F800000001FC00000000FC00000000FC-00000000FE000000007E000000007F000000003F000000003F800000001F800000001FC0-0000000FC00000000FE000000007E000000007F000000003F000000003F000000003F800-000001F800000001FC00000000FC00000000FE000000007E000000007F000000003F0000-00003F800000001F800000001F800000000F80000000070021417BB92C>I<7FFFFCFFFF-FEFFFFFEFFFFFE7FFFFE00007E00007E00007E00007E00007E00007E00007E00007E0000-7E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E0000-7E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E0000-7E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E0000-7E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E7FFFFEFFFF-FEFFFFFEFFFFFE7FFFFC17417DB92C>I<000E0000003F800000FFE00003FFF8000FFFFE-001FFFFF007FF1FFC0FFE0FFE0FF803FE0FE000FE07C0007C0300001801B0C78B22C>I<-7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF0021067B7D2C>-I<007000F801F803F807F00FE01FC01F803F003E007E007C007C00FC00F800F800F800F8-00FF80FFC0FFE0FFE07FE07FE03FE01FC00F800D1B71B82C>I<01FFF0000007FFFE0000-1FFFFF80001FFFFFE0003FFFFFF0003FC01FF8003FC007F8003FC001FC001F8000FC0006-0000FE000000007E000000007E000000007E000000FFFE00001FFFFE0000FFFFFE0003FF-FFFE000FFFFFFE001FFF807E003FF8007E007FC0007E007F00007E00FE00007E00FC0000-7E00FC00007E00FC00007E00FC00007E00FE00007E007F0000FE007F8003FE003FE01FFE-001FFFFFFFFC0FFFFFFFFE07FFFFBFFE01FFFE1FFE003FF007FC27247CA32C>I<7FF000-0000FFF8000000FFF8000000FFF80000007FF800000001F800000001F800000001F80000-0001F800000001F800000001F800000001F800000001F800000001F800000001F8000000-01F81FE00001F8FFF80001FBFFFE0001FFFFFF0001FFFFFF8001FFF07FC001FF801FE001-FF0007F001FE0003F801FC0003F801FC0001FC01F80000FC01F80000FC01F80000FE01F8-00007E01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F800-007E01F80000FE01FC0000FC01FC0000FC01FC0001F801FE0003F801FF0007F001FF000F-F001FF801FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8FFF80000F03FC000-27337FB22C>I<0003FFE000001FFFF800007FFFFE0001FFFFFE0003FFFFFF0007FE00FF-000FF000FF001FE000FF001FC0007E003F800018003F000000007F000000007E00000000-7E00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC-00000000FC000000007E000000007E000000007F000000003F00000F003F80001F801FC0-001F801FE0003F800FF0007F0007FE03FF0003FFFFFE0001FFFFFC00007FFFF800001FFF-E0000003FF000021247AA32C>I<00000FFE0000001FFF0000001FFF0000001FFF000000-0FFF000000003F000000003F000000003F000000003F000000003F000000003F00000000-3F000000003F000000003F000000003F000007F83F00003FFE3F0000FFFFBF0001FFFFFF-0003FFFFFF0007FC0FFF000FF003FF001FE001FF001FC000FF003F80007F003F00007F00-7E00003F007E00003F00FE00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC-00003F00FC00003F00FC00003F00FC00003F00FE00003F007E00007F007E00007F007F00-00FF003F8000FF003F8001FF001FC003FF000FF007FF0007FC1FFF0003FFFFFFFC01FFFF-BFFE00FFFF3FFE003FFC3FFE000FF01FFC27337DB22C>I<0003FE0000001FFFC000007F-FFF00001FFFFF80003FFFFFC0007FE03FE000FF800FF001FE0003F801FC0003F803F8000-1FC03F00000FC07F00000FC07E00000FE07E000007E0FC000007E0FFFFFFFFE0FFFFFFFF-E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00000000FE000000007E000000007E00000000-7F000000003F000003C03F800007E01FC00007E00FF0000FE007F8003FC007FF00FFC001-FFFFFF8000FFFFFF00003FFFFC00000FFFF0000001FF800023247CA32C>I<00000FF800-00003FFE000000FFFF000001FFFF800003FFFF800007FC7F800007F07F80000FE03F0000-0FC03F00000FC00000000FC00000000FC00000000FC00000000FC00000000FC000007FFF-FFFE00FFFFFFFF00FFFFFFFF00FFFFFFFF007FFFFFFE00000FC00000000FC00000000FC0-0000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000-00000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000-000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000000-0FC00000000FC000003FFFFFF0007FFFFFF8007FFFFFF8007FFFFFF8003FFFFFF0002133-7DB22C>I<00000003F80007F80FFC001FFE3FFE007FFFFFFF01FFFFFFFF03FFFFFE7F03-FC0FF87F07F003F83E0FE001FC1C0FC000FC001FC000FE001F80007E001F80007E001F80-007E001F80007E001F80007E001F80007E001FC000FE000FC000FC000FE001FC0007F003-F80003FC0FF00007FFFFF00007FFFFE0000FFFFF80000F9FFE00000F87F800000F800000-000F800000000F800000000FC000000007E000000007FFFFF00003FFFFFE0007FFFFFF80-0FFFFFFFE01FFFFFFFF03FC0001FF87F000003FC7E000000FC7C0000007CFC0000007EF8-0000003EF80000003EF80000003EF80000003EFC0000007E7E000000FC7F800003FC3FE0-000FF81FFC007FF00FFFFFFFE003FFFFFF8001FFFFFF00003FFFF8000007FFC00028387E-A42C>I<7FF000000000FFF800000000FFF800000000FFF8000000007FF80000000001F8-0000000001F80000000001F80000000001F80000000001F80000000001F80000000001F8-0000000001F80000000001F80000000001F80000000001F81FE0000001F87FFC000001F9-FFFE000001FBFFFF000001FFFFFF000001FFF03F800001FFC01F800001FF801FC00001FF-000FC00001FE000FC00001FC000FC00001FC000FC00001F8000FC00001F8000FC00001F8-000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8-000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8-000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0007FFFE0FFFF00FFFF-F1FFFF80FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF0029337FB22C>I<00070000001FC0-00001FC000003FE000003FE000003FE000001FC000001FC0000007000000000000000000-0000000000000000000000000000000000000000007FFFC0007FFFE000FFFFE0007FFFE0-007FFFE0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0-000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0-000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0-007FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC1F3479B32C>I<00000E0000003F80-00003F8000007FC000007FC000007FC000003F8000003F8000000E000000000000000000-000000000000000000000000000000000000000001FFFF8003FFFFC003FFFFC003FFFFC0-01FFFFC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0-00000FC000000FC000000FC000001FC03C001F807E003F80FF003F00FF007F00FF01FE00-FFFFFC007FFFF8007FFFF0001FFFE00007FF00001A467CB32C>I<7FE0000000FFF00000-00FFF0000000FFF00000007FF000000001F000000001F000000001F000000001F0000000-01F000000001F000000001F000000001F000000001F000000001F000000001F01FFFF001-F03FFFF801F03FFFF801F03FFFF801F01FFFF001F000FE0001F001FC0001F003F80001F0-07F00001F00FE00001F01FC00001F03F800001F07F000001F0FE000001F1FC000001F3FC-000001F7FE000001FFFF000001FFFF000001FF9F800001FF0FC00001FE0FE00001FC07E0-0001F803F00001F001F80001F001FC0001F000FC0001F0007E0001F0003F0001F0003F80-01F0001F807FFFC0FFFCFFFFE1FFFEFFFFE1FFFEFFFFE1FFFE7FFFC0FFFC27337EB22C>-I<7FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFF000000003F000000003F00000-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000-000003F000000003F000000003F000000003F000000003F000000003F000000003F00000-0003F000000003F000000003F000007FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07F-FFFFFF8022337BB22C>I<7F83F007E0007FCFFC1FF800FFDFFE3FFC007FFFFEFFFC007F-FFFFFFFE0007FE1FFC3E0007FC1FF83F0007F80FF01F0007F00FE01F0007E00FC01F0007-E00FC01F0007E00FC01F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007-C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007-C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007-C00F801F0007C00F801F0007C00F801F007FFC3FF87FF07FFC7FF8FFF0FFFE7FFCFFF87F-FC7FF8FFF07FFC3FF87FF02D2481A32C>I<7FF01FE00000FFF87FFC0000FFF9FFFE0000-FFFBFFFF00007FFFFFFF000001FFF03F800001FFC01F800001FF801FC00001FF000FC000-01FE000FC00001FC000FC00001FC000FC00001F8000FC00001F8000FC00001F8000FC000-01F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC000-01F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC000-01F8000FC00001F8000FC00001F8000FC00001F8000FC0007FFFE0FFFF00FFFFF1FFFF80-FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF0029247FA32C>I<0007FC0000001FFF000000-7FFFC00001FFFFF00003FFFFF80007FC07FC000FF001FE001FE000FF001F80003F003F80-003F803F00001F807E00000FC07E00000FC07E00000FC0FC000007E0FC000007E0FC0000-07E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FE07E00000FC07E00000F-C07F00001FC03F00001F803F80003F801FC0007F001FE000FF000FF001FE0007FC07FC00-03FFFFF80001FFFFF000007FFFC000001FFF00000007FC000023247CA32C>I<7FF01FE0-00FFF8FFF800FFFBFFFE00FFFFFFFF007FFFFFFF8001FFF07FC001FF801FE001FF0007F0-01FE0003F801FC0003F801FC0001FC01F80000FC01F80000FC01F80000FE01F800007E01-F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F8-0000FE01FC0000FC01FC0000FC01FC0001F801FE0003F801FF0007F001FF000FF001FF80-1FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8FFF80001F83FC00001F80000-0001F800000001F800000001F800000001F800000001F800000001F800000001F8000000-01F800000001F800000001F800000001F800000001F80000007FFFE00000FFFFF00000FF-FFF00000FFFFF000007FFFE0000027367FA32C>I<0003FC078000001FFF0FC000007FFF-CFC00001FFFFEFC00003FFFFFFC00007FE07FFC0000FF001FFC0001FE000FFC0001FC000-7FC0003F80003FC0003F00003FC0007F00001FC0007E00001FC0007E00000FC000FC0000-0FC000FC00000FC000FC00000FC000FC00000FC000FC00000FC000FC00000FC000FC0000-0FC000FC00000FC000FE00000FC0007E00001FC0007E00001FC0003F00003FC0003F8000-3FC0001FC0007FC0001FE000FFC0000FF003FFC00007FC0FFFC00003FFFFFFC00001FFFF-EFC000007FFF8FC000003FFF0FC0000007F80FC0000000000FC0000000000FC000000000-0FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC000000000-0FC0000000000FC0000000000FC0000000000FC0000000000FC000000003FFFF00000007-FFFF80000007FFFF80000007FFFF80000003FFFF0029367DA32C>I<7FFE003FC0FFFF01-FFF0FFFF07FFF8FFFF1FFFFC7FFF3FFFFC003F7FE1FC003FFF01FC003FFC00F8003FF800-70003FF00000003FE00000003FE00000003FC00000003F800000003F800000003F800000-003F000000003F000000003F000000003F000000003F000000003F000000003F00000000-3F000000003F000000003F000000003F000000003F000000003F000000003F000000003F-0000007FFFFFE000FFFFFFF000FFFFFFF000FFFFFFF0007FFFFFE00026247EA32C>I<00-7FF87003FFFFF80FFFFFF81FFFFFF83FFFFFF87FC00FF87E0003F8FC0001F8F80001F8F8-0001F8F80001F8FC0000F07F0000007FF000003FFFC0001FFFFE000FFFFF8003FFFFE000-7FFFF80001FFFC000007FC000000FE7800007FFC00003FFC00001FFE00001FFE00001FFF-00003FFF80003EFFC000FEFFF007FCFFFFFFFCFFFFFFF8FFFFFFE0F8FFFF80701FFC0020-247AA32C>I<001E000000003F000000003F000000003F000000003F000000003F000000-003F000000003F000000003F000000003F0000007FFFFFFF00FFFFFFFF80FFFFFFFF80FF-FFFFFF807FFFFFFF00003F000000003F000000003F000000003F000000003F000000003F-000000003F000000003F000000003F000000003F000000003F000000003F000000003F00-0000003F000000003F000000003F000000003F000000003F0003C0003F0007E0003F0007-E0003F0007E0003F0007E0003F0007E0003F800FE0001F801FC0001FE07FC0000FFFFF80-000FFFFF000003FFFE000001FFF80000003FE000232E7EAD2C>I<7FF003FF8000FFF807-FFC000FFF807FFC000FFF807FFC0007FF803FFC00001F8000FC00001F8000FC00001F800-0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800-0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800-0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800-0FC00001F8001FC00001F8001FC00001F8003FC00001FC007FC00000FE03FFC00000FFFF-FFFF00007FFFFFFF80003FFFFFFF80001FFFCFFF800003FE07FF0029247FA32C>I<7FFF-01FFFCFFFF01FFFEFFFF83FFFEFFFF01FFFE7FFF01FFFC03E0000F8003E0000F8003F000-1F8001F0001F0001F0001F0001F8003F0000F8003E0000F8003E0000FC007E00007C007C-00007C007C00007E00FC00003E00F800003E00F800003F01F800001F01F000001F01F000-001F83F000000F83E000000F83E000000FC7E0000007C7C0000007C7C0000007EFC00000-03EF80000003EF80000003FF80000001FF00000001FF00000000FE000000007C00002724-7EA32C>I<7FFF007FFF007FFF80FFFF00FFFF80FFFF807FFF80FFFF007FFF007FFF0007-C00001F00007C00001F00007C00001F00007C00001F00007C00001F00007C00001F00003-E00003E00003E00003E00003E00003E00003E03E03E00003E07F03E00003E07F03E00001-F07F07C00001F0FF87C00001F0FF87C00001F0F787C00001F0F787C00001F1F7C7C00000-F1F7C7800000F9E3CF800000F9E3CF800000FBE3EF800000FBE3EF800000FBE3EF800000-7BC1EF0000007FC1FF0000007FC1FF0000007F80FF0000007F80FF0000003F80FE000000-1F007C000029247FA32C>I<3FFF03FFF07FFF87FFF87FFF87FFF87FFF87FFF83FFF03FF-F000FC007E0000FC00FC00007E01F800003F01F000001F83F000001F87E000000FCFC000-0007EF80000003FF80000001FF00000001FE00000000FC000000007C00000000FE000000-01FE00000001FF00000003EF80000007CFC000000FC7C000000F83E000001F01F000003F-01F800007E00F800007C007C0000F8007E0001F8003F007FFF01FFFC7FFF83FFFCFFFF83-FFFE7FFF83FFFC7FFF01FFFC27247EA32C>I<7FFF01FFFCFFFF81FFFEFFFF83FFFEFFFF-81FFFE7FFF01FFFC03E0000F8001F0000F8001F0001F8001F8001F0000F8001F0000F800-3F0000FC003E00007C003E00007E007E00003E007C00003E007C00003F00FC00001F00F8-00001F00F800000F81F800000F81F000000F81F0000007C1F0000007C3E0000007C3E000-0003E3E0000003E7C0000001E7C0000001F7C0000001F780000000FF80000000FF800000-00FF000000007F000000007F000000003E000000003E000000007E000000007C00000000-7C00000000FC00000000F800000000F800000C01F800003F01F000007F83F000007F87E0-00007E0FE000007E1FC000007FFF8000003FFF0000001FFE0000000FFC00000007E00000-0027367EA32C>I<3FFFFFFFE07FFFFFFFF07FFFFFFFF07FFFFFFFF07FFFFFFFF07E0000-1FE07E00003FC07E00007F807E0000FF007E0001FE003C0003FC00000007F80000000FF0-0000001FE00000003FC00000007F80000000FF00000001FC00000003F80000000FF00000-001FE00000003FC00000007F80000000FF00000001FE0001E003FC0003F007F80003F00F-F00003F01FE00003F03FC00003F07F800003F0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFF-FFFFF07FFFFFFFE024247DA32C>I<000000FF00000007FF8000001FFF8000007FFF8000-00FFFF000001FFC0000001FE00000003F800000003F000000003F000000003F000000003-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000-000003F000000007F00000001FE0000000FFE000007FFFC00000FFFF800000FFFE000000-FFFF8000007FFFC0000000FFE00000001FE000000007F000000003F000000003F0000000-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0-00000003F000000003F000000003F800000001FE00000001FFC0000000FFFF0000007FFF-8000001FFF80000007FF80000000FF0021417BB92C>I<78FCFCFCFCFCFCFCFCFCFCFCFC-FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC-FCFCFCFCFCFCFCFCFCFCFCFCFCFCFC7806416DB92C>I<7FC0000000FFF8000000FFFE00-0000FFFF8000007FFFC0000000FFE00000001FE000000007F000000003F000000003F000-000003F000000003F000000003F000000003F000000003F000000003F000000003F00000-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000-03F000000003F000000003F000000003F800000001FE00000001FFC0000000FFFF000000-7FFF8000001FFF8000007FFF800000FFFF000001FFC0000001FE00000003F800000003F0-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000-000003F000000003F000000003F000000003F000000003F000000003F000000003F00000-0003F000000003F000000003F000000003F000000007F00000001FE0000000FFE000007F-FFC00000FFFF800000FFFE000000FFF80000007FC000000021417BB92C>I-E /Fq 87 124 df<00000FF800FC0000007FFF07FF000001F807DF83C00007E001FF0FC0-001F8007FE1FE0003F000FFC1FE0007E000FFC1FE0007E000FF81FE000FC000FF81FE000-FC000FF0078001F80007F0000001F80003F0000001F80003F0000001F80003F0000001F8-0003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F800-03F0000001F80003F0000001F80003F0000001F80003F00000FFFFFFFFFFF800FFFFFFFF-FFF800FFFFFFFFFFF80001F80003F0000001F80003F0000001F80003F0000001F80003F0-000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F000-0001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F00000-01F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001-F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F8-0003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000003FC00-07F800007FFFE0FFFFF0007FFFE0FFFFF0007FFFE0FFFFF000333B7FBA30>11-D<00000FF8000000007FFE00000001F80780000007E001C000001F8000E000003F0007E0-00007E000FF000007E000FF00000FC000FF00000FC000FF00001F8000FF00001F80007E0-0001F80001800001F80000000001F80000000001F80000000001F80000000001F8000000-0001F80000000001F80000000001F80000000001F80000000001F80003F000FFFFFFFFF0-00FFFFFFFFF000FFFFFFFFF00001F8000FF00001F80003F00001F80003F00001F80003F0-0001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0-0001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0-0001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0-0001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0-0001F80003F00003FC0007F8007FFFE0FFFFC07FFFE0FFFFC07FFFE0FFFFC02A3B7FBA2E->I<00000FFC000000007FFF70000001F803F0000007E007F000001F800FF000003F000F-F000007E000FF000007E000FF00000FC000FF00000FC0007F00001F80003F00001F80003-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000FFFFFFFF-F000FFFFFFFFF000FFFFFFFFF00001F80003F00001F80003F00001F80003F00001F80003-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003-F00001F80003F00003FC0007F8007FFFE0FFFFC07FFFE0FFFFC07FFFE0FFFFC02A3B7FBA-2E>I<00000FF0001FF0000000007FFE00FFFC00000001F80F83F00F00000007E001CFC0-038000001F8000FF0001C000003F0007FE000FC000007E000FFC001FE000007E000FFC00-1FE00000FC000FF8001FE00000FC000FF8001FE00001F8000FF0001FE00001F80007F000-0FC00001F80003F00003000001F80003F00000000001F80003F00000000001F80003F000-00000001F80003F00000000001F80003F00000000001F80003F00000000001F80003F000-00000001F80003F00000000001F80003F00000000001F80003F00007E000FFFFFFFFFFFF-FFE000FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE00001F80003F0001FE00001F80003F000-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00003FC0007F800-0FF0007FFFE0FFFFC1FFFF807FFFE0FFFFC1FFFF807FFFE0FFFFC1FFFF80413B7FBA45>-I<00000FF8001FF8000000007FFF00FFFEE0000001F80783F007E0000007E001CFC00FE0-00001F8007FF001FE000003F000FFE001FE000007E000FFC001FE000007E000FFC001FE0-0000FC000FF8001FE00000FC000FF8000FE00001F80007F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E000FFFFFFFFFFFFFFE0-00FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE00001F80003F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0-0001F80003F00007E00001F80003F00007E00001F80003F00007E00003FC0007F8000FF0-007FFFE0FFFFC1FFFF807FFFE0FFFFC1FFFF807FFFE0FFFFC1FFFF80413B7FBA45>I<00-3C007E007E00FE01FE03FC03F007E00FC01F801E003C007800F000C0000F0F6FB92A>19-D<03F00003F00003F00003FE00003F80001FC0000FE00007E00007E00007E0000FE0001F-C000FF80FFFE00FFE000130F757D25>24 D<1C007F00FF80FF80FF80FF80FF80FF80FF80-FF807F007F007F007F007F007F007F007F007F007F007F003E003E003E003E003E003E00-3E003E003E003E003E001C001C001C001C001C001C001C001C001C001C001C0000000000-0000000000000000000000001C007F00FF80FF80FF80FF80FF807F001C00093C79BB17>-33 D<1C001C007F007F00FF80FF80FF80FF80FFC0FFC0FFC0FFC0FFC0FFC07FC07FC01C-C01CC000C000C000C000C000C000C000C000C001C001C001800180018001800380038003-00030007000700060006000E000E001C001C003800380070007000600060001A197DB92A->I<1C007F00FF80FF80FFC0FFC0FFC07FC01CC000C000C000C000C001C0018001800380-0300070006000E001C003800700060000A1979B917>39 D<0000600000E00001C0000380-000700000E00001E00003C0000780000780000F00001E00001E00003C00003C00007C000-0780000F80000F00000F00001F00001E00001E00003E00003E00003E00007C00007C0000-7C00007C00007C00007C0000F80000F80000F80000F80000F80000F80000F80000F80000-F80000F80000F80000F80000F80000F80000F80000F80000F80000F800007C00007C0000-7C00007C00007C00007C00003E00003E00003E00001E00001E00001F00000F00000F0000-0F800007800007C00003C00003C00001E00001E00000F000007800007800003C00001E00-000E000007000003800001C00000E0000060135278BD20>I<C00000E000007000003800-001C00000E00000F000007800003C00003C00001E00000F00000F000007800007800007C-00003C00003E00001E00001E00001F00000F00000F00000F80000F80000F800007C00007-C00007C00007C00007C00007C00003E00003E00003E00003E00003E00003E00003E00003-E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00007C00007-C00007C00007C00007C00007C0000F80000F80000F80000F00000F00001F00001E00001E-00003E00003C00007C0000780000780000F00000F00001E00003C00003C0000780000F00-000E00001C0000380000700000E00000C0000013527CBD20>I<000380000007C0000007-C0000007C0000007C0000007C0000007C0000007C0007803803CFC03807EFE0380FE7F83-83FC3FC387F80FE38FE003FBBF8000FFFE00003FF800000FE000000FE000003FF80000FF-FE0003FBBF800FE38FE03FC387F87F8383FCFE0380FEFC03807E7803803C0007C0000007-C0000007C0000007C0000007C0000007C0000007C000000380001F247BBD2A>I<000000-300000000000007800000000000078000000000000780000000000007800000000000078-000000000000780000000000007800000000000078000000000000780000000000007800-000000000078000000000000780000000000007800000000000078000000000000780000-000000007800000000000078000000000000780000000000007800000000000078000000-000000780000000000007800000000000078000000000000780000007FFFFFFFFFFFF8FF-FFFFFFFFFFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF800000078000000000000780000000000-007800000000000078000000000000780000000000007800000000000078000000000000-780000000000007800000000000078000000000000780000000000007800000000000078-000000000000780000000000007800000000000078000000000000780000000000007800-000000000078000000000000780000000000007800000000000078000000000000780000-00000000780000000000003000000036367BAF41>I<1C007F00FF80FF80FFC0FFC0FFC0-7FC01CC000C000C000C000C001C00180018003800300070006000E001C00380070006000-0A19798817>I<FFFFFCFFFFFCFFFFFCFFFFFCFFFFFC16057F941C>I<1C007F00FF80FF80-FF80FF80FF807F001C000909798817>I<0003F80000001FFF0000007E0FC00000F803E0-0001E000F00003C000780007C0007C000F80003E000F80003E001F00001F001F00001F00-3F00001F803F00001F803F00001F807E00000FC07E00000FC07E00000FC07E00000FC07E-00000FC07E00000FC0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00-000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE0000-0FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE07E00000F-C07E00000FC07E00000FC07E00000FC07F00001FC03F00001F803F00001F803F00001F80-1F00001F001F80003F000F80003E000F80003E0007C0007C0003E000F80001F001F00000-F803E000007E0FC000001FFF00000003F80000233A7DB72A>48 D<0001C0000003C00000-07C000001FC00000FFC000FFFFC000FFFFC000FF1FC000001FC000001FC000001FC00000-1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000-1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000-1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000-1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000-1FC000001FC000001FC000001FC000001FC000003FE0007FFFFFF07FFFFFF07FFFFFF01C-3879B72A>I<000FF00000007FFE000001FFFF800003E03FE0000F000FF0000E0007F800-1C0003FC00380001FE00300001FE00700000FF00600000FF00FC0000FF00FF00007F80FF-80007F80FF80007F80FF80007F80FF80007F80FF80007F807F00007F801C00007F800000-007F80000000FF00000000FF00000000FF00000001FE00000001FC00000003FC00000003-F800000007F000000007E00000000FE00000001FC00000003F800000003F000000007C00-000000F800000001F000000003E000000007C00000000F800000000F000000001E000180-003C000180007800018000F000038001E000030003C000030007800003000E000007000F-FFFFFF001FFFFFFF003FFFFFFF007FFFFFFE00FFFFFFFE00FFFFFFFE00FFFFFFFE002138-7CB72A>I<0007F80000003FFF0000007FFFC00001F80FF00003C007F800078003FC000E-0001FC000F0001FE001FE000FE001FF000FF001FF000FF001FF000FF001FF000FF001FF0-00FF000FE000FF0007C000FF00000000FE00000001FE00000001FE00000001FC00000003-F800000003F800000007F000000007E00000000F800000007E0000001FFC0000001FFF80-0000000FE000000007F000000001FC00000001FE00000000FF000000007F800000007F80-0000007FC00000007FC00000003FC00000003FE00000003FE01E00003FE07F80003FE0FF-C0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FC0FF80007FC07F80007F807E00-007F80700000FF00380001FE001E0001FE000F8003F80007F00FF00001FFFFC000007FFF-0000000FF80000233A7DB72A>I<000000380000000038000000007800000000F8000000-00F800000001F800000003F800000007F800000007F80000000FF80000001FF80000001B-F800000033F800000073F800000063F8000000C3F8000001C3F800000183F800000303F8-00000703F800000603F800000C03F800001C03F800001803F800003003F800007003F800-006003F80000C003F80001C003F800038003F800030003F800070003F8000E0003F8000C-0003F800180003F800380003F800300003F800600003F800E00003F800FFFFFFFFF8FFFF-FFFFF8FFFFFFFFF8000003F800000003F800000003F800000003F800000003F800000003-F800000003F800000003F800000003F800000003F800000003F800000007FC000003FFFF-F80003FFFFF80003FFFFF825397EB82A>I<0600000C000780003C0007F003F80007FFFF-F80007FFFFF00007FFFFE00007FFFF800007FFFF000007FFFC0000067FE0000006000000-000600000000060000000006000000000600000000060000000006000000000600000000-0600000000060000000006000000000607F80000063FFE000006780F800007E007E00007-8003F000070001F800060001F800060000FC00000000FE00000000FE00000000FF000000-007F000000007F000000007F800000007F800000007F800000007F803E00007F807F0000-7F80FF80007F80FF80007F80FF80007F80FF80007F80FF00007F00FE0000FF00E00000FF-00600000FE00700000FE00300001FC00380001F8001C0003F8001E0007F0000F800FE000-07E03F800001FFFF0000007FFC0000001FE00000213A7CB72A>I<00003FC0000001FFF0-000007FFFC00000FE03E00003F800700007E001F0000FC003F8001F8007F8003F0007F80-03F0007F8007E0007F800FE0003F000FC0001E001FC00000001FC00000003F800000003F-800000003F800000007F800000007F000000007F01FC00007F07FF8000FF1E07E000FF38-01F000FF7000F800FF6000FC00FFE0007E00FFC0003F00FFC0003F00FF80003F80FF8000-3FC0FF80001FC0FF80001FC0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001F-E07F00001FE07F00001FE07F00001FE07F00001FE07F00001FE03F80001FE03F80001FC0-3F80001FC01F80001FC01F80003F801FC0003F800FC0003F0007E0007F0007E000FE0003-F000FC0001F801F80000FE07F000003FFFC000001FFF00000003FC0000233A7DB72A>I<-300000000038000000003E000000003FFFFFFFE03FFFFFFFE03FFFFFFFE03FFFFFFFC07F-FFFFFFC07FFFFFFF807FFFFFFF0070000006006000000E006000001C006000001800E000-003800C000007000C00000E000C00000C000000001C00000000380000000030000000007-000000000E000000000C000000001C000000003800000000380000000070000000007000-000000F000000001E000000001E000000003E000000003E000000003C000000007C00000-0007C00000000FC00000000FC00000000FC00000001F800000001F800000001F80000000-3F800000003F800000003F800000003F800000003F800000007F800000007F800000007F-800000007F800000007F800000007F800000007F800000007F800000007F800000003F00-0000001E000000233B7BB82A>I<0003F80000001FFF0000007FFFC00000FC07F00001E0-01F80003C000FC000780007C000700003E000F00001E000E00001F001E00000F001E0000-0F001E00000F001F00000F001F00000F001F80000F001F80001F001FE0001E000FF0003E-000FFC003C000FFE00780007FF80F00007FFC1E00003FFF3C00001FFFF000000FFFE0000-003FFF0000001FFFC000001FFFE000007FFFF80000F0FFFC0003E07FFE0007801FFF000F-000FFF801F0003FF803E0001FFC03C00007FC07C00003FC07800000FE0F8000007E0F000-0007E0F0000003E0F0000003E0F0000001E0F0000001E0F0000001E0F8000001C0780000-01C078000003C07C000003803E000007001F00000F000F80001E0007E0007C0003F803F0-0000FFFFE000003FFF80000007FC0000233A7DB72A>I<0003F80000001FFF0000007FFF-C00000FC07E00003F803F00007F001F8000FE000FC000FC0007E001FC0007E003F80003F-003F80003F007F80003F807F00003F807F00003F80FF00001FC0FF00001FC0FF00001FC0-FF00001FC0FF00001FC0FF00001FC0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF-00001FE07F00003FE07F00003FE07F80003FE03F80003FE01F80007FE01F80007FE00FC0-00FFE007E000DFE003E001DFE001F0039FE000FC0F1FE0003FFC1FC00007F01FC0000000-1FC00000003FC00000003F800000003F800000003F800000003F000000007F000F00007E-001F80007E003FC000FC003FC000FC003FC001F8003FC003F0003F8007E0001F000FC000-1C001F80000F807F000007FFFC000001FFF00000003FC00000233A7DB72A>I<1C007F00-FF80FF80FF80FF80FF807F001C0000000000000000000000000000000000000000000000-00000000000000000000000000001C007F00FF80FF80FF80FF80FF807F001C00092479A3-17>I<1C007F00FF80FF80FF80FF80FF807F001C00000000000000000000000000000000-0000000000000000000000000000000000000000001C007F00FF00FF80FF80FF80FF807F-801D8001800180018001800380030003000700060006000E001C00180038007000600009-3479A317>I<7FFFFFFFFFFFF8FFFFFFFFFFFFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF80000-000000000000000000000000000000000000000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-0000000000000000000000000000000000000000000000007FFFFFFFFFFFF8FFFFFFFFFF-FFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF836167B9F41>61 D<003FE00001FFFE0007C03F80-0E000FC03C0007F0300003F0700003F87C0001F8FE0001FCFF0001FCFF0001FCFF0001FC-FF0001FC7E0001FC3C0003F8000003F8000007F0000007F000000FE000001F8000003F00-00007E0000007C000000F8000001F0000001E0000003C000000380000003800000070000-000700000007000000060000000600000006000000060000000600000006000000060000-000600000006000000060000000000000000000000000000000000000000000000000000-0000000000000000000E0000003F8000007FC000007FC000007FC000007FC000007FC000-003F8000000E00001E3B7CBA27>63 D<0000003800000000000038000000000000380000-000000007C0000000000007C0000000000007C000000000000FE000000000000FE000000-000000FE000000000001FF000000000001FF000000000001FF0000000000037F80000000-00037F8000000000077FC000000000063FC000000000063FC0000000000E3FE000000000-0C1FE0000000000C1FE0000000001C1FF000000000180FF000000000180FF00000000038-0FF8000000003007F8000000003007F8000000007007FC000000006003FC000000006003-FC00000000C003FE00000000C001FE00000000C001FE000000018001FF000000018000FF-000000018000FF000000030000FF8000000300007F8000000300007F8000000600007FC0-000007FFFFFFC0000007FFFFFFC000000FFFFFFFE000000C00001FE000000C00001FE000-001800000FF000001800000FF000001800000FF0000030000007F8000030000007F80000-30000007F8000060000003FC000060000003FC0000E0000003FC0000E0000001FE0001E0-000001FE0003F0000001FF000FFC000007FF80FFFF8000FFFFFEFFFF8000FFFFFEFFFF80-00FFFFFE373C7DBB3E>65 D<FFFFFFFFE00000FFFFFFFFFC0000FFFFFFFFFF000001FF80-007FC00000FF00001FE00000FF00000FF00000FF000007F80000FF000003FC0000FF0000-03FC0000FF000001FE0000FF000001FE0000FF000001FF0000FF000001FF0000FF000001-FF0000FF000001FF0000FF000001FF0000FF000001FF0000FF000001FF0000FF000001FE-0000FF000003FE0000FF000003FC0000FF000007F80000FF00000FF00000FF00001FE000-00FF00003FC00000FF0000FF800000FFFFFFFC000000FFFFFFFC000000FF00007F800000-FF00001FE00000FF000007F00000FF000003F80000FF000001FC0000FF000001FE0000FF-000000FF0000FF000000FF0000FF000000FF8000FF0000007F8000FF0000007FC000FF00-00007FC000FF0000007FC000FF0000007FC000FF0000007FC000FF0000007FC000FF0000-007FC000FF0000007F8000FF000000FF8000FF000000FF8000FF000001FF0000FF000001-FE0000FF000003FE0000FF000007FC0000FF00001FF80001FF80007FF000FFFFFFFFFFC0-00FFFFFFFFFF0000FFFFFFFFF8000032397DB83B>I<000001FF80018000000FFFE00380-00007FFFF803800001FF807E07800003FC000F0F80000FF000039F80001FE00001DF8000-3F800000FF80007F0000007F8000FE0000003F8001FE0000003F8003FC0000001F8007F8-0000000F8007F80000000F800FF000000007800FF000000007801FE000000007801FE000-000003803FE000000003803FC000000003807FC000000001807FC000000001807FC00000-0001807F800000000180FF800000000000FF800000000000FF800000000000FF80000000-0000FF800000000000FF800000000000FF800000000000FF800000000000FF8000000000-00FF800000000000FF800000000000FF800000000000FF8000000000007F800000000000-7FC000000001807FC000000001807FC000000001803FC000000001803FE000000001801F-E000000003801FE000000003000FF000000003000FF0000000070007F8000000070007F8-000000060003FC0000000E0001FE0000001C0000FE0000001800007F0000003800003F80-00007000001FE00000E000000FF00003C0000003FC000F80000001FF803F000000007FFF-FC000000000FFFF00000000001FF800000313D7BBA3C>I<FFFFFFFFC00000FFFFFFFFF8-0000FFFFFFFFFE000001FF8001FF800000FF00003FE00000FF00000FF00000FF000003F8-0000FF000001FC0000FF000000FE0000FF0000007F0000FF0000007F0000FF0000003F80-00FF0000003FC000FF0000001FC000FF0000001FE000FF0000000FE000FF0000000FF000-FF0000000FF000FF0000000FF000FF00000007F800FF00000007F800FF00000007F800FF-00000007F800FF00000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF00-000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF0000-0007FC00FF00000007FC00FF00000007FC00FF00000007F800FF00000007F800FF000000-07F800FF00000007F800FF0000000FF000FF0000000FF000FF0000000FE000FF0000000F-E000FF0000001FE000FF0000001FC000FF0000003F8000FF0000003F8000FF0000007F00-00FF000000FE0000FF000001FC0000FF000003F80000FF00000FF00000FF00003FE00001-FF8000FF8000FFFFFFFFFF0000FFFFFFFFF80000FFFFFFFFC0000036397DB83F>I<FFFF-FFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC0001FF80000FFC0000FF000001FC0000FF00-00007E0000FF0000003E0000FF0000001E0000FF0000000E0000FF0000000E0000FF0000-000E0000FF000000060000FF000000060000FF000000060000FF000000070000FF000000-030000FF0000C0030000FF0000C0030000FF0000C0030000FF0000C0000000FF0000C000-0000FF0000C0000000FF0001C0000000FF0001C0000000FF0003C0000000FF000FC00000-00FFFFFFC0000000FFFFFFC0000000FFFFFFC0000000FF000FC0000000FF0003C0000000-FF0001C0000000FF0001C0000000FF0000C0000000FF0000C0000000FF0000C0006000FF-0000C0006000FF0000C0006000FF0000C000E000FF00000000C000FF00000000C000FF00-000000C000FF00000000C000FF00000001C000FF00000001C000FF00000001C000FF0000-00038000FF000000038000FF000000078000FF000000078000FF0000000F8000FF000000-3F8000FF0000007F8001FF800007FF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF-0033397DB839>I<FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF801FF80001FF800FF0000-01F800FF000000FC00FF0000007C00FF0000003C00FF0000001C00FF0000001C00FF0000-000C00FF0000000C00FF0000000C00FF0000000C00FF0000000E00FF0000000600FF0000-000600FF0001800600FF0001800600FF0001800000FF0001800000FF0001800000FF0001-800000FF0003800000FF0003800000FF0007800000FF001F800000FFFFFF800000FFFFFF-800000FFFFFF800000FF001F800000FF0007800000FF0003800000FF0003800000FF0001-800000FF0001800000FF0001800000FF0001800000FF0001800000FF0001800000FF0000-000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000-000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000-000001FFC0000000FFFFFFC00000FFFFFFC00000FFFFFFC000002F397DB836>I<000000-FF8000C000000FFFF001C000003FFFFC01C00000FF803F03C00003FC000787C0000FF000-03CFC0001FE00000EFC0003FC000007FC0007F8000003FC000FF0000001FC001FE000000-1FC003FC0000000FC007F800000007C007F800000007C00FF000000003C00FF000000003-C01FE000000003C01FE000000001C03FE000000001C03FC000000001C07FC000000000C0-7FC000000000C07FC000000000C07FC000000000C0FF800000000000FF800000000000FF-800000000000FF800000000000FF800000000000FF800000000000FF800000000000FF80-0000000000FF800000000000FF800000000000FF800000000000FF800000FFFFFFFF8000-00FFFFFF7FC00000FFFFFF7FC00000007FE07FC00000003FC07FC00000003FC03FC00000-003FC03FE00000003FC01FE00000003FC01FE00000003FC00FF00000003FC00FF0000000-3FC007F80000003FC007F80000003FC003FC0000003FC001FE0000003FC000FF0000007F-C0007F8000007FC0003FC00000FFC0001FE00000EFC0000FF80003C7C00003FE000783C0-0000FFC03F01C000003FFFFC00C000000FFFF00000000000FF800000383D7CBA41>I<FF-FFFF01FFFFFEFFFFFF01FFFFFEFFFFFF01FFFFFE01FF800003FF0000FF000001FE0000FF-000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF00-0001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF0000-01FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001-FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE-0000FFFFFFFFFE0000FFFFFFFFFE0000FFFFFFFFFE0000FF000001FE0000FF000001FE00-00FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000-FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF-000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF00-0001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF0000-01FE0000FF000001FE0001FF800003FF00FFFFFF01FFFFFEFFFFFF01FFFFFEFFFFFF01FF-FFFE37397DB83E>I<FFFFFFC0FFFFFFC0FFFFFFC000FFC000007F8000007F8000007F80-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80-00007F800000FFC000FFFFFFC0FFFFFFC0FFFFFFC01A397EB81E>I<003FFFFFE0003FFF-FFE0003FFFFFE000001FFC00000007F800000007F800000007F800000007F800000007F8-00000007F800000007F800000007F800000007F800000007F800000007F800000007F800-000007F800000007F800000007F800000007F800000007F800000007F800000007F80000-0007F800000007F800000007F800000007F800000007F800000007F800000007F8000000-07F800000007F800000007F800000007F800000007F800000007F800000007F800000007-F800000007F800000007F800000007F800000007F800000007F8003F0007F8007F8007F8-00FFC007F800FFC007F800FFC007F800FFC007F800FFC00FF000FF800FF0007F000FE000-70001FE00038001FC0001C003F80000E007F00000781FC000001FFF00000007F80000023-3B7DB82B>I<FFFFFF0001FFFF00FFFFFF0001FFFF00FFFFFF0001FFFF0001FF8000007F-F00000FF0000003F800000FF0000003E000000FF0000003C000000FF00000038000000FF-00000070000000FF000000E0000000FF000001C0000000FF00000380000000FF00000700-000000FF00000E00000000FF00001C00000000FF00003800000000FF00007000000000FF-0000E000000000FF0001C000000000FF00078000000000FF000E0000000000FF001C0000-000000FF003E0000000000FF007E0000000000FF00FF0000000000FF01FF0000000000FF-03FF8000000000FF077FC000000000FF0E7FC000000000FF1C3FE000000000FF381FF000-000000FF701FF000000000FFE00FF800000000FFC007FC00000000FF8007FC00000000FF-0003FE00000000FF0001FF00000000FF0001FF00000000FF0000FF80000000FF00007FC0-000000FF00007FC0000000FF00003FE0000000FF00001FF0000000FF00001FF0000000FF-00000FF8000000FF00000FF8000000FF000007FC000000FF000003FE000000FF000003FE-000000FF000001FF000000FF000000FF800000FF000000FFC00000FF000000FFE00001FF-800001FFF000FFFFFF001FFFFF80FFFFFF001FFFFF80FFFFFF001FFFFF8039397DB841>-I<FFFFFFE00000FFFFFFE00000FFFFFFE0000001FFC000000000FF0000000000FF000000-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000-1800FF0000001800FF0000001800FF0000001800FF0000001800FF0000003800FF000000-3000FF0000003000FF0000003000FF0000007000FF0000007000FF0000007000FF000000-F000FF000000F000FF000001F000FF000003F000FF00000FF000FF00001FE001FF8000FF-E0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02D397DB834>I<FFFF0000000007FFF8FF-FF800000000FFFF8FFFF800000000FFFF801FF800000000FFC0000DFC00000001BF80000-DFC00000001BF80000CFE000000033F80000CFE000000033F80000CFE000000033F80000-C7F000000063F80000C7F000000063F80000C7F000000063F80000C3F8000000C3F80000-C3F8000000C3F80000C1FC00000183F80000C1FC00000183F80000C1FC00000183F80000-C0FE00000303F80000C0FE00000303F80000C07F00000603F80000C07F00000603F80000-C07F00000603F80000C03F80000C03F80000C03F80000C03F80000C03F80000C03F80000-C01FC0001803F80000C01FC0001803F80000C00FE0003003F80000C00FE0003003F80000-C00FE0003003F80000C007F0006003F80000C007F0006003F80000C003F800C003F80000-C003F800C003F80000C003F800C003F80000C001FC018003F80000C001FC018003F80000-C001FC018003F80000C000FE030003F80000C000FE030003F80000C0007F060003F80000-C0007F060003F80000C0007F060003F80000C0003F8C0003F80000C0003F8C0003F80000-C0001FD80003F80000C0001FD80003F80000C0001FD80003F80000C0000FF00003F80000-C0000FF00003F80000C0000FF00003F80001E00007E00003F80003F00007E00003F8000F-FC0003C00007FC00FFFFC003C003FFFFF8FFFFC003C003FFFFF8FFFFC0018003FFFFF845-397DB84C>I<FFFF000007FFFEFFFF800007FFFEFFFFC00007FFFE00FFC000007FE000FF-E000001F8000DFF000000F0000DFF00000060000CFF80000060000C7FC0000060000C7FC-0000060000C3FE0000060000C1FF0000060000C1FF0000060000C0FF8000060000C07FC0-00060000C07FC000060000C03FE000060000C01FF000060000C01FF800060000C00FF800-060000C007FC00060000C007FE00060000C003FE00060000C001FF00060000C001FF8006-0000C000FF80060000C0007FC0060000C0007FE0060000C0003FE0060000C0001FF00600-00C0000FF8060000C0000FF8060000C00007FC060000C00003FE060000C00003FE060000-C00001FF060000C00000FF860000C00000FF860000C000007FC60000C000003FE60000C0-00003FE60000C000001FF60000C000000FFE0000C000000FFE0000C0000007FE0000C000-0003FE0000C0000003FE0000C0000001FE0000C0000000FE0000C0000000FE0000C00000-007E0001E00000003E0003F00000003E000FFC0000001E00FFFFC000000E00FFFFC00000-0E00FFFFC00000060037397DB83E>I<000003FF00000000001FFFE000000000FE01FC00-000001F8007E00000007E0001F8000000FC0000FC000003F800007F000007F000003F800-00FE000001FC0001FC000000FE0001F80000007E0003F80000007F0007F00000003F8007-F00000003F800FE00000001FC00FE00000001FC01FE00000001FE01FC00000000FE03FC0-0000000FF03FC00000000FF03FC00000000FF07FC00000000FF87F8000000007F87F8000-000007F87F8000000007F8FF8000000007FCFF8000000007FCFF8000000007FCFF800000-0007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF80000000-07FCFF8000000007FCFF8000000007FCFF8000000007FC7F8000000007F87FC00000000F-F87FC00000000FF87FC00000000FF83FC00000000FF03FC00000000FF01FE00000001FE0-1FE00000001FE01FE00000001FE00FF00000003FC007F00000003F8007F80000007F8003-F80000007F0001FC000000FE0001FC000000FE0000FE000001FC00007F000003F800003F-800007F000001FC0000FE0000007E0001F80000003F8007F00000000FE01FC000000001F-FFE00000000003FF000000363D7BBA41>I<FFFFFFFFC000FFFFFFFFF800FFFFFFFFFE00-01FF8001FF8000FF00003FC000FF00000FE000FF000007F000FF000003F800FF000003FC-00FF000003FE00FF000001FE00FF000001FE00FF000001FF00FF000001FF00FF000001FF-00FF000001FF00FF000001FF00FF000001FF00FF000001FF00FF000001FE00FF000001FE-00FF000003FC00FF000003FC00FF000007F800FF000007F000FF00000FE000FF00003FC0-00FF0001FF0000FFFFFFFC0000FFFFFFF00000FF0000000000FF0000000000FF00000000-00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000-00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000-00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000-00FF0000000000FF0000000001FF80000000FFFFFF000000FFFFFF000000FFFFFF000000-30397DB839>I<000003FF00000000001FFFE000000000FE01FC00000001F8007E000000-07E0001F8000000FC0000FC000003F800007F000007F000003F80000FE000001FC0001FC-000000FE0001FC000000FE0003F80000007F0007F80000007F8007F00000003F800FF000-00003FC00FE00000001FC01FE00000001FE01FE00000001FE03FC00000000FF03FC00000-000FF03FC00000000FF07FC00000000FF87FC00000000FF87F8000000007F87F80000000-07F8FF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007-FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FC-FF8000000007FCFF8000000007FC7F8000000007F87F8000000007F87FC00000000FF87F-C00000000FF83FC00000000FF03FC00000000FF01FE00000001FE01FE00000001FE01FE0-0000001FE00FF00000003FC007F0007C003F8007F001FF003F8003F80383807F0001FC07-01C0FE0001FC0E00C0FE0000FE0C00E1FC00007F0C0063F800003F8C0077F000001FCC00-3FE0000007EE003F80000003FF007F00000000FF81FC000C00001FFFFC000C000003FF1C-000C000000001E001C000000001F001C000000001F003C000000001F807C000000001FC0-F8000000000FFFF8000000000FFFF8000000000FFFF8000000000FFFF00000000007FFF0-0000000007FFE00000000003FFC00000000001FF8000000000007E00364B7BBA41>I<FF-FFFFFE00000000FFFFFFFFE0000000FFFFFFFFF800000001FF8007FE00000000FF0000FF-80000000FF00003FC0000000FF00001FE0000000FF00000FF0000000FF000007F8000000-FF000007F8000000FF000003FC000000FF000003FC000000FF000003FE000000FF000003-FE000000FF000003FE000000FF000003FE000000FF000003FE000000FF000003FE000000-FF000003FC000000FF000003FC000000FF000007F8000000FF000007F8000000FF00000F-F0000000FF00001FE0000000FF00003F80000000FF0000FF00000000FF0007FC00000000-FFFFFFE000000000FFFFFFC000000000FF000FF000000000FF0003F800000000FF0000FE-00000000FF0000FF00000000FF00007F80000000FF00003FC0000000FF00003FC0000000-FF00001FC0000000FF00001FE0000000FF00001FE0000000FF00001FE0000000FF00001F-E0000000FF00001FE0000000FF00001FF0000000FF00001FF0000000FF00001FF0000000-FF00001FF0000000FF00001FF0000000FF00001FF0000000FF00001FF0018000FF00001F-F0018000FF00001FF8018000FF00000FF8018000FF00000FF8038001FF800007F80300FF-FFFF0003FC0700FFFFFF0001FC0600FFFFFF0000FE0E0000000000003FFC000000000000-07F000393B7DB83D>I<000FF800C0003FFE01C000FFFF81C003F807E3C007E000F7C00F-C0007FC01F80003FC03F00001FC03E00000FC07E000007C07E000007C07C000003C0FC00-0003C0FC000001C0FC000001C0FC000001C0FE000000C0FE000000C0FE000000C0FF0000-00C0FF800000007FC00000007FE00000007FF80000003FFF8000001FFFF800001FFFFF80-000FFFFFE00007FFFFF80003FFFFFE0000FFFFFF00003FFFFF800007FFFFC000007FFFC0-000007FFE00000007FE00000003FF00000001FF00000000FF000000007F800000007F8C0-000003F8C0000003F8C0000001F8C0000001F8C0000001F8E0000001F8E0000001F8E000-0001F0F0000001F0F0000003F0F8000003E0FC000007E0FE000007C0FF00000FC0FF8000-1F80FBF0003F00F0FE00FE00E03FFFF800E00FFFE000C001FF0000253D7CBA2E>I<3FFF-FFFFFFFFE03FFFFFFFFFFFE03FFFFFFFFFFFE03FC003FF001FE03E0001FE0003E07C0001-FE0001F0780001FE0000F0700001FE000070700001FE000070700001FE000070600001FE-000030600001FE000030600001FE000030600001FE000030E00001FE000038C00001FE00-0018C00001FE000018C00001FE000018C00001FE000018000001FE000000000001FE0000-00000001FE000000000001FE000000000001FE000000000001FE000000000001FE000000-000001FE000000000001FE000000000001FE000000000001FE000000000001FE00000000-0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000-01FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001-FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE-000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE00-0000000001FE000000000007FF800000001FFFFFFFE000001FFFFFFFE000001FFFFFFFE0-0035397DB83C>I<FFFFFF0007FFFEFFFFFF0007FFFEFFFFFF0007FFFE01FF8000007FE0-00FF0000001F8000FF0000000F0000FF000000060000FF000000060000FF000000060000-FF000000060000FF000000060000FF000000060000FF000000060000FF000000060000FF-000000060000FF000000060000FF000000060000FF000000060000FF000000060000FF00-0000060000FF000000060000FF000000060000FF000000060000FF000000060000FF0000-00060000FF000000060000FF000000060000FF000000060000FF000000060000FF000000-060000FF000000060000FF000000060000FF000000060000FF000000060000FF00000006-0000FF000000060000FF000000060000FF000000060000FF000000060000FF0000000600-00FF000000060000FF000000060000FF0000000E00007F0000000C00007F8000000C0000-7F8000001C00003F8000001C00003F8000001800001FC000003800001FC000007000000F-E00000F0000007F00000E0000003F80001C0000001FC000780000000FE000F000000007F-807E000000001FFFF80000000007FFE000000000007F800000373B7DB83E>I<FFFFFC00-007FFF80FFFFFC00007FFF80FFFFFC00007FFF8003FF8000000FFC0001FF00000007E000-01FF00000003C00000FF00000001800000FF800000038000007F800000030000007F8000-00030000007FC00000030000003FC00000060000003FC00000060000003FE000000E0000-001FE000000C0000001FF000000C0000000FF00000180000000FF00000180000000FF800-001800000007F800003000000007F800003000000007FC00007000000003FC0000600000-0003FC00006000000001FE0000C000000001FE0000C000000001FF0000C000000000FF00-018000000000FF00018000000000FF800380000000007F800300000000007F8003000000-00003FC00600000000003FC00600000000003FE00600000000001FE00C00000000001FE0-0C00000000001FF01C00000000000FF01800000000000FF018000000000007F830000000-000007F830000000000007FC30000000000003FC60000000000003FC60000000000003FE-E0000000000001FEC0000000000001FEC0000000000000FF80000000000000FF80000000-000000FF800000000000007F000000000000007F000000000000007F000000000000003E-000000000000003E000000000000001C000000000000001C000000000000001C00000000-393B7EB83E>I<FFFFFC07FFFFF001FFFFFFFFFC07FFFFF001FFFFFFFFFC07FFFFF001FF-FF07FF80001FFE00001FF803FE00000FF8000007E001FE000007F8000003C001FE000007-F80000038001FF000007F80000038000FF000003FC0000030000FF000003FC0000030000-FF800003FC00000700007F800001FE00000600007F800001FE00000600007FC00001FE00-000600003FC00003FF00000C00003FC00003FF00000C00003FE00003FF00000C00001FE0-0007FF80001800001FE000067F80001800001FE000067F80001800000FF0000E7FC00030-00000FF0000C3FC0003000000FF0000C3FC00030000007F8001C3FE00060000007F80018-1FE00060000007F800181FE00060000003FC00181FF000C0000003FC00300FF000C00000-03FC00300FF000C0000001FE00300FF80180000001FE006007F80180000001FE006007F8-0180000000FF006007F80300000000FF00C003FC0300000000FF00C003FC0300000000FF-80C003FC07000000007F818001FE06000000007F818001FE06000000007FC18001FE0E00-0000003FC30000FF0C000000003FC30000FF0C000000003FE30000FF1C000000001FE600-007F98000000001FE600007F98000000001FF600007F98000000000FFC00003FF0000000-000FFC00003FF0000000000FFC00003FF00000000007FC00003FE00000000007F800001F-E00000000007F800001FE00000000003F800001FC00000000003F000000FC00000000003-F000000FC00000000001F000000F800000000001E0000007800000000001E00000078000-00000000E0000007000000000000C0000003000000503B7EB855>I<7FFFFF003FFFFC00-7FFFFF003FFFFC007FFFFF003FFFFC0000FFF80007FF8000007FE00003FC0000003FE000-01F00000001FF00001E00000001FF00001C00000000FF800018000000007FC0003800000-0007FC00070000000003FE00060000000003FE000E0000000001FF001C0000000000FF80-180000000000FF803800000000007FC03000000000003FE06000000000003FE0E0000000-00001FF0C000000000000FF18000000000000FFB80000000000007FF00000000000007FE-00000000000003FE00000000000001FF00000000000001FF00000000000000FF80000000-0000007FC00000000000007FC0000000000000FFE0000000000000DFE00000000000019F-F00000000000038FF80000000000030FF800000000000607FC00000000000E03FE000000-00000C03FE00000000001801FF00000000003800FF00000000003000FF80000000006000-7FC000000000E0007FC000000000C0003FE00000000180001FF00000000380001FF00000-000300000FF800000006000007FC0000000E000007FC0000000C000003FE0000001C0000-01FE0000003C000001FF000000FE000001FF800007FF800007FFE000FFFFE0003FFFFF80-FFFFE0003FFFFF80FFFFE0003FFFFF8039397EB83E>I<FFFFFE00003FFFE0FFFFFE0000-3FFFE0FFFFFE00003FFFE003FFE0000007FE0000FFC0000003F000007FC0000001E00000-7FC0000001C000003FE00000018000001FF00000038000001FF00000030000000FF80000-060000000FF800000600000007FC00000C00000003FE00001C00000003FE000018000000-01FF00003800000001FF00003000000000FF800060000000007FC000E0000000007FC000-C0000000003FE001C0000000003FE00180000000001FF00380000000000FF80300000000-000FF806000000000007FC0E000000000007FC0C000000000003FE1C000000000001FF18-000000000001FF30000000000000FFB0000000000000FFE00000000000007FE000000000-00003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC0-0000000000003FC00000000000003FC00000000000003FC00000000000003FC000000000-00003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC0-0000000000003FC00000000000003FC00000000000003FC00000000000003FC000000000-00003FC00000000000003FC00000000000007FE000000000003FFFFFC0000000003FFFFF-C0000000003FFFFFC000003B397FB83E>I<FFF8FFF8FFF8FFF8F000F000F000F000F000-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000FFF8FFF8-FFF8FFF80D5378BD17>91 D<0180018003800380070007000E000E001C001C0018001800-3800380030003000700070006000600060006000E000E000C000C000C000C000C000C000-C000C000CE00CE00FF80FF80FFC0FFC0FFC0FFC0FFC0FFC07FC07FC07FC07FC03F803F80-0E000E001A1974B92A>I<FFF8FFF8FFF8FFF80078007800780078007800780078007800-780078007800780078007800780078007800780078007800780078007800780078007800-780078007800780078007800780078007800780078007800780078007800780078007800-780078007800780078007800780078007800780078007800780078007800780078007800-78007800780078007800780078007800780078007800780078FFF8FFF8FFF8FFF80D537F-BD17>I<0180038007000E001C00180038003000700060006000E000C000C000C000C000-CE00FF80FFC0FFC0FFC07FC07FC03F800E000A197AB917>96 D<001FE0000000FFFC0000-03E03F000007000F80000F8007E0001FC003F0001FE003F0001FE001F8001FE001F8001F-E000FC000FC000FC00078000FC00000000FC00000000FC00000000FC00000000FC000000-7FFC000007FFFC00003FE0FC0000FE00FC0003F800FC000FF000FC001FC000FC003FC000-FC007F8000FC007F0000FC007F0000FC0CFE0000FC0CFE0000FC0CFE0000FC0CFE0001FC-0CFE0001FC0CFF0003FC0C7F00077C0C7F80063E183FC01E3E180FE0781FF003FFF00FE0-007F8007C026277DA52A>I<03F0000000FFF0000000FFF0000000FFF00000000FF00000-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003-F000000003F000000003F01FE00003F07FF80003F1E03E0003F3801F8003F7000FC003FE-0007E003FC0003F003F80001F803F00001F803F00000FC03F00000FC03F00000FE03F000-00FE03F000007E03F000007F03F000007F03F000007F03F000007F03F000007F03F00000-7F03F000007F03F000007F03F000007F03F000007F03F000007E03F00000FE03F00000FE-03F00000FC03F00001FC03F80001F803F80003F003FC0003F003EE0007E003C6000FC003-C7801F000381E07E000300FFF80000001FC000283B7EB92E>I<0003FC00001FFF80007E-03E001F8007003F000F807E001FC0FC003FC0FC003FC1F8003FC3F8003FC3F0001F87F00-00F07F0000007F0000007E000000FE000000FE000000FE000000FE000000FE000000FE00-0000FE000000FE000000FE000000FE0000007E0000007F0000007F0000003F0000063F80-00061F80000E1FC0000C0FC0001C07E0003803F0007001F800E0007C07C0001FFF000007-F8001F277DA525>I<0000000FC0000003FFC0000003FFC0000003FFC00000003FC00000-000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000000-0FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000F-C00000000FC00003F80FC0001FFF0FC0007E078FC000F801EFC003F0007FC007E0003FC0-0FC0001FC00FC0001FC01F80000FC03F80000FC03F00000FC07F00000FC07F00000FC07E-00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00-000FC0FE00000FC0FE00000FC0FE00000FC07E00000FC07F00000FC07F00000FC03F0000-0FC03F00000FC01F80001FC01F80001FC00FC0003FC007E0007FC003F000EFF001F801CF-FF007C078FFF001FFE0FFF0007F80FC0283B7DB92E>I<0007F800001FFF00007C0FC001-F803E003F001F007E001F80FC000F81F80007C1F80007C3F00007E3F00003E7F00003E7F-00003F7E00003FFE00003FFE00003FFE00003FFFFFFFFFFFFFFFFFFE000000FE000000FE-000000FE000000FE0000007E0000007E0000007F0000007F0000003F0000033F8000031F-8000070FC0000607C0000E07E0001C01F0003800F80070007E03E0001FFF800003FC0020-277EA525>I<00007E000003FF80000FC1E0001F87E0003F0FF0007E0FF0007E0FF000FC-0FF000FC0FF001F803C001F8000001F8000001F8000001F8000001F8000001F8000001F8-000001F8000001F8000001F8000001F8000001F8000001F80000FFFFFC00FFFFFC00FFFF-FC0001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8-000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8-000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8-000001F8000001F8000003FC00007FFFF8007FFFF8007FFFF8001C3B7FBA19>I<000000-03F0000FF00FF8003FFC3C3C00F81F707C01F00FE07C03E007C07C07C003E0100FC003F0-000FC003F0001F8001F8001F8001F8001F8001F8001F8001F8001F8001F8001F8001F800-1F8001F8001F8001F8000FC003F0000FC003F00007C003E00003E007C00003F00F800003-F81F0000073FFC0000060FF000000E000000000E000000000E000000000E000000000F00-0000000F000000000FC000000007FFFFC00007FFFFF80003FFFFFE0001FFFFFF8003FFFF-FFC00F80007FE01F00000FF03E000003F07C000001F07C000001F8F8000000F8F8000000-F8F8000000F8F8000000F8F8000000F8FC000001F87C000001F03E000003E03F000007E0-0F80000F8007E0003F0001FC01FC00007FFFF0000007FF000026387EA52A>I<03F00000-0000FFF000000000FFF000000000FFF0000000000FF00000000003F00000000003F00000-000003F00000000003F00000000003F00000000003F00000000003F00000000003F00000-000003F00000000003F00000000003F00000000003F00000000003F00000000003F00000-000003F00000000003F00000000003F00FF0000003F03FFC000003F0F03F000003F1C01F-800003F3800FC00003F7000FC00003FE000FC00003FC0007E00003FC0007E00003F80007-E00003F80007E00003F80007E00003F00007E00003F00007E00003F00007E00003F00007-E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007-E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007-E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00007F8000F-F000FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF80293A7EB92E>I<0380000FE0001FF000-1FF0001FF0001FF0001FF0000FE000038000000000000000000000000000000000000000-00000000000000000000000003F000FFF000FFF000FFF00007F00003F00003F00003F000-03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000-03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000-03F00007F800FFFFC0FFFFC0FFFFC012387EB717>I<0001C00007F0000FF8000FF8000F-F8000FF8000FF80007F00001C00000000000000000000000000000000000000000000000-000000000000000001F800FFF800FFF800FFF80007F80001F80001F80001F80001F80001-F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001-F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001-F80001F80001F80001F80001F80001F80001F80001F80001F80001F83C01F87E01F8FF01-F0FF03F0FF03F0FF03E0FE07C07C07C03C0F000FFE0003F800154984B719>I<03F00000-00FFF0000000FFF0000000FFF00000000FF000000003F000000003F000000003F0000000-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0-01FFFC03F001FFFC03F001FFFC03F0007FC003F0007F0003F0007C0003F000700003F000-E00003F001C00003F003800003F007000003F01E000003F038000003F078000003F0FC00-0003F1FC000003F3FE000003F73F000003FE3F800003F81F800003F00FC00003F00FE000-03F007E00003F003F00003F001F80003F001FC0003F000FC0003F0007E0003F0007F0003-F0003F0003F0003F8003F0001FC007F8003FF0FFFFC0FFFFFFFFC0FFFFFFFFC0FFFF283A-7EB92C>I<03F000FFF000FFF000FFF0000FF00003F00003F00003F00003F00003F00003-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003-F00003F00003F00003F00003F00003F00003F00003F00007F800FFFFC0FFFFC0FFFFC012-3A7EB917>I<03F00FF0001FE000FFF03FFC007FF800FFF0F03F01E07E00FFF1C01F8380-3F000FF3800FC7001F8003F7000FCE001F8003FE000FDC001F8003FC0007F8000FC003FC-0007F8000FC003F80007F0000FC003F80007F0000FC003F80007F0000FC003F00007E000-0FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F0-0007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E000-0FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F0-0007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E000-0FC003F00007E0000FC003F00007E0000FC007F8000FF0001FE0FFFFC1FFFF83FFFFFFFF-C1FFFF83FFFFFFFFC1FFFF83FFFF40257EA445>I<03F00FF00000FFF03FFC0000FFF0F0-3F0000FFF1C01F80000FF3800FC00003F7000FC00003FE000FC00003FC0007E00003FC00-07E00003F80007E00003F80007E00003F80007E00003F00007E00003F00007E00003F000-07E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F000-07E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F000-07E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F000-07E00007F8000FF000FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF8029257EA42E>I<0003-FE0000000FFF8000003E03E00000F800F80001F0007C0003E0003E0007C0001F000F8000-0F801F80000FC01F000007C03F000007E03F000007E07E000003F07E000003F07E000003-F07E000003F0FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8-FE000003F8FE000003F8FE000003F87E000003F07E000003F07F000007F03F000007E03F-000007E01F80000FC00F80000F800FC0001F8007E0003F0003F0007E0000F800F800007E-03F000001FFFC0000003FE000025277EA52A>I<03F01FE000FFF07FF800FFF1E07E00FF-F3801F8007F7000FC003FE0007E003FC0003F003F80003F803F00001F803F00001FC03F0-0000FC03F00000FE03F00000FE03F00000FE03F000007F03F000007F03F000007F03F000-007F03F000007F03F000007F03F000007F03F000007F03F000007F03F000007F03F00000-FE03F00000FE03F00000FE03F00001FC03F00001FC03F80003F803F80003F003FC0007F0-03FE000FE003F6000FC003F7803F0003F1E07E0003F0FFF80003F01FC00003F000000003-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0-00000003F000000003F000000007F8000000FFFFC00000FFFFC00000FFFFC0000028357E-A42E>I<0003F800C0001FFE01C0007E0781C000FC01C3C003F000E3C007F00077C00FE0-0037C00FC0003FC01FC0001FC03F80001FC03F80000FC07F00000FC07F00000FC07F0000-0FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000F-C0FE00000FC0FE00000FC0FE00000FC07F00000FC07F00000FC07F00000FC03F00000FC0-3F80001FC01F80001FC01FC0003FC00FC0003FC007E0007FC003F000EFC001F801CFC000-7E078FC0001FFE0FC00007F80FC00000000FC00000000FC00000000FC00000000FC00000-000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000000-1FE0000003FFFF000003FFFF000003FFFF28357DA42C>I<07E01F00FFE07FC0FFE1E3E0-FFE387F00FE707F003E607F003EE07F003EC03E003FC008003F8000003F8000003F80000-03F8000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000-03F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000-03F0000003F0000003F0000007F80000FFFFF000FFFFF000FFFFF0001C257EA421>I<00-FF030003FFE7000F80FF001E003F003C001F0078000F0070000700F0000700F0000700F0-000300F8000300F8000300FC000300FF0000007FE000007FFF00003FFFE0001FFFF8000F-FFFC0003FFFE0000FFFF000007FF8000007F8000001F80C0000FC0C00007C0C00007C0E0-0003C0E00003C0E00003C0F00003C0F0000380F8000780FC000780FC000F00FF001E00F3-C07C00E1FFF000C03F80001A277DA521>I<001800000018000000180000001800000018-000000380000003800000038000000780000007800000078000000F8000001F8000003F8-000007F800001FFFFF00FFFFFF00FFFFFF0001F8000001F8000001F8000001F8000001F8-000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8-000001F8000001F8000001F8000001F8000001F800C001F800C001F800C001F800C001F8-00C001F800C001F800C001F800C001F800C000FC01C000FC0180007C0380007E0300003F-0700000FFE000001F8001A347FB220>I<03F00007E000FFF001FFE000FFF001FFE000FF-F001FFE0000FF0001FE00003F00007E00003F00007E00003F00007E00003F00007E00003-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003-F0000FE00003F0000FE00003F0000FE00003F0001FE00001F0001FE00001F8003FE00000-F80077F80000FC00E7FF80003F03C7FF80001FFF87FF800003FC07E00029267EA42E>I<-FFFF803FFEFFFF803FFEFFFF803FFE0FF8000FF007F00007E003F00003C003F800038001-F800030001F800030000FC00060000FC00060000FE000E00007E000C00007E000C00003F-001800003F001800003F803800001F803000001F803000000FC06000000FC06000000FE0-60000007E0C0000007E0C0000003F180000003F180000003F180000001FB00000001FB00-000001FF00000000FE00000000FE000000007C000000007C000000007C00000000380000-000038000027257EA32C>I<FFFF1FFFE03FFEFFFF1FFFE03FFEFFFF1FFFE03FFE0FF800-FF000FF807F0007E0003E007F0007E0003C003F0003E00018003F0003E00018001F8003F-00030001F8003F00030001F8003F00030000FC003F80060000FC006F80060000FC006F80-0600007E00EFC00C00007E00C7C00C00007E00C7C00C00003F01C7E01800003F0183E018-00003F8183F03800001F8383F03000001F8301F03000001FC301F87000000FC600F86000-000FC600F860000007E600FCC0000007EC007CC0000007EC007CC0000003FC007F800000-03F8003F80000003F8003F80000001F8003F00000001F0001F00000001F0001F00000000-F0001E00000000E0000E0000000060000C000037257EA33C>I<FFFF807FFF00FFFF807F-FF00FFFF807FFF0003FE003FF00001FE001F800000FE001F0000007E001C0000003F0018-0000001F80300000001FC0700000000FC0E000000007E0C000000007F18000000003FB80-00000001FF0000000000FE0000000000FE00000000007F00000000003F00000000007F80-000000007FC000000000CFC000000001C7E00000000383F00000000703F80000000601F8-0000000C00FC0000001C007E00000038007F00000078003F000000F0001F800001F8001F-C0000FF8003FF000FFFE00FFFF80FFFE00FFFF80FFFE00FFFF8029247FA32C>I<FFFF80-3FFEFFFF803FFEFFFF803FFE0FF8000FF007F00007C003F000038001F800038001F80003-0001FC00030000FC00060000FC000600007E000C00007E000C00007F000C00003F001800-003F001800001F803000001F803000001FC07000000FC06000000FC060000007E0C00000-07E0C0000007F1C0000003F180000003F180000001FB00000001FB00000001FF00000000-FE00000000FE000000007C000000007C000000007C000000003800000000380000000030-000000003000000000700000000060000000006000000000C000000000C000007C01C000-00FE01800000FE03800000FE03000000FE06000000FC0E000000701C0000003838000000-1FF00000000FC000000027357EA32C>I<3FFFFFFC3FFFFFFC3F8003FC3E0003F83C0007-F038000FE030000FE070001FC070003F8060007F8060007F006000FE006001FC006001FC-000003F8000007F0000007F000000FE000001FC000003F8000003F8000007F000600FE00-0600FE000601FC000603F8000607F8000E07F0000E0FE0000C1FC0001C1FC0001C3F8000-3C7F00007CFF0003FCFFFFFFFCFFFFFFFC1F247EA325>I<FFFFFFFFFF80FFFFFFFFFF80-290280962A>I E /Fr 49 124 df<000003FFC00000007FFFF0000003FFFFFC00000FFF-00FE00003FF8003F00007FE000FF8000FFC001FF8001FFC001FF8001FF8001FF8003FF80-03FFC003FF0001FF8003FF0001FF8003FF0001FF8003FF0000FF0003FF00007E0003FF00-00000003FF0000000003FF0000000003FF0000000003FF0000000003FF003FFFC0FFFFFF-FFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC003FF0000FFC003FF0000FFC003FF00-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00-00FFC003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC-3FFFFF303A7EB935>12 D<0001FF0000000FFFE000007FFFFC0000FF83FE0001FE00FF00-03FC007F8007F8003FC00FF0001FE00FF0001FE01FF0001FF01FF0001FF03FE0000FF83F-E0000FF83FE0000FF87FE0000FFC7FE0000FFC7FE0000FFC7FE0000FFC7FE0000FFCFFE0-000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE000-0FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000F-FEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFE7FE0000FFC7FE0000FFC7FE0000FFC-7FE0000FFC3FE0000FF83FE0000FF83FF0001FF81FF0001FF01FF0001FF00FF0001FE00F-F8003FE007F8003FC003FC007F8001FE00FF0000FF83FE00007FFFFC00001FFFF0000001-FF000027387CB630>48 D<00001E000000003E00000000FE00000007FE0000003FFE0000-FFFFFE0000FFFFFE0000FFFFFE0000FFCFFE0000000FFE0000000FFE0000000FFE000000-0FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000F-FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE-0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00-00000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000-000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000000-0FFE0000000FFE0000000FFE00007FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF802137-79B630>I<000FFC0000007FFFC00001FFFFF00007FFFFFC000FF03FFF001F800FFF803F-0003FFC07F0003FFC07FC001FFE0FFE000FFF0FFF000FFF0FFF000FFF0FFF0007FF8FFF0-007FF8FFF0007FF8FFF0007FF87FE0007FF83FC0007FF80F00007FF80000007FF8000000-FFF0000000FFF0000000FFE0000001FFE0000001FFC0000003FF80000003FF00000007FE-00000007FC0000000FF80000001FF00000003FE00000007F800000007F00000000FE0000-0001F800000003F000780007E00078000FC00078001F800078003E0000F8007C0000F000-F80000F001F00001F003FFFFFFF003FFFFFFF007FFFFFFF00FFFFFFFF01FFFFFFFF03FFF-FFFFF07FFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE025377BB630>I<00-03FF0000001FFFF000007FFFFC0001FC07FF0003F003FF8007E001FFC007C000FFE00FF0-00FFE00FFC00FFF01FFC00FFF01FFE00FFF01FFE00FFF01FFE00FFF01FFE00FFF01FFE00-FFF00FFC00FFE00FFC00FFE003F001FFE0000001FFC0000003FF80000003FF00000007FE-0000000FFC0000003FF000000FFFC000000FFF0000000FFFF000000007FE00000001FF80-000000FFC0000000FFE00000007FF00000007FF80000007FFC0000003FFC0000003FFC00-00003FFE1FC0003FFE3FE0003FFE7FF0003FFEFFF8003FFEFFF8003FFEFFF8003FFEFFF8-003FFEFFF8003FFCFFF8003FFCFFF0007FF87FF0007FF87FC000FFF03F8000FFE01FC001-FFC00FFC07FF8007FFFFFF0001FFFFFC00007FFFF0000007FF000027387CB630>I<0000-0007C0000000000FC0000000000FC0000000001FC0000000003FC0000000007FC0000000-00FFC000000000FFC000000001FFC000000003FFC000000007FFC00000000FFFC0000000-0FFFC00000001EFFC00000003CFFC00000007CFFC0000000F8FFC0000000F0FFC0000001-E0FFC0000003C0FFC0000007C0FFC000000F80FFC000000F00FFC000001E00FFC000003C-00FFC000007C00FFC00000F800FFC00000F000FFC00001E000FFC00003C000FFC00007C0-00FFC0000F8000FFC0000F0000FFC0001E0000FFC0003C0000FFC0007C0000FFC000F800-00FFC000FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80000001FFC0000000-01FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000000-01FFC000000001FFC000000001FFC0000003FFFFFF800003FFFFFF800003FFFFFF800003-FFFFFF8029377DB630>I<1C000000C01F800007C01FF8007FC01FFFFFFF801FFFFFFF80-1FFFFFFF001FFFFFFE001FFFFFFC001FFFFFF0001FFFFFE0001FFFFF80001FFFFE00001F-FFF000001F000000001F000000001F000000001F000000001F000000001F000000001F00-0000001F000000001F07FE00001F3FFFE0001FFFFFF8001FFC07FC001FE003FF001F8001-FF801F0000FFC00E0000FFC0000000FFE00000007FE00000007FF00000007FF00000007F-F80000007FF80600007FF83F80007FF87FE0007FF8FFE0007FF8FFF0007FF8FFF0007FF8-FFF0007FF8FFF0007FF8FFE0007FF0FFE0007FF07FC000FFF07F0000FFE07C0000FFC03E-0001FFC01F0003FF801FC007FF000FF01FFE0007FFFFF80001FFFFE000007FFF8000000F-F8000025387BB630>I<00000FF8000000FFFE000003FFFF80000FF80FC0003FE003E000-7FC001F000FF000FF001FF001FF803FE003FF807FC003FF80FFC003FF80FF8003FF81FF8-003FF81FF8003FF83FF8001FF03FF8000FE03FF00000007FF00000007FF00000007FF008-00007FF07FF000FFF1FFFC00FFF3FFFF00FFF780FF80FFFF007FC0FFFE003FE0FFFC003F-F0FFFC001FF8FFF8001FF8FFF8001FFCFFF8001FFCFFF8001FFCFFF0001FFEFFF0001FFE-FFF0001FFEFFF0001FFEFFF0001FFE7FF0001FFE7FF0001FFE7FF0001FFE7FF0001FFE7F-F0001FFE3FF0001FFE3FF0001FFC3FF0001FFC1FF8001FFC1FF8001FF80FF8003FF807FC-003FF007FC007FE003FE007FC001FF81FF8000FFFFFF00003FFFFC00000FFFF0000001FF-800027387CB630>I<3C00000000003E00000000003FE0000000003FFFFFFFFF803FFFFF-FFFF803FFFFFFFFF803FFFFFFFFF803FFFFFFFFF007FFFFFFFFE007FFFFFFFFC007FFFFF-FFF8007FFFFFFFF0007FFFFFFFF0007FFFFFFFE0007C00000FC0007800001F8000780000-3F0000F800007E0000F000007C0000F00000FC0000F00001F80000F00003F00000000007-E00000000007C0000000000FC0000000001F80000000003F80000000003F00000000007F-00000000007E0000000000FE0000000001FE0000000001FE0000000003FC0000000003FC-0000000003FC0000000007FC0000000007FC000000000FFC000000000FF8000000000FF8-000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000003FF8-000000003FF8000000003FF8000000003FF8000000003FF8000000003FF8000000003FF8-000000003FF8000000003FF8000000001FF0000000000FE00000000007C0000000293A7B-B830>I<0001FF8000000FFFF000003FFFFC0000FE01FF0001F8007F8003F0003FC007E0-001FE007E0000FE00FC0000FE00FC00007F01FC00007F01FC00007F01FE00007F01FE000-07F01FF00007F01FF80007F01FFE000FE01FFF800FE01FFFE01FC00FFFF03FC00FFFFC3F-800FFFFF7F0007FFFFFC0003FFFFF80001FFFFF80000FFFFFE00007FFFFF00003FFFFFC0-007FFFFFE001FFFFFFF007F8FFFFF00FF07FFFF81FE01FFFFC3FC007FFFC3F8001FFFC7F-8000FFFE7F00003FFEFF00000FFEFE000007FEFE000003FEFE000001FEFE000001FEFE00-0000FEFE000000FEFE000000FCFF000000FC7F000001FC7F800001F83FC00003F03FE000-07F01FF0000FE00FFE007FC003FFFFFF0000FFFFFC00003FFFF0000003FF800027387CB6-30>I<0003FF0000001FFFE000007FFFF80001FF03FE0003FE00FF0007FC007F800FF800-7FC01FF8003FE03FF8003FE03FF0001FF07FF0001FF07FF0001FF87FF0001FF8FFF0001F-F8FFF0001FFCFFF0001FFCFFF0001FFCFFF0001FFCFFF0001FFCFFF0001FFEFFF0001FFE-FFF0001FFEFFF0001FFEFFF0001FFE7FF0003FFE7FF0003FFE7FF0003FFE3FF0003FFE3F-F0007FFE1FF8007FFE0FF800FFFE07FC01FFFE03FE03DFFE01FFFF9FFE007FFF1FFE001F-FC1FFC0000201FFC0000001FFC0000001FFC0000001FF80FE0003FF81FF0003FF83FF800-3FF03FF8003FF03FF8003FE03FF8007FE03FF8007FC03FF800FF803FF001FF801FE003FF-001F8007FE000FE01FF80007FFFFF00003FFFFC00000FFFF0000001FF0000027387CB630->I<00000003E00000000000000007F00000000000000007F0000000000000000FF80000-00000000000FF8000000000000000FF8000000000000001FFC000000000000001FFC0000-00000000003FFE000000000000003FFE000000000000003FFE000000000000007FFF0000-00000000007FFF00000000000000FFFF80000000000000FFFF80000000000000FFFF8000-0000000001FFFFC0000000000001F3FFC0000000000003F3FFE0000000000003E1FFE000-0000000003E1FFE0000000000007E1FFF0000000000007C0FFF000000000000FC0FFF800-000000000F807FF800000000000F807FF800000000001F807FFC00000000001F003FFC00-000000003F003FFE00000000003E001FFE00000000003E001FFE00000000007E001FFF00-000000007C000FFF0000000000FC000FFF8000000000F80007FF8000000000F80007FF80-00000001F80007FFC000000001F00003FFC000000003FFFFFFFFE000000003FFFFFFFFE0-00000003FFFFFFFFE000000007FFFFFFFFF000000007C00000FFF00000000FC00000FFF8-0000000F8000007FF80000000F8000007FF80000001F8000007FFC0000001F0000003FFC-0000003F0000003FFE0000003E0000001FFE0000003E0000001FFE0000007E0000001FFF-0000007C0000000FFF000000FE0000000FFF8000FFFFF80007FFFFFF80FFFFF80007FFFF-FF80FFFFF80007FFFFFF80FFFFF80007FFFFFF80413A7DB948>65-D<FFFFFFFFFFC00000FFFFFFFFFFFC0000FFFFFFFFFFFF0000FFFFFFFFFFFFC000007FF0-0003FFE000007FF00000FFF000007FF000007FF800007FF000003FFC00007FF000001FFC-00007FF000001FFE00007FF000001FFE00007FF000000FFF00007FF000000FFF00007FF0-00000FFF00007FF000000FFF00007FF000000FFF00007FF000000FFF00007FF000000FFF-00007FF000001FFE00007FF000001FFE00007FF000001FFC00007FF000003FFC00007FF0-00007FF800007FF00000FFF000007FF00001FFC000007FF0000FFF8000007FFFFFFFFC00-00007FFFFFFFFC0000007FFFFFFFFF8000007FF00000FFF000007FF000003FF800007FF0-00001FFC00007FF000000FFE00007FF0000007FF00007FF0000007FF80007FF0000003FF-C0007FF0000003FFC0007FF0000003FFC0007FF0000003FFE0007FF0000003FFE0007FF0-000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FF-E0007FF0000003FFC0007FF0000003FFC0007FF0000007FFC0007FF000000FFF80007FF0-00000FFF00007FF000001FFF00007FF000007FFE00007FF00001FFFC00FFFFFFFFFFFFF0-00FFFFFFFFFFFFC000FFFFFFFFFFFF0000FFFFFFFFFFF000003B397DB844>I<0000003F-FC0001C0000003FFFFC003C000001FFFFFF007C00000FFFFFFFC0FC00003FFFC00FF3FC0-0007FFC0001FFFC0001FFE00000FFFC0003FFC000003FFC0007FF0000001FFC000FFE000-0000FFC001FFC0000000FFC003FFC00000007FC007FF800000003FC00FFF000000003FC0-0FFF000000001FC01FFE000000001FC01FFE000000000FC03FFE000000000FC03FFC0000-00000FC03FFC0000000007C07FFC0000000007C07FFC0000000007C07FF8000000000000-FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF80000-00000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000-FFF8000000000000FFF8000000000000FFF8000000000000FFF80000000000007FF80000-000000007FFC0000000000007FFC0000000003C03FFC0000000003C03FFC0000000003C0-3FFE0000000003C01FFE0000000007C01FFE0000000007C00FFF0000000007800FFF0000-00000F8007FF800000000F0003FFC00000001F0001FFC00000003E0000FFE00000007E00-007FF8000000FC00003FFC000001F800001FFF000003F0000007FFC0000FE0000003FFFC-00FF80000000FFFFFFFE000000001FFFFFF80000000003FFFFE000000000003FFE000000-3A3B7BB945>I<0000003FFC0001C000000003FFFFC003C00000001FFFFFF007C0000000-FFFFFFFC0FC0000003FFFC00FF3FC0000007FFC0001FFFC000001FFE00000FFFC000003F-FC000003FFC000007FF0000001FFC00000FFE0000000FFC00001FFC0000000FFC00003FF-C00000007FC00007FF800000003FC0000FFF000000003FC0000FFF000000001FC0001FFE-000000001FC0001FFE000000000FC0003FFE000000000FC0003FFC000000000FC0003FFC-0000000007C0007FFC0000000007C0007FFC0000000007C0007FF800000000000000FFF8-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8-00000000000000FFF800000000000000FFF800000000000000FFF800003FFFFFFF80FFF8-00003FFFFFFF807FF800003FFFFFFF807FFC00003FFFFFFF807FFC00000003FFC0003FFC-00000003FFC0003FFC00000003FFC0003FFE00000003FFC0001FFE00000003FFC0001FFE-00000003FFC0000FFF00000003FFC0000FFF00000003FFC00007FF80000003FFC00003FF-C0000003FFC00001FFE0000003FFC00000FFE0000003FFC000007FF8000007FFC000003F-FC000007FFC000001FFF00000FFFC0000007FFC0001FFFC0000003FFFC00FF3FC0000000-FFFFFFFE0FC00000001FFFFFF803C000000003FFFFE000C0000000003FFE00000000413B-7BB94B>71 D<FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC007FF800007FF800007FF800007F-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F-F800FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC1E397DB824>73 D<FFFFFFFF000000FFFFFF-FF000000FFFFFFFF000000FFFFFFFF000000007FF800000000007FF800000000007FF800-000000007FF800000000007FF800000000007FF800000000007FF800000000007FF80000-0000007FF800000000007FF800000000007FF800000000007FF800000000007FF8000000-00007FF800000000007FF800000000007FF800000000007FF800000000007FF800000000-007FF800000000007FF800000000007FF800000000007FF800000000007FF80000000000-7FF800000000007FF800000000007FF800000000007FF800000000007FF800000000007F-F800000000007FF800000000007FF800000780007FF800000780007FF800000780007FF8-00000780007FF800000780007FF800000F80007FF800000F00007FF800000F00007FF800-000F00007FF800001F00007FF800001F00007FF800003F00007FF800003F00007FF80000-7F00007FF80000FF00007FF80001FF00007FF80003FF00007FF8000FFE00007FF8007FFE-00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE0031397DB839>76-D<FFFFF80000000003FFFFF0FFFFFC0000000007FFFFF0FFFFFC0000000007FFFFF0FFFF-FE000000000FFFFFF0007FFE000000000FFFE000007FFE000000000FFFE000007BFF0000-00001EFFE000007BFF000000001EFFE0000079FF800000003CFFE0000079FF800000003C-FFE0000078FFC000000078FFE0000078FFC000000078FFE00000787FE0000000F0FFE000-00787FE0000000F0FFE00000787FE0000000F0FFE00000783FF0000001E0FFE00000783F-F0000001E0FFE00000781FF8000003C0FFE00000781FF8000003C0FFE00000780FFC0000-0780FFE00000780FFC00000780FFE000007807FE00000F00FFE000007807FE00000F00FF-E000007803FF00001E00FFE000007803FF00001E00FFE000007803FF00001E00FFE00000-7801FF80003C00FFE000007801FF80003C00FFE000007800FFC0007800FFE000007800FF-C0007800FFE0000078007FE000F000FFE0000078007FE000F000FFE0000078003FF001E0-00FFE0000078003FF001E000FFE0000078003FF001E000FFE0000078001FF803C000FFE0-000078001FF803C000FFE0000078000FFC078000FFE0000078000FFC078000FFE0000078-0007FE0F0000FFE00000780007FE0F0000FFE00000780003FF1E0000FFE00000780003FF-1E0000FFE00000780003FF1E0000FFE00000780001FFBC0000FFE00000780001FFBC0000-FFE00000780000FFF80000FFE00000780000FFF80000FFE000007800007FF00000FFE000-007800007FF00000FFE000007800003FE00000FFE000007800003FE00000FFE00000FC00-003FE00000FFE000FFFFFC001FC001FFFFFFF0FFFFFC001FC001FFFFFFF0FFFFFC000F80-01FFFFFFF0FFFFFC00070001FFFFFFF054397DB85B>I<000000FFF800000000000FFFFF-80000000007FFFFFF000000001FFE03FFC00000007FF0007FF0000001FFC0001FFC00000-3FF80000FFE000007FE000003FF00000FFC000001FF80001FFC000001FFC0003FF800000-0FFE0007FF00000007FF0007FF00000007FF000FFE00000003FF800FFE00000003FF801F-FE00000003FFC01FFC00000001FFC03FFC00000001FFE03FFC00000001FFE03FFC000000-01FFE07FFC00000001FFF07FF800000000FFF07FF800000000FFF07FF800000000FFF0FF-F800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF8000000-00FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FF-F800000000FFF8FFF800000000FFF8FFF800000000FFF87FF800000000FFF07FF8000000-00FFF07FF800000000FFF07FFC00000001FFF03FFC00000001FFE03FFC00000001FFE03F-FC00000001FFE01FFE00000003FFC01FFE00000003FFC00FFE001FC003FF8007FF007FF0-07FF0007FF00FFF807FF0003FF81F07C0FFE0001FFC3C01E1FFC0000FFC3800F1FF80000-7FE3800FBFF000003FF38007FFE000001FFF8007FFC0000007FFC007FF00000001FFF01F-FC000000007FFFFFF0000800000FFFFFF8001C000000FFF9FC001C0000000001FE003C00-00000001FF80FC0000000001FFFFFC0000000000FFFFFC0000000000FFFFF80000000000-FFFFF800000000007FFFF800000000007FFFF000000000007FFFF000000000003FFFE000-000000003FFFE000000000001FFFC000000000000FFF80000000000007FF000000000000-01FC003E4A7BB948>81 D<FFFFFFFFFC00000000FFFFFFFFFFE0000000FFFFFFFFFFFC00-0000FFFFFFFFFFFF000000007FF8000FFFC00000007FF80001FFE00000007FF80000FFF0-0000007FF800007FF80000007FF800003FFC0000007FF800003FFC0000007FF800001FFE-0000007FF800001FFE0000007FF800001FFF0000007FF800001FFF0000007FF800001FFF-0000007FF800001FFF0000007FF800001FFF0000007FF800001FFF0000007FF800001FFF-0000007FF800001FFE0000007FF800001FFE0000007FF800003FFC0000007FF800003FF8-0000007FF800007FF00000007FF80000FFE00000007FF80003FFC00000007FF8001FFF00-0000007FFFFFFFFC000000007FFFFFFFE0000000007FFFFFFFF0000000007FF8003FFC00-0000007FF8000FFF000000007FF80007FF800000007FF80003FFC00000007FF80001FFC0-0000007FF80001FFE00000007FF80001FFE00000007FF80000FFF00000007FF80000FFF0-0000007FF80000FFF00000007FF80000FFF00000007FF80000FFF00000007FF80000FFF8-0000007FF80000FFF80000007FF80000FFF80000007FF80000FFF80000007FF80000FFF8-0000007FF80000FFF80060007FF80000FFF800F0007FF80000FFFC00F0007FF800007FFC-00F0007FF800007FFC01F0007FF800003FFE01E0FFFFFFFC001FFE03E0FFFFFFFC000FFF-87C0FFFFFFFC0007FFFF80FFFFFFFC0001FFFF000000000000001FFC00443A7DB848>I<-0007FF000E00003FFFE01E0000FFFFF83E0003FFFFFE7E0007FC01FFFE000FF0001FFE00-1FE0000FFE003FC00003FE003F800001FE007F800000FE007F000000FE007F0000007E00-FF0000007E00FF0000003E00FF0000003E00FF8000003E00FF8000001E00FFC000001E00-FFE000001E00FFF000000000FFFC000000007FFFE00000007FFFFE0000007FFFFFF00000-3FFFFFFE00003FFFFFFF80001FFFFFFFC0000FFFFFFFF00007FFFFFFF80003FFFFFFFC00-00FFFFFFFE00003FFFFFFE00000FFFFFFF000001FFFFFF0000000FFFFF800000007FFF80-0000000FFFC000000003FFC000000001FFC000000000FFC0F00000007FC0F00000007FC0-F00000007FC0F00000003FC0F00000003FC0F80000003FC0F80000003F80FC0000003F80-FC0000007F80FE0000007F00FF0000007F00FF800000FE00FFE00001FC00FFF80003FC00-FFFF801FF800FCFFFFFFE000F83FFFFFC000F007FFFE0000E0007FF000002A3B7BB935>-I<3FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF803FF800-FFF003FF807FC000FFF0007FC07F8000FFF0001FC07E0000FFF0000FC07E0000FFF0000F-C07C0000FFF00007C07C0000FFF00007C0780000FFF00003C0780000FFF00003C0780000-FFF00003C0780000FFF00003C0F80000FFF00003E0F00000FFF00001E0F00000FFF00001-E0F00000FFF00001E0F00000FFF00001E0000000FFF0000000000000FFF0000000000000-FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000-00000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000-FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000-00000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000-FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000-00000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000-FFF0000000000000FFF0000000000000FFF0000000000FFFFFFFFF0000000FFFFFFFFF00-00000FFFFFFFFF0000000FFFFFFFFF00003B387DB742>I<FFFFFFF00003FFFFE0FFFFFF-F00003FFFFE0FFFFFFF00003FFFFE0FFFFFFF00003FFFFE000FFF000000007F00000FFF8-00000007E000007FF800000007C000007FFC0000000FC000007FFC0000000FC000003FFC-0000000F8000003FFE0000001F8000001FFE0000001F0000001FFF0000003F0000000FFF-0000003E0000000FFF8000007E00000007FF8000007C00000007FF8000007C00000007FF-C00000FC00000003FFC00000F800000003FFE00001F800000001FFE00001F000000001FF-F00003F000000000FFF00003E000000000FFF80003E000000000FFF80007E0000000007F-F80007C0000000007FFC000FC0000000003FFC000F80000000003FFE001F80000000001F-FE001F00000000001FFF001F00000000001FFF003F00000000000FFF003E00000000000F-FF807E000000000007FF807C000000000007FFC0FC000000000003FFC0F8000000000003-FFE0F8000000000003FFE1F8000000000001FFE1F0000000000001FFF3F0000000000000-FFF3E0000000000000FFFFE00000000000007FFFC00000000000007FFFC0000000000000-7FFFC00000000000003FFF800000000000003FFF800000000000001FFF00000000000000-1FFF000000000000000FFE000000000000000FFE000000000000000FFE00000000000000-07FC0000000000000007FC0000000000000003F80000000000000003F800000000000000-01F000000000433A7EB848>86 D<003FFE00000003FFFFE000000FFFFFF800001FF00FFE-00003FF003FF00003FF801FF80003FF800FFC0003FF800FFC0003FF8007FE0003FF8007F-E0001FF0007FE0000FE0007FE0000380007FE0000000007FE0000000007FE00000003FFF-E000000FFFFFE000007FFFFFE00001FFF87FE00007FF807FE0000FFE007FE0003FF8007F-E0003FF0007FE0007FE0007FE000FFE0007FE000FFC0007FE000FFC0007FE000FFC0007F-E000FFC0007FE000FFC000FFE000FFE001FFE0007FE001FFE0003FF007FFF8001FFC1FBF-FFC00FFFFE1FFFC003FFF80FFFC0003FE003FFC02A257DA42E>97-D<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF000000-0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000-0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000-0003FF0000000003FF0000000003FF0000000003FF01FF800003FF0FFFF00003FF3FFFFC-0003FFFE03FF0003FFF000FF8003FFE0007FC003FF80003FE003FF00003FF003FF00001F-F803FF00001FF803FF00001FFC03FF00000FFC03FF00000FFC03FF00000FFE03FF00000F-FE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000F-FE03FF00000FFE03FF00000FFE03FF00000FFC03FF00000FFC03FF00000FFC03FF00001F-F803FF00001FF803FF00001FF003FF80003FF003FFC0007FE003FFE0007FC003FDF001FF-8003F8FC07FE0003F03FFFF80003E00FFFE00003C003FF00002F3A7EB935>I<0001FFC0-00000FFFFC00007FFFFF0000FF80FF8003FE00FFC007FC01FFC00FF801FFC01FF801FFC0-1FF001FFC03FF001FFC03FF000FF807FE0007F007FE0001C007FE0000000FFE0000000FF-E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0-0000007FE00000007FE00000007FF00000003FF00000003FF00001E01FF80001E01FF800-03E00FFC0007C007FE00078003FF001F8000FFC07E00007FFFFC00000FFFF0000001FF80-0023257DA42A>I<000000007F800000007FFF800000007FFF800000007FFF800000007F-FF8000000003FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001-FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001-FF8000000001FF8000000001FF8000000001FF8000000001FF800001FF81FF80000FFFF1-FF80003FFFFDFF8000FFC07FFF8003FF001FFF8007FC0007FF800FFC0003FF801FF80001-FF801FF00001FF803FF00001FF803FF00001FF807FE00001FF807FE00001FF807FE00001-FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001-FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF807FE00001FF807FE00001-FF807FF00001FF803FF00001FF803FF00001FF801FF80003FF800FF80007FF8007FC000F-FF8003FE001FFFC001FF80FDFFFE007FFFF9FFFE001FFFE1FFFE0003FF01FFFE2F3A7DB9-35>I<0003FF8000001FFFF000007FFFFC0001FF83FE0003FE007F8007FC003F800FF800-3FC01FF8001FE01FF0001FE03FF0000FF03FF0000FF07FE0000FF07FE0000FF87FE00007-F8FFE00007F8FFE00007F8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFE0000000FFE0000000-FFE0000000FFE00000007FE00000007FE00000007FE00000003FF00000003FF00000781F-F00000780FF80000F80FFC0000F007FC0003F001FF000FE000FFC07FC0007FFFFF00000F-FFFC000001FFE00025257DA42C>I<00001FF0000001FFFC000007FFFF00001FF87F8000-3FE0FF8000FFC1FFC000FFC1FFC001FF81FFC001FF81FFC003FF01FFC003FF00FF8003FF-00FF8003FF003E0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00-000003FF00000003FF000000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF000003FF0000-0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000-03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003-FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF-00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE-0000FFFFFE0000FFFFFE0000FFFFFE0000223A7DB91D>I<000000001F000007FE00FFC0-007FFFE3FFC001FFFFFFEFE007FE07FF8FE00FF801FF1FE01FF000FF8FE03FF000FFCFE0-3FE0007FC7C03FE0007FC0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE000-7FE0007FE0007FE0007FE0003FE0007FC0003FE0007FC0003FF000FFC0001FF000FF8000-0FF801FF000007FE07FE00000FFFFFF800000F7FFFE000001E07FE0000001E0000000000-1E00000000003E00000000003F00000000003F80000000001FC0000000001FFFFFF80000-1FFFFFFF80001FFFFFFFE0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0007FFFFFFFE00-1FFFFFFFFF003FC0000FFF007F000000FF80FF0000007F80FE0000007F80FE0000003F80-FE0000003F80FE0000003F80FF0000007F807F0000007F007F800000FF003FC00001FE00-1FF00007FC0007FE003FF00001FFFFFFC000007FFFFF00000007FFF000002B377DA530>-I<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF000000-0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000-0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000-0003FF0000000003FF0000000003FF0000000003FF007FC00003FF03FFF80003FF0FFFFE-0003FF1F03FF0003FF3C01FF8003FF7801FF8003FFF000FF8003FFE000FFC003FFC000FF-C003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF-C0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7DB935>I<01F00007-FC000FFE000FFE001FFF001FFF001FFF001FFF001FFF000FFE000FFE0007FC0001F00000-000000000000000000000000000000000000000000000000000000FF007FFF007FFF007F-FF007FFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003-FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003-FF0003FF0003FF0003FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8153B7DBA1B>I<-00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF00000000-03FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000-03FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000-03FF0000000003FF0000000003FF0000000003FF000FFFE003FF000FFFE003FF000FFFE0-03FF000FFFE003FF0003FC0003FF0003F00003FF000FE00003FF001F800003FF003F0000-03FF007E000003FF00FC000003FF03F8000003FF07E0000003FF0FC0000003FF1FC00000-03FF7FE0000003FFFFF0000003FFFFF8000003FFFFFC000003FFFFFC000003FFCFFE0000-03FF0FFF000003FE07FF800003FE03FF800003FE01FFC00003FE00FFE00003FE00FFF000-03FE007FF00003FE003FF80003FE001FFC0003FE001FFE0003FE000FFE0003FE000FFF00-FFFFF83FFFF8FFFFF83FFFF8FFFFF83FFFF8FFFFF83FFFF82D3A7EB932>107-D<00FF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF-0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF-0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF-0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF-0003FF0003FF0003FF0003FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFC163A7DB91B->I<00FE007FE0000FFC0000FFFE01FFFC003FFF8000FFFE07FFFF00FFFFE000FFFE1F81-FF83F03FF000FFFE3C00FF87801FF00007FE7800FFCF001FF80003FEF000FFDE001FF800-03FFE0007FFC000FFC0003FFC0007FF8000FFC0003FFC0007FF8000FFC0003FF80007FF0-000FFC0003FF80007FF0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF-00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000F-FC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF0000-7FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC00-03FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0-000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF-00007FE0000FFC00FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FF-FFF0FFFFFC1FFFFF83FFFFF04C257DA451>I<00FE007FC000FFFE03FFF800FFFE0FFFFE-00FFFE1F03FF00FFFE3C01FF8007FE7801FF8003FEF000FF8003FFE000FFC003FFC000FF-C003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF-C0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF30257DA435>I<0001FFC0-0000000FFFF80000007FFFFF000000FF80FF800003FE003FE00007FC001FF0000FF8000F-F8001FF00007FC001FF00007FC003FF00007FE003FE00003FE007FE00003FF007FE00003-FF007FE00003FF00FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003-FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF807FE00003FF007FE00003-FF007FE00003FF003FE00003FE003FF00007FE001FF00007FC001FF00007FC000FF8000F-F80007FC001FF00003FE003FE00001FF80FFC000007FFFFF0000001FFFFC00000001FFC0-000029257DA430>I<00FF01FF8000FFFF0FFFF000FFFF3FFFFC00FFFFFE07FF00FFFFF0-01FF8003FFE000FFC003FF80007FE003FF00007FF003FF00003FF803FF00003FF803FF00-001FFC03FF00001FFC03FF00001FFC03FF00000FFE03FF00000FFE03FF00000FFE03FF00-000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00-000FFE03FF00000FFC03FF00001FFC03FF00001FFC03FF00001FF803FF00003FF803FF00-003FF003FF80007FF003FFC0007FE003FFE000FFC003FFF003FF8003FFFC07FE0003FF3F-FFF80003FF0FFFE00003FF03FF000003FF0000000003FF0000000003FF0000000003FF00-00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00-00000003FF0000000003FF00000000FFFFFC000000FFFFFC000000FFFFFC000000FFFFFC-0000002F357EA435>I<0001FF000780000FFFE00F80003FFFF81F8000FFC07C3F8003FF-803E3F8007FE000F7F800FFC0007FF801FFC0007FF801FF80003FF803FF80003FF803FF0-0001FF807FF00001FF807FF00001FF807FE00001FF80FFE00001FF80FFE00001FF80FFE0-0001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE0-0001FF80FFE00001FF807FF00001FF807FF00001FF807FF00001FF803FF80001FF803FF8-0003FF801FFC0003FF800FFC0007FF8007FE000FFF8003FF003FFF8001FFC0FDFF80007F-FFF1FF80001FFFC1FF800001FF01FF8000000001FF8000000001FF8000000001FF800000-0001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800000-0001FF8000000001FF8000000001FF800000007FFFFE0000007FFFFE0000007FFFFE0000-007FFFFE2F357DA432>I<00FE03F000FFFE0FFE00FFFE3FFF00FFFE7C7F80FFFEF8FFC0-07FEF0FFC003FFE0FFC003FFC0FFC003FFC0FFC003FF807F8003FF803F0003FF800C0003-FF80000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF-00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00-000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE00-00FFFFFE0000FFFFFE0000FFFFFE000022257EA427>I<003FF03803FFFEF80FFFFFF81F-C00FF83F0003F87E0001F87C0000F8FC0000F8FC000078FE000078FF000078FF800000FF-FC0000FFFFE0007FFFFC007FFFFF803FFFFFC01FFFFFF00FFFFFF803FFFFF800FFFFFC00-1FFFFC00007FFE000007FEF00001FEF00000FEF80000FEF800007EFC00007EFC00007CFE-0000FCFF0000F8FF8001F8FFF007F0FFFFFFC0F8FFFF00E01FF8001F257DA426>I<000F-0000000F0000000F0000000F0000000F0000001F0000001F0000001F0000001F0000003F-0000003F0000007F000000FF000000FF000001FF000007FF00001FFFFFE0FFFFFFE0FFFF-FFE0FFFFFFE003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF-000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF-000003FF000003FF007803FF007803FF007803FF007803FF007803FF007803FF007803FF-007803FF00F801FF80F001FF81F000FFC3E0003FFFC0001FFF800003FE001D357EB425>-I<00FF00003FC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC007FF0001FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0001FFC003FF0001FFC003FF0003FF-C003FF0003FFC001FF0007FFC001FF800FFFE000FFC03EFFFF007FFFFCFFFF001FFFF0FF-FF0003FF80FFFF30257DA435>I<FFFFF001FFF8FFFFF001FFF8FFFFF001FFF8FFFFF001-FFF803FF00003F0003FF00001E0003FF80003E0001FF80003C0001FFC0007C0000FFC000-780000FFE000F800007FE000F000007FF001F000003FF001E000003FF801E000001FF803-C000001FF803C000001FFC07C000000FFC078000000FFE0F80000007FE0F00000007FF1F-00000003FF1E00000003FFBE00000001FFBC00000001FFFC00000000FFF800000000FFF8-00000000FFF8000000007FF0000000007FF0000000003FE0000000003FE0000000001FC0-000000001FC0000000000F80000000000F8000002D257EA432>I<FFFFF1FFFF803FFFFF-FFF1FFFF803FFFFFFFF1FFFF803FFFFFFFF1FFFF803FFF07FE000FF80003E003FF0007F8-0003C003FF0007FC0003C003FF8007FC0007C001FF8003FE00078001FF8007FE00078000-FFC007FE000F0000FFC007FF000F0000FFE00FFF001F00007FE00FFF801E00007FE01FFF-801E00003FF01E7F803C00003FF01E7FC03C00003FF83E7FC07C00001FF83C3FE0780000-1FF87C3FE0F800000FFC781FF0F000000FFC781FF0F000000FFEF00FF1F0000007FEF00F-F9E0000007FFF00FFBE0000003FFE007FFC0000003FFE007FFC0000003FFC003FFC00000-01FFC003FF80000001FFC003FF80000000FF8001FF00000000FF8001FF00000000FF0000-FF000000007F0000FE000000007F0000FE000000003E00007C000000003C00003C000040-257EA445>I<FFFFF01FFFF0FFFFF01FFFF0FFFFF01FFFF0FFFFF01FFFF003FF8003F800-01FFC003E00000FFC007E000007FE007C000003FF00F8000003FF81F0000001FFC3E0000-000FFC7C00000007FEFC00000003FFF800000003FFF000000001FFE000000000FFC00000-00007FE0000000003FF0000000003FF8000000007FFC000000007FFC00000000FFFE0000-0001F3FF00000003E3FF80000007C1FFC000000FC0FFC000001F807FE000001F003FF000-003E003FF800007C001FFC0000F8000FFC0001F80007FE00FFFF003FFFF8FFFF003FFFF8-FFFF003FFFF8FFFF003FFFF82D257EA432>I<FFFFF001FFF8FFFFF001FFF8FFFFF001FF-F8FFFFF001FFF803FF00003F0003FF00001E0003FF80003E0001FF80003C0001FFC0007C-0000FFC000780000FFE000F800007FE000F000007FF001F000003FF001E000003FF801E0-00001FF803C000001FF803C000001FFC07C000000FFC078000000FFE0F80000007FE0F00-000007FF1F00000003FF1E00000003FFBE00000001FFBC00000001FFFC00000000FFF800-000000FFF800000000FFF8000000007FF0000000007FF0000000003FE0000000003FE000-0000001FC0000000001FC0000000000F80000000000F80000000000F00000000000F0000-0000001F00000000001E0000003F003E0000007F803C000000FFC07C000000FFC0780000-00FFC0F8000000FFC1F0000000FFC3E00000007F87C00000007D1F800000003FFF000000-001FFC0000000007F0000000002D357EA432>I<3FFFFFFFC03FFFFFFFC03FFFFFFFC03F-F003FF803F8007FF803F000FFF003E000FFE003C001FFC007C003FFC007C003FF8007800-7FF0007800FFF0007800FFE0007801FFC0007803FFC0000007FF80000007FF0000000FFE-0000001FFE0000001FFC0000003FF80000007FF803C000FFF003C000FFE003C001FFC003-C003FFC003C003FF8007C007FF0007C00FFF0007C00FFE000F801FFC000F803FFC001F80-7FF8003F807FF001FF80FFFFFFFF80FFFFFFFF80FFFFFFFF8022257DA42A>I<FFFFFFFF-FFFEFFFFFFFFFFFEFFFFFFFFFFFE2F03809730>I E /Fs 38 123-df[<000000000000000FFFFE00000000000000000000000FFFFFFFE00000000000000000-0001FFFFFFFFFC0000000000000000001FFFFFFFFFFF000000000000000000FFFFFFFFFF-FFC00000000000000007FFFFFFFFFFFFE0000000000000001FFFFFFFFFFFFFF800000000-0000007FFFFFFC001FFFFC00000000000001FFFFFF800001FFFE00000000000007FFFFF8-0000003FFF0000000000000FFFFFE00000000FFF8000000000003FFFFF800000001FFFC0-00000000007FFFFE000000007FFFC00000000000FFFFFC00000000FFFFE00000000001FF-FFF000000001FFFFE00000000003FFFFE000000003FFFFF00000000007FFFFC000000007-FFFFF0000000000FFFFF8000000007FFFFF8000000000FFFFF800000000FFFFFF8000000-001FFFFF000000000FFFFFF8000000003FFFFE000000000FFFFFF8000000003FFFFE0000-00000FFFFFF8000000007FFFFC000000000FFFFFF8000000007FFFFC000000001FFFFFFC-000000007FFFFC000000000FFFFFF800000000FFFFFC000000000FFFFFF800000000FFFF-F8000000000FFFFFF800000000FFFFF8000000000FFFFFF800000000FFFFF8000000000F-FFFFF800000000FFFFF80000000007FFFFF000000000FFFFF80000000007FFFFF0000000-00FFFFF80000000003FFFFE000000000FFFFF80000000001FFFFC000000000FFFFF80000-000000FFFF8000000000FFFFF800000000003FFE0000000000FFFFF800000000000FF800-00000000FFFFF8000000000000000000000000FFFFF8000000000000000000000000FFFF-F8000000000000000000000000FFFFF8000000000000000000000000FFFFF80000000000-00000000000000FFFFF8000000000000000000000000FFFFF80000000000000000000000-00FFFFF8000000000000000000000000FFFFF8000000000000000000000000FFFFF80000-00000000000000000000FFFFF8000000000000000000000000FFFFF80000000000000000-00000000FFFFF8000000000000000000000000FFFFF8000000000000000000000000FFFF-F8000000000000000000000000FFFFF80000003FFFFFFFFC0000FFFFFFFFFFFFFFFFFFFF-FFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC0000FF-FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFF-FFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC-0000FFFFFFFFFFFFFFFFFFFFFFFFFC00000000FFFFFC0000000003FFFFFC00000000FFFF-FC0000000001FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF-FC0000000000FFFFFC00003FFFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFF-FFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFFFFF03F-FFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0-003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFF-FFF0>116 144 123 271 129 12 D[<0000000000000000001FF0000000000000000000-0000000000000000003FF80000000000000000000000000000000000007FFC0000000000-000000000000000000000000007FFC000000000000000000000000000000000000FFFE00-0000000000000000000000000000000000FFFE0000000000000000000000000000000000-00FFFE000000000000000000000000000000000001FFFF00000000000000000000000000-0000000001FFFF000000000000000000000000000000000003FFFF800000000000000000-000000000000000003FFFF800000000000000000000000000000000007FFFFC000000000-00000000000000000000000007FFFFC00000000000000000000000000000000007FFFFC0-000000000000000000000000000000000FFFFFE000000000000000000000000000000000-0FFFFFE0000000000000000000000000000000001FFFFFF0000000000000000000000000-000000001FFFFFF0000000000000000000000000000000001FFFFFF00000000000000000-00000000000000003FFFFFF8000000000000000000000000000000003FFFFFF800000000-0000000000000000000000007FFFFFFC000000000000000000000000000000007FFFFFFC-000000000000000000000000000000007FFFFFFC00000000000000000000000000000000-FFFFFFFE00000000000000000000000000000000FFFFFFFE000000000000000000000000-00000001FFFFFFFF00000000000000000000000000000001FFFFFFFF0000000000000000-0000000000000001FFFFFFFF00000000000000000000000000000003FFFFFFFF80000000-000000000000000000000003FFFFFFFF80000000000000000000000000000007FFFFFFFF-C0000000000000000000000000000007FFFFFFFFC0000000000000000000000000000007-FFFFFFFFC000000000000000000000000000000FFFFFFFFFE00000000000000000000000-0000000FFFFFFFFFE000000000000000000000000000001FFFFFFFFFF000000000000000-000000000000001FFDFFFFFFF000000000000000000000000000001FF9FFFFFFF0000000-00000000000000000000003FF8FFFFFFF800000000000000000000000000003FF8FFFFFF-F800000000000000000000000000007FF0FFFFFFFC00000000000000000000000000007F-F07FFFFFFC00000000000000000000000000007FE07FFFFFFC0000000000000000000000-000000FFE03FFFFFFE0000000000000000000000000000FFE03FFFFFFE00000000000000-00000000000001FFC03FFFFFFF0000000000000000000000000001FFC01FFFFFFF000000-0000000000000000000001FF801FFFFFFF0000000000000000000000000003FF800FFFFF-FF8000000000000000000000000003FF800FFFFFFF8000000000000000000000000007FF-000FFFFFFFC000000000000000000000000007FF0007FFFFFFC000000000000000000000-000007FE0007FFFFFFC00000000000000000000000000FFE0003FFFFFFE0000000000000-0000000000000FFE0003FFFFFFE00000000000000000000000001FFC0003FFFFFFF00000-000000000000000000001FFC0001FFFFFFF00000000000000000000000001FF80001FFFF-FFF00000000000000000000000003FF80000FFFFFFF80000000000000000000000003FF8-0000FFFFFFF80000000000000000000000007FF00000FFFFFFFC00000000000000000000-00007FF000007FFFFFFC0000000000000000000000007FE000007FFFFFFC000000000000-000000000000FFE000003FFFFFFE000000000000000000000000FFE000003FFFFFFE0000-00000000000000000001FFC000003FFFFFFF000000000000000000000001FFC000001FFF-FFFF000000000000000000000001FF8000001FFFFFFF000000000000000000000003FF80-00000FFFFFFF800000000000000000000003FF8000000FFFFFFF80000000000000000000-0007FF0000000FFFFFFFC00000000000000000000007FF00000007FFFFFFC00000000000-000000000007FE00000007FFFFFFC0000000000000000000000FFE00000003FFFFFFE000-0000000000000000000FFE00000003FFFFFFE0000000000000000000001FFC00000003FF-FFFFF0000000000000000000001FFC00000001FFFFFFF0000000000000000000001FF800-000001FFFFFFF0000000000000000000003FF800000000FFFFFFF8000000000000000000-003FF800000000FFFFFFF8000000000000000000007FF000000000FFFFFFFC0000000000-00000000007FF0000000007FFFFFFC000000000000000000007FE0000000007FFFFFFC00-000000000000000000FFE0000000003FFFFFFE00000000000000000000FFE0000000003F-FFFFFE00000000000000000001FFC0000000003FFFFFFF00000000000000000001FFC000-0000001FFFFFFF00000000000000000001FF80000000001FFFFFFF000000000000000000-03FF80000000000FFFFFFF80000000000000000003FF80000000000FFFFFFF8000000000-0000000007FF00000000000FFFFFFFC0000000000000000007FF000000000007FFFFFFC0-000000000000000007FE000000000007FFFFFFC000000000000000000FFE000000000003-FFFFFFE000000000000000000FFFFFFFFFFFFFFFFFFFFFE000000000000000001FFFFFFF-FFFFFFFFFFFFFFF000000000000000001FFFFFFFFFFFFFFFFFFFFFF00000000000000000-1FFFFFFFFFFFFFFFFFFFFFF000000000000000003FFFFFFFFFFFFFFFFFFFFFF800000000-000000003FFFFFFFFFFFFFFFFFFFFFF800000000000000007FFFFFFFFFFFFFFFFFFFFFFC-00000000000000007FFFFFFFFFFFFFFFFFFFFFFC00000000000000007FFFFFFFFFFFFFFF-FFFFFFFC0000000000000000FFE00000000000003FFFFFFE0000000000000000FFE00000-000000003FFFFFFE0000000000000001FFC00000000000003FFFFFFF0000000000000001-FFC00000000000001FFFFFFF0000000000000001FF800000000000001FFFFFFF00000000-00000003FF800000000000000FFFFFFF8000000000000003FF800000000000000FFFFFFF-8000000000000007FF000000000000000FFFFFFFC000000000000007FF00000000000000-07FFFFFFC000000000000007FE0000000000000007FFFFFFC00000000000000FFE000000-0000000003FFFFFFE00000000000000FFE0000000000000003FFFFFFE00000000000001F-FC0000000000000003FFFFFFF00000000000001FFC0000000000000001FFFFFFF0000000-0000001FF80000000000000001FFFFFFF00000000000003FF80000000000000000FFFFFF-F80000000000003FF80000000000000000FFFFFFF80000000000007FF000000000000000-00FFFFFFFC0000000000007FF000000000000000007FFFFFFC0000000000007FE0000000-00000000007FFFFFFC000000000000FFE000000000000000003FFFFFFE000000000000FF-E000000000000000003FFFFFFE000000000001FFC000000000000000001FFFFFFF000000-000001FFC000000000000000001FFFFFFF000000000001FF8000000000000000001FFFFF-FF000000000003FF8000000000000000000FFFFFFF800000000003FF8000000000000000-000FFFFFFF800000000007FF00000000000000000007FFFFFFC00000000007FF00000000-000000000007FFFFFFC00000000007FE00000000000000000007FFFFFFC0000000001FFF-80000000000000000003FFFFFFE000000003FFFFFE000000000000000003FFFFFFE00000-FFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFF-FFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001F-FFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC000-0000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFF-FFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFE->159 145 120 272 176 65 D[<FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFF-FFFFFFFFFFFFFFFFFE0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFE000000000FFFFFFFF-FFFFFFFFFFFFFFFFFFFC00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000FFFFFFFF-FFFFFFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000000FFFFFFFF-FFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800000000003FF-FFFF00000000001FFFFFFFE00000000003FFFFFF000000000001FFFFFFF00000000003FF-FFFF0000000000007FFFFFF80000000003FFFFFF0000000000001FFFFFFC0000000003FF-FFFF0000000000000FFFFFFF0000000003FFFFFF00000000000003FFFFFF8000000003FF-FFFF00000000000001FFFFFF8000000003FFFFFF00000000000000FFFFFFC000000003FF-FFFF00000000000000FFFFFFE000000003FFFFFF000000000000007FFFFFF000000003FF-FFFF000000000000003FFFFFF000000003FFFFFF000000000000003FFFFFF800000003FF-FFFF000000000000001FFFFFF800000003FFFFFF000000000000001FFFFFFC00000003FF-FFFF000000000000000FFFFFFC00000003FFFFFF000000000000000FFFFFFE00000003FF-FFFF000000000000000FFFFFFE00000003FFFFFF0000000000000007FFFFFF00000003FF-FFFF0000000000000007FFFFFF00000003FFFFFF0000000000000007FFFFFF00000003FF-FFFF0000000000000007FFFFFF00000003FFFFFF0000000000000003FFFFFF80000003FF-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF-FFFF0000000000000007FFFFFF00000003FFFFFF0000000000000007FFFFFF00000003FF-FFFF0000000000000007FFFFFF00000003FFFFFF0000000000000007FFFFFF00000003FF-FFFF000000000000000FFFFFFE00000003FFFFFF000000000000000FFFFFFE00000003FF-FFFF000000000000000FFFFFFC00000003FFFFFF000000000000001FFFFFFC00000003FF-FFFF000000000000001FFFFFF800000003FFFFFF000000000000003FFFFFF800000003FF-FFFF000000000000003FFFFFF000000003FFFFFF000000000000007FFFFFE000000003FF-FFFF00000000000000FFFFFFC000000003FFFFFF00000000000000FFFFFFC000000003FF-FFFF00000000000001FFFFFF8000000003FFFFFF00000000000003FFFFFF0000000003FF-FFFF00000000000007FFFFFE0000000003FFFFFF0000000000000FFFFFF80000000003FF-FFFF0000000000003FFFFFF00000000003FFFFFF0000000000007FFFFFE00000000003FF-FFFF000000000001FFFFFF800000000003FFFFFF00000000000FFFFFFE000000000003FF-FFFF00000000007FFFFFF8000000000003FFFFFF000000001FFFFFFFE0000000000003FF-FFFFFFFFFFFFFFFFFFFF00000000000003FFFFFFFFFFFFFFFFFFFFF800000000000003FF-FFFFFFFFFFFFFFFFFF8000000000000003FFFFFFFFFFFFFFFFFFFFF800000000000003FF-FFFFFFFFFFFFFFFFFFFF80000000000003FFFFFFFFFFFFFFFFFFFFFFF8000000000003FF-FFFFFFFFFFFFFFFFFFFFFE000000000003FFFFFF000000000000FFFFFFC00000000003FF-FFFF0000000000001FFFFFF00000000003FFFFFF00000000000007FFFFF80000000003FF-FFFF00000000000003FFFFFE0000000003FFFFFF00000000000000FFFFFF8000000003FF-FFFF000000000000007FFFFFC000000003FFFFFF000000000000003FFFFFE000000003FF-FFFF000000000000001FFFFFF000000003FFFFFF000000000000000FFFFFF800000003FF-FFFF0000000000000007FFFFFC00000003FFFFFF0000000000000003FFFFFE00000003FF-FFFF0000000000000003FFFFFF00000003FFFFFF0000000000000001FFFFFF80000003FF-FFFF0000000000000001FFFFFFC0000003FFFFFF0000000000000000FFFFFFC0000003FF-FFFF0000000000000000FFFFFFE0000003FFFFFF00000000000000007FFFFFE0000003FF-FFFF00000000000000007FFFFFF0000003FFFFFF00000000000000007FFFFFF0000003FF-FFFF00000000000000007FFFFFF8000003FFFFFF00000000000000003FFFFFF8000003FF-FFFF00000000000000003FFFFFF8000003FFFFFF00000000000000003FFFFFFC000003FF-FFFF00000000000000003FFFFFFC000003FFFFFF00000000000000003FFFFFFC000003FF-FFFF00000000000000001FFFFFFC000003FFFFFF00000000000000001FFFFFFE000003FF-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF-FFFF00000000000000003FFFFFFC000003FFFFFF00000000000000003FFFFFFC000003FF-FFFF00000000000000003FFFFFFC000003FFFFFF00000000000000003FFFFFFC000003FF-FFFF00000000000000003FFFFFFC000003FFFFFF00000000000000007FFFFFF8000003FF-FFFF00000000000000007FFFFFF8000003FFFFFF00000000000000007FFFFFF8000003FF-FFFF0000000000000000FFFFFFF0000003FFFFFF0000000000000000FFFFFFF0000003FF-FFFF0000000000000001FFFFFFE0000003FFFFFF0000000000000003FFFFFFE0000003FF-FFFF0000000000000003FFFFFFC0000003FFFFFF0000000000000007FFFFFF80000003FF-FFFF000000000000000FFFFFFF80000003FFFFFF000000000000001FFFFFFF00000003FF-FFFF000000000000003FFFFFFE00000003FFFFFF000000000000007FFFFFFC00000003FF-FFFF00000000000000FFFFFFFC00000003FFFFFF00000000000001FFFFFFF800000003FF-FFFF00000000000007FFFFFFF000000003FFFFFF0000000000001FFFFFFFC000000003FF-FFFF000000000000FFFFFFFF8000000003FFFFFF00000000000FFFFFFFFF0000FFFFFFFF-FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000FFFFFFFF-FFFFFFFFFFFFFFFFFFFFFFE00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800000FFFFFFFF-FFFFFFFFFFFFFFFFFFFFFC000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000FFFFFFFF-FFFFFFFFFFFFFFFFFFFF80000000FFFFFFFFFFFFFFFFFFFFFFFFFFF000000000FFFFFFFF-FFFFFFFFFFFFFFFFFC0000000000>143 142 120 269 165 I[<000000000000000003FF-FFC00000000001F00000000000000003FFFFFFFE0000000003F8000000000000007FFFFF-FFFFE000000007F800000000000007FFFFFFFFFFFC0000000FF80000000000003FFFFFFF-FFFFFF0000001FF8000000000001FFFFFFFFFFFFFFE000003FF800000000000FFFFFFFFF-FFFFFFF800007FF800000000003FFFFFFFFFFFFFFFFE0000FFF80000000000FFFFFFFFFF-FFFFFFFF0001FFF80000000003FFFFFFFFF8000FFFFFC003FFF8000000000FFFFFFFFE00-00007FFFF007FFF8000000003FFFFFFFC00000000FFFF80FFFF800000000FFFFFFFE0000-000003FFFC1FFFF800000001FFFFFFF000000000007FFF3FFFF800000007FFFFFFC00000-0000001FFFFFFFF80000000FFFFFFF0000000000000FFFFFFFF80000003FFFFFFC000000-00000003FFFFFFF80000007FFFFFF000000000000001FFFFFFF8000000FFFFFFE0000000-00000000FFFFFFF8000001FFFFFF80000000000000003FFFFFF8000003FFFFFF00000000-000000001FFFFFF8000007FFFFFE00000000000000000FFFFFF800000FFFFFFC00000000-0000000007FFFFF800001FFFFFF0000000000000000003FFFFF800003FFFFFE000000000-0000000001FFFFF800007FFFFFE0000000000000000000FFFFF80000FFFFFFC000000000-0000000000FFFFF80001FFFFFF800000000000000000007FFFF80003FFFFFF0000000000-00000000003FFFF80003FFFFFE000000000000000000001FFFF80007FFFFFE0000000000-00000000001FFFF8000FFFFFFC000000000000000000000FFFF8000FFFFFF80000000000-00000000000FFFF8001FFFFFF80000000000000000000007FFF8003FFFFFF00000000000-000000000003FFF8003FFFFFF00000000000000000000003FFF8007FFFFFE00000000000-000000000003FFF8007FFFFFE00000000000000000000001FFF800FFFFFFC00000000000-000000000001FFF800FFFFFFC00000000000000000000000FFF801FFFFFFC00000000000-000000000000FFF801FFFFFF800000000000000000000000FFF803FFFFFF800000000000-0000000000007FF803FFFFFF8000000000000000000000007FF807FFFFFF000000000000-0000000000007FF807FFFFFF0000000000000000000000003FF807FFFFFF000000000000-0000000000003FF80FFFFFFF0000000000000000000000003FF80FFFFFFE000000000000-0000000000003FF80FFFFFFE0000000000000000000000003FF81FFFFFFE000000000000-0000000000001FF81FFFFFFE0000000000000000000000001FF81FFFFFFE000000000000-0000000000001FF83FFFFFFC0000000000000000000000001FF83FFFFFFC000000000000-0000000000000FF03FFFFFFC00000000000000000000000000003FFFFFFC000000000000-00000000000000007FFFFFFC00000000000000000000000000007FFFFFFC000000000000-00000000000000007FFFFFFC00000000000000000000000000007FFFFFFC000000000000-00000000000000007FFFFFF800000000000000000000000000007FFFFFF8000000000000-00000000000000007FFFFFF80000000000000000000000000000FFFFFFF8000000000000-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000-0000000000000000FFFFFFF800000000000000000000000000007FFFFFF8000000000000-00000000000000007FFFFFF800000000000000000000000000007FFFFFF8000000000000-00000000000000007FFFFFFC00000000000000000000000000007FFFFFFC000000000000-00000000000000007FFFFFFC00000000000000000000000000007FFFFFFC000000000000-00000000000000003FFFFFFC00000000000000000000000000003FFFFFFC000000000000-00000000000000003FFFFFFC00000000000000000000000000003FFFFFFC000000000000-00000000000000001FFFFFFE00000000000000000000000000001FFFFFFE000000000000-00000000000007F01FFFFFFE0000000000000000000000000FF80FFFFFFE000000000000-0000000000000FF80FFFFFFE0000000000000000000000000FF80FFFFFFF000000000000-0000000000000FF807FFFFFF0000000000000000000000000FF807FFFFFF000000000000-0000000000000FF807FFFFFF0000000000000000000000000FF803FFFFFF800000000000-0000000000001FF803FFFFFF8000000000000000000000001FF001FFFFFF800000000000-0000000000001FF001FFFFFFC000000000000000000000001FF000FFFFFFC00000000000-0000000000001FF000FFFFFFC000000000000000000000003FF0007FFFFFE00000000000-0000000000003FE0007FFFFFE000000000000000000000003FE0003FFFFFF00000000000-0000000000007FE0003FFFFFF000000000000000000000007FC0001FFFFFF80000000000-000000000000FFC0000FFFFFF80000000000000000000000FFC0000FFFFFFC0000000000-000000000001FF800007FFFFFE0000000000000000000001FF800003FFFFFE0000000000-000000000003FF000003FFFFFF0000000000000000000007FF000001FFFFFF8000000000-000000000007FE000000FFFFFFC00000000000000000000FFC0000007FFFFFE000000000-00000000001FFC0000003FFFFFF00000000000000000003FF80000001FFFFFF800000000-00000000007FF00000000FFFFFFC000000000000000000FFF000000007FFFFFE00000000-0000000001FFE000000003FFFFFF000000000000000003FFC000000001FFFFFF80000000-0000000007FF8000000000FFFFFFE0000000000000000FFF00000000007FFFFFF0000000-000000003FFE00000000003FFFFFFC000000000000007FFC00000000000FFFFFFF000000-00000001FFF8000000000007FFFFFFC0000000000007FFF0000000000001FFFFFFF00000-0000001FFFE0000000000000FFFFFFFE00000000007FFF800000000000003FFFFFFFE000-000003FFFF000000000000000FFFFFFFFE0000003FFFFC0000000000000003FFFFFFFFF8-0007FFFFF80000000000000000FFFFFFFFFFFFFFFFFFE000000000000000003FFFFFFFFF-FFFFFFFF8000000000000000000FFFFFFFFFFFFFFFFE00000000000000000001FFFFFFFF-FFFFFFF8000000000000000000003FFFFFFFFFFFFFC00000000000000000000007FFFFFF-FFFFFF0000000000000000000000007FFFFFFFFFF000000000000000000000000003FFFF-FFFF000000000000000000000000000003FFFFC0000000000000>141-146 115 271 168 I[<000000000000000003FFFFC00000000001F00000000000000000-0003FFFFFFFE0000000003F80000000000000000007FFFFFFFFFE000000007F800000000-0000000007FFFFFFFFFFFC0000000FF800000000000000003FFFFFFFFFFFFF0000001FF8-0000000000000001FFFFFFFFFFFFFFE000003FF8000000000000000FFFFFFFFFFFFFFFF8-00007FF8000000000000003FFFFFFFFFFFFFFFFE0000FFF800000000000000FFFFFFFFFF-FFFFFFFF0001FFF800000000000003FFFFFFFFF8000FFFFFC003FFF80000000000000FFF-FFFFFE0000007FFFF007FFF80000000000003FFFFFFFC00000000FFFF80FFFF800000000-0000FFFFFFFE0000000003FFFC1FFFF8000000000001FFFFFFF000000000007FFF3FFFF8-000000000007FFFFFFC000000000001FFFFFFFF800000000000FFFFFFF0000000000000F-FFFFFFF800000000003FFFFFFC00000000000003FFFFFFF800000000007FFFFFF0000000-00000001FFFFFFF80000000000FFFFFFE000000000000000FFFFFFF80000000001FFFFFF-80000000000000003FFFFFF80000000003FFFFFF00000000000000001FFFFFF800000000-07FFFFFE00000000000000000FFFFFF8000000000FFFFFFC000000000000000007FFFFF8-000000001FFFFFF0000000000000000003FFFFF8000000003FFFFFE00000000000000000-01FFFFF8000000007FFFFFE0000000000000000000FFFFF800000000FFFFFFC000000000-0000000000FFFFF800000001FFFFFF800000000000000000007FFFF800000003FFFFFF00-0000000000000000003FFFF800000003FFFFFE000000000000000000001FFFF800000007-FFFFFE000000000000000000001FFFF80000000FFFFFFC000000000000000000000FFFF8-0000000FFFFFF8000000000000000000000FFFF80000001FFFFFF8000000000000000000-0007FFF80000003FFFFFF00000000000000000000003FFF80000003FFFFFF00000000000-000000000003FFF80000007FFFFFE00000000000000000000003FFF80000007FFFFFE000-00000000000000000001FFF8000000FFFFFFC00000000000000000000001FFF8000000FF-FFFFC00000000000000000000000FFF8000001FFFFFFC00000000000000000000000FFF8-000001FFFFFF800000000000000000000000FFF8000003FFFFFF80000000000000000000-00007FF8000003FFFFFF8000000000000000000000007FF8000007FFFFFF000000000000-0000000000007FF8000007FFFFFF0000000000000000000000003FF8000007FFFFFF0000-000000000000000000003FF800000FFFFFFF0000000000000000000000003FF800000FFF-FFFE0000000000000000000000003FF800000FFFFFFE0000000000000000000000003FF8-00001FFFFFFE0000000000000000000000001FF800001FFFFFFE00000000000000000000-00001FF800001FFFFFFE0000000000000000000000001FF800003FFFFFFC000000000000-0000000000001FF800003FFFFFFC0000000000000000000000000FF000003FFFFFFC0000-00000000000000000000000000003FFFFFFC000000000000000000000000000000007FFF-FFFC000000000000000000000000000000007FFFFFFC0000000000000000000000000000-00007FFFFFFC000000000000000000000000000000007FFFFFFC00000000000000000000-0000000000007FFFFFF8000000000000000000000000000000007FFFFFF8000000000000-000000000000000000007FFFFFF800000000000000000000000000000000FFFFFFF80000-0000000000000000000000000000FFFFFFF800000000000000000000000000000000FFFF-FFF800000000000000000000000000000000FFFFFFF80000000000000000000000000000-0000FFFFFFF800000000000000000000000000000000FFFFFFF800000000000000000000-000000000000FFFFFFF800000000000000000000000000000000FFFFFFF8000000000000-00000000000000000000FFFFFFF800000000000000000000000000000000FFFFFFF80000-0000000000000000000000000000FFFFFFF800000000000000000000000000000000FFFF-FFF800000000000000000000000000000000FFFFFFF80000000000000000000000000000-0000FFFFFFF800000000000000000000000000000000FFFFFFF800000000000000000000-000000000000FFFFFFF800000000000000000000000000000000FFFFFFF8000000000000-00000000000000000000FFFFFFF8000000000000000000000000000000007FFFFFF80000-00000000000000000000000000007FFFFFF8000000000000000000000000000000007FFF-FFF8000000000000000000000000000000007FFFFFFC0000000000000000000000000000-00007FFFFFFC000000000000000000000000000000007FFFFFFC0000000000000FFFFFFF-FFFFFFFFFFF87FFFFFFC0000000000000FFFFFFFFFFFFFFFFFF83FFFFFFC000000000000-0FFFFFFFFFFFFFFFFFF83FFFFFFC0000000000000FFFFFFFFFFFFFFFFFF83FFFFFFC0000-000000000FFFFFFFFFFFFFFFFFF83FFFFFFC0000000000000FFFFFFFFFFFFFFFFFF81FFF-FFFE0000000000000FFFFFFFFFFFFFFFFFF81FFFFFFE0000000000000FFFFFFFFFFFFFFF-FFF81FFFFFFE0000000000000FFFFFFFFFFFFFFFFFF80FFFFFFE00000000000000000000-7FFFFFF800000FFFFFFE000000000000000000007FFFFFF800000FFFFFFF000000000000-000000007FFFFFF8000007FFFFFF000000000000000000007FFFFFF8000007FFFFFF0000-00000000000000007FFFFFF8000007FFFFFF000000000000000000007FFFFFF8000003FF-FFFF800000000000000000007FFFFFF8000003FFFFFF800000000000000000007FFFFFF8-000001FFFFFF800000000000000000007FFFFFF8000001FFFFFFC0000000000000000000-7FFFFFF8000000FFFFFFC00000000000000000007FFFFFF8000000FFFFFFE00000000000-000000007FFFFFF80000007FFFFFE00000000000000000007FFFFFF80000007FFFFFE000-00000000000000007FFFFFF80000003FFFFFF00000000000000000007FFFFFF80000003F-FFFFF00000000000000000007FFFFFF80000001FFFFFF80000000000000000007FFFFFF8-0000000FFFFFFC0000000000000000007FFFFFF80000000FFFFFFC000000000000000000-7FFFFFF800000007FFFFFE0000000000000000007FFFFFF800000003FFFFFF0000000000-000000007FFFFFF800000003FFFFFF0000000000000000007FFFFFF800000001FFFFFF80-00000000000000007FFFFFF800000000FFFFFFC000000000000000007FFFFFF800000000-7FFFFFE000000000000000007FFFFFF8000000003FFFFFF000000000000000007FFFFFF8-000000001FFFFFF800000000000000007FFFFFF8000000000FFFFFFC0000000000000000-FFFFFFF80000000007FFFFFE0000000000000000FFFFFFF80000000003FFFFFF00000000-00000000FFFFFFF80000000001FFFFFFC000000000000001FFFFFFF80000000000FFFFFF-E000000000000001FFFFFFF800000000007FFFFFF800000000000003FFFFFFF800000000-003FFFFFFE00000000000007FFFFFFF800000000000FFFFFFF0000000000000FFFFFFFF8-000000000007FFFFFFE000000000003FFFFFFFF8000000000001FFFFFFF800000000007F-FFFFFFF8000000000000FFFFFFFF0000000001FFFCFFFFF80000000000003FFFFFFFE000-000007FFF87FFFF80000000000000FFFFFFFFF0000003FFFF03FFFF800000000000003FF-FFFFFFFC0007FFFFE00FFFF800000000000000FFFFFFFFFFFFFFFFFFC007FFF800000000-0000003FFFFFFFFFFFFFFFFF0001FFF8000000000000000FFFFFFFFFFFFFFFFC00007FF8-0000000000000001FFFFFFFFFFFFFFF000001FF800000000000000003FFFFFFFFFFFFFC0-000007F8000000000000000007FFFFFFFFFFFF00000001F80000000000000000007FFFFF-FFFFF8000000007000000000000000000003FFFFFFFF8000000000000000000000000000-000003FFFFE00000000000000000>157 146 115 271 183 71 D[<FFFFFFFFFFFFFFFF-FFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFF-FFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0-FFFFFFFFFFFFFFFFFFC0000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000FFFFFFFFFFFFFFFFFFC0-FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFF-FFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFF-FFFFFFFFFFFFFFC0>74 142 122 269 87 73 D[<FFFFFFFFFFFFFFFFFFF80000000000-00FFFFFFFFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFFFFFFF8000000000000FFFFFF-FFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFF-FFFFF8000000000000FFFFFFFFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFFFFFFF800-0000000000FFFFFFFFFFFFFFFFFFF8000000000000000003FFFFFFC00000000000000000-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0-00000000000000FF80000003FFFFFFC000000000000000FF80000003FFFFFFC000000000-000000FF80000003FFFFFFC000000000000000FF80000003FFFFFFC000000000000001FF-80000003FFFFFFC000000000000001FF00000003FFFFFFC000000000000001FF00000003-FFFFFFC000000000000001FF00000003FFFFFFC000000000000001FF00000003FFFFFFC0-00000000000001FF00000003FFFFFFC000000000000001FF00000003FFFFFFC000000000-000003FF00000003FFFFFFC000000000000003FF00000003FFFFFFC000000000000003FF-00000003FFFFFFC000000000000003FE00000003FFFFFFC000000000000003FE00000003-FFFFFFC000000000000007FE00000003FFFFFFC000000000000007FE00000003FFFFFFC0-00000000000007FE00000003FFFFFFC000000000000007FE00000003FFFFFFC000000000-00000FFE00000003FFFFFFC00000000000000FFE00000003FFFFFFC00000000000000FFE-00000003FFFFFFC00000000000001FFC00000003FFFFFFC00000000000001FFC00000003-FFFFFFC00000000000003FFC00000003FFFFFFC00000000000003FFC00000003FFFFFFC0-0000000000007FFC00000003FFFFFFC00000000000007FFC00000003FFFFFFC000000000-0000FFFC00000003FFFFFFC0000000000000FFFC00000003FFFFFFC0000000000001FFFC-00000003FFFFFFC0000000000003FFFC00000003FFFFFFC0000000000003FFF800000003-FFFFFFC0000000000007FFF800000003FFFFFFC000000000000FFFF800000003FFFFFFC0-00000000001FFFF800000003FFFFFFC000000000003FFFF800000003FFFFFFC000000000-007FFFF800000003FFFFFFC00000000001FFFFF800000003FFFFFFC00000000003FFFFF8-00000003FFFFFFC00000000007FFFFF800000003FFFFFFC0000000001FFFFFF000000003-FFFFFFC0000000007FFFFFF000000003FFFFFFC000000003FFFFFFF000000003FFFFFFC0-0000001FFFFFFFF000000003FFFFFFC0000003FFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFF-FFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF0-00FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFE000FFFFFF-FFFFFFFFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFF-FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFE000>121-142 120 269 140 76 D[<FFFFFFFFFFFFC00000000000000000000000007FFFFFFFFFFF-E0FFFFFFFFFFFFE0000000000000000000000000FFFFFFFFFFFFE0FFFFFFFFFFFFF00000-00000000000000000001FFFFFFFFFFFFE0FFFFFFFFFFFFF8000000000000000000000003-FFFFFFFFFFFFE0FFFFFFFFFFFFF8000000000000000000000003FFFFFFFFFFFFE0FFFFFF-FFFFFFF8000000000000000000000003FFFFFFFFFFFFE0FFFFFFFFFFFFFC000000000000-000000000007FFFFFFFFFFFFE0FFFFFFFFFFFFFC000000000000000000000007FFFFFFFF-FFFFE0FFFFFFFFFFFFFE00000000000000000000000FFFFFFFFFFFFFE0000003FFFFFFFE-00000000000000000000000FFFFFFFF8000000000003FFFFFFFF00000000000000000000-001FEFFFFFF8000000000003FFFFFFFF00000000000000000000001FEFFFFFF800000000-0003FF7FFFFF80000000000000000000003FCFFFFFF8000000000003FF7FFFFF80000000-000000000000003FCFFFFFF8000000000003FF7FFFFF80000000000000000000003FCFFF-FFF8000000000003FF3FFFFFC0000000000000000000007F8FFFFFF8000000000003FF3F-FFFFC0000000000000000000007F8FFFFFF8000000000003FF1FFFFFE000000000000000-000000FF0FFFFFF8000000000003FF1FFFFFE000000000000000000000FF0FFFFFF80000-00000003FF0FFFFFF000000000000000000001FE0FFFFFF8000000000003FF0FFFFFF000-000000000000000001FE0FFFFFF8000000000003FF0FFFFFF000000000000000000001FE-0FFFFFF8000000000003FF07FFFFF800000000000000000003FC0FFFFFF8000000000003-FF07FFFFF800000000000000000003FC0FFFFFF8000000000003FF03FFFFFC0000000000-0000000007F80FFFFFF8000000000003FF03FFFFFC00000000000000000007F80FFFFFF8-000000000003FF01FFFFFE0000000000000000000FF00FFFFFF8000000000003FF01FFFF-FE0000000000000000000FF00FFFFFF8000000000003FF00FFFFFF000000000000000000-1FE00FFFFFF8000000000003FF00FFFFFF0000000000000000001FE00FFFFFF800000000-0003FF00FFFFFF0000000000000000001FE00FFFFFF8000000000003FF007FFFFF800000-0000000000003FC00FFFFFF8000000000003FF007FFFFF8000000000000000003FC00FFF-FFF8000000000003FF003FFFFFC000000000000000007F800FFFFFF8000000000003FF00-3FFFFFC000000000000000007F800FFFFFF8000000000003FF001FFFFFE0000000000000-0000FF000FFFFFF8000000000003FF001FFFFFE00000000000000000FF000FFFFFF80000-00000003FF000FFFFFF00000000000000001FE000FFFFFF8000000000003FF000FFFFFF0-0000000000000001FE000FFFFFF8000000000003FF000FFFFFF00000000000000001FE00-0FFFFFF8000000000003FF0007FFFFF80000000000000003FC000FFFFFF8000000000003-FF0007FFFFF80000000000000003FC000FFFFFF8000000000003FF0003FFFFFC00000000-00000007F8000FFFFFF8000000000003FF0003FFFFFC0000000000000007F8000FFFFFF8-000000000003FF0001FFFFFE000000000000000FF0000FFFFFF8000000000003FF0001FF-FFFE000000000000000FF0000FFFFFF8000000000003FF0001FFFFFE000000000000000F-F0000FFFFFF8000000000003FF0000FFFFFF000000000000001FE0000FFFFFF800000000-0003FF0000FFFFFF000000000000001FE0000FFFFFF8000000000003FF00007FFFFF8000-00000000003FC0000FFFFFF8000000000003FF00007FFFFF800000000000003FC0000FFF-FFF8000000000003FF00003FFFFFC00000000000007F80000FFFFFF8000000000003FF00-003FFFFFC00000000000007F80000FFFFFF8000000000003FF00001FFFFFE00000000000-00FF00000FFFFFF8000000000003FF00001FFFFFE0000000000000FF00000FFFFFF80000-00000003FF00001FFFFFE0000000000000FF00000FFFFFF8000000000003FF00000FFFFF-F0000000000001FE00000FFFFFF8000000000003FF00000FFFFFF0000000000001FE0000-0FFFFFF8000000000003FF000007FFFFF8000000000003FC00000FFFFFF8000000000003-FF000007FFFFF8000000000003FC00000FFFFFF8000000000003FF000003FFFFFC000000-000007F800000FFFFFF8000000000003FF000003FFFFFC000000000007F800000FFFFFF8-000000000003FF000001FFFFFE00000000000FF000000FFFFFF8000000000003FF000001-FFFFFE00000000000FF000000FFFFFF8000000000003FF000001FFFFFE00000000000FF0-00000FFFFFF8000000000003FF000000FFFFFF00000000001FE000000FFFFFF800000000-0003FF000000FFFFFF00000000001FE000000FFFFFF8000000000003FF0000007FFFFF80-000000003FC000000FFFFFF8000000000003FF0000007FFFFF80000000003FC000000FFF-FFF8000000000003FF0000003FFFFFC0000000007F8000000FFFFFF8000000000003FF00-00003FFFFFC0000000007F8000000FFFFFF8000000000003FF0000003FFFFFC000000000-7F8000000FFFFFF8000000000003FF0000001FFFFFE000000000FF0000000FFFFFF80000-00000003FF0000001FFFFFE000000000FF0000000FFFFFF8000000000003FF0000000FFF-FFF000000001FE0000000FFFFFF8000000000003FF0000000FFFFFF000000001FE000000-0FFFFFF8000000000003FF00000007FFFFF800000003FC0000000FFFFFF8000000000003-FF00000007FFFFF800000003FC0000000FFFFFF8000000000003FF00000003FFFFFC0000-0007F80000000FFFFFF8000000000003FF00000003FFFFFC00000007F80000000FFFFFF8-000000000003FF00000003FFFFFC00000007F80000000FFFFFF8000000000003FF000000-01FFFFFE0000000FF00000000FFFFFF8000000000003FF00000001FFFFFE0000000FF000-00000FFFFFF8000000000003FF00000000FFFFFF0000001FE00000000FFFFFF800000000-0003FF00000000FFFFFF0000001FE00000000FFFFFF8000000000003FF000000007FFFFF-8000003FC00000000FFFFFF8000000000003FF000000007FFFFF8000003FC00000000FFF-FFF8000000000003FF000000003FFFFFC000007F800000000FFFFFF8000000000003FF00-0000003FFFFFC000007F800000000FFFFFF8000000000003FF000000003FFFFFC000007F-800000000FFFFFF8000000000003FF000000001FFFFFE00000FF000000000FFFFFF80000-00000003FF000000001FFFFFE00000FF000000000FFFFFF8000000000003FF000000000F-FFFFF00001FE000000000FFFFFF8000000000003FF000000000FFFFFF00001FE00000000-0FFFFFF8000000000003FF0000000007FFFFF80003FC000000000FFFFFF8000000000003-FF0000000007FFFFF80003FC000000000FFFFFF8000000000003FF0000000007FFFFF800-03FC000000000FFFFFF8000000000003FF0000000003FFFFFC0007F8000000000FFFFFF8-000000000003FF0000000003FFFFFC0007F8000000000FFFFFF8000000000003FF000000-0001FFFFFE000FF0000000000FFFFFF8000000000003FF0000000001FFFFFE000FF00000-00000FFFFFF8000000000003FF0000000000FFFFFF001FE0000000000FFFFFF800000000-0003FF0000000000FFFFFF001FE0000000000FFFFFF8000000000003FF00000000007FFF-FF803FC0000000000FFFFFF8000000000003FF00000000007FFFFF803FC0000000000FFF-FFF8000000000003FF00000000007FFFFF803FC0000000000FFFFFF8000000000003FF00-000000003FFFFFC07F80000000000FFFFFF8000000000003FF00000000003FFFFFC07F80-000000000FFFFFF8000000000003FF00000000001FFFFFE0FF00000000000FFFFFF80000-00000003FF00000000001FFFFFE0FF00000000000FFFFFF8000000000003FF0000000000-0FFFFFF1FE00000000000FFFFFF8000000000003FF00000000000FFFFFF1FE0000000000-0FFFFFF8000000000003FF000000000007FFFFFBFC00000000000FFFFFF8000000000003-FF000000000007FFFFFBFC00000000000FFFFFF8000000000003FF000000000007FFFFFB-FC00000000000FFFFFF8000000000003FF000000000003FFFFFFF800000000000FFFFFF8-000000000003FF000000000003FFFFFFF800000000000FFFFFF8000000000003FF000000-000001FFFFFFF000000000000FFFFFF8000000000003FF000000000001FFFFFFF0000000-00000FFFFFF8000000000003FF000000000000FFFFFFE000000000000FFFFFF800000000-0003FF000000000000FFFFFFE000000000000FFFFFF8000000000003FF000000000000FF-FFFFE000000000000FFFFFF8000000000003FF0000000000007FFFFFC000000000000FFF-FFF8000000000003FF0000000000007FFFFFC000000000000FFFFFF8000000000003FF00-00000000003FFFFF8000000000000FFFFFF8000000000003FF0000000000003FFFFF8000-000000000FFFFFF8000000000003FF0000000000001FFFFF0000000000000FFFFFF80000-00000003FF0000000000001FFFFF0000000000000FFFFFF8000000000003FF0000000000-000FFFFE0000000000000FFFFFF8000000000003FF0000000000000FFFFE000000000000-0FFFFFF8000000000003FF0000000000000FFFFE0000000000000FFFFFF8000000000007-FF80000000000007FFFC0000000000000FFFFFF80000000001FFFFFE000000000007FFFC-0000000000000FFFFFF8000000FFFFFFFFFFFFFC00000003FFF800000003FFFFFFFFFFFF-FFFFE0FFFFFFFFFFFFFC00000003FFF800000003FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC-00000001FFF000000003FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC00000001FFF000000003-FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC00000000FFE000000003FFFFFFFFFFFFFFFFE0FF-FFFFFFFFFFFC00000000FFE000000003FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC00000000-FFE000000003FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC000000007FC000000003FFFFFFFF-FFFFFFFFE0FFFFFFFFFFFFFC000000001F0000000003FFFFFFFFFFFFFFFFE0>203-142 120 269 220 I[<0000000000000000FFFFF0000000000000000000000000000000-7FFFFFFFE00000000000000000000000000007FFFFFFFFFE000000000000000000000000-007FFFFFFFFFFFE0000000000000000000000003FFFFFFFFFFFFFC000000000000000000-00001FFFFFFFFFFFFFFF80000000000000000000007FFFFFFFFFFFFFFFE0000000000000-00000003FFFFFFFFFFFFFFFFFC0000000000000000000FFFFFFFE0007FFFFFFF00000000-00000000003FFFFFFE000007FFFFFFC000000000000000007FFFFFE00000007FFFFFE000-00000000000001FFFFFF800000001FFFFFF80000000000000007FFFFFE0000000007FFFF-FE000000000000000FFFFFF80000000001FFFFFF000000000000001FFFFFE00000000000-7FFFFF800000000000007FFFFF8000000000001FFFFFE0000000000000FFFFFF00000000-00000FFFFFF0000000000001FFFFFE00000000000007FFFFF8000000000003FFFFFC0000-0000000003FFFFFC000000000007FFFFF000000000000000FFFFFE00000000000FFFFFE0-000000000000007FFFFF00000000001FFFFFE0000000000000007FFFFF80000000003FFF-FFC0000000000000003FFFFFC0000000007FFFFF80000000000000001FFFFFE000000000-FFFFFF00000000000000000FFFFFF000000001FFFFFE000000000000000007FFFFF80000-0001FFFFFE000000000000000007FFFFF800000003FFFFFC000000000000000003FFFFFC-00000007FFFFF8000000000000000001FFFFFE0000000FFFFFF8000000000000000001FF-FFFF0000000FFFFFF0000000000000000000FFFFFF0000001FFFFFF00000000000000000-00FFFFFF8000001FFFFFE00000000000000000007FFFFF8000003FFFFFE0000000000000-0000007FFFFFC000007FFFFFC00000000000000000003FFFFFE000007FFFFFC000000000-00000000003FFFFFE00000FFFFFF800000000000000000001FFFFFF00000FFFFFF800000-000000000000001FFFFFF00001FFFFFF800000000000000000001FFFFFF80001FFFFFF00-0000000000000000000FFFFFF80003FFFFFF000000000000000000000FFFFFFC0003FFFF-FF000000000000000000000FFFFFFC0003FFFFFE0000000000000000000007FFFFFC0007-FFFFFE0000000000000000000007FFFFFE0007FFFFFE0000000000000000000007FFFFFE-0007FFFFFE0000000000000000000007FFFFFE000FFFFFFC0000000000000000000003FF-FFFF000FFFFFFC0000000000000000000003FFFFFF000FFFFFFC00000000000000000000-03FFFFFF001FFFFFFC0000000000000000000003FFFFFF801FFFFFFC0000000000000000-000003FFFFFF801FFFFFF80000000000000000000001FFFFFF803FFFFFF8000000000000-0000000001FFFFFFC03FFFFFF80000000000000000000001FFFFFFC03FFFFFF800000000-00000000000001FFFFFFC03FFFFFF80000000000000000000001FFFFFFC03FFFFFF80000-000000000000000001FFFFFFC07FFFFFF80000000000000000000001FFFFFFE07FFFFFF8-0000000000000000000001FFFFFFE07FFFFFF80000000000000000000001FFFFFFE07FFF-FFF00000000000000000000000FFFFFFE07FFFFFF00000000000000000000000FFFFFFE0-7FFFFFF00000000000000000000000FFFFFFE07FFFFFF00000000000000000000000FFFF-FFE0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF00000000000000000000000-FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF0000000000000000000-0000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF000000000000000-00000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF00000000000-000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF0000000-0000000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF000-00000000000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFF-F00000000000000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FF-FFFFF00000000000000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFF-F0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF00000000000000000000000FF-FFFFF07FFFFFF00000000000000000000000FFFFFFE07FFFFFF000000000000000000000-00FFFFFFE07FFFFFF00000000000000000000000FFFFFFE07FFFFFF00000000000000000-000000FFFFFFE07FFFFFF80000000000000000000001FFFFFFE07FFFFFF8000000000000-0000000001FFFFFFE07FFFFFF80000000000000000000001FFFFFFE03FFFFFF800000000-00000000000001FFFFFFC03FFFFFF80000000000000000000001FFFFFFC03FFFFFF80000-000000000000000001FFFFFFC03FFFFFF80000000000000000000001FFFFFFC03FFFFFF8-0000000000000000000001FFFFFFC01FFFFFF80000000000000000000001FFFFFF801FFF-FFFC0000000000000000000003FFFFFF801FFFFFFC0000000000000000000003FFFFFF80-0FFFFFFC0000000000000000000003FFFFFF000FFFFFFC0000000000000000000003FFFF-FF000FFFFFFC0000000000000000000003FFFFFF0007FFFFFE0000000000000000000007-FFFFFE0007FFFFFE0000000000000000000007FFFFFE0007FFFFFE000000000000000000-0007FFFFFE0003FFFFFF000000000000000000000FFFFFFC0003FFFFFF00000000000000-0000000FFFFFFC0001FFFFFF000000000000000000000FFFFFF80001FFFFFF0000000000-00000000000FFFFFF80000FFFFFF800000000000000000001FFFFFF00000FFFFFF800000-000000000000001FFFFFF000007FFFFFC00000000000000000003FFFFFE000007FFFFFC0-0000000000000000003FFFFFE000003FFFFFC000000007FE000000003FFFFFC000003FFF-FFE00000003FFFC00000007FFFFFC000001FFFFFE0000000FFFFF00000007FFFFF800000-1FFFFFF0000003FFFFFC000000FFFFFF8000000FFFFFF800000FFFFFFE000001FFFFFF00-000007FFFFF800001FFFFFFF800001FFFFFE00000007FFFFFC00003FFFFFFFC00003FFFF-FE00000003FFFFFC00007FFC03FFE00003FFFFFC00000001FFFFFE00007FE0007FF00007-FFFFF800000000FFFFFF0000FF80001FF8000FFFFFF0000000007FFFFF8001FF000007F8-001FFFFFE0000000003FFFFF8001FE000003FC001FFFFFC0000000003FFFFFC001FC0000-03FE003FFFFFC0000000001FFFFFE003FC000001FF007FFFFF80000000000FFFFFF003F8-000000FF00FFFFFF000000000007FFFFF803F8000000FF81FFFFFE000000000001FFFFFC-03F80000007FC3FFFFF8000000000000FFFFFF03F80000007FCFFFFFF00000000000007F-FFFF83F80000003FFFFFFFE00000000000003FFFFFE3F80000003FFFFFFFC00000000000-000FFFFFF3FC0000001FFFFFFF0000000000000007FFFFFDFC0000001FFFFFFE00000000-00000001FFFFFFFE0000001FFFFFF80000000000000000FFFFFFFF0000007FFFFFF00000-0000000000003FFFFFFFC00003FFFFFFC000000000000000000FFFFFFFF0007FFFFFFF00-000000000000000003FFFFFFFFFFFFFFFFFC00000000000000000000FFFFFFFFFFFFFFFF-F0000000000000000000001FFFFFFFFFFFFFFF800000000000000000000007FFFFFFFFFF-FFFF8000000000F00000000000007FFFFFFFFFFFFFC000000001F80000000000000FFFFF-FFFFFFFFE000000001F8000000000000007FFFFFFFE3FFE000000001F800000000000000-00FFFFF003FFF000000001F8000000000000000000000003FFF800000001F80000000000-00000000000001FFFC00000003F8000000000000000000000001FFFC00000003F8000000-000000000000000001FFFE00000007F8000000000000000000000001FFFF0000000FF800-0000000000000000000000FFFFC000001FF8000000000000000000000000FFFFE000007F-F8000000000000000000000000FFFFF80003FFF0000000000000000000000000FFFFFF00-3FFFF0000000000000000000000000FFFFFFFFFFFFF00000000000000000000000007FFF-FFFFFFFFF00000000000000000000000007FFFFFFFFFFFF0000000000000000000000000-7FFFFFFFFFFFE00000000000000000000000007FFFFFFFFFFFE000000000000000000000-00003FFFFFFFFFFFE00000000000000000000000003FFFFFFFFFFFE00000000000000000-000000003FFFFFFFFFFFC00000000000000000000000001FFFFFFFFFFFC0000000000000-0000000000001FFFFFFFFFFFC00000000000000000000000001FFFFFFFFFFF8000000000-00000000000000000FFFFFFFFFFF800000000000000000000000000FFFFFFFFFFF000000-0000000000000000000007FFFFFFFFFF0000000000000000000000000007FFFFFFFFFE00-00000000000000000000000003FFFFFFFFFE0000000000000000000000000003FFFFFFFF-FC0000000000000000000000000001FFFFFFFFFC0000000000000000000000000001FFFF-FFFFF80000000000000000000000000000FFFFFFFFF00000000000000000000000000000-7FFFFFFFE000000000000000000000000000007FFFFFFFC0000000000000000000000000-00003FFFFFFF8000000000000000000000000000001FFFFFFF0000000000000000000000-000000000FFFFFFE00000000000000000000000000000003FFFFFC000000000000000000-00000000000001FFFFF0000000000000000000000000000000003FFFC000000000000000-00000000000000000007FE000000>149 184 115 271 175 81 D[<FFFFFFFFFFFFFFFF-FFFFFC00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC000000000000000000FFFF-FFFFFFFFFFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFC00000000-00000000FFFFFFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFFFFF-FFFFF000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFE00000000000000FFFFFFFFFF-FFFFFFFFFFFFFFFFFF80000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFE00000000000-00000003FFFFFF800000007FFFFFFFF8000000000000000003FFFFFF8000000001FFFFFF-FC000000000000000003FFFFFF80000000003FFFFFFF000000000000000003FFFFFF8000-00000007FFFFFF800000000000000003FFFFFF800000000001FFFFFFE000000000000000-03FFFFFF8000000000007FFFFFF00000000000000003FFFFFF8000000000003FFFFFF800-00000000000003FFFFFF8000000000001FFFFFFC0000000000000003FFFFFF8000000000-000FFFFFFE0000000000000003FFFFFF80000000000007FFFFFF0000000000000003FFFF-FF80000000000003FFFFFF0000000000000003FFFFFF80000000000001FFFFFF80000000-00000003FFFFFF80000000000001FFFFFFC000000000000003FFFFFF80000000000000FF-FFFFE000000000000003FFFFFF80000000000000FFFFFFE000000000000003FFFFFF8000-0000000000FFFFFFF000000000000003FFFFFF800000000000007FFFFFF0000000000000-03FFFFFF800000000000007FFFFFF800000000000003FFFFFF800000000000007FFFFFF8-00000000000003FFFFFF800000000000007FFFFFF800000000000003FFFFFF8000000000-00003FFFFFFC00000000000003FFFFFF800000000000003FFFFFFC00000000000003FFFF-FF800000000000003FFFFFFC00000000000003FFFFFF800000000000003FFFFFFC000000-00000003FFFFFF800000000000003FFFFFFE00000000000003FFFFFF800000000000003F-FFFFFE00000000000003FFFFFF800000000000003FFFFFFE00000000000003FFFFFF8000-00000000003FFFFFFE00000000000003FFFFFF800000000000003FFFFFFE000000000000-03FFFFFF800000000000003FFFFFFE00000000000003FFFFFF800000000000003FFFFFFE-00000000000003FFFFFF800000000000003FFFFFFE00000000000003FFFFFF8000000000-00003FFFFFFE00000000000003FFFFFF800000000000003FFFFFFE00000000000003FFFF-FF800000000000003FFFFFFC00000000000003FFFFFF800000000000003FFFFFFC000000-00000003FFFFFF800000000000003FFFFFFC00000000000003FFFFFF800000000000007F-FFFFFC00000000000003FFFFFF800000000000007FFFFFF800000000000003FFFFFF8000-00000000007FFFFFF800000000000003FFFFFF800000000000007FFFFFF0000000000000-03FFFFFF800000000000007FFFFFF000000000000003FFFFFF80000000000000FFFFFFE0-00000000000003FFFFFF80000000000000FFFFFFE000000000000003FFFFFF8000000000-0000FFFFFFC000000000000003FFFFFF80000000000001FFFFFF8000000000000003FFFF-FF80000000000001FFFFFF0000000000000003FFFFFF80000000000003FFFFFF00000000-00000003FFFFFF80000000000007FFFFFE0000000000000003FFFFFF8000000000000FFF-FFFC0000000000000003FFFFFF8000000000001FFFFFF80000000000000003FFFFFF8000-000000003FFFFFF00000000000000003FFFFFF800000000000FFFFFFC000000000000000-03FFFFFF800000000001FFFFFF800000000000000003FFFFFF800000000007FFFFFE0000-00000000000003FFFFFF80000000003FFFFFFC000000000000000003FFFFFF8000000001-FFFFFFF0000000000000000003FFFFFF800000007FFFFFFFC0000000000000000003FFFF-FFFFFFFFFFFFFFFFFF00000000000000000003FFFFFFFFFFFFFFFFFFFFF8000000000000-00000003FFFFFFFFFFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFFFFFFFE00-00000000000000000003FFFFFFFFFFFFFFFFFFFC0000000000000000000003FFFFFFFFFF-FFFFFFFFFF8000000000000000000003FFFFFFFFFFFFFFFFFFFFE0000000000000000000-03FFFFFF80000003FFFFFFF800000000000000000003FFFFFF800000003FFFFFFE000000-00000000000003FFFFFF800000000FFFFFFF00000000000000000003FFFFFF8000000003-FFFFFFC0000000000000000003FFFFFF8000000001FFFFFFE0000000000000000003FFFF-FF80000000007FFFFFF0000000000000000003FFFFFF80000000003FFFFFF80000000000-00000003FFFFFF80000000001FFFFFFC000000000000000003FFFFFF80000000000FFFFF-FE000000000000000003FFFFFF80000000000FFFFFFF000000000000000003FFFFFF8000-00000007FFFFFF800000000000000003FFFFFF800000000003FFFFFF8000000000000000-03FFFFFF800000000003FFFFFFC00000000000000003FFFFFF800000000001FFFFFFC000-00000000000003FFFFFF800000000001FFFFFFE00000000000000003FFFFFF8000000000-00FFFFFFE00000000000000003FFFFFF800000000000FFFFFFF00000000000000003FFFF-FF800000000000FFFFFFF00000000000000003FFFFFF800000000000FFFFFFF000000000-00000003FFFFFF8000000000007FFFFFF00000000000000003FFFFFF8000000000007FFF-FFF80000000000000003FFFFFF8000000000007FFFFFF80000000000000003FFFFFF8000-000000007FFFFFF80000000000000003FFFFFF8000000000007FFFFFF800000000000000-03FFFFFF8000000000007FFFFFF80000000000000003FFFFFF8000000000007FFFFFF800-00000000000003FFFFFF8000000000007FFFFFF80000000000000003FFFFFF8000000000-007FFFFFF80000000000000003FFFFFF8000000000007FFFFFF80000000000000003FFFF-FF8000000000007FFFFFF80000000000000003FFFFFF8000000000007FFFFFF800000000-00000003FFFFFF8000000000007FFFFFF80000000000000003FFFFFF8000000000007FFF-FFF80000000000000003FFFFFF8000000000007FFFFFFC0000000000000003FFFFFF8000-000000007FFFFFFC0000000000000003FFFFFF8000000000007FFFFFFC00000000000000-03FFFFFF8000000000007FFFFFFC0000000000000003FFFFFF8000000000007FFFFFFC00-00000000000003FFFFFF8000000000007FFFFFFC0000000000000003FFFFFF8000000000-007FFFFFFC0000000000000003FFFFFF8000000000007FFFFFFC0000000000000003FFFF-FF8000000000007FFFFFFC0000000000000003FFFFFF8000000000007FFFFFFC00000000-00000003FFFFFF8000000000007FFFFFFC0000000000000003FFFFFF8000000000007FFF-FFFC0000000000000003FFFFFF8000000000007FFFFFFC0000001FC0000003FFFFFF8000-000000007FFFFFFC0000003FE0000003FFFFFF8000000000007FFFFFFE0000003FE00000-03FFFFFF8000000000003FFFFFFE0000003FE0000003FFFFFF8000000000003FFFFFFE00-00003FE0000003FFFFFF8000000000003FFFFFFE0000003FE0000003FFFFFF8000000000-001FFFFFFF0000003FE0000003FFFFFF8000000000001FFFFFFF0000007FE0000003FFFF-FF8000000000001FFFFFFF0000007FC0000003FFFFFF8000000000000FFFFFFF8000007F-C0000003FFFFFF80000000000007FFFFFF800000FFC0000003FFFFFF80000000000007FF-FFFFC00000FF80000003FFFFFF80000000000003FFFFFFC00001FF80000003FFFFFF8000-0000000001FFFFFFE00001FF00FFFFFFFFFFFFFFFFFE00000000FFFFFFF00003FF00FFFF-FFFFFFFFFFFFFE000000007FFFFFF80007FE00FFFFFFFFFFFFFFFFFE000000003FFFFFFE-001FFC00FFFFFFFFFFFFFFFFFE000000001FFFFFFFC07FF800FFFFFFFFFFFFFFFFFE0000-000007FFFFFFFFFFF000FFFFFFFFFFFFFFFFFE0000000001FFFFFFFFFFE000FFFFFFFFFF-FFFFFFFE00000000007FFFFFFFFFC000FFFFFFFFFFFFFFFFFE00000000001FFFFFFFFF80-00FFFFFFFFFFFFFFFFFE000000000003FFFFFFFE00000000000000000000000000000000-001FFFFFF80000000000000000000000000000000000003FFFC00000>163-144 120 269 173 I[<000000000FFFF8000000003E0000000001FFFFFFE00000003F00-0000001FFFFFFFFE0000007F000000007FFFFFFFFFC00000FF00000003FFFFFFFFFFF000-01FF0000000FFFFFFFFFFFFC0003FF0000001FFFFFFFFFFFFF0007FF0000007FFFFFFFFF-FFFFC00FFF000000FFFFFE000FFFFFF01FFF000003FFFFC000007FFFF83FFF000007FFFF-00000007FFFC7FFF00000FFFFC00000000FFFFFFFF00001FFFF0000000003FFFFFFF0000-3FFFE0000000000FFFFFFF00007FFF800000000007FFFFFF0000FFFF800000000001FFFF-FF0000FFFF000000000000FFFFFF0001FFFE0000000000007FFFFF0003FFFC0000000000-001FFFFF0003FFFC0000000000000FFFFF0007FFF800000000000007FFFF0007FFF80000-0000000007FFFF000FFFF000000000000003FFFF000FFFF000000000000001FFFF001FFF-F000000000000000FFFF001FFFF000000000000000FFFF003FFFE0000000000000007FFF-003FFFE0000000000000003FFF003FFFE0000000000000003FFF007FFFE0000000000000-001FFF007FFFE0000000000000001FFF007FFFE0000000000000001FFF007FFFE0000000-000000000FFF007FFFE0000000000000000FFF00FFFFE00000000000000007FF00FFFFF0-0000000000000007FF00FFFFF00000000000000007FF00FFFFF00000000000000007FF00-FFFFF80000000000000003FF00FFFFF80000000000000003FF00FFFFFC00000000000000-03FF00FFFFFC0000000000000003FF00FFFFFE0000000000000001FF00FFFFFF00000000-00000001FF00FFFFFF0000000000000001FF00FFFFFF8000000000000001FF00FFFFFFC0-00000000000001FF00FFFFFFF000000000000000FE007FFFFFF80000000000000000007F-FFFFFE0000000000000000007FFFFFFF0000000000000000007FFFFFFFE0000000000000-00003FFFFFFFFE00000000000000003FFFFFFFFFE0000000000000003FFFFFFFFFFF0000-00000000001FFFFFFFFFFFF00000000000001FFFFFFFFFFFFF8000000000000FFFFFFFFF-FFFFF800000000000FFFFFFFFFFFFFFFC00000000007FFFFFFFFFFFFFFFC0000000007FF-FFFFFFFFFFFFFF8000000003FFFFFFFFFFFFFFFFE000000003FFFFFFFFFFFFFFFFF80000-0001FFFFFFFFFFFFFFFFFE00000000FFFFFFFFFFFFFFFFFF800000007FFFFFFFFFFFFFFF-FFE00000007FFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFF80000001FFFFFFFFF-FFFFFFFFFC0000000FFFFFFFFFFFFFFFFFFF00000007FFFFFFFFFFFFFFFFFF80000003FF-FFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFFFE00000007FFFFFFFFFFFFFFFFFE000-00003FFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFF800000003FFFFFFFFFFFFFF-FFFC00000000FFFFFFFFFFFFFFFFFE000000003FFFFFFFFFFFFFFFFE000000000FFFFFFF-FFFFFFFFFF0000000001FFFFFFFFFFFFFFFF00000000001FFFFFFFFFFFFFFF8000000000-01FFFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFC00000000000007FFFFFFFFFFFC000-000000000007FFFFFFFFFFE0000000000000003FFFFFFFFFE00000000000000003FFFFFF-FFF000000000000000003FFFFFFFF000000000000000000FFFFFFFF00000000000000000-03FFFFFFF8000000000000000000FFFFFFF80000000000000000007FFFFFF80000000000-000000001FFFFFF80000000000000000000FFFFFF800000000000000000007FFFFFC0000-0000000000000007FFFFFC00000000000000000003FFFFFC7F000000000000000001FFFF-FCFF800000000000000000FFFFFCFF800000000000000000FFFFFCFF8000000000000000-007FFFFCFF8000000000000000007FFFFCFF8000000000000000007FFFFCFF8000000000-000000003FFFFCFF8000000000000000003FFFFCFF8000000000000000003FFFFCFFC000-000000000000001FFFFCFFC000000000000000001FFFFCFFC000000000000000001FFFFC-FFC000000000000000001FFFF8FFE000000000000000001FFFF8FFE00000000000000000-1FFFF8FFE000000000000000001FFFF8FFF000000000000000001FFFF8FFF00000000000-0000001FFFF0FFF000000000000000001FFFF0FFF800000000000000003FFFF0FFFC0000-0000000000003FFFE0FFFC00000000000000003FFFE0FFFE00000000000000003FFFE0FF-FF00000000000000007FFFC0FFFF00000000000000007FFFC0FFFF80000000000000007F-FF80FFFFC000000000000000FFFF80FFFFE000000000000000FFFF00FFFFF80000000000-0001FFFF00FFFFFC00000000000003FFFE00FFFFFE00000000000003FFFC00FFFFFF8000-0000000007FFFC00FFFFFFE000000000000FFFF800FFFFFFF800000000001FFFF000FFFF-FFFE00000000007FFFE000FFFFFFFFC000000000FFFFC000FFFFFFFFF800000003FFFF80-00FFFE7FFFFF8000001FFFFF0000FFFC1FFFFFFF0001FFFFFE0000FFF807FFFFFFFFFFFF-FFFC0000FFF003FFFFFFFFFFFFFFF00000FFE000FFFFFFFFFFFFFFE00000FFC0001FFFFF-FFFFFFFF800000FF800007FFFFFFFFFFFE000000FF000000FFFFFFFFFFF8000000FE0000-001FFFFFFFFFC0000000FC00000000FFFFFFFC000000007C0000000001FFFF8000000000->102 146 115 271 129 I[<0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000FFFFFFFFF-FFFFFFFFFFFFFFFFFFFFFFFFF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000FFFFF-FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000F-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC-001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF-FFFC001FFFFFFFC000001FFFFFFE000001FFFFFFFC001FFFFFF80000001FFFFFFE000000-0FFFFFFC001FFFFFC00000001FFFFFFE00000001FFFFFC001FFFFF000000001FFFFFFE00-0000007FFFFC001FFFFC000000001FFFFFFE000000001FFFFC001FFFF8000000001FFFFF-FE0000000007FFFC001FFFE0000000001FFFFFFE0000000003FFFC001FFFC0000000001F-FFFFFE0000000001FFFC001FFF80000000001FFFFFFE0000000000FFFC003FFF00000000-001FFFFFFE00000000007FFE003FFF00000000001FFFFFFE00000000007FFE003FFE0000-0000001FFFFFFE00000000003FFE003FFC00000000001FFFFFFE00000000001FFE003FFC-00000000001FFFFFFE00000000001FFE003FFC00000000001FFFFFFE00000000001FFE00-3FF800000000001FFFFFFE00000000000FFE003FF800000000001FFFFFFE00000000000F-FE003FF000000000001FFFFFFE000000000007FE003FF000000000001FFFFFFE00000000-0007FE003FF000000000001FFFFFFE000000000007FE003FF000000000001FFFFFFE0000-00000007FE003FE000000000001FFFFFFE000000000003FE007FE000000000001FFFFFFE-000000000003FF007FE000000000001FFFFFFE000000000003FF007FE000000000001FFF-FFFE000000000003FF007FE000000000001FFFFFFE000000000003FF007FC00000000000-1FFFFFFE000000000001FF007FC000000000001FFFFFFE000000000001FF007FC0000000-00001FFFFFFE000000000001FF007FC000000000001FFFFFFE000000000001FF007FC000-000000001FFFFFFE000000000001FF007FC000000000001FFFFFFE000000000001FF007F-C000000000001FFFFFFE000000000001FF007FC000000000001FFFFFFE000000000001FF-00FF8000000000001FFFFFFE000000000000FF80FF8000000000001FFFFFFE0000000000-00FF80FF8000000000001FFFFFFE000000000000FF80FF8000000000001FFFFFFE000000-000000FF80FF8000000000001FFFFFFE000000000000FF80FF8000000000001FFFFFFE00-0000000000FF80000000000000001FFFFFFE0000000000000000000000000000001FFFFF-FE0000000000000000000000000000001FFFFFFE0000000000000000000000000000001F-FFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000000000-001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000000000-0000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000-00000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000000000-000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000-0000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000-00000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000-000000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE-0000000000000000000000000000001FFFFFFE0000000000000000000000000000001FFF-FFFE0000000000000000000000000000001FFFFFFE000000000000000000000000000000-1FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000000000-00001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000-000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000-0000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000-00000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000-000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000-0000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00-00000000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFF-FE0000000000000000000000000000001FFFFFFE0000000000000000000000000000001F-FFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000000000-001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000000000-0000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000-00000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000000000-000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000-0000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000-00000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000-000000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE-0000000000000000000000000000001FFFFFFE0000000000000000000000000000001FFF-FFFE0000000000000000000000000000001FFFFFFE000000000000000000000000000000-1FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000000000-00001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000-000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000-0000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000-00000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000-000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000-0000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00-00000000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFF-FE0000000000000000000000000000001FFFFFFE0000000000000000000000000000001F-FFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000000000-001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000000000-0000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000-00000000001FFFFFFE00000000000000000000000FFFFFFFFFFFFFFFFFFFFFFC00000000-0000000FFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFFFFFC0000-00000000000FFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFFFFFC-000000000000000FFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFF-FFFC000000000000000FFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFF-FFFFFFFC00000000>145 140 120 267 162 I[<FFFFFFFFFFFFFFFFE0000000000007FF-FFFFFFFFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE000-0000000007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFFFFF8FFFFFFFF-FFFFFFFFE0000000000007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFF-FFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE000000000-0007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFFFFF800001FFFFFFF00-000000000000000001FFFFFF000000001FFFFFFF8000000000000000000007FFE0000000-000FFFFFFF8000000000000000000003FF80000000000FFFFFFFC0000000000000000000-03FF80000000000FFFFFFFC000000000000000000003FF800000000007FFFFFFC0000000-00000000000007FF000000000007FFFFFFE000000000000000000007FF000000000003FF-FFFFE00000000000000000000FFE000000000003FFFFFFF00000000000000000000FFE00-0000000001FFFFFFF00000000000000000001FFC000000000001FFFFFFF8000000000000-0000001FFC000000000000FFFFFFF80000000000000000001FF8000000000000FFFFFFF8-0000000000000000003FF8000000000000FFFFFFFC0000000000000000003FF800000000-00007FFFFFFC0000000000000000007FF00000000000007FFFFFFE000000000000000000-7FF00000000000003FFFFFFE000000000000000000FFE00000000000003FFFFFFF000000-000000000000FFE00000000000001FFFFFFF000000000000000000FFC00000000000001F-FFFFFF000000000000000001FFC00000000000001FFFFFFF800000000000000001FFC000-00000000000FFFFFFF800000000000000003FF800000000000000FFFFFFFC00000000000-000003FF8000000000000007FFFFFFC00000000000000007FF0000000000000007FFFFFF-E00000000000000007FF0000000000000003FFFFFFE00000000000000007FE0000000000-000003FFFFFFE0000000000000000FFE0000000000000003FFFFFFF0000000000000000F-FE0000000000000001FFFFFFF0000000000000001FFC0000000000000001FFFFFFF80000-00000000001FFC0000000000000000FFFFFFF8000000000000003FF80000000000000000-FFFFFFFC000000000000003FF800000000000000007FFFFFFC000000000000007FF00000-0000000000007FFFFFFE000000000000007FF000000000000000007FFFFFFE0000000000-00007FF000000000000000003FFFFFFE00000000000000FFE000000000000000003FFFFF-FF00000000000000FFE000000000000000001FFFFFFF00000000000001FFC00000000000-0000001FFFFFFF80000000000001FFC000000000000000000FFFFFFF80000000000003FF-8000000000000000000FFFFFFFC0000000000003FF80000000000000000007FFFFFFC000-0000000003FF00000000000000000007FFFFFFC0000000000007FF000000000000000000-07FFFFFFE0000000000007FF00000000000000000003FFFFFFE000000000000FFE000000-00000000000003FFFFFFF000000000000FFE00000000000000000001FFFFFFF000000000-001FFC00000000000000000001FFFFFFF800000000001FFC00000000000000000000FFFF-FFF800000000001FF800000000000000000000FFFFFFF800000000003FF8000000000000-00000000FFFFFFFC00000000003FF8000000000000000000007FFFFFFC00000000007FF0-000000000000000000007FFFFFFE00000000007FF0000000000000000000003FFFFFFE00-00000000FFE0000000000000000000003FFFFFFF0000000000FFE0000000000000000000-001FFFFFFF0000000000FFC0000000000000000000001FFFFFFF0000000001FFC0000000-000000000000001FFFFFFF8000000001FFC0000000000000000000000FFFFFFF80000000-03FF80000000000000000000000FFFFFFFC000000003FF800000000000000000000007FF-FFFFC000000007FF000000000000000000000007FFFFFFE000000007FF00000000000000-0000000003FFFFFFE00000000FFE000000000000000000000003FFFFFFF00000000FFE00-0000000000000000000003FFFFFFF00000000FFE000000000000000000000001FFFFFFF0-0000001FFC000000000000000000000001FFFFFFF80000001FFC00000000000000000000-0000FFFFFFF80000003FF8000000000000000000000000FFFFFFFC0000003FF800000000-00000000000000007FFFFFFC0000007FF00000000000000000000000007FFFFFFE000000-7FF00000000000000000000000003FFFFFFE0000007FE00000000000000000000000003F-FFFFFE000000FFE00000000000000000000000003FFFFFFF000000FFE000000000000000-00000000001FFFFFFF000001FFC00000000000000000000000001FFFFFFF800001FFC000-00000000000000000000000FFFFFFF800003FF800000000000000000000000000FFFFFFF-C00003FF8000000000000000000000000007FFFFFFC00003FF0000000000000000000000-000007FFFFFFC00007FF0000000000000000000000000007FFFFFFE00007FF0000000000-000000000000000003FFFFFFE0000FFE0000000000000000000000000003FFFFFFF0000F-FE0000000000000000000000000001FFFFFFF0001FFC0000000000000000000000000001-FFFFFFF8001FFC0000000000000000000000000000FFFFFFF8001FF80000000000000000-000000000000FFFFFFFC003FF80000000000000000000000000000FFFFFFFC003FF80000-0000000000000000000000007FFFFFFC007FF000000000000000000000000000007FFFFF-FE007FF000000000000000000000000000003FFFFFFE00FFE00000000000000000000000-0000003FFFFFFF00FFE000000000000000000000000000001FFFFFFF01FFC00000000000-0000000000000000001FFFFFFF81FFC000000000000000000000000000001FFFFFFF81FF-C000000000000000000000000000000FFFFFFF83FF800000000000000000000000000000-0FFFFFFFC3FF80000000000000000000000000000007FFFFFFC7FF000000000000000000-00000000000007FFFFFFE7FF00000000000000000000000000000003FFFFFFEFFE000000-00000000000000000000000003FFFFFFFFFE00000000000000000000000000000001FFFF-FFFFFC00000000000000000000000000000001FFFFFFFFFC000000000000000000000000-00000001FFFFFFFFFC00000000000000000000000000000000FFFFFFFFF8000000000000-00000000000000000000FFFFFFFFF8000000000000000000000000000000007FFFFFFFF0-000000000000000000000000000000007FFFFFFFF0000000000000000000000000000000-003FFFFFFFE0000000000000000000000000000000003FFFFFFFE0000000000000000000-000000000000003FFFFFFFE0000000000000000000000000000000001FFFFFFFC0000000-000000000000000000000000001FFFFFFFC0000000000000000000000000000000000FFF-FFFF80000000000000000000000000000000000FFFFFFF80000000000000000000000000-0000000007FFFFFF000000000000000000000000000000000007FFFFFF00000000000000-0000000000000000000007FFFFFF000000000000000000000000000000000003FFFFFE00-0000000000000000000000000000000003FFFFFE00000000000000000000000000000000-0001FFFFFC000000000000000000000000000000000001FFFFFC00000000000000000000-0000000000000000FFFFF8000000000000000000000000000000000000FFFFF800000000-0000000000000000000000000000FFFFF80000000000000000000000000000000000007F-FFF00000000000000000000000000000000000007FFFF000000000000000000000000000-00000000003FFFE00000000000000000000000000000000000003FFFE000000000000000-00000000000000000000001FFFC00000000000000000000000000000000000001FFFC000-00000000000000000000000000000000000FFF8000000000000000000000000000000000-00000FFF8000000000000000000000000000000000000007FF0000000000000000000000-000000000000000003FE00000000000000000000>165 144 123-269 176 86 D<00000000FFFFFC000000000000000000007FFFFFFFF000000000000000-0007FFFFFFFFFF00000000000000003FFFFFFFFFFFE000000000000000FFFFFFFFFFFFF8-00000000000001FFFFFFFFFFFFFE00000000000007FFFFFFFFFFFFFF8000000000000FFF-FFC0007FFFFFE000000000001FFFE000000FFFFFF000000000003FFFF0000003FFFFF800-000000007FFFF8000000FFFFFE00000000007FFFFC0000007FFFFF0000000000FFFFFC00-00003FFFFF8000000000FFFFFE0000001FFFFFC000000000FFFFFE0000000FFFFFC00000-0001FFFFFF00000007FFFFE000000001FFFFFF00000003FFFFF000000001FFFFFF000000-03FFFFF000000001FFFFFF00000001FFFFF800000001FFFFFF00000001FFFFF800000001-FFFFFF00000001FFFFFC00000001FFFFFF00000000FFFFFC00000001FFFFFF00000000FF-FFFE00000000FFFFFE00000000FFFFFE00000000FFFFFE00000000FFFFFE000000007FFF-FC000000007FFFFE000000007FFFFC000000007FFFFF000000003FFFF8000000007FFFFF-000000001FFFF0000000007FFFFF0000000007FFC0000000007FFFFF0000000001FF0000-0000007FFFFF00000000000000000000007FFFFF00000000000000000000007FFFFF0000-0000000000000000007FFFFF00000000000000000000007FFFFF00000000000000000000-007FFFFF00000000000000000000007FFFFF00000000000000000000007FFFFF00000000-000000000000007FFFFF00000000000000000000007FFFFF00000000000000000003FFFF-FFFF00000000000000000FFFFFFFFFFF0000000000000003FFFFFFFFFFFF000000000000-007FFFFFFFFFFFFF00000000000007FFFFFFFFFFFFFF0000000000003FFFFFFFFFFFFFFF-000000000001FFFFFFFF807FFFFF00000000000FFFFFFFE0007FFFFF00000000003FFFFF-FC00007FFFFF0000000000FFFFFFE000007FFFFF0000000003FFFFFF0000007FFFFF0000-000007FFFFFC0000007FFFFF000000001FFFFFF00000007FFFFF000000003FFFFFC00000-007FFFFF000000007FFFFF800000007FFFFF00000000FFFFFE000000007FFFFF00000001-FFFFFC000000007FFFFF00000003FFFFF8000000007FFFFF00000007FFFFF0000000007F-FFFF0000000FFFFFE0000000007FFFFF0000001FFFFFE0000000007FFFFF0000001FFFFF-C0000000007FFFFF0000003FFFFF80000000007FFFFF0000003FFFFF80000000007FFFFF-0000007FFFFF00000000007FFFFF0000007FFFFF00000000007FFFFF0000007FFFFF0000-0000007FFFFF000000FFFFFF00000000007FFFFF000000FFFFFE00000000007FFFFF0000-00FFFFFE00000000007FFFFF000000FFFFFE00000000007FFFFF000000FFFFFE00000000-00FFFFFF000000FFFFFE0000000000FFFFFF000000FFFFFE0000000000FFFFFF000000FF-FFFE0000000000FFFFFF000000FFFFFE0000000001FFFFFF000000FFFFFF0000000001FF-FFFF0000007FFFFF0000000003FFFFFF0000007FFFFF0000000007EFFFFF0000003FFFFF-800000000FEFFFFF0000003FFFFFC00000000FCFFFFF0000001FFFFFC00000003FCFFFFF-0000001FFFFFE00000007F8FFFFF8000000FFFFFF0000000FF0FFFFFE0000007FFFFFC00-0003FE0FFFFFFE000003FFFFFE00000FFC07FFFFFFFF0001FFFFFF80003FF807FFFFFFFF-8000FFFFFFF803FFF003FFFFFFFF80003FFFFFFFFFFFE001FFFFFFFF80000FFFFFFFFFFF-8000FFFFFFFF800003FFFFFFFFFF00007FFFFFFF800000FFFFFFFFFC00001FFFFFFF8000-001FFFFFFFF0000007FFFFFF80000001FFFFFF800000007FFFFF0000000007FFF8000000-0000000000695F79DD71>97 D[<0000001FF000000000000000000000007FFFFFF00000-0000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000000000-0000FFFFFFFFF000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFF-F000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000-0000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000000000000000-3FFFFFF0000000000000000000000007FFFFF0000000000000000000000007FFFFF00000-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000-00000000000000000003FFFFF000003FFFC000000000000003FFFFF00007FFFFFE000000-00000003FFFFF0003FFFFFFFE0000000000003FFFFF001FFFFFFFFF8000000000003FFFF-F007FFFFFFFFFF000000000003FFFFF01FFFFFFFFFFFC00000000003FFFFF07FFFFFFFFF-FFF00000000003FFFFF0FFFFC00FFFFFF80000000003FFFFF3FFFC0000FFFFFE00000000-03FFFFF7FFE000003FFFFF0000000003FFFFFFFF8000000FFFFF8000000003FFFFFFFE00-000007FFFFE000000003FFFFFFF800000001FFFFF000000003FFFFFFF000000000FFFFF8-00000003FFFFFFE0000000007FFFFC00000003FFFFFF80000000003FFFFC00000003FFFF-FF00000000003FFFFE00000003FFFFFE00000000001FFFFF00000003FFFFFC0000000000-0FFFFF80000003FFFFFC00000000000FFFFF80000003FFFFF8000000000007FFFFC00000-03FFFFF8000000000007FFFFE0000003FFFFF8000000000007FFFFE0000003FFFFF80000-00000003FFFFF0000003FFFFF8000000000003FFFFF0000003FFFFF8000000000003FFFF-F8000003FFFFF8000000000001FFFFF8000003FFFFF8000000000001FFFFF8000003FFFF-F8000000000001FFFFFC000003FFFFF8000000000001FFFFFC000003FFFFF80000000000-01FFFFFE000003FFFFF8000000000001FFFFFE000003FFFFF8000000000001FFFFFE0000-03FFFFF8000000000000FFFFFE000003FFFFF8000000000000FFFFFF000003FFFFF80000-00000000FFFFFF000003FFFFF8000000000000FFFFFF000003FFFFF8000000000000FFFF-FF000003FFFFF8000000000000FFFFFF000003FFFFF8000000000000FFFFFF800003FFFF-F8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF80000000000-00FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF8000-03FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF80000-00000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFF-FF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFF-F8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF80000000000-00FFFFFF800003FFFFF8000000000000FFFFFF000003FFFFF8000000000000FFFFFF0000-03FFFFF8000000000000FFFFFF000003FFFFF8000000000000FFFFFF000003FFFFF80000-00000000FFFFFF000003FFFFF8000000000000FFFFFE000003FFFFF8000000000001FFFF-FE000003FFFFF8000000000001FFFFFE000003FFFFF8000000000001FFFFFC000003FFFF-F8000000000001FFFFFC000003FFFFF8000000000001FFFFFC000003FFFFF80000000000-01FFFFF8000003FFFFF8000000000003FFFFF8000003FFFFF8000000000003FFFFF00000-03FFFFF8000000000003FFFFF0000003FFFFF8000000000007FFFFE0000003FFFFF80000-00000007FFFFE0000003FFFFF8000000000007FFFFC0000003FFFFF800000000000FFFFF-C0000003FFFFFC00000000000FFFFF80000003FFFFFE00000000001FFFFF00000003FFFF-FF00000000003FFFFE00000003FFFFFF00000000003FFFFE00000003FFFFFF8000000000-7FFFFC00000003FFFFFFC000000000FFFFF800000003FFFFFFF000000001FFFFF0000000-03FFFFBFF800000003FFFFE000000003FFFF1FFC0000000FFFFFC000000003FFFE0FFF00-00001FFFFF0000000003FFFE07FFC000007FFFFE0000000003FFFC03FFF00003FFFFFC00-00000003FFF800FFFF003FFFFFF00000000003FFF0007FFFFFFFFFFFC00000000003FFE0-001FFFFFFFFFFF000000000003FFC0000FFFFFFFFFFC000000000003FF800003FFFFFFFF-F0000000000003FF0000007FFFFFFF80000000000003FE0000000FFFFFF8000000000000-000000000000FFFE000000000000>113 144 121 270 129 I<00000000007FFFF00000-00000000001FFFFFFFE0000000000000FFFFFFFFFE000000000007FFFFFFFFFF80000000-001FFFFFFFFFFFF000000000FFFFFFFFFFFFF800000001FFFFFFFFFFFFFE00000007FFFF-FFFFFFFFFF0000001FFFFFF8000FFFFF8000003FFFFF800000FFFFC000007FFFFE000001-FFFFE00001FFFFF8000003FFFFE00003FFFFF0000003FFFFF00007FFFFE0000007FFFFF0-000FFFFFC0000007FFFFF0001FFFFF8000000FFFFFF8003FFFFF0000000FFFFFF8003FFF-FE0000000FFFFFF8007FFFFC0000000FFFFFF800FFFFFC0000000FFFFFF800FFFFF80000-000FFFFFF801FFFFF80000000FFFFFF803FFFFF00000000FFFFFF803FFFFF000000007FF-FFF007FFFFF000000007FFFFF007FFFFE000000003FFFFE00FFFFFE000000003FFFFE00F-FFFFE000000001FFFFC01FFFFFE000000000FFFF801FFFFFC0000000003FFE001FFFFFC0-000000000FF8003FFFFFC0000000000000003FFFFFC0000000000000003FFFFFC0000000-000000003FFFFFC0000000000000007FFFFF80000000000000007FFFFF80000000000000-007FFFFF80000000000000007FFFFF80000000000000007FFFFF8000000000000000FFFF-FF8000000000000000FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF8000-000000000000FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF8000000000-000000FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF8000000000000000-FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF-8000000000000000FFFFFF8000000000000000FFFFFF80000000000000007FFFFF800000-00000000007FFFFF80000000000000007FFFFFC0000000000000007FFFFFC00000000000-00007FFFFFC0000000000000003FFFFFC0000000000000003FFFFFC0000000000000003F-FFFFC0000000000000001FFFFFE0000000000000001FFFFFE0000000000000001FFFFFE0-000000000000000FFFFFE0000000000000000FFFFFF0000000000000FE07FFFFF0000000-000001FF07FFFFF0000000000001FF03FFFFF8000000000003FF03FFFFF8000000000003-FE01FFFFFC000000000003FE01FFFFFC000000000007FE00FFFFFE00000000000FFC007F-FFFF00000000000FFC007FFFFF80000000001FF8003FFFFF80000000003FF0001FFFFFC0-000000007FF0000FFFFFE000000000FFE00007FFFFF800000001FFC00003FFFFFC000000-03FFC00001FFFFFF0000000FFF800000FFFFFFC000003FFF0000003FFFFFF00001FFFC00-00001FFFFFFF801FFFF800000007FFFFFFFFFFFFF000000003FFFFFFFFFFFFC000000000-FFFFFFFFFFFF80000000003FFFFFFFFFFE000000000007FFFFFFFFF8000000000000FFFF-FFFFC00000000000001FFFFFFE00000000000000007FFFC0000000585F78DD67>I[<0000-0000000000000000003FE00000000000000000000000FFFFFFE000000000000000000001-FFFFFFFFE000000000000000000001FFFFFFFFE000000000000000000001FFFFFFFFE000-000000000000000001FFFFFFFFE000000000000000000001FFFFFFFFE000000000000000-000001FFFFFFFFE000000000000000000001FFFFFFFFE000000000000000000001FFFFFF-FFE000000000000000000001FFFFFFFFE000000000000000000000007FFFFFE000000000-000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000-0007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000-0000000000000000000007FFFFE0000000000000000000000007FFFFE000000000000000-0000000007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FF-FFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000000000-0000000000000007FFFFE0000000000000000000000007FFFFE000000000000000000000-0007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000-0000000000000000000007FFFFE0000000000000000000000007FFFFE000000000000000-0000000007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FF-FFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000000000-0000000000000007FFFFE0000000000000000000000007FFFFE000000000000000000000-0007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000-0000000000000000000007FFFFE0000000000000000000000007FFFFE000000000000000-0000000007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FF-FFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000000000-0000000000000007FFFFE0000000000000000000000007FFFFE0000000000000003FFF80-0007FFFFE00000000000000FFFFFFC0007FFFFE0000000000000FFFFFFFF8007FFFFE000-0000000007FFFFFFFFE007FFFFE000000000001FFFFFFFFFF807FFFFE000000000007FFF-FFFFFFFE07FFFFE00000000001FFFFFFFFFFFF87FFFFE00000000007FFFFFE007FFFC7FF-FFE0000000001FFFFFE00007FFF7FFFFE0000000003FFFFF000000FFFFFFFFE000000000-7FFFFC0000003FFFFFFFE000000001FFFFF80000000FFFFFFFE000000003FFFFE0000000-07FFFFFFE000000007FFFFC000000003FFFFFFE00000000FFFFF8000000001FFFFFFE000-00001FFFFF00000000007FFFFFE00000003FFFFE00000000007FFFFFE00000003FFFFE00-000000003FFFFFE00000007FFFFC00000000001FFFFFE0000000FFFFF800000000000FFF-FFE0000001FFFFF800000000000FFFFFE0000001FFFFF000000000000FFFFFE0000003FF-FFF000000000000FFFFFE0000003FFFFF000000000000FFFFFE0000007FFFFE000000000-000FFFFFE0000007FFFFE000000000000FFFFFE000000FFFFFE000000000000FFFFFE000-000FFFFFC000000000000FFFFFE000001FFFFFC000000000000FFFFFE000001FFFFFC000-000000000FFFFFE000001FFFFFC000000000000FFFFFE000003FFFFFC000000000000FFF-FFE000003FFFFFC000000000000FFFFFE000003FFFFF8000000000000FFFFFE000007FFF-FF8000000000000FFFFFE000007FFFFF8000000000000FFFFFE000007FFFFF8000000000-000FFFFFE000007FFFFF8000000000000FFFFFE000007FFFFF8000000000000FFFFFE000-00FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000-000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFF-FFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFF-FF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000000000-000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE000-00FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000-000000000FFFFFE00000FFFFFF8000000000000FFFFFE000007FFFFF8000000000000FFF-FFE000007FFFFF8000000000000FFFFFE000007FFFFF8000000000000FFFFFE000007FFF-FF8000000000000FFFFFE000007FFFFF8000000000000FFFFFE000003FFFFF8000000000-000FFFFFE000003FFFFFC000000000000FFFFFE000003FFFFFC000000000000FFFFFE000-003FFFFFC000000000000FFFFFE000001FFFFFC000000000000FFFFFE000001FFFFFC000-000000000FFFFFE000000FFFFFC000000000000FFFFFE000000FFFFFC000000000000FFF-FFE000000FFFFFE000000000000FFFFFE0000007FFFFE000000000000FFFFFE0000007FF-FFE000000000000FFFFFE0000003FFFFF000000000000FFFFFE0000003FFFFF000000000-000FFFFFE0000001FFFFF000000000001FFFFFE0000000FFFFF800000000003FFFFFE000-0000FFFFF800000000007FFFFFE00000007FFFFC00000000007FFFFFE00000003FFFFE00-00000000FFFFFFE00000001FFFFE0000000001FFFFFFE00000000FFFFF0000000007FFFF-FFE00000000FFFFF800000000FFFFFFFE000000007FFFFC00000001FFFFFFFF000000001-FFFFF00000007FFFFFFFF000000000FFFFF8000000FFFFFFFFFE000000007FFFFE000003-FFEFFFFFFFFF8000003FFFFF80001FFFCFFFFFFFFF8000000FFFFFF801FFFF0FFFFFFFFF-80000003FFFFFFFFFFFE0FFFFFFFFF80000001FFFFFFFFFFF80FFFFFFFFF800000007FFF-FFFFFFE00FFFFFFFFF800000000FFFFFFFFF800FFFFFFFFF8000000001FFFFFFFC000FFF-FFFFFF80000000003FFFFFE0000FFFFFFFFF800000000000FFFE00000FFFFE000000>-113 144 120 270 129 I<00000000007FFFC000000000000000000FFFFFFF0000000000-000000FFFFFFFFE000000000000007FFFFFFFFFC0000000000001FFFFFFFFFFF00000000-00007FFFFFFFFFFFC00000000001FFFFFFFFFFFFF00000000007FFFFF803FFFFF8000000-001FFFFF80003FFFFE000000003FFFFE00000FFFFF000000007FFFF8000003FFFF800000-01FFFFF0000001FFFFC0000003FFFFC00000007FFFE0000007FFFF800000003FFFF00000-0FFFFF000000003FFFF000001FFFFF000000001FFFF800003FFFFE000000000FFFFC0000-3FFFFC000000000FFFFE00007FFFFC0000000007FFFE0000FFFFF80000000003FFFF0001-FFFFF80000000003FFFF0001FFFFF00000000003FFFF8003FFFFF00000000001FFFF8003-FFFFE00000000001FFFF8007FFFFE00000000001FFFFC007FFFFE00000000000FFFFC00F-FFFFE00000000000FFFFE00FFFFFC00000000000FFFFE01FFFFFC00000000000FFFFE01F-FFFFC000000000007FFFE01FFFFFC000000000007FFFF03FFFFFC000000000007FFFF03F-FFFFC000000000007FFFF03FFFFF8000000000007FFFF07FFFFF8000000000007FFFF07F-FFFF8000000000007FFFF07FFFFF8000000000007FFFF87FFFFF8000000000003FFFF87F-FFFF8000000000003FFFF8FFFFFF8000000000003FFFF8FFFFFF8000000000003FFFF8FF-FFFF8000000000003FFFF8FFFFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFFF8FF-FFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFFF8FF-FFFFFFFFFFFFFFFFFFFFF0FFFFFF800000000000000000FFFFFF800000000000000000FF-FFFF800000000000000000FFFFFF800000000000000000FFFFFF800000000000000000FF-FFFF800000000000000000FFFFFF8000000000000000007FFFFF8000000000000000007F-FFFF8000000000000000007FFFFF8000000000000000007FFFFF8000000000000000007F-FFFFC000000000000000003FFFFFC000000000000000003FFFFFC000000000000000003F-FFFFC000000000000000001FFFFFC000000000000000001FFFFFC000000000000000001F-FFFFE000000000000000000FFFFFE000000000000000000FFFFFE0000000000000000007-FFFFE000000000000007F007FFFFF00000000000000FF803FFFFF00000000000000FF803-FFFFF80000000000000FF801FFFFF80000000000001FF801FFFFFC0000000000001FF000-FFFFFC0000000000003FF0007FFFFE0000000000007FE0003FFFFF0000000000007FE000-3FFFFF000000000000FFC0001FFFFF800000000001FF80000FFFFFC00000000003FF8000-07FFFFF00000000007FF000003FFFFF8000000001FFE000001FFFFFC000000003FFC0000-007FFFFF00000000FFF80000003FFFFFE0000003FFF00000001FFFFFFC00001FFFE00000-0007FFFFFFC003FFFFC000000003FFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFE000000-00003FFFFFFFFFFFF800000000000FFFFFFFFFFFE0000000000001FFFFFFFFFF80000000-0000003FFFFFFFFC0000000000000003FFFFFFC000000000000000000FFFF8000000005D-5F7ADD6A>I[<0000000000003FFF80000000000000000FFFFFF000000000000000FFFFFF-FE00000000000007FFFFFFFF0000000000001FFFFFFFFFC000000000007FFFFFFFFFE000-00000001FFFFFFFFFFF00000000007FFFFF807FFF8000000001FFFFFC00FFFFC00000000-3FFFFE001FFFFE000000007FFFFC003FFFFE00000000FFFFF0003FFFFF00000001FFFFE0-007FFFFF00000003FFFFC0007FFFFF00000007FFFFC000FFFFFF80000007FFFF8000FFFF-FF8000000FFFFF0000FFFFFF8000001FFFFF0000FFFFFF8000001FFFFE0000FFFFFF8000-003FFFFE0000FFFFFF8000003FFFFC0000FFFFFF8000007FFFFC0000FFFFFF8000007FFF-FC00007FFFFF0000007FFFFC00007FFFFF0000007FFFF800003FFFFE000000FFFFF80000-1FFFFC000000FFFFF800001FFFFC000000FFFFF800000FFFF8000000FFFFF8000003FFE0-000000FFFFF8000000FF80000000FFFFF80000000000000000FFFFF80000000000000000-FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8-0000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8000000-0000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8000000000000-0000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FF-FFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF800-00000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF800000000-0000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF8000000FF-FFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF8000000FFFFFFFF-FFFFFFF8000000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF80000000000FFFFFC0000-000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000-000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000-FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC-0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC000000-0000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC000000000000-0000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FF-FFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00-00000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00000000-00000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00000000000000-00FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFF-FC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000-000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000-000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000-FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC-0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC000000-0000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC000000000000-0000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FF-FFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00-00000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00000000-00000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00000000000000-00FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFF-FC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000-000000000000FFFFFC0000000000003FFFFFFFFFFFFF000000003FFFFFFFFFFFFF000000-003FFFFFFFFFFFFF000000003FFFFFFFFFFFFF000000003FFFFFFFFFFFFF000000003FFF-FFFFFFFFFF000000003FFFFFFFFFFFFF000000003FFFFFFFFFFFFF000000003FFFFFFFFF-FFFF00000000>81 144 121 271 71 I<0000000000000000000000FFC000000000000F-FFFC0000000FFFF00000000001FFFFFFE000007FFFF8000000001FFFFFFFFE0001FFFFFE-000000007FFFFFFFFF8007FFFFFF00000003FFFFFFFFFFF01FFFFFFF0000000FFFFFFFFF-FFFC3FFFFFFF8000001FFFFFFFFFFFFE7FFF3FFF8000007FFFFF003FFFFFFFF03FFFC000-00FFFFF80007FFFFFF807FFFC00001FFFFE00001FFFFFC007FFFC00007FFFF8000007FFF-F8007FFFC00007FFFF0000003FFFF8007FFFC0000FFFFE0000001FFFFC007FFFC0001FFF-FC0000000FFFFE007FFFC0003FFFF800000007FFFF003FFF80007FFFF800000007FFFF80-3FFF80007FFFF800000007FFFF801FFF0000FFFFF000000003FFFFC00FFE0000FFFFF000-000003FFFFC003F80001FFFFF000000003FFFFE000000001FFFFF000000003FFFFE00000-0003FFFFE000000001FFFFF000000003FFFFE000000001FFFFF000000003FFFFE0000000-01FFFFF000000003FFFFE000000001FFFFF000000007FFFFE000000001FFFFF800000007-FFFFE000000001FFFFF800000007FFFFE000000001FFFFF800000007FFFFE000000001FF-FFF800000007FFFFE000000001FFFFF800000007FFFFE000000001FFFFF800000007FFFF-E000000001FFFFF800000007FFFFE000000001FFFFF800000007FFFFE000000001FFFFF8-00000007FFFFE000000001FFFFF800000007FFFFE000000001FFFFF800000003FFFFE000-000001FFFFF000000003FFFFE000000001FFFFF000000003FFFFE000000001FFFFF00000-0003FFFFE000000001FFFFF000000001FFFFF000000003FFFFE000000001FFFFF0000000-03FFFFE000000000FFFFF000000003FFFFC000000000FFFFF000000003FFFFC000000000-7FFFF800000007FFFF80000000007FFFF800000007FFFF80000000003FFFF800000007FF-FF00000000001FFFFC0000000FFFFE00000000000FFFFE0000001FFFFC000000000007FF-FF0000003FFFF8000000000007FFFF8000007FFFF8000000000001FFFFE00001FFFFE000-0000000000FFFFF80007FFFFC0000000000001FFFFFF003FFFFF80000000000003FFFFFF-FFFFFFFE00000000000007FFFFFFFFFFFFFC00000000000007F3FFFFFFFFFFF000000000-00000FE07FFFFFFFFF800000000000000FE01FFFFFFFFE000000000000001FC001FFFFFF-E0000000000000001FC0000FFFFC00000000000000003FC0000000000000000000000000-3FC00000000000000000000000003FC00000000000000000000000007FC0000000000000-0000000000007FC00000000000000000000000007FE00000000000000000000000007FE0-0000000000000000000000007FE00000000000000000000000007FF00000000000000000-000000007FF00000000000000000000000007FF80000000000000000000000007FFC0000-000000000000000000007FFE0000000000000000000000007FFF80000000000000000000-00007FFFF000000000000000000000007FFFFFFFFFFFFFF00000000000003FFFFFFFFFFF-FFFFE000000000003FFFFFFFFFFFFFFFFE00000000003FFFFFFFFFFFFFFFFFC000000000-1FFFFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFFFFFFFFE000000001FFFFFFFFFFFFFFF-FFFF800000000FFFFFFFFFFFFFFFFFFFE000000007FFFFFFFFFFFFFFFFFFF000000007FF-FFFFFFFFFFFFFFFFF800000003FFFFFFFFFFFFFFFFFFFE00000001FFFFFFFFFFFFFFFFFF-FF00000000FFFFFFFFFFFFFFFFFFFF000000007FFFFFFFFFFFFFFFFFFF800000007FFFFF-FFFFFFFFFFFFFFC0000003FFFFFFFFFFFFFFFFFFFFE000000FFFFFFFFFFFFFFFFFFFFFE0-00003FFFFFFFFFFFFFFFFFFFFFF00000FFFFFFFFFFFFFFFFFFFFFFF00001FFFFE0000000-003FFFFFFFF80003FFFF000000000000FFFFFFF80007FFFC0000000000000FFFFFF8000F-FFF800000000000001FFFFFC001FFFF0000000000000007FFFFC003FFFE0000000000000-003FFFFC003FFFE0000000000000001FFFFC007FFFC0000000000000000FFFFE007FFFC0-0000000000000007FFFE007FFFC00000000000000007FFFE00FFFF800000000000000007-FFFE00FFFF800000000000000003FFFE00FFFF800000000000000003FFFE00FFFF800000-000000000003FFFE00FFFF800000000000000003FFFE00FFFF800000000000000003FFFE-00FFFF800000000000000003FFFE00FFFFC00000000000000007FFFE007FFFC000000000-00000007FFFC007FFFC00000000000000007FFFC007FFFE0000000000000000FFFFC003F-FFF0000000000000001FFFF8001FFFF0000000000000001FFFF0001FFFF8000000000000-003FFFF0000FFFFC000000000000007FFFE00007FFFE00000000000000FFFFC00003FFFF-80000000000003FFFF800003FFFFC0000000000007FFFF800000FFFFF000000000001FFF-FE0000007FFFFC00000000007FFFFC0000003FFFFF8000000003FFFFF80000000FFFFFF8-0000003FFFFFE000000007FFFFFFE0000FFFFFFFC000000001FFFFFFFFFFFFFFFFFF0000-0000003FFFFFFFFFFFFFFFF800000000000FFFFFFFFFFFFFFFE0000000000001FFFFFFFF-FFFFFF000000000000001FFFFFFFFFFFF00000000000000001FFFFFFFFFF000000000000-00000001FFFFFF0000000000006A887ADD74>I[<0000001FF00000000000000000000000-7FFFFFF000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000-0000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000000000-0000FFFFFFFFF000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFF-F000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000-0000000000003FFFFFF0000000000000000000000007FFFFF00000000000000000000000-07FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000-03FFFFF0000000000000000000000003FFFFF0000003FFFC00000000000003FFFFF00000-3FFFFFE0000000000003FFFFF00000FFFFFFF8000000000003FFFFF00007FFFFFFFE0000-00000003FFFFF0001FFFFFFFFF800000000003FFFFF0003FFFFFFFFFE00000000003FFFF-F000FFFFFFFFFFF00000000003FFFFF001FFFC03FFFFF80000000003FFFFF003FFC000FF-FFFC0000000003FFFFF007FE00007FFFFE0000000003FFFFF00FF800003FFFFE00000000-03FFFFF01FE000003FFFFF0000000003FFFFF03FC000001FFFFF8000000003FFFFF07F80-00001FFFFF8000000003FFFFF0FE0000001FFFFFC000000003FFFFF1FC0000000FFFFFC0-00000003FFFFF1F80000000FFFFFC000000003FFFFF3F80000000FFFFFE000000003FFFF-F7F00000000FFFFFE000000003FFFFF7E000000007FFFFE000000003FFFFFFC000000007-FFFFE000000003FFFFFFC000000007FFFFE000000003FFFFFF8000000007FFFFF0000000-03FFFFFF8000000007FFFFF000000003FFFFFF0000000007FFFFF000000003FFFFFF0000-000007FFFFF000000003FFFFFE0000000007FFFFF000000003FFFFFE0000000007FFFFF0-00000003FFFFFE0000000007FFFFF000000003FFFFFC0000000007FFFFF000000003FFFF-FC0000000007FFFFF000000003FFFFFC0000000007FFFFF000000003FFFFFC0000000007-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000-03FFFFF80000000007FFFFF00000FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE0-01FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFF-FFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFF-FFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFF-FFFFFFFFC0>114 143 119 270 129 I[<00003FC00000000000FFF00000000003FFFC00-00000007FFFE000000000FFFFF000000001FFFFF800000003FFFFFC00000007FFFFFE000-00007FFFFFE0000000FFFFFFF0000000FFFFFFF0000001FFFFFFF8000001FFFFFFF80000-01FFFFFFF8000001FFFFFFF8000001FFFFFFF8000001FFFFFFF8000001FFFFFFF8000001-FFFFFFF8000000FFFFFFF0000000FFFFFFF00000007FFFFFE00000007FFFFFE00000003F-FFFFC00000001FFFFF800000000FFFFF0000000007FFFE0000000003FFFC0000000000FF-F000000000003FC000000000000000000000000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-00000000000000000000000000000000001FF00000007FFFFFF00000FFFFFFFFF00000FF-FFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFF-FFFFF00000FFFFFFFFF00000FFFFFFFFF00000003FFFFFF000000007FFFFF000000007FF-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FF-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000FFFFFFFFFFFF80FFFFFF-FFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFF-FFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80>49 144 119 271 65-I[<0000001FF0000000000000000000007FFFFFF0000000000000000000FFFFFFFFF000-0000000000000000FFFFFFFFF0000000000000000000FFFFFFFFF0000000000000000000-FFFFFFFFF0000000000000000000FFFFFFFFF0000000000000000000FFFFFFFFF0000000-000000000000FFFFFFFFF0000000000000000000FFFFFFFFF0000000000000000000FFFF-FFFFF0000000000000000000003FFFFFF00000000000000000000007FFFFF00000000000-000000000007FFFFF00000000000000000000003FFFFF00000000000000000000003FFFF-F00000000000000000000003FFFFF00000000000000000000003FFFFF000000000000000-00000003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF000-00000000000000000003FFFFF00000000000000000000003FFFFF0000000000000000000-0003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF0000000-0000000000000003FFFFF00000000000000000000003FFFFF00000000000000000000003-FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF00000000000-000000000003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFF-F00000000000000000000003FFFFF00000000000000000000003FFFFF000000000000000-00000003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF000-00000000000000000003FFFFF00000000000000000000003FFFFF0000000000000000000-0003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF0000000-0000000000000003FFFFF00000000000000000000003FFFFF00000000000000000000003-FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF00000000000-000000000003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFF-F00000003FFFFFFFFFC00003FFFFF00000003FFFFFFFFFC00003FFFFF00000003FFFFFFF-FFC00003FFFFF00000003FFFFFFFFFC00003FFFFF00000003FFFFFFFFFC00003FFFFF000-00003FFFFFFFFFC00003FFFFF00000003FFFFFFFFFC00003FFFFF00000003FFFFFFFFFC0-0003FFFFF00000003FFFFFFFFFC00003FFFFF000000001FFFFFE00000003FFFFF0000000-003FFFC000000003FFFFF0000000003FFF0000000003FFFFF0000000007FFE0000000003-FFFFF000000000FFFC0000000003FFFFF000000001FFF80000000003FFFFF000000003FF-E00000000003FFFFF00000000FFFC00000000003FFFFF00000001FFF800000000003FFFF-F00000003FFF000000000003FFFFF00000007FFC000000000003FFFFF0000001FFF80000-00000003FFFFF0000003FFF0000000000003FFFFF0000007FFE0000000000003FFFFF000-000FFFC0000000000003FFFFF000001FFF00000000000003FFFFF000007FFE0000000000-0003FFFFF00000FFFC00000000000003FFFFF00001FFF800000000000003FFFFF00003FF-F000000000000003FFFFF00007FFC000000000000003FFFFF0001FFF8000000000000003-FFFFF0003FFF0000000000000003FFFFF0007FFE0000000000000003FFFFF000FFF80000-000000000003FFFFF003FFFC0000000000000003FFFFF007FFFC0000000000000003FFFF-F00FFFFE0000000000000003FFFFF01FFFFF0000000000000003FFFFF03FFFFF80000000-00000003FFFFF0FFFFFFC000000000000003FFFFF1FFFFFFC000000000000003FFFFF3FF-FFFFE000000000000003FFFFF7FFFFFFF000000000000003FFFFFFFFFFFFF80000000000-0003FFFFFFFFFFFFF800000000000003FFFFFFFFFFFFFC00000000000003FFFFFFFFFFFF-FE00000000000003FFFFFFF1FFFFFF00000000000003FFFFFFE0FFFFFF00000000000003-FFFFFFC0FFFFFF80000000000003FFFFFF807FFFFFC0000000000003FFFFFF003FFFFFE0-000000000003FFFFFC001FFFFFF0000000000003FFFFF8001FFFFFF0000000000003FFFF-F0000FFFFFF8000000000003FFFFE00007FFFFFC000000000003FFFFE00003FFFFFE0000-00000003FFFFE00003FFFFFE000000000003FFFFE00001FFFFFF000000000003FFFFE000-00FFFFFF800000000003FFFFE000007FFFFFC00000000003FFFFE000003FFFFFC0000000-0003FFFFE000003FFFFFE00000000003FFFFE000001FFFFFF00000000003FFFFE000000F-FFFFF80000000003FFFFE0000007FFFFFC0000000003FFFFE0000007FFFFFC0000000003-FFFFE0000003FFFFFE0000000003FFFFE0000001FFFFFF0000000003FFFFE0000000FFFF-FF8000000003FFFFE0000000FFFFFF8000000003FFFFE00000007FFFFFC000000003FFFF-E00000003FFFFFE000000003FFFFE00000001FFFFFF000000003FFFFE00000000FFFFFF0-00000003FFFFE00000000FFFFFF800000003FFFFE000000007FFFFFC00000003FFFFE000-000003FFFFFE00000003FFFFE000000001FFFFFF00000003FFFFE000000001FFFFFF0000-0003FFFFE000000000FFFFFF80000003FFFFE000000000FFFFFFC0000003FFFFE0000000-01FFFFFFF000FFFFFFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFF-FFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFF-FFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFFFFFF-FFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFF>112-143 121 270 123 107 D[<0000001FF00000007FFFFFF00000FFFFFFFFF00000FFFFFF-FFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFF-F00000FFFFFFFFF00000FFFFFFFFF00000003FFFFFF000000007FFFFF000000007FFFFF0-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FF-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FF-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FF-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000-0003FFFFF000000003FFFFF00000FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FF-FFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFF-FFFFFFFFC0>50 143 119 270 65 I<0000003FE0000001FFFC000000000001FFFC0000-000000007FFFFFE000001FFFFFE0000000001FFFFFE000000000FFFFFFFFE00000FFFFFF-FC00000000FFFFFFFC00000000FFFFFFFFE00003FFFFFFFF00000003FFFFFFFF00000000-FFFFFFFFE0000FFFFFFFFFC000000FFFFFFFFFC0000000FFFFFFFFE0003FFFFFFFFFF000-003FFFFFFFFFF0000000FFFFFFFFE000FFFFFFFFFFF80000FFFFFFFFFFF8000000FFFFFF-FFE001FFFC03FFFFFC0001FFFC03FFFFFC000000FFFFFFFFE003FFC000FFFFFE0003FFC0-00FFFFFE000000FFFFFFFFE007FE00003FFFFF0007FE00003FFFFF000000FFFFFFFFE00F-F800001FFFFF000FF800001FFFFF000000003FFFFFE01FF000001FFFFF801FF000001FFF-FF8000000007FFFFE03FC000000FFFFFC03FC000000FFFFFC000000007FFFFE07F800000-0FFFFFC07F8000000FFFFFC000000003FFFFE0FF0000000FFFFFE0FF0000000FFFFFE000-000003FFFFE1FE00000007FFFFE1FE00000007FFFFE000000003FFFFE1FC00000007FFFF-E1FC00000007FFFFE000000003FFFFE3F800000007FFFFF3F800000007FFFFF000000003-FFFFE7F000000007FFFFF7F000000007FFFFF000000003FFFFE7E000000003FFFFF7E000-000003FFFFF000000003FFFFEFC000000003FFFFFFC000000003FFFFF000000003FFFFEF-C000000003FFFFFFC000000003FFFFF000000003FFFFFF8000000003FFFFFF8000000003-FFFFF800000003FFFFFF8000000003FFFFFF8000000003FFFFF800000003FFFFFF000000-0003FFFFFF0000000003FFFFF800000003FFFFFF0000000003FFFFFF0000000003FFFFF8-00000003FFFFFE0000000003FFFFFE0000000003FFFFF800000003FFFFFE0000000003FF-FFFE0000000003FFFFF800000003FFFFFE0000000003FFFFFE0000000003FFFFF8000000-03FFFFFC0000000003FFFFFC0000000003FFFFF800000003FFFFFC0000000003FFFFFC00-00000003FFFFF800000003FFFFFC0000000003FFFFFC0000000003FFFFF800000003FFFF-FC0000000003FFFFFC0000000003FFFFF800000003FFFFF80000000003FFFFF800000000-03FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000-000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFF-F800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003-FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF80000-0003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF8-0000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FF-FFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF8000000-0003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF800-00000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FF-FFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF800000000-03FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800-000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFF-F80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003-FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000-000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF8-0000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003-FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF8000000-0003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF8-00000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FF-FFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF8000000-03FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF800-00000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFF-F80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF800000000-03FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000-000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFF-F800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003-FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF80000-0003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF8-0000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FF-FFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF8000000-0003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF800-00000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FF-FFF80000FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FF-FFFFFFFFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFF-E0FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFF-FFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0FFFF-FFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFFFFFFE0-00FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0B35D77DCC2->I<0000003FE0000003FFFC0000000000007FFFFFE000003FFFFFE000000000FFFFFFFF-E00000FFFFFFF800000000FFFFFFFFE00007FFFFFFFE00000000FFFFFFFFE0001FFFFFFF-FF80000000FFFFFFFFE0003FFFFFFFFFE0000000FFFFFFFFE000FFFFFFFFFFF0000000FF-FFFFFFE001FFFC03FFFFF8000000FFFFFFFFE003FFC000FFFFFC000000FFFFFFFFE007FE-00007FFFFE000000FFFFFFFFE00FF800003FFFFE000000003FFFFFE01FE000003FFFFF00-00000007FFFFE03FC000001FFFFF8000000007FFFFE07F8000001FFFFF8000000003FFFF-E0FE0000001FFFFFC000000003FFFFE1FC0000000FFFFFC000000003FFFFE1F80000000F-FFFFC000000003FFFFE3F80000000FFFFFE000000003FFFFE7F00000000FFFFFE0000000-03FFFFE7E000000007FFFFE000000003FFFFEFC000000007FFFFE000000003FFFFEFC000-000007FFFFE000000003FFFFFF8000000007FFFFF000000003FFFFFF8000000007FFFFF0-00000003FFFFFF0000000007FFFFF000000003FFFFFF0000000007FFFFF000000003FFFF-FE0000000007FFFFF000000003FFFFFE0000000007FFFFF000000003FFFFFE0000000007-FFFFF000000003FFFFFC0000000007FFFFF000000003FFFFFC0000000007FFFFF0000000-03FFFFFC0000000007FFFFF000000003FFFFFC0000000007FFFFF000000003FFFFF80000-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0-0000FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFF-FFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFF-FFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FF-FFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0725D77DC81>I<-00000000001FFFF000000000000000000007FFFFFFC000000000000000007FFFFFFFFC00-00000000000003FFFFFFFFFF800000000000000FFFFFFFFFFFE00000000000007FFFFFFF-FFFFFC000000000001FFFFFFFFFFFFFF000000000003FFFFFC007FFFFF80000000000FFF-FFC00007FFFFE0000000001FFFFE000000FFFFF0000000007FFFF80000003FFFFC000000-00FFFFF00000001FFFFE00000001FFFFC000000007FFFF00000003FFFF8000000003FFFF-80000007FFFF0000000001FFFFC000000FFFFE0000000000FFFFE000001FFFFC00000000-007FFFF000003FFFFC00000000007FFFF800007FFFF800000000003FFFFC00007FFFF800-000000003FFFFC0000FFFFF000000000001FFFFE0001FFFFF000000000001FFFFF0001FF-FFE000000000000FFFFF0003FFFFE000000000000FFFFF8003FFFFE000000000000FFFFF-8007FFFFE000000000000FFFFFC007FFFFC0000000000007FFFFC00FFFFFC00000000000-07FFFFE00FFFFFC0000000000007FFFFE01FFFFFC0000000000007FFFFF01FFFFFC00000-00000007FFFFF01FFFFFC0000000000007FFFFF03FFFFF80000000000003FFFFF83FFFFF-80000000000003FFFFF83FFFFF80000000000003FFFFF83FFFFF80000000000003FFFFF8-7FFFFF80000000000003FFFFFC7FFFFF80000000000003FFFFFC7FFFFF80000000000003-FFFFFC7FFFFF80000000000003FFFFFC7FFFFF80000000000003FFFFFCFFFFFF80000000-000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80-000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFF-FFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FF-FFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF8000000000-0003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF8000-0000000003FFFFFE7FFFFF80000000000003FFFFFC7FFFFF80000000000003FFFFFC7FFF-FF80000000000003FFFFFC7FFFFF80000000000003FFFFFC7FFFFF80000000000003FFFF-FC3FFFFFC0000000000007FFFFF83FFFFFC0000000000007FFFFF83FFFFFC00000000000-07FFFFF81FFFFFC0000000000007FFFFF01FFFFFC0000000000007FFFFF01FFFFFC00000-00000007FFFFF00FFFFFC0000000000007FFFFE00FFFFFE000000000000FFFFFE007FFFF-E000000000000FFFFFC007FFFFE000000000000FFFFFC003FFFFF000000000001FFFFF80-03FFFFF000000000001FFFFF8001FFFFF000000000001FFFFF0001FFFFF800000000003F-FFFF0000FFFFF800000000003FFFFE00007FFFFC00000000007FFFFC00007FFFFE000000-0000FFFFFC00003FFFFE0000000000FFFFF800001FFFFF0000000001FFFFF000000FFFFF-8000000003FFFFE0000007FFFFC000000007FFFFC0000003FFFFF00000001FFFFF800000-01FFFFF80000003FFFFF000000007FFFFE000000FFFFFC000000003FFFFFC00007FFFFF8-000000001FFFFFFC007FFFFFF00000000007FFFFFFFFFFFFFFC00000000001FFFFFFFFFF-FFFF0000000000007FFFFFFFFFFFFC0000000000001FFFFFFFFFFFF000000000000003FF-FFFFFFFF80000000000000007FFFFFFFFC000000000000000007FFFFFFC0000000000000-0000001FFFF00000000000675F7ADD74>I<0000001FF000001FFFC00000000000007FFF-FFF00003FFFFFF0000000000FFFFFFFFF0001FFFFFFFE000000000FFFFFFFFF000FFFFFF-FFFC00000000FFFFFFFFF003FFFFFFFFFF00000000FFFFFFFFF00FFFFFFFFFFFC0000000-FFFFFFFFF03FFFFFFFFFFFF0000000FFFFFFFFF0FFFFFFFFFFFFFC000000FFFFFFFFF1FF-FFC01FFFFFFE000000FFFFFFFFF7FFFC0001FFFFFF000000FFFFFFFFFFFFE000007FFFFF-C00000003FFFFFFFFF0000003FFFFFE000000007FFFFFFFE0000000FFFFFF000000007FF-FFFFF800000007FFFFF800000003FFFFFFE000000003FFFFFC00000003FFFFFFC0000000-01FFFFFE00000003FFFFFF8000000000FFFFFE00000003FFFFFF00000000007FFFFF0000-0003FFFFFE00000000007FFFFF80000003FFFFFC00000000003FFFFFC0000003FFFFF800-000000003FFFFFC0000003FFFFF800000000001FFFFFE0000003FFFFF800000000001FFF-FFE0000003FFFFF800000000000FFFFFF0000003FFFFF800000000000FFFFFF0000003FF-FFF8000000000007FFFFF8000003FFFFF8000000000007FFFFF8000003FFFFF800000000-0007FFFFFC000003FFFFF8000000000003FFFFFC000003FFFFF8000000000003FFFFFC00-0003FFFFF8000000000003FFFFFE000003FFFFF8000000000003FFFFFE000003FFFFF800-0000000001FFFFFE000003FFFFF8000000000001FFFFFE000003FFFFF8000000000001FF-FFFF000003FFFFF8000000000001FFFFFF000003FFFFF8000000000001FFFFFF000003FF-FFF8000000000001FFFFFF000003FFFFF8000000000000FFFFFF000003FFFFF800000000-0000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF80-0003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF800-0000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FF-FFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FF-FFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF800000000-0000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF80-0003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF000003FFFFF800-0000000001FFFFFF000003FFFFF8000000000001FFFFFF000003FFFFF8000000000001FF-FFFF000003FFFFF8000000000001FFFFFF000003FFFFF8000000000001FFFFFE000003FF-FFF8000000000001FFFFFE000003FFFFF8000000000003FFFFFE000003FFFFF800000000-0003FFFFFC000003FFFFF8000000000003FFFFFC000003FFFFF8000000000003FFFFFC00-0003FFFFF8000000000007FFFFF8000003FFFFF8000000000007FFFFF8000003FFFFF800-0000000007FFFFF0000003FFFFF800000000000FFFFFF0000003FFFFF800000000000FFF-FFE0000003FFFFF800000000001FFFFFE0000003FFFFF800000000001FFFFFC0000003FF-FFF800000000003FFFFFC0000003FFFFFC00000000003FFFFF80000003FFFFFE00000000-007FFFFF00000003FFFFFF0000000000FFFFFE00000003FFFFFF0000000000FFFFFE0000-0003FFFFFF8000000001FFFFFC00000003FFFFFFC000000003FFFFF800000003FFFFFFE0-00000007FFFFF000000003FFFFFFF80000000FFFFFE000000003FFFFFFFC0000003FFFFF-C000000003FFFFFFFF0000007FFFFF0000000003FFFFFFFFC00001FFFFFE0000000003FF-FFFBFFF00007FFFFFC0000000003FFFFF8FFFF007FFFFFF00000000003FFFFF87FFFFFFF-FFFFC00000000003FFFFF81FFFFFFFFFFF000000000003FFFFF80FFFFFFFFFFC00000000-0003FFFFF803FFFFFFFFF0000000000003FFFFF8007FFFFFFF80000000000003FFFFF800-0FFFFFF800000000000003FFFFF80000FFFE0000000000000003FFFFF800000000000000-0000000003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FF-FFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800000000-0000000000000003FFFFF8000000000000000000000003FFFFF800000000000000000000-0003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800-0000000000000000000003FFFFF8000000000000000000000003FFFFF800000000000000-0000000003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FF-FFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800000000-0000000000000003FFFFF8000000000000000000000003FFFFF800000000000000000000-0003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800-0000000000000000000003FFFFF8000000000000000000000003FFFFF800000000000000-0000000003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FF-FFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800000000-000000000000FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFE00000000000000000-FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFF-E00000000000000000FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFE00000000000-000000FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFE00000000000000000718579-DC81>I<00000000007FFF000000001FE00000000000000FFFFFF00000003FE000000000-0000FFFFFFFE0000007FE0000000000007FFFFFFFF8000007FE000000000001FFFFFFFFF-E00000FFE00000000000FFFFFFFFFFF80001FFE00000000003FFFFFFFFFFFC0001FFE000-00000007FFFFFFFFFFFE0003FFE0000000001FFFFFFF007FFF8007FFE0000000003FFFFF-F0000FFFC007FFE000000000FFFFFFC00003FFE00FFFE000000001FFFFFF000000FFF01F-FFE000000003FFFFFC0000003FF81FFFE000000007FFFFF80000001FF83FFFE00000000F-FFFFF00000000FFC7FFFE00000001FFFFFE000000007FE7FFFE00000003FFFFFC0000000-03FFFFFFE00000007FFFFF8000000001FFFFFFE00000007FFFFF0000000001FFFFFFE000-0000FFFFFF0000000000FFFFFFE0000001FFFFFE00000000007FFFFFE0000001FFFFFE00-000000007FFFFFE0000003FFFFFC00000000003FFFFFE0000003FFFFFC00000000003FFF-FFE0000007FFFFF800000000001FFFFFE0000007FFFFF800000000001FFFFFE000000FFF-FFF000000000000FFFFFE000000FFFFFF000000000000FFFFFE000001FFFFFF000000000-000FFFFFE000001FFFFFE0000000000007FFFFE000001FFFFFE0000000000007FFFFE000-003FFFFFE0000000000007FFFFE000003FFFFFE0000000000007FFFFE000003FFFFFC000-0000000007FFFFE000007FFFFFC0000000000007FFFFE000007FFFFFC0000000000007FF-FFE000007FFFFFC0000000000007FFFFE000007FFFFFC0000000000007FFFFE000007FFF-FFC0000000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF8000000000-0007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FFFFE000-00FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF8000-0000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FF-FFE00000FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFF-FF80000000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF8000000000-0007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FFFFE000-007FFFFF80000000000007FFFFE000007FFFFFC0000000000007FFFFE000007FFFFFC000-0000000007FFFFE000007FFFFFC0000000000007FFFFE000007FFFFFC0000000000007FF-FFE000003FFFFFC0000000000007FFFFE000003FFFFFC0000000000007FFFFE000003FFF-FFC0000000000007FFFFE000003FFFFFE0000000000007FFFFE000001FFFFFE000000000-0007FFFFE000001FFFFFE0000000000007FFFFE000000FFFFFF0000000000007FFFFE000-000FFFFFF0000000000007FFFFE000000FFFFFF0000000000007FFFFE0000007FFFFF000-000000000FFFFFE0000007FFFFF800000000000FFFFFE0000003FFFFF800000000001FFF-FFE0000003FFFFFC00000000001FFFFFE0000001FFFFFC00000000003FFFFFE0000000FF-FFFE00000000007FFFFFE0000000FFFFFE0000000000FFFFFFE00000007FFFFF00000000-00FFFFFFE00000003FFFFF8000000001FFFFFFE00000001FFFFF8000000003FFFFFFE000-00000FFFFFC000000007FFFFFFE000000007FFFFE00000001FFFFFFFE000000003FFFFF0-0000003FFFFFFFE000000001FFFFF80000007FFFFFFFE000000000FFFFFE000001FFEFFF-FFE0000000007FFFFF000007FFCFFFFFE0000000003FFFFFC0001FFF8FFFFFE000000000-0FFFFFFC01FFFE0FFFFFE00000000003FFFFFFFFFFFC0FFFFFE00000000000FFFFFFFFFF-F00FFFFFE000000000003FFFFFFFFFC00FFFFFE000000000000FFFFFFFFF000FFFFFE000-0000000001FFFFFFFC000FFFFFE00000000000003FFFFFE0000FFFFFE000000000000000-FFFE00000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFF-FFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000-000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000-000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000-000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000-000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFF-FFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000-000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000-000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000-000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000-000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFF-FFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000-000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000000003-FFFFFFFFFFFF800000000000000003FFFFFFFFFFFF800000000000000003FFFFFFFFFFFF-800000000000000003FFFFFFFFFFFF800000000000000003FFFFFFFFFFFF800000000000-000003FFFFFFFFFFFF800000000000000003FFFFFFFFFFFF800000000000000003FFFFFF-FFFFFF800000000000000003FFFFFFFFFFFF80718578DC7B>I<0000007FC00001FF8000-0000FFFFFFC0001FFFF80000FFFFFFFFC0007FFFFE0000FFFFFFFFC001FFFFFF8000FFFF-FFFFC003FFFFFFE000FFFFFFFFC007FFFFFFF000FFFFFFFFC00FFFFFFFF800FFFFFFFFC0-1FFF07FFFC00FFFFFFFFC03FF00FFFFE00FFFFFFFFC07FC01FFFFE00FFFFFFFFC0FF803F-FFFF00003FFFFFC0FF003FFFFF000007FFFFC1FE007FFFFF800007FFFFC3FC007FFFFF80-0003FFFFC3F8007FFFFF800003FFFFC7F0007FFFFF800003FFFFC7E0007FFFFF800003FF-FFCFE0007FFFFF800003FFFFCFC0007FFFFF800003FFFFDFC0007FFFFF800003FFFFDF80-003FFFFF000003FFFFDF80003FFFFF000003FFFFFF00001FFFFE000003FFFFFF00001FFF-FE000003FFFFFF00000FFFFC000003FFFFFE000007FFF8000003FFFFFE000003FFF00000-03FFFFFE000000FFC0000003FFFFFC0000000000000003FFFFFC0000000000000003FFFF-FC0000000000000003FFFFFC0000000000000003FFFFF80000000000000003FFFFF80000-000000000003FFFFF80000000000000003FFFFF80000000000000003FFFFF80000000000-000003FFFFF80000000000000003FFFFF00000000000000003FFFFF00000000000000003-FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0-0000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0000000-0000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0000000000000-0003FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FF-FFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF000-00000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF000000000-00000003FFFFF00000000000000003FFFFF00000000000000003FFFFF000000000000000-03FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFF-F00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF00000-000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000-000003FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003-FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0-0000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0000000-0000000003FFFFF0000000000000FFFFFFFFFFFFFC00000000FFFFFFFFFFFFFC00000000-FFFFFFFFFFFFFC00000000FFFFFFFFFFFFFC00000000FFFFFFFFFFFFFC00000000FFFFFF-FFFFFFFC00000000FFFFFFFFFFFFFC00000000FFFFFFFFFFFFFC00000000FFFFFFFFFFFF-FC00000000515D79DC5F>I<0000001FFFF80000F800000003FFFFFFC001FC0000003FFF-FFFFFC07FC000000FFFFFFFFFF1FFC000003FFFFFFFFFFFFFC00000FFFFFFFFFFFFFFC00-003FFFF8001FFFFFFC00007FFF000000FFFFFC0000FFF80000003FFFFC0001FFE0000000-0FFFFC0003FFC000000003FFFC0007FF8000000001FFFC000FFF0000000000FFFC000FFF-00000000007FFC001FFE00000000003FFC001FFE00000000001FFC003FFC00000000001F-FC003FFC00000000001FFC007FFC00000000000FFC007FFC00000000000FFC007FFC0000-0000000FFC007FFC000000000007FC00FFFE000000000007FC00FFFE000000000007FC00-FFFF000000000007FC00FFFF000000000007FC00FFFF800000000007FC00FFFFE0000000-0003F800FFFFF000000000000000FFFFFC00000000000000FFFFFF00000000000000FFFF-FFF00000000000007FFFFFFF8000000000007FFFFFFFFC00000000007FFFFFFFFFF00000-00003FFFFFFFFFFF800000003FFFFFFFFFFFF00000001FFFFFFFFFFFFE0000001FFFFFFF-FFFFFF8000000FFFFFFFFFFFFFE000000FFFFFFFFFFFFFF0000007FFFFFFFFFFFFFC0000-03FFFFFFFFFFFFFE000001FFFFFFFFFFFFFF800000FFFFFFFFFFFFFFC000007FFFFFFFFF-FFFFE000001FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF8000003FFFFFFFFFFFFF8000000-FFFFFFFFFFFFFC0000003FFFFFFFFFFFFE0000000FFFFFFFFFFFFE00000001FFFFFFFFFF-FF000000001FFFFFFFFFFF00000000007FFFFFFFFF800000000003FFFFFFFF8000000000-000FFFFFFFC0000000000000FFFFFFC00000000000003FFFFFC00000000000000FFFFFE0-7F000000000003FFFFE0FF800000000001FFFFE0FF8000000000007FFFE0FF8000000000-003FFFE0FFC000000000003FFFE0FFC000000000001FFFE0FFC000000000000FFFE0FFE0-00000000000FFFE0FFE000000000000FFFE0FFE0000000000007FFE0FFF0000000000007-FFE0FFF0000000000007FFC0FFF8000000000007FFC0FFF8000000000007FFC0FFFC0000-00000007FFC0FFFC000000000007FF80FFFE00000000000FFF80FFFF00000000000FFF80-FFFF00000000000FFF00FFFF80000000001FFF00FFFFC0000000001FFE00FFFFE0000000-003FFE00FFFFF0000000007FFC00FFFFFC00000000FFF800FFFFFE00000003FFF000FFFF-FF80000007FFE000FFFFFFF000003FFFC000FFFFFFFF0007FFFF8000FFF9FFFFFFFFFFFF-0000FFF07FFFFFFFFFFC0000FFE01FFFFFFFFFF00000FF8007FFFFFFFFC00000FF0001FF-FFFFFF000000FE00003FFFFFF80000007C000003FFFE000000004B5F78DD5C>I[<000000-03FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000000-03FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000000-07FE0000000000000007FE0000000000000007FE0000000000000007FE00000000000000-07FE000000000000000FFE000000000000000FFE000000000000000FFE00000000000000-0FFE000000000000001FFE000000000000001FFE000000000000001FFE00000000000000-3FFE000000000000003FFE000000000000007FFE000000000000007FFE00000000000000-FFFE00000000000000FFFE00000000000001FFFE00000000000001FFFE00000000000003-FFFE00000000000007FFFE00000000000007FFFE0000000000000FFFFE0000000000001F-FFFE0000000000003FFFFE0000000000007FFFFE000000000000FFFFFE000000000003FF-FFFE000000000007FFFFFE00000000001FFFFFFE00000000007FFFFFFFFFFFFFF007FFFF-FFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFF-FFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF00000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF-FFFE000000000000FFFFFE000000000000FFFFFE000001FF0000FFFFFE000001FF0000FF-FFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FF-FFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FF-FFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FF-FFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FFFFFE000003FF00007F-FFFE000003FE00007FFFFF000003FE00007FFFFF000003FE00007FFFFF000007FE00003F-FFFF000007FC00003FFFFF800007FC00001FFFFF80000FF800001FFFFFC0001FF800000F-FFFFE0003FF000000FFFFFF0007FF0000007FFFFF800FFE0000003FFFFFF03FFC0000001-FFFFFFFFFF80000000FFFFFFFFFF000000003FFFFFFFFE000000001FFFFFFFFC00000000-07FFFFFFF80000000000FFFFFFE000000000001FFFFF80000000000000FFFC0000>72-132 124 258 90 I<0000000FF80000000000001FF00000007FFFFFF800000000FFFFFF-F00000FFFFFFFFF8000001FFFFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000FFFFFF-FFF8000001FFFFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000FFFFFFFFF8000001FF-FFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000-FFFFFFFFF8000001FFFFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000003FFFFFF800-0000007FFFFFF000000007FFFFF8000000000FFFFFF000000007FFFFF8000000000FFFFF-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000-07FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF00000-0003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800-00000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFF-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000-07FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF00000-0003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800-00000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFF-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000-07FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF00000-0003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800-00000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFF-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000-07FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF00000-0003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800-00000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFF-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000-0FFFFFF000000003FFFFF8000000000FFFFFF000000003FFFFF8000000000FFFFFF00000-0003FFFFF8000000000FFFFFF000000003FFFFF8000000001FFFFFF000000003FFFFF800-0000001FFFFFF000000003FFFFF8000000003FFFFFF000000003FFFFF8000000003FFFFF-F000000001FFFFF8000000003FFFFFF000000001FFFFF8000000007FFFFFF000000001FF-FFF800000000FFFFFFF000000001FFFFF800000000FFFFFFF000000000FFFFF800000001-FBFFFFF000000000FFFFFC00000003FBFFFFF0000000007FFFFC00000007F3FFFFF00000-00007FFFFC0000000FE3FFFFF8000000003FFFFE0000001FE3FFFFF8000000003FFFFE00-00007FC3FFFFFF000000001FFFFF800000FF83FFFFFFFFC000000FFFFFC00003FF03FFFF-FFFFC0000007FFFFFC003FFE03FFFFFFFFC0000003FFFFFFFFFFFC03FFFFFFFFC0000000-FFFFFFFFFFF803FFFFFFFFC00000007FFFFFFFFFE003FFFFFFFFC00000001FFFFFFFFF80-03FFFFFFFFC000000003FFFFFFFE0003FFFFFFFFC0000000007FFFFFF80003FFFFFFFFC0-0000000001FFFFC00003FFFF000000725E77DC81>I<FFFFFFFFFFFF00000003FFFFFFFF-FFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF0000-0003FFFFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFF-FFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF00000003-FFFFFFFF0007FFFFF800000000000FFFFE000003FFFFFC000000000000FFE0000003FFFF-FC000000000000FFC0000001FFFFFE000000000000FF80000001FFFFFE000000000001FF-80000001FFFFFF000000000001FF80000000FFFFFF000000000003FF00000000FFFFFF80-0000000003FF000000007FFFFF800000000007FE000000007FFFFF800000000007FE0000-00003FFFFFC0000000000FFC000000003FFFFFC0000000000FFC000000001FFFFFE00000-00001FF8000000001FFFFFE0000000001FF8000000000FFFFFF0000000001FF000000000-0FFFFFF0000000003FF0000000000FFFFFF8000000003FF00000000007FFFFF800000000-7FE00000000007FFFFFC000000007FE00000000003FFFFFC00000000FFC00000000003FF-FFFC00000000FFC00000000001FFFFFE00000001FF800000000001FFFFFE00000001FF80-0000000000FFFFFF00000003FF000000000000FFFFFF00000003FF0000000000007FFFFF-80000003FE0000000000007FFFFF80000007FE0000000000007FFFFFC0000007FE000000-0000003FFFFFC000000FFC0000000000003FFFFFE000000FFC0000000000001FFFFFE000-001FF80000000000001FFFFFE000001FF80000000000000FFFFFF000003FF00000000000-000FFFFFF000003FF000000000000007FFFFF800007FE000000000000007FFFFF800007F-E000000000000003FFFFFC00007FC000000000000003FFFFFC0000FFC000000000000003-FFFFFE0000FFC000000000000001FFFFFE0001FF8000000000000001FFFFFF0001FF8000-000000000000FFFFFF0003FF0000000000000000FFFFFF0003FF00000000000000007FFF-FF8007FE00000000000000007FFFFF8007FE00000000000000003FFFFFC007FC00000000-000000003FFFFFC00FFC00000000000000001FFFFFE00FF800000000000000001FFFFFE0-1FF800000000000000001FFFFFF01FF800000000000000000FFFFFF03FF0000000000000-00000FFFFFF83FF0000000000000000007FFFFF87FE0000000000000000007FFFFF87FE0-000000000000000003FFFFFCFFC0000000000000000003FFFFFCFFC00000000000000000-01FFFFFEFF80000000000000000001FFFFFFFF80000000000000000000FFFFFFFF000000-00000000000000FFFFFFFF00000000000000000000FFFFFFFF000000000000000000007F-FFFFFE000000000000000000007FFFFFFE000000000000000000003FFFFFFC0000000000-00000000003FFFFFFC000000000000000000001FFFFFF8000000000000000000001FFFFF-F8000000000000000000000FFFFFF0000000000000000000000FFFFFF000000000000000-0000000FFFFFF00000000000000000000007FFFFE00000000000000000000007FFFFE000-00000000000000000003FFFFC00000000000000000000003FFFFC0000000000000000000-0001FFFF800000000000000000000001FFFF800000000000000000000000FFFF00000000-0000000000000000FFFF0000000000000000000000007FFE000000000000000000000000-7FFE0000000000000000000000007FFE0000000000000000000000003FFC000000000000-0000000000001FF80000000000000000000000000FF0000000000000705D7BDB7B>I<FF-FFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFF-FFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF8-00003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFF-FFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFF-FE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF800-0FFFFFF000000007FFFFC0000000003FFFF800000FFFFFF000000007FFFFC00000000003-FF80000007FFFFF800000003FFFFC00000000001FF00000007FFFFF800000003FFFFE000-00000003FF00000003FFFFF800000003FFFFE00000000003FE00000003FFFFFC00000001-FFFFF00000000007FE00000003FFFFFC00000001FFFFF00000000007FE00000001FFFFFE-00000000FFFFF00000000007FC00000001FFFFFE00000000FFFFF8000000000FFC000000-00FFFFFE00000000FFFFF8000000000FF800000000FFFFFF000000007FFFFC000000001F-F800000000FFFFFF000000007FFFFC000000001FF8000000007FFFFF800000003FFFFC00-0000001FF0000000007FFFFF800000007FFFFE000000003FF0000000003FFFFF80000000-7FFFFE000000003FE0000000003FFFFFC0000000FFFFFF000000007FE0000000003FFFFF-C0000000FFFFFF000000007FE0000000001FFFFFC0000000FFFFFF000000007FC0000000-001FFFFFE0000001FFFFFF80000000FFC0000000000FFFFFE0000001FFFFFF80000000FF-80000000000FFFFFF0000003FFFFFF80000001FF80000000000FFFFFF0000003FFFFFFC0-000001FF800000000007FFFFF0000003FFFFFFC0000001FF000000000007FFFFF8000007-FFFFFFE0000003FF000000000003FFFFF8000007FFFFFFE0000003FE000000000003FFFF-FC00000FFDFFFFE0000007FE000000000003FFFFFC00000FFDFFFFF0000007FE00000000-0001FFFFFC00000FF8FFFFF0000007FC000000000001FFFFFE00001FF8FFFFF800000FFC-000000000000FFFFFE00001FF8FFFFF800000FF8000000000000FFFFFF00003FF07FFFF8-00001FF8000000000000FFFFFF00003FF07FFFFC00001FF80000000000007FFFFF00003F-E03FFFFC00001FF00000000000007FFFFF80007FE03FFFFE00003FF00000000000003FFF-FF80007FE03FFFFE00003FE00000000000003FFFFFC000FFC01FFFFE00007FE000000000-00003FFFFFC000FFC01FFFFF00007FE00000000000001FFFFFC000FF800FFFFF00007FC0-0000000000001FFFFFE001FF800FFFFF8000FFC00000000000001FFFFFE001FF800FFFFF-8000FFC00000000000000FFFFFF001FF0007FFFF8001FF800000000000000FFFFFF003FF-0007FFFFC001FF8000000000000007FFFFF003FE0003FFFFC001FF0000000000000007FF-FFF807FE0003FFFFE003FF0000000000000007FFFFF807FE0003FFFFE003FF0000000000-000003FFFFFC07FC0001FFFFE007FE0000000000000003FFFFFC0FFC0001FFFFF007FE00-00000000000001FFFFFC0FF80000FFFFF007FC0000000000000001FFFFFE1FF80000FFFF-F80FFC0000000000000001FFFFFE1FF80000FFFFF80FFC0000000000000000FFFFFF1FF0-00007FFFF81FF80000000000000000FFFFFF3FF000007FFFFC1FF800000000000000007F-FFFF3FE000003FFFFC1FF000000000000000007FFFFFFFE000003FFFFE3FF00000000000-0000007FFFFFFFE000003FFFFE3FF000000000000000003FFFFFFFC000001FFFFE7FE000-000000000000003FFFFFFFC000001FFFFF7FE000000000000000001FFFFFFF8000000FFF-FF7FC000000000000000001FFFFFFF8000000FFFFFFFC000000000000000001FFFFFFF80-00000FFFFFFFC000000000000000000FFFFFFF00000007FFFFFF8000000000000000000F-FFFFFF00000007FFFFFF80000000000000000007FFFFFE00000003FFFFFF000000000000-00000007FFFFFE00000003FFFFFF00000000000000000007FFFFFE00000003FFFFFF0000-0000000000000003FFFFFC00000001FFFFFE00000000000000000003FFFFFC00000001FF-FFFE00000000000000000001FFFFF800000000FFFFFC00000000000000000001FFFFF800-000000FFFFFC00000000000000000001FFFFF800000000FFFFFC00000000000000000000-FFFFF0000000007FFFF800000000000000000000FFFFF0000000007FFFF8000000000000-000000007FFFE0000000003FFFF0000000000000000000007FFFE0000000003FFFF00000-00000000000000007FFFE0000000003FFFF0000000000000000000003FFFC0000000001F-FFE0000000000000000000003FFFC0000000001FFFE0000000000000000000001FFF8000-0000000FFFC0000000000000000000001FFF80000000000FFFC000000000000000000000-1FFF80000000000FFFC0000000000000000000000FFF000000000007FF80000000000000-000000000FFF000000000007FF800000000000000000000007FE000000000003FF000000-000000000000000003FC000000000001FE0000000000009D5D7BDBA8>I<7FFFFFFFFFFF-800001FFFFFFFFFE007FFFFFFFFFFF800001FFFFFFFFFE007FFFFFFFFFFF800001FFFFFF-FFFE007FFFFFFFFFFF800001FFFFFFFFFE007FFFFFFFFFFF800001FFFFFFFFFE007FFFFF-FFFFFF800001FFFFFFFFFE007FFFFFFFFFFF800001FFFFFFFFFE007FFFFFFFFFFF800001-FFFFFFFFFE007FFFFFFFFFFF800001FFFFFFFFFE000000FFFFFF000000000FFFFFC00000-00007FFFFF8000000001FFF000000000007FFFFFC000000001FFE000000000003FFFFFE0-00000003FFC000000000001FFFFFF000000007FF8000000000000FFFFFF00000000FFF00-000000000007FFFFF80000000FFE00000000000007FFFFFC0000001FFE00000000000003-FFFFFE0000003FFC00000000000001FFFFFF0000007FF800000000000000FFFFFF000000-FFF0000000000000007FFFFF800001FFE0000000000000007FFFFFC00003FFC000000000-0000003FFFFFE00007FF80000000000000001FFFFFF00007FF80000000000000000FFFFF-F8000FFF000000000000000007FFFFF8001FFE000000000000000007FFFFFC003FFC0000-00000000000003FFFFFE007FF8000000000000000001FFFFFF00FFF00000000000000000-00FFFFFF81FFE00000000000000000007FFFFF81FFC00000000000000000003FFFFFC3FF-C00000000000000000003FFFFFE7FF800000000000000000001FFFFFFFFF000000000000-000000000FFFFFFFFE0000000000000000000007FFFFFFFC0000000000000000000003FF-FFFFF80000000000000000000003FFFFFFF00000000000000000000001FFFFFFF0000000-0000000000000000FFFFFFE000000000000000000000007FFFFFC0000000000000000000-00003FFFFFC000000000000000000000003FFFFFE000000000000000000000001FFFFFF0-00000000000000000000000FFFFFF8000000000000000000000007FFFFFC000000000000-000000000003FFFFFC000000000000000000000001FFFFFE000000000000000000000001-FFFFFF000000000000000000000003FFFFFF800000000000000000000007FFFFFFC00000-00000000000000000FFFFFFFC0000000000000000000001FFFFFFFE00000000000000000-00001FFFFFFFF0000000000000000000003FFFFFFFF8000000000000000000007FFFFFFF-FC00000000000000000000FFF3FFFFFE00000000000000000001FFE1FFFFFE0000000000-0000000003FFC1FFFFFF00000000000000000007FF80FFFFFF80000000000000000007FF-007FFFFFC000000000000000000FFF003FFFFFE000000000000000001FFE001FFFFFE000-000000000000003FFC001FFFFFF000000000000000007FF8000FFFFFF800000000000000-00FFF00007FFFFFC0000000000000001FFE00003FFFFFE0000000000000003FFC00001FF-FFFE0000000000000003FFC00000FFFFFF0000000000000007FF800000FFFFFF80000000-0000000FFF0000007FFFFFC00000000000001FFE0000003FFFFFE00000000000003FFC00-00001FFFFFE00000000000007FF80000000FFFFFF0000000000000FFF00000000FFFFFF8-000000000000FFE000000007FFFFFC000000000001FFE000000003FFFFFE000000000003-FFC000000001FFFFFF000000000007FF8000000000FFFFFF00000000000FFF0000000000-FFFFFF80000000001FFE00000000007FFFFFC0000000003FFE00000000003FFFFFE00000-000FFFFFE0000000001FFFFFF00000FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFFFFFF00-00001FFFFFFFFFFFE0FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFFFFFF0000001FFFFFFF-FFFFE0FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFF-FFFF0000001FFFFFFFFFFFE0FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFFFFFF0000001F-FFFFFFFFFFE0735C7CDB7B>I<7FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFFFFC000-0001FFFFFFFF807FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFFFFC0000001FFFFFFFF-807FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFF-FFC0000001FFFFFFFF807FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFFFFC0000001FF-FFFFFF800003FFFFFE000000000007FFFF00000001FFFFFE000000000000FFF000000001-FFFFFE0000000000007FE000000000FFFFFF000000000000FFC000000000FFFFFF000000-000000FFC0000000007FFFFF800000000000FF80000000007FFFFF800000000001FF8000-0000007FFFFFC00000000001FF80000000003FFFFFC00000000003FF00000000003FFFFF-E00000000003FF00000000001FFFFFE00000000007FE00000000001FFFFFF00000000007-FE00000000000FFFFFF0000000000FFC00000000000FFFFFF0000000000FFC0000000000-07FFFFF8000000001FF8000000000007FFFFF8000000001FF8000000000003FFFFFC0000-00001FF0000000000003FFFFFC000000003FF0000000000001FFFFFE000000003FE00000-00000001FFFFFE000000007FE0000000000001FFFFFF000000007FE0000000000000FFFF-FF00000000FFC0000000000000FFFFFF80000000FFC00000000000007FFFFF80000001FF-800000000000007FFFFFC0000001FF800000000000003FFFFFC0000003FF000000000000-003FFFFFC0000003FF000000000000001FFFFFE0000007FE000000000000001FFFFFE000-0007FE000000000000000FFFFFF0000007FC000000000000000FFFFFF000000FFC000000-000000000FFFFFF800000FFC0000000000000007FFFFF800001FF80000000000000007FF-FFFC00001FF80000000000000003FFFFFC00003FF00000000000000003FFFFFE00003FF0-0000000000000001FFFFFE00007FE00000000000000001FFFFFE00007FE0000000000000-0000FFFFFF0000FFC00000000000000000FFFFFF0000FFC000000000000000007FFFFF80-00FF8000000000000000007FFFFF8001FF8000000000000000003FFFFFC001FF00000000-00000000003FFFFFC003FF0000000000000000003FFFFFE003FF0000000000000000001F-FFFFE007FE0000000000000000001FFFFFF007FE0000000000000000000FFFFFF00FFC00-00000000000000000FFFFFF00FFC00000000000000000007FFFFF81FF800000000000000-000007FFFFF81FF800000000000000000003FFFFFC3FF000000000000000000003FFFFFC-3FF000000000000000000001FFFFFE3FE000000000000000000001FFFFFE7FE000000000-000000000001FFFFFF7FE000000000000000000000FFFFFFFFC000000000000000000000-FFFFFFFFC0000000000000000000007FFFFFFF80000000000000000000007FFFFFFF8000-0000000000000000003FFFFFFF00000000000000000000003FFFFFFF0000000000000000-0000001FFFFFFE00000000000000000000001FFFFFFE00000000000000000000000FFFFF-FC00000000000000000000000FFFFFFC00000000000000000000000FFFFFFC0000000000-00000000000007FFFFF8000000000000000000000007FFFFF80000000000000000000000-03FFFFF0000000000000000000000003FFFFF0000000000000000000000001FFFFE00000-00000000000000000001FFFFE0000000000000000000000000FFFFC00000000000000000-00000000FFFFC00000000000000000000000007FFF800000000000000000000000007FFF-800000000000000000000000003FFF000000000000000000000000003FFF000000000000-000000000000003FFF000000000000000000000000001FFE000000000000000000000000-001FFE000000000000000000000000000FFC000000000000000000000000000FFC000000-000000000000000000001FF8000000000000000000000000001FF8000000000000000000-000000003FF0000000000000000000000000003FF0000000000000000000000000003FE0-000000000000000000000000007FE0000000000000000000000000007FE0000000000000-00000000000000FFC000000000000000000000000000FFC0000000000000000000000000-01FF800000000000000000FE00000001FF800000000000000003FF80000003FF00000000-000000000FFFE0000003FF00000000000000001FFFF0000007FE00000000000000003FFF-F8000007FE00000000000000007FFFFC00000FFC00000000000000007FFFFC00000FFC00-000000000000007FFFFC00000FF80000000000000000FFFFFE00001FF800000000000000-00FFFFFE00003FF00000000000000000FFFFFE00003FF00000000000000000FFFFFE0000-7FE00000000000000000FFFFFE0000FFE00000000000000000FFFFFE0000FFC000000000-00000000FFFFFE0001FF800000000000000000FFFFFC0003FF0000000000000000007FFF-FC0007FF0000000000000000007FFFFC000FFE0000000000000000003FFFF8003FFC0000-000000000000003FFFF0007FF80000000000000000001FFFE001FFF00000000000000000-001FFE8007FFE00000000000000000000FFFC03FFFC000000000000000000007FFFFFFFF-0000000000000000000003FFFFFFFE0000000000000000000001FFFFFFF8000000000000-00000000007FFFFFF000000000000000000000001FFFFFC0000000000000000000000007-FFFE000000000000000000000000007FE0000000000000000000000071857CDB7B>I<03-FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFFC03FFFFFFFFFFFFFFFFFFFC03FFFFFF-FFFFFFFFFFFFFC03FFFFFFFFFFFFFFFFFFFC03FFFFFFFFFFFFFFFFFFFC03FFFFFFFFFFFF-FFFFFFF803FFFFFF8000003FFFFFF803FFFFF00000007FFFFFF007FFFF800000007FFFFF-E007FFFE00000000FFFFFFC007FFFC00000001FFFFFFC007FFF000000003FFFFFF8007FF-E000000003FFFFFF0007FFE000000007FFFFFE0007FFC00000000FFFFFFE0007FF800000-001FFFFFFC0007FF800000001FFFFFF80007FF000000003FFFFFF00007FF000000007FFF-FFF00007FE00000000FFFFFFE00007FE00000000FFFFFFC00007FE00000001FFFFFF8000-07FC00000003FFFFFF800007FC00000003FFFFFF000007FC00000007FFFFFE000007FC00-00000FFFFFFC00000FFC0000001FFFFFFC00000FFC0000001FFFFFF800000FF80000003F-FFFFF000000FF80000007FFFFFE000000FF8000000FFFFFFE000000FF8000000FFFFFFC0-00000FF8000001FFFFFF8000000FF8000003FFFFFF0000000FF8000007FFFFFF00000000-00000007FFFFFE000000000000000FFFFFFC000000000000001FFFFFFC00000000000000-3FFFFFF8000000000000003FFFFFF0000000000000007FFFFFE000000000000000FFFFFF-E000000000000001FFFFFFC000000000000001FFFFFF8000000000000003FFFFFF000000-0000000007FFFFFF000000000000000FFFFFFE000000000000000FFFFFFC000000000000-001FFFFFF8000000000000003FFFFFF8000000000000007FFFFFF0000007FC0000007FFF-FFE0000007FC000000FFFFFFC0000007FC000001FFFFFFC0000007FC000001FFFFFF8000-0007FC000003FFFFFF0000000FF8000007FFFFFE0000000FF800000FFFFFFE0000000FF8-00000FFFFFFC0000000FF800001FFFFFF80000000FF800003FFFFFF00000000FF800007F-FFFFF00000001FF800007FFFFFE00000001FF80000FFFFFFC00000001FF80001FFFFFF80-0000001FF80003FFFFFF800000001FF00003FFFFFF000000003FF00007FFFFFE00000000-3FF0000FFFFFFE000000003FF0001FFFFFFC000000007FF0001FFFFFF8000000007FF000-3FFFFFF000000000FFF0007FFFFFF000000001FFF000FFFFFFE000000001FFF000FFFFFF-C000000003FFF001FFFFFF8000000007FFF003FFFFFF800000000FFFE007FFFFFF000000-001FFFE007FFFFFE000000003FFFE00FFFFFFC00000000FFFFE01FFFFFFC00000003FFFF-E03FFFFFF80000001FFFFFE03FFFFFF0000003FFFFFFE07FFFFFFFFFFFFFFFFFFFE0FFFF-FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFF-FFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFC07FFFFFFFFFFFFFFF-FFFFC0565C7ADB67>I E /Ft 13 116 df<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC0-3F801F000B0B6C8A33>46 D<000007F8000000003FFF00000000FFFF80000003FFFFE000-000FFFFFF000001FFFFFF800003FFC0FF800007FE003FC0000FF8001FC0001FF0000FE00-03FC00007E0003F8007E7F0007F801FFBF0007F007FFFF000FE00FFFFF800FC01FFFFF80-1FC03FFFFF801F803FC3FF803F807F81FF803F007F00FFC03F00FE007FC07F00FC003FC0-7E01FC003FC07E01F8001FC07E01F8001FC0FE01F8001FC0FC03F8001FC0FC03F0000FC0-FC03F0000FC0FC03F0000FC0FC03F0000FC0FC03F0000FC0FC03F0000FC0FC03F0000FC0-FC03F0000FC0FC03F0000FC0FC03F8001FC0FE01F8001F807E01F8001F807E01F8001F80-7E01FC003F807F00FC003F003F00FE007F003F007F00FE003F807F81FE001F803FC3FC00-1FC03FFFFC000FC01FFFF8000FE00FFFF00007F007FFE00007F801FF800003F8007E0000-03FC00000F8001FF00001FC000FF80003FC0007FE000FFC0003FFC07FF80001FFFFFFF00-000FFFFFFE000003FFFFF8000000FFFFF00000003FFF8000000007FC00002A3F7CBD33>-64 D<001FFC00000000FFFF80000003FFFFE0000007FFFFF000000FFFFFFC00001FFFFF-FE00001FF007FF00001FE001FF00001FE000FF80001FE0003F80000FC0003FC000078000-1FC0000000001FE0000000000FE0000000000FE0000000000FE0000000000FE000000000-0FE00000000FFFE0000001FFFFE000001FFFFFE000007FFFFFE00001FFFFFFE00007FFFF-0FE0000FFFC00FE0001FFC000FE0003FF0000FE0007FC0000FE0007F80000FE000FF0000-0FE000FE00000FE000FE00000FE000FE00000FE000FE00000FE000FE00000FE000FF0000-1FE0007F00001FE0007F80007FE0003FE000FFF0003FF807FFFFF01FFFFFFFFFF80FFFFF-FFFFF807FFFFF3FFF803FFFFC1FFF800FFFF003FF0001FF00000002D2E7BAC33>97-D<0000FFF0000007FFFE00001FFFFF80003FFFFFC0007FFFFFE001FFFFFFF003FFC01FF0-03FE000FF007FC000FF00FF8000FF01FF00007E01FE00003C03FC00000003F800000003F-800000007F800000007F000000007F00000000FF00000000FE00000000FE00000000FE00-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FF0000-00007F000000007F000000007F800000003F800001F03FC00003F81FE00003F81FF00007-F80FF80007F007FC000FF007FF001FE003FFE07FE001FFFFFFC000FFFFFF80003FFFFF00-001FFFFC000007FFF8000000FFC000252E79AC33>99 D<0000FF80000007FFF000001FFF-FC00003FFFFE0000FFFFFF0001FFFFFF8003FF80FFC007FE003FE007F8000FF00FF00007-F01FE00007F81FC00003F83FC00003FC3F800001FC7F800001FC7F000001FC7F000001FE-7F000000FEFF000000FEFE000000FEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFF-FFFFFFFEFFFFFFFFFCFE00000000FF000000007F000000007F000000007F000000003F80-0000003F8000007C1FC00000FE1FE00000FE0FF00000FE0FF80001FE07FC0003FC03FF00-0FFC01FFC03FF800FFFFFFF0007FFFFFE0003FFFFFC0000FFFFF000003FFFC0000007FE0-00272E7BAC33>101 D<3FFC000000007FFE00000000FFFE00000000FFFE000000007FFE-000000003FFE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE-0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE-0000000000FE01FF000000FE07FFC00000FE1FFFF00000FE7FFFF80000FEFFFFF80000FF-FFFFFC0000FFFF07FE0000FFF801FE0000FFF000FE0000FFE000FF0000FFC0007F0000FF-80007F0000FF80007F0000FF00007F0000FF00007F0000FF00007F0000FE00007F0000FE-00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE-00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE-00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE-00007F0000FE00007F0000FE00007F003FFFF80FFFFC7FFFFC1FFFFEFFFFFE3FFFFFFFFF-FE3FFFFF7FFFFC1FFFFE3FFFF80FFFFC303D7FBC33>104 D<7FF800000000FFFC000000-00FFFC00000000FFFC00000000FFFC000000007FFC0000000000FC0000000000FC000000-0000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC000000-0000FC0000000000FC0000000000FC0000000000FC0000000000FC01FFFFC000FC03FFFF-E000FC07FFFFF000FC07FFFFF000FC03FFFFE000FC01FFFFC000FC000FF00000FC001FE0-0000FC003FC00000FC007F800000FC00FF000000FC01FE000000FC03FC000000FC07F800-0000FC0FF0000000FC1FE0000000FC3FC0000000FC7F80000000FCFFC0000000FDFFE000-0000FFFFE0000000FFFFF0000000FFF3F8000000FFE3FC000000FFC1FC000000FF80FE00-0000FF007F000000FE007F000000FC003F800000FC001FC00000FC001FE00000FC000FE0-0000FC0007F00000FC0003F80000FC0003FC0000FC0001FC0000FC0000FE007FFFF80FFF-F0FFFFFC1FFFF8FFFFFC1FFFFCFFFFFC1FFFFCFFFFFC1FFFF87FFFF80FFFF02E3D7EBC33->107 D<3FFFFC00007FFFFE0000FFFFFE0000FFFFFE00007FFFFE00003FFFFE00000000-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE-00000000FE00000000FE00000000FE00000000FE00000000FE00003FFFFFFFF87FFFFFFF-FCFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC3FFFFFFFF8273D7ABC33>I<0000FC007E00007F-C3FF01FF8000FFEFFF87FFC000FFFFFFCFFFE000FFFFFFDFFFE000FFFFFFFFFFF0007FFF-0FFF87F00007FE07FF03F00007FC07FE03F80007F803FC01F80007F803FC01F80007F003-F801F80007F003F801F80007F003F801F80007F003F801F80007E003F001F80007E003F0-01F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001-F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F8-0007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F800-07E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007-E003F001F8007FFE0FFF07FF80FFFF1FFF8FFFC0FFFF1FFF8FFFC0FFFF1FFF8FFFC0FFFF-1FFF8FFFC07FFE0FFF07FF80322C80AB33>I<000001FF00003FFC07FFC0007FFE1FFFF0-00FFFE7FFFF800FFFEFFFFF8007FFFFFFFFC003FFFFF07FE0000FFF801FE0000FFF000FE-0000FFE000FF0000FFC0007F0000FF80007F0000FF80007F0000FF00007F0000FF00007F-0000FF00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F003FFFF80FFF-FC7FFFFC1FFFFEFFFFFE3FFFFFFFFFFE3FFFFF7FFFFC1FFFFE3FFFF80FFFFC302C7FAB33->I<0001FE0000000FFFC000003FFFF000007FFFF80000FFFFFC0001FFFFFE0003FF03FF-0007FC00FF800FF8007FC00FF0003FC01FE0001FE01FC0000FE03F800007F03F800007F0-7F800007F87F000003F87F000003F87F000003F8FE000001FCFE000001FCFE000001FCFE-000001FCFE000001FCFE000001FCFE000001FCFE000001FCFE000001FCFE000001FCFF00-0003FC7F000003F87F000003F87F800007F83F800007F03FC0000FF03FC0000FF01FE000-1FE01FF0003FE00FF8007FC007FC00FF8003FF03FF0001FFFFFE0000FFFFFC00007FFFF8-00003FFFF000000FFFC0000001FE0000262E7AAC33>I<00000003FE007FFF801FFF80FF-FFC07FFFE0FFFFC1FFFFE0FFFFC3FFFFF0FFFFC7FFFFF07FFFCFFE0FF0001FDFF00FF000-1FFFC007E0001FFF8003C0001FFF000000001FFE000000001FFC000000001FF800000000-1FF8000000001FF0000000001FF0000000001FE0000000001FE0000000001FE000000000-1FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000000-1FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000000-1FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00000007F-FFFFFE0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF00007FFFFFFE00002C-2C7DAB33>114 D<001FFE0F0000FFFF8F8003FFFFFF800FFFFFFF801FFFFFFF803FFFFF-FF803FF007FF807F8001FF807F0000FF80FE00007F80FC00007F80FC00003F80FC00003F-80FC00003F80FE00003F807F00001F007FC00000003FF80000003FFFC000001FFFFF0000-0FFFFFE00003FFFFF80000FFFFFC00001FFFFF000000FFFF80000007FFC00000007FC000-00001FE07C00000FE0FE000007F0FE000003F0FE000003F0FF000003F0FF000003F0FF80-0003F0FF800007F0FFC00007E0FFE0000FE0FFF0003FC0FFFE01FFC0FFFFFFFF80FFFFFF-FF00FDFFFFFE00FCFFFFF800F83FFFE0007807FF0000242E79AC33>I-E /Fu 22 122 df<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E600060006000600060-00E000C000C000C001C0018003800300070006000E001C003800700060000B1D78891B>-44 D<0000FF00000007FFE000001F81F800003E007C0000FC003F0001F8001F8001F000-0F8003E00007C007C00003E007C00003E00FC00003F00F800001F01F800001F81F800001-F83F800001FC3F800001FC3F800001FC3F000000FC7F000000FE7F000000FE7F000000FE-7F000000FE7F000000FEFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF-000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF00-0000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF0000-00FFFF000000FFFF000000FF7F000000FE7F000000FE7F000000FE7F000000FE7F000000-FE7F800001FE3F800001FC3F800001FC3F800001FC1F800001F81F800001F80FC00003F0-0FC00003F00FC00003F007E00007E003E00007C003F0000FC001F8001F8000FC003F0000-3E007C00001F81F8000007FFE0000000FF000028447CC131>48 D<000030000000F00000-01F0000003F000001FF00000FFF000FFFFF000FFE7F000FF07F0000007F0000007F00000-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000-07F0000007F0000007F0000007F0000007F000000FF800001FFC007FFFFFFF7FFFFFFF7F-FFFFFF204278C131>I<0003FE0000001FFFC000007FFFF00001F80FFC0003C001FE0007-8000FF000E00007F801C00003FC01C00001FE03800001FF03000000FF07000000FF86000-0007F86C000007F8FF000007FCFF800007FCFFC00007FCFFC00003FCFFC00003FCFFC000-03FCFFC00003FC7F800007FC3F000007FC00000007FC00000007F800000007F80000000F-F80000000FF00000001FF00000001FE00000001FE00000003FC00000007F800000007F00-000000FF00000000FE00000001FC00000003F800000007F000000007E00000000FC00000-001F800000003F000000007C00000000F800000000F000000001E000000003C000000007-800000000F00000C001E00000C003C00000C0038000018007000001800E000001801C000-0018038000003807000000300E000000701FFFFFFFF01FFFFFFFF03FFFFFFFF07FFFFFFF-F0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE026427BC131>I<06000000C007C00007C007FC00-7F8007FFFFFF0007FFFFFE0007FFFFFC0007FFFFF80007FFFFE00007FFFF8000063FFC00-000600000000060000000006000000000600000000060000000006000000000600000000-060000000006000000000600000000060000000006000000000600000000060000000006-00FF00000607FFC000061F01F000063800FC0006F0007E0007C0003F000780001F800780-001FC00700000FC00600000FE000000007F000000007F000000007F000000007F8000000-03F800000003F800000003FC00000003FC00000003FC00000003FC00000003FC3E000003-FC7F000003FCFF800003FCFF800003FCFF800003FCFF800003FCFF800003F8FF000007F8-FE000007F860000007F060000007F07000000FF03000000FE03800001FC01C00001FC01E-00003F800F00007F00078000FE0003C001FC0001F807F000007FFFE000001FFF00000007-F8000026447BC131>53 D<00000000C00000000000000001E00000000000000001E00000-000000000001E00000000000000003F00000000000000003F00000000000000003F00000-000000000007F80000000000000007F80000000000000007F8000000000000000FFC0000-00000000000FFC000000000000000FFC0000000000000019FE0000000000000019FE0000-000000000019FE0000000000000030FF0000000000000030FF0000000000000070FF8000-0000000000607F80000000000000607F80000000000000E07FC0000000000000C03FC000-0000000000C03FC0000000000001C03FE0000000000001801FE0000000000001801FE000-0000000003001FF0000000000003000FF0000000000003000FF0000000000006000FF800-00000000060007F80000000000060007F800000000000C0003FC00000000000C0003FC00-000000000C0003FC0000000000180001FE0000000000180001FE0000000000180001FE00-00000000300000FF0000000000300000FF0000000000700000FF80000000006000007F80-000000006000007F8000000000E000007FC000000000FFFFFFFFC000000000FFFFFFFFC0-00000001FFFFFFFFE0000000018000001FE0000000018000001FE0000000030000001FF0-000000030000000FF0000000030000000FF0000000060000000FF80000000600000007F8-0000000600000007F80000000C00000003FC0000000C00000003FC0000000C00000003FC-0000001800000001FE0000001800000001FE0000001800000001FE0000003000000000FF-0000003000000000FF0000007800000000FF800000F800000000FF800001FC00000000FF-C0000FFF00000003FFE000FFFFE000007FFFFFC0FFFFE000007FFFFFC0FFFFE000007FFF-FFC042477DC649>65 D<0000000FFE000060000000FFFFC000E0000003FFFFF000E00000-0FFC01FC01E000003FC0003E01E00000FF00000F83E00003FC000003C7E00007F8000001-E7E0000FF0000000FFE0001FE00000007FE0003FC00000003FE0007F800000001FE000FF-000000000FE001FE000000000FE001FC0000000007E003FC0000000007E007F800000000-03E007F80000000003E00FF00000000001E00FF00000000001E01FE00000000000E01FE0-0000000000E03FE00000000000E03FE00000000000E03FC00000000000607FC000000000-00607FC00000000000607FC00000000000607FC0000000000000FF80000000000000FF80-000000000000FF80000000000000FF80000000000000FF80000000000000FF8000000000-0000FF80000000000000FF80000000000000FF80000000000000FF80000000000000FF80-000000000000FF80000000000000FF80000000000000FF800000000000007FC000000000-00007FC00000000000007FC00000000000607FC00000000000603FC00000000000603FE0-0000000000603FE00000000000601FE00000000000E01FF00000000000E00FF000000000-00C00FF00000000000C007F80000000001C007F800000000018003FC00000000038001FC-00000000038001FE00000000070000FF000000000600007F800000000E00003FC0000000-1C00001FE00000003800000FF000000078000007F8000000F0000003FC000001E0000000-FF000007800000003FC0001F000000000FFC00FC0000000003FFFFF00000000000FFFFC0-00000000000FFE0000003B487BC546>67 D<FFFFFFC00001FFFFC0FFFFFFC00001FFFFC0-FFFFFFC00001FFFFC001FFE00000007FFC0000FFC00000003FE000007F800000003F8000-007F800000003E0000007F800000003C0000007F80000000380000007F80000000700000-007F80000000E00000007F80000001C00000007F80000003800000007F80000007000000-007F8000001E000000007F80000038000000007F80000070000000007F800000E0000000-007F800001C0000000007F80000380000000007F80000700000000007F80000E00000000-007F80001C00000000007F80003800000000007F80007000000000007F8000E000000000-007F8001C000000000007F8003E000000000007F8007F000000000007F800FF000000000-007F801FF800000000007F803FFC00000000007F8077FC00000000007F80E3FE00000000-007F81C1FF00000000007F8381FF00000000007F8700FF80000000007F8E007FC0000000-007F9C007FC0000000007FB8003FE0000000007FF0001FF0000000007FC0001FF0000000-007F80000FF8000000007F800007FC000000007F800007FC000000007F800003FE000000-007F800001FF000000007F800001FF000000007F800000FF800000007F8000007FC00000-007F8000007FC00000007F8000003FE00000007F8000001FF00000007F8000001FF00000-007F8000000FF80000007F80000007FC0000007F80000007FC0000007F80000003FE0000-007F80000001FF0000007F80000001FF0000007F80000000FF8000007F80000000FFC000-007F80000000FFE00000FFC0000000FFF00001FFE0000001FFFC00FFFFFFC0001FFFFFE0-FFFFFFC0001FFFFFE0FFFFFFC0001FFFFFE043447CC34C>75 D<FFFF800000000007FFFC-FFFFC0000000000FFFFCFFFFC0000000000FFFFC01FFC0000000000FFE00006FE0000000-001BF800006FE0000000001BF800006FE0000000001BF8000067F00000000033F8000067-F00000000033F8000063F80000000063F8000063F80000000063F8000063F80000000063-F8000061FC00000000C3F8000061FC00000000C3F8000061FC00000000C3F8000060FE00-00000183F8000060FE0000000183F80000607F0000000303F80000607F0000000303F800-00607F0000000303F80000603F8000000603F80000603F8000000603F80000603F800000-0603F80000601FC000000C03F80000601FC000000C03F80000600FE000001803F8000060-0FE000001803F80000600FE000001803F800006007F000003003F800006007F000003003-F800006007F000003003F800006003F800006003F800006003F800006003F800006001FC-0000C003F800006001FC0000C003F800006001FC0000C003F800006000FE00018003F800-006000FE00018003F800006000FE00018003F8000060007F00030003F8000060007F0003-0003F8000060003F80060003F8000060003F80060003F8000060003F80060003F8000060-001FC00C0003F8000060001FC00C0003F8000060001FC00C0003F8000060000FE0180003-F8000060000FE0180003F80000600007F0300003F80000600007F0300003F80000600007-F0300003F80000600003F8600003F80000600003F8600003F80000600003F8600003F800-00600001FCC00003F80000600001FCC00003F80000600000FF800003F80000600000FF80-0003F80000600000FF800003F800006000007F000003F80000F000007F000003F80000F0-00007F000003F80001F800003E000003F8000FFF00003E00000FFE00FFFFF0001C0007FF-FFFCFFFFF0001C0007FFFFFCFFFFF0001C0007FFFFFC4E447BC359>77-D<0001FF000300000FFFE00700003FFFF8070000FE00FE0F0001F8001F0F0007E000079F-0007C00003DF000F800001FF001F000000FF003F0000007F003E0000003F007E0000003F-007E0000001F007C0000001F00FC0000000F00FC0000000F00FC0000000700FC00000007-00FC0000000700FE0000000700FE0000000300FE0000000300FF0000000300FF00000003-007F80000000007FC0000000007FE0000000003FF8000000003FFE000000001FFFE00000-000FFFFE00000007FFFFE0000003FFFFFC000001FFFFFF000000FFFFFFC000003FFFFFF0-00000FFFFFF8000001FFFFFC0000001FFFFE00000001FFFE000000001FFF0000000003FF-8000000001FF8000000000FFC0000000007FC0000000003FC0000000001FC0000000001F-E0C00000000FE0C00000000FE0C00000000FE0C000000007E0C000000007E0C000000007-E0E000000007E0E000000007E0E000000007E0F000000007C0F00000000FC0F80000000F-C0F80000000F80FC0000001F80FE0000001F00FF0000003F00FF8000007E00FBC00000FC-00F9F00001F800F07C0003F000F03FC00FE000E00FFFFF8000E001FFFE0000C0003FF000-002B487BC536>83 D<0007FC000000003FFF80000000F80FE0000003C003F00000070001-F800000E0000FC00000FC0007E00001FE0007F00001FF0003F80001FF0003F80001FF000-3F80001FF0001FC0001FF0001FC0000FE0001FC0000380001FC0000000001FC000000000-1FC0000000001FC0000000001FC00000000FFFC0000001FFFFC000000FFE1FC000003FC0-1FC00000FF001FC00003FC001FC00007F8001FC0000FF0001FC0001FE0001FC0003FC000-1FC0007FC0001FC0007F80001FC0007F80001FC060FF00001FC060FF00001FC060FF0000-1FC060FF00003FC060FF00003FC060FF00003FC060FF80007FC0607F8000EFC0607FC000-C7E0C03FC001C7E0C01FE00783F1C007F81E03FF8001FFFC01FF00001FE0007C002B2E7C-AC31>97 D<0001FE00000007FFC000001F03F000007E00FC0000FC007E0001F8003F0003-F0003F0007E0001F800FE0001FC00FC0000FC01FC0000FC03F80000FE03F800007E03F80-0007E07F800007F07F000007F07F000007F0FF000007F0FF000007F0FF000007F0FFFFFF-FFF0FFFFFFFFF0FF00000000FF00000000FF00000000FF00000000FF00000000FF000000-007F000000007F000000007F800000007F800000003F800000003F800000301FC0000030-1FC00000700FC00000600FE00000E007F00000C003F00001C001F800038000FC00070000-3E001E00001F80F8000003FFE0000000FF0000242E7DAC2B>101-D<000000000F800001FC007FE0000FFF81F0F0003F07E381F000FC01FF03F001F800FE01-F003F0007E01E007F0007F000007E0003F00000FE0003F80000FC0001F80001FC0001FC0-001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0-001FC0001FC0001FC0001FC0000FC0001F80000FE0003F800007E0003F000007F0007F00-0003F0007E000001F800FC000001FC01F8000003BF07E00000030FFF8000000701FC0000-000700000000000700000000000F00000000000F00000000000F00000000000F80000000-0007C00000000007E00000000007FFFFF8000003FFFFFF000003FFFFFFE00001FFFFFFF8-00007FFFFFFC0001FFFFFFFE0007C0000FFF000F800000FF003F0000003F803E0000001F-807C0000000FC07C0000000FC0F800000007C0F800000007C0F800000007C0F800000007-C0F800000007C0FC0000000FC07C0000000F807E0000001F803E0000001F001F0000003E-000F8000007C0007E00001F80001F80007E000007F003F8000001FFFFE00000001FFE000-002C427DAC31>103 D<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC-0000000003FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC-0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC-0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC-0000000001FC0000000001FC0000000001FC01FE000001FC07FFC00001FC1E07F00001FC-3801F80001FC7001FC0001FCE000FC0001FDC000FE0001FD8000FE0001FF80007F0001FF-00007F0001FF00007F0001FE00007F0001FE00007F0001FE00007F0001FC00007F0001FC-00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC-00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC-00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC-00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC-00007F0003FE0000FF80FFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE2F457DC436>I<01-FC00FFFC00FFFC00FFFC0007FC0003FC0001FC0001FC0001FC0001FC0001FC0001FC0001-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001-FC0001FC0001FC0001FC0001FC0003FE00FFFFF8FFFFF8FFFFF815457DC41C>108-D<01FC01FE0000FFFC07FFC000FFFC1E07F000FFFC3801F80007FC7001FC0003FCE000FC-0001FDC000FE0001FD8000FE0001FF80007F0001FF00007F0001FF00007F0001FE00007F-0001FE00007F0001FE00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0003FE0000FF80FFFFF83FFF-FEFFFFF83FFFFEFFFFF83FFFFE2F2C7DAB36>110 D<00007F8000000003FFF00000000F-C0FC0000003E001F0000007C000F800000F80007C00001F00003E00003E00001F00007C0-0000F8000FC00000FC000FC00000FC001F8000007E003F8000007F003F8000007F003F00-00003F007F0000003F807F0000003F807F0000003F807F0000003F80FF0000003FC0FF00-00003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF00-00003FC0FF0000003FC0FF0000003FC07F0000003F807F0000003F807F8000007F803F80-00007F003F8000007F001F8000007E001FC00000FE000FC00000FC000FE00001FC0007E0-0001F80003F00003F00001F80007E00000FC000FC000003E001F0000001FC0FE00000007-FFF8000000007F8000002A2E7DAC31>I<03F803F0FFF81FFCFFF83C3EFFF8707F07F8E0-FF03F9C0FF01F980FF01FB80FF01FB007E01FB003C01FF000001FE000001FE000001FE00-0001FE000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00-0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00-0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000003FF00-00FFFFFE00FFFFFE00FFFFFE00202C7DAB26>114 D<003FE01801FFFC3807E01F780F00-03F81E0001F83C0000F87C00007878000078F8000038F8000038F8000018F8000018FC00-0018FC000018FE000018FF8000007FC000007FFC00003FFFE0001FFFFC000FFFFF0007FF-FFC003FFFFE000FFFFF0001FFFF80000FFF800000FFC000003FCC00001FEC00000FEC000-007EE000007EE000003EE000003EF000003EF000003EF000003EF800003CFC00007CFC00-0078FE0000F8FF0001F0F38003E0F1F00F80E07FFE00C00FF0001F2E7DAC26>I<000600-0000060000000600000006000000060000000E0000000E0000000E0000000E0000001E00-00001E0000001E0000003E0000007E0000007E000000FE000001FE000007FE00001FFFFF-F0FFFFFFF0FFFFFFF000FE000000FE000000FE000000FE000000FE000000FE000000FE00-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000C00FE000C00FE00-0C00FE000C00FE000C00FE000C00FE000C00FE000C00FE000C00FE000C007E001C007F00-18007F0018003F0038001F8030001FC0700007E0E00001FFC000007F001E3E7EBC26>I<-01FC00007F00FFFC003FFF00FFFC003FFF00FFFC003FFF0007FC0001FF0003FC0000FF00-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00-01FC00007F0001FC00007F0001FC0000FF0001FC0000FF0001FC0000FF0001FC0001FF00-01FC0001FF0000FC0001FF0000FE0003FF00007E00077F80007F000E7FC0003F001C7FFE-000FC0787FFE0003FFF07FFE00007F807F002F2D7DAB36>I<FFFFF001FFFCFFFFF001FF-FCFFFFF001FFFC07FF00007FE003FE00001F8001FE00001F0001FE00000E0000FE00000C-0000FF00001C00007F00001800007F00001800007F80003800003F80003000003F800030-00001FC0006000001FC0006000001FE000E000000FE000C000000FE000C0000007F00180-000007F00180000007F80380000003F80300000003F80300000001FC0600000001FC0600-000001FE0E00000000FE0C00000000FE0C000000007F18000000007F18000000007FB800-0000003FB0000000003FB0000000001FE0000000001FE0000000001FE0000000000FC000-0000000FC000000000078000000000078000000000078000000000030000000000030000-0000000600000000000600000000000600000000000C00000000000C0000000000180000-000000180000003C00180000007E0030000000FF0030000000FF0060000000FF00600000-00FF00C0000000FE01C00000007C03800000007007000000003C1E000000000FFC000000-0003F0000000002E3F7EAA33>121 D E /Fv 26 122 df<000000003FF0000000000000-03FFFE0000000000001FFFFF8000000000007FC01FC00000000001FE0003E00000000007-F80000F0000000000FF0000078000000001FE000003C000000003FC00001FC000000007F-800007FE00000000FF000007FE00000001FE00000FFE00000003FE00000FFE00000003FC-00000FFE00000007FC00000FFE00000007F800000FFE00000007F8000007FC0000000FF8-000003F80000000FF0000000E00000000FF0000000000000000FF0000000000000000FF0-000000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF0-000000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF0-000000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF0-000000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF0-000000000000000FF0000003FE0000FFFFFFFFFFFFFE0000FFFFFFFFFFFFFE0000FFFFFF-FFFFFFFE0000FFFFFFFFFFFFFE0000000FF000000FFE0000000FF0000003FE0000000FF0-000003FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0-000001FE0000000FF0000001FE0000001FF8000003FF0000003FFC000007FF80003FFFFF-FC07FFFFFF803FFFFFFC07FFFFFF803FFFFFFC07FFFFFF803FFFFFFC07FFFFFF8041657E-E448>12 D<0F003FC07FE0FFF0FFF0FFF0FFF0FFF0FFF07FE03FC00F0000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-0000000000000000000000000000000000000000000000000000000000000000000F003F-C07FE0FFF0FFF0FFF0FFF0FFF0FFF07FE03FC00F000C3E74BD24>58-D<00000000000F00000000000000000000000F00000000000000000000000F0000000000-0000000000001F80000000000000000000001F80000000000000000000003FC000000000-0000000000003FC0000000000000000000003FC0000000000000000000007FE000000000-0000000000007FE0000000000000000000007FE000000000000000000000FFF000000000-000000000000FFF000000000000000000000FFF000000000000000000001FFF800000000-000000000001DFF800000000000000000001DFF8000000000000000000039FFC00000000-0000000000038FFC000000000000000000038FFC000000000000000000070FFE00000000-00000000000707FE0000000000000000000F07FF0000000000000000000E03FF00000000-00000000000E03FF0000000000000000001E03FF8000000000000000001C01FF80000000-00000000001C01FF8000000000000000003C01FFC000000000000000003800FFC0000000-00000000003800FFC000000000000000007000FFE0000000000000000070007FE0000000-000000000070007FE00000000000000000E0007FF00000000000000000E0003FF0000000-0000000000E0003FF00000000000000001C0003FF80000000000000001C0001FF8000000-0000000003C0001FFC000000000000000380000FFC000000000000000380000FFC000000-000000000780000FFE0000000000000007000007FE0000000000000007000007FE000000-000000000F000007FF000000000000000E000003FF000000000000000E000003FF000000-000000001C000003FF800000000000001C000001FF800000000000001C000001FF800000-0000000038000001FFC000000000000038000000FFC000000000000038000000FFC00000-0000000070000000FFE0000000000000700000007FE0000000000000F00000007FF00000-00000000E00000003FF0000000000000E00000003FF0000000000001E00000003FF80000-00000001C00000001FF8000000000001C00000001FF8000000000003C00000001FFC0000-00000003FFFFFFFFFFFC000000000003FFFFFFFFFFFC000000000007FFFFFFFFFFFE0000-00000007FFFFFFFFFFFE0000000000070000000007FE00000000000E0000000007FF0000-0000000E0000000003FF00000000000E0000000003FF00000000001C0000000003FF8000-0000001C0000000001FF80000000003C0000000001FFC000000000380000000000FFC000-000000380000000000FFC000000000780000000000FFE0000000007000000000007FE000-0000007000000000007FE000000000F000000000007FF000000000E000000000003FF000-000000E000000000003FF000000001C000000000003FF800000001C000000000001FF800-000001C000000000001FF8000000038000000000001FFC000000038000000000000FFC00-0000038000000000000FFC000000070000000000000FFE0000000700000000000007FE00-00000F00000000000007FF0000000F00000000000003FF0000001F00000000000003FF00-00003F80000000000003FF8000007FC0000000000003FF800001FFE0000000000007FFC0-000FFFF800000000001FFFF000FFFFFF0000000007FFFFFFF0FFFFFF0000000007FFFFFF-F0FFFFFF0000000007FFFFFFF0FFFFFF0000000007FFFFFFF05C657DE463>65-D<FFFFFFFFFFFFF000000000FFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFE0000000FFFF-FFFFFFFFFFF800000000FFFC0000007FFE000000003FF80000000FFF800000001FF80000-0001FFC00000001FF8000000007FF00000001FF8000000001FF80000001FF8000000000F-FC0000001FF80000000003FE0000001FF80000000001FF0000001FF80000000000FF8000-001FF800000000007FC000001FF800000000003FE000001FF800000000001FF000001FF8-00000000000FF000001FF800000000000FF800001FF8000000000007FC00001FF8000000-000003FC00001FF8000000000003FE00001FF8000000000001FF00001FF8000000000001-FF00001FF8000000000000FF80001FF8000000000000FF80001FF80000000000007FC000-1FF80000000000007FC0001FF80000000000007FE0001FF80000000000003FE0001FF800-00000000003FE0001FF80000000000003FF0001FF80000000000003FF0001FF800000000-00001FF0001FF80000000000001FF8001FF80000000000001FF8001FF80000000000001F-F8001FF80000000000001FFC001FF80000000000001FFC001FF80000000000000FFC001F-F80000000000000FFC001FF80000000000000FFC001FF80000000000000FFC001FF80000-000000000FFE001FF80000000000000FFE001FF80000000000000FFE001FF80000000000-000FFE001FF80000000000000FFE001FF80000000000000FFE001FF80000000000000FFE-001FF80000000000000FFE001FF80000000000000FFE001FF80000000000000FFE001FF8-0000000000000FFE001FF80000000000000FFE001FF80000000000000FFE001FF8000000-0000000FFE001FF80000000000000FFE001FF80000000000000FFC001FF8000000000000-0FFC001FF80000000000000FFC001FF80000000000000FFC001FF80000000000000FFC00-1FF80000000000001FFC001FF80000000000001FF8001FF80000000000001FF8001FF800-00000000001FF8001FF80000000000001FF8001FF80000000000003FF0001FF800000000-00003FF0001FF80000000000003FE0001FF80000000000003FE0001FF80000000000007F-E0001FF80000000000007FC0001FF8000000000000FFC0001FF8000000000000FF80001F-F8000000000000FF80001FF8000000000001FF00001FF8000000000001FF00001FF80000-00000003FE00001FF8000000000007FC00001FF8000000000007FC00001FF80000000000-0FF800001FF800000000001FF000001FF800000000003FE000001FF800000000007FC000-001FF80000000000FFC000001FF80000000001FF8000001FF80000000003FF0000001FF8-0000000007FC0000001FF8000000001FF80000001FF8000000007FF00000001FF8000000-01FFC00000003FF800000007FF80000000FFFC0000007FFE000000FFFFFFFFFFFFFFF800-0000FFFFFFFFFFFFFFE0000000FFFFFFFFFFFFFF00000000FFFFFFFFFFFFF00000000057-6279E165>68 D<FFFFFFFF00000FFFFFFFF0FFFFFFFF00000FFFFFFFF0FFFFFFFF00000F-FFFFFFF0FFFFFFFF00000FFFFFFFF000FFFF000000000FFFF000003FFC0000000003FFC0-00001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001F-F80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000-000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001-FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000-001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF8-0000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF8000000-0001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF-8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF800000-1FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF800-00000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF800000000-01FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF80-00001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001F-FFFFFFFFFFFFFF8000001FFFFFFFFFFFFFFF8000001FFFFFFFFFFFFFFF8000001FFFFFFF-FFFFFFFF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001-FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000-001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF8-0000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF8000000-0001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF-8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF800000-1FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF800-00000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF800000000-01FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF80-00001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001F-F80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000-000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001-FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000-001FF80000000001FF8000003FFC0000000003FFC00000FFFF000000000FFFF000FFFFFF-FF00000FFFFFFFF0FFFFFFFF00000FFFFFFFF0FFFFFFFF00000FFFFFFFF0FFFFFFFF0000-0FFFFFFFF0546279E163>72 D<FFFFFFFFE000000000FFFFFFFFE000000000FFFFFFFFE0-00000000FFFFFFFFE00000000000FFFF800000000000003FFC000000000000001FFC0000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000-00000000001FF8000000000000001FF8000000000000001FF800000000001C001FF80000-0000001C001FF800000000001C001FF800000000001C001FF800000000001C001FF80000-0000001C001FF800000000003C001FF8000000000038001FF8000000000038001FF80000-00000038001FF8000000000038001FF8000000000038001FF8000000000038001FF80000-00000078001FF8000000000078001FF8000000000078001FF8000000000078001FF80000-000000F8001FF80000000000F8001FF80000000000F0001FF80000000001F0001FF80000-000001F0001FF80000000003F0001FF80000000007F0001FF80000000007F0001FF80000-00000FF0001FF8000000001FF0001FF8000000003FF0001FF8000000007FF0001FF80000-0001FFF0001FF800000007FFF0003FF80000003FFFE000FFFC000003FFFFE0FFFFFFFFFF-FFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0466279E153->76 D<000007FF0000030000003FFFF00007000001FFFFFC0007000007FFFFFF000F0000-0FFC00FFC00F00003FE0000FF01F00007F800003F81F0000FE000000FC3F0001FC000000-7E3F0003F80000001F7F0007F00000000FFF000FE000000007FF000FC000000007FF001F-C000000003FF001F8000000001FF003F8000000000FF003F0000000000FF007F00000000-007F007F00000000007F007E00000000003F007E00000000003F00FE00000000003F00FE-00000000001F00FE00000000001F00FE00000000001F00FE00000000000F00FE00000000-000F00FF00000000000F00FF00000000000F00FF00000000000F00FF80000000000700FF-800000000007007FC00000000007007FC00000000007007FE00000000000003FF0000000-0000003FF80000000000003FFC0000000000001FFE0000000000001FFF8000000000000F-FFE0000000000007FFFC000000000007FFFFC00000000003FFFFF80000000001FFFFFF80-00000000FFFFFFF8000000007FFFFFFF800000001FFFFFFFE00000000FFFFFFFF8000000-03FFFFFFFE00000000FFFFFFFF800000001FFFFFFFC000000001FFFFFFE0000000003FFF-FFF00000000003FFFFF800000000003FFFFC000000000003FFFE0000000000007FFE0000-000000001FFF0000000000000FFF80000000000003FF80000000000001FFC00000000000-00FFC0000000000000FFC00000000000007FE00000000000003FE00000000000003FE000-00000000001FE0E000000000001FF0E000000000000FF0E000000000000FF0E000000000-000FF0E000000000000FF0E0000000000007F0E0000000000007F0F0000000000007F0F0-000000000007F0F0000000000007F0F0000000000007F0F8000000000007F0F800000000-0007E0F800000000000FE0FC00000000000FE0FC00000000000FC0FE00000000000FC0FF-00000000001FC0FF00000000001F80FF80000000003F80FFC0000000003F00FFE0000000-007F00FFF000000000FE00FEF800000000FC00FEFC00000001F800FC7F00000003F800FC-1F8000000FF000F80FE000001FE000F807FC00007F8000F001FFE003FF0000F0007FFFFF-FC0000E0001FFFFFF00000E00003FFFFC00000C000001FFE0000003C667AE349>83-D<3FFFFFFFFFFFFFFFFFFFF83FFFFFFFFFFFFFFFFFFFF83FFFFFFFFFFFFFFFFFFFF83FFF-FFFFFFFFFFFFFFFFF83FFFC00003FFC00003FFF83FFC000001FF8000007FF83FF0000001-FF8000000FF83FC0000001FF80000007F87F80000001FF80000003FC7F00000001FF8000-0001FC7E00000001FF80000000FC7C00000001FF800000007C7C00000001FF800000007C-7C00000001FF800000007C7800000001FF800000003C7800000001FF800000003C780000-0001FF800000003C7800000001FF800000003C7000000001FF800000001C7000000001FF-800000001C7000000001FF800000001C7000000001FF800000001C7000000001FF800000-001C7000000001FF800000001CF000000001FF800000001EE000000001FF800000000EE0-00000001FF800000000EE000000001FF800000000EE000000001FF800000000EE0000000-01FF800000000EE000000001FF800000000EE000000001FF800000000E0000000001FF80-000000000000000001FF80000000000000000001FF80000000000000000001FF80000000-000000000001FF80000000000000000001FF80000000000000000001FF80000000000000-000001FF80000000000000000001FF80000000000000000001FF80000000000000000001-FF80000000000000000001FF80000000000000000001FF80000000000000000001FF8000-0000000000000001FF80000000000000000001FF80000000000000000001FF8000000000-0000000001FF80000000000000000001FF80000000000000000001FF8000000000000000-0001FF80000000000000000001FF80000000000000000001FF80000000000000000001FF-80000000000000000001FF80000000000000000001FF80000000000000000001FF800000-00000000000001FF80000000000000000001FF80000000000000000001FF800000000000-00000001FF80000000000000000001FF80000000000000000001FF800000000000000000-01FF80000000000000000001FF80000000000000000001FF80000000000000000001FF80-000000000000000001FF80000000000000000001FF80000000000000000001FF80000000-000000000001FF80000000000000000001FF80000000000000000001FF80000000000000-000001FF80000000000000000001FF80000000000000000001FF80000000000000000001-FF80000000000000000001FF80000000000000000001FF80000000000000000001FF8000-0000000000000001FF80000000000000000001FF80000000000000000001FF8000000000-0000000001FF80000000000000000001FF80000000000000000001FF8000000000000000-0001FF80000000000000000001FF80000000000000000001FF80000000000000000003FF-C0000000000000000003FFC000000000000000001FFFF800000000000001FFFFFFFFFF80-0000000001FFFFFFFFFF800000000001FFFFFFFFFF800000000001FFFFFFFFFF80000057-627CE160>I<FFFFFFFC00000000007FFFFFFFFFFFFC00000000007FFFFFFFFFFFFC0000-0000007FFFFFFFFFFFFC00000000007FFFFF00FFFF8000000000000FFFF0003FFE000000-00000003FF80003FFC00000000000001FE00001FFC00000000000001FC00001FFC000000-00000000F800000FFC00000000000000F800000FFE00000000000000F0000007FE000000-00000000E0000007FF00000000000000E0000003FF00000000000001C0000003FF000000-00000001C0000003FF80000000000001C0000001FF8000000000000380000001FF800000-0000000380000001FFC000000000000780000000FFC000000000000700000000FFE00000-00000007000000007FE000000000000E000000007FE000000000000E000000007FF00000-0000001E000000003FF000000000001C000000003FF800000000001C000000003FF80000-0000003C000000001FF8000000000038000000001FFC000000000038000000000FFC0000-00000070000000000FFC000000000070000000000FFE0000000000F00000000007FE0000-000000E00000000007FF0000000000E00000000007FF0000000001E00000000003FF0000-000001C00000000003FF8000000001C00000000001FF8000000003800000000001FF8000-000003800000000001FFC000000007800000000000FFC000000007000000000000FFE000-0000070000000000007FE00000000E0000000000007FE00000000E0000000000007FF000-00000E0000000000003FF00000001C0000000000003FF80000001C0000000000003FF800-00003C0000000000001FF8000000380000000000001FFC000000380000000000000FFC00-0000700000000000000FFC000000700000000000000FFE000000F000000000000007FE00-0000E000000000000007FF000000E000000000000007FF000001E000000000000003FF00-0001C000000000000003FF800001C000000000000001FF8000038000000000000001FF80-00038000000000000001FFC000078000000000000000FFC000070000000000000000FFE0-000700000000000000007FE0000E00000000000000007FE0000E00000000000000007FF0-000E00000000000000003FF0001C00000000000000003FF0001C00000000000000003FF8-003C00000000000000001FF8003800000000000000001FFC003800000000000000000FFC-007000000000000000000FFC007000000000000000000FFE00F0000000000000000007FE-00E0000000000000000007FF00E0000000000000000007FF01E0000000000000000003FF-01C0000000000000000003FF81C0000000000000000001FF8380000000000000000001FF-8380000000000000000001FFC780000000000000000000FFC700000000000000000000FF-E7000000000000000000007FEE000000000000000000007FEE000000000000000000007F-FE000000000000000000003FFC000000000000000000003FFC000000000000000000003F-FC000000000000000000001FF8000000000000000000001FF8000000000000000000000F-F0000000000000000000000FF0000000000000000000000FF00000000000000000000007-E00000000000000000000007E00000000000000000000007E00000000000000000000003-C00000000000000000000003C0000000000060647FE163>86 D<00003FF0000000000003-FFFE00000000000FFFFF80000000003FC03FE0000000007E0007F800000000F80003FC00-000001E00001FE00000003C00000FF000000078000007F8000000F0000003FC000000F80-00003FC000000FF000001FE000001FF800001FE000001FFC00000FF000001FFC00000FF0-00001FFC00000FF000001FFC000007F800001FFC000007F800001FFC000007F800000FF8-000007F8000003E0000007F800000000000007F800000000000007F800000000000007F8-00000000000007F800000000000007F800000000000007F80000000000007FF800000000-007FFFF8000000000FFFFFF8000000007FF807F800000001FF8007F800000007FC0007F8-0000001FF00007F80000007FC00007F8000000FF800007F8000003FE000007F8000007FC-000007F800000FFC000007F800000FF8000007F800001FF0000007F800003FE0000007F8-00003FE0000007F800007FC0000007F800E07FC0000007F800E07FC0000007F800E0FFC0-000007F800E0FF80000007F800E0FF80000007F800E0FF8000000FF800E0FF8000000FF8-00E0FF8000000FF800E0FF8000001FF800E0FFC000001BF800E07FC000003BF800E07FC0-000073F800E07FE0000071FC01C03FF00000E1FC01C01FF00001C1FC01C00FFC000780FE-038007FE000F00FF070001FF807E007FFF00007FFFF8003FFE00001FFFE0001FF8000001-FF000007E0003B417ABF42>97 D<000001FF80000000000FFFF8000000003FFFFE000000-00FF007F80000003FC0007E0000007F00001F000001FE000007800003FC000003C00007F-8000001E0000FF0000000F0001FE0000001F0001FC000000FF0003FC000001FF8007F800-0003FF8007F8000003FF800FF0000003FF800FF0000003FF801FE0000003FF801FE00000-03FF803FE0000001FF003FC00000007C003FC000000000007FC000000000007FC0000000-00007FC000000000007F800000000000FF800000000000FF800000000000FF8000000000-00FF800000000000FF800000000000FF800000000000FF800000000000FF800000000000-FF800000000000FF800000000000FF800000000000FF800000000000FF8000000000007F-8000000000007FC000000000007FC000000000007FC000000000007FC000000000003FC0-00000000003FE000000000003FE000000000001FE000000001C01FF000000001C00FF000-000003C00FF8000000038007F8000000038003FC000000078003FE000000070001FE0000-000F0000FF0000001E00007F8000003C00003FC000007800001FE00000F000000FF80001-E0000003FC0007C0000000FF803F800000003FFFFE000000000FFFF80000000001FF8000-0032417CBF3A>99 D<0000000000001E000000000000003FFE00000000000007FFFE0000-0000000007FFFE00000000000007FFFE00000000000007FFFE000000000000000FFE0000-000000000003FE0000000000000003FE0000000000000001FE0000000000000001FE0000-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000-000000000001FE0000000000000001FE0000000000FF8001FE000000000FFFF801FE0000-00003FFFFE01FE00000000FF803F81FE00000003FC0007C1FE00000007F80001E1FE0000-001FE00000F9FE0000003FC000007DFE0000007F8000003DFE000000FF0000001FFE0000-01FE0000000FFE000001FC00000007FE000003FC00000007FE000007F800000003FE0000-07F000000001FE00000FF000000001FE00001FF000000001FE00001FE000000001FE0000-1FE000000001FE00003FE000000001FE00003FC000000001FE00007FC000000001FE0000-7FC000000001FE00007FC000000001FE00007FC000000001FE00007F8000000001FE0000-FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000-FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000-FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000-FF8000000001FE00007F8000000001FE00007FC000000001FE00007FC000000001FE0000-7FC000000001FE00003FC000000001FE00003FC000000001FE00003FE000000001FE0000-1FE000000001FE00001FE000000001FE00000FF000000003FE00000FF000000003FE0000-07F800000007FE000003F800000007FE000003FC0000000FFE000001FE0000001FFE0000-00FE0000003DFE0000007F0000003DFE0000003F800000F9FF0000001FC00001F1FF0000-000FF00003C1FFC0000007F8000F81FFFF800001FF007F01FFFF8000007FFFFC01FFFF80-00001FFFE001FFFF80000001FF0001FF000041657CE349>I<000003FE00000000001FFF-E000000000FFFFF800000001FE03FE00000007F0007F8000000FE0003FC000003FC0001F-E000007F00000FF00000FF000007F80000FE000003F80001FC000003FC0003F8000001FC-0007F8000001FE0007F0000000FE000FF0000000FF000FF00000007F001FE00000007F00-1FE00000007F803FE00000007F803FC00000003F803FC00000003F807FC00000003FC07F-C00000003FC07FC00000003FC07F800000003FC07F800000003FC0FF800000003FC0FFFF-FFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FF800000000000FF800000000000FF8000-00000000FF800000000000FF800000000000FF800000000000FF800000000000FF800000-000000FF8000000000007F8000000000007FC000000000007FC000000000007FC0000000-00003FC000000000003FC000000000003FE000000000001FE000000000001FE000000001-C00FF000000001C00FF000000003C007F8000000038007F8000000038003FC0000000780-01FC0000000F0001FE0000000E0000FF0000001E00007F8000003C00003FC00000780000-1FE00000F0000007F00003E0000003FC0007C0000000FF803F000000003FFFFC00000000-0FFFF00000000001FF80000032417CBF3A>I<003C000000FF000001FF800003FFC00003-FFC00003FFC00003FFC00003FFC00003FFC00001FF800000FF0000003C00000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-000000000000000000000000000000000000000000000000000000000000000000000000-0000000003C00007FFC0007FFFC0007FFFC0007FFFC0007FFFC00001FFC000007FC00000-7FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000-3FC000003FC000003FC000003FC000007FE00000FFF000FFFFFFE0FFFFFFE0FFFFFFE0FF-FFFFE01B5F7DDE23>105 D<0003C00007FFC000FFFFC000FFFFC000FFFFC000FFFFC000-01FFC000007FC000007FC000003FC000003FC000003FC000003FC000003FC000003FC000-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000-003FC000003FC000003FC000003FC000003FC000003FC000003FC000007FE00000FFF000-FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C647DE323>108 D<0003C000FFC0000007FE00-000007FFC003FFF800001FFFC00000FFFFC00FFFFE00007FFFF00000FFFFC03F00FF8001-F807FC0000FFFFC078003FC003C001FE0000FFFFC1E0001FE00F0000FF000001FFC3C000-0FF01E00007F8000007FC3800007F81C00003FC000007FC7000007F83800003FC000003F-CE000003FC7000001FE000003FCC000003FC6000001FE000003FDC000003FCE000001FE0-00003FD8000003FCC000001FE000003FF8000001FFC000000FF000003FF0000001FF8000-000FF000003FF0000001FF8000000FF000003FE0000001FF0000000FF000003FE0000001-FF0000000FF000003FE0000001FF0000000FF000003FE0000001FF0000000FF000003FC0-000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000-003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE000000-0FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE-0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC000-0001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF00000-3FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000F-F000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE00-00000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC00000-01FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003F-C0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF0-00003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000-000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001-FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0-000001FE0000000FF000007FE0000003FF0000001FF80000FFF0000007FF8000003FFC00-FFFFFFF007FFFFFF803FFFFFFCFFFFFFF007FFFFFF803FFFFFFCFFFFFFF007FFFFFF803F-FFFFFCFFFFFFF007FFFFFF803FFFFFFC663F7CBE6F>I<0003C0007FE000000007FFC003-FFFC000000FFFFC00FFFFF000000FFFFC03F00FFC00000FFFFC078001FE00000FFFFC0F0-000FF0000001FFC1C00007F80000007FC3800007FC0000007FC7000003FC0000003FCE00-0003FE0000003FCE000001FE0000003FDC000001FE0000003FD8000001FE0000003FF800-0000FF0000003FF0000000FF0000003FF0000000FF0000003FF0000000FF0000003FE000-0000FF0000003FE0000000FF0000003FE0000000FF0000003FC0000000FF0000003FC000-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000007FE000-0001FF800000FFF0000003FFC000FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0FFFFFFF0-03FFFFFFC0FFFFFFF003FFFFFFC0423F7DBE49>I<000000FF8000000000000FFFF80000-0000003FFFFE0000000000FF007F8000000003FC001FE000000007F00007F00000000FC0-0001F80000003F800000FE0000007F0000007F0000007E0000003F000000FC0000001F80-0001F80000000FC00003F80000000FE00003F000000007E00007F000000007F0000FE000-000003F8000FE000000003F8001FE000000003FC001FC000000001FC001FC000000001FC-003FC000000001FE003FC000000001FE003FC000000001FE007F8000000000FF007F8000-000000FF007F8000000000FF007F8000000000FF00FF8000000000FF80FF8000000000FF-80FF8000000000FF80FF8000000000FF80FF8000000000FF80FF8000000000FF80FF8000-000000FF80FF8000000000FF80FF8000000000FF80FF8000000000FF80FF8000000000FF-80FF8000000000FF807F8000000000FF007F8000000000FF007FC000000001FF007FC000-000001FF003FC000000001FE003FC000000001FE003FC000000001FE001FE000000003FC-001FE000000003FC001FE000000003FC000FF000000007F80007F000000007F00007F000-000007F00003F80000000FE00001FC0000001FC00001FC0000001FC00000FE0000003F80-00007F0000007F0000003F800000FE0000001FC00001FC0000000FF00007F800000003FC-001FE000000000FF007F80000000007FFFFF00000000000FFFF8000000000001FFC00000-0039417CBF42>I<0003C0007FC000000007FFC007FFFC000000FFFFC01FFFFF000000FF-FFC07F00FFC00000FFFFC0F8001FF00000FFFFC3E00007F8000001FFC7800003FC000000-7FCF000001FE0000007FDE000000FF0000003FFC0000007F8000003FF80000003FC00000-3FF00000003FE000003FF00000001FE000003FE00000001FF000003FE00000000FF80000-3FC00000000FF800003FC000000007FC00003FC000000007FC00003FC000000003FE0000-3FC000000003FE00003FC000000003FE00003FC000000001FF00003FC000000001FF0000-3FC000000001FF00003FC000000001FF00003FC000000001FF80003FC000000000FF8000-3FC000000000FF80003FC000000000FF80003FC000000000FF80003FC000000000FF8000-3FC000000000FF80003FC000000000FF80003FC000000000FF80003FC000000000FF8000-3FC000000000FF80003FC000000000FF80003FC000000000FF80003FC000000001FF0000-3FC000000001FF00003FC000000001FF00003FC000000001FF00003FC000000001FF0000-3FC000000003FE00003FC000000003FE00003FC000000003FC00003FC000000007FC0000-3FC000000007FC00003FC00000000FF800003FE00000000FF000003FE00000001FF00000-3FF00000003FE000003FF80000003FC000003FF80000007FC000003FFC000000FF800000-3FDE000001FF0000003FCF000003FE0000003FC7800007FC0000003FC3C0000FF0000000-3FC1F0003FE00000003FC07E01FF800000003FC03FFFFE000000003FC00FFFF800000000-3FC000FF80000000003FC0000000000000003FC0000000000000003FC000000000000000-3FC0000000000000003FC0000000000000003FC0000000000000003FC000000000000000-3FC0000000000000003FC0000000000000003FC0000000000000003FC000000000000000-3FC0000000000000003FC0000000000000003FC0000000000000003FC000000000000000-3FC0000000000000003FC0000000000000003FC0000000000000003FC000000000000000-3FC0000000000000003FC0000000000000007FE000000000000000FFF0000000000000FF-FFFFF00000000000FFFFFFF00000000000FFFFFFF00000000000FFFFFFF0000000000041-5B7DBE49>I<00078003F80007FF800FFF00FFFF803FFFC0FFFF807C0FE0FFFF81F01FE0-FFFF81E03FF001FF83803FF0007F87003FF0007F8F003FF0003F8E003FF0003F9C001FE0-003F9C000FC0003F98000300003FB8000000003FB8000000003FB0000000003FF0000000-003FF0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000-003FC0000000003FC0000000003FC0000000003FC0000000007FE000000000FFF8000000-FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC00002C3F7CBE33>114-D<0000FFE00180000FFFFC0380007FFFFF078001FF001FCF8003F80003EF8007E00001FF-800FC00000FF801F8000007F803F0000003F803E0000001F807E0000000F807C0000000F-807C0000000F80FC0000000780FC0000000780FC0000000780FC0000000380FE00000003-80FE0000000380FF0000000380FF80000003807FC0000003807FE0000000007FF8000000-003FFE000000001FFFF00000000FFFFF80000007FFFFF8000003FFFFFF000001FFFFFFC0-00007FFFFFF000001FFFFFF8000007FFFFFE0000007FFFFF00000003FFFF800000003FFF-C000000003FFC000000000FFE0000000007FE0E00000001FF0E00000000FF0E00000000F-F8F000000007F8F000000003F8F000000003F8F000000003F8F800000001F8F800000001-F8F800000001F8FC00000001F8FC00000001F8FE00000001F0FE00000003F0FF00000003-F0FF00000003E0FF80000007E0FFC000000FC0FFE000000F80FDF000001F80F8F800007F-00F83E0000FC00F01FC00FF800F007FFFFE000E001FFFF8000C0003FF800002D417DBF34->I<00003800000000003800000000003800000000003800000000003800000000003800-00000000380000000000780000000000780000000000780000000000780000000000F800-00000000F80000000000F80000000001F80000000001F80000000001F80000000003F800-00000003F80000000007F8000000000FF8000000001FF8000000001FF8000000007FF800-000000FFF800000003FFF80000000FFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFF-FF000007F80000000007F80000000007F80000000007F80000000007F80000000007F800-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800-00000007F80000000007F80000000007F80000E00007F80000E00007F80000E00007F800-00E00007F80000E00007F80000E00007F80000E00007F80000E00007F80000E00007F800-00E00007F80000E00007F80000E00007F80000E00007F80000E00003FC0001C00003FC00-01C00003FC0001C00003FC0003C00001FE0003800001FE0007800000FF00070000007F80-0F0000003FC01E0000001FF07C0000000FFFF800000003FFE0000000007F80002B597FD7-33>I<0003C00000000F000007FFC000001FFF0000FFFFC00003FFFF0000FFFFC00003FF-FF0000FFFFC00003FFFF0000FFFFC00003FFFF000001FFC0000007FF0000007FC0000001-FF0000007FC0000001FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000-FF0000003FC0000000FF0000003FC0000001FF0000003FC0000001FF0000003FC0000001-FF0000003FC0000003FF0000003FC0000003FF0000003FC0000003FF0000003FC0000007-FF0000001FC0000006FF0000001FE000000EFF0000001FE000001CFF0000000FE000001C-FF0000000FF0000038FF80000007F0000070FF80000003F80001E0FFE0000001FE0003C0-FFFFC00000FFC01F80FFFFC000003FFFFE00FFFFC000000FFFF800FFFFC0000000FFC000-FF800042407DBE49>I<FFFFFF800001FFFFE0FFFFFF800001FFFFE0FFFFFF800001FFFF-E0FFFFFF800001FFFFE001FFF80000007FFE00007FE00000001FF800007FE00000001FE0-00003FE00000000FC000003FE00000000F8000001FE00000000F8000001FF00000000F00-00000FF00000000F0000000FF00000000E0000000FF80000001E00000007F80000001C00-000007FC0000001C00000003FC0000003800000003FC0000003800000003FE0000007800-000001FE0000007000000001FF0000007000000000FF000000E000000000FF000000E000-000000FF800001E0000000007F800001C0000000007F800001C0000000003FC000038000-0000003FC0000380000000003FE0000780000000001FE0000700000000001FE000070000-0000000FF0000E00000000000FF0000E00000000000FF8001E000000000007F8001C0000-00000007F8001C000000000007FC003C000000000003FC0038000000000003FE00380000-00000001FE0070000000000001FE0070000000000001FF00F0000000000000FF00E00000-00000000FF80E00000000000007F81C00000000000007F81C00000000000007FC3C00000-000000003FC3800000000000003FE3800000000000001FE7000000000000001FE7000000-000000001FFF000000000000000FFE000000000000000FFE0000000000000007FC000000-0000000007FC0000000000000007FC0000000000000003F80000000000000003F8000000-0000000001F00000000000000001F00000000000000001F00000000000000000E0000000-00433F7FBD46>I<FFFFFF801FFFFFE000FFFFF8FFFFFF801FFFFFE000FFFFF8FFFFFF80-1FFFFFE000FFFFF8FFFFFF801FFFFFE000FFFFF803FFF000007FFC00001FFF8000FFC000-003FF0000007FE0000FFC000001FF0000003FC00007FC000000FF0000001F800007FC000-000FF0000001F000003FC000000FF0000001F000003FC0000007F0000001E000003FE000-0007F8000001E000001FE000000FF8000001C000001FE000000FF8000001C000001FF000-000FFC000003C000000FF000001FFC0000038000000FF000001DFC0000038000000FF800-001DFE00000780000007F800003DFE00000700000007F8000038FE00000700000007FC00-0038FF00000F00000003FC000078FF00000E00000003FC0000707F00000E00000003FE00-00707F80001E00000001FE0000F07F80001C00000001FE0000E03F80001C00000001FF00-00E03FC0003C00000000FF0001E03FC0003800000000FF0001C01FC0003800000000FF80-01C01FE00078000000007F8003C01FE00070000000007F8003800FE00070000000007FC0-03800FF000F0000000003FC007800FF000E0000000003FC0070007F000E0000000003FE0-070007F801E0000000001FE00F0007F801C0000000001FE00E0003F801C0000000001FF0-0E0003FC03C0000000000FF01E0003FC0380000000000FF01C0001FC0380000000000FF8-1C0001FE07800000000007F83C0001FE07000000000007F8380000FE07000000000007FC-380000FF0F000000000003FC780000FF0E000000000003FC7000007F0E000000000003FE-7000007F9E000000000001FEF000007F9C000000000001FEE000003F9C000000000001FF-E000003FFC000000000000FFE000003FF8000000000000FFC000001FF8000000000000FF-C000001FF80000000000007FC000001FF00000000000007F8000000FF00000000000007F-8000000FF00000000000003F8000000FE00000000000003F00000007E00000000000003F-00000007E00000000000001F00000007C00000000000001E00000003C00000000000000E-00000003800000005D3F7FBD60>I<FFFFFF800001FFFFE0FFFFFF800001FFFFE0FFFFFF-800001FFFFE0FFFFFF800001FFFFE001FFF80000007FFE00007FE00000001FF800007FE0-0000001FE000003FE00000000FC000003FE00000000F8000001FE00000000F8000001FF0-0000000F0000000FF00000000E0000000FF00000000E00000007F80000001C00000007F8-0000001C00000007FC0000003C00000003FC0000003800000003FC0000003800000001FE-0000007000000001FE0000007000000001FF000000F000000000FF000000E000000000FF-000000E0000000007F800001C0000000007F800001C0000000007FC00003C0000000003F-C0000380000000003FC0000380000000003FE0000780000000001FE0000700000000001F-F0000F00000000000FF0000E00000000000FF0000E00000000000FF8001E000000000007-F8001C000000000007FC003C000000000003FC0038000000000003FC0038000000000003-FE0078000000000001FE0070000000000001FF00F0000000000000FF00E0000000000000-FF00E0000000000000FF81E00000000000007F81C00000000000007FC3C0000000000000-3FC3800000000000003FC3800000000000003FE7800000000000001FE700000000000000-1FFF000000000000000FFE000000000000000FFE000000000000000FFE00000000000000-07FC0000000000000007FC0000000000000003F80000000000000003F800000000000000-03F80000000000000001F00000000000000001F00000000000000000E000000000000000-00E00000000000000001E00000000000000001C00000000000000003C000000000000000-038000000000000000038000000000000000078000000000000000070000000000000000-0F00000000000000000E00000000000000000E00000000000000001E0000000000000000-1C00000000000000003C00000000001F80003800000000003FC0003800000000007FE000-7000000000007FE0007000000000007FE000E000000000007FE001E000000000007FE001-C000000000007FC0038000000000003F80078000000000003F000F0000000000001E003E-0000000000000FC0FC00000000000007FFF800000000000001FFE0000000000000007F00-000000000000435B7FBD46>121 D E end-%%EndProlog-%%BeginSetup-%%Feature: *Resolution 600dpi-TeXDict begin-%%PaperSize: A4--%%EndSetup-%%Page: 1 1-1 0 bop 1377 2090 a Fv(A)44 b(T)-11 b(utorial)44 b(on)f(La)l(v)-7-b(a:)543 2273 y(A)43 b(Hardw)l(are)h(Description)h(and)f(V)-11-b(eri\014cation)45 b(System)1073 2678 y Fu(Ko)s(en)33-b(Claessen)897 2794 y Ft(koen@cs.chalmers.se)2263 2678-y Fu(Mary)g(Sheeran)2125 2794 y Ft(ms@cs.chalmers.se)1601-3070 y Fu(August)g(15,)g(2000)p eop-%%Page: 1 2-1 1 bop 515 1227 a Fs(Con)-6 b(ten)g(ts)515 1782 y Fr(1)76-b(In)m(tro)s(duction)2166 b(4)515 2004 y(2)76 b(Getting)31-b(Started)2031 b(6)639 2144 y Fq(2.1)84 b(Y)-7 b(our)27-b(First)h(Circuit)79 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131-b(6)639 2283 y(2.2)84 b(The)28 b(La)n(v)-5 b(a)26 b(In)n(terpreter)39-b(.)j(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(7)639 2423 y(2.3)84-b(Y)-7 b(our)27 b(Second)h(Circuit)64 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)-131 b(8)639 2562 y(2.4)84 b(Generating)27 b(VHDL)70 b(.)41-b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(9)639 2702 y(2.5)84-b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)-h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(10)515 2924 y Fr(3)76 b(Bigger)31 b(Circuits)2008 b(12)639-3064 y Fq(3.1)84 b(Recursion)27 b(o)n(v)n(er)f(Lists)67-b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)-h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(12)639 3203 y(3.2)84-b(Connection)27 b(P)n(atterns)55 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(13)639 3342 y(3.3)84 b(Arithmetic)22 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)-f(.)h(.)f(.)h(.)f(.)h(.)90 b(14)639 3482 y(3.4)84 b(Compilation)32-b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)-h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(16)639 3621 y(3.5)84 b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)-h(.)f(.)h(.)f(.)h(.)90 b(16)515 3844 y Fr(4)76 b(V)-8-b(eri\014cation)2165 b(18)639 3983 y Fq(4.1)84 b(Simple)28-b(Prop)r(erties)f(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)-f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(18)639 4123 y(4.2)84 b(Quan)n(ti\014cation)25 b(.)41-b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(19)639-4262 y(4.3)84 b(General)27 b(Prop)r(erties)54 b(.)41-b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(20)639 4402 y(4.4)84-b(Helping)28 b(V)-7 b(eri\014cation)80 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)-90 b(20)639 4541 y(4.5)84 b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)-f(.)h(.)f(.)h(.)f(.)h(.)90 b(22)515 4764 y Fr(5)76 b(Sequen)m(tial)32-b(Circuits)1850 b(23)639 4903 y Fq(5.1)84 b(The)28 b(Dela)n(y)f(Comp)r-(onen)n(t)43 b(.)e(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(23)1926 5255-y(1)p eop-%%Page: 2 3-2 2 bop 639 523 a Fq(5.2)84 b(Multiple)29 b(Dela)n(ys)34-b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)-f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(24)639-663 y(5.3)84 b(Coun)n(ters)24 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)-h(.)f(.)h(.)f(.)h(.)90 b(25)639 802 y(5.4)84 b(Sequen)n(tialization)55-b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)-h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(25)639 941-y(5.5)84 b(V)-7 b(ariations)27 b(on)g Fp(rowSeq)f Fq(.)42-b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g-(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(26)639 1081 y(5.6)84-b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)-h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(27)515 1303 y Fr(6)76 b(Sequen)m(tial)32 b(V)-8 b(eri\014cation)1702-b(29)639 1443 y Fq(6.1)84 b(Sequen)n(tial)27 b(Safet)n(y)h(Prop)r-(erties)33 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g-(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(29)639 1582 y(6.2)84-b(Sequen)n(tial)27 b(Logic)77 b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)-90 b(30)639 1722 y(6.3)84 b(V)-7 b(eri\014cation)64 b(.)42-b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(30)639-1861 y(6.4)84 b(Induction)68 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)-f(.)h(.)f(.)h(.)90 b(31)639 2001 y(6.5)84 b(Induction)28-b(With)h(Depth)53 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(32)639-2140 y(6.6)84 b(Induction)28 b(With)h(Restricted)e(States)44-b(.)e(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h-(.)90 b(35)639 2280 y(6.7)84 b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)-g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(36)515 2502 y Fr(7)76-b(Time)30 b(T)-8 b(ransformations)1717 b(38)639 2642-y Fq(7.1)84 b(Timing)28 b(Issues)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f-(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)-h(.)f(.)h(.)90 b(38)639 2781 y(7.2)84 b(Slo)n(wing)27-b(Do)n(wn)i(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(39)639 2921 y(7.3)84 b(Sp)r(eeding)28 b(Up)84 b(.)41-b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(42)639-3060 y(7.4)84 b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f-(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)-h(.)f(.)h(.)90 b(43)515 3283 y Fr(8)76 b(More)32 b(connection)f-(patterns)1566 b(45)639 3422 y Fq(8.1)84 b(Connection)27-b(patterns)h(revisited)51 b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(45)639 3562-y(8.2)84 b(T)-7 b(ree)27 b(shap)r(ed)h(circuits)72 b(.)42-b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g-(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(48)639 3701 y(8.3)84-b(Describing)27 b(Butter\015y)h(Circuits)72 b(.)42 b(.)f(.)h(.)f(.)h(.)-f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(50)639 3841 y(8.4)84 b(Batc)n(her's)26 b(Bitonic)i(Merger)83-b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)-h(.)f(.)h(.)f(.)h(.)90 b(54)639 3980 y(8.5)84 b(Exercises)e(.)41-b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h-(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(56)515 4203 y Fr(9)76 b(Syn)m(thesizing)32 b(La)m(v)-5-b(a)33 b(Circuits)1535 b(59)639 4342 y Fq(9.1)84 b(State)28-b(Mac)n(hines)54 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(59)639 4482 y(9.2)84 b(Beha)n(vioral)25 b(Descriptions)70-b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)-f(.)h(.)f(.)h(.)f(.)h(.)90 b(63)639 4621 y(9.3)84 b(Exercises)e(.)41-b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h-(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(67)1926 5255 y(2)p eop-%%Page: 3 4-3 3 bop 515 523 a Fr(10)28 b(T)m(yp)s(es)2394 b(68)639-663 y Fq(10.1)42 b(Signals)27 b(and)g(Circuits)73 b(.)42-b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g-(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(68)639 802 y(10.2)42-b(Connection)27 b(P)n(atterns)55 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(69)639 941 y(10.3)42 b(Ov)n(erloading)d(.)j(.)f(.)h(.)g(.)f(.)h(.)f-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)-h(.)f(.)h(.)f(.)h(.)90 b(69)515 1164 y Fr(A)52 b(Quic)m(k)33-b(Reference)e(Guide)1677 b(72)639 1303 y Fq(A.1)64 b(The)28-b Fp(lava)e Fq(command)79 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90-b(72)639 1443 y(A.2)64 b(Logical)26 b(Gates)49 b(.)41-b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(72)639-1582 y(A.3)64 b(Arithmetical)28 b(Gates)43 b(.)e(.)h(.)f(.)h(.)f(.)h(.)-g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f-(.)h(.)90 b(73)639 1722 y(A.4)64 b(Generic)27 b(Gates)k(.)41-b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(74)639-1861 y(A.5)64 b(Mo)r(dule:)37 b Fp(Patterns)55 b Fq(.)41-b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(74)639 2001 y(A.6)64-b(Mo)r(dule:)37 b Fp(Arithmetic)31 b Fq(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)-90 b(75)639 2140 y(A.7)64 b(Mo)r(dule:)37 b Fp(SequentialCircuit)o(s)68-b Fq(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)f(.)h(.)90 b(76)639 2280 y(A.8)64 b(In)n(terpretations)j(.)42-b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(76)639 2419-y(A.9)64 b(Errors)56 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)-f(.)h(.)f(.)h(.)90 b(77)515 2642 y Fr(B)56 b(Answ)m(ers)2295-b(79)639 2864 y(Bibliograph)m(y)2109 b(88)639 3087 y(Index)2409-b(90)1926 5255 y Fq(3)p eop-%%Page: 4 5-4 4 bop 515 1186 a Fo(Chapter)64 b(1)515 1641 y Fs(In)-6-b(tro)6 b(duction)515 2112 y Fq(La)n(v)-5 b(a)27 b(is)h(an)g(exp)r-(erimen)n(tal)f(to)r(ol)h(for)g(hardw)n(are)e(design)h(and)h(v)n-(eri\014cation.)37 b(Using)28 b(La)n(v)-5 b(a,)515 2212-y(one)36 b(can)f(describ)r(e)h(circuits)g(using)g(a)g(simple)g-(functional)h(hardw)n(are)d(description)i(lan-)515 2311-y(guage.)51 b(The)33 b(descriptions)f(are)g(short)h(and)f(sw)n(eet,)i-(and)f(do)g(not)g(su\013er)f(from)h(the)g(v)n(er-)515-2411 y(b)r(osit)n(y)22 b(of)g(more)f(standard)g(hardw)n(are)f-(description)i(languages)e(\(HDLs\))j(lik)n(e)f(VHDL)h(and)515-2511 y(V)-7 b(erilog.)34 b(On)22 b(the)g(other)f(hand,)j(w)n(e)d-(cannot)h(express)f(the)h(same)g(things)g(as)f(in)h(these)g(large,)515-2610 y(expressiv)n(e)32 b(\(and)i(complicated\))g(languages.)54-b(F)-7 b(or)34 b(example,)h(w)n(e)e(cannot)h(express)f(lo)n(w)515-2710 y(lev)n(el)22 b(details)g(ab)r(out)h(timing.)36-b(What)23 b(w)n(e)f(can)g(express)g(v)n(ery)g(nicely)-7-b(,)23 b(though,)h(is)e(the)i(w)n(a)n(ys)515 2809 y(in)29-b(whic)n(h)g(circuits)g(are)f(built)h(from)g(sub-circuits.)41-b(La)n(v)-5 b(a)27 b(facilitates)i(the)h(description)e(of)515-2909 y Fn(c)l(onne)l(ction)g(p)l(atterns)e Fq(so)f(that)i(they)f(are)f-(easily)h(reusable.)35 b(F)-7 b(or)26 b(some)f(kinds)h(of)g(circuits,)-515 3009 y(for)h(example)h(in)g(signal)f(pro)r(cessing,)f(this)i(is)g-(exactly)g(what)f(w)n(e)h(w)n(an)n(t)f(to)h(do.)37 b(La)n(v)-5-b(a)27 b(also)515 3108 y(pro)n(vides)d(man)n(y)g(di\013eren)n(t)h(w)n-(a)n(ys)f(of)h(analysing)f(our)h(circuit)g(descriptions.)35-b(W)-7 b(e)26 b(can)e(sim-)515 3208 y(ulate)29 b(circuits,)g(just)g(as)-g(with)g(more)f(standard)g(HDLs,)i(but)g(w)n(e)e(can)h(also)f(use)h-(sym)n(b)r(olic)515 3308 y(metho)r(ds)e(to)g(generate)f(input)h(to)g-(analysis)f(to)r(ols)g(suc)n(h)h(as)g(automatic)f(theorem)g(pro)n(v)n-(ers)515 3407 y(and)h(mo)r(del)h(c)n(hec)n(k)n(ers.)36-b(Indeed,)28 b(the)h(same)e(metho)r(ds)h(are)f(used)h(to)f(generate)g-(structural)515 3507 y(VHDL)39 b(from)g(La)n(v)-5 b(a)37-b(circuit)i(descriptions.)69 b(Our)38 b(aim)h(in)f(this)h(tutorial)g-(is)f(to)h(gen)n(tly)515 3606 y(in)n(tro)r(duce)27 b(this)h(new)g(st)n-(yle)f(of)g(circuit)h(design)f(and)g(analysis,)g(b)n(y)g(means)g(of)h-(examples.)515 3746 y(La)n(v)-5 b(a)20 b(is)h(used)g(at)g(Chalmers)f-(as)h(a)g(platform)g(for)f(exp)r(erimen)n(ts)h(in)g(the)h(formal)e(v)n-(eri\014cation)515 3846 y(of)30 b(hardw)n(are)e([3,)i(2].)45-b(\(Note,)31 b(ho)n(w)n(ev)n(er,)e(that)i(b)r(oth)f(of)g(these)h-(references)e(are)g(ab)r(out)h(an)515 3945 y(older)24-b(v)n(ersion)g(of)h(La)n(v)-5 b(a,)25 b(in)h(whic)n(h)f(circuit)g-(descriptions)g(are)f(a)h(bit)h(more)e(complicated.\))515-4045 y(Satnam)31 b(Singh,)i(on)e(the)h(other)f(hand,)h(uses)f(La)n(v)-5-b(a)31 b(in)g(real)g(industrial)g(design)g(pro)5 b(jects)515-4144 y(at)33 b(Xilinx)h(Inc.,)h(one)e(of)g(the)h(main)f(suppliers)g(of)-g(Field)h(Programmable)d(Gate)i(Arra)n(ys)515 4244 y(\(FPGAs\).)k(In)28-b(particular,)f(La)n(v)-5 b(a)26 b(has)i(b)r(een)g(used)g(with)g(great)-e(success)h(in)h(the)g(dev)n(elop-)515 4344 y(men)n(t)33-b(of)g(FPGA)g(cores)f(suc)n(h)g(as)g(\014lters)h(and)g(Bezier)f(curv)n-(e)g(dra)n(wing)f(circuits,)j(and)f(of)515 4443 y(customer)27-b(applications)g(suc)n(h)g(as)g(digital)h(signal)f(pro)r(cessing)f(for)-h(high)h(sp)r(eed)g(net)n(w)n(orks)515 4543 y(and)f(for)g(high)h(p)r-(erformance)e(graphics)g(applications.)515 4682 y(La)n(v)-5-b(a)38 b(really)f(consists)i(of)f(a)h(simple)g(hardw)n(are)e-(description)h(language)f(em)n(b)r(edded)j(in)515 4782-y(the)30 b(p)r(o)n(w)n(erful)f(functional)g(programming)f(language)g-(Hask)n(ell.)42 b(So)29 b(it)h(can)f(b)r(e)h(seen)g(as)e(a)515-4882 y(domain)19 b(sp)r(eci\014c)g(language)e(em)n(b)r(edded)j(in)f(a)g-(general)f(purp)r(ose)h(programming)e(language.)515 4981-y(W)-7 b(e)30 b(describ)r(e)g(circuits)g(b)n(y)g(writing)g(Hask)n(ell)f-(programs)f({)i(and)g(the)h(La)n(v)-5 b(a)29 b(system)h(itself)1926-5255 y(4)p eop-%%Page: 5 6-5 5 bop 515 523 a Fq(consists)33 b(of)i(a)f(set)g(of)g(Hask)n(ell)g(mo)-r(dules)g(that)h(giv)n(e)e(the)i(user)f(v)-5 b(arious)33-b(facilities.)57 b(The)515 623 y(em)n(b)r(edded)21 b(language)e(is)i-(quite)g(similar)f(to)g(the)h(Lustre)f(sync)n(hronous)f(data\015o)n(w)h-(language)515 722 y([6)o(].)37 b(The)26 b(idea)g(of)g(using)f(a)h-(functional)g(programming)e(language)g(to)i(describ)r(e)g(hardw)n(are)-515 822 y(w)n(as)c(\014rst)i(prop)r(osed)e(in)i(the)g(early)f(eigh)n-(ties)f([13,)h(14)o(,)h(7],)g(and)g(there)f(has)g(b)r(een)h(quite)g(a)f-(lot)515 922 y(of)29 b(w)n(ork)e(in)i(the)h(area)d(since)i(then)g([15)o-(,)h(16)o(,)f(10)o(,)g(12)o(,)g(11)o(,)g(5)o(].)41 b(Our)29-b(in)n(ten)n(tion)g(in)g(building)515 1021 y(the)j(La)n(v)-5-b(a)32 b(system)g(\(together)f(with)i(Singh\))f(is)h(to)f(pro)n(vide)f-(a)h(to)r(ol)g(that)g(demonstrates)515 1121 y(the)c(feasibilit)n(y)f-(of)h(doing)f(circuit)g(design)g(and)h(analysis)e(using)h(a)g-(functional)h(language.)515 1260 y(The)h(main)g(idea)g(in)h(La)n(v)-5-b(a)28 b(is)h(that)g(a)g(single)g(circuit)g(description)f(can)h(b)r(e)h-(analysed)e(in)h(a)515 1360 y(v)-5 b(ariet)n(y)31 b(of)h(di\013eren)n-(t)h(w)n(a)n(ys,)f(b)n(y)g(giving)g(di\013eren)n(t)g-Fn(interpr)l(etations)h Fq(to)f(its)h(comp)r(onen)n(ts)515-1460 y(\(and)f(sometimes)f(ev)n(en)h(to)g(its)g(connection)f-(patterns\).)50 b(The)32 b(simplest)g(of)g(these)g(in)n(ter-)515-1559 y(pretations)h(giv)n(es)g(us)h(ordinary)f(sim)n(ulation.)56-b(But)35 b(w)n(e)f(can)g(do)g(m)n(uc)n(h)g(more.)56 b(W)-7-b(e)34 b(can)515 1659 y(allo)n(w)26 b Fn(symb)l(olic)k-Fq(rather)c(than)i(concrete)f(data)g(to)h(\015o)n(w)f(in)h(the)g-(circuit,)g(and)f(in)h(this)g(w)n(a)n(y)515 1758 y(collect)d-(information)h(ab)r(out)f(the)i(circuit)f(in)g(v)-5 b(arious)24-b(di\013eren)n(t)i(w)n(a)n(ys.)35 b(F)-7 b(or)26 b(example,)f(w)n(e)515-1858 y(can)32 b(run)h(the)g(circuit)g(on)g(sym)n(b)r(olic)f(data)h(and)-f(pro)r(duce)h(expressions)e(on)i(the)g(outputs)515 1958-y(that)25 b(indicate)g(ho)n(w)f(eac)n(h)h(output)g(is)g(related)g(to)f-(the)i(inputs.)36 b(This)25 b(can)g(b)r(e)g(useful)h(when)515-2057 y(dev)n(eloping)k(a)g(\014rst)h(implemen)n(tation.)48-b(Ho)n(w)n(ev)n(er,)30 b(the)i(expressions)d(can)i(get)g(to)r(o)f-(large)515 2157 y(for)d(h)n(umans)h(to)g(in)n(terpret.)37-b(Then,)28 b(w)n(e)g(ho)r(ok)f(up)h(external)g(analysis)e(to)r(ols,)i-(suc)n(h)f(as)h(au-)515 2257 y(tomatic)g(theorem)g(pro)n(v)n(ers,)e(to)-i(help)h(us)f(to)g(analyse)f(our)h(circuits.)38 b(When)29-b(w)n(e)f(ho)r(ok)g(up)515 2356 y(to)h(external)f(theorem)h(pro)n(v)n-(ers,)f(w)n(e)h(are)f(actually)h(using)g(Hask)n(ell)f(as)h(a)g(pro)r-(of)g(scripting)515 2456 y(language.)51 b(This)33 b(turns)g(out)g(to)g-(b)r(e)h(v)n(ery)d(con)n(v)n(enien)n(t.)52 b(Similarly)-7-b(,)34 b(when)g(w)n(e)e(ho)r(ok)h(up)515 2555 y(to)g(other)g(external)f-(to)r(ols,)j(suc)n(h)e(as)f(VHDL-based)i(CAD)g(to)r(ols,)g(w)n(e)f(use)-g(Hask)n(ell)g(as)f(a)515 2655 y(scripting)h(language.)52-b(One)33 b(w)n(a)n(y)f(to)i(view)f(the)h(La)n(v)-5 b(a)32-b(system)h(is)g(as)g(a)g(to)r(ol)g(for)g(linking)515-2755 y(together)27 b(and)i(con)n(trolling)e(other)g(to)r(ols)h(in)h(a)f-(uni\014ed)h(w)n(a)n(y!)38 b(Th)n(us)29 b(Hask)n(ell)e(is)i(used)f(not)-515 2854 y(only)g(to)h(construct)f(circuit)h(descriptions)f(but)h(also)-f(to)g(con)n(trol)g(the)h(to)r(ols)f(that)h(pro)r(cess)515-2954 y(those)23 b(descriptions.)34 b(The)24 b(user)e(sees)h(only)g(one)-g(language,)f(rather)h(than)g(ha)n(ving)f(to)h(w)n(ork)515-3054 y(with)28 b(man)n(y)-7 b(,)27 b(as)g(is)g(more)g(usual)g(in)h(the)-g(CAD)h(w)n(orld.)515 3193 y(This)f(tutorial)f(in)n(tro)r(duces)h(the)g-(st)n(yle)g(of)g(circuit)g(description)g(used)g(in)g(La)n(v)-5-b(a,)28 b(b)n(y)g(means)515 3293 y(of)e(v)n(ery)g(simple)h(examples.)36-b(It)26 b(emphasises)g(the)h(w)n(a)n(y)f(in)h(whic)n(h)f(La)n(v)-5-b(a)26 b Fn(c)l(ombinators)h Fq(can)515 3392 y(b)r(e)j(used)f(to)g-(capture)g(common)g(in)n(terconnection)g(patterns.)42-b(It)30 b(sho)n(ws)e(the)i(three)f(most)515 3492 y(imp)r(ortan)n(t)i-Fn(interpr)l(etations)h Fq(or)e(circuit)i(analysis)e(metho)r(ds)i({)f-(sim)n(ulation,)h(generation)515 3592 y(of)25 b(VHDL)h(co)r(de,)g(and)f-(generation)f(of)h(logical)f(form)n(ulas)g(for)g(input)j(to)e(theorem)f-(pro)n(v)n(ers.)515 3691 y(After)h(w)n(orking)e(through)h(the)h-(tutorial,)g(y)n(ou)f(should)h(understand)f(ho)n(w)g(to)h(describ)r(e)f-(and)515 3791 y(analyse)h(simple)i(com)n(binational)e(and)h(sequen)n-(tial)g(circuits)g(using)g(La)n(v)-5 b(a.)35 b(W)-7 b(e)27-b(hop)r(e)g(that)515 3890 y(the)g(quic)n(k)g(reference)g(sections)f(at)-h(the)h(bac)n(k)f(of)g(the)h(tutorial)e(will)i(also)e(help)i(y)n(ou)e-(to)h(get)515 3990 y(started.)1926 5255 y(5)p eop-%%Page: 6 7-6 6 bop 515 1186 a Fo(Chapter)64 b(2)515 1641 y Fs(Getting)77-b(Started)515 2112 y Fq(In)19 b(this)h(c)n(hapter,)g(w)n(e)f(sho)n(w)g-(ho)n(w)f(to)h(describ)r(e)g(some)g(simple)h(circuits)f(in)g(the)h(La)n-(v)-5 b(a)18 b(system,)515 2212 y(and)27 b(run)h(the)g(in)n(terpreter)e-(on)h(them.)515 2526 y Fm(2.1)135 b(Y)-11 b(our)44 b(First)h(Circuit)-515 2748 y Fq(T)-7 b(o)40 b(mak)n(e)g(a)h(\014rst)g(circuit)g-(description,)i(start)e(up)g(the)g(text)h(editor)e(of)h(y)n(our)f(c)n-(hoice,)515 2847 y(and)32 b(create)f(a)h(text)g(\014le)g(called)g-Fp(First.hs)p Fq(,)e(for)i(example.)50 b(La)n(v)-5 b(a)31-b(\014le)h(names)g(ha)n(v)n(e)f(the)515 2947 y(extension)c-Fp(.hs)p Fq(.)515 3087 y(W)-7 b(e)29 b(are)e(going)h(to)g(de\014ne)h(a)-g(so-called)e Fn(half)32 b(adder)e Fq(\(see)f(\014gure)f(2.1\).)39-b(A)29 b(half)g(adder)f(is)g(a)515 3186 y(comp)r(onen)n(t)23-b(that)h(is)g(for)f(example)g(used)h(in)g(the)g(implemen)n(tation)g(of)-g(a)f(binary)g(adder.)35 b(It)515 3286 y(tak)n(es)27-b(as)g(an)g(input)i(t)n(w)n(o)e(bits,)h(and)g(adds)g(them)g(up.)38-b(The)28 b(result)g(is)f(a)h Fn(sum)f Fq(and)h(a)f Fn(c)l(arry)515-3385 y Fq(bit.)37 b(A)28 b(half)g(adder)f(is)g(usually)g(realized)g-(using)g(one)g Fp(and)g Fq(and)g(one)g Fp(xor)g Fq(gate.)515-3525 y(Here)g(is)g(ho)n(w)g(w)n(e)h(de\014ne)g(a)f(half)g(adder)g-Fp(halfAdd)e Fq(in)j(La)n(v)-5 b(a.)602 3711 y Fp(import)41-b(Lava)602 3910 y(halfAdd)g(\(a,)h(b\))h(=)g(\(sum,)e(carry\))689-4010 y(where)776 4109 y(sum)130 b(=)43 b(xor2)f(\(a,)g(b\))776-4209 y(carry)g(=)h(and2)f(\(a,)g(b\))515 4395 y Fq(W)-7-b(e)25 b(imp)r(ort)h(a)e(mo)r(dule)i(called)f Fp(Lava)p-Fq(,)f(whic)n(h)h(de\014nes)g(a)g(n)n(um)n(b)r(er)g(of)g(op)r(erations)-f(that)h(w)n(e)515 4495 y(can)j(use)h(to)g(build)g(circuits.)40-b(Notably)-7 b(,)29 b(it)h(con)n(tains)d(the)j(de\014nitions)f(of)g-(the)g(gates)f Fp(xor2)515 4594 y Fq(and)f Fp(and2)p-Fq(.)35 b(App)r(endix)29 b(A)f(con)n(tains)f(a)g(list)h(of)f(suc)n(h)g-(prede\014ned)h(op)r(erations.)515 4734 y(Note)k(that)h(the)g(order)e-(of)i(de\014nitions)g(after)f(a)g Fp(where)f Fq(do)r(es)h(not)h-(matter!)51 b(Since)33 b(these)515 4833 y(circuit)22-b(comp)r(onen)n(ts)g(act)g(in)h(parallel,)f(w)n(e)g(could)h(just)g(as)e-(w)n(ell)i(ha)n(v)n(e)e(put)i(them)g(the)g(other)515-4933 y(w)n(a)n(y)j(around.)1926 5255 y(6)p eop-%%Page: 7 8-7 7 bop 1514 973 a @beginspecial 0 @llx 0 @lly 208 @urx-128 @ury 1040 @rwi @setspecial-%%BeginDocument: Pictures/halfAdd.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--54.0 199.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 4312 m -1000 -1000 l 5365 -1000 l 5365 4312 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 2100 1200 m 3000 1200 l 3000 2100 l 2100 2100 l cp gs col0 s gr -% Polyline-n 2100 2400 m 3000 2400 l 3000 3300 l 2100 3300 l cp gs col0 s gr -% Polyline-n 1200 3000 m 2100 3000 l gs col0 s gr -% Polyline-gs  clippath-1977 1470 m 2073 1500 l 1977 1530 l 2115 1530 l 2115 1470 l cp-clip-n 1200 1500 m 2100 1500 l gs col0 s gr gr--% arrowhead-n 1977 1470 m 2073 1500 l 1977 1530 l 1953 1500 l 1977 1470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3477 1620 m 3573 1650 l 3477 1680 l 3615 1680 l 3615 1620 l cp-clip-n 3000 1650 m 3600 1650 l gs col0 s gr gr--% arrowhead-n 3477 1620 m 3573 1650 l 3477 1680 l 3453 1650 l 3477 1620 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3477 2820 m 3573 2850 l 3477 2880 l 3615 2880 l 3615 2820 l cp-clip-n 3000 2850 m 3600 2850 l gs col0 s gr gr--% arrowhead-n 3477 2820 m 3573 2850 l 3477 2880 l 3453 2850 l 3477 2820 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2072 2577 m 2087 2675 l 2018 2603 l 2080 2727 l 2134 2700 l cp-clip-n 1500 1500 m 2100 2700 l gs col0 s gr gr--% arrowhead-n 2072 2577 m 2087 2675 l 2018 2603 l 2034 2569 l 2072 2577 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2018 1897 m 2087 1824 l 2072 1923 l 2134 1800 l 2080 1773 l cp-clip-n 1500 3000 m 2100 1800 l gs col0 s gr gr--% arrowhead-n 2018 1897 m 2087 1824 l 2072 1923 l 2034 1931 l 2018 1897 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-900 3075 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-900 1575 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-3750 1725 m-gs 1 -1 sc (sum) col0 sh gr-/Helvetica ff 270.00 scf sf-3750 2925 m-gs 1 -1 sc (carry) col0 sh gr-/Courier ff 270.00 scf sf-2325 1725 m-gs 1 -1 sc (XOR) col0 sh gr-/Courier ff 270.00 scf sf-2325 2925 m-gs 1 -1 sc (AND) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1493 1156 a Fq(Figure)27 b(2.1:)36 b(A)28-b(half)g(adder.)515 1412 y Fm(2.2)135 b(The)45 b(La)l(v)-7-b(a)45 b(In)l(terpreter)515 1634 y Fq(During)40 b(the)i(dev)n(elopmen)n-(t)e(of)h(a)f(collection)g(of)h(circuits,)j(w)n(e)d(mainly)f(use)h(the)-g(La)n(v)-5 b(a)515 1734 y Fn(interpr)l(eter)p Fq(.)42-b(This)29 b(is)h(actually)e(the)i(Hask)n(ell)f(in)n(terpreter)f-Fn(Hugs)h Fq([8)o(].)43 b(The)29 b(command)g(is)515 1833-y Fp(lava)p Fq(.)602 2011 y Fp(\045)87 b Fl(lava)602-2110 y Fp(--)43 b(Lava2000)d(----------------)o(--)o(---)o(--)o(---)o-(--)o(---)o(--)o(--)o(---)o(--)o(---)o(--)o(--)o(---)o(-)602-2210 y(...)602 2309 y(Prelude>)515 2487 y Fq(W)-7 b(e)36-b(can)f(use)h(the)g(in)n(terpreter)f(to)g(load)g(di\013eren)n(t)h(mo)r-(dules)g(with)g(circuit)g(de\014nitions,)515 2586 y(and)27-b(to)h(t)n(yp)r(e)f(in)h(commands)f(that)h(w)n(e)f(w)n(an)n(t)g(to)h-(execute.)515 2726 y(If)d(w)n(e)f(t)n(yp)r(e)g(in)h(the)g(half)f(adder)-g(de\014nition)h(in)f(the)h(\014le)g Fp(First.hs)p Fq(,)c(w)n(e)k(can)f-(load)f(it)i(in)g(the)515 2825 y(in)n(terpreter,using)h(the)i(command)f-Fp(:l)p Fq(:)602 3002 y Fp(Prelude>)40 b Fl(:l)j(First.hs)602-3102 y Fp(Reading)e(file)h("First.hs":)602 3202 y(...)602-3301 y(First.hs)602 3401 y(Main>)515 3578 y Fq(One)28-b(of)h(the)g(things)g(w)n(e)f(can)h(do)f(with)i(a)e(circuit)h(is)g(sim)-n(ulating)f(it.)41 b(Sim)n(ulation)29 b(is)f(done)515-3678 y(in)c(La)n(v)-5 b(a)23 b(with)i(the)g(op)r(eration)e-Fp(simulate)p Fq(.)32 b(It)25 b(tak)n(es)e(t)n(w)n(o)h(argumen)n(ts;)g-(one)f(is)i(the)f(circuit)515 3777 y(to)j(sim)n(ulate)h(\(in)g(this)h-(case)e Fp(halfAdd)p Fq(\),)e(and)j(the)g(other)f(is)h(the)g(input)h-(to)f(the)g(circuit)g(\(in)515 3877 y(this)g(case)e(a)i(pair)e(of)i-(bits\).)602 4054 y Fp(Main>)41 b Fl(simulate)g(halfAdd)f(\(low,low\))-602 4154 y Fp(\(low,)h(low\))602 4253 y(Main>)g Fl(simulate)g(halfAdd)f-(\(high,high\))602 4353 y Fp(\(low,)h(high\))515 4530-y Fq(If)28 b(w)n(e)f(mak)n(e)g(an)n(y)g(c)n(hanges)g(to)h(the)g(\014le)-g(with)g(our)f(circuit)h(de\014nitions,)g(w)n(e)f(can)h(t)n(yp)r(e)g-(the)515 4630 y(reload)e(command)h Fp(:r)g Fq(in)h(the)g(in)n-(terpreter:)602 4807 y Fp(Main>)41 b Fl(:r)602 4907 y-Fp(...)602 5006 y(Main>)1926 5255 y Fq(7)p eop-%%Page: 8 9-8 8 bop 1005 861 a @beginspecial 0 @llx 0 @lly 452 @urx-101 @ury 2260 @rwi @setspecial-%%BeginDocument: Pictures/fullAdd.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--13.0 172.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 3851 m -1000 -1000 l 8736 -1000 l 8736 3851 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 5100 1800 m 6000 1800 l 6000 2700 l 5100 2700 l cp gs col0 s gr -/Courier ff 270.00 scf sf-5325 2325 m-gs 1 -1 sc (XOR) col0 sh gr-% Polyline-n 1200 2700 m 2700 2700 l gs col0 s gr -% Polyline-gs  clippath-1977 1470 m 2073 1500 l 1977 1530 l 2115 1530 l 2115 1470 l cp-clip-n 1200 1500 m 2100 1500 l gs col0 s gr gr--% arrowhead-n 1977 1470 m 2073 1500 l 1977 1530 l 1953 1500 l 1977 1470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 2100 1200 m 3000 1200 l 3000 2100 l 2100 2100 l cp gs col0 s gr -% Polyline-gs  clippath-1977 1828 m 2075 1812 l 2003 1882 l 2127 1820 l 2100 1766 l cp-clip-n 1200 2100 m 1500 2100 l 2100 1800 l gs col0 s gr gr--% arrowhead-n 1977 1828 m 2075 1812 l 2003 1882 l 1969 1866 l 1977 1828 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 3600 1200 m 4500 1200 l 4500 2100 l 3600 2100 l cp gs col0 s gr -% Polyline-gs  clippath-3492 1866 m 3580 1819 l 3534 1908 l 3632 1811 l 3589 1768 l cp-clip-n 2700 2700 m 3600 1800 l gs col0 s gr gr--% arrowhead-n 3492 1866 m 3580 1819 l 3534 1908 l 3496 1904 l 3492 1866 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4977 2370 m 5073 2400 l 4977 2430 l 5115 2430 l 5115 2370 l cp-clip-n 3000 1800 m 3600 2400 l 5100 2400 l gs col0 s gr gr--% arrowhead-n 4977 2370 m 5073 2400 l 4977 2430 l 4953 2400 l 4977 2370 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3477 1470 m 3573 1500 l 3477 1530 l 3615 1530 l 3615 1470 l cp-clip-n 3000 1500 m 3600 1500 l gs col0 s gr gr--% arrowhead-n 3477 1470 m 3573 1500 l 3477 1530 l 3453 1500 l 3477 1470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6477 1470 m 6573 1500 l 6477 1530 l 6615 1530 l 6615 1470 l cp-clip-n 4500 1500 m 6600 1500 l gs col0 s gr gr--% arrowhead-n 6477 1470 m 6573 1500 l 6477 1530 l 6453 1500 l 6477 1470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6477 2220 m 6573 2250 l 6477 2280 l 6615 2280 l 6615 2220 l cp-clip-n 6000 2250 m 6600 2250 l gs col0 s gr gr--% arrowhead-n 6477 2220 m 6573 2250 l 6477 2280 l 6453 2250 l 6477 2220 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-5003 2018 m 5075 2087 l 4977 2072 l 5100 2134 l 5127 2080 l cp-clip-n 4500 1800 m 5100 2100 l gs col0 s gr gr--% arrowhead-n 5003 2018 m 5075 2087 l 4977 2072 l 4969 2034 l 5003 2018 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-900 1575 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-900 2175 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-6750 1575 m-gs 1 -1 sc (sum) col0 sh gr-/Helvetica ff 270.00 scf sf-6675 2325 m-gs 1 -1 sc (carryOut) col0 sh gr-/Courier ff 270.00 scf sf-2400 1725 m-gs 1 -1 sc (HA) col0 sh gr-/Courier ff 270.00 scf sf-3900 1725 m-gs 1 -1 sc (HA) col0 sh gr-/Helvetica ff 270.00 scf sf-225 2775 m-gs 1 -1 sc (carryIn) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1502 1043 a Fq(Figure)27 b(2.2:)36 b(A)28-b(full)g(adder.)515 1297 y(The)33 b(c)n(hanges)f(are)g(no)n(w)h(up)r-(dated.)55 b(If)33 b(y)n(ou)g(ev)n(er)f(w)n(an)n(t)h(to)g(exit)g(from)g-(the)h(in)n(terpreter,)515 1396 y(y)n(ou)27 b(can)g(use)g(the)h-Fp(:q)f Fq(command.)602 1570 y Fp(Main>)41 b Fl(:q)602-1670 y Fp([Leaving)f(Hugs])602 1770 y(\045)515 2081 y-Fm(2.3)135 b(Y)-11 b(our)44 b(Second)h(Circuit)515 2303-y Fq(Y)-7 b(ou)29 b(guessed)f(it!)42 b(Y)-7 b(our)29-b(second)f(circuit)h(is)g(going)f(to)h(b)r(e)h(a)f Fn(ful)t(l)i(adder)g-Fq(\(see)e(\014gure)g(2.2\),)515 2403 y(a)k(comp)r(onen)n(t)h-Fp(fullAdd)d Fq(that)j(consists)f(of)h(t)n(w)n(o)f(half)h(adders.)55-b(T)-7 b(o)34 b(de\014ne)g(it,)i(add)e(the)515 2502 y(follo)n(wing)26-b(de\014nition)i(to)g(the)g(\014le)f Fp(First.hs)p Fq(.)602-2676 y Fp(fullAdd)41 b(\(carryIn,)e(\(a,)k(b\)\))f(=)h(\(sum,)f-(carryOut\))689 2776 y(where)776 2876 y(\(sum1,)f(carry1\))g(=)i-(halfAdd)e(\(a,)h(b\))776 2975 y(\(sum,)g(carry2\))84-b(=)43 b(halfAdd)e(\(carryIn,)f(sum1\))776 3075 y(carryOut)302-b(=)43 b(xor2)f(\(carry1,)e(carry2\))515 3249 y Fq(Note)32-b(that,)h(just)g(lik)n(e)e(the)h(half)g(adder,)h(this)f(circuit)g(has)f-Fn(one)h Fq(input.)51 b(This)32 b(one)f(input)515 3348-y(consists)h(of)i(a)f(pair)f(of)i(a)f(bit)h(and)f(a)g(pair)g(of)g-(bits.)55 b(W)-7 b(e)34 b(could)f(also)f(ha)n(v)n(e)g(represen)n(ted)-515 3448 y(the)27 b(input)h(as)f(a)g(triple)g(of)g(bits,)h(but)g(w)n(e)-f(shall)g(later)f(see)h(wh)n(y)g(w)n(e)g(made)g(this)g(particular)515-3548 y(c)n(hoice.)515 3687 y(W)-7 b(e)30 b(can)g(sim)n(ulate)g(this)h-(circuit)f(b)n(y)g(using)g(the)g Fp(simulate)d Fq(op)r(eration)i(that)i-(w)n(e)f(used)g(in)515 3787 y(the)22 b(previous)e(section.)35-b(Though)21 b(as)g(inputs)h(get)g(bigger,)f(t)n(yping)h(in)g-(di\013eren)n(t)g(test)g(inputs)515 3886 y(in)30 b(the)g(in)n-(terpreter)f(is)h(a)g(lot)g(of)f(w)n(ork.)43 b(T)-7 b(o)30-b(a)n(v)n(oid)e(this,)j(w)n(e)f(can)f(describ)r(e)h(a)f(n)n(um)n(b)r-(er)h(of)515 3986 y(test)e(cases)e(in)i(the)g(\014le)g-Fp(First.hs)p Fq(:)602 4160 y Fp(test1)41 b(=)j(simulate)c(halfAdd)h-(\(low,low\))602 4260 y(test2)g(=)j(simulate)c(fullAdd)h-(\(low,\(high,low\))o(\))602 4359 y(test3)g(=)j(simulate)c(fullAdd)h-(\(high,\(low,high)o(\)\))515 4533 y Fq(And)28 b(w)n(e)f(can)g(p)r-(erform)g(tests)h(in)g(the)g(in)n(terpreter.)602 4707-y Fp(Main>)41 b Fl(test3)602 4807 y Fp(\(low,)g(high\))602-4907 y(Main>)g Fl(test2)602 5006 y Fp(\(high,)g(low\))1926-5255 y Fq(8)p eop-%%Page: 9 10-9 9 bop 515 523 a Fq(If)26 b(w)n(e)f(w)n(an)n(t)g(to)h(sim)n(ulate)f(y)-n(our)g(circuit)h(for)f(more)g(than)h(one)f(input)i(at)e(the)h(time,)h-(w)n(e)e(can)515 623 y(use)g(the)g(op)r(eration)f Fp(simulateSeq)p-Fq(.)32 b(It)25 b(tak)n(es)f(a)h(circuit)g(and)g(a)g(list)g(of)g-(sample)g(inputs)h(as)515 722 y(a)h(parameter.)35 b(Lists)28-b(are)e(denoted)i(b)r(et)n(w)n(een)g(square)e(brac)n(k)n(ets.)602-904 y Fp(Main>)41 b Fl(simulateSeq)e(halfAdd)i([\(low,low\),)e-(\(low,high\),)g(\(high,low\)])602 1004 y Fp([\(low,low\),)g-(\(high,low\),)g(\(high,low\)])515 1185 y Fq(There)28-b(is)g(a)g(sp)r(ecial)g(list,)g(called)g Fp(domain)p-Fq(,)e(whic)n(h)j(con)n(tains)e(all)h(the)h(v)-5 b(alues)28-b(of)g(a)g(certain)515 1285 y(input)g(shap)r(e.)602 1466-y Fp(Main>)41 b Fl(simulateSeq)e(halfAdd)i(domain)602-1566 y Fp([\(low,low\),)e(\(high,low\),)g(\(high,low\),)g-(\(low,high\)])515 1748 y Fq(Not)d(all)g(input)h(shap)r(es)e(\(for)h-(example)g(inputs)h(con)n(taining)e(n)n(um)n(b)r(ers!\))62-b(ha)n(v)n(e)35 b(a)h(\014nite)515 1847 y(domain)27 b(list)h(asso)r-(ciated)e(with)i(them.)515 2161 y Fm(2.4)135 b(Generating)46-b(VHDL)515 2382 y Fq(Giv)n(en)29 b(a)g(La)n(v)-5 b(a)28-b(circuit)h(description,)h(w)n(e)f(can)g(generate)f(VHDL)i(from)f(it,)i-(b)n(y)e(using)g(the)515 2482 y(op)r(eration)21 b Fp(writeVhdl)p-Fq(.)31 b(It)22 b(tak)n(es)f(t)n(w)n(o)h(argumen)n(ts,)f(the)i(name)e-(of)h(the)h(VHDL)g(de\014nition)515 2582 y(as)k(a)g(string,)g(and)g-(the)h(circuit.)602 2763 y Fp(Main>)41 b Fl(writeVhdl)f("fullAdd")g-(fullAdd)602 2863 y Fp(Writing)h(to)h(file)g("fullAdd.vhd")c(...)43-b(Done.)515 3044 y Fq(The)32 b(VHDL)i(\014le)f(that)f(is)h(generated)e-(will)i(assume)f(that)h(there)f(are)g(de\014nitions)g(of)h(the)515-3144 y(gates.)58 b(The)35 b(La)n(v)-5 b(a)33 b(distribution)j(pro)n-(vides)d(these)i(de\014nitions)g(in)g(the)h(\014le)f-Fp(Lava2000/)515 3244 y(Auxiliary/lava.v)o(hd)o Fq(.)46-b(W)-7 b(e)33 b(m)n(ust)g(load)f(this)h(\014le)g(in)n(to)f(the)h(VHDL)g-(w)n(orking)e(library)515 3343 y(and)c(compile)h(it.)515-3483 y(Normally)-7 b(,)23 b(the)g(VHDL)h(generator)c(giv)n(es)i(names)h-(to)f(the)i(inputs)f(and)g(outputs)g(automat-)515 3582-y(ically)-7 b(.)36 b(If)27 b(w)n(e)g(w)n(an)n(t)f(to)g(giv)n(e)g(names)-h(to)f(the)i(input)f(ourselv)n(es,)e(w)n(e)i(can)f(do)h(this)g(b)n(y)f-(using)515 3682 y(the)i(op)r(eration)e Fp(writeVhdlInput)p-Fq(.)31 b(Here)d(is)f(ho)n(w)g(w)n(e)g(use)h(it:)602-3864 y Fp(Main>)41 b Fl(writeVhdlInput)d("fullAdd")i(fullAdd)1604-3963 y(\(var)i("carryIn",)e(\(var)i("a",)g(var)g("b"\)\))602-4063 y Fp(Writing)f(to)h(file)g("fullAdd.vhd")c(...)43-b(Done.)515 4245 y Fq(And)28 b(lastly)-7 b(,)27 b(if)i(w)n(e)e(also)g-(w)n(an)n(t)g(to)g(giv)n(e)g(names)g(for)g(the)i(outputs,)f(w)n(e)f-(can)g(use)h(the)g(op)r(er-)515 4344 y(ations)f Fp(writeVhdlInputO)o-(utp)o(ut)o Fq(.)k(Here)d(is)f(ho)n(w)g(w)n(e)g(use)h(it:)602-4526 y Fp(Main>)41 b Fl(writeVhdlInputOut)o(put)c("fullAdd")j(fullAdd)-1604 4625 y(\(var)i("carryIn",)e(\(var)i("a",)g(var)g("b"\)\))2258-4725 y(\(var)g("sum",)f(var)i("carryOut"\))602 4825 y-Fp(Writing)e(to)h(file)g("fullAdd.vhd")c(...)43 b(Done.)515-5006 y Fq(See)27 b(\014gure)g(2.3)g(for)g(the)h(result)f(of)h(this)g-(last)f(op)r(eration.)1926 5255 y(9)p eop-%%Page: 10 11-10 10 bop 515 481 a Fk(use)36 b(work.all;)515 638 y(entity)707-b(architecture)585 717 y(fullAdd)673 b(structural)515-796 y(is)847 b(of)515 875 y(port)h(fullAdd)585 954 y(--)36-b(clock)566 b(is)585 1033 y(\()36 b(clk)g(:)g(in)f(bit)425-b(signal)37 b(w1)f(:)f(bit;)585 1112 y(--)h(inputs)602-b(signal)37 b(w2)f(:)f(bit;)585 1190 y(;)h(carryIn)h(:)f(in)g(bit)283-b(signal)37 b(w3)f(:)f(bit;)585 1269 y(;)h(a)f(:)h(in)g(bit)424-b(begin)585 1348 y(;)36 b(b)f(:)h(in)g(bit)495 b(c_w1)248-b(:)35 b(entity)i(and2)g(port)f(map)g(\(clk,)h(a,)f(b,)g(w1\);)585-1427 y(--)g(outputs)567 b(c_sum)213 b(:)35 b(entity)i(and2)g(port)f-(map)g(\(clk,)h(w1,)f(carryIn,)i(sum\);)585 1506 y(;)e(sum)g(:)g(out)g-(bit)389 b(c_w2)248 b(:)35 b(entity)i(xor2)g(port)f(map)g(\(clk,)h(a,)f-(b,)g(w2\);)585 1585 y(;)g(carryOut)h(:)f(out)g(bit)213-b(c_w3)248 b(:)35 b(entity)i(xor2)g(port)f(map)g(\(clk,)h(w1,)f-(carryIn,)i(w3\);)585 1664 y(\);)848 b(c_carryOut)38-b(:)d(entity)i(xor2)g(port)f(map)g(\(clk,)h(w2,)f(w3,)g(carryOut\);)515-1743 y(end)g(entity)h(fullAdd;)249 b(end)36 b(structural;)795-1988 y Fq(Figure)27 b(2.3:)36 b(The)28 b(VHDL)g(co)r(de)g(for)f(the)h-(full)g(adder)f(in)h Fp(fullAdd.vhd)p Fq(.)515 2253 y-Fm(2.5)135 b(Exercises)575 2469 y Fq(2.1)40 b(De\014ne)22-b(the)g(circuits)g Fp(swap)e Fq(and)h Fp(copy)p Fq(.)33-b(Sw)n(ap)21 b(gets)g(a)h(pair)e(of)i(inputs,)h(and)f(outputs)722-2568 y(them)28 b(in)g(the)f(sw)n(app)r(ed)g(order.)35-b(Cop)n(y)27 b(gets)f(one)h(input)h(and)f(outputs)h(it)g(t)n(wice,)f-(as)722 2668 y(a)g(pair.)37 b(Here)27 b(is)g(ho)n(w)g(they)h(should)g-(b)r(eha)n(v)n(e:)809 2867 y Fp(Main>)42 b Fl(simulateSeq)d(swap)j-([\(low,)f(high\),)g(\(low,)h(low\),)f(\(high,)g(low\)])809-2967 y Fp([\(high,)g(low\),)h(\(low,)f(low\),)h(\(low,)f(high\)])809-3066 y(Main>)h Fl(simulateSeq)d(copy)j([low,)f(high])809-3166 y Fp([\(low,)h(low\),)f(\(high,)g(high\)])575 3365-y Fq(2.2)f(De\014ne)32 b(a)e Fn(two-bit)j(sorter)p Fq(.)48-b(It)31 b(tak)n(es)f(as)h(input)g(a)g(pair)f(of)h(bits,)i(and)d-(outputs)i(the)722 3465 y(same)f(bits,)h(but)g(the)f(lo)n(w)n(est)f-(one)h(on)g(the)g(left)h(hand)f(side,)h(and)f(the)h(highest)e(one)722-3564 y(on)e(the)g(righ)n(t)e(hand)i(side.)575 3730 y(2.3)40-b(De\014ne)e(a)e(circuit)h(with)g(no)f(inputs,)k(and)d(one)f(output,)k-(whic)n(h)d(is)f(alw)n(a)n(ys)f(high.)722 3830 y(Hin)n(t:)j(input)28-b(consisting)f(of)g(no)h(wires)f(is)g(written)h(as)f-Fp(\(\))p Fq(.)575 3996 y(2.4)40 b(De\014ne)34 b(and)f(sim)n(ulate)g(a)-g Fn(multiplexer)g Fq(in)h(La)n(v)-5 b(a.)52 b(A)34 b(m)n(ultiplexer)f-(circuit)g(has)g(as)722 4096 y(an)27 b(input)h(a)f(pair)f(of)h(a)f-(signal)h(and)g(a)f(pair)g Fp(\(x,)43 b(y\))p Fq(.)36-b(The)27 b(output)g(is)g(equal)g(to)g Fp(x)g Fq(if)722-4195 y(the)h(signal)f(is)g(lo)n(w,)g(and)h(to)f Fp(y)h-Fq(if)g(the)g(signal)e(is)i(high.)575 4361 y(2.5)40 b(Use)c(three)g-(full)h(adders)e(to)h(mak)n(e)f(a)g(three)h(bit)h(binary)e(adder.)61-b(Sim)n(ulate)36 b(y)n(our)722 4461 y(design)27 b(and)h(generate)e-(VHDL)j(co)r(de.)575 4627 y(2.6)40 b(Supp)r(ose)c(y)n(ou)e(are)h-(designing)f(a)h(digital)h(w)n(atc)n(h.)59 b(It)36 b(migh)n(t)f(come)g-(in)h(handy)f(to)722 4727 y(ha)n(v)n(e)g(a)g(circuit)h(that)g(tak)n(es)-f(a)h(four-bit)g(binary)f(n)n(um)n(b)r(er)g(and)h(displa)n(ys)f(it)h-(as)f(a)722 4826 y(digital)c(digit,)g(using)f(a)g(sev)n(en)g(segmen)n-(t)g(displa)n(y)-7 b(.)45 b(Y)-7 b(our)30 b(circuit)h(migh)n(t)f(ha)n-(v)n(e)g(the)722 4926 y(follo)n(wing)d(in)n(terface)g(\(see)g(\014gure)-g(2.4\):)1905 5255 y(10)p eop-%%Page: 11 12-11 11 bop 1734 1065 a @beginspecial 0 @llx 0 @lly 51-@urx 75 @ury 510 @rwi @setspecial-%%BeginDocument: Pictures/display.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--2.0 77.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 2269 m -1000 -1000 l 1872 -1000 l 1872 2269 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 150 225 m 225 225 l 225 600 l 150 600 l cp gs col0 s gr -% Polyline-n 150 675 m 225 675 l 225 1050 l 150 1050 l cp gs col0 s gr -% Polyline-n 675 225 m 750 225 l 750 600 l 675 600 l cp gs col0 s gr -% Polyline-n 150 600 m 750 600 l 750 675 l 150 675 l cp gs col0 s gr -% Polyline-n 150 1050 m 750 1050 l 750 1125 l 150 1125 l cp gs col0 s gr -% Polyline-n 675 675 m 750 675 l 750 1050 l 675 1050 l cp gs col0 s gr -% Polyline-n 150 150 m 750 150 l 750 225 l 150 225 l cp gs col0 s gr -/Times-Roman ff 180.00 scf sf-787 895 m-gs 1 -1 sc (c) col0 sh gr-/Times-Roman ff 180.00 scf sf-48 447 m-gs 1 -1 sc (f) col0 sh gr-/Times-Roman ff 180.00 scf sf-38 895 m-gs 1 -1 sc (e) col0 sh gr-/Times-Roman ff 180.00 scf sf-413 538 m-gs 1 -1 sc (g) col0 sh gr-/Times-Roman ff 180.00 scf sf-409 125 m-gs 1 -1 sc (a) col0 sh gr-/Times-Roman ff 180.00 scf sf-780 447 m-gs 1 -1 sc (b) col0 sh gr-/Times-Roman ff 180.00 scf sf-412 1269 m-gs 1 -1 sc (d) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1460 1248 a Fq(Figure)27 b(2.4:)36 b(Digital)28-b(displa)n(y)-7 b(.)809 1513 y Fp(digitalDisplay)38 b(\(one,)k(two,)g-(four,)f(eight\))g(=)940 1613 y(\(a,)i(b,)f(c,)h(d,)g(e,)g(f,)f(g\))897-1712 y(where)f(...)722 1911 y Fq(Hin)n(t:)i(start)29-b(b)n(y)h(making)f(a)h(table)g(with)g(10)f(en)n(tries)h(\(0)g(..)44-b(9\))30 b(where)g(y)n(ou)f(can)g(see)722 2011 y(what)f(parts)f(of)g-(the)h(displa)n(y)f(should)g(ligh)n(t)h(up)g(for)f(what)g(n)n(um)n(b)r-(er.)1905 5255 y(11)p eop-%%Page: 12 13-12 12 bop 515 1186 a Fo(Chapter)64 b(3)515 1641 y Fs(Bigger)77-b(Circuits)515 2112 y Fq(In)26 b(this)f(c)n(hapter)g(w)n(e)g(describ)r-(e)h(ho)n(w)f(to)g(mak)n(e)g(more)g(complicated)g(circuits)g(using)g-(recur-)515 2212 y(sion)i(and)g Fn(c)l(onne)l(ction)j(p)l(atterns)p-Fq(.)37 b(W)-7 b(e)28 b(will)f(also)g(see)g(ho)n(w)g(w)n(e)g(use)h(n)n-(um)n(b)r(ers)f(in)h(La)n(v)-5 b(a.)515 2524 y Fm(3.1)135-b(Recursion)45 b(o)l(v)l(er)h(Lists)515 2746 y Fq(A)27-b Fn(bit)i(adder)f Fq(tak)n(es)e(a)g(pair)g(of)h(inputs.)37-b(The)27 b(\014rst)g(part)f(is)g(a)h(carry)e(bit,)i(the)g(second)g-(part)515 2845 y(is)g(a)f(binary)h(n)n(um)n(b)r(er,)g(represen)n(ted)e-(as)i(a)g(list)g(of)g(bits.)37 b(The)27 b(bit)h(adder)e(will)h(add)g-(the)h(bit)515 2945 y(to)f(the)h(binary)f(n)n(um)n(b)r(er,)g(resulting)-g(in)h(a)f(binary)g(n)n(um)n(b)r(er)h(and)f(a)g(carry)f(out.)515-3084 y(W)-7 b(e)24 b(de\014ne)g(a)g(bit)g(adder)f Fp(bitAdder)e-Fq(in)j(La)n(v)-5 b(a)23 b(b)n(y)h(recursion)e(o)n(v)n(er)g(the)j(list)-f(of)g(bits.)36 b(There)515 3184 y(are)29 b(t)n(w)n(o)h(cases.)44-b(Either)30 b(the)h(list)f(is)g(empt)n(y)-7 b(,)32 b(denoted)e(as)g-Fp([])p Fq(,)g(and)h(there)f(is)g(nothing)g(to)515 3284-y(add.)39 b(Or)28 b(the)h(list)f(has)g(at)h(least)f(one)g(elemen)n(t)h-Fp(a)p Fq(,)f(and)g(w)n(e)h(can)f(split)h(the)g(list)f(up)h(in)g(t)n(w)-n(o)515 3383 y(parts,)c Fp(a)h Fq(and)g Fp(as)p Fq(,)g(denoted)g(as)f-Fp(a:as)p Fq(.)35 b(In)26 b(this)h(case,)e(w)n(e)h(will)g(use)g(an)g-(half)g(adder)f(to)h(add)515 3483 y Fp(a)e Fq(and)g(the)g(carry)-7-b(,)24 b(and)g Fn(r)l(e)l(cursively)h Fq(add)f(the)g(resulting)g(carry)-f(to)h(the)g(rest)g(of)g(the)h(binary)515 3582 y(n)n(um)n(b)r(er.)602-3758 y Fp(bitAdder)40 b(\(carryIn,)g([]\))130 b(=)43-b(\([],)f(carryIn\))602 3957 y(bitAdder)e(\(carryIn,)g(a:as\))i(=)h-(\(sum:sums,)c(carryOut\))689 4057 y(where)776 4157 y(\(sum,)j(carry\))-215 b(=)43 b(halfAdd)e(\(carryIn,)f(a\))776 4256 y(\(sums,)h-(carryOut\))f(=)j(bitAdder)e(\(carry,)f(as\))515 4432-y Fq(A)26 b(more)f(complicated)g(circuit)h(is)f(the)h(circuit)g-Fp(adder)d Fq(that)j(tak)n(es)f(a)g(carry)f(and)i(a)f(pair)g(of)515-4532 y(binary)c(n)n(um)n(b)r(ers,)h(and)g(adds)f(them)i(up.)35-b(This)22 b(is)g(called)f(a)h(binary)f(adder.)34 b(The)22-b(recursiv)n(e)515 4631 y(structure)g(is)i(almost)e(the)i(same,)g(but)g-(w)n(e)e(are)h(doing)f Fn(simultane)l(ous)h Fq(recursion)f(o)n(v)n(er)g-(b)r(oth)515 4731 y(binary)27 b(n)n(um)n(b)r(ers.)602-4907 y Fp(adder)41 b(\(carryIn,)f(\([],)i([]\)\))216-b(=)44 b(\([],)e(carryIn\))1905 5255 y Fq(12)p eop-%%Page: 13 14-13 13 bop 1441 673 a @beginspecial 0 @llx 0 @lly 243-@urx 56 @ury 1215 @rwi @setspecial-%%BeginDocument: Pictures/serial.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--58.0 307.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 6112 m -1000 -1000 l 6013 -1000 l 6013 6112 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 1800 4200 m 2700 4200 l 2700 5100 l 1800 5100 l cp gs col0 s gr -% Polyline-n 3300 4200 m 4200 4200 l 4200 5100 l 3300 5100 l cp gs col0 s gr -% Polyline-gs  clippath-1677 4620 m 1773 4650 l 1677 4680 l 1815 4680 l 1815 4620 l cp-clip-n 1200 4650 m 1800 4650 l gs col0 s gr gr--% arrowhead-n 1677 4620 m 1773 4650 l 1677 4680 l 1653 4650 l 1677 4620 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 4620 m 3273 4650 l 3177 4680 l 3315 4680 l 3315 4620 l cp-clip-n 2700 4650 m 3300 4650 l gs col0 s gr gr--% arrowhead-n 3177 4620 m 3273 4650 l 3177 4680 l 3153 4650 l 3177 4620 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 4620 m 4773 4650 l 4677 4680 l 4815 4680 l 4815 4620 l cp-clip-n 4200 4650 m 4800 4650 l gs col0 s gr gr--% arrowhead-n 4677 4620 m 4773 4650 l 4677 4680 l 4653 4650 l 4677 4620 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-975 4725 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-2925 4575 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-4875 4725 m-gs 1 -1 sc (c) col0 sh gr-/Courier ff 270.00 scf sf-1875 4725 m-gs 1 -1 sc (circ1) col0 sh gr-/Courier ff 270.00 scf sf-3375 4725 m-gs 1 -1 sc (circ2) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1014 856 a Fq(Figure)27 b(3.1:)36 b(Serial)27-b(comp)r(osition)g(of)h Fp(circ1)d Fq(and)j Fp(circ2)p-Fq(.)1428 1630 y @beginspecial 0 @llx 0 @lly 249 @urx-158 @ury 1245 @rwi @setspecial-%%BeginDocument: Pictures/circF.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--99.0 180.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 4000 m -1000 -1000 l 6786 -1000 l 6786 4000 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 3150 1200 m 4050 1200 l 4050 2100 l 3150 2100 l cp gs col0 s gr -% Polyline-gs  clippath-3027 1620 m 3123 1650 l 3027 1680 l 3165 1680 l 3165 1620 l cp-clip-n 2550 1650 m 3150 1650 l gs col0 s gr gr--% arrowhead-n 3027 1620 m 3123 1650 l 3027 1680 l 3003 1650 l 3027 1620 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3630 1077 m 3600 1173 l 3570 1077 l 3570 1215 l 3630 1215 l cp-clip-n 3600 600 m 3600 1200 l gs col0 s gr gr--% arrowhead-n 3630 1077 m 3600 1173 l 3570 1077 l 3600 1053 l 3630 1077 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3630 2577 m 3600 2673 l 3570 2577 l 3570 2715 l 3630 2715 l cp-clip-n 3600 2100 m 3600 2700 l gs col0 s gr gr--% arrowhead-n 3630 2577 m 3600 2673 l 3570 2577 l 3600 2553 l 3630 2577 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4527 1620 m 4623 1650 l 4527 1680 l 4665 1680 l 4665 1620 l cp-clip-n 4050 1650 m 4650 1650 l gs col0 s gr gr--% arrowhead-n 4527 1620 m 4623 1650 l 4527 1680 l 4503 1650 l 4527 1620 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-1650 1725 m-gs 1 -1 sc (carryIn) col0 sh gr-/Courier ff 270.00 scf sf-3525 1725 m-gs 1 -1 sc (F) col0 sh gr-/Helvetica ff 270.00 scf sf-4725 1725 m-gs 1 -1 sc (carryOut) col0 sh gr-/Helvetica ff 270.00 scf sf-3525 525 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-3525 3000 m-gs 1 -1 sc (b) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 891 1813 a(Figure)f(3.2:)36 b(A)28 b(circuit)g-Fj(F)39 b Fq(pro)r(cessing)26 b(an)i(input)g Fp(a)f Fq(and)h(a)f(carry)--7 b(.)602 2078 y Fp(adder)41 b(\(carryIn,)f(\(a:as,)h(b:bs\)\))g(=)j-(\(sum:sums,)39 b(carryOut\))689 2178 y(where)776 2277-y(\(sum,)j(carry\))215 b(=)43 b(fullAdd)e(\(carryIn,)f(\(a,)i(b\)\))776-2377 y(\(sums,)f(carryOut\))f(=)j(adder)f(\(carry,)f(\(as,)h(bs\)\))515-2691 y Fm(3.2)135 b(Connection)46 b(P)l(atterns)515 2913-y Fq(Lo)r(oking)30 b(at)h(the)h(t)n(w)n(o)f(circuit)h(de\014nitions)f-(in)h(the)g(previous)e(section,)i(w)n(e)g(can)f(see)g(that)515-3013 y(they)e(ha)n(v)n(e)e(a)i(lot)f(in)h(common.)40-b(Ev)n(en)28 b(though)g(the)h Fn(gates)h Fq(that)f(they)g(use)f(are)g-(di\013eren)n(t,)515 3112 y(their)f Fn(structur)l(e)f-Fq(is)i(v)n(ery)e(similar.)515 3252 y(In)h(La)n(v)-5-b(a,)26 b(w)n(e)h(can)f(capture)h(these)g(common)g(structures)f(in)h-Fn(c)l(onne)l(ction)i(p)l(atterns)p Fq(.)37 b(Con-)515-3351 y(nection)23 b(patterns)g(are)g(higher-order)e(circuits;)k-(circuits)e(that)h(build)g(circuits)f(from)h(other)515-3451 y(circuits.)515 3590 y(A)39 b(v)n(ery)e(common)h(connection)h-(pattern)f(is)h(the)g Fn(serial)h Fq(comp)r(osition)e-Fp(serial)e Fq(of)j(t)n(w)n(o)515 3690 y(circuits)30-b(\(see)h(\014gure)f(3.1\).)46 b(It)31 b(is)f(a)h(circuit)f-Fn(p)l(ar)l(ametrize)l(d)j Fq(b)n(y)d(t)n(w)n(o)g(circuits)g-Fp(circ1)f Fq(and)515 3790 y Fp(circ2)p Fq(.)k(This)24-b(means)g(that)g Fp(serial)41 b(circ1)h(circ2)22 b Fq(is)i(a)f-(circuit,)i(whic)n(h)f(feeds)g(its)g(input)515 3889 y-Fp(a)33 b Fq(to)g Fp(circ1)p Fq(,)g(connects)h(the)f(output)i-Fp(b)e Fq(of)g(it)h(to)g(the)g(input)g(of)f Fp(circ2)p-Fq(,)g(and)h(results)f(in)515 3989 y(that)28 b(output)g-Fp(c)p Fq(.)602 4175 y Fp(serial)41 b(circ1)h(circ2)f(a)i(=)g(c)689-4274 y(where)776 4374 y(b)g(=)h(circ1)d(a)776 4474 y(c)i(=)h(circ2)d(b)-515 4660 y Fq(More)29 b(in)n(teresting)g(connection)h(patterns)f(app)r-(ear)h(when)g(w)n(e)g(lo)r(ok)f(at)h(recursiv)n(e)e(circuit)515-4759 y(structures.)39 b(F)-7 b(or)28 b(example,)g(instead)h(of)f(the)h-(half)g(adder)f(circuit)g(in)h(the)g Fp(addBit)d Fq(de\014ni-)515-4859 y(tion,)32 b(w)n(e)g(can)f(plug)g(in)h(an)n(y)f(other)g(circuit.)-49 b(The)32 b(result)f(consists)g(of)g(a)g Fn(r)l(ow)h-Fq(of)g(smaller)515 4959 y(circuits)27 b(\(see)h(\014gure)e(3.2)h(and)h-(3.3\).)1905 5255 y(13)p eop-%%Page: 14 15-14 14 bop 791 1119 a @beginspecial 0 @llx 0 @lly 555-@urx 163 @ury 2775 @rwi @setspecial-%%BeginDocument: Pictures/rowF.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--18.0 419.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/reencdict 12 dict def /ReEncode { reencdict begin-/newcodesandnames exch def /newfontname exch def /basefontname exch def-/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def-basefontdict { exch dup /FID ne { dup /Encoding eq-{ exch dup length array copy newfont 3 1 roll put }-{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall-newfont /FontName newfontname put newcodesandnames aload pop-128 1 255 { newfont /Encoding get exch /.notdef put } for-newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat-newfontname newfont definefont pop end } def-/isovec [-8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde-8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis-8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron-8#220 /dotlessi 8#230 /oe 8#231 /OE-8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling-8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis-8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot-8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus-8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph-8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine-8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf-8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute-8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring-8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute-8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute-8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve-8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply-8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex-8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave-8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring-8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute-8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute-8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve-8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide-8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex-8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def-/Helvetica /Helvetica-iso isovec ReEncode-/Courier /Courier-iso isovec ReEncode-/Times-Italic /Times-Italic-iso isovec ReEncode-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 7975 m -1000 -1000 l 10536 -1000 l 10536 7975 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 1800 5100 m 2700 5100 l 2700 6000 l 1800 6000 l cp gs col0 s gr -% Polyline-n 3300 5100 m 4200 5100 l 4200 6000 l 3300 6000 l cp gs col0 s gr -% Polyline- [15 45] 45 sd-n 4200 5550 m 5400 5550 l gs col0 s gr  [] 0 sd-% Polyline-n 5400 5100 m 6300 5100 l 6300 6000 l 5400 6000 l cp gs col0 s gr -% Polyline-n 6900 5100 m 7800 5100 l 7800 6000 l 6900 6000 l cp gs col0 s gr -% Polyline-gs  clippath-1677 5520 m 1773 5550 l 1677 5580 l 1815 5580 l 1815 5520 l cp-clip-n 1200 5550 m 1800 5550 l gs col0 s gr gr--% arrowhead-n 1677 5520 m 1773 5550 l 1677 5580 l 1653 5550 l 1677 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 5520 m 3273 5550 l 3177 5580 l 3315 5580 l 3315 5520 l cp-clip-n 2700 5550 m 3300 5550 l gs col0 s gr gr--% arrowhead-n 3177 5520 m 3273 5550 l 3177 5580 l 3153 5550 l 3177 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 4977 m 2250 5073 l 2220 4977 l 2220 5115 l 2280 5115 l cp-clip-n 2250 4500 m 2250 5100 l gs col0 s gr gr--% arrowhead-n 2280 4977 m 2250 5073 l 2220 4977 l 2250 4953 l 2280 4977 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 6477 m 2250 6573 l 2220 6477 l 2220 6615 l 2280 6615 l cp-clip-n 2250 6000 m 2250 6600 l gs col0 s gr gr--% arrowhead-n 2280 6477 m 2250 6573 l 2220 6477 l 2250 6453 l 2280 6477 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3780 6477 m 3750 6573 l 3720 6477 l 3720 6615 l 3780 6615 l cp-clip-n 3750 6000 m 3750 6600 l gs col0 s gr gr--% arrowhead-n 3780 6477 m 3750 6573 l 3720 6477 l 3750 6453 l 3780 6477 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3780 4977 m 3750 5073 l 3720 4977 l 3720 5115 l 3780 5115 l cp-clip-n 3750 4500 m 3750 5100 l gs col0 s gr gr--% arrowhead-n 3780 4977 m 3750 5073 l 3720 4977 l 3750 4953 l 3780 4977 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-5880 4977 m 5850 5073 l 5820 4977 l 5820 5115 l 5880 5115 l cp-clip-n 5850 4500 m 5850 5100 l gs col0 s gr gr--% arrowhead-n 5880 4977 m 5850 5073 l 5820 4977 l 5850 4953 l 5880 4977 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-5880 6477 m 5850 6573 l 5820 6477 l 5820 6615 l 5880 6615 l cp-clip-n 5850 6000 m 5850 6600 l gs col0 s gr gr--% arrowhead-n 5880 6477 m 5850 6573 l 5820 6477 l 5850 6453 l 5880 6477 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6777 5520 m 6873 5550 l 6777 5580 l 6915 5580 l 6915 5520 l cp-clip-n 6300 5550 m 6900 5550 l gs col0 s gr gr--% arrowhead-n 6777 5520 m 6873 5550 l 6777 5580 l 6753 5550 l 6777 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-8277 5520 m 8373 5550 l 8277 5580 l 8415 5580 l 8415 5520 l cp-clip-n 7800 5550 m 8400 5550 l gs col0 s gr gr--% arrowhead-n 8277 5520 m 8373 5550 l 8277 5580 l 8253 5550 l 8277 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-7380 4977 m 7350 5073 l 7320 4977 l 7320 5115 l 7380 5115 l cp-clip-n 7350 4500 m 7350 5100 l gs col0 s gr gr--% arrowhead-n 7380 4977 m 7350 5073 l 7320 4977 l 7350 4953 l 7380 4977 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-7380 6477 m 7350 6573 l 7320 6477 l 7320 6615 l 7380 6615 l cp-clip-n 7350 6000 m 7350 6600 l gs col0 s gr gr--% arrowhead-n 7380 6477 m 7350 6573 l 7320 6477 l 7350 6453 l 7380 6477 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica-iso ff 270.00 scf sf-300 5625 m-gs 1 -1 sc (carryIn) col0 sh gr-/Helvetica-iso ff 270.00 scf sf-2100 4425 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica-iso ff 270.00 scf sf-2100 6900 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica-iso ff 270.00 scf sf-3600 4425 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica-iso ff 270.00 scf sf-3600 6900 m-gs 1 -1 sc (b) col0 sh gr-/Courier-iso ff 270.00 scf sf-2175 5625 m-gs 1 -1 sc (F) col0 sh gr-/Courier-iso ff 270.00 scf sf-3675 5625 m-gs 1 -1 sc (F) col0 sh gr-/Times-Italic-iso ff 270.00 scf sf-2250 4500 m-gs 1 -1 sc (1) col0 sh gr-/Times-Italic-iso ff 270.00 scf sf-3750 4500 m-gs 1 -1 sc (2) col0 sh gr-/Times-Italic-iso ff 270.00 scf sf-3750 6975 m-gs 1 -1 sc (2) col0 sh gr-/Times-Italic-iso ff 270.00 scf sf-2250 6975 m-gs 1 -1 sc (1) col0 sh gr-/Helvetica-iso ff 270.00 scf sf-8475 5625 m-gs 1 -1 sc (carryOut) col0 sh gr-/Helvetica-iso ff 270.00 scf sf-5475 4425 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica-iso ff 270.00 scf sf-5475 6900 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica-iso ff 270.00 scf sf-7200 4425 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica-iso ff 270.00 scf sf-7200 6900 m-gs 1 -1 sc (b) col0 sh gr-/Courier-iso ff 270.00 scf sf-5775 5625 m-gs 1 -1 sc (F) col0 sh gr-/Courier-iso ff 270.00 scf sf-7275 5625 m-gs 1 -1 sc (F) col0 sh gr-/Times-Italic-iso ff 270.00 scf sf-5625 4500 m-gs 1 -1 sc (\(n-1\)) col0 sh gr-/Times-Italic-iso ff 270.00 scf sf-5625 6975 m-gs 1 -1 sc (\(n-1\)) col0 sh gr-/Times-Italic-iso ff 270.00 scf sf-7350 6975 m-gs 1 -1 sc (n) col0 sh gr-/Times-Italic-iso ff 270.00 scf sf-7350 4500 m-gs 1 -1 sc (n) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 847 1302 a Fq(Figure)27 b(3.3:)36 b(The)28-b(pattern)f Fp(row)g Fj(F)12 b Fq(,)27 b(connecting)g-Fj(n)h Fq(instances)f(of)h Fj(F)12 b Fq(.)515 1550 y(Here)27-b(is)g(ho)n(w)g(w)n(e)h(de\014ne)g(the)f Fp(row)g Fq(connection)g-(pattern.)602 1718 y Fp(row)42 b(circ)g(\(carryIn,)e([]\))130-b(=)43 b(\([],)f(carryIn\))602 1917 y(row)g(circ)g(\(carryIn,)e(a:as\))-i(=)h(\(b:bs,)e(carryOut\))689 2017 y(where)776 2117-y(\(b,)i(carry\))215 b(=)43 b(circ)f(\(carryIn,)e(a\))776-2216 y(\(bs,)i(carryOut\))e(=)j(row)g(circ)e(\(carry,)g(as\))515-2385 y Fq(Once)25 b(w)n(e)g(ha)n(v)n(e)g(made)g(this)h(de\014nition,)g-(w)n(e)g(do)f(not)h(need)f(to)h(use)f(recursion)f(an)n(ymore)g(to)515-2485 y(de\014ne)k(circuits)f(of)g(this)h(sp)r(eci\014c)g(pattern.)515-2624 y(Here)f(are)g(alternativ)n(e)f(de\014nitions)i(of)f-Fp(bitAdder)e Fq(and)i Fp(adder)p Fq(:)602 2793 y Fp(bitAdder')40-b(\(carry,)g(inps\))i(=)h(row)f(halfAdd)f(\(carry,)g(inps\))602-2892 y(adder')172 b(\(carry,)40 b(inps\))i(=)h(row)f(fullAdd)f-(\(carry,)g(inps\))515 3061 y Fq(Doing)33 b(so)g(not)h(only)f(mak)n(es)-g(the)h(circuit)f(descriptions)g(shorter.)54 b(F)-7 b(or)33-b(someb)r(o)r(dy)g(who)515 3160 y(kno)n(ws)21 b(ho)n(w)g(the)i(pattern)-f Fp(row)e Fq(is)i(de\014ned,)i(it)e(is)g(m)n(uc)n(h)g(easier)f(to)h-(understand)g(the)g(circuit)515 3260 y(de\014nition.)36-b(It)27 b(is)f(also)f(v)n(ery)f(con)n(v)n(enien)n(t)h(to)h(b)r(e)h-(able)e(to)h(mix)g(these)g(t)n(w)n(o)g(di\013eren)n(t)g(st)n(yles)515-3360 y(of)h(descriptions.)515 3499 y(Note)f(that)g(the)g(reason)e(wh)n-(y)h(w)n(e)h(c)n(hose)f(the)h(input)g(to)g Fp(fullAdd)d-Fq(to)j(ha)n(v)n(e)e(the)i(particular)515 3599 y(form)32-b(it)h(has)f(is)h(b)r(ecause)f(w)n(e)g(w)n(an)n(ted)g(it)h(to)f(b)r(e)h-(used)g(with)g Fp(row)p Fq(.)51 b(W)-7 b(e)33 b(will)g(alw)n(a)n(ys)d-(use)515 3698 y(that)i(con)n(v)n(en)n(tion,)f(so)h(that)g(it)g(is)g-(easier)e(to)i(use)g(circuits)f(with)i(prede\014ned)f(connection)515-3798 y(patterns.)515 3937 y(Ev)n(en)26 b(shorter)h(de\014nitions)g(of)h-(the)g(same)f(circuits)g(are:)602 4106 y Fp(bitAdder')40-b(=)j(row)f(halfAdd)602 4206 y(adder')172 b(=)43 b(row)f(fullAdd)515-4374 y Fq(Note)27 b(that)h(the)g Fn(typ)l(e)g Fq(of)g-Fp(adder')d Fq(is)i(sligh)n(tly)g(di\013eren)n(t)h(from)f-Fp(adder)p Fq(,)f(see)h(exercise)g(3.3.)515 4685 y Fm(3.3)135-b(Arithmetic)515 4907 y Fq(In)27 b(La)n(v)-5 b(a,)26-b(w)n(e)h(can)g(not)g(only)g(deal)g(with)h(lo)n(w-lev)n(el)e(wire)g(t)n-(yp)r(es)i(lik)n(e)e(bits,)i(and)f(gates)f(lik)n(e)515-5006 y Fp(and2)e Fq(and)h Fp(xor2)p Fq(,)g(but)h(also)f(with)h(more)f-(abstract)g(wire)g(t)n(yp)r(es)h(and)g(gates.)35 b(One)25-b(of)h(these)1905 5255 y(14)p eop-%%Page: 15 16-15 15 bop 515 523 a Fq(t)n(yp)r(es)27 b(is)h(in)n(tegers.)515-663 y(On)h(these)g(in)n(tegers,)g(w)n(e)g(ha)n(v)n(e)f(op)r(erations)g-(corresp)r(onding)f(to)i(abstract)f(gates)h(o)n(v)n(er)e(in-)515-762 y(tegers.)36 b(A)27 b(list)h(of)g(these)g(gates)e(can)h(b)r(e)h-(found)g(in)g(app)r(endix)g(A.)515 902 y(A)33 b(simple)g(circuit)g-(using)g(these)g(arithmetical)g(gates)f(is)h(called)g-Fp(numBreak)p Fq(.)50 b(It)33 b(tak)n(es)f(a)515 1001-y(n)n(um)n(b)r(er)e(as)h(input,)h(and)f(has)g(a)f(pair)g(of)h(a)g(bit)g-(and)g(a)g(n)n(um)n(b)r(er)f(as)h(output.)47 b(The)31-b(bit)h(in)515 1101 y(the)i(pair)g(corresp)r(onds)e(to)i(the)g(v)-5-b(alue)34 b(of)g(the)h(\014rst)f(binary)f(digit)h(of)g(the)h(n)n(um)n-(b)r(er;)i(the)515 1200 y(resulting)27 b(n)n(um)n(b)r(er)g(is)h(the)g-(input)g(n)n(um)n(b)r(er)f(divided)h(b)n(y)f(2.)602 1386-y Fp(numBreak)40 b(num)j(=)g(\(bit,)e(num'\))689 1486-y(where)776 1586 y(digit)h(=)h(imod)f(\(num,)f(2\))776-1685 y(bit)130 b(=)43 b(int2bit)e(digit)776 1785 y(num')86-b(=)43 b(idiv)f(\(num,)f(2\))515 1971 y Fq(The)24 b(circuit)f-Fp(int2bit)e Fq(con)n(v)n(erts)h(a)i(n)n(um)n(b)r(er)f(in)n(to)h(a)f-(bit,)i(b)n(y)f(transforming)e(a)h(0)h(in)n(to)f Fp(low)p-Fq(,)515 2071 y(and)k(an)n(y)g(other)g(n)n(um)n(b)r(er)g(in)n(to)h-Fp(high)p Fq(.)515 2210 y(W)-7 b(e)31 b(can)g(use)g(this)h-(arithmetical)f(circuit)g(to)g(build)h(a)f(circuit)g(that)h(con)n(v)n-(erts)d(a)i(n)n(um)n(b)r(er)515 2310 y(in)n(to)36 b(a)h(binary)f(n)n-(um)n(b)r(er,)j(that)e(is,)j(a)c(list)h(of)g(bits.)65-b(The)37 b(circuit)g(tak)n(es)f(a)g(parameter,)515 2409-y(corresp)r(onding)e(to)i(the)h(size)f(of)g(the)h(list)f(it)h(has)f(to)-g(pro)r(duce,)i(and)e(has)g(as)g(input)h(the)515 2509-y(n)n(um)n(b)r(er)27 b(that)h(needs)f(to)h(b)r(e)g(con)n(v)n(erted.)515-2648 y(The)d(con)n(v)n(erter)f Fp(int2bin)f Fq(con)n(v)n(erts)h(an)h-(in)n(teger)g(to)g(a)h(binary)f(n)n(um)n(b)r(er.)35 b(It)26-b(has)g(an)f(extra)515 2748 y Fn(p)l(ar)l(ameter)p Fq(,)32-b(whic)n(h)f(sp)r(eci\014es)f(the)i(n)n(um)n(b)r(er)e(of)h(bits)g(the)g-(binary)f(n)n(um)n(b)r(er)h(should)f(ha)n(v)n(e.)515-2848 y(Note)25 b(again)f(that)h(parameters)e(of)j(circuits)e(are)g-(di\013eren)n(t)i(from)e(inputs;)j Fp(int2bin)22 b Fq(is)j(not)515-2947 y(really)g(a)h(circuit,)h(but)g Fp(int2bin)40 b(16)26-b Fq(is.)37 b(W)-7 b(e)26 b(de\014ne)h(this)g(circuit)f(b)n(y)g-(recursion)f(o)n(v)n(er)g(the)515 3047 y(size)i(of)h(the)g(binary)e(n)n-(um)n(b)r(er.)602 3233 y Fp(int2bin)41 b(0)i(num)f(=)h([])602-3432 y(int2bin)e(n)i(num)f(=)h(\(bit:bits\))689 3532-y(where)776 3631 y(\(bit,num'\))d(=)j(numBreak)d(num)776-3731 y(bits)304 b(=)43 b(int2bin)e(\(n-1\))g(num')515-3917 y Fq(Other)27 b(arithmetical)g(gates)g(include)g-Fp(plus)p Fq(,)g Fp(times)p Fq(,)e(etc.)515 4056 y(Here)i(are)g(some)g-(example)g(sim)n(ulations)g(of)g(these)h(circuits:)602-4242 y Fp(Main>)41 b Fl(simulate)g(numBreak)f(7)602 4342-y Fp(\(high,3\))602 4541 y(Main>)h Fl(simulate)g(\(int2bin)f(3\))j(7)-602 4641 y Fp([high,)e(high,)h(high])1905 5255 y Fq(15)p-eop-%%Page: 16 17-16 16 bop 515 523 a Fm(3.4)135 b(Compilation)515 745-y Fq(As)38 b(so)r(on)f(as)g(w)n(e)g(start)g(writing)h(bigger)e-(circuits,)k(the)f(need)e(migh)n(t)h(arise)f(to)g Fn(c)l(ompile)515-844 y Fq(them.)48 b(So)31 b(far,)g(w)n(e)g(ha)n(v)n(e)f(only)h(used)g-(an)g(in)n(terpreter,)g(whic)n(h)g(can)g(b)r(e)h(a)e(little)i(bit)g-(slo)n(w)515 944 y(for)25 b(larger)f(pro)5 b(jects.)35-b(Compiling)25 b(can)h(b)r(e)g(done)f(b)n(y)h(running)f(the)h-Fp(lava)e Fq(command)i(with)515 1044 y(the)i(option)f-Fp(-c)p Fq(.)515 1183 y(But)32 b(\014rst,)g(w)n(e)f(m)n(ust)h(sp)r-(ecify)f(what)h(w)n(e)f(w)n(an)n(t)g(the)h(compiled)f(program)f(to)h-(do.)48 b(W)-7 b(e)32 b(do)515 1283 y(this)23 b(b)n(y)f(making)g(a)g-(de\014nition)h(for)f(the)h(function)h Fp(main)d Fq(in)i(the)g(\014le)g-(w)n(e)f(are)g(w)n(orking)f(with.)515 1382 y(F)-7 b(or)27-b(example,)g(if)h(w)n(e)f(w)n(an)n(t)g(to)h(sim)n(ulate)f(an)g(adder,)g-(w)n(e)g(migh)n(t)h(de\014ne:)602 1561 y Fp(main)42 b(=)h(print)f-(\(simulate)d(adder)j(\(high,\([high,low)o(],)o([lo)o(w,)o(hig)o(h])o-(\)\))o(\))515 1740 y Fq(Then,)28 b(w)n(e)f(run)g(the)h(La)n(v)-5-b(a)27 b(compiler,)g(b)n(y)g(in)n(v)n(oking:)602 1918-y Fp(\045)43 b Fl(lava)f(-c)h(First)602 2018 y Fp(--)g(Lava2000)d-(----------------)o(--)o(---)o(--)o(---)o(--)o(---)o(--)o(--)o(---)o-(--)o(---)o(--)o(--)o(---)o(-)602 2118 y(Compiling)g(First)h(...)602-2217 y(...)515 2396 y Fq(The)23 b(compiler)g(has)h(no)n(w)f(pro)r-(duced)g(an)g(executable)h(program,)e(called)h Fp(First)p-Fq(,)g(whic)n(h)g(w)n(e)515 2495 y(can)k(run)g(b)n(y)h(sa)n(ying:)602-2674 y Fp(\045)43 b Fl(First)602 2774 y Fp(\([high,low],high)o(\))515-2952 y Fq(F)-7 b(or)27 b(more)g(con)n(trol)f(o)n(v)n(er)g(the)i-(compilation)f(pro)r(cess,)f(see)h(app)r(endix)h(A.1.)515-3265 y Fm(3.5)135 b(Exercises)575 3478 y Fq(3.1)40 b(De\014ne)27-b(a)f(bit)h(subtractor,)e(called)h Fp(bitSubber)p Fq(,)d(whic)n(h)k-(tak)n(es)e(a)h(bit)h(and)f(a)g(binary)722 3578 y(n)n(um)n(b)r(er)i(as)-f(input,)h(and)f(subtracts)g(the)h(bit)g(from)g(the)g(binary)f(n)n(um)n-(b)r(er.)575 3740 y(3.2)40 b(De\014ne)29 b(a)f(binary)g(adder,)g-(called)g Fp(adder2)p Fq(,)e(whic)n(h)i(do)r(es)g(not)h(tak)n(e)e(in)i-(a)f(carry)e(bit,)722 3840 y(and)i(thro)n(ws)e(a)n(w)n(a)n(y)g(the)i-(resulting)f(carry)-7 b(.)575 4002 y(3.3)40 b(What)e(is)g(the)g-(di\013erence)g(b)r(et)n(w)n(een)g Fp(adder)d Fq(and)j-Fp(adder')p Fq(?)65 b(Hin)n(t:)58 b(lo)r(ok)37 b(at)h(the)722-4102 y(t)n(yp)r(es)28 b(of)f(the)h(inputs.)575 4264 y(3.4)40-b(De\014ne)28 b(a)g(circuit)f Fp(bin2int)p Fq(,)e(whic)n(h)j(con)n(v)n-(erts)d(a)j(bit)g(v)n(ector)e(in)n(to)h(an)h(in)n(teger.)575-4427 y(3.5)40 b(De\014ne)29 b(the)g(circuit)f Fp(zipp)p-Fq(,)f(whic)n(h)i(tak)n(es)e(a)h(pair)g(of)g(list)h(as)f(inputs)h(and)f-(pro)r(duces)722 4526 y(a)f(list)h(of)g(pairs,)f(one)g(b)n(y)g(one)g-(group)r(ed)g(together.)809 4717 y Fp(Main>)42 b Fl(simulate)e(zipp)i-(\([low,high,low],[)o(hi)o(gh)o(,hi)o(gh)o(,lo)o(w])o(\))809-4816 y Fp([\(low,high\),\(high)o(,hi)o(gh)o(\),\()o(lo)o(w,)o(low)o-(\)])722 5006 y Fq(Also)28 b(de\014ne)f(the)h(circuit)g-Fp(unzipp)p Fq(,)d(whic)n(h)j(is)f(the)h(in)n(v)n(erse)e(of)i-Fp(zipp)p Fq(.)1905 5255 y(16)p eop-%%Page: 17 18-17 17 bop 575 523 a Fq(3.6)40 b(De\014ne)29 b(the)f(circuit)g-Fp(pair)p Fq(,)f(whic)n(h)h(tak)n(es)f(a)h(list)g(as)f(input)i(and)f-(pro)r(duces)f(a)h(list)g(of)722 623 y(pairs,)f(with)h(the)g(neigh)n(b)-r(ours)e(group)r(ed)h(together.)809 822 y Fp(Main>)42-b Fl(simulate)e(pair)i(\([low,high,low,hi)o(gh)o(,h)o(igh)o(,l)o(ow])o-(\))809 922 y Fp([\(low,high\),\(low,)o(hig)o(h\))o(,\(h)o(ig)o(h,)o-(low)o(\)])722 1121 y Fq(Also)28 b(de\014ne)f(the)h(circuit)g-Fp(unpair)p Fq(,)d(whic)n(h)j(is)f(the)h(in)n(v)n(erse)e(of)i-Fp(pair)p Fq(.)575 1287 y(3.7)40 b(De\014ne)i(a)f(connection)g(pattern)-g(called)g Fp(par)f Fq(whic)n(h)i(turns)f(t)n(w)n(o)f(circuits,)45-b(eac)n(h)722 1386 y(taking)33 b(in)h(one)g(input)g(and)g(ha)n(ving)e-(one)h(output,)j(in)n(to)e(one)f(circuit)g(taking)h(in)f(a)722-1486 y(pair)27 b(of)h(inputs)g(and)f(ha)n(ving)g(a)g(pair)g(of)g-(outputs.)575 1652 y(3.8)40 b(De\014ne,)31 b(using)e(recursion,)f(a)h-(binary)g(m)n(ultiplier.)42 b(What)30 b(is)f(the)h(recursiv)n(e)e-(struc-)722 1752 y(ture?)575 1918 y(3.9)40 b(Lo)r(oking)20-b(at)h(the)h(de\014nition)g(of)f Fp(row)p Fq(,)g(de\014ne)h(a)f-(connection)g(pattern)g(called)f Fp(column)722 2017 y-Fq(whic)n(h)32 b(carries)e(the)j(righ)n(t)e(part)g(of)h(the)g(input)h-(and)f(the)g(left)h(part)e(of)h(the)h(output)722 2117-y(through.)722 2250 y(\(*\))28 b(Can)f(y)n(ou)g(de\014ne)h-Fp(column)d Fq(in)j(terms)f(of)h Fp(row)p Fq(?)533 2416-y(3.10)40 b(De\014ne)33 b(a)f(connection)g(pattern)g(called)g-Fp(grid)p Fq(,)g(whic)n(h)h(puts)f(a)g(n)n(um)n(b)r(er)g(of)h(copies)-722 2516 y(of)g(circuits)g(in)g(a)f(matrix.)53 b(The)33-b(left)g(parts)g(of)g(the)g(inputs)g(are)f(carried)g(through)722-2615 y(from)22 b(left)h(to)f(righ)n(t,)h(and)f(the)g(righ)n(t)g(parts)f-(of)h(the)h(inputs)g(and)f(outputs)g(are)f(carried)722-2715 y(through)27 b(from)g(top)h(to)f(b)r(ottom.)722-2848 y(Hin)n(t:)38 b(think)28 b(of)f(a)h(grid)e(as)h(a)h(ro)n(w)e(of)h-(columns)h(\(or)f(a)g(column)g(of)h(ro)n(ws\).)533 3014-y(3.11)40 b(Can)31 b(y)n(ou)f(think)i(of)f(a)g(useful)g(circuit)g(that)-h(mak)n(es)e(use)h(of)g(the)g Fp(grid)f Fq(connection)722-3113 y(pattern?)533 3279 y(3.12)40 b(Lo)r(oking)22 b(at)h(the)g-(recursiv)n(e)e(de\014nition)i(of)g(an)f(adder,)h(de\014ne)g(a)f-(simple)h(subtractor.)722 3379 y(It)30 b(will)g(only)f(ha)n(v)n(e)f(to)-i(subtract)f(smaller)f(n)n(um)n(b)r(ers)h(from)g(bigger)f(n)n(um)n(b)r-(ers.)42 b(Can)722 3479 y(y)n(ou)27 b(use)h(an)n(y)f(of)h(the)h-(connection)e(patterns)h(describ)r(ed)f(in)i(this)f(c)n(hapter)f(to)h-(mak)n(e)722 3578 y(a)f(non-recursiv)n(e)f(description?)533-3744 y(3.13)40 b(De\014ne)35 b(a)f(sw)n(app)r(er,)h(a)f(circuit)g(that)-h(tak)n(es)e(in)i(t)n(w)n(o)e(inputs:)51 b(an)34 b(activ)-5-b(ate)34 b(signal)722 3844 y(and)d(a)g(pair)g(of)g(signals,)g(and)h-(the)f(output)h(is)f(a)g(pair)g(of)g(signals.)47 b(If)32-b(the)f(activ)-5 b(ate)722 3944 y(signal)32 b(is)g(high,)h(the)g(order)-d(of)j(the)f(input)h(pair)f(is)g(sw)n(app)r(ed,)h(otherwise)e(is)h(sta)-n(ys)722 4043 y(the)c(same.)809 4242 y Fp(swapper)41-b(\(swap,)g(\(a,)i(b\)\))f(=)h(\(x,)f(y\))897 4342 y(where)f(...)533-4541 y Fq(3.14)f(De\014ne)29 b(a)f(comparator,)e(a)i(circuit)g(that)h-(tak)n(es)e(in)i(t)n(w)n(o)e(binary)h(n)n(um)n(b)r(ers)f(of)i(equal)722-4641 y(length)c(and)g(tells)g(y)n(ou)f(if)h(the)h(left)f(one)g(is)f-(less)h(than)g(or)f(equal)g(than)h(the)g(righ)n(t)f(one.)533-4807 y(3.15)40 b(Implemen)n(t)34 b(a)f(binary)g(sorter.)53-b(It)34 b(tak)n(es)e(as)h(an)g(input)i(t)n(w)n(o)d(binary)h(n)n(um)n(b)-r(ers)g(of)722 4907 y(equal)27 b(length,)h(and)g(outputs)f(them)i(in)e-(the)h(correct)f(order.)1905 5255 y(17)p eop-%%Page: 18 19-18 18 bop 515 1186 a Fo(Chapter)64 b(4)515 1641 y Fs(V)-19-b(eri\014cation)515 2112 y Fq(In)32 b(this)h(c)n(hapter)f(w)n(e)g-(describ)r(e)g(ho)n(w)f(w)n(e)i(can)f(de\014ne)g(prop)r(erties)g(of)g-(circuits,)h(and)g(ho)n(w)515 2212 y(w)n(e)27 b(can)g(formally)g(v)n-(erify)g(these)g(prop)r(erties)g(using)g(a)g(theorem)h(pro)n(v)n(er.)-515 2526 y Fm(4.1)135 b(Simple)46 b(Prop)t(erties)515-2748 y Fq(The)25 b(main)f(kind)i(of)e(prop)r(erties)g(of)h(circuits)g-(w)n(e)f(deal)h(with)g(in)g(La)n(v)-5 b(a)24 b(are)g(so-called)f-Fn(safety)515 2847 y(pr)l(op)l(erties)p Fq(.)45 b(These)29-b(are)g(prop)r(erties)g(whic)n(h)g(can)h(b)r(e)g(de\014ned)g(in)g(suc)n-(h)g(a)f(w)n(a)n(y)g(that)h(they)515 2947 y(state)d(that)h(some)f-(condition)g(is)h Fn(always)h Fq(true)f(\(or,)f(equiv)-5-b(alen)n(tly)e(,)27 b(nev)n(er)g(false\).)515 3087 y(Here)f(is)g(an)f-(example;)i(a)f(prop)r(ert)n(y)f(that)h(c)n(hec)n(ks)f(that)h(the)h-(outputs)f(of)h(a)e(half)i(adder)e(are)515 3186 y(nev)n(er)h(b)r(oth)i-(true.)602 3372 y Fp(prop_HalfAddOutp)o(ut)o(Nev)o(er)o(Bot)o(hT)o(ru)o-(e)38 b(\(a,)k(b\))h(=)g(ok)689 3472 y(where)776 3571-y(\(sum,)f(carry\))f(=)i(halfAdd)e(\(a,)h(b\))776 3671-y(ok)479 b(=)43 b(nand2)f(\(sum,)f(carry\))515 3857 y-Fq(Note)28 b(that)h(this)g(prop)r(ert)n(y)e(lo)r(oks)h(prett)n(y)g(m)n-(uc)n(h)h(lik)n(e)f(a)g(normal)g(circuit)g(de\014nition,)h(and)515-3957 y(in)f(fact)f(it)h(is.)515 4096 y(The)e(actual)g(v)n-(eri\014cation)e(question)i(is:)36 b(do)r(es)26 b(this)h(prop)r(ert)n-(y)e(circuit)h(alw)n(a)n(ys)e(yield)i(true,)515 4196-y(no)21 b(matter)h(what)g(the)h(input)g(is?)35 b(T)-7-b(o)21 b(answ)n(er)g(the)h(question,)h(w)n(e)f(use)g(the)g(La)n(v)-5-b(a)21 b(op)r(eration)515 4295 y Fp(verify)p Fq(.)602-4481 y Fp(Main>)41 b Fl(verify)h(prop_HalfAddOut)o(pu)o(tNe)o(ve)o(rBo)-o(th)o(Tru)o(e)602 4581 y Fp(Proving:)e(...)j(Valid.)515-4767 y Fq(This)30 b(pro)r(cess)f(w)n(orks)f(in)j(the)f(follo)n(wing)g-(w)n(a)n(y)-7 b(.)43 b(Just)30 b(as)g(w)n(e)g(can)f(generate)g(VHDL)i-(from)515 4867 y(a)36 b(circuit)g(description,)i(w)n(e)e(can)g(also)f-(generate)g(a)h(logical)f(form)n(ula)h(represen)n(ting)f(the)515-4966 y(circuit.)j(This)27 b(logical)g(form)n(ula)g(is)h(then)g(giv)n-(en)f(to)h(an)g(external)f(theorem)g(pro)n(v)n(er)f(whic)n(h)1905-5255 y(18)p eop-%%Page: 19 20-19 19 bop 515 523 a Fq(will)34 b(pro)n(v)n(e)f(\(or)h(dispro)n(v)n(e\))-f(the)i(v)-5 b(alidit)n(y)35 b(of)f(the)h(form)n(ula.)56-b(The)35 b(result)f(is)h(then)g(tak)n(en)515 623 y(bac)n(k)26-b(in)n(to)i(La)n(v)-5 b(a.)515 762 y(Here)23 b(is)h(another)f(example;)-h(w)n(e)g(form)n(ulate)f(that)h(a)f(full)h(adder)f(do)r(es)h(not)f-(care)g(ab)r(out)h(the)515 862 y(order)29 b(of)i(the)g(argumen)n(ts,)f-(it)h(will)g(alw)n(a)n(ys)e(pro)r(duce)h(the)h(same)g(result.)46-b(This)30 b(prop)r(ert)n(y)515 961 y(is)d(in)h(general)e(called)i-Fn(c)l(ommutativity)p Fq(.)602 1135 y Fp(prop_FullAddComm)o(ut)o(ati)o-(ve)37 b(\(c,)42 b(\(a,)h(b\)\))f(=)h(ok)689 1234 y(where)776-1334 y(out1)f(=)h(fullAdd)e(\(c,)h(\(a,)h(b\)\))776 1434-y(out2)f(=)h(fullAdd)e(\(c,)h(\(b,)h(a\)\))776 1533 y(ok)130-b(=)43 b(out1)f(<==>)g(out2)515 1707 y Fq(Note)31 b(that,)i(since)e(w)n-(e)f(are)h(not)g(in)n(terested)g(in)g(the)h(exact)f(shap)r(e)g(of)g-(the)h(output)f(of)h(the)515 1806 y(t)n(w)n(o)26 b(full)i(adders,)e(w)n-(e)h(can)f(just)i(giv)n(e)e(a)h(name)g(to)g(the)g(whole)g(output,)h(in)-f(this)g(case)g Fp(out1)515 1906 y Fq(and)d Fp(out2)p-Fq(.)34 b(Another)24 b(thing)g(to)g(notice)g(is)g(that)h(w)n(e)f(use)g-(the)g(general)f(equalit)n(y)h Fp(<==>)p Fq(.)34 b(W)-7-b(e)515 2006 y(can)27 b(also)f(use)i(the)g(circuit)f-Fp(equal)f Fq(for)h(that.)515 2317 y Fm(4.2)135 b(Quan)l(ti\014cation)-515 2539 y Fq(The)25 b(comm)n(utativit)n(y)g(prop)r(ert)n(y)g(is)g(not)-h(only)f(true)h(for)f(full)h(adders,)f(but)h(also)f(in)g(general)515-2639 y(for)i(binary)g(adders.)36 b(Here)27 b(is)g(ho)n(w)g(w)n(e)g-(state)h(that)g(prop)r(ert)n(y:)602 2812 y Fp(prop_AdderCommut)o(at)o-(ive)37 b(\(as,)42 b(bs\))g(=)h(ok)689 2912 y(where)776-3011 y(out1)f(=)h(adder2)e(\(as,)h(bs\))776 3111 y(out2)g(=)h(adder2)e-(\(bs,)h(as\))776 3211 y(ok)130 b(=)43 b(out1)f(<==>)g(out2)515-3384 y Fq(Note)27 b(that)g(w)n(e)f(use)h(the)g(adder)f-Fp(adder2)e Fq(w)n(e)i(de\014ned)i(in)f(exercise)e(3.2)h(\(the)h(answ)n-(er)f(is)g(on)515 3484 y(page)g(80\).)515 3623 y(The)34-b(problem)f(is)h(that)h(this)f(prop)r(ert)n(y)f(holds)h(for)f-Fn(al)t(l)i Fq(circuit)f(sizes,)h(but)g(w)n(e)f(can)f(only)515-3723 y(v)n(erify)f(it)i(for)f(sp)r(eci\014c)h(sizes!)54-b(This)33 b(is)h(b)r(ecause)f(it)h(is)f(v)n(ery)f(hard)h(to)g(v)n-(erify)g(prop)r(erties)515 3822 y(automatically)26 b(for)h(all)h-(sizes.)515 3962 y(So,)38 b(instead)e(of)g(v)n(erifying)e(it)j(for)e-(all)h(sizes,)i(w)n(e)d(will)i(pic)n(k)e(a)h(sp)r(eci\014c)g(size)g-(and)g(v)n(erify)515 4062 y(the)27 b(prop)r(ert)n(y)f(for)g(those.)36-b(Th)n(us,)27 b(w)n(e)f(de\014ne)h(a)g(new)g(prop)r(ert)n(y)-7-b(,)26 b(whic)n(h)g(is)h(explicit)g(ab)r(out)515 4161-y(what)g(size)h(of)f(input)i(w)n(e)e(w)n(an)n(t)g(to)g(v)n(erify)g(the)-h(prop)r(ert)n(y.)602 4335 y Fp(prop_AdderCommut)o(at)o(ive)o(_F)o(orS)-o(iz)o(e)37 b(n)44 b(=)689 4434 y(forAll)d(\(list)h(n\))g($)i(\\as)e-(->)776 4534 y(forAll)f(\(list)h(n\))h($)g(\\bs)f(->)863-4634 y(prop_AdderCommuta)o(tiv)o(e)37 b(\(as,)42 b(bs\))515-4807 y Fq(This)33 b(prop)r(ert)n(y)e(means:)47 b(\\for)32-b(all)h(lists)g(of)g(size)f Fj(n)h Fq(called)f Fp(as)p-Fq(,)i(and)f(for)f(all)h(lists)g(of)f(size)515 4907 y-Fj(n)27 b Fq(called)h Fp(bs)p Fq(,)f(the)h(prop)r(ert)n(y)f(that)h(the)-g(adder)g(is)f(comm)n(utativ)n(e)g(holds)h(for)f Fp(\(as,)42-b(bs\))27 b Fq(as)515 5006 y(input".)1905 5255 y(19)p-eop-%%Page: 20 21-20 20 bop 515 523 a Fq(No)n(w,)35 b(w)n(e)f(can)f(v)n(erify)h(the)g-(prop)r(ert)n(y)f(using)h Fp(verify)p Fq(.)54 b(W)-7-b(e)34 b(can)g(of)g(course)e(do)i(this)h(for)515 623-y(more)27 b(than)g(one)g(size.)602 809 y Fp(Main>)41-b Fl(verify)h(\(prop_AdderComm)o(ut)o(ati)o(ve)o(_Fo)o(rS)o(ize)37-b(2\))602 908 y Fp(Proving:)j(...)j(Valid.)602 1108 y(Main>)e-Fl(verify)h(\(prop_AdderComm)o(ut)o(ati)o(ve)o(_Fo)o(rS)o(ize)37-b(4\))602 1207 y Fp(Proving:)j(...)j(Valid.)602 1406-y(Main>)e Fl(verify)h(\(prop_AdderComm)o(ut)o(ati)o(ve)o(_Fo)o(rS)o-(ize)37 b(32\))602 1506 y Fp(Proving:)j(...)j(Valid.)515-1820 y Fm(4.3)135 b(General)46 b(Prop)t(erties)515 2042-y Fq(General)22 b(prop)r(erties)g(are)g(prop)r(erties)g(that)h(are)f-(parametrized)g(b)n(y)h(one)f(or)g(more)g(circuits.)515-2142 y(They)31 b(can)h(b)r(e)g(de\014ned)g(just)h(lik)n(e)e(connection)-h(patterns.)49 b(Here)32 b(is)f(a)h(general)e(prop)r(ert)n(y)515-2241 y(that)e(p)r(oses)f(the)h(question)f(if)h(the)g(t)n(w)n(o)f(giv)n-(en)g(circuits)g(are)f(equiv)-5 b(alen)n(t.)602 2427-y Fp(prop_Equivalent)37 b(circ1)42 b(circ2)f(a)i(=)h(ok)689-2527 y(where)776 2627 y(out1)e(=)h(circ1)f(a)776 2726-y(out2)g(=)h(circ2)f(a)776 2826 y(ok)130 b(=)43 b(out1)f(<==>)g(out2)-515 3012 y Fq(The)27 b(follo)n(wing)g(prop)r(ert)n(y)f(c)n(hec)n(ks)h-(if)h(a)f(giv)n(en)g(circuit)g(is)h(comm)n(utativ)n(e.)602-3198 y Fp(prop_Commutative)37 b(circ)42 b(\(as,)g(bs\))g(=)h(ok)689-3297 y(where)776 3397 y(out1)f(=)h(circ)f(\(as,)g(bs\))776-3497 y(out2)g(=)h(circ)f(\(bs,)g(as\))776 3596 y(ok)130-b(=)43 b(out1)f(<==>)g(out2)515 3782 y Fq(Of)30 b(course,)f(the)h-(circuits)g(that)g(one)f(uses)h(to)g(instan)n(tiate)f(these)h(prop)r-(erties)f(ha)n(v)n(e)g(to)h(b)r(e)515 3882 y(of)d(the)h(righ)n(t)f-(shap)r(e)h(\(t)n(yp)r(e\).)515 4196 y Fm(4.4)135 b(Helping)46-b(V)-11 b(eri\014cation)515 4418 y Fq(The)23 b(form)n(ulas)f(that)i(w)n-(e)f(generate)f(can)h(sometimes)g(b)r(e)h(quite)g(hard.)34-b(It)24 b(is)g(often)f(the)h(case)515 4518 y(that,)36-b(the)e(larger)e(the)i(form)n(ula,)h(the)f(harder)f(it)h(is)g(to)g(v)n-(erify)f(it.)56 b(So)34 b(sometimes,)h(it)f(is)515 4617-y(necessary)26 b(to)h(help)h(the)g(pro)n(v)n(er)d(a)j(bit.)515-4757 y(One)d(w)n(a)n(y)e(of)i(doing)g(this)g(is)g(to)g(split)h(up)f(a)g-(large)f(pro)r(of)g(in)n(to)h(a)g(n)n(um)n(b)r(er)f(of)h(smaller)g-(ones.)515 4856 y(Then,)37 b(w)n(e)f(can)f(pro)n(v)n(e)f(these)h(parts)-g(one)g(b)n(y)g(one,)j(and)d(for)g(eac)n(h)g(new)g(pro)r(of,)i(w)n(e)e-(can)515 4956 y(assume)27 b(that)h(the)f(parts)g(that)h(are)f(already)f-(pro)n(v)n(ed)g(are)h(actually)g(true.)1905 5255 y(20)p-eop-%%Page: 21 22-21 21 bop 515 523 a Fq(In)30 b(La)n(v)-5 b(a,)30 b(w)n(e)h(can)f(do)g-(this)h(b)n(y)f(v)n(erifying)f(not)i(just)g Fn(one)f-Fq(question,)h(but)g(a)f(whole)g(list)h(of)515 623 y(questions.)52-b(F)-7 b(or)33 b(example,)h(to)f(v)n(erify)f(that)i(t)n(w)n(o)e-(circuits)h(ha)n(v)n(e)e(the)j(same)e(output,)j(w)n(e)515-722 y(can)e(pro)n(v)n(e)e(this)j(pin-b)n(y-pin)f(instead)g(of)g(at)g-(one)g(go.)53 b(T)-7 b(o)33 b(do)g(this,)i(w)n(e)e(ha)n(v)n(e)f(to)h-(de\014ne)515 822 y Fn(one-by-one)d(e)l(quality)p Fq(.)602-1008 y Fp(equalOneByOne)38 b(\([],)129 b([]\))h(=)43-b([])602 1207 y(equalOneByOne)38 b(\([],)129 b(y:ys\))42-b(=)h([low])602 1406 y(equalOneByOne)38 b(\(x:xs,)j([]\))130-b(=)43 b([low])602 1606 y(equalOneByOne)38 b(\(x:xs,)j(y:ys\))h(=)h(eq)-g(:)g(eqs)689 1705 y(where)776 1805 y(eq)87 b(=)43 b(equal)e(\(x,)i-(y\))776 1905 y(eqs)g(=)g(equalOneByOne)38 b(\(xs,)k(ys\))515-2090 y Fq(Note)27 b(that)h(the)h(comparison)d(fails)h(if)h(the)g(lists)-g(are)f(not)g(of)h(the)g(same)f(length.)38 b(T)-7 b(o)27-b(c)n(hec)n(k)515 2190 y(that)h(a)f(binary)g(adder)f(is)i(comm)n-(utativ)n(e,)f(w)n(e)g(can)g(no)n(w)g(instead)h(sa)n(y:)602-2376 y Fp(prop_AdderCommut)o(at)o(ive)o(')37 b(\(as,)42-b(bs\))h(=)g(oks)689 2476 y(where)776 2575 y(out1)f(=)h(adder2)e(\(as,)-h(bs\))776 2675 y(out2)g(=)h(adder2)e(\(bs,)h(as\))776-2775 y(oks)86 b(=)43 b(equalOneByOne)c(\(out1,)i(out2\))602-2974 y(prop_AdderCommut)o(at)o(ive)o(_F)o(orS)o(iz)o(e')c(n)43-b(=)689 3073 y(forAll)e(\(list)h(n\))g($)i(\\as)e(->)776-3173 y(forAll)f(\(list)h(n\))h($)g(\\bs)f(->)863 3273-y(prop_AdderCommuta)o(tiv)o(e')37 b(\(as,)42 b(bs\))515-3459 y Fq(No)n(w)30 b(w)n(e)g(ha)n(v)n(e)f(de\014ned)i(a)f(prop)r(ert)n-(y)g(that)h(p)r(oses)f(a)g(list)h(of)f(questions,)h(w)n(e)f(can)g(use)h-(the)515 3558 y(theorem)c(pro)n(v)n(er)e(to)j(pro)n(v)n(e)e(all)h(of)h-(them.)602 3744 y Fp(Lava>)41 b Fl(verify)h(\(prop_AdderComm)o(ut)o-(ati)o(ve)o(_Fo)o(rS)o(ize)o(')37 b(4\))602 3844 y Fp(Proving:)j(pin)j-(1)g(...)f(Valid.)602 3944 y(Proving:)e(pin)j(2)g(...)f(Valid.)602-4043 y(Proving:)e(pin)j(3)g(...)f(Valid.)602 4143 y(Proving:)e(pin)j(4)-g(...)f(Valid.)602 4242 y(Proving:)e(pin)j(5)g(...)f(Valid.)602-4342 y(--)602 4442 y(Result:)f(Valid.)515 4628 y Fq(Note)27-b(that)h(in)g(the)g(pro)r(of)f(for)g Fp(pin)43 b(2)p-Fq(,)27 b(w)n(e)g(can)g(assume)g(that)h Fp(pin)42 b(1)28-b Fq(holds,)f(etc.)1905 5255 y(21)p eop-%%Page: 22 23-22 22 bop 515 523 a Fm(4.5)135 b(Exercises)575 738 y-Fq(4.1)40 b(T)-7 b(ak)n(e)33 b(a)h(lo)r(ok)f(at)h(the)g(t)n(w)n(o)f-(bit)i(sorter)e(y)n(ou)g(de\014ned)h(in)g(exercise)f(2.2.)55-b(T)-7 b(o)34 b(v)n(erify)722 838 y(that)28 b(it)g(is)g(correct,)e(t)n-(w)n(o)h(prop)r(erties)f(need)i(to)g(b)r(e)g(true:)816-1004 y Fr({)41 b Fq(The)g(left)g(part)f(of)h(the)g(output)g(is)g-(smaller)f(than)h(the)g(righ)n(t)f(part)g(of)h(the)905-1103 y(output,)816 1236 y Fr({)g Fq(The)34 b(output)g(of)g(the)g-(circuit)f(con)n(tains)g(the)h(same)f(bits)h(as)g(the)g(input)g(\(but)-905 1336 y(p)r(ossibly)27 b(in)h(a)f(di\013eren)n(t)h(order\).)722-1502 y(State)g(these)g(t)n(w)n(o)f(prop)r(erties)f(separately)-7-b(,)26 b(and)i(v)n(erify)f(them)h(using)f Fp(verify)p-Fq(.)575 1668 y(4.2)40 b(Some)21 b(prop)r(erties)g(are)f(so)h(easy)f-(to)h(v)n(erify)g(that)g(w)n(e)g(can)g(actually)g(do)g(it)h(b)n(y)f-(sim)n(ulat-)722 1768 y(ing)i(them)g(for)f(all)g(inputs)h(\(using)g-Fp(domain)p Fq(\).)33 b(There)22 b(are)g(a)g(few)h(of)f(these)h(prop)r-(erties)722 1867 y(in)i(this)f(c)n(hapter.)35 b(V)-7-b(erify)24 b(them)h(b)n(y)e(testing)h(them)h(for)f(all)f(inputs.)37-b(Can)23 b(y)n(ou)h(think)722 1967 y(of)k(other)f(suc)n(h)g(easy-to-v)n-(erify)e(prop)r(erties?)575 2133 y(4.3)40 b(Chec)n(k)32-b(that)h(the)g(v)-5 b(arious)31 b(adders)g(in)i(the)g(previous)e(c)n-(hapter)g(are)h(all)g(comm)n(uta-)722 2232 y(tiv)n(e,)i(for)d(sizes)h-(up)h(to)f(16)f(bits.)51 b(What)33 b(happ)r(ens)f(if)h(y)n(ou)e(try)h-(to)h(pro)n(v)n(e)d(that)j(the)722 2332 y(subtractor)26-b(is)i(comm)n(utativ)n(e?)575 2498 y(4.4)40 b(Chec)n(k)29-b(that)g(the)h(subtractor)d(y)n(ou)i(de\014ned)g(in)h(the)f(previous)f-(c)n(hapter)g(is)h(really)f(a)722 2598 y(subtractor.)35-b(Ho)n(w)24 b(do)h(y)n(ou)f(form)n(ulate)h(y)n(our)f(prop)r(ert)n(y;)g-(what)h(is)g(the)h("de\014nition")722 2697 y(of)37 b(subtraction?)62-b(Mak)n(e)36 b(sure)g(y)n(ou)f(do)i(not)f(mess)g(up)h(the)g(sizes)f(of)-g(the)h(binary)722 2797 y(n)n(um)n(b)r(ers.)575 2963-y(4.5)j(De\014ne)35 b(a)f(general)e(prop)r(ert)n(y)h(that)i(states)e-(that)i(a)f(giv)n(en)f(circuit)h(is)g(asso)r(ciativ)n(e.)722-3063 y(An)29 b(op)r(erator)e Fi(\016)h Fq(is)h(asso)r(ciativ)n(e,)e(if)-i(for)f(ev)n(ery)f Fj(x;)14 b(y)s(;)g(z)32 b Fq(it)d(holds)f(that)h(\()-p Fj(x)20 b Fi(\016)f Fj(y)s Fq(\))g Fi(\016)f Fj(z)28-b Fq(=)722 3162 y Fj(x)19 b Fi(\016)f Fq(\()p Fj(y)k-Fi(\016)c Fj(z)t Fq(\).)36 b(Are)27 b(all)h(the)g(adders)e(asso)r-(ciativ)n(e?)575 3328 y(4.6)40 b(V)-7 b(erify)37 b(that)g(the)g-(carry-sa)n(v)n(e)c(adder)j(y)n(ou)f(de\014ned)i(in)g(the)g(previous)e-(c)n(hapter)h(is)722 3428 y(equiv)-5 b(alen)n(t)27 b(to)f(a)h(binary)f-(adder.)36 b(Be)26 b(careful)g(in)h(ho)n(w)g(y)n(ou)f(form)n(ulate)g(y)-n(our)f(prop-)722 3528 y(ert)n(y)-7 b(,)27 b(since)h(the)g(inputs)g(do)-f(not)h(ha)n(v)n(e)e(the)i(same)f(shap)r(e.)575 3694-y(4.7)40 b(Pro)n(v)n(e)27 b(that,)i(for)g(an)f(adder)h(and)f-(subtractor)g(of)h(y)n(our)e(c)n(hoice,)i(it)g(holds)f(that)i-Fj(x)19 b Fq(+)722 3793 y(\()p Fj(y)c Fi(\000)d Fj(z)t-Fq(\))22 b(=)h(\()p Fj(x)12 b Fq(+)g Fj(y)s Fq(\))g Fi(\000)g-Fj(z)t Fq(.)35 b(What)25 b(extra)e(condition)i(should)f(hold)g(for)g-Fj(y)j Fq(and)d Fj(z)t Fq(?)36 b(Ho)n(w)722 3893 y(do)28-b(y)n(ou)e(express)h(that?)575 4059 y(4.8)40 b(\(Hask)n(ell\))29-b(Ho)n(w)f(w)n(ould)h(y)n(ou)f(pro)r(ceed)g(if)h(y)n(ou)g(w)n(an)n(t)f-(to)h(v)n(erify)f(a)g(prop)r(ert)n(y)g(for)g(all)722-4159 y(sizes)f(in)h(b)r(et)n(w)n(een,)g(sa)n(y)-7 b(,)26-b(1)i(and)f(n?)1905 5255 y(22)p eop-%%Page: 23 24-23 23 bop 515 1186 a Fo(Chapter)64 b(5)515 1641 y Fs(Sequen)-6-b(tial)76 b(Circuits)515 2112 y Fq(In)34 b(this)h(c)n(hapter)e(w)n(e)h-(describ)r(e)g(ho)n(w)g(to)g(deal)g(with)g(sequen)n(tial)g(circuits)g-(in)h(La)n(v)-5 b(a.)55 b(Se-)515 2212 y(quen)n(tial)22-b(circuits)g(in)h(La)n(v)-5 b(a)22 b(are)g(sync)n(hronous)e(circuits,)k-(whic)n(h)e(means)g(that)h(there)g(is)f(one)515 2311-y(global)k(clo)r(c)n(k)h(a\013ecting)g(all)h(dela)n(y)f(comp)r(onen)n-(ts)g(in)g(the)h(circuit.)515 2626 y Fm(5.1)135 b(The)45-b(Dela)l(y)h(Comp)t(onen)l(t)515 2847 y Fq(A)37 b(new)h(comp)r(onen)n-(t)f(in)g(sequen)n(tial)g(circuits)g(is)g(the)h Fn(delay)h-Fq(comp)r(onen)n(t.)65 b(It)38 b(is)f(a)g(cir-)515 2947-y(cuit)29 b(with)h(one)e(parameter)g(\(the)h(initial)g(output)h(of)f-(the)g(dela)n(y\))g(and)f(one)h(input,)h(whic)n(h)515-3047 y(b)r(ecomes)d(its)h(output)g(in)g(the)g(next)g(clo)r(c)n(k)e-(cycle.)515 3186 y(Here)40 b(is)g(an)g(example)g(of)g(a)g(simple)g-(circuit)g(called)g Fp(edge)p Fq(,)i(that)f(c)n(hec)n(ks)e(if)i(its)f-(input)515 3286 y(has)31 b(c)n(hanged)h(with)h(resp)r(ect)f(to)g(its)g-(previous)f(input.)52 b(It)33 b(uses)f(a)g(dela)n(y)f(comp)r(onen)n(t)h-(to)515 3385 y(remem)n(b)r(er)27 b(the)h(previous)e(input.)602-3571 y Fp(edge)42 b(inp)g(=)h(change)689 3671 y(where)776-3771 y(inp')129 b(=)44 b(delay)d(low)h(inp)776 3870 y(change)f(=)j-(xor2)d(\(inp,)h(inp'\))515 4056 y Fq(W)-7 b(e)33 b(can)g(sim)n(ulate)g-(a)g(sequen)n(tial)g(circuit)g(b)n(y)g(using)g(the)h(op)r(eration)e-Fp(simulateSeq)p Fq(.)50 b(It)515 4156 y(needs)37 b(a)h(circuit)g(and)f-(a)h(list)g(of)f(inputs.)68 b(The)38 b(list)g(of)g(inputs)h(is)e(in)n-(terpreted)h(as)f(the)515 4255 y(di\013eren)n(t)27 b(inputs)i(at)e(eac)-n(h)g(clo)r(c)n(k)g(tic)n(k.)602 4441 y Fp(Main>)41 b-Fl(simulateSeq)e(edge)j([high,)f(low,)h(low,)g(high])602-4541 y Fp([high,)f(high,)h(low,)f(high])515 4727 y Fq(Here)34-b(is)h(another)e(sequen)n(tial)h(circuit,)i(whic)n(h)f(is)g(called)f-Fp(toggle)p Fq(.)55 b(It)35 b(has)f(an)h(in)n(ternal)515-4827 y(state,)29 b(whic)n(h)g(it)g(outputs,)h(and)f(it)g(tak)n(es)f-(one)h(input.)42 b(If)30 b(the)f(input)h(is)f(high,)g(it)g(c)n(hanges)-515 4926 y(the)f(state.)36 b(If)28 b(not,)g(it)g(sta)n(ys)f(the)h-(same.)1905 5255 y(23)p eop-%%Page: 24 25-24 24 bop 602 523 a Fp(toggle)41 b(change)g(=)i(out)689-623 y(where)776 722 y(out')f(=)h(delay)f(low)g(out)776-822 y(out)86 b(=)43 b(xor2)f(\(change,)f(out'\))515 1005-y Fq(As)31 b(w)n(e)g(can)f(see,)i(the)f(de\014nition)h(of)f-Fp(out')e Fq(is)i(dep)r(enden)n(t)h(on)f Fp(out)p Fq(,)f(whose)h-(de\014nition)g(is)515 1105 y(dep)r(enden)n(t)d(on)g-Fp(out')p Fq(.)36 b(Th)n(us,)28 b(there)f(is)h(a)f(lo)r(op)h(in)g(the)g-(circuit.)38 b(Lo)r(ops)27 b(are)g(not)g(allo)n(w)n(ed)515-1204 y(in)i(com)n(binational)f(circuits,)i(since)f(the)g(meaning)g(of)g-(suc)n(h)g(circuits)g(is)g(unclear.)41 b(But)30 b(in)515-1304 y(sequen)n(tial)d(circuits,)g(they)h(are)e(essen)n(tial)h(to)h-(implemen)n(t)g(an)n(y)f(in)n(teresting)f(b)r(eha)n(vior.)515-1443 y(Sim)n(ulating)h Fp(toggle)e Fq(giv)n(es:)602 1626-y Fp(Main>)41 b Fl(simulateSeq)e(toggle)j([high,)f(low,)h(low,)g(high])-602 1726 y Fp([high,)f(high,)h(high,)f(low])515 2040-y Fm(5.2)135 b(Multiple)46 b(Dela)l(ys)515 2262 y Fq(W)-7-b(e)22 b(ha)n(v)n(e)g(seen)g(ho)n(w)f(w)n(e)h(can)g(dela)n(y)g(a)g-(signal)f Fn(one)i Fq(time)g(instan)n(t,)g(so)f(that)h(w)n(e)f(can)g-(refer)f(to)515 2361 y(the)26 b(signal's)e(previous)h(v)-5-b(alue.)36 b(Sometimes,)26 b(w)n(e)g(w)n(an)n(t)f(to)g(dela)n(y)g(a)g-(signal)g(m)n(ultiple)i(time)515 2461 y(instances.)38-b(W)-7 b(e)29 b(can)f(do)g(this)h(b)n(y)f(de\014ning)g(a)g-(parametrized)f(circuit,)i(called)f Fp(delayN)p Fq(.)e(It)515-2560 y(has)e(t)n(w)n(o)f(parameters,)h Fj(n)p Fq(,)h(the)g(n)n(um)n(b)r-(er)f(of)h(dela)n(ys)e(to)i(use,)g(and)f Fp(init)p Fq(,)g(the)h-(initial)f(v)-5 b(alues)515 2660 y(of)27 b(these)h(dela)n(ys.)515-2799 y(W)-7 b(e)28 b(use)f(recursion)f(o)n(v)n(er)g Fj(n)i-Fq(to)f(de\014ne)h(this)g(circuit.)602 2983 y Fp(delayN)41-b(0)i(init)f(inp)g(=)i(inp)602 3182 y(delayN)d(n)i(init)f(inp)g(=)i-(out)689 3281 y(where)776 3381 y(out)86 b(=)43 b(delay)f(init)g(rest)-776 3481 y(rest)g(=)h(delayN)e(\(n-1\))h(init)g(inp)515-3664 y Fq(A)26 b(useful)h(sequen)n(tial)e(circuit)h(that)g(w)n(e)g(can)-g(implemen)n(t)g(using)g Fp(delayN)p Fq(,)e(is)i(called)g-Fp(puls)p Fq(.)515 3763 y(It)h(has)g(no)g(inputs,)g(one)g(output,)h-(and)f(one)g(parameter)e Fj(n)p Fq(.)37 b(Its)27 b(output)h(is)f-(normally)f(lo)n(w,)515 3863 y(except)h(on)h(the)g Fj(n)p-Fq(-th,)f(2)p Fj(n)p Fq(-th,)g(3)p Fj(n)p Fq(-th,)h(...)37-b(clo)r(c)n(k)27 b(tic)n(k,)g(where)g(it)h(outputs)g(high.)515-4002 y(W)-7 b(e)20 b(implemen)n(t)h(the)f(circuit)g(b)n(y)g(creating)f-Fj(n)s Fi(\000)s Fq(1)g(dela)n(y)g(comp)r(onen)n(ts)h(in)g(a)g(ro)n(w,)-g(initialized)515 4102 y(b)n(y)27 b Fp(low)p Fq(,)g(ended)g(with)h(one)-g(dela)n(y)e(comp)r(onen)n(t)i(initialized)g(b)n(y)f-Fp(high)p Fq(.)602 4285 y Fp(puls)42 b(n)h(\(\))g(=)g(out)689-4385 y(where)776 4484 y(out)86 b(=)43 b(delayN)e(\(n-1\))h(low)g(last)-776 4584 y(last)g(=)h(delay)f(high)g(out)515 4767 y Fq(Note)24-b(that)g(w)n(e)g(need)g(to)g(use)g(a)f(lo)r(op)h(bac)n(k)f(here.)35-b(This)24 b(implemen)n(tation)g(is)g(not)g(optimal,)515-4867 y(in)k(the)g(sense)f(that)h(it)g(uses)f(to)r(o)g(man)n(y)g(dela)n-(y)g(comp)r(onen)n(ts;)g(see)g(exercise)g(5.6.)515 5006-y(Sim)n(ulating)g Fp(puls)42 b(3)27 b Fq(giv)n(es:)1905-5255 y(24)p eop-%%Page: 25 26-25 25 bop 602 523 a Fp(Main>)41 b Fl(simulateSeq)e(\(puls)j(3\))h-([\(\),)f(\(\),)g(\(\),)g(\(\),)h(\(\),)f(\(\),)g(\(\)])602-623 y Fp([low,)f(low,)h(high,)g(low,)g(low,)g(high,)f(low])515-937 y Fm(5.3)135 b(Coun)l(ters)515 1159 y Fq(An)24 b-Fp(n)p Fq(-bit)g(coun)n(ter)g(is)g(a)g(circuit)g(that)g(outputs)h(an)e-Fp(n)p Fq(-bit)h(binary)g(n)n(um)n(b)r(er)g(at)g(ev)n(ery)f(clo)r(c)n-(k)515 1258 y(tic)n(k,)i(starting)f(with)h(0,)g(and)g(increasing)e(it)i-(b)n(y)g(1)f(ev)n(ery)f(clo)r(c)n(k)h(tic)n(k.)36 b(W)-7-b(e)25 b(implemen)n(t)h(this)515 1358 y(b)n(y)k(k)n(eeping)g(an)h(in)n-(ternal)f(state,)h(whic)n(h)g(is)g(a)f(binary)g(n)n(um)n(b)r(er.)46-b(The)31 b(circuit)g(tak)n(es)e(one)515 1458 y(parameter,)d(whic)n(h)h-(indicates)h(the)g(n)n(um)n(b)r(er)f(of)h(bits)g(to)f(use,)h(and)f(has)-g(no)g(inputs.)602 1644 y Fp(counter)41 b(n)i(\(\))g(=)g(number')689-1743 y(where)776 1843 y(number')520 b(=)44 b(delay)d(\(zeroList)f(n\))j-(number)776 1942 y(\(number,)e(carryOut\))e(=)44 b(bitAdder)c(\(high,)h-(number'\))515 2128 y Fq(W)-7 b(e)37 b(use)g(the)g(function)h-Fp(zeroList)p Fq(,)e(whic)n(h)h(creates)f(a)h(list)g(of)g-Fj(n)g Fq(zeros,)h(denoting)f(the)515 2228 y(initial)30-b(v)-5 b(alue.)46 b(Note)30 b(that)h(the)g(dela)n(y)f(comp)r(onen)n(t)g-(not)h(only)f(w)n(orks)e(for)i(bits,)i(but)f(also)515-2328 y(for)c(example)g(for)g(pairs)g(of)g(bits)h(and)g(lists)f(\(as)g-(in)h(this)g(case\).)515 2467 y(Sim)n(ulating)f Fp(counter)e-Fq(giv)n(es:)602 2653 y Fp(Main>)41 b Fl(simulateSeq)e(\(counter)i(3\))-h([\(\),)g(\(\),)h(\(\)])602 2753 y Fp([[low,)e(low,)h(low],)f([high,)h-(low,)f(low],)h([low,)g(high,)f(low]])515 2939 y Fq(A)22-b(v)-5 b(arian)n(t)21 b(on)h(this)g(circuit)g(is)f(the)i-Fn(up-c)l(ounter)p Fq(,)f(whic)n(h)g(tak)n(es)f(an)g(input,)j(whic)n(h)-e(indicates)515 3038 y(if)k(the)h(n)n(um)n(b)r(er)f(should)g(increase)f-(or)g(not.)37 b(In)26 b(this)h(case,)f(w)n(e)f(w)n(an)n(t)h(the)h-(desired)e(increase)515 3138 y(to)i(tak)n(e)g(e\013ect)h(immediately)-7-b(,)28 b(so)f(w)n(e)g(output)h(the)g(n)n(um)n(b)r(er)g-Fn(b)l(efor)l(e)g Fq(w)n(e)g(dela)n(y)e(it.)602 3324-y Fp(counterUp)40 b(n)j(up)g(=)g(number)689 3424 y(where)776-3523 y(number')520 b(=)44 b(delay)d(\(zeroList)f(n\))j(number)776-3623 y(\(number,)e(carryOut\))e(=)44 b(bitAdder)c(\(up,)i(number'\))515-3809 y Fq(Sim)n(ulating)27 b Fp(counterUp)d Fq(giv)n(es:)602-3995 y Fp(Main>)41 b Fl(simulateSeq)e(\(counterUp)h(3\))j([high,)e-(low,)h(high])602 4094 y Fp([[high,)f(low,)h(low],)f([high,)g(low,)h-(low],)g([low,)f(high,)h(low]])515 4409 y Fm(5.4)135-b(Sequen)l(tialization)515 4630 y Fq(In)27 b(c)n(hapter)g(3,)g(w)n(e)f-(ha)n(v)n(e)g(seen)i(a)e(com)n(binational)g(binary)h(adder.)36-b(As)27 b(an)g(input,)h(it)g(tak)n(es)515 4730 y(t)n(w)n(o)g-Fj(n)p Fq(-bit)h(binary)g(n)n(um)n(b)r(ers,)g(and)g(adds)g(them)g(up.)-42 b(F)-7 b(or)29 b(large)e Fj(n)p Fq(,)j(this)f(circuit)h(can)e(get)-515 4830 y(quite)h(large,)f(whic)n(h)h(means)g(it)g(tak)n(es)f(more)g-(circuit)h(area)f(and)h(consumes)f(more)g(p)r(o)n(w)n(er,)515-4929 y(and)f(will)h(need)g(a)f(lo)n(w)n(er)f(clo)r(c)n(k)h(frequency)g-(to)g(w)n(ork)g(prop)r(erly)-7 b(.)1905 5255 y(25)p eop-%%Page: 26 27-26 26 bop 515 523 a Fq(W)-7 b(e)37 b(can)g(mak)n(e)f(use)h(of)g(the)g-(regularit)n(y)e(in)i(the)h(circuit)f(to)f(mak)n(e)h(a)f(small)h(v)n-(ersion)e(of)515 623 y(the)27 b(circuit)g(that)h(ho)n(w)n(ev)n(er)d-(needs)i(sev)n(eral)e(clo)r(c)n(k)i(cycles)f(to)i(compute)f(the)g-(result.)37 b(If)27 b(w)n(e)515 722 y(apply)d(this)g(tec)n(hnique)h(on)-f(the)g(binary)g(adder,)g(w)n(e)g(obtain)g(a)g Fn(se)l(quential)j-(adder)p Fq(.)37 b(It)25 b(tak)n(es)515 822 y(one)32-b(new)h(digit)g(of)g(b)r(oth)g(binary)f(n)n(um)n(b)r(ers)g(at)h(eac)n-(h)f(clo)r(c)n(k)g(cycle.)52 b(This)33 b(is)f(sometimes)515-922 y(called)27 b Fn(bit)j(serial)p Fq(.)515 1061 y(W)-7-b(e)35 b(can)f(implemen)n(t)h(this)g(b)n(y)g(storing)e(the)i(carry)e-(as)h(an)g(in)n(ternal)g(state,)j(so)d(that)h(the)515-1161 y(curren)n(t)26 b(carry-in)g(of)i(the)g(circuit)f(is)h(the)g-(previous)e(carry-out.)602 1347 y Fp(adderSeq)40 b(\(a,b\))i(=)h(sum)-689 1446 y(where)776 1546 y(carryIn)346 b(=)43 b(delay)f(low)g-(carryOut)776 1645 y(\(sum,carryOut\))c(=)43 b(fullAdd)e(\(carryIn,)f-(\(a,b\)\))515 1831 y Fq(Sim)n(ulating)27 b Fp(adderSeq)e-Fq(giv)n(es:)602 2017 y Fp(Main>)41 b Fl(simulateSeq)e(adderSeq)i-([\(high,low\),)d(\(high,high\),)h(\(low,high\)])602-2117 y Fp([high,)i(low,)h(low])515 2303 y Fq(Because)29-b(w)n(e)i(\014nd)g(that)g(man)n(y)f(sequen)n(tial)g(circuits)g(ha)n(v)n-(e)f(this)i(structure,)g(w)n(e)g(de\014ne)f(a)515 2403-y Fn(se)l(quential)35 b Fq(connection)f(pattern,)i(called)e-Fp(rowSeq)e Fq(whic)n(h)j(w)n(orks)e(m)n(uc)n(h)h(lik)n(e)g-Fp(row)p Fq(,)h(but)515 2502 y(instead)27 b(in)n(terprets)g(the)h(ro)n-(w)e Fn(over)31 b(time)p Fq(.)602 2688 y Fp(rowSeq)41-b(circ)h(inp)g(=)h(out)689 2788 y(where)776 2888 y(carryIn)390-b(=)43 b(delay)e(zero)h(carryOut)776 2987 y(\(out,)g(carryOut\))e(=)j-(circ)f(\(carryIn,)e(inp\))515 3173 y Fq(W)-7 b(orth)33-b(noting)g(is)h(that)g(w)n(e)f(mak)n(e)f(use)i(of)f(the)h(generic)f-Fp(delay)e Fq(and)i Fp(zero)f Fq(comp)r(onen)n(t)515-3273 y(here.)k(The)28 b(structure)f(is)g(exactly)g(the)h(same)f(as)g-(in)h(the)g(sequen)n(tial)f(adder.)515 3412 y(Recalling)f(the)h-(de\014nition)f(of)h(a)f(binary)g(adder)g(in)g(terms)h(of)f-Fp(row)p Fq(,)g(w)n(e)g(can)g(rep)r(eat)g(it)h(and)515-3512 y(implemen)n(t)h(a)f(sequen)n(tial)g(adder)g(in)h(terms)f(of)h-Fp(rowSeq)p Fq(:)602 3698 y Fp(adder')172 b(=)43 b(row)173-b(fullAdd)84 b(--)43 b Fl(combinational)602 3797 y Fp(adderSeq')d(=)j-(rowSeq)e(fullAdd)84 b(--)43 b Fl(sequential)515 3983-y Fq(In)30 b(this)g(w)n(a)n(y)-7 b(,)29 b(using)g(a)g(connection)h-(pattern)f(to)h(de\014ne)g(a)f(com)n(binational)f(circuit)i(helps)515-4083 y(us)d(to)h(de\014ne)g(the)g(sequen)n(tial)e(v)n(ersion)h(of)g-(the)h(circuit.)515 4397 y Fm(5.5)135 b(V)-11 b(ariations)46-b(on)f Fh(rowSeq)515 4619 y Fq(The)35 b(sequen)n(tial)f(ro)n(w)f-(connection)h(pattern)h(is)f(sometimes)h(useful,)i(but)e(certainly)f-(not)515 4719 y(alw)n(a)n(ys.)g(If)26 b(w)n(e)f(use)g(it)h(to)f-(implemen)n(t)h(a)f(sequen)n(tial)g(adder,)g(as)g(w)n(e)g(did,)h(w)n(e)-f(can)g(also)f(use)515 4818 y(it)32 b(to)h(add)f(up)g(\\in\014nitely)h-(big")e(binary)h(n)n(um)n(b)r(ers.)50 b(The)33 b(addition)f(nev)n(er)f-(ends,)j(so)d(w)n(e)515 4918 y(can)c(nev)n(er)g(start)g(o)n(v)n(er)e-(adding)j(t)n(w)n(o)e(new)i(n)n(um)n(b)r(ers.)1905 5255-y(26)p eop-%%Page: 27 28-27 27 bop 515 523 a Fq(Therefore,)24 b(it)i(is)f(handy)g(to)g(ha)n(v)n-(e)g(a)f(connection)h(pattern,)h(called)f Fp(rowSeqReset)p-Fq(,)c(whic)n(h)515 623 y(tak)n(es)27 b(one)h(extra)f(input)i-Fp(reset)p Fq(.)37 b(When)29 b Fp(reset)d Fq(is)i(high,)g(the)h(in)n-(ternal)e(carry)g(state)h(will)515 722 y(b)r(e)g(reset)f(to)g-Fp(zero)p Fq(.)602 908 y Fp(rowSeqReset)39 b(circ)j(\(reset,inp\))d(=)k-(out)689 1008 y(where)776 1108 y(carryIn)390 b(=)43 b(delay)e(zero)h-(carry)776 1207 y(carry)478 b(=)43 b(mux)f(\(reset,)f(\(carryOut,)e-(zero\)\))776 1307 y(\(out,)j(carryOut\))e(=)j(circ)f(\(carryIn,)e-(inp\))515 1493 y Fq(W)-7 b(e)25 b(use)g(the)g(standard)f(m)n-(ultiplexer)h(comp)r(onen)n(t)f Fp(mux)g Fq(here,)h(whic)n(h)g(c)n(ho)r-(oses)e(the)i(left)h(or)515 1592 y(righ)n(t)31 b(comp)r(onen)n(t)h(of)h-(an)f(input)h(pair,)g(dep)r(ending)f(on)g(if)h(the)g(\014rst)f-(incoming)g(signal)f(is)515 1692 y(lo)n(w)c(or)f(high,)i(resp)r(ectiv)n-(ely)-7 b(.)515 1831 y(No)n(w)27 b(w)n(e)g(can)g(de\014ne)h(a)f-(resettable)g(sequen)n(tial)g(adder)g Fp(adderSeqReset)22-b Fq(as)27 b(follo)n(ws:)602 2017 y Fp(adderSeqReset)38-b(=)43 b(rowSeqReset)c(fullAdd)515 2203 y Fq(V)-7 b(ery)31-b(often,)i(it)e(is)h(the)g(case)e(that)i(the)g(in)n(ternal)e(carry)g-(state)h(has)g(to)h(b)r(e)g(reset)e(p)r(erio)r(di-)515-2303 y(cally)-7 b(,)30 b(that)h(is,)g(on)f(ev)n(ery)f-Fj(n)p Fq(-th,)h(2)p Fj(n)p Fq(-th,)h(...)45 b(clo)r(c)n(k)29-b(tic)n(k.)45 b(Therefore,)30 b(w)n(e)g(create)f(a)h(third)515-2403 y(sequen)n(tial)f(ro)n(w)g(v)-5 b(ariation,)30 b(whic)n(h)g(tak)n-(es)f(a)h(parameter)f Fj(n)p Fq(,)i(whic)n(h)f(indicates)g(the)h(reset)-515 2502 y(p)r(erio)r(d.)602 2688 y Fp(rowSeqPeriod)39-b(n)k(circ)f(inp)g(=)h(out)689 2788 y(where)776 2888-y(reset)f(=)h(puls)f(n)h(\(\))776 2987 y(out)130 b(=)43-b(rowSeqReset)c(circ)j(\(reset,)f(inp\))515 3173 y Fq(No)n(w)32-b(w)n(e)g(can)g(de\014ne)h(a)f(sequen)n(tial)g(adder)f-Fp(adderSeqPeriod)c Fq(adding)32 b Fj(n)p Fq(-bit)h(n)n(um)n(b)r(ers)-515 3273 y(as)27 b(follo)n(ws:)602 3459 y Fp(adderSeqPeriod)38-b(n)43 b(=)g(rowSeqPeriod)c(n)k(fullAdd)515 3773 y Fm(5.6)135-b(Exercises)575 3988 y Fq(5.1)40 b(De\014ne)33 b(a)f(circuit)g-Fp(evenSoFar)p Fq(,)e(whic)n(h)i(tak)n(es)f(one)h(input,)i(and)e(has)g-(one)f(output.)722 4088 y(The)26 b(output)g(is)f(high)g(if)h(and)f-(only)g(if)h(the)g(n)n(um)n(b)r(er)f(of)g(high)g(inputs)h(has)f(b)r-(een)h(ev)n(en)722 4187 y(so)h(far.)722 4320 y(Sim)n(ulate)h(y)n(our)e-(circuit)i(in)g(La)n(v)-5 b(a)26 b(and)i(generate)e(VHDL.)575-4486 y(5.2)40 b(Implemen)n(t)22 b(a)f Fp(flipFlop)d Fq(circuit,)23-b(whic)n(h)e(tak)n(es)f(t)n(w)n(o)h(inputs)h Fp(\(set,)41-b(reset\))p Fq(,)20 b(and)722 4586 y(has)30 b(one)g(output.)46-b(The)31 b(circuit)f(k)n(eeps)g(an)g(in)n(ternal)g(state,)h(whic)n(h)f-(is)g(set)h(to)f(high)722 4686 y(when)g Fp(set)e Fq(is)i(high,)g(and)f-(set)h(to)f(lo)n(w)g(when)h Fp(reset)e Fq(is)h(high.)43-b(The)29 b(in)n(ternal)g(state)722 4785 y(is)d(also)g(the)g(output.)37-b(Y)-7 b(ou)27 b(ma)n(y)e(decide)i(y)n(ourself)e(what)h(to)g(do)g(when)-h(b)r(oth)g(inputs)722 4885 y(are)g(high.)1905 5255 y(27)p-eop-%%Page: 28 29-28 28 bop 575 523 a Fq(5.3)40 b(Implemen)n(t)33 b(a)f(clo)r(c)n(k)n(ed)-f(dela)n(y)g(comp)r(onen)n(t)h Fp(delayClk)p Fq(.)47-b(It)32 b(has)g(one)f(parameter,)722 623 y(the)23 b(initial)f(state,)i-(and)e(it)h(has)e(an)h(extra)g(input)h Fp(clk)p Fq(.)34-b(Only)22 b(when)g Fp(clk)f Fq(is)h(high,)i(the)722 722-y(output)k(c)n(hanges)f(to)g(the)h(state)f(and)h(the)g(state)f(c)n-(hanges)f(to)i(the)g(curren)n(t)f(input.)575 888 y(5.4)40-b(De\014ne)29 b(a)e(circuit)h(called)g Fp(always)p Fq(,)d(whic)n(h)j-(has)f(one)h(input)h(and)e(one)h(output.)38 b(The)722-988 y(output)30 b(is)f(high)f(as)h(long)f(as)g(the)h(input)h(sta)n(ys)e-(high.)41 b(If)29 b(the)g(input)h(drops)e(to)h(lo)n(w,)722-1088 y(then)f(the)g(output)h(sta)n(ys)d(lo)n(w)h(forev)n(er.)575-1254 y(5.5)40 b(De\014ne)c(three)f(di\013eren)n(t)h(circuits)f(that)g-(output)h(high)f(only)g(on)g(ev)n(ery)f(6th)i(clo)r(c)n(k)722-1353 y(tic)n(k)28 b(\(so)g(it)h(happ)r(ens)g(on)f(the)g(6th,)h(12th,)f-(18th,)g(...)40 b(etc.\).)f(Use)29 b(6)f(dela)n(y)f(elemen)n(ts)722-1453 y(in)h(the)g(\014rst)f(circuit,)h(5)f(dela)n(y)g(elemen)n(ts)g(in)-h(the)g(second,)f(and)h(3)f(in)h(the)g(last.)722 1586-y(Is)21 b(it)h(p)r(ossible)f(to)g(de\014ne)h(this)f(circuit)h(with)f-(less)g(than)h(3)f(bit-lev)n(el)g(dela)n(y)f(elemen)n(ts?)575-1752 y(5.6)40 b(De\014ne)30 b(a)f(puls)h(generator)d-Fp(puls2)h Fq(whic)n(h)h(has)g(a)g(parameter)f Fj(k)s-Fq(,)i(and)g(generates)d(a)722 1851 y(puls)i(ev)n(ery)f(2)1162-1821 y Fg(k)1202 1851 y Fq(-th)h(clo)r(c)n(k)f(tic)n(k.)40-b(Y)-7 b(our)29 b(design)f(should)h(use)f(a)h(minimal)g(n)n(um)n(b)r-(er)f(of)722 1951 y(dela)n(y)f(comp)r(onen)n(ts)g(\(ho)n(w)g(man)n(y)g-(is)h(that?\).)575 2117 y(5.7)40 b(De\014ne)29 b(an)f(up-do)n(wn)g-(coun)n(ter.)38 b(The)28 b(coun)n(ter)f(gets)h(a)g(pair)f(of)i(inputs.)-39 b(If)29 b(the)f(left)722 2217 y(input)f(is)g(high,)f(it)h(coun)n(ts)-f(up.)36 b(Otherwise,)26 b(if)h(the)g(righ)n(t)e(input)i(is)f(high,)h-(it)g(coun)n(ts)722 2316 y(do)n(wn.)37 b(Otherwise,)26-b(the)i(state)g(sta)n(ys)e(the)i(same.)575 2482 y(5.8)40-b(De\014ne)32 b(a)e(0-to-9)g(coun)n(ter.)46 b(The)31-b(coun)n(ter)f(has)g(no)h(inputs,)h(and)f(a)g(4-bit)f(n)n(um)n(b)r(er)-722 2582 y(as)d(output.)37 b(Initially)-7 b(,)28 b(the)g(output)g-(starts)e(at)h(0,)g(and)h(incremen)n(ts)e(at)i(ev)n(ery)e(clo)r(c)n(k)-722 2682 y(tic)n(k,)i(but)g(after)f(the)h(output)g(9,)g(it)g(returns)f-(to)g(0.)722 2814 y(Connect)h(the)g(displa)n(y)f(from)g(exercise)f(2.6)-h(to)g(y)n(our)g(coun)n(ter.)575 2980 y(5.9)40 b(De\014ne)26-b(a)e Fn(synchr)l(onizer)p Fq(,)j(whic)n(h)e(has)f(t)n(w)n(o)h(inputs)g-Fp(go1)f Fq(and)h Fp(go2)p Fq(,)f(and)h(one)g(output)722-3080 y Fp(go)p Fq(.)35 b(The)23 b(output)h(only)e(b)r(ecomes)h(true)g-(when)g(b)r(oth)g Fp(go1)f Fq(and)h Fp(go2)f Fq(ha)n(v)n(e)g(b)r(een)h-(high)722 3180 y(in)28 b(the)g(past)f(or)g(are)g(high)g(no)n(w)g(since)-h(the)g(last)f Fp(go)p Fq(.)36 b(.)722 3313 y(Here)28-b(is)f(an)g(example)h(sim)n(ulation:)809 3512 y Fp(Main>)42-b Fl(simulateSeq)d(synchronize)1420 3611 y([\(low,high\),\(hi)o(gh,)o-(lo)o(w\),)o(\(h)o(ig)o(h,h)o(ig)o(h\),)1725 3711 y-(\(high,low\),\(low,)o(lo)o(w\))o(,\(l)o(ow)o(,hi)o(gh)o(\)])809-3811 y Fp([low,)j(high,)f(high,)h(low,)g(low,)g(high])533-4010 y Fq(5.10)e(De\014ne)f(a)e(circuit)h(called)f Fp(outputList)p-Fq(,)f(whic)n(h)i(has)f(one)h(parameter,)h(a)e(list)h(of)722-4110 y(v)-5 b(alues,)36 b(no)e(inputs,)i(and)f(one)e(output.)58-b(The)34 b(circuit)g(outputs)h(the)g(elemen)n(ts)f(in)722-4209 y(the)f(parameter)d(list)j(one)e(b)n(y)h(one)g(at)g(ev)n(ery)f-(clo)r(c)n(k)g(tic)n(k)h(rep)r(eatedly)-7 b(.)50 b(Here)31-b(is)h(an)722 4309 y(example)27 b(sim)n(ulation:)809-4508 y Fp(Main>)42 b Fl(simulateSeq)d(\(outputList)g([low,)j(low,)f-(high]\))2291 4608 y([\(\),\(\),\(\),\(\),\(\),\()o(\)])809-4707 y Fp([low,)h(low,)g(high,)f(low,)h(low,)g(high])1905-5255 y Fq(28)p eop-%%Page: 29 30-29 29 bop 515 1186 a Fo(Chapter)64 b(6)515 1641 y Fs(Sequen)-6-b(tial)76 b(V)-19 b(eri\014cation)515 2112 y Fq(In)29-b(this)h(c)n(hapter)e(w)n(e)h(describ)r(e)g(ho)n(w)f(w)n(e)h(can)g(v)n-(erify)f(prop)r(erties)h(of)g(sequen)n(tial)f(circuits.)515-2212 y(W)-7 b(e)28 b(restrict)f(ourselv)n(es)e(to)j(sequen)n(tial)f-(safet)n(y)g(prop)r(erties.)515 2525 y Fm(6.1)135 b(Sequen)l(tial)46-b(Safet)l(y)g(Prop)t(erties)515 2747 y Fq(Let)37 b(us)h(tak)n(e)f(a)g-(lo)r(ok)f(at)i(ho)n(w)f(to)g(de\014ne)h(prop)r(erties)e(ab)r(out)i-(sequen)n(tial)f(circuits.)66 b(In)515 2846 y(principle,)24-b(w)n(e)e(can)h(use)f(the)h(same)g(tec)n(hniques)f(as)h(w)n(e)f(did)h-(with)h(com)n(binational)d(circuits.)515 2946 y(Let)27-b(us)h(tak)n(e)f(a)g(lo)r(ok)g(at)g(some)g(examples.)515-3086 y(Here)g(is)g(ho)n(w)g(w)n(e)h(can)f(compare)f(the)i(t)n(w)n(o)f-(sequen)n(tial)g(adders)f(from)i(section)f(5.4.)602 3267-y Fp(prop_SameAdderSe)o(q)37 b(inp)43 b(=)g(ok)689 3366-y(where)776 3466 y(out1)f(=)h(adderSeq)e(inp)776 3566-y(out2)h(=)h(adderSeq')d(inp)776 3665 y(ok)130 b(=)43-b(out1)f(<==>)g(out2)515 3847 y Fq(Here)27 b(is)g(another)g(example;)g-(the)h(comp)r(osition)e(of)i Fp(edge)e Fq(and)h Fp(toggle)e-Fq(from)i(section)g(5.1)515 3946 y(giv)n(es)e(the)i(iden)n(tit)n(y)g-(circuit.)36 b(This)26 b(means)h(that)f(the)h(input)h(is)e(the)h(same)f-(as)g(the)g(output.)602 4128 y Fp(prop_ToggleEdgeI)o(de)o(nti)o(ty)37-b(inp)42 b(=)h(ok)689 4227 y(where)776 4327 y(mid)g(=)g(toggle)e(inp)-776 4426 y(out)i(=)g(edge)f(mid)776 4526 y(ok)87 b(=)43-b(out)f(<==>)g(inp)515 4707 y Fq(The)20 b(prop)r(erties)f(w)n(e)h(can)g-(describ)r(e)f(in)i(this)f(w)n(a)n(y)f(are)g(called)h-Fn(se)l(quential)j(safety)h(pr)l(op)l(erties)p Fq(.)515-4807 y(Recall)j(that)i(safet)n(y)e(prop)r(erties)g(are)g(prop)r(erties)-g(whic)n(h)h(can)f(b)r(e)i(describ)r(ed)e(as)h(a)f(circuit)515-4907 y(with)21 b(one)f(output,)i(whic)n(h)f(should)f(alw)n(a)n(ys)f(b)r-(e)i(true)f(\(or)g(nev)n(er)g(b)r(e)h(false\))f(for)g(the)h(prop)r(ert)-n(y)515 5006 y(to)27 b(hold.)1905 5255 y(29)p eop-%%Page: 30 31-30 30 bop 515 523 a Fq(Examples)25 b(of)h(prop)r(erties)f(whic)n(h)h-(are)f(not)h(safet)n(y)f(prop)r(erties)g(are)g(for)h(example)f-Fn(liveness)515 623 y Fq(prop)r(erties.)43 b(These)29-b(can)h(assert)f(that)h(a)g(certain)f(condition)h(m)n(ust)g(hold)g(at)g-(some)f(p)r(oin)n(t)515 722 y(in)f(the)g(future,)g(for)f(example.)515-1037 y Fm(6.2)135 b(Sequen)l(tial)46 b(Logic)515 1258-y Fq(Apart)22 b(from)h(the)g(tec)n(hniques)g(w)n(e)f(used)h(to)g-(de\014ne)g(com)n(binational)e(prop)r(erties,)i(there)g(are)515-1358 y(also)j(sp)r(ecial)i(tec)n(hniques)f(w)n(e)g(can)g(apply)h(to)f-(de\014ne)h(sequen)n(tial)f(prop)r(erties.)639 1581 y-Fi(\017)41 b Fq(When)28 b(w)n(e)e(w)n(an)n(t)h(to)g(refer)f(to)h(v)-5-b(alues)26 b(of)h(signals)f(at)h(di\013eren)n(t)g(time)h(instances,)e-(w)n(e)722 1680 y(can)34 b(use)f(a)g Fp(delay)f Fq(to)i(get)f(access)g-(to)g(previous)g(v)-5 b(alues.)55 b(But)34 b(b)r(e)g(careful)f(ab)r-(out)722 1780 y(what)28 b(initial)g(v)-5 b(alue)27 b(y)n(ou)g(c)n(ho)r-(ose)f(for)h(this)h(use)g(of)f(dela)n(y)-7 b(.)639 1946-y Fi(\017)41 b Fq(When)23 b(w)n(e)f(w)n(an)n(t)g(a)g(certain)g(prop)r-(ert)n(y)f(only)h(to)g(b)r(e)h(true)f(when)h(a)f(certain)f(condition)-722 2045 y(holds,)40 b(whic)n(h)e(do)r(es)f(not)h(necessarily)e(hold)i-(all)f(the)h(time,)j(w)n(e)c(can)h(use)f(logical)722-2145 y(implication.)j(Implication)29 b(is)f(implemen)n(ted)i(b)n(y)e-(the)h(La)n(v)-5 b(a)27 b(gate)h Fp(impl)p Fq(,)g(and)g(also)722-2245 y(b)n(y)g(the)g(binary)e(op)r(erator)g Fp(==>)p-Fq(.)515 2467 y(Here)32 b(is)h(an)g(example.)53 b(Supp)r(ose)33-b(w)n(e)g(w)n(an)n(t)f(to)h(de\014ne)h(the)f(follo)n(wing)f(prop)r(ert)-n(y)g(ab)r(out)515 2567 y(the)i Fp(toggle)e Fq(circuit:)49-b("if)35 b(the)f(input)h(is)f(high,)h(then)g(the)f(curren)n(t)f(output)-i(is)f(di\013eren)n(t)515 2666 y(from)27 b(the)h(previous)e(output".)-515 2806 y(The)h(w)n(a)n(y)g(w)n(e)g(de\014ne)h(this)g(in)g(La)n(v)-5-b(a)26 b(is:)602 2992 y Fp(prop_ToggleToggl)o(es)o(Whe)o(nH)o(igh)37-b(inp)42 b(=)h(ok)689 3092 y(where)776 3191 y(out)173-b(=)44 b(toggle)d(inp)776 3291 y(out')129 b(=)44 b(delay)d(low)h(out)-776 3390 y(change)f(=)j(xor2)d(\(out,)h(out'\))776 3490-y(ok)217 b(=)44 b(inp)e(==>)g(change)515 3676 y Fq(First,)21-b(w)n(e)d(compute)i(the)f(output)h Fp(out)e Fq(from)h-Fp(toggle)p Fq(.)32 b(Then,)21 b(w)n(e)e(use)g(a)g(dela)n(y)f(comp)r-(onen)n(t)515 3776 y(to)32 b(get)g(access)e(to)i(the)h(previous)e-(output)h Fp(out')p Fq(.)49 b(W)-7 b(e)33 b(de\014ne)f(the)g(situation)-g Fp(change)e Fq(in)515 3875 y(whic)n(h)j(these)g(outputs)h(di\013er.)-54 b(And)34 b(then)g(w)n(e)e(sa)n(y:)48 b("if)33 b(the)g(input)i(is)e-Fp(high)p Fq(,)g(then)h(the)515 3975 y(outputs)28 b(di\013er".)515-4289 y Fm(6.3)135 b(V)-11 b(eri\014cation)515 4511 y-Fq(After)33 b(de\014ning)f(these)h(prop)r(erties,)f(w)n(e)h(w)n(ould)f-(lik)n(e)g(to)g(formally)g(v)n(erify)f(them.)52 b(V)-7-b(eri\014-)515 4611 y(cation)28 b(of)h(a)f(sequen)n(tial)g(prop)r(ert)n-(y)g(means)h(that)g(w)n(e)f(ha)n(v)n(e)g(to)h(pro)n(v)n(e)e(that)i(the)-g(prop)r(ert)n(y)515 4710 y(holds)36 b(at)g(all)g(times.)63-b(In)37 b(La)n(v)-5 b(a,)37 b(w)n(e)f(do)h(this)f(b)n(y)g-Fn(induction)h Fq(o)n(v)n(er)e(time.)63 b(It)37 b(w)n(orks)e(as)515-4810 y(follo)n(ws.)1905 5255 y(30)p eop-%%Page: 31 32-31 31 bop 515 523 a Fq(Firstly)-7 b(,)23 b(w)n(e)f(ha)n(v)n(e)f(to)i-(do)f(the)g Fn(b)l(ase)k(c)l(ase)p Fq(:)35 b(pro)n(ving)20-b(that)j(the)g(prop)r(ert)n(y)e(holds)h(for)g(the)h Fn(\014rst)515-623 y Fq(time)28 b(instance.)38 b(Since)28 b(lo)r(oking)f(at)h(just)g-(one)g(time)g(instance)g(do)r(es)f(not)h(in)n(v)n(olv)n(e)f(time)h(at)-515 722 y(all,)f(w)n(e)g(can)h(use)f(the)h(same)f(tec)n(hniques)g(as)g-(w)n(e)g(did)h(in)g(the)g(com)n(binational)f(case.)515-862 y(Then,)f(w)n(e)g(do)g(the)g(inductiv)n(e)h Fn(step)p-Fq(.)36 b(W)-7 b(e)27 b(w)n(an)n(t)e(to)h(pro)n(v)n(e)f(that)h-Fn(if)h Fq(the)f(prop)r(ert)n(y)f(holds)h(at)515 961-y(time)h Fj(t)p Fq(,)f(it)h(also)f(holds)g(at)g(time)h-Fj(t)16 b Fq(+)f(1.)37 b(W)-7 b(e)26 b(do)g(this)h(as)f(follo)n(ws:)35-b(w)n(e)26 b(create)g(an)g Fn(arbitr)l(ary)515 1061 y-Fq(time)i(instance)f(b)n(y)g(\014lling)g(the)h(states)f(of)g(the)g-(circuits)g(with)h(fresh)f(v)-5 b(ariables.)36 b(Then,)27-b(w)n(e)515 1161 y(run)32 b(the)h(circuit)f(once)g(on)h(that)f(state,)i-(obtaining)e(an)g(output)h(and)g(new)f(state)g(v)-5 b(alues.)515-1260 y(Then)34 b(w)n(e)f(assert)f(that)i(the)g(output)g(is)g(true,)h-(and)e(run)h(the)g(circuit)f(on)h(the)g(new)f(state)515-1360 y(v)-5 b(alues.)36 b(Finally)-7 b(,)28 b(w)n(e)f(need)h(to)f(pro)n-(v)n(e)f(that)i(the)g(new)g(output)g(is)f(true.)515 1499-y(After)22 b(pro)n(ving)d(the)j(base)f(case)g(and)g(the)h(inductiv)n(e)-f(step,)i(w)n(e)e(ha)n(v)n(e)g(pro)n(v)n(ed)e(our)i(prop)r(ert)n(y)-7-b(.)515 1599 y(Here)27 b(is)g(what)h(happ)r(ens)g(in)g(La)n(v)-5-b(a:)602 1785 y Fp(Main>)41 b Fl(verify)h(prop_ToggleEdge)o(Id)o(ent)o-(it)o(y)602 1885 y Fp(Proving:)e(base)i(1)h(...)g(Valid.)602-1984 y(Proving:)d(step)i(1)h(...)g(Valid.)602 2084 y(--)602-2183 y(Result:)e(Valid.)602 2383 y(Lava>)g Fl(verify)h(prop_ToggleTogg)-o(le)o(sWh)o(en)o(Hig)o(h)602 2482 y Fp(Proving:)e(base)i(1)h(...)g-(Valid.)602 2582 y(Proving:)d(step)i(1)h(...)g(Valid.)602-2682 y(--)602 2781 y(Result:)e(Valid.)515 2967 y Fq(W)-7-b(e)28 b(giv)n(e)e(a)i(more)e(detailed)i(explanation)f(of)g(induction)h-(in)g(the)g(next)g(section.)515 3282 y Fm(6.4)135 b(Induction)515-3503 y Fq(T)-7 b(o)36 b(p)r(erform)f(induction)i(on)f(a)g(La)n(v)-5-b(a)35 b(prop)r(ert)n(y)-7 b(,)38 b(w)n(e)e(con)n(v)n(ert)e(it)j(to)f-(a)g(logical)f(form)n(ula)515 3603 y(relating)c(input)j(`)p-Ff(inp)o Fq(')f(and)f(old)h(state)f(v)-5 b(ariables)31-b(`)p Ff(q)2168 3620 y Fe(old)2261 3603 y Fq(')i(to)f(output)h(`)p-Ff(ok)p Fq(')f(and)h(new)f(state)515 3703 y(v)-5 b(ariables)31-b(`)p Ff(q)930 3715 y Fe(new)1050 3703 y Fq('.)52 b(Whenev)n(er)31-b(w)n(e)i(use)f(a)g(signal-lev)n(el)f(dela)n(y)g(comp)r(onen)n(t)h(in)h-(a)f(circuit)515 3802 y(or)26 b(prop)r(ert)n(y)-7 b(,)27-b(w)n(e)g(in)n(tro)r(duce)g(one)h(state)f(v)-5 b(ariable.)515-3942 y(In)27 b(this)h(translation,)f(w)n(e)g(also)g(in)n(tro)r(duce)g-(a)g(sp)r(ecial)g(input,)i(called)e(`)p Ff(init)o Fq(',)h(whic)n(h)g-(is)f(true)515 4041 y(only)33 b(in)h(the)g(\014rst)f(time)h(instance.)-54 b(So,)35 b(after)e(w)n(e)g(ha)n(v)n(e)g(translated)f(the)i(prop)r-(ert)n(y)-7 b(,)34 b(w)n(e)515 4141 y(ha)n(v)n(e)26 b(a)h(logical)g-(form)n(ula)f(of)i(the)g(follo)n(wing)e(form:)1428 4324-y Fj(T)12 b Fq(\()p Ff(init)o Fj(;)i Ff(inp)p Fj(;)g-Ff(q)1856 4341 y Fe(old)1948 4324 y Fj(;)g Ff(q)2028-4336 y Fe(new)2148 4324 y Fj(;)g Ff(ok)o Fq(\))515 4506-y(This)27 b(form)n(ula)g(is)g(usually)h(called)f(the)h-Fn(tr)l(ansition)h(r)l(elation)p Fq(.)515 4646 y(A)d(v)n(ery)f(simple)h-(w)n(a)n(y)f(to)h(pro)n(v)n(e)e(that)j(the)f(output)h(`)p-Ff(ok)o Fq(')f(is)g(alw)n(a)n(ys)e(true,)i(w)n(ould)g(b)r(e)g(to)g(try)-515 4745 y(pro)n(ving)g(the)i(follo)n(wing:)1406 4928-y Fj(T)12 b Fq(\()p Ff(init)o Fj(;)i Ff(inp)o Fj(;)g-Ff(q)1833 4945 y Fe(old)1926 4928 y Fj(;)g Ff(q)2006-4940 y Fe(new)2126 4928 y Fj(;)g Ff(ok)o Fq(\))23 b Fi(\))g-Ff(ok)719 b Fq(\(6.1\))1905 5255 y(31)p eop-%%Page: 32 33-32 32 bop 515 523 a Fq(Unfortunately)37 b(ho)n(w)n(ev)n(er,)g(this)g-(metho)r(d)h(do)r(es)f(not)g(w)n(ork)e(v)n(ery)h(often,)k(b)r(ecause)d-(ev)n(en)515 623 y(when)h(the)h(prop)r(ert)n(y)e(is)h(alw)n(a)n(ys)e-(true)i(in)h(an)n(y)e(run)h(of)g(the)h(circuit,)i(it)d(migh)n(t)g(not)h-(b)r(e)515 722 y(true)31 b(in)g(ev)n(ery)f(p)r(ossible)h-(con\014guration)e(of)j(the)f(state)g(v)-5 b(ariables.)46-b(This)32 b(is)f(wh)n(y)f(w)n(e)h(use)515 822 y(induction.)515-961 y(First,)e(w)n(e)f(pro)n(v)n(e)g(the)h Fn(b)l(ase)i(c)l(ase)p-Fq(,)f(that)f(is:)40 b(`)p Ff(ok)o Fq(')29 b(is)g(true)f(at)h(the)g-(\014rst)g(time)g(instance.)41 b(In)515 1061 y(this)28-b(case,)e(w)n(e)i(kno)n(w)e(that)i(the)g(v)-5 b(ariable)27-b(`)p Ff(init)o Fq(')h(is)g(true,)f(so)g(w)n(e)g(pro)n(v)n(e:)1368-1238 y Fj(T)12 b Fq(\()p Fr(true)p Fj(;)i Ff(inp)o Fj(;)g-Ff(q)1856 1250 y Fe(any)1963 1238 y Fj(;)g Ff(q)2043-1250 y Fe(new)2163 1238 y Fj(;)g Ff(ok)o Fq(\))23 b Fi(\))g-Ff(ok)682 b Fq(\(6.2\))515 1414 y(This)27 b(is)h(usually)f(easy)-7-b(,)27 b(since)g(initially)-7 b(,)28 b(w)n(e)f(kno)n(w)g(the)h(v)-5-b(alues)27 b(of)h(the)g(state)f(v)-5 b(ariables.)515-1554 y(Then,)24 b(w)n(e)g(pro)n(v)n(e)e(the)i Fn(induction)i(step)p-Fq(,)f(that)f(is:)35 b(if)24 b(`)p Ff(ok)o Fq(')g(is)g(true)f(at)h-(time)g Fj(t)p Fq(,)h(it)f(is)g(also)e(true)515 1653-y(at)27 b(time)h Fj(t)19 b Fq(+)f(1.)36 b(So,)28 b(w)n(e)f(are)f(lo)r-(oking)h(at)g(t)n(w)n(o)g(time)h(instances)f(of)h(the)g(prop)r(ert)n(y)--7 b(.)1347 1824 y Fj(T)12 b Fq(\()p Ff(init)1552 1836-y Fd(1)1589 1824 y Fj(;)i Ff(inp)1732 1845 y Fd(1)1769-1824 y Fj(;)g Ff(q)1849 1836 y Fd(1)1886 1824 y Fj(;)g-Ff(q)1966 1836 y Fd(2)2003 1824 y Fj(;)g Fr(true)p Fq(\))1367-1924 y Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1786 1944-y Fd(2)1823 1924 y Fj(;)g Ff(q)1903 1936 y Fd(2)1940-1924 y Fj(;)g Ff(q)2020 1936 y Fd(3)2057 1924 y Fj(;)g-Ff(ok)2176 1936 y Fd(2)2213 1924 y Fq(\))2287 1758 y-Fc(\033)2373 1875 y Fi(\))23 b Ff(ok)2561 1887 y Fd(2)3208-1875 y Fq(\(6.3\))515 2097 y(Note)28 b(ho)n(w)f(w)n(e)h(connect)g(the)g-(di\013eren)n(t)g(time)h(instances)f(1)f(and)h(2)g(b)n(y)f(reuse)h(of)g-(the)g(state)515 2196 y(v)-5 b(ariables)32 b(`)p Ff(q)931-2208 y Fd(2)968 2196 y Fq(')h(as)g(new)g(states)g(in)g(the)h(\014rst)e-(time)i(instance)f(and)g(as)g(old)g(states)f(in)i(the)515-2296 y(second)29 b(time)i(instance.)45 b(Also)30 b(note)g(that)g(w)n(e)-g(use)g Fr(false)g Fq(for)g(the)h(v)-5 b(alue)30 b(of)g(`)p-Ff(init)p Fq(')g(in)h(the)515 2395 y(second)d(time)h(instance,)g(b)r-(ecause)g(w)n(e)f(kno)n(w)g(it)h(is)g(not)g(the)g(initial)g(time)g-(instance.)40 b(And)515 2495 y(w)n(e)27 b(use)g Fr(true)h-Fq(for)f(the)h(v)-5 b(alue)27 b(of)h Ff(ok)e Fq(in)i(the)g(\014rst)f-(time,)h(since)f(w)n(e)g(ma)n(y)g(assume)g(that)h(the)515-2595 y(induction)g(h)n(yp)r(othesis)f(holds.)515 2734-y(If)e(w)n(e)f(ha)n(v)n(e)g(pro)n(v)n(en)f(the)i(t)n(w)n(o)f(form)n-(ulas)f(6.2)h(and)g(6.3,)h(then)g(w)n(e)f(kno)n(w)g(that)h(`)p-Ff(ok)o Fq(')g(m)n(ust)g(b)r(e)515 2834 y(true)i(at)h(all)f(time)h-(instances.)36 b(This)28 b(is)g(the)g(basic)f(notion)g(of)g(induction.)-515 3147 y Fm(6.5)135 b(Induction)45 b(With)g(Depth)515-3369 y Fq(Unfortunately)-7 b(,)24 b(the)f(metho)r(d)g(of)g(induction)g-(men)n(tioned)f(in)h(the)h(previous)d(section)h(is)h(not)515-3469 y Fn(c)l(omplete)p Fq(.)54 b(This)32 b(means)h(that)g(there)g(are)-f(prop)r(erties)g(whic)n(h)h(are)e(true,)k(whic)n(h)e(cannot)515-3568 y(b)r(e)28 b(pro)n(v)n(en)e(b)n(y)h(simple)h(induction.)515-3708 y(Here)e(is)h(an)f(example:)36 b(Consider)26 b(the)h-Fp(toggle)d Fq(circuit)j(from)f(section)g(5.1)g(and)h(the)g-Fp(puls)515 3807 y Fq(circuit)g(from)f(section)h(5.2.)36-b(W)-7 b(e)27 b(migh)n(t)g(w)n(an)n(t)g(to)g(v)n(erify)f(that)h(these)g-(circuits)g(do)g(exactly)515 3907 y(the)h(opp)r(osite)f(if)h-Fp(toggle)d Fq(alw)n(a)n(ys)h(has)h(a)g(high)h(input,)g(and)g-Fp(puls)e Fq(has)h(a)g(p)r(erio)r(d)g(of)h(2.)602 4088-y Fp(prop_Toggle_vs_P)o(ul)o(s)38 b(\(\))k(=)i(ok)689-4188 y(where)776 4287 y(out1)e(=)h(toggle)e(high)776-4387 y(out2)h(=)h(puls)f(2)h(\(\))776 4486 y(ok)130 b(=)43-b(inv)g(\(out1)e(<==>)h(out2\))515 4667 y Fq(This)22-b(cannot)f(b)r(e)i(pro)n(v)n(en)e(b)n(y)g(normal)g(induction,)j(since)e-(the)g Fp(puls)f Fq(circuit)h(has)g(t)n(w)n(o)f(dela)n(y)515-4767 y(comp)r(onen)n(ts)h(in)h(a)f(ro)n(w,)g(so)g(it)h(is)g(not)g-(enough)f(to)g(lo)r(ok)g(at)h(t)n(w)n(o)e(time)j(instances)e(at)g(a)h-(time.)515 4907 y(So,)38 b(instead,)f(w)n(e)f(will)g(lo)r(ok)g(at)f-(more)g(time)i(instances)e(in)i(the)f(induction)g(pro)r(of.)62-b(W)-7 b(e)515 5006 y(in)n(tro)r(duce)36 b(the)i(concept)e(of)h-Fn(induction)i(with)g(depth)g Fj(k)s Fq(,)h(whic)n(h)d(means)f(that)h-(the)h(base)1905 5255 y(32)p eop-%%Page: 33 34-33 33 bop 1557 1857 a @beginspecial 0 @llx 0 @lly 187-@urx 340 @ury 935 @rwi @setspecial-%%BeginDocument: Pictures/basek.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--58.0 397.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 7612 m -1000 -1000 l 5069 -1000 l 5069 7612 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 1800 5100 m 2700 5100 l 2700 6000 l 1800 6000 l cp gs col0 s gr -% Polyline-gs  clippath-1677 5520 m 1773 5550 l 1677 5580 l 1815 5580 l 1815 5520 l cp-clip-n 1200 5550 m 1800 5550 l gs col0 s gr gr--% arrowhead-n 1677 5520 m 1773 5550 l 1677 5580 l 1653 5550 l 1677 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 5520 m 3273 5550 l 3177 5580 l 3315 5580 l 3315 5520 l cp-clip-n 2700 5550 m 3300 5550 l gs col0 s gr gr--% arrowhead-n 3177 5520 m 3273 5550 l 3177 5580 l 3153 5550 l 3177 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline- [15 45] 45 sd-n 2250 4275 m 2250 5100 l gs col0 s gr  [] 0 sd-% Polyline-n 1800 1800 m 2700 1800 l 2700 2700 l 1800 2700 l cp gs col0 s gr -% Polyline-gs  clippath-1677 2220 m 1773 2250 l 1677 2280 l 1815 2280 l 1815 2220 l cp-clip-n 1200 2250 m 1800 2250 l gs col0 s gr gr--% arrowhead-n 1677 2220 m 1773 2250 l 1677 2280 l 1653 2250 l 1677 2220 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 6477 m 2250 6573 l 2220 6477 l 2220 6615 l 2280 6615 l cp-clip-n 2250 6000 m 2250 6600 l gs col0 s gr gr--% arrowhead-n 2280 6477 m 2250 6573 l 2220 6477 l 2250 6453 l 2280 6477 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 1800 3300 m 2700 3300 l 2700 4200 l 1800 4200 l cp gs col0 s gr -% Polyline-gs  clippath-1677 3720 m 1773 3750 l 1677 3780 l 1815 3780 l 1815 3720 l cp-clip-n 1200 3750 m 1800 3750 l gs col0 s gr gr--% arrowhead-n 1677 3720 m 1773 3750 l 1677 3780 l 1653 3750 l 1677 3720 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 3177 m 2250 3273 l 2220 3177 l 2220 3315 l 2280 3315 l cp-clip-n 2250 2700 m 2250 3300 l gs col0 s gr gr--% arrowhead-n 2280 3177 m 2250 3273 l 2220 3177 l 2250 3153 l 2280 3177 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 3720 m 3273 3750 l 3177 3780 l 3315 3780 l 3315 3720 l cp-clip-n 2700 3750 m 3300 3750 l gs col0 s gr gr--% arrowhead-n 3177 3720 m 3273 3750 l 3177 3780 l 3153 3750 l 3177 3720 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 1677 m 2250 1773 l 2220 1677 l 2220 1815 l 2280 1815 l cp-clip-n 2250 1200 m 2250 1800 l gs col0 s gr gr--% arrowhead-n 2280 1677 m 2250 1773 l 2220 1677 l 2250 1653 l 2280 1677 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 2220 m 3273 2250 l 3177 2280 l 3315 2280 l 3315 2220 l cp-clip-n 2700 2250 m 3300 2250 l gs col0 s gr gr--% arrowhead-n 3177 2220 m 3273 2250 l 3177 2280 l 3153 2250 l 3177 2220 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-975 2325 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-975 3825 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-975 5625 m-gs 1 -1 sc (x) col0 sh gr-/Times-Italic ff 270.00 scf sf-1125 5700 m-gs 1 -1 sc (k) col0 sh gr-/Times-Italic ff 270.00 scf sf-1125 2400 m-gs 1 -1 sc (1) col0 sh gr-/Courier ff 270.00 scf sf-2175 5625 m-gs 1 -1 sc (T) col0 sh gr-/Courier ff 270.00 scf sf-2175 3825 m-gs 1 -1 sc (T) col0 sh gr-/Courier ff 270.00 scf sf-2175 2325 m-gs 1 -1 sc (T) col0 sh gr-/Helvetica ff 270.00 scf sf-2025 1125 m-gs 1 -1 sc (q) col0 sh gr-/Times-Italic ff 270.00 scf sf-2175 1200 m-gs 1 -1 sc (init) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 2325 m-gs 1 -1 sc (ok) col0 sh gr-/Times-Italic ff 270.00 scf sf-3675 2400 m-gs 1 -1 sc (1) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 3825 m-gs 1 -1 sc (ok) col0 sh gr-/Times-Italic ff 270.00 scf sf-3675 3900 m-gs 1 -1 sc (2) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 5625 m-gs 1 -1 sc (ok) col0 sh gr-/Times-Italic ff 270.00 scf sf-3675 5700 m-gs 1 -1 sc (k) col0 sh gr-/Courier ff 270.00 scf sf-3900 2325 m-gs 1 -1 sc (?) col0 sh gr-/Courier ff 270.00 scf sf-3900 3825 m-gs 1 -1 sc (?) col0 sh gr-/Courier ff 270.00 scf sf-3900 5625 m-gs 1 -1 sc (?) col0 sh gr-/Times-Italic ff 270.00 scf sf-1125 3900 m-gs 1 -1 sc (2) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1052 2039 a Fq(Figure)27 b(6.1:)36 b(Base)26-b(case)h(for)g(induction)h(with)g(depth)g Fj(k)s Fq(.)515-2305 y(case)c(pro)n(v)n(es)g(that)h(the)h(\014rst)f Fj(k)k-Fq(steps)c(are)f(ok)-5 b(a)n(y)e(,)25 b(and)h(the)f(step)h(case)e(ma)n-(y)h(assume)g(that)g(a)515 2404 y(sequence)i(of)g Fj(k)k-Fq(steps)c(w)n(en)n(t)h(ok)-5 b(a)n(y)e(,)26 b(in)i(order)e(to)i(pro)n-(v)n(e)e(that)i(the)g Fj(k)21 b Fq(+)d(1-th)27 b(step)h(is)f(ok)-5-b(a)n(y)e(.)515 2544 y(Here)27 b(is)g(the)h(concrete)f(form)n(ula)g-(for)g(the)h(base)f(case)g(\(see)g(also)g(\014gure)f(6.1\):)1145-2725 y Fj(T)12 b Fq(\()p Fr(true)o Fj(;)i Ff(inp)1553-2746 y Fd(1)1590 2725 y Fj(;)g Ff(q)1670 2737 y Fd(1)1707-2725 y Fj(;)g Ff(q)1787 2737 y Fd(2)1824 2725 y Fj(;)g-Ff(ok)1943 2737 y Fd(1)1980 2725 y Fq(\))1134 2825 y-Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1553 2845 y Fd(2)1590-2825 y Fj(;)g Ff(q)1670 2837 y Fd(2)1707 2825 y Fj(;)g-Ff(q)1787 2837 y Fd(3)1824 2825 y Fj(;)g Ff(ok)1943 2837-y Fd(2)1980 2825 y Fq(\))1916 2925 y Fj(:)g(:)g(:)1036-3024 y(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1454 3045-y Fg(k)1495 3024 y Fj(;)g Ff(q)1575 3036 y Fg(k)1616-3024 y Fj(;)g Ff(q)1696 3036 y Fg(k)q Fd(+1)1820 3024-y Fj(;)g Ff(ok)1939 3036 y Fg(k)1980 3024 y Fq(\))2054-2656 y Fc(9)2054 2730 y(>)2054 2755 y(>)2054 2780 y(=)2054-2930 y(>)2054 2955 y(>)2054 2980 y(;)2151 2876 y Fi(\))23-b Ff(ok)2339 2888 y Fd(1)2376 2876 y Fj(;)37 b Ff(ok)2518-2888 y Fd(2)2556 2876 y Fj(;)g(:)14 b(:)g(:)f(;)37 b-Ff(ok)2868 2888 y Fg(k)3208 2876 y Fq(\(6.4\))515 3203-y(Note)e(that)g(w)n(e)g(use)f(the)i(same)e(tric)n(k)g(of)h(reusing)f-(the)i(state)e(v)-5 b(ariables)34 b(of)h(consecutiv)n(e)515-3303 y(times)d(to)g(line)g(up)g(the)h(time)f(instances.)50-b(Here)32 b(is)g(the)g(concrete)f(form)n(ula)g(for)h(the)g(step)515-3402 y(case)26 b(\(see)i(also)e(\014gure)h(6.2\):)1463-3584 y Fj(T)12 b Fq(\()p Ff(init)1668 3596 y Fd(1)1705-3584 y Fj(;)i Ff(inp)1848 3605 y Fd(1)1885 3584 y Fj(;)g-Ff(q)1965 3596 y Fd(1)2002 3584 y Fj(;)g Ff(q)2082 3596-y Fd(2)2119 3584 y Fj(;)g Fr(true)p Fq(\))1429 3684 y-Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1848 3704 y Fd(2)1885-3684 y Fj(;)g Ff(q)1965 3696 y Fd(2)2002 3684 y Fj(;)g-Ff(q)2082 3696 y Fd(3)2119 3684 y Fj(;)g Fr(true)p Fq(\))2264-3784 y Fj(:)g(:)g(:)1334 3883 y(T)e Fq(\()p Fr(false)o-Fj(;)i Ff(inp)1753 3903 y Fg(k)1794 3883 y Fj(;)g Ff(q)1874-3895 y Fg(k)1914 3883 y Fj(;)g Ff(q)1994 3895 y Fg(k)q-Fd(+1)2119 3883 y Fj(;)g Fr(true)p Fq(\))1132 3983 y-Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1551 4003 y Fg(k)q-Fd(+1)1676 3983 y Fj(;)g Ff(q)1756 3995 y Fg(k)q Fd(+1)1880-3983 y Fj(;)g Ff(q)1960 3995 y Fg(k)q Fd(+2)2085 3983-y Fj(;)g Ff(ok)2204 3995 y Fg(k)q Fd(+1)2329 3983 y Fq(\))2403-3515 y Fc(9)2403 3589 y(>)2403 3614 y(>)2403 3639 y(>)2403-3664 y(>)2403 3689 y(=)2403 3838 y(>)2403 3863 y(>)2403-3888 y(>)2403 3913 y(>)2403 3938 y(;)2500 3784 y Fi(\))23-b Ff(ok)2688 3796 y Fg(k)q Fd(+1)3208 3784 y Fq(\(6.5\))515-4162 y(So,)31 b(for)f(an)n(y)f(depth)i Fj(k)s Fq(,)g(if)g(w)n(e)f(can)g-(pro)n(v)n(e)f(the)i(form)n(ulas)e(6.4)h(and)g(6.5,)g(w)n(e)g(ha)n(v)n-(e)g(pro)n(v)n(ed)515 4261 y(that)h(`)p Ff(ok)o Fq(')h(holds)f(at)g(ev)-n(ery)f(time)h(instance.)48 b(Note)31 b(that)h(if)f(w)n(e)g(c)n(ho)r-(ose)f Fj(k)i Fq(=)d(1,)j(then)f(w)n(e)515 4361 y(are)26-b(bac)n(k)h(to)h(normal)e(induction)i(again.)515 4500-y(Here)f(is)g(what)h(happ)r(ens)g(when)f(w)n(e)h(v)n(erify)f-Fp(prop)p 2079 4500 27 4 v 29 w(Toggle)p 2372 4500 V-29 w(vs)p 2489 4500 V 31 w(Puls)f Fq(in)i(La)n(v)-5 b(a:)602-4686 y Fp(Main>)41 b Fl(verify)h(prop_Toggle_vs_)o(Pu)o(ls)602-4786 y Fp(Prover:)f(base)h(1)h(...)f(Valid.)602 4886-y(Prover:)f(step)h(1)h(...)f(Falsifiable.)602 4985 y(Prover:)f(base)h-(2)h(...)f(Valid.)1905 5255 y Fq(33)p eop-%%Page: 34 35-34 34 bop 1501 2232 a @beginspecial 0 @llx 0 @lly 214-@urx 430 @ury 1070 @rwi @setspecial-%%BeginDocument: Pictures/stepk.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--49.0 487.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 9112 m -1000 -1000 l 5369 -1000 l 5369 9112 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw- [15 45] 45 sd-n 2250 4275 m 2250 5100 l gs col0 s gr  [] 0 sd-% Polyline-n 1800 1800 m 2700 1800 l 2700 2700 l 1800 2700 l cp gs col0 s gr -% Polyline-gs  clippath-1677 2220 m 1773 2250 l 1677 2280 l 1815 2280 l 1815 2220 l cp-clip-n 1200 2250 m 1800 2250 l gs col0 s gr gr--% arrowhead-n 1677 2220 m 1773 2250 l 1677 2280 l 1653 2250 l 1677 2220 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 1800 3300 m 2700 3300 l 2700 4200 l 1800 4200 l cp gs col0 s gr -% Polyline-gs  clippath-1677 3720 m 1773 3750 l 1677 3780 l 1815 3780 l 1815 3720 l cp-clip-n 1200 3750 m 1800 3750 l gs col0 s gr gr--% arrowhead-n 1677 3720 m 1773 3750 l 1677 3780 l 1653 3750 l 1677 3720 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 3177 m 2250 3273 l 2220 3177 l 2220 3315 l 2280 3315 l cp-clip-n 2250 2700 m 2250 3300 l gs col0 s gr gr--% arrowhead-n 2280 3177 m 2250 3273 l 2220 3177 l 2250 3153 l 2280 3177 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 3720 m 3273 3750 l 3177 3780 l 3315 3780 l 3315 3720 l cp-clip-n 2700 3750 m 3300 3750 l gs col0 s gr gr--% arrowhead-n 3177 3720 m 3273 3750 l 3177 3780 l 3153 3750 l 3177 3720 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 1677 m 2250 1773 l 2220 1677 l 2220 1815 l 2280 1815 l cp-clip-n 2250 1200 m 2250 1800 l gs col0 s gr gr--% arrowhead-n 2280 1677 m 2250 1773 l 2220 1677 l 2250 1653 l 2280 1677 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 2220 m 3273 2250 l 3177 2280 l 3315 2280 l 3315 2220 l cp-clip-n 2700 2250 m 3300 2250 l gs col0 s gr gr--% arrowhead-n 3177 2220 m 3273 2250 l 3177 2280 l 3153 2250 l 3177 2220 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 1800 5100 m 2700 5100 l 2700 6000 l 1800 6000 l cp gs col0 s gr -% Polyline-gs  clippath-1677 5520 m 1773 5550 l 1677 5580 l 1815 5580 l 1815 5520 l cp-clip-n 1200 5550 m 1800 5550 l gs col0 s gr gr--% arrowhead-n 1677 5520 m 1773 5550 l 1677 5580 l 1653 5550 l 1677 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 5520 m 3273 5550 l 3177 5580 l 3315 5580 l 3315 5520 l cp-clip-n 2700 5550 m 3300 5550 l gs col0 s gr gr--% arrowhead-n 3177 5520 m 3273 5550 l 3177 5580 l 3153 5550 l 3177 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 6477 m 2250 6573 l 2220 6477 l 2220 6615 l 2280 6615 l cp-clip-n 2250 6000 m 2250 6600 l gs col0 s gr gr--% arrowhead-n 2280 6477 m 2250 6573 l 2220 6477 l 2250 6453 l 2280 6477 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 1800 6600 m 2700 6600 l 2700 7500 l 1800 7500 l cp gs col0 s gr -% Polyline-gs  clippath-1677 7020 m 1773 7050 l 1677 7080 l 1815 7080 l 1815 7020 l cp-clip-n 1200 7050 m 1800 7050 l gs col0 s gr gr--% arrowhead-n 1677 7020 m 1773 7050 l 1677 7080 l 1653 7050 l 1677 7020 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 7020 m 3273 7050 l 3177 7080 l 3315 7080 l 3315 7020 l cp-clip-n 2700 7050 m 3300 7050 l gs col0 s gr gr--% arrowhead-n 3177 7020 m 3273 7050 l 3177 7080 l 3153 7050 l 3177 7020 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 7977 m 2250 8073 l 2220 7977 l 2220 8115 l 2280 8115 l cp-clip-n 2250 7500 m 2250 8100 l gs col0 s gr gr--% arrowhead-n 2280 7977 m 2250 8073 l 2220 7977 l 2250 7953 l 2280 7977 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-975 2325 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-975 3825 m-gs 1 -1 sc (x) col0 sh gr-/Times-Italic ff 270.00 scf sf-1125 2400 m-gs 1 -1 sc (1) col0 sh gr-/Courier ff 270.00 scf sf-2175 3825 m-gs 1 -1 sc (T) col0 sh gr-/Courier ff 270.00 scf sf-2175 2325 m-gs 1 -1 sc (T) col0 sh gr-/Helvetica ff 270.00 scf sf-2025 1125 m-gs 1 -1 sc (q) col0 sh gr-/Times-Italic ff 270.00 scf sf-2175 1200 m-gs 1 -1 sc (any) col0 sh gr-/Times-Italic ff 270.00 scf sf-1125 3900 m-gs 1 -1 sc (2) col0 sh gr-/Helvetica ff 270.00 scf sf-975 5625 m-gs 1 -1 sc (x) col0 sh gr-/Times-Italic ff 270.00 scf sf-1125 5700 m-gs 1 -1 sc (k) col0 sh gr-/Courier ff 270.00 scf sf-2175 5625 m-gs 1 -1 sc (T) col0 sh gr-/Courier ff 270.00 scf sf-2175 7125 m-gs 1 -1 sc (T) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 7125 m-gs 1 -1 sc (ok) col0 sh gr-/Times-Italic ff 270.00 scf sf-3675 7200 m-gs 1 -1 sc (k+1) col0 sh gr-/Helvetica ff 270.00 scf sf-825 7125 m-gs 1 -1 sc (x) col0 sh gr-/Times-Italic ff 270.00 scf sf-975 7275 m-gs 1 -1 sc (k+1) col0 sh gr-/Courier ff 270.00 scf sf-4200 7125 m-gs 1 -1 sc (?) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 2325 m-gs 1 -1 sc (true) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 3825 m-gs 1 -1 sc (true) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 5625 m-gs 1 -1 sc (true) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 967 2414 a Fq(Figure)27 b(6.2:)36 b(Inductiv)n(e)28-b(step)f(for)h(induction)f(with)i(depth)f Fj(k)s Fq(.)602-2680 y Fp(Prover:)41 b(step)h(2)h(...)f(Valid.)602 2779-y(--)602 2879 y(Result:)f(Valid.)515 3065 y Fq(So,)28-b(the)h(v)n(eri\014er)e(realizes)g(that)i(induction)g(depth)g(1)f(is)h-(not)f(enough)g(for)g(the)h(step)g(to)f(go)515 3164 y(through,)20-b(and)g(increases)e(the)i(induction)f(depth)i(automatically)-7-b(.)33 b(It)20 b(will)f(k)n(eep)h(increasing)515 3264-y(the)26 b(depth)g(un)n(til)g(either)g(the)g(base)f(case)g(turns)g(out)-h(to)f(b)r(e)h(false,)g(or)f(un)n(til)h(it)g(manages)e(to)515-3364 y(pro)n(v)n(e)i(b)r(oth)i(the)g(base)f(case)f(and)i(the)g(step)g-(case.)515 3503 y(If)k(w)n(e)g(w)n(an)n(t)g(to)g(sp)r(ecify)g(a)g(sp)r-(eci\014c)g(depth)h(to)f(do)g(the)h(induction)f(for,)h(w)n(e)f(can)g-(use)g(the)515 3603 y(op)r(eration)26 b Fp(verifyWith)p-Fq(,)e(whic)n(h)j(tak)n(es)g(an)g(extra)g(list)h(of)f(v)n(erify)g-(options.)602 3789 y Fp(Main>)41 b Fl(verifyWith)f([Depth)h(2])i-(prop_Toggle_vs_P)o(ul)o(s)602 3888 y Fp(Prover:)e(base)h(2)h(...)f-(Valid.)602 3988 y(Prover:)f(step)h(2)h(...)f(Valid.)602-4088 y(--)602 4187 y(Result:)f(Valid.)515 4373 y Fq(The)25-b(op)r(eration)g Fp(verify)e Fq(is)i(actually)g(just)h(a)f(short-hand)f-(for)h Fp(verifyWith)40 b([Depth)h(1,)515 4473 y(Increasing])p-Fq(.)61 b(With)38 b(the)g(option)f Fp(Depth)p Fq(,)h(one)f(can)f(sp)r-(ecify)i(the)g(induction)f(depth.)515 4572 y Fp(Increasing)g-Fq(means)j(that)i(it)f(will)g(k)n(eep)g(increasing)f(the)h(depth)h(un)n-(til)f(it)h(pro)n(v)n(es)d(or)515 4672 y(dispro)n(v)n(es)25-b(the)j(prop)r(ert)n(y)-7 b(.)1905 5255 y(34)p eop-%%Page: 35 36-35 35 bop 515 523 a Fm(6.6)135 b(Induction)45 b(With)g(Restricted)h-(States)515 745 y Fq(Unfortunately)-7 b(,)22 b(ev)n(en)e(induction)g-(with)h(depth)g(is)g(not)f(a)g(complete)g(metho)r(d.)35-b(This)21 b(means)515 844 y(that)27 b(there)h(exists)f(prop)r(eries)f-(whic)n(h)h(are)g(alw)n(a)n(ys)e(true,)j(but)g(for)f(whic)n(h)g(there)g-(exists)g(no)515 944 y Fj(k)j Fq(suc)n(h)e(that)f(the)h(prop)r(ert)n(y)-f(can)g(b)r(e)h(pro)n(v)n(en)e(b)n(y)h(induction)h(with)h(depth)f-Fj(k)s Fq(.)515 1083 y(An)21 b(example)f(of)h(suc)n(h)f(a)g(prop)r(ert)-n(y)g(is)g(to)h(c)n(hec)n(k)f(if)h(a)f(p)r(erio)r(dic)h(sequen)n(tial)f-(adder)g(of)g(p)r(erio)r(d)515 1183 y(2)27 b(is)g(equiv)-5-b(alen)n(t)28 b(to)f(a)g(resettable)g(adder)g(whic)n(h)h(w)n(e)f(reset)-g(ev)n(ery)f(second)h(clo)r(c)n(k)g(tic)n(k.)602 1369-y Fp(prop_AdderPeriod)o(2)37 b(ab)43 b(=)g(ok)689 1469-y(where)776 1568 y(sum1)f(=)h(adderSeqPeriod)38 b(2)43-b(ab)776 1668 y(two)86 b(=)43 b(delay)f(low)g(\(inv)g(two\))86-b(--)42 b Fl(010101...)776 1768 y Fp(sum2)g(=)h(adderSeqReset)c(\(two,)-i(ab\))776 1867 y(ok)130 b(=)43 b(sum1)f(<==>)g(sum2)515-2053 y Fq(V)-7 b(erifying)27 b(this)h(prop)r(ert)n(y)e(results)i(in)f-(an)h(in\014nite)g(lo)r(op:)602 2239 y Fp(Main>)41 b-Fl(verify)h(prop_AdderPerio)o(d2)602 2339 y Fp(Prover:)f(base)h(1)h-(...)f(Valid.)602 2438 y(Prover:)f(step)h(1)h(...)f(Falsifiable.)602-2538 y(Prover:)f(base)h(2)h(...)f(Valid.)602 2638 y(Prover:)f(step)h(2)-h(...)f(Falsifiable.)602 2737 y(...)515 2923 y Fq(The)26-b(problem)g(is)h(that)f(there)h(exist)f(a)g(lot)h(of)f(state)g(v)-5-b(ariable)26 b(con\014gurations)e(that)j(nev)n(er)515-3023 y(o)r(ccur)i(when)h(w)n(e)g(run)f(the)i(circuit,)f(but)g(are)f-(logically)g(p)r(ossible.)43 b(In)30 b(some)g(cases,)f(these)515-3122 y(so-called)h Fn(unr)l(e)l(achable)k(states)d Fq(mess)g(up)h(the)f-(induction)h(pro)r(of.)48 b(Ev)n(en)30 b(assuming)h(that)515-3222 y(the)d(prop)r(ert)n(y)f(w)n(e)h(w)n(an)n(t)g(to)g(pro)n(v)n(e)e-(is)i(true)h(for)e(a)h(v)n(ery)f(large)g(n)n(um)n(b)r(er)h-Fj(k)j Fq(of)d(consecutiv)n(e)515 3322 y(running)f(steps)g(\(lik)n(e)g-(w)n(e)g(do)g(in)h(the)g(induction)g(step\))g(is)f(not)g(enough)g(to)g-(ensure)g(w)n(e)g(are)515 3421 y(in)f(a)g(reac)n(hable)f(state.)36-b(The)26 b(reason)f(for)h(this)g(is)g(that)h(w)n(e)f(migh)n(t)g(b)r(e)h-(running)f(around)f(in)515 3521 y(the)g(unreac)n(hable)e(states)i(in)g-(circles)e(for)i(these)g Fj(k)i Fq(steps,)e(so)g(increasing)e-Fj(k)28 b Fq(do)r(es)c(not)h(help.)515 3660 y(Instead,)g(w)n(e)g(will)g-(strengthen)g(the)g(induction)h(step)f(b)n(y)g(sa)n(ying)f(that)h(all)g-Fj(k)16 b Fq(+)d(1)25 b(states)f(w)n(e)515 3760 y(visit)33-b(in)g(the)h(form)n(ula)e(m)n(ust)h(b)r(e)g(distinct.)54-b(In)33 b(this)h(w)n(a)n(y)-7 b(,)33 b(w)n(e)g(ensure)f(that)h(w)n(e)g-(are)f(not)515 3860 y(running)27 b(around)g(in)g(circles.)515-3999 y(The)g(new)h(form)n(ula)f(for)g(the)h(inductiv)n(e)g(step)f(b)r-(ecomes:)1614 4176 y Fj(T)12 b Fq(\()p Ff(init)1819 4188-y Fd(1)1856 4176 y Fj(;)i Ff(inp)1999 4197 y Fd(1)2036-4176 y Fj(;)g Ff(q)2116 4188 y Fd(1)2153 4176 y Fj(;)g-Ff(q)2233 4188 y Fd(2)2270 4176 y Fj(;)g Fr(true)p Fq(\))1580-4276 y Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1999 4296-y Fd(2)2036 4276 y Fj(;)g Ff(q)2116 4288 y Fd(2)2153-4276 y Fj(;)g Ff(q)2233 4288 y Fd(3)2270 4276 y Fj(;)g-Fr(true)p Fq(\))2416 4376 y Fj(:)g(:)g(:)1486 4475 y(T)e-Fq(\()p Fr(false)n Fj(;)i Ff(inp)1904 4496 y Fg(k)1945-4475 y Fj(;)g Ff(q)2025 4487 y Fg(k)2065 4475 y Fj(;)g-Ff(q)2145 4487 y Fg(k)q Fd(+1)2270 4475 y Fj(;)g Fr(true)p-Fq(\))1284 4575 y Fj(T)e Fq(\()p Fr(false)n Fj(;)i Ff(inp)1702-4595 y Fg(k)q Fd(+1)1827 4575 y Fj(;)g Ff(q)1907 4587-y Fg(k)q Fd(+1)2032 4575 y Fj(;)g Ff(q)2112 4587 y Fg(k)q-Fd(+2)2236 4575 y Fj(;)g Ff(ok)2355 4587 y Fg(k)q Fd(+1)2480-4575 y Fq(\))811 4675 y Ff(q)854 4687 y Fd(1)914 4675-y Fi(6)p Fq(=)22 b Ff(q)1044 4687 y Fd(2)1082 4675 y-Fj(;)37 b Ff(q)1185 4687 y Fd(1)1245 4675 y Fi(6)p Fq(=)22-b Ff(q)1375 4687 y Fd(3)1412 4675 y Fj(;)37 b(:)14 b(:)g(:)g(;)37-b Ff(q)1686 4687 y Fg(k)q Fb(\000)p Fd(1)1835 4675 y-Fi(6)p Fq(=)23 b Ff(q)1966 4687 y Fg(k)q Fd(+1)2090 4675-y Fj(;)37 b Ff(q)2193 4687 y Fg(k)2257 4675 y Fi(6)p-Fq(=)23 b Ff(q)2388 4687 y Fg(k)q Fd(+1)2554 4107 y Fc(9)2554-4181 y(>)2554 4206 y(>)2554 4231 y(>)2554 4256 y(>)2554-4281 y(>)2554 4306 y(>)2554 4331 y(=)2554 4480 y(>)2554-4505 y(>)2554 4530 y(>)2554 4555 y(>)2554 4580 y(>)2554-4605 y(>)2554 4630 y(;)2651 4426 y Fi(\))g Ff(ok)2839-4438 y Fg(k)q Fd(+1)3208 4426 y Fq(\(6.6\))515 4853 y(F)-7-b(or)33 b(this)h(metho)r(d,)h(pro)n(ving)d(form)n(ulas)h(6.4)g(and)g-(6.6)g(for)g(some)g Fj(k)k Fq(is)c(enough)g(to)h(pro)n(v)n(e)515-4953 y(the)28 b(`)p Ff(ok)o Fq(')g(holds)g(at)f(all)h(time)g-(instances.)38 b(Moreo)n(v)n(er,)25 b(this)j(is)g(a)f(complete)h(metho)-r(d!)38 b(This)1905 5255 y(35)p eop-%%Page: 36 37-36 36 bop 515 523 a Fq(means)26 b(that,)h(if)g(the)g(prop)r(ert)n(y)e-(holds,)i(there)f(is)g(alw)n(a)n(ys)f(a)h Fj(k)k Fq(suc)n(h)c(that)h(w)-n(e)f(can)g(pro)n(v)n(e)f(it)515 623 y(b)n(y)i(induction)h(with)g-(depth)g Fj(k)j Fq(with)d(restricted)f(states.)515 762-y(T)-7 b(o)18 b(use)g(induction)h(with)g(restricted)e(states)h(in)h(La)-n(v)-5 b(a,)19 b(w)n(e)f(can)g(use)g(the)h(option)f Fp(RestrictStates)p-Fq(:)602 936 y Fp(Main>)41 b Fl(verifyWith)f([RestrictStates,)o(In)o-(cre)o(as)o(ing)o(])d(prop_AdderPeriod2)602 1036 y Fp(Proving:)j(base)i-(1)h(...)g(Valid.)602 1135 y(Proving:)d(step)i(1)h(...)g(Falsifiable.)-602 1235 y(...)602 1335 y(Proving:)d(base)i(5)h(...)g(Valid.)602-1434 y(Proving:)d(step)i(5)h(...)g(Valid.)602 1534 y(--)602-1633 y(Result:)e(Valid.)515 1807 y Fq(W)-7 b(e)31 b(needed)g(induction)-h(depth)f(5)g(for)g(this)g(prop)r(ert)n(y)-7 b(.)46 b(Note)31-b(that)g(w)n(e)g(used)g(the)g(option)515 1907 y Fp(Increasing)23-b Fq(also,)k(otherwise)g(the)h(v)n(eri\014cation)e(w)n(ould)h(ha)n(v)n-(e)f(stopp)r(ed)i(at)g(depth)g(1.)515 2219 y Fm(6.7)135-b(Exercises)575 2431 y Fq(6.1)40 b(Wh)n(y)28 b(is)f(sim)n(ulation)g-(not)h(enough)f(to)g(do)h(sequen)n(tial)f(v)n(eri\014cation?)575-2591 y(6.2)40 b(V)-7 b(erify)31 b(that)g(the)h Fp(edge)d-Fq(circuit)i(and)f(the)i(circuit)e Fp(evenSoFar)e Fq(from)i(exercise)g-(5.1)722 2691 y(alw)n(a)n(ys)c(ha)n(v)n(e)g(opp)r(osite)i(outputs)f(if)-i(fed)f(with)g(the)g(same)f(inputs.)575 2851 y(6.3)40-b(V)-7 b(erify)33 b(that)h(the)f(three)g(di\013eren)n(t)g(implemen)n-(tations)f(of)h(a)g(puls)g(generator)e(with)722 2950-y(p)r(erio)r(d)e(6)e(in)i(exercise)e(5.5)h(are)f(equiv)-5-b(alen)n(t.)39 b(What)28 b(is)g(the)h(induction)g(depth)g(that)722-3050 y(is)f(needed?)575 3210 y(6.4)40 b(V)-7 b(erify)35-b(the)g(ob)n(vious)e(relationship)h(b)r(et)n(w)n(een)g(the)h-Fp(puls)e Fq(circuit)i(and)f(the)h Fp(puls2)722 3309-y Fq(circuit)30 b(from)g(exercise)f(5.6,)h(for)f(di\013eren)n(t)h(v)-5-b(alues)30 b(of)g Fj(k)s Fq(.)44 b(What)30 b(is)g(the)h(induction)722-3409 y(depth)e(that)e(is)h(needed?)575 3569 y(6.5)40-b(V)-7 b(erify)21 b(that)g(the)g(up-part)f(of)h(the)g(up-do)n(wn)f-(coun)n(ter)g(y)n(ou)g(de\014ned)h(in)g(exercie)f(5.7)g(is)722-3669 y(equiv)-5 b(alen)n(t)27 b(to)g(the)g(up-coun)n(ter)f(from)g-(section)h(5.3.)35 b(Do)27 b(this)g(for)g(di\013eren)n(t)f(v)-5-b(alues)722 3768 y(of)28 b Fj(n)p Fq(.)575 3928 y(6.6)40-b(De\014ne)34 b(and)f(v)n(erify)f(the)h(follo)n(wing)f(prop)r(ert)n(y:)-47 b("if)33 b(the)g(input)h(to)f Fp(toggle)e Fq(is)i(the)722-4028 y(same)f(t)n(wice)g(in)h(a)f(ro)n(w,)h(then)g(the)f(curren)n(t)g-(output)h(is)f(the)h(same)f(as)g(the)h(output)722 4128-y(t)n(w)n(o)27 b(steps)h(ago".)575 4288 y(6.7)40 b(Consider)d(the)h-(follo)n(wing)f(general)g(prop)r(ert)n(y:)56 b("As)38-b(long)f(as)g Fj(A)h Fq(holds,)i(then)f Fj(B)722 4387-y Fq(m)n(ust)23 b(hold".)35 b(Ho)n(w)22 b(w)n(ould)h(y)n(ou)f(de\014ne)-h(suc)n(h)f(a)g(prop)r(ert)n(y?)35 b(Hin)n(t:)g(use)22-b(the)h Fp(always)722 4487 y Fq(circuit)28 b(from)f(5.4.)575-4647 y(6.8)40 b(Sho)n(w)27 b(that)h(doing)f(induction)h(with)g(depth)h-(1)e(amoun)n(ts)g(to)g(normal)g(induction.)575 4807 y(6.9)40-b(\(*\))31 b(Sho)n(w)e(that)i(doing)f(induction)g(with)h(depth)g-Fj(k)i Fq(is)d Fn(sound)p Fq(,)h(that)g(is,)g(if)f(w)n(e)g(ha)n(v)n(e)-722 4907 y(pro)n(v)n(en)g(the)i(base)f(case)f(and)h(the)h(inductiv)n(e)-g(step,)g(then)g(w)n(e)f(ha)n(v)n(e)f(really)h(pro)n(v)n(en)722-5006 y(that)d(the)g(prop)r(ert)n(y)f(alw)n(a)n(ys)e(holds.)1905-5255 y(36)p eop-%%Page: 37 38-37 37 bop 533 523 a Fq(6.10)40 b(\(**\))20 b(Sho)n(w)f(that)h(doing)f-(induction)h(with)g(depth)h Fj(k)h Fq(and)e(restricted)f(states)g(is)h-Fn(sound)p Fq(.)722 623 y(Y)-7 b(ou)28 b(ma)n(y)f(use)g(the)h(fact)g-(that)g(exercise)e(6.9)h(holds.)533 789 y(6.11)40 b(\(**\))25-b(Sho)n(w)f(that)h(doing)f(induction)h(with)g(depth)g-Fj(k)j Fq(and)c(restricted)g(states)g(is)h Fn(c)l(om-)722-888 y(plete)p Fq(.)1905 5255 y(37)p eop-%%Page: 38 39-38 38 bop 515 1186 a Fo(Chapter)64 b(7)515 1641 y Fs(Time)76-b(T)-19 b(ransformations)515 2112 y Fq(In)24 b(this)g(c)n(hapter,)g(w)n-(e)g(will)g(see)f(some)h(tec)n(hniques)f(with)i(whic)n(h)f(w)n(e)f(can)-h(compare)e(circuits)515 2212 y(that)28 b(op)r(erate)e(at)i(di\013eren)-n(t)g(clo)r(c)n(k)e(rates.)515 2523 y Fm(7.1)135 b(Timing)45-b(Issues)515 2745 y Fq(So)38 b(far,)i(when)e(w)n(e)g(w)n(ere)f-(comparing)f(t)n(w)n(o)i(circuits,)i(w)n(e)e(alw)n(a)n(ys)e(assumed)i-(that)g(they)515 2845 y(consumed)d(their)h(inputs)h(and)f(pro)r(duced)g-(their)g(outputs)g(at)g(the)g(same)g(rate.)61 b(Let)36-b(us)515 2944 y(tak)n(e)c(a)g(lo)r(ok)f(at)i(an)f(example)g(where)g-(this)h(is)f(not)h(the)g(case:)46 b(comparing)31 b(a)h(sequen)n(tial)-515 3044 y(adder)27 b(against)f(a)h(com)n(binational)g(adder.)515-3184 y(The)e(sequen)n(tial)f(adder)g(\(see)g(\014gure)g(7.1\))h(tak)n-(es)e(in)i(a)g(pair)f(of)g(bits)i(ev)n(ery)d(clo)r(c)n(k)h(tic)n(k,)h-(and)515 3283 y(outputs)k(the)g(sum,)g(and)f(remem)n(b)r(ers)g(the)h-(carry)e(for)h(the)h(next)g(clo)r(c)n(k)e(cycle.)40 b(The)29-b(carry)515 3383 y(is)e(reset)g(ev)n(ery)g Fj(n)p Fq(-th)g(clo)r(c)n(k)-g(tic)n(k.)37 b(Here)27 b(is)g(ho)n(w)g(w)n(e)h(de\014ned)g(it:)602-3556 y Fp(adderSeqPeriod)38 b(n)43 b(=)689 3656 y(rowSeqPeriod)c(n)k-(fullAdd)515 3830 y Fq(The)24 b(com)n(binational)f(adder)g(\(see)i-(\014gure)e(7.2\))h(tak)n(es)f(in)h(t)n(w)n(o)g Fj(n)p-Fq(-bit)g(binary)g(n)n(um)n(b)r(ers)f(and)515 3929 y(pro)r(duces)30-b(the)h(sum)g(as)f(a)h Fj(n)p Fq(-bit)g(binary)f(n)n(um)n(b)r(er)h(in)g-(one)f(clo)r(c)n(k)g(tic)n(k.)47 b(Here)30 b(is)h(ho)n(w)f(w)n(e)515-4029 y(de\014ne)e(it:)602 4203 y Fp(adderCom)40 b(abs)j(=)g(sum)689-4302 y(where)776 4402 y(\(sum,)f(carryOut\))e(=)j(row)f(fullAdd)f-(\(low,)g(abs\))1580 4807 y @beginspecial 0 @llx 0 @lly-176 @urx 56 @ury 880 @rwi @setspecial-%%BeginDocument: Pictures/adderSeq.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--94.0 181.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 4012 m -1000 -1000 l 5498 -1000 l 5498 4012 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 2400 2100 m 3300 2100 l 3300 3000 l 2400 3000 l cp gs col0 s gr -% Polyline-gs  clippath-2277 2595 m 2373 2625 l 2277 2655 l 2415 2655 l 2415 2595 l cp-clip-n 1800 2625 m 2400 2625 l gs col0 s gr gr--% arrowhead-n 2277 2595 m 2373 2625 l 2277 2655 l 2253 2625 l 2277 2595 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2277 2520 m 2373 2550 l 2277 2580 l 2415 2580 l 2415 2520 l cp-clip-n 1800 2550 m 2400 2550 l gs col0 s gr gr--% arrowhead-n 2277 2520 m 2373 2550 l 2277 2580 l 2253 2550 l 2277 2520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3777 2520 m 3873 2550 l 3777 2580 l 3915 2580 l 3915 2520 l cp-clip-n 3300 2550 m 3900 2550 l gs col0 s gr gr--% arrowhead-n 3777 2520 m 3873 2550 l 3777 2580 l 3753 2550 l 3777 2520 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-1575 2775 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-1575 2550 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-3975 2625 m-gs 1 -1 sc (sum) col0 sh gr-/Courier ff 270.00 scf sf-2625 2775 m-gs 1 -1 sc (Seq) col0 sh gr-/Courier ff 270.00 scf sf-2475 2550 m-gs 1 -1 sc (ADDER) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1381 4990 a Fq(Figure)27 b(7.1:)36 b(A)28-b(sequen)n(tial)f(adder.)1905 5255 y(38)p eop-%%Page: 39 40-39 39 bop 1543 1048 a @beginspecial 0 @llx 0 @lly 194-@urx 146 @ury 970 @rwi @setspecial-%%BeginDocument: Pictures/adderCom.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--229.0 199.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 4312 m -1000 -1000 l 8038 -1000 l 8038 4312 l cp clip- 0.06000 0.06000 sc-/Helvetica ff 270.00 scf sf-3825 1200 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-3825 1425 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-3825 3000 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-3825 3225 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-3900 1575 m-gs 1 -1 sc (.) col0 sh gr-/Helvetica ff 270.00 scf sf-3900 1875 m-gs 1 -1 sc (.) col0 sh gr-/Helvetica ff 270.00 scf sf-3900 2175 m-gs 1 -1 sc (.) col0 sh gr-/Helvetica ff 270.00 scf sf-3900 2475 m-gs 1 -1 sc (.) col0 sh gr-/Helvetica ff 270.00 scf sf-3900 2775 m-gs 1 -1 sc (.) col0 sh gr-/Helvetica ff 270.00 scf sf-6375 1575 m-gs 1 -1 sc (.) col0 sh gr-/Helvetica ff 270.00 scf sf-6375 1875 m-gs 1 -1 sc (.) col0 sh gr-/Helvetica ff 270.00 scf sf-6375 2175 m-gs 1 -1 sc (.) col0 sh gr-/Helvetica ff 270.00 scf sf-6375 2475 m-gs 1 -1 sc (.) col0 sh gr-/Helvetica ff 270.00 scf sf-6375 2775 m-gs 1 -1 sc (.) col0 sh gr-% Polyline-7.500 slw-n 4800 900 m 5700 900 l 5700 3300 l 4800 3300 l cp gs col0 s gr -% Polyline-gs  clippath-4677 1245 m 4773 1275 l 4677 1305 l 4815 1305 l 4815 1245 l cp-clip-n 4200 1275 m 4800 1275 l gs col0 s gr gr--% arrowhead-n 4677 1245 m 4773 1275 l 4677 1305 l 4653 1275 l 4677 1245 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1170 m 4773 1200 l 4677 1230 l 4815 1230 l 4815 1170 l cp-clip-n 4200 1200 m 4800 1200 l gs col0 s gr gr--% arrowhead-n 4677 1170 m 4773 1200 l 4677 1230 l 4653 1200 l 4677 1170 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1470 m 4773 1500 l 4677 1530 l 4815 1530 l 4815 1470 l cp-clip-n 4200 1500 m 4800 1500 l gs col0 s gr gr--% arrowhead-n 4677 1470 m 4773 1500 l 4677 1530 l 4653 1500 l 4677 1470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1545 m 4773 1575 l 4677 1605 l 4815 1605 l 4815 1545 l cp-clip-n 4200 1575 m 4800 1575 l gs col0 s gr gr--% arrowhead-n 4677 1545 m 4773 1575 l 4677 1605 l 4653 1575 l 4677 1545 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1770 m 4773 1800 l 4677 1830 l 4815 1830 l 4815 1770 l cp-clip-n 4200 1800 m 4800 1800 l gs col0 s gr gr--% arrowhead-n 4677 1770 m 4773 1800 l 4677 1830 l 4653 1800 l 4677 1770 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1845 m 4773 1875 l 4677 1905 l 4815 1905 l 4815 1845 l cp-clip-n 4200 1875 m 4800 1875 l gs col0 s gr gr--% arrowhead-n 4677 1845 m 4773 1875 l 4677 1905 l 4653 1875 l 4677 1845 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2070 m 4773 2100 l 4677 2130 l 4815 2130 l 4815 2070 l cp-clip-n 4200 2100 m 4800 2100 l gs col0 s gr gr--% arrowhead-n 4677 2070 m 4773 2100 l 4677 2130 l 4653 2100 l 4677 2070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2145 m 4773 2175 l 4677 2205 l 4815 2205 l 4815 2145 l cp-clip-n 4200 2175 m 4800 2175 l gs col0 s gr gr--% arrowhead-n 4677 2145 m 4773 2175 l 4677 2205 l 4653 2175 l 4677 2145 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2370 m 4773 2400 l 4677 2430 l 4815 2430 l 4815 2370 l cp-clip-n 4200 2400 m 4800 2400 l gs col0 s gr gr--% arrowhead-n 4677 2370 m 4773 2400 l 4677 2430 l 4653 2400 l 4677 2370 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2445 m 4773 2475 l 4677 2505 l 4815 2505 l 4815 2445 l cp-clip-n 4200 2475 m 4800 2475 l gs col0 s gr gr--% arrowhead-n 4677 2445 m 4773 2475 l 4677 2505 l 4653 2475 l 4677 2445 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2670 m 4773 2700 l 4677 2730 l 4815 2730 l 4815 2670 l cp-clip-n 4200 2700 m 4800 2700 l gs col0 s gr gr--% arrowhead-n 4677 2670 m 4773 2700 l 4677 2730 l 4653 2700 l 4677 2670 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2745 m 4773 2775 l 4677 2805 l 4815 2805 l 4815 2745 l cp-clip-n 4200 2775 m 4800 2775 l gs col0 s gr gr--% arrowhead-n 4677 2745 m 4773 2775 l 4677 2805 l 4653 2775 l 4677 2745 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2970 m 4773 3000 l 4677 3030 l 4815 3030 l 4815 2970 l cp-clip-n 4200 3000 m 4800 3000 l gs col0 s gr gr--% arrowhead-n 4677 2970 m 4773 3000 l 4677 3030 l 4653 3000 l 4677 2970 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 3045 m 4773 3075 l 4677 3105 l 4815 3105 l 4815 3045 l cp-clip-n 4200 3075 m 4800 3075 l gs col0 s gr gr--% arrowhead-n 4677 3045 m 4773 3075 l 4677 3105 l 4653 3075 l 4677 3045 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 2970 m 6273 3000 l 6177 3030 l 6315 3030 l 6315 2970 l cp-clip-n 5700 3000 m 6300 3000 l gs col0 s gr gr--% arrowhead-n 6177 2970 m 6273 3000 l 6177 3030 l 6153 3000 l 6177 2970 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 2670 m 6273 2700 l 6177 2730 l 6315 2730 l 6315 2670 l cp-clip-n 5700 2700 m 6300 2700 l gs col0 s gr gr--% arrowhead-n 6177 2670 m 6273 2700 l 6177 2730 l 6153 2700 l 6177 2670 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 2370 m 6273 2400 l 6177 2430 l 6315 2430 l 6315 2370 l cp-clip-n 5700 2400 m 6300 2400 l gs col0 s gr gr--% arrowhead-n 6177 2370 m 6273 2400 l 6177 2430 l 6153 2400 l 6177 2370 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 2070 m 6273 2100 l 6177 2130 l 6315 2130 l 6315 2070 l cp-clip-n 5700 2100 m 6300 2100 l gs col0 s gr gr--% arrowhead-n 6177 2070 m 6273 2100 l 6177 2130 l 6153 2100 l 6177 2070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 1770 m 6273 1800 l 6177 1830 l 6315 1830 l 6315 1770 l cp-clip-n 5700 1800 m 6300 1800 l gs col0 s gr gr--% arrowhead-n 6177 1770 m 6273 1800 l 6177 1830 l 6153 1800 l 6177 1770 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 1470 m 6273 1500 l 6177 1530 l 6315 1530 l 6315 1470 l cp-clip-n 5700 1500 m 6300 1500 l gs col0 s gr gr--% arrowhead-n 6177 1470 m 6273 1500 l 6177 1530 l 6153 1500 l 6177 1470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 1170 m 6273 1200 l 6177 1230 l 6315 1230 l 6315 1170 l cp-clip-n 5700 1200 m 6300 1200 l gs col0 s gr gr--% arrowhead-n 6177 1170 m 6273 1200 l 6177 1230 l 6153 1200 l 6177 1170 l  cp gs 0.00 setgray ef gr  col0 s-/Courier ff 270.00 scf sf-5250 2550 m-gs 1 -1 sc  90.0 rot (ADDER) col0 sh gr-/Courier ff 270.00 scf sf-5475 2400 m-gs 1 -1 sc  90.0 rot (Com) col0 sh gr-/Times-Italic ff 270.00 scf sf-3975 3150 m-gs 1 -1 sc (7) col0 sh gr-/Helvetica ff 270.00 scf sf-6375 1275 m-gs 1 -1 sc (sum) col0 sh gr-/Helvetica ff 270.00 scf sf-6375 3075 m-gs 1 -1 sc (sum) col0 sh gr-/Times-Italic ff 270.00 scf sf-3975 1350 m-gs 1 -1 sc (1) col0 sh gr-/Times-Italic ff 270.00 scf sf-6900 3150 m-gs 1 -1 sc (7) col0 sh gr-/Times-Italic ff 270.00 scf sf-6900 1350 m-gs 1 -1 sc (1) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1306 1231 a Fq(Figure)27 b(7.2:)36 b(A)28-b(com)n(binational)e(adder.)1130 2255 y @beginspecial-0 @llx 0 @lly 392 @urx 218 @ury 1960 @rwi @setspecial-%%BeginDocument: Pictures/adderComSeqed.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--130.0 271.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 5512 m -1000 -1000 l 9698 -1000 l 9698 5512 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 3000 900 m 4200 900 l 4200 3300 l 3000 3300 l cp gs col0 s gr -% Polyline-n 6300 900 m 7500 900 l 7500 3300 l 6300 3300 l cp gs col0 s gr -% Polyline-gs  clippath-2877 2145 m 2973 2175 l 2877 2205 l 3015 2205 l 3015 2145 l cp-clip-n 2400 2175 m 3000 2175 l gs col0 s gr gr--% arrowhead-n 2877 2145 m 2973 2175 l 2877 2205 l 2853 2175 l 2877 2145 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 2070 m 2973 2100 l 2877 2130 l 3015 2130 l 3015 2070 l cp-clip-n 2400 2100 m 3000 2100 l gs col0 s gr gr--% arrowhead-n 2877 2070 m 2973 2100 l 2877 2130 l 2853 2100 l 2877 2070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 4800 900 m 5700 900 l 5700 3300 l 4800 3300 l cp gs col0 s gr -% Polyline-gs  clippath-4677 3045 m 4773 3075 l 4677 3105 l 4815 3105 l 4815 3045 l cp-clip-n 4200 3075 m 4800 3075 l gs col0 s gr gr--% arrowhead-n 4677 3045 m 4773 3075 l 4677 3105 l 4653 3075 l 4677 3045 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2970 m 4773 3000 l 4677 3030 l 4815 3030 l 4815 2970 l cp-clip-n 4200 3000 m 4800 3000 l gs col0 s gr gr--% arrowhead-n 4677 2970 m 4773 3000 l 4677 3030 l 4653 3000 l 4677 2970 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2745 m 4773 2775 l 4677 2805 l 4815 2805 l 4815 2745 l cp-clip-n 4200 2775 m 4800 2775 l gs col0 s gr gr--% arrowhead-n 4677 2745 m 4773 2775 l 4677 2805 l 4653 2775 l 4677 2745 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2670 m 4773 2700 l 4677 2730 l 4815 2730 l 4815 2670 l cp-clip-n 4200 2700 m 4800 2700 l gs col0 s gr gr--% arrowhead-n 4677 2670 m 4773 2700 l 4677 2730 l 4653 2700 l 4677 2670 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2445 m 4773 2475 l 4677 2505 l 4815 2505 l 4815 2445 l cp-clip-n 4200 2475 m 4800 2475 l gs col0 s gr gr--% arrowhead-n 4677 2445 m 4773 2475 l 4677 2505 l 4653 2475 l 4677 2445 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2370 m 4773 2400 l 4677 2430 l 4815 2430 l 4815 2370 l cp-clip-n 4200 2400 m 4800 2400 l gs col0 s gr gr--% arrowhead-n 4677 2370 m 4773 2400 l 4677 2430 l 4653 2400 l 4677 2370 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2145 m 4773 2175 l 4677 2205 l 4815 2205 l 4815 2145 l cp-clip-n 4200 2175 m 4800 2175 l gs col0 s gr gr--% arrowhead-n 4677 2145 m 4773 2175 l 4677 2205 l 4653 2175 l 4677 2145 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 2070 m 4773 2100 l 4677 2130 l 4815 2130 l 4815 2070 l cp-clip-n 4200 2100 m 4800 2100 l gs col0 s gr gr--% arrowhead-n 4677 2070 m 4773 2100 l 4677 2130 l 4653 2100 l 4677 2070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1845 m 4773 1875 l 4677 1905 l 4815 1905 l 4815 1845 l cp-clip-n 4200 1875 m 4800 1875 l gs col0 s gr gr--% arrowhead-n 4677 1845 m 4773 1875 l 4677 1905 l 4653 1875 l 4677 1845 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1770 m 4773 1800 l 4677 1830 l 4815 1830 l 4815 1770 l cp-clip-n 4200 1800 m 4800 1800 l gs col0 s gr gr--% arrowhead-n 4677 1770 m 4773 1800 l 4677 1830 l 4653 1800 l 4677 1770 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1545 m 4773 1575 l 4677 1605 l 4815 1605 l 4815 1545 l cp-clip-n 4200 1575 m 4800 1575 l gs col0 s gr gr--% arrowhead-n 4677 1545 m 4773 1575 l 4677 1605 l 4653 1575 l 4677 1545 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1470 m 4773 1500 l 4677 1530 l 4815 1530 l 4815 1470 l cp-clip-n 4200 1500 m 4800 1500 l gs col0 s gr gr--% arrowhead-n 4677 1470 m 4773 1500 l 4677 1530 l 4653 1500 l 4677 1470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1245 m 4773 1275 l 4677 1305 l 4815 1305 l 4815 1245 l cp-clip-n 4200 1275 m 4800 1275 l gs col0 s gr gr--% arrowhead-n 4677 1245 m 4773 1275 l 4677 1305 l 4653 1275 l 4677 1245 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4677 1170 m 4773 1200 l 4677 1230 l 4815 1230 l 4815 1170 l cp-clip-n 4200 1200 m 4800 1200 l gs col0 s gr gr--% arrowhead-n 4677 1170 m 4773 1200 l 4677 1230 l 4653 1200 l 4677 1170 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 6300 3900 m 7500 3900 l 7500 4500 l 6300 4500 l cp gs col0 s gr -% Polyline-gs  clippath-6177 2970 m 6273 3000 l 6177 3030 l 6315 3030 l 6315 2970 l cp-clip-n 5700 3000 m 6300 3000 l gs col0 s gr gr--% arrowhead-n 6177 2970 m 6273 3000 l 6177 3030 l 6153 3000 l 6177 2970 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 2670 m 6273 2700 l 6177 2730 l 6315 2730 l 6315 2670 l cp-clip-n 5700 2700 m 6300 2700 l gs col0 s gr gr--% arrowhead-n 6177 2670 m 6273 2700 l 6177 2730 l 6153 2700 l 6177 2670 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 2370 m 6273 2400 l 6177 2430 l 6315 2430 l 6315 2370 l cp-clip-n 5700 2400 m 6300 2400 l gs col0 s gr gr--% arrowhead-n 6177 2370 m 6273 2400 l 6177 2430 l 6153 2400 l 6177 2370 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 2070 m 6273 2100 l 6177 2130 l 6315 2130 l 6315 2070 l cp-clip-n 5700 2100 m 6300 2100 l gs col0 s gr gr--% arrowhead-n 6177 2070 m 6273 2100 l 6177 2130 l 6153 2100 l 6177 2070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 1770 m 6273 1800 l 6177 1830 l 6315 1830 l 6315 1770 l cp-clip-n 5700 1800 m 6300 1800 l gs col0 s gr gr--% arrowhead-n 6177 1770 m 6273 1800 l 6177 1830 l 6153 1800 l 6177 1770 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 1470 m 6273 1500 l 6177 1530 l 6315 1530 l 6315 1470 l cp-clip-n 5700 1500 m 6300 1500 l gs col0 s gr gr--% arrowhead-n 6177 1470 m 6273 1500 l 6177 1530 l 6153 1500 l 6177 1470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6177 1170 m 6273 1200 l 6177 1230 l 6315 1230 l 6315 1170 l cp-clip-n 5700 1200 m 6300 1200 l gs col0 s gr gr--% arrowhead-n 6177 1170 m 6273 1200 l 6177 1230 l 6153 1200 l 6177 1170 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-7977 2070 m 8073 2100 l 7977 2130 l 8115 2130 l 8115 2070 l cp-clip-n 7500 2100 m 8100 2100 l gs col0 s gr gr--% arrowhead-n 7977 2070 m 8073 2100 l 7977 2130 l 7953 2100 l 7977 2070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6870 3423 m 6900 3327 l 6930 3423 l 6930 3285 l 6870 3285 l cp-clip-n 6900 3900 m 6900 3300 l gs col0 s gr gr--% arrowhead-n 6870 3423 m 6900 3327 l 6930 3423 l 6900 3447 l 6870 3423 l  cp gs 0.00 setgray ef gr  col0 s-/Courier ff 270.00 scf sf-3975 2775 m-gs 1 -1 sc  90.0 rot (Parallel) col0 sh gr-/Courier ff 270.00 scf sf-3675 2325 m-gs 1 -1 sc  90.0 rot (to) col0 sh gr-/Courier ff 270.00 scf sf-6675 2775 m-gs 1 -1 sc  90.0 rot (Parallel) col0 sh gr-/Courier ff 270.00 scf sf-7275 2625 m-gs 1 -1 sc  90.0 rot (Serial) col0 sh gr-/Courier ff 270.00 scf sf-6975 2325 m-gs 1 -1 sc  90.0 rot (to) col0 sh gr-/Helvetica ff 270.00 scf sf-2175 2100 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-2175 2325 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-8175 2175 m-gs 1 -1 sc (sum) col0 sh gr-/Courier ff 270.00 scf sf-3375 2625 m-gs 1 -1 sc  90.0 rot (Serial) col0 sh gr-/Courier ff 270.00 scf sf-6600 4275 m-gs 1 -1 sc (Puls) col0 sh gr-/Courier ff 270.00 scf sf-5250 2550 m-gs 1 -1 sc  90.0 rot (ADDER) col0 sh gr-/Courier ff 270.00 scf sf-5475 2400 m-gs 1 -1 sc  90.0 rot (Com) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1025 2438 a(Figure)g(7.3:)37 b(The)27 b(slo)n(w)n(ed)g(do)-n(wn)g(com)n(binational)f(adder.)515 2703 y(F)-7 b(or)27-b(con)n(v)n(enience,)f(w)n(e)h(abstract)g(a)n(w)n(a)n(y)e(from)j(the)g-(carry)-7 b(.)515 2842 y(There)27 b(are)f(t)n(w)n(o)h(basic)g(metho)r-(ds)h(for)f(comparing)f(these)i(t)n(w)n(o)f(circuits.)515-2982 y(The)38 b(\014rst)h(metho)r(d)g(in)n(v)n(olv)n(es)e(slo)n(wing)g-(do)n(wn)h(the)i(com)n(binational)d(adder,)k(so)d(that)h(it)515-3082 y(tak)n(es)25 b(more)g(clo)r(c)n(k)h(tic)n(ks)f(to)h(calculate)g-(the)g(sum.)37 b(So)26 b(instead)g(of)g(taking)f Fj(n)h-Fq(pairs)g(of)g(bits)515 3181 y(at)31 b(a)g(time,)i(it)f(tak)n(es)f-(them)h(in)g(one-b)n(y-one,)e(and)i(when)g(it)g(has)f(gotten)g(all)g-(of)g(them,)j(it)515 3281 y(outputs)d(the)g(sums)f(one-b)n(y-one.)44-b(The)31 b(circuits)f(no)n(w)g(op)r(erate)g(at)g(the)h(same)g(rate,)f-(and)515 3380 y(can)d(b)r(e)h(compared)e(b)n(y)i(con)n(v)n(en)n(tional)-d(metho)r(ds.)515 3520 y(The)30 b(second)f(metho)r(d)h(in)n(v)n(olv)n-(es)e(sp)r(eeding)i(up)g(the)g(sequen)n(tial)f(adder,)h(so)f(that)h(it)-h(com-)515 3620 y(putes)g(sev)n(eral)e(results)h(in)h(one)f(clo)r(c)n-(k)g(tic)n(k.)46 b(So)30 b(instead)g(of)h(taking)f(in)h(one)f(pair)g-(of)h(bits)515 3719 y(at)c(a)g(time,)i(it)f(tak)n(es)e(in)i-Fj(n)g Fq(pairs)e(of)i(bits,)g(and)f(pro)r(duces)g Fj(n)h-Fq(sums)f(in)h(one)f(clo)r(c)n(k)g(cycle.)515 4034 y-Fm(7.2)135 b(Slo)l(wing)46 b(Do)l(wn)515 4255 y Fq(The)33-b(\014rst)f(tec)n(hnique)h(w)n(e)f(describ)r(e)h Fn(slows)i(down)e-Fq(the)h(com)n(binational)d(circuit.)52 b(So,)34 b(in-)515-4355 y(stead)24 b(of)g(computing)g(ev)n(erything)f(in)h(one)g(clo)r(c)n-(k)f(tic)n(k,)i(w)n(e)f(force)f(it)i(to)f(tak)n(e)f Fj(n)h-Fq(clo)r(c)n(k)f(tic)n(ks)515 4454 y(instead.)35 b(W)-7-b(e)23 b(do)g(this)g(b)n(y)g(transforming)f(the)h(circuit)g(in)n(to)g-(a)f(circuit)h(that)h(lo)r(oks)e(just)h(lik)n(e)515 4554-y(the)34 b(sequen)n(tial)e(v)n(ersion:)48 b(it)34 b(tak)n(es)e(one)h-(input)i(and)e(pro)r(duces)g(one)g(output)h(at)f(a)h(time)515-4654 y(\(see)27 b(\014gure)g(7.3\).)515 4793 y(Since)h(the)g(inputs)g-(come)f(in)h(one-b)n(y-one,)e(w)n(e)i(ha)n(v)n(e)e(to)i(w)n(ait)f(for)g-Fj(n)h Fq(clo)r(c)n(k)f(tic)n(ks)g(un)n(til)h(w)n(e)515-4893 y(ha)n(v)n(e)22 b(the)i(full)h(input)g(a)n(v)-5-b(ailable)22 b(for)h(the)h(circuit.)36 b(This)24 b(is)f(done)h(b)n(y)f-(the)h Fn(serial)k(to)e(p)l(ar)l(al)t(lel)515 4992 y(c)l(onverter)i-Fq(\(see)f(\014gure)g(7.4\).)36 b(W)-7 b(e)28 b(can)g(implemen)n(t)g-(this)g(comp)r(onen)n(t)f(as)g(follo)n(ws:)1905 5255-y(39)p eop-%%Page: 40 41-40 40 bop 1609 1925 a @beginspecial 0 @llx 0 @lly 162-@urx 302 @ury 810 @rwi @setspecial-%%BeginDocument: Pictures/ser2par.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--40.0 333.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 6550 m -1000 -1000 l 4363 -1000 l 4363 6550 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 1500 900 m 2400 900 l 2400 1800 l 1500 1800 l cp gs col0 s gr -% Polyline-n 1500 4200 m 2400 4200 l 2400 5100 l 1500 5100 l cp gs col0 s gr -% Polyline-n 1500 2400 m 2400 2400 l 2400 3300 l 1500 3300 l cp gs col0 s gr -% Polyline- [15 45] 45 sd-n 1950 3600 m 1950 4200 l gs col0 s gr  [] 0 sd-% Polyline-gs  clippath-2877 570 m 2973 600 l 2877 630 l 3015 630 l 3015 570 l cp-clip-n 900 600 m 3000 600 l gs col0 s gr gr--% arrowhead-n 2877 570 m 2973 600 l 2877 630 l 2853 600 l 2877 570 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-1980 777 m 1950 873 l 1920 777 l 1920 915 l 1980 915 l cp-clip-n 1950 600 m 1950 900 l gs col0 s gr gr--% arrowhead-n 1980 777 m 1950 873 l 1920 777 l 1950 753 l 1980 777 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-1980 2277 m 1950 2373 l 1920 2277 l 1920 2415 l 1980 2415 l cp-clip-n 1950 1800 m 1950 2400 l gs col0 s gr gr--% arrowhead-n 1980 2277 m 1950 2373 l 1920 2277 l 1950 2253 l 1980 2277 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 2070 m 2973 2100 l 2877 2130 l 3015 2130 l 3015 2070 l cp-clip-n 1950 2100 m 3000 2100 l gs col0 s gr gr--% arrowhead-n 2877 2070 m 2973 2100 l 2877 2130 l 2853 2100 l 2877 2070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 3570 m 2973 3600 l 2877 3630 l 3015 3630 l 3015 3570 l cp-clip-n 1950 3300 m 1950 3600 l 3000 3600 l gs col0 s gr gr--% arrowhead-n 2877 3570 m 2973 3600 l 2877 3630 l 2853 3600 l 2877 3570 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 5370 m 2973 5400 l 2877 5430 l 3015 5430 l 3015 5370 l cp-clip-n 1950 5100 m 1950 5400 l 3000 5400 l gs col0 s gr gr--% arrowhead-n 2877 5370 m 2973 5400 l 2877 5430 l 2853 5400 l 2877 5370 l  cp gs 0.00 setgray ef gr  col0 s-/Times-Italic ff 270.00 scf sf-1950 3000 m-gs 1 -1 sc (low) col0 sh gr-/Courier ff 270.00 scf sf-1800 2925 m-gs 1 -1 sc (D) col0 sh gr-/Courier ff 270.00 scf sf-1800 4725 m-gs 1 -1 sc (D) col0 sh gr-/Courier ff 270.00 scf sf-1800 1425 m-gs 1 -1 sc (D) col0 sh gr-/Times-Italic ff 270.00 scf sf-1950 1500 m-gs 1 -1 sc (low) col0 sh gr-/Times-Italic ff 270.00 scf sf-1950 4800 m-gs 1 -1 sc (low) col0 sh gr-/Helvetica ff 270.00 scf sf-675 675 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-3075 675 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-3075 2175 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-3075 3675 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-3075 5475 m-gs 1 -1 sc (x) col0 sh gr-/Times-Italic ff 270.00 scf sf-3225 750 m-gs 1 -1 sc (1) col0 sh gr-/Times-Italic ff 270.00 scf sf-3225 2250 m-gs 1 -1 sc (2) col0 sh gr-/Times-Italic ff 270.00 scf sf-3225 3750 m-gs 1 -1 sc (3) col0 sh gr-/Times-Italic ff 270.00 scf sf-3225 5550 m-gs 1 -1 sc (n) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1202 2108 a Fq(Figure)27 b(7.4:)36 b(A)28-b(serial)e(to)i(parallel)e(con)n(v)n(erter.)1478 4581-y @beginspecial 0 @llx 0 @lly 225 @urx 465 @ury 1125-@rwi @setspecial-%%BeginDocument: Pictures/par2ser.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--58.0 500.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 9325 m -1000 -1000 l 5713 -1000 l 5713 9325 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 1800 4500 m 2700 4500 l 2700 5400 l 1800 5400 l cp gs col0 s gr -/Courier ff 270.00 scf sf-2100 5025 m-gs 1 -1 sc (D) col0 sh gr-/Times-Italic ff 270.00 scf sf-2250 5100 m-gs 1 -1 sc (low) col0 sh gr-% Polyline-n 1800 900 m 2700 900 l 2700 1800 l 1800 1800 l cp gs col0 s gr -/Courier ff 270.00 scf sf-2100 1425 m-gs 1 -1 sc (D) col0 sh gr-/Times-Italic ff 270.00 scf sf-2250 1500 m-gs 1 -1 sc (low) col0 sh gr-% Polyline-n 1800 2700 m 2700 2700 l 2700 3600 l 1800 3600 l cp gs col0 s gr -/Courier ff 270.00 scf sf-2100 3225 m-gs 1 -1 sc (D) col0 sh gr-/Times-Italic ff 270.00 scf sf-2250 3300 m-gs 1 -1 sc (low) col0 sh gr-% Polyline-n 3000 6600 m 3300 6600 l 3300 7500 l 3000 7500 l cp gs col0 s gr -% Polyline-n 3000 4200 m 3300 4200 l 3300 5100 l 3000 5100 l cp gs col0 s gr -% Polyline-n 3000 600 m 3300 600 l 3300 1500 l 3000 1500 l cp gs col0 s gr -% Polyline-n 3000 2400 m 3300 2400 l 3300 3300 l 3000 3300 l cp gs col0 s gr -% Polyline-gs  clippath-2220 1923 m 2250 1827 l 2280 1923 l 2280 1785 l 2220 1785 l cp-clip-n 3300 2850 m 3600 2850 l 3600 2250 l 2250 2250 l 2250 1800 l gs col0 s gr gr--% arrowhead-n 2220 1923 m 2250 1827 l 2280 1923 l 2250 1947 l 2220 1923 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 720 m 2973 750 l 2877 780 l 3015 780 l 3015 720 l cp-clip-n 1200 750 m 3000 750 l gs col0 s gr gr--% arrowhead-n 2877 720 m 2973 750 l 2877 780 l 2853 750 l 2877 720 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 1320 m 2973 1350 l 2877 1380 l 3015 1380 l 3015 1320 l cp-clip-n 2700 1350 m 3000 1350 l gs col0 s gr gr--% arrowhead-n 2877 1320 m 2973 1350 l 2877 1380 l 2853 1350 l 2877 1320 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4377 1020 m 4473 1050 l 4377 1080 l 4515 1080 l 4515 1020 l cp-clip-n 3300 1050 m 4500 1050 l gs col0 s gr gr--% arrowhead-n 4377 1020 m 4473 1050 l 4377 1080 l 4353 1050 l 4377 1020 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 3120 m 2973 3150 l 2877 3180 l 3015 3180 l 3015 3120 l cp-clip-n 2700 3150 m 3000 3150 l gs col0 s gr gr--% arrowhead-n 2877 3120 m 2973 3150 l 2877 3180 l 2853 3150 l 2877 3120 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 2520 m 2973 2550 l 2877 2580 l 3015 2580 l 3015 2520 l cp-clip-n 1200 2550 m 3000 2550 l gs col0 s gr gr--% arrowhead-n 2877 2520 m 2973 2550 l 2877 2580 l 2853 2550 l 2877 2520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2220 3723 m 2250 3627 l 2280 3723 l 2280 3585 l 2220 3585 l cp-clip-n 3300 4650 m 3600 4650 l 3600 4050 l 2250 4050 l 2250 3600 l gs col0 s gr gr--% arrowhead-n 2220 3723 m 2250 3627 l 2280 3723 l 2250 3747 l 2220 3723 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 4320 m 2973 4350 l 2877 4380 l 3015 4380 l 3015 4320 l cp-clip-n 1200 4350 m 3000 4350 l gs col0 s gr gr--% arrowhead-n 2877 4320 m 2973 4350 l 2877 4380 l 2853 4350 l 2877 4320 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 4920 m 2973 4950 l 2877 4980 l 3015 4980 l 3015 4920 l cp-clip-n 2700 4950 m 3000 4950 l gs col0 s gr gr--% arrowhead-n 2877 4920 m 2973 4950 l 2877 4980 l 2853 4950 l 2877 4920 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 6720 m 2973 6750 l 2877 6780 l 3015 6780 l 3015 6720 l cp-clip-n 1200 6750 m 3000 6750 l gs col0 s gr gr--% arrowhead-n 2877 6720 m 2973 6750 l 2877 6780 l 2853 6750 l 2877 6720 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 7320 m 2973 7350 l 2877 7380 l 3015 7380 l 3015 7320 l cp-clip-n 2700 7350 m 3000 7350 l gs col0 s gr gr--% arrowhead-n 2877 7320 m 2973 7350 l 2877 7380 l 2853 7350 l 2877 7320 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 3300 7050 m 3600 7050 l 3600 6450 l 2250 6450 l gs col0 s gr -% Polyline- [60] 0 sd-gs  clippath-3120 7623 m 3150 7527 l 3180 7623 l 3180 7485 l 3120 7485 l cp-clip-n 3150 7500 m 3150 8100 l gs col0 s gr gr- [] 0 sd-% arrowhead-n 3120 7623 m 3150 7527 l 3180 7623 l 3150 7647 l 3120 7623 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline- [60] 0 sd-gs  clippath-3120 5223 m 3150 5127 l 3180 5223 l 3180 5085 l 3120 5085 l cp-clip-n 3150 5100 m 3150 6600 l gs col0 s gr gr- [] 0 sd-% arrowhead-n 3120 5223 m 3150 5127 l 3180 5223 l 3150 5247 l 3120 5223 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline- [60] 0 sd-gs  clippath-3120 3423 m 3150 3327 l 3180 3423 l 3180 3285 l 3120 3285 l cp-clip-n 3150 3300 m 3150 4200 l gs col0 s gr gr- [] 0 sd-% arrowhead-n 3120 3423 m 3150 3327 l 3180 3423 l 3150 3447 l 3120 3423 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline- [60] 0 sd-gs  clippath-3120 1623 m 3150 1527 l 3180 1623 l 3180 1485 l 3120 1485 l cp-clip-n 3150 1500 m 3150 2400 l gs col0 s gr gr- [] 0 sd-% arrowhead-n 3120 1623 m 3150 1527 l 3180 1623 l 3150 1647 l 3120 1623 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2220 6123 m 2250 6027 l 2280 6123 l 2280 5985 l 2220 5985 l cp-clip-n 2250 6450 m 2250 6000 l gs col0 s gr gr--% arrowhead-n 2220 6123 m 2250 6027 l 2280 6123 l 2250 6147 l 2220 6123 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline- [15 45] 45 sd-n 2250 6000 m 2250 5400 l gs col0 s gr  [] 0 sd-/Courier ff 270.00 scf sf-3075 6900 m-gs 1 -1 sc (1) col0 sh gr-/Courier ff 270.00 scf sf-3075 7425 m-gs 1 -1 sc (0) col0 sh gr-/Courier ff 270.00 scf sf-3075 4500 m-gs 1 -1 sc (1) col0 sh gr-/Courier ff 270.00 scf sf-3075 5025 m-gs 1 -1 sc (0) col0 sh gr-/Times-Italic ff 270.00 scf sf-2250 7425 m-gs 1 -1 sc (low) col0 sh gr-/Courier ff 270.00 scf sf-3075 900 m-gs 1 -1 sc (1) col0 sh gr-/Courier ff 270.00 scf sf-3075 1425 m-gs 1 -1 sc (0) col0 sh gr-/Helvetica ff 270.00 scf sf-975 825 m-gs 1 -1 sc (y) col0 sh gr-/Helvetica ff 270.00 scf sf-975 2625 m-gs 1 -1 sc (y) col0 sh gr-/Helvetica ff 270.00 scf sf-975 4425 m-gs 1 -1 sc (y) col0 sh gr-/Helvetica ff 270.00 scf sf-975 6825 m-gs 1 -1 sc (y) col0 sh gr-/Helvetica ff 270.00 scf sf-4575 1125 m-gs 1 -1 sc (y) col0 sh gr-/Times-Italic ff 270.00 scf sf-1050 900 m-gs 1 -1 sc (1) col0 sh gr-/Times-Italic ff 270.00 scf sf-1050 2775 m-gs 1 -1 sc (2) col0 sh gr-/Times-Italic ff 270.00 scf sf-1050 4575 m-gs 1 -1 sc (3) col0 sh gr-/Times-Italic ff 270.00 scf sf-1050 6900 m-gs 1 -1 sc (n) col0 sh gr-/Helvetica ff 270.00 scf sf-2925 8325 m-gs 1 -1 sc (load) col0 sh gr-/Courier ff 270.00 scf sf-3075 2700 m-gs 1 -1 sc (1) col0 sh gr-/Courier ff 270.00 scf sf-3075 3225 m-gs 1 -1 sc (0) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1202 4763 a(Figure)h(7.5:)36 b(A)28 b(parallel)e(to)i-(serial)e(con)n(v)n(erter.)1905 5255 y(40)p eop-%%Page: 41 42-41 41 bop 602 523 a Fp(serialToParallel)37 b(1)43 b(inp)f(=)i([inp])602-722 y(serialToParallel)37 b(n)43 b(inp)f(=)i(inp)e(:)h(rest)689-822 y(where)776 922 y(inp')f(=)h(delay)f(zero)g(inp)776-1021 y(rest)g(=)h(serialToParallel)37 b(\(n-1\))42 b(inp')515-1204 y Fq(Then)21 b(w)n(e)g(ha)n(v)n(e)f(to)h(tak)n(e)g(care)f(of)h-(the)g(outputs.)35 b(A)n(t)22 b(ev)n(ery)e(clo)r(c)n(k)g(tic)n(k,)j-(the)e(com)n(binational)515 1304 y(circuit)30 b(pro)r(duces)g-Fj(n)h Fq(outputs,)h(but)f(they)g(only)f(mak)n(e)g(sense)g(on)g(ev)n-(ery)f Fj(n)p Fq(-th,)j(2)p Fj(n)p Fq(-th,)f(...)515-1404 y(clo)r(c)n(k)e(tic)n(k,)i(b)r(ecause)f(then)g(w)n(e)g(ha)n(v)n(e)-f(the)i(righ)n(t)e(input.)46 b(Therefore,)29 b(w)n(e)h(need)g(to)g(add)-g(a)515 1503 y(comp)r(onen)n(t)c(on)h(the)h(outputs)f(that)g(spreads)f-(out)h(the)g(outputs)h(of)f(the)g(imp)r(ortan)n(t)g(clo)r(c)n(k)515-1603 y(tic)n(ks)h(o)n(v)n(er)f(the)i(other)f(clo)r(c)n(k)g(tic)n(ks.)39-b(This)29 b(is)f(done)g(b)n(y)h(the)g Fn(p)l(ar)l(al)t(lel)j(to)f-(serial)h(c)l(onverter)515 1702 y Fq(\(see)27 b(\014gure)g(7.5\).)36-b(W)-7 b(e)28 b(can)g(implemen)n(t)g(this)g(comp)r(onen)n(t)f(as)g-(follo)n(ws:)602 1886 y Fp(parallelToSerial)37 b(\(load,)k([inp]\))g(=)-i(out)689 1985 y(where)776 2085 y(out)86 b(=)43 b(mux)g(\(load,)e-(\(low,)g(inp\)\))602 2284 y(parallelToSerial)c(\(load,)k(inp:inps\))f-(=)j(out)689 2384 y(where)776 2483 y(from)f(=)h(parallelToSerial)37-b(\(load,)k(inps\))776 2583 y(prev)h(=)h(delay)f(low)g(from)776-2683 y(out)86 b(=)43 b(mux)g(\(load,)e(\(prev,)g(inp\)\))515-2866 y Fq(Then,)28 b(w)n(e)f(can)g(put)h(these)g(comp)r(onen)n(ts)f-(together)g(in)g(a)h(new)f(sequen)n(tial)g(adder:)602-3049 y Fp(adderSlowedDown)37 b(n)43 b(ab)g(=)g(sum)689-3149 y(where)776 3248 y(abs)86 b(=)43 b(serialToParallel)37-b(n)43 b(ab)776 3348 y(sums)f(=)h(adderCom)e(abs)776-3447 y(load)h(=)h(puls)f(n)h(\(\))776 3547 y(sum)86 b(=)43-b(parallelToSerial)37 b(\(load,)k(sums\))515 3730 y Fq(The)30-b Fp(load)e Fq(input)j(to)f(the)h(parallel)d(to)i(serial)f(con)n(v)n-(erter)f(is)i(a)g(puls)g(with)h(p)r(erio)r(d)f Fj(n)p-Fq(.)44 b(Let)515 3830 y(us)27 b(tak)n(e)g(a)g(lo)r(ok)g(at)h(ho)n(w)f-(this)h(sequen)n(tial)e(adder)h(adds)g(up)h(binary)f(n)n(um)n(b)r(ers)g-(for)g Fj(n)h Fq(=)f(4.)747 4023 y(clo)r(c)n(k)p 1040-4053 4 100 v 203 w(1)p 1265 4053 V 183 w(2)p 1489 4053-V 182 w(3)p 1714 4053 V 183 w(4)p 1938 4053 V 194 w(5)p-2186 4053 V 205 w(6)p 2433 4053 V 206 w(7)p 2681 4053-V 206 w(8)p 2928 4053 V 214 w(9)p 698 4057 2499 4 v 747-4126 a(input)p 1040 4156 4 100 v 152 w(ab)1180 4138 y-Fd(1)p 1265 4156 V 1316 4126 a Fq(ab)1404 4138 y Fd(2)p-1489 4156 V 1541 4126 a Fq(ab)1629 4138 y Fd(3)p 1714-4156 V 1765 4126 a Fq(ab)1853 4138 y Fd(4)p 1938 4156-V 1990 4126 a Fq(ab')2101 4138 y Fd(1)p 2186 4156 V 2237-4126 a Fq(ab')2348 4138 y Fd(2)p 2433 4156 V 2485 4126-a Fq(ab')2596 4138 y Fd(3)p 2681 4156 V 2732 4126 a Fq(ab')2843-4138 y Fd(4)p 2928 4156 V 2980 4126 a Fq(ab")3110 4138-y Fd(1)p 698 4160 2499 4 v 747 4229 a Fq(output)p 1040-4259 4 100 v 142 w(0)p 1265 4259 V 183 w(0)p 1489 4259-V 182 w(0)p 1714 4259 V 169 w(s)1826 4241 y Fd(1)p 1938-4259 V 2029 4229 a Fq(s)2062 4241 y Fd(2)p 2186 4259-V 2276 4229 a Fq(s)2309 4241 y Fd(3)p 2433 4259 V 2524-4229 a Fq(s)2557 4241 y Fd(4)p 2681 4259 V 2760 4229-a Fq(s')2816 4241 y Fd(1)p 2928 4259 V 3017 4229 a Fq(s')3073-4241 y Fd(2)515 4425 y Fq(As)h(w)n(e)g(can)g(see,)g(the)g(results)g(s)-1513 4437 y Fg(i)1569 4425 y Fq(are)f(dela)n(y)n(ed)g(b)n(y)h-Fj(n)19 b Fi(\000)f Fq(1)28 b(clo)r(c)n(k)f(tic)n(ks.)39-b(This)28 b(is)g(of)g(course)515 4524 y(b)r(ecause)i(the)h(result)f(is)-h(computed)g(at)f(the)i Fj(n)p Fq(-th,)f(2)p Fj(n)p Fq(-th,)g(...)46-b(clo)r(c)n(k)30 b(tic)n(k.)46 b(So,)32 b(when)e(w)n(e)515-4624 y(compare)d(this)i(with)h(the)f(original)e(sequen)n(tial)h(adder,)-h(w)n(e)f(ha)n(v)n(e)g(to)h(slo)n(w)f(the)h(output)g(of)515-4723 y(that)f(one)f(do)n(wn)g(with)h Fj(n)18 b Fi(\000)g-Fq(1)28 b(dela)n(y)e(comp)r(onen)n(ts.)37 b(Here)27 b(is)g(the)h(prop)r-(ert)n(y:)602 4907 y Fp(prop_AdderSeqSlo)o(we)o(dDo)o(wn)37-b(n)43 b(ab)g(=)g(ok)689 5006 y(where)1905 5255 y Fq(41)p-eop-%%Page: 42 43-42 42 bop 1628 1123 a @beginspecial 0 @llx 0 @lly 153-@urx 164 @ury 765 @rwi @setspecial-%%BeginDocument: Pictures/explF.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--58.0 216.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 4600 m -1000 -1000 l 4513 -1000 l 4513 4600 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 1800 1800 m 2700 1800 l 2700 2700 l 1800 2700 l cp gs col0 s gr -% Polyline-gs  clippath-1677 2220 m 1773 2250 l 1677 2280 l 1815 2280 l 1815 2220 l cp-clip-n 1200 2250 m 1800 2250 l gs col0 s gr gr--% arrowhead-n 1677 2220 m 1773 2250 l 1677 2280 l 1653 2250 l 1677 2220 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 1677 m 2250 1773 l 2220 1677 l 2220 1815 l 2280 1815 l cp-clip-n 2250 1200 m 2250 1800 l gs col0 s gr gr--% arrowhead-n 2280 1677 m 2250 1773 l 2220 1677 l 2250 1653 l 2280 1677 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 2220 m 3273 2250 l 3177 2280 l 3315 2280 l 3315 2220 l cp-clip-n 2700 2250 m 3300 2250 l gs col0 s gr gr--% arrowhead-n 3177 2220 m 3273 2250 l 3177 2280 l 3153 2250 l 3177 2220 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 3177 m 2250 3273 l 2220 3177 l 2220 3315 l 2280 3315 l cp-clip-n 2250 2700 m 2250 3300 l gs col0 s gr gr--% arrowhead-n 2280 3177 m 2250 3273 l 2220 3177 l 2250 3153 l 2280 3177 l  cp gs 0.00 setgray ef gr  col0 s-/Courier ff 270.00 scf sf-2025 2325 m-gs 1 -1 sc (F) col0 sh gr-/Times-Italic ff 270.00 scf sf-2100 2400 m-gs 1 -1 sc (expl) col0 sh gr-/Helvetica ff 270.00 scf sf-975 2325 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 2325 m-gs 1 -1 sc (y) col0 sh gr-/Helvetica ff 270.00 scf sf-2100 1050 m-gs 1 -1 sc (q) col0 sh gr-/Helvetica ff 270.00 scf sf-2025 3525 m-gs 1 -1 sc (q) col0 sh gr-/Times-Italic ff 270.00 scf sf-2175 3600 m-gs 1 -1 sc (new) col0 sh gr-/Times-Italic ff 270.00 scf sf-2250 1125 m-gs 1 -1 sc (old) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 675 1306 a Fq(Figure)27 b(7.6:)36 b(A)28-b(com)n(binational)f(circuit)g(with)h(explicit)g(states)f-Ff(q)2750 1324 y Fe(old)2871 1306 y Fq(and)g Ff(q)3075-1318 y Fe(new)3195 1306 y Fq(.)1609 2931 y @beginspecial-0 @llx 0 @lly 162 @urx 362 @ury 810 @rwi @setspecial-%%BeginDocument: Pictures/timeTransformF.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--58.0 451.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 8512 m -1000 -1000 l 4663 -1000 l 4663 8512 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 1800 5100 m 2700 5100 l 2700 6000 l 1800 6000 l cp gs col0 s gr -% Polyline-gs  clippath-1677 5520 m 1773 5550 l 1677 5580 l 1815 5580 l 1815 5520 l cp-clip-n 1200 5550 m 1800 5550 l gs col0 s gr gr--% arrowhead-n 1677 5520 m 1773 5550 l 1677 5580 l 1653 5550 l 1677 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 5520 m 3273 5550 l 3177 5580 l 3315 5580 l 3315 5520 l cp-clip-n 2700 5550 m 3300 5550 l gs col0 s gr gr--% arrowhead-n 3177 5520 m 3273 5550 l 3177 5580 l 3153 5550 l 3177 5520 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline- [15 45] 45 sd-n 2250 4275 m 2250 5100 l gs col0 s gr  [] 0 sd-% Polyline-n 1800 1800 m 2700 1800 l 2700 2700 l 1800 2700 l cp gs col0 s gr -% Polyline-gs  clippath-1677 2220 m 1773 2250 l 1677 2280 l 1815 2280 l 1815 2220 l cp-clip-n 1200 2250 m 1800 2250 l gs col0 s gr gr--% arrowhead-n 1677 2220 m 1773 2250 l 1677 2280 l 1653 2250 l 1677 2220 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 2220 m 3273 2250 l 3177 2280 l 3315 2280 l 3315 2220 l cp-clip-n 2700 2250 m 3300 2250 l gs col0 s gr gr--% arrowhead-n 3177 2220 m 3273 2250 l 3177 2280 l 3153 2250 l 3177 2220 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 1800 6300 m 2700 6300 l 2700 7200 l 1800 7200 l cp gs col0 s gr -% Polyline-gs  clippath-2280 6177 m 2250 6273 l 2220 6177 l 2220 6315 l 2280 6315 l cp-clip-n 2250 6000 m 2250 6300 l gs col0 s gr gr--% arrowhead-n 2280 6177 m 2250 6273 l 2220 6177 l 2250 6153 l 2280 6177 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 1677 m 2250 1773 l 2220 1677 l 2220 1815 l 2280 1815 l cp-clip-n 3000 2175 m 3000 1500 l 2250 1500 l 2250 1800 l gs col0 s gr gr--% arrowhead-n 2280 1677 m 2250 1773 l 2220 1677 l 2250 1653 l 2280 1677 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 3000 5475 m 3000 3825 l gs col0 s gr -% Polyline-n 2250 7200 m 2250 7500 l 3000 7500 l 3000 5625 l gs col0 s gr -% Polyline-n 3000 3675 m 3000 2325 l gs col0 s gr -% Polyline-n 1800 3300 m 2700 3300 l 2700 4200 l 1800 4200 l cp gs col0 s gr -% Polyline-gs  clippath-1677 3720 m 1773 3750 l 1677 3780 l 1815 3780 l 1815 3720 l cp-clip-n 1200 3750 m 1800 3750 l gs col0 s gr gr--% arrowhead-n 1677 3720 m 1773 3750 l 1677 3780 l 1653 3750 l 1677 3720 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2280 3177 m 2250 3273 l 2220 3177 l 2220 3315 l 2280 3315 l cp-clip-n 2250 2700 m 2250 3300 l gs col0 s gr gr--% arrowhead-n 2280 3177 m 2250 3273 l 2220 3177 l 2250 3153 l 2280 3177 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3177 3720 m 3273 3750 l 3177 3780 l 3315 3780 l 3315 3720 l cp-clip-n 2700 3750 m 3300 3750 l gs col0 s gr gr--% arrowhead-n 3177 3720 m 3273 3750 l 3177 3780 l 3153 3750 l 3177 3720 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-975 2325 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 2325 m-gs 1 -1 sc (y) col0 sh gr-/Courier ff 270.00 scf sf-2025 5625 m-gs 1 -1 sc (F) col0 sh gr-/Times-Italic ff 270.00 scf sf-2100 5700 m-gs 1 -1 sc (expl) col0 sh gr-/Courier ff 270.00 scf sf-2025 2325 m-gs 1 -1 sc (F) col0 sh gr-/Times-Italic ff 270.00 scf sf-2100 2400 m-gs 1 -1 sc (expl) col0 sh gr-/Helvetica ff 270.00 scf sf-975 3825 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-975 5625 m-gs 1 -1 sc (x) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 3825 m-gs 1 -1 sc (y) col0 sh gr-/Helvetica ff 270.00 scf sf-3375 5625 m-gs 1 -1 sc (y) col0 sh gr-/Courier ff 270.00 scf sf-2175 6825 m-gs 1 -1 sc (D) col0 sh gr-/Times-Italic ff 270.00 scf sf-1125 5700 m-gs 1 -1 sc (n) col0 sh gr-/Times-Italic ff 270.00 scf sf-3450 2400 m-gs 1 -1 sc (1) col0 sh gr-/Times-Italic ff 270.00 scf sf-3450 3900 m-gs 1 -1 sc (2) col0 sh gr-/Times-Italic ff 270.00 scf sf-3525 5700 m-gs 1 -1 sc (n) col0 sh gr-/Times-Italic ff 270.00 scf sf-1125 2400 m-gs 1 -1 sc (1) col0 sh gr-/Courier ff 270.00 scf sf-2025 3825 m-gs 1 -1 sc (F) col0 sh gr-/Times-Italic ff 270.00 scf sf-2100 3900 m-gs 1 -1 sc (expl) col0 sh gr-/Times-Italic ff 270.00 scf sf-1050 3900 m-gs 1 -1 sc (2) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 994 3114 a(Figure)g(7.7:)36 b(A)28 b(time)g(transformed)e-(sequen)n(tial)h(circuit)h Fj(F)12 b Fq(.)776 3379 y-Fp(sum1)86 b(=)43 b(adderSeqPeriod)38 b(n)43 b(ab)776-3479 y(sum1')f(=)h(delayN)e(\(n-1\))h(low)g(sum1)776-3579 y(sum2)86 b(=)43 b(adderSlowedDown)37 b(n)43 b(ab)776-3678 y(ok)174 b(=)43 b(sum1')e(<==>)h(sum2)515 3864 y-Fq(Unfortunately)-7 b(,)43 b(this)d(w)n(a)n(y)f(of)h(sp)r(ecifying)g-(the)h(prop)r(ert)n(y)e(in)n(tro)r(duces)g(a)h(lot)g(of)g(extra)515-3964 y(logic,)34 b(and)f(moreo)n(v)n(er,)f(extra)g(state.)54-b(This)33 b(mak)n(es)g(the)g(v)n(eri\014cation)f(of)h(these)h(kind)f-(of)515 4063 y(prop)r(erties)d(v)n(ery)g(hard.)47 b(In)31-b(particular,)g(the)h(induction)f(metho)r(ds)g(need)h(an)f(extremely)-515 4163 y(high)24 b(induction)h(depth.)36 b(In)25 b(the)g(next)g-(section,)f(w)n(e)g(will)h(see)f(a)g(simpler)g(and)h(more)e(direct)515-4263 y(metho)r(d)28 b(for)f(sp)r(ecifying)h(retiming)f(prop)r(erties.)-515 4577 y Fm(7.3)135 b(Sp)t(eeding)45 b(Up)515 4799-y Fq(Another)31 b(tec)n(hnique)g(for)g(retiming)g(w)n(orks)e(as)i-(follo)n(ws.)47 b(Instead)31 b(of)g(slo)n(wing)f(do)n(wn)h(the)515-4898 y(com)n(binational)h(circuit,)i(w)n(e)f(sp)r(eed)h(up)f(the)h-(sequen)n(tial)e(circuit.)54 b(Unfortunately)-7 b(,)35-b(this)515 4998 y(cannot)g(b)r(e)i(done)e(b)n(y)h(adding)f(retiming)h-(comp)r(onen)n(ts)f(around)g(the)h(circuit.)62 b(Instead,)1905-5255 y(42)p eop-%%Page: 43 44-43 43 bop 515 523 a Fq(w)n(e)32 b Fn(tr)l(ansform)h Fq(the)g(circuit)f-(in)n(to)g(another)g(circuit.)52 b(This)32 b(is)g(done)h(b)n(y)f(a)g-(built-in)h(La)n(v)-5 b(a)515 623 y(op)r(eration,)26-b(called)i Fp(timeTransform)p Fq(.)515 762 y(The)g(idea)g(is)g(that)h-(w)n(e)f(mak)n(e)f(the)i(state)f(of)g(the)h(sequen)n(tial)e(circuit)i-(explicit)f(b)n(y)g(turning)515 862 y(a)j(sequen)n(tial)g(circuit)h-Fj(F)43 b Fq(in)n(to)32 b(a)f(com)n(binational)f(circuit)i-Fj(F)2442 879 y Fe(expl)2564 862 y Fq(,)h(that)f(tak)n(es)e(in)i(the)g-(old)515 961 y(state)h(as)f(an)h(extra)f(input,)k(and)c(has)h(the)h-(new)f(state)g(as)f(an)h(extra)f(output)i(\(see)f(\014gure)515-1061 y(7.6\).)515 1200 y(The)23 b(next)g(step)g(is)g(to)g(create)f(a)g-(column)h(of)g Fj(F)1943 1218 y Fe(expl)2065 1200 y Fq(,)h(where)e(w)n-(e)h(thread)f(the)h(states)g(through)515 1300 y(as)37-b(carry)-7 b(.)67 b(The)38 b(last)g(step)g(is)g(to)g(mak)n(e)f(the)i-(state)f(implicit)h(again)d(b)n(y)i(adding)g(dela)n(y)515-1400 y(comp)r(onen)n(ts)27 b(and)g(a)g(lo)r(op)h(bac)n(k)e(\(see)i-(\014gure)f(7.7\).)515 1539 y(All)k(this)f(is)h(implemen)n(ted)g(b)n(y)-f(La)n(v)-5 b(a's)29 b(primitiv)n(e)h(op)r(eration)f-Fp(timeTransform)p Fq(.)41 b(So,)30 b(w)n(e)515 1639-y(can)24 b(mak)n(e)f(a)h(new)g(adder)g(from)g(the)g(sequen)n(tial)g-(adder,)g(b)n(y)g(using)g(time)h(transformation:)602-1824 y Fp(adderSpedUp)39 b(abs)j(=)h(sums)689 1923 y(where)776-2023 y(sums)f(=)h(timeTransform)c(\(adderSeqPeriod)e(n\))43-b(abs)776 2122 y(n)174 b(=)43 b(length)e(abs)515 2307-y Fq(The)22 b(function)h Fp(length)d Fq(computes)i(the)h(length)g(of)f-(a)g(list,)i(so)d(that)i(w)n(e)f(kno)n(w)g(what)g(p)r(erio)r(d)515-2407 y(the)28 b(sequen)n(tial)f(adder)f(requires.)515-2546 y(The)h(prop)r(ert)n(y)g(of)g(comparing)g(the)h(t)n(w)n(o)e-(di\013eren)n(t)i(adders)f(no)n(w)g(lo)r(oks)f(as)h(follo)n(ws:)602-2731 y Fp(prop_AdderSeqSpe)o(dU)o(p)38 b(abs)k(=)h(ok)689-2831 y(where)776 2930 y(sum1)f(=)h(adderSpedUp)c(abs)776-3030 y(sum2)j(=)h(adderCom)e(abs)776 3129 y(ok)130 b(=)43-b(sum1)f(<==>)g(sum2)515 3314 y Fq(Because)32 b(this)i(is)g(a)f(prop)r-(ert)n(y)g(that)h(has)f(a)g(list)h(as)f(an)h(input,)i(w)n(e)d(need)h-(to)g(b)r(e)g(explicit)515 3414 y(ab)r(out)27 b(the)h(length)g(of)f-(the)h(list:)602 3598 y Fp(prop_AdderSeqSpe)o(dU)o(p_F)o(or)o(Siz)o(e)-37 b(n)43 b(=)689 3698 y(forAll)e(\(list)h(n\))g($)i(\\abs)e(->)776-3798 y(prop_AdderSeqSped)o(Up)37 b(abs)515 3982 y Fq(V)-7-b(erifying)27 b(this)h(b)n(y)f(induction)h(is)g(easy)-7-b(,)27 b(and)g(needs)g(induction)h(depth)h(2)e(for)g(an)n(y)g-Fj(n)p Fq(.)515 4297 y Fm(7.4)135 b(Exercises)575 4511-y Fq(7.1)40 b(Consider)27 b(the)h(follo)n(wing)e(circuit:)809-4709 y Fp(highLow)41 b(\(\))i(=)g([high,)e(low])722 4907-y Fq(V)-7 b(erify)32 b(that)f(the)h(circuit)f Fp(toggle)d-Fq(b)r(eha)n(v)n(es)i(t)n(wice)h(as)g(slo)n(w)f(as)h(this)g(circuit)g-(if)h(its)722 5006 y(input)d(is)e(alw)n(a)n(ys)f(high.)37-b(Do)27 b(this)h(b)n(y)f(slo)n(wing)g(do)n(wn)g(and)g(sp)r(eeding)h-(up.)1905 5255 y(43)p eop-%%Page: 44 45-44 44 bop 575 523 a Fq(7.2)40 b(What)21 b(go)r(es)f(wrong)g(when)h(w)n-(e)g(try)f(using)h(the)g(slo)n(wing)e(do)n(wn)i(metho)r(d)g(for)g-(compar-)722 623 y(ing)j(t)n(w)n(o)f Fn(se)l(quential)i-Fq(circuits)e(that)i(op)r(erate)e(at)h(di\013eren)n(t)g(rate?)35-b(Also)24 b(see)f(exercise)722 722 y(7.5.)722 855 y(Hin)n(t:)38-b(what)27 b(happ)r(ens)h(to)f(the)h(state)g(of)f(a)g(circuit)h(that)g-(is)f(slo)n(w)n(ed)g(do)n(wn?)575 1021 y(7.3)40 b(Do)r(es)e(the)f(sp)r-(eeding)g(up)h(metho)r(d)g(w)n(ork)e(when)h(w)n(e)g(use)g(it)h(for)f-(comparing)f(t)n(w)n(o)722 1121 y(sequen)n(tial)27 b(circuits)g(that)h-(op)r(erate)f(at)h(di\013eren)n(t)f(rate?)575 1287 y(7.4)40-b(Design)19 b(a)f(prop)r(ert)n(y)g(connection)g(pattern)g(that)h(v)n-(eri\014es)f(t)n(w)n(o)g(circuits)g(that)h(op)r(erate)722-1386 y(at)36 b(di\013eren)n(t)g(rates)g(equiv)-5 b(alen)n(t.)62-b(Y)-7 b(ou)36 b(ma)n(y)f(decide)i(y)n(ourself)e(what)h(metho)r(d)g(to)-722 1486 y(c)n(ho)r(ose.)575 1652 y(7.5)k(Can)28 b(y)n(ou)e(\014nd)i(a)-g(metho)r(d)g(to)f(\014x)h(the)g(problem)f(in)h(exercise)e(7.2?)722-1785 y(Hin)n(t:)38 b(use)27 b(clo)r(c)n(k)n(ed)g(dela)n(ys)f(\(see)i-(exercise)e(5.3\).)1905 5255 y(44)p eop-%%Page: 45 46-45 45 bop 515 1186 a Fo(Chapter)64 b(8)515 1641 y Fs(More)78-b(connection)g(patterns)515 2112 y Fq(In)34 b(this)h(c)n(hapter,)h(w)n-(e)e(\014rst)g(review)g(some)g(standard)f(connection)h(patterns,)i(and)-f(then)515 2212 y(consider)h(the)h(problem)g(of)g(describing)g-Fn(tr)l(e)l(e)h(shap)l(e)l(d)i(cir)l(cuits)d Fq(and)g-Fn(butter\015y)h(cir)l(cuits)p Fq(.)515 2311 y(These)27-b(are)g(common)g(circuit)g(structures)g(in)h(digital)f(signal)g(pro)r-(cessing.)515 2626 y Fm(8.1)135 b(Connection)46 b(patterns)f(revisited)-515 2847 y Fq(In)21 b(an)f(earlier)f(c)n(hapter,)i(w)n(e)f(sa)n(w)g-(the)h Fp(serial)d Fq(connection)i(pattern,)i(whic)n(h)f(connects)f(t)n-(w)n(o)515 2947 y(circuits)27 b(in)g(series.)36 b(It)28-b(is)f(con)n(v)n(enien)n(t)f(to)h(ha)n(v)n(e)g(an)g(in\014x)g(v)n-(ersion,)f(so)h(that)g(w)n(e)g(can)g(write)515 3047 y-Fp(f)43 b(->-)f(g)p Fq(,)27 b(instead)g(of)f Fp(serial)41-b(f)j(g)p Fq(,)26 b(see)h(\014gure)f(8.1.)35 b(Note)27-b(that)g(serial)f(comp)r(osition)g(is)515 3146 y(asso)r(ciativ)n(e:)602-3332 y Fp(f)43 b(->-)f(\(g)h(->-)g(h\))129 b(===)h(\(f)43-b(->-)f(g\))h(->-)f(h)515 3518 y Fq(Sometimes)27 b(w)n(e)h(w)n(an)n(t)e-(to)i(comp)r(ose)f(a)g(list)h(of)f(circuits.)37 b(W)-7-b(e)28 b(call)f(this)h Fp(compose)p Fq(.)602 3704 y Fp(compose)41-b([])478 b(inp)43 b(=)g(inp)602 3804 y(compose)e(\(circ:circs\))d(inp)-43 b(=)g(out)689 3903 y(where)776 4003 y(x)131 b(=)43-b(circ)f(inp)776 4103 y(out)h(=)g(compose)d(circs)i(x)515-4289 y Fq(Note)34 b(that)g(w)n(e)f(could)h(ha)n(v)n(e)f(written)h(this)-g(de\014nition)g(in)h(a)e(di\013eren)n(t)h(st)n(yle,)h(using)f(the)515-4388 y(serial)26 b(connection)h(pattern.)602 4574 y Fp(compose1)40-b([])479 b(inp)42 b(=)h(inp)602 4674 y(compose1)d(\(circ:circs\))f(inp)-j(=)h(out)689 4774 y(where)776 4873 y(out)g(=)g(\(circ)e(->-)i-(compose1)d(circs\))h(inp)1905 5255 y Fq(45)p eop-%%Page: 46 47-46 46 bop 1615 1272 56 4 v 1615 1161 V 1615 1051 V 1615-940 V 1615 829 V 1615 718 V 1615 608 V 1615 497 V 1667-468 284 4 v 1667 1298 4 831 v 1784 904 a Fj(f)p 1947-1298 V 1667 1301 284 4 v 1947 1051 56 4 v 1947 940 V-1947 829 V 1947 718 V 1999 661 229 4 v 1999 1104 4 443-v 2092 893 a(g)p 2224 1104 V 1999 1107 229 4 v 2224 1051-56 4 v 2224 940 V 2224 829 V 2224 718 V 1580 1508 a Fq(Figure)27-b(8.1:)36 b Fp(f)43 b(->-)g(g)515 1776 y Fq(W)-7 b(e)33-b(could)f(go)g(ev)n(en)g(further)g(and)h(drop)f(the)h(circuit)f(inputs)-i(\()p Fp(inp)p Fq(\))e(from)g(eac)n(h)g(side)g(of)515-1875 y(the)26 b(de\014nitions.)36 b(The)26 b(iden)n(tit)n(y)f(circuit)h-(\(whic)n(h)f(just)i(returns)d(its)i(input\))h(is)e(written)h-Fp(id)p Fq(.)515 1975 y(This)h(is)f(a)h(de\014nite)h(c)n(hange)d(of)i-(st)n(yle)g(to)g(one)f(in)h(whic)n(h)g(the)h(emphasis)e(is)h(on)g-(connection)515 2075 y(patterns.)602 2261 y Fp(compose2)40-b([])479 b(=)43 b(id)602 2360 y(compose2)d(\(circ:circs\))f(=)k(circ)f-(->-)g(compose2)f(circs)515 2546 y Fq(All)35 b(of)f(these)h(st)n(yles)f-(are)g(equally)g(go)r(o)r(d,)i(and)e(the)h(c)n(hoice)f(is)h(really)e-(just)i(a)g(matter)f(of)515 2646 y(taste.)h(In)25 b(fact)f(it)h(is)f-(quite)h(con)n(v)n(enien)n(t)e(to)i(b)r(e)f(able)g(to)h(mix)f(st)n-(yles,)h(sometimes)f(c)n(ho)r(osing)515 2745 y(one)j(and)g(sometimes)h-(the)g(other.)515 2885 y(Out)22 b(of)f Fp(compose)p Fq(,)g(w)n(e)g(can)-h(easily)f(mak)n(e)g(a)g(connection)h(pattern,)h(called)e-Fp(composeN)p Fq(,)e(that)515 2985 y(comp)r(oses)26 b(sev)n(eral)g-(copies)h(of)h(the)g(same)f(circuit)g(in)h(sequence.)602-3171 y Fp(composeN)40 b(n)j(circ)f(=)h(compose)e(\(replicate)f(n)j-(circ\))602 3373 y(Main>)e Fl(simulateSeq)e(\(composeN)h(5)j(inc\))f-([0,2,4,6])602 3473 y Fp([5,7,9,11])515 3675 y Fq(Here)27-b Fp(inc)f Fq(is)i(the)g(circuit)f(that)h(adds)f(one)h(to)f(its)h(in)n-(teger)f(input.)515 3815 y(W)-7 b(e)22 b(also)f(sa)n(w)g(the)h-Fp(par)f Fq(connection)g(pattern:)34 b Fp(par)42 b(f)i(g)21-b Fq(tak)n(es)g(a)g(pair)h(of)g(inputs,)h(passing)515-3914 y(the)31 b(\014rst)f(to)h Fp(f)f Fq(and)h(the)g(second)f(to)h-Fp(g)p Fq(,)g(and)g(com)n(bining)f(the)h(results)f(in)n(to)h(a)f(pair.)-46 b(The)515 4014 y(in\014x)28 b(v)n(ersion)e(of)h Fp(par)42-b(f)i(g)27 b Fq(is)g(written)h Fp(f)43 b(-|-)g(g)p Fq(.)515-4154 y(A)25 b(v)n(ersion)f(of)h Fp(par)f Fq(that)i(\\do)r(es")e-Fp(f)g Fq(to)h(the)h(\014rst)f(half)g(of)h(a)e(list)i(and)f-Fp(g)g Fq(to)g(the)g(second)g(half)515 4253 y(also)g(turns)h(out)g(to)g-(b)r(e)h(useful.)36 b(W)-7 b(e)27 b(call)f(this)g(pattern)g-Fp(parl)p Fq(.)35 b(First,)26 b(w)n(e)g(de\014ne)g(a)g(help)r(er)515-4353 y(function,)i Fp(halveList)p Fq(,)c(whic)n(h)k(divides)f(a)g(list)-h(in)g(t)n(w)n(o.)602 4539 y Fp(halveList)40 b(inps)i(=)h-(\(left,right\))689 4638 y(where)776 4738 y(left)86 b(=)43-b(take)f(half)g(inps)776 4838 y(right)g(=)h(drop)f(half)g(inps)776-4937 y(half)86 b(=)43 b(length)e(inps)h(`div`)f(2)1905-5255 y Fq(46)p eop-%%Page: 47 48-47 47 bop 1808 1272 56 4 v 1808 1161 V 1808 1051 V 1808-940 V 1808 829 V 1808 718 V 1808 608 V 1808 497 V 1861-1132 173 4 v 1861 1298 4 167 v 1926 1225 a Fj(g)p 2030-1298 V 1861 1301 173 4 v 1861 910 V 1861 1077 4 167 v-1926 1003 a(g)p 2030 1077 V 1861 1080 173 4 v 1861 689-V 1861 855 4 167 v 1926 782 a(g)p 2030 855 V 1861 858-173 4 v 1861 468 V 1861 634 4 167 v 1926 561 a(g)p 2030-634 V 1861 637 173 4 v 2030 1272 56 4 v 2030 1161 V 2030-1051 V 2030 940 V 2030 829 V 2030 718 V 2030 608 V 2030-497 V 1624 1508 a Fq(Figure)27 b(8.2:)36 b Fp(map)42-b(g)602 1776 y(Main>)f Fl(simulate)g(halveList)f([high,low,high,)o(low)-o(])602 1875 y Fp(\([high,low],[hig)o(h,)o(low)o(]\))515-2078 y Fq(Then,)i(w)n(e)d(de\014ne)h(the)g(circuit)f-Fp(append)p Fq(,)h(whic)n(h)f(tak)n(es)g(a)g(pair)g(of)g(lists)g(of)h-(length)f Fj(m)515 2178 y Fq(and)29 b Fj(n)p Fq(,)g(and)g(joins)g(them)-g(together)f(\(or)h Fn(c)l(onc)l(atenates)g Fq(them\),)h(to)f(giv)n(e)f-(a)h(list)g(of)g(length)515 2277 y Fj(m)11 b Fq(+)g Fj(n)p-Fq(.)36 b(This)24 b(circuit)f(is)h(de\014ned)h(in)f(terms)g(of)g(Hask)n-(ell's)f(built-in)i(in\014x)f(list)g(concatenate)515-2377 y(op)r(erator)i(\()p Fp(++)p Fq(\).)602 2563 y Fp(append)41-b(\(a,b\))h(=)h(a)g(++)g(b)515 2749 y Fq(Lastly)-7 b(,)27-b(w)n(e)g(de\014ne)h Fp(parl)p Fq(:)602 2935 y Fp(parl)42-b(circ1)f(circ2)h(=)689 3034 y(halveList)e(->-)i(\(circ1)f(-|-)i-(circ2\))e(->-)h(append)602 3237 y(Main>)f Fl(simulate)g(\(parl)g-(reverse)g(id\))h([1..16])602 3337 y Fp([8,7,6,5,4,3,2,1)o(,9)o(,10)o-(,1)o(1,1)o(2,)o(13)o(,14)o(,1)o(5,1)o(6])515 3539 y-Fq(Sometimes,)26 b(w)n(e)f(w)n(an)n(t)g(to)g(p)r(erform)g(an)h(op)r-(eration)e(of)i(eac)n(h)e(elemen)n(t)i(of)g(a)f(list)h(of)f(signals)515-3639 y(or)31 b(bus.)50 b(F)-7 b(or)31 b(this)h(w)n(e)g(use)g(the)g-(connection)g(pattern)f Fp(map)p Fq(,)h(whic)n(h)g(y)n(ou)f(will)i(ha)n-(v)n(e)d(seen)515 3738 y(if)36 b(y)n(ou)f(ha)n(v)n(e)f(used)i(a)f-(functional)h(programming)d(language.)60 b(F)-7 b(or)35-b(example,)i Fp(map)42 b(inv)515 3838 y Fq(in)n(v)n(erts)26-b(eac)n(h)h(of)h(a)f(list)h(of)f(bits.)602 4024 y Fp(Main>)41-b Fl(simulate)g(\(map)h(inv\))g([high,)f(low,)h(high,)f(low])602-4124 y Fp([low,high,low,hi)o(gh)o(])515 4310 y Fq(Buses)d(need)g(not)h-(con)n(tain)e(only)h(lists)h(of)f(bits.)70 b(They)38-b(can)g(b)r(e)h(more)f(structured,)j(so)515 4409 y(that)29-b(our)f(circuit)h(descriptions)f(can)h(matc)n(h)g(the)g-Fn(lo)l(gic)l(al)i Fq(structure)d(of)h(the)h(circuit.)41-b(F)-7 b(or)515 4509 y(example,)27 b(the)h(circuit)f-Fp(map)43 b(fullAdd)25 b Fq(mak)n(es)h(p)r(erfect)i(sense.)602-4695 y Fp(Main>)41 b Fl(simulate)g(\(map)h(fullAdd\))951-4794 y([\(low,\(high,low)o(\)\),)o(\(h)o(ig)o(h,\()o(hi)o(gh,)o(hi)o-(gh\))o(\),)o(\(l)o(ow,)o(\(h)o(igh)o(,h)o(ig)o(h\)\))o(])602-4894 y Fp([\(high,low\),\(hig)o(h,)o(hig)o(h\))o(,\(l)o(ow)o(,h)o(igh)o-(\)])1905 5255 y Fq(47)p eop-%%Page: 48 49-48 48 bop 1382 1383 1130 4 v 1759 1100 753 4 v 2135 818-377 4 v 1382 1100 95 4 v 1665 1100 V 1473 1005 195 4-v 1473 1193 4 189 v 1546 1119 a Fj(f)p 1665 1193 V 1473-1196 195 4 v 1382 818 95 4 v 1665 818 V 1473 722 195-4 v 1473 910 4 189 v 1546 837 a(f)p 1665 910 V 1473 913-195 4 v 1382 536 95 4 v 1665 536 V 1473 440 195 4 v 1473-628 4 189 v 1546 555 a(f)p 1665 628 V 1473 631 195 4-v 1759 818 95 4 v 2041 818 V 1849 722 195 4 v 1849 910-4 189 v 1922 837 a(f)p 2041 910 V 1849 913 195 4 v 1759-536 95 4 v 2041 536 V 1849 440 195 4 v 1849 628 4 189-v 1922 555 a(f)p 2041 628 V 1849 631 195 4 v 2135 536-95 4 v 2417 536 V 2226 440 195 4 v 2226 628 4 189 v 335-w(f)p 2417 628 V 2226 631 195 4 v 1624 1658 a Fq(Figure)27-b(8.3:)36 b Fp(tri)42 b(f)515 1921 y Fq(Figure)22 b(8.2)g(sho)n(ws)g(a)-h Fp(map)e Fq(in)j(the)f(case)f(where)g(the)i(input)g(is)e(a)h(4-list)f-(\(of)i(pairs)d(or)i(2-lists\).)515 2060 y(Strangely)34-b(enough,)j(the)f(connection)g(pattern)f(that)h(places)f(zero)f(copies)-h(of)h(a)f(circuit)515 2160 y(on)29 b(the)i(\014rst)e(signal)g(in)i(a)e-(bus,)i(one)e(cop)n(y)g(on)h(the)g(next,)h(t)n(w)n(o)e(on)h(the)g-(next,)h(and)f(so)f(on,)515 2260 y(is)i(one)f(that)i(arises)e(often)h-(in)g(hardw)n(are)e(design.)48 b(It)31 b(is)g(a)g(sort)f(of)h(mixture)g-(of)g Fp(map)f Fq(and)515 2359 y Fp(composeN)p Fq(.)g(W)-7-b(e)33 b(call)g(it)g Fp(tri)f Fq(for)h Fn(triangle)p-Fq(.)54 b(Y)-7 b(ou)33 b(should)g(understand)g(wh)n(y)g(when)g(y)n(ou)-515 2459 y(lo)r(ok)25 b(at)g(the)h(diagram)e(in)i(\014gure)f(8.3.)35-b(W)-7 b(e)26 b(lea)n(v)n(e)f(the)h(de\014nition)g(of)f-Fp(tri)f Fq(as)h(exercise)g(8.3.)515 2598 y(An)j(example)f(of)h(the)g-(use)f(of)h(triangle)e(is)602 2783 y Fp(Main>)41 b Fl(simulate)g(\(tri)-h(inc\))g(\(replicate)d(10)k(0\))602 2882 y Fp([0,1,2,3,4,5,6,7)o(,8)o-(,9])515 3066 y Fq(The)24 b(connection)g(patterns)g(that)g(w)n(e)g(ha)n-(v)n(e)f(seen)h(in)h(this)f(section)g(are)f(all)h(useful)h(in)g(man)n-(y)515 3166 y(di\013eren)n(t)38 b(kinds)g(of)g(circuits.)68-b(No)n(w)37 b(let)i(us)f(consider)e(ho)n(w)i(to)g(describ)r(e)f(tree)h-(shap)r(ed)515 3266 y(circuits.)515 3580 y Fm(8.2)135-b(T)-11 b(ree)45 b(shap)t(ed)f(circuits)515 3801 y Fq(Circuits)27-b(in)h(the)g(shap)r(e)f(of)g(trees,)g(lik)n(e)g(that)h(sho)n(wn)f(in)h-(\014gure)e(8.4,)h(can)g(b)r(e)h(used)g(to)f(sys-)515-3901 y(tematically)g(apply)g(a)g(function)g(that)h(com)n(bines)f(data)f-(v)-5 b(alues)27 b(together)g(to)g(a)g(collection)515-4000 y(of)e(data.)36 b(A)26 b(binary)f(tree)g(circuit)h(\014rst)f(com)n-(bines)g(eac)n(h)g(half)h(of)f(the)h(input)h(v)-5 b(alues,)25-b(using)515 4100 y(t)n(w)n(o)31 b(smaller)g(trees)g(and)h(then)h(com)n-(bines)e(the)h(t)n(w)n(o)f(remaining)g(results.)50 b(One)31-b(example)515 4200 y(of)c(suc)n(h)h(a)f(circuit)g(is)h(an)f(adder)g-(tree)g(that)h(adds)f(up)h(a)f(list)h(of)g(n)n(umhers.)515-4339 y(The)f(outline)h(of)g(the)g(recursiv)n(e)e(de\014nition)i(of)f(a)-g(tree)h(connection)f(pattern)g(is:)602 4523 y Fp(tree)42-b(circ)g([inp])f(=)i(...)g(inp)f(...)602 4623 y(tree)g(circ)g(inps)85-b(=)43 b(...)g(tree)f(circ)g(...)g(tree)g(circ)g(...)g(circ)g(...)g-(inps)515 4807 y Fq(W)-7 b(e)26 b(call)f(the)g(parameter)f-Fp(circ)g Fq(the)i Fn(c)l(omp)l(onent)i(cir)l(cuit)p-Fq(.)36 b(The)26 b(\014rst)f(line)h(in)f(this)h(outline)515-4907 y(de\014nes)c(what)g(should)g(b)r(e)h(done)f(when)g(w)n(e)g(get)g-(do)n(wn)f(to)h(the)h(base)f(case)f(of)h(the)h(recursion.)515-5006 y(The)29 b(second)g(line)h(should)g(use)f(t)n(w)n(o)g(copies)g(of)-g Fp(tree)42 b(circ)28 b Fq(and)i(com)n(bine)f(their)h(results)1905-5255 y(48)p eop-%%Page: 49 50-49 49 bop 1440 1303 151 4 v 1440 1447 4 144 v 1497 1393-a Fj(c)p 1587 1447 V 1440 1450 151 4 v 1728 1303 V 1728-1447 4 144 v 252 w(c)p 1875 1447 V 1728 1450 151 4 v-2015 1303 V 2015 1447 4 144 v 252 w(c)p 2163 1447 V 2015-1450 151 4 v 2303 1303 V 2303 1447 4 144 v 252 w(c)p-2451 1447 V 2303 1450 151 4 v 1584 1016 V 1584 1160 4-144 v 1641 1105 a(c)p 1731 1160 V 1584 1163 151 4 v 2159-1016 V 2159 1160 4 144 v 540 w(c)p 2307 1160 V 2159 1163-151 4 v 1872 584 V 1872 728 4 144 v 1929 674 a(c)p 2019-728 V 1872 731 151 4 v 1478 1591 4 144 v 1479 1530 a-Fa(6)p 1765 1591 V 205 w(6)p 2053 1591 V 205 w(6)p 2341-1591 V 205 w(6)p 1549 1591 V -875 w(6)p 1837 1591 V 205-w(6)p 2125 1591 V 205 w(6)p 2413 1591 V 205 w(6)1515-1303 y(\000)1576 1243 y(\000)-83 b(\022)1720 1303 y(@)1659-1243 y(@)g(I)1659 1016 y(\000)1742 933 y(\000)1825 850-y(\000)1864 811 y(\000)g(\022)2091 1303 y(\000)2152 1243-y(\000)g(\022)2296 1303 y(@)2235 1243 y(@)g(I)2152 1016-y(@)2069 933 y(@)1986 850 y(@)1947 811 y(@)g(I)p 1945-584 V 1947 523 a(6)1350 1774 y Fq(Figure)27 b(8.4:)36-b(A)28 b(tree)f(shap)r(ed)g(circuit)515 2036 y(using)h-Fp(circ)p Fq(.)38 b(Exactly)28 b(ho)n(w)g(these)h(de\014nitions)f-(should)h(lo)r(ok)f(dep)r(ends)h(partly)f(on)g(what)515-2135 y(the)g(comp)r(onen)n(t)f Fp(circ)f Fq(lo)r(oks)h(lik)n(e,)g(and)g-(in)h(particular)f(on)g(its)h(t)n(yp)r(e.)515 2275 y(F)-7-b(or)27 b(example,)h(if)h Fp(circ)d Fq(is)i(a)g(binary)f(function)i-(taking)e(a)h(pair)f(of)h(inputs)h(and)f(returning)515-2374 y(a)c(single)g(output,)h(then)g(it)g(mak)n(es)f(sense)f(to)i(mak)n-(e)e(the)i(follo)n(wing)f(de\014nition)g(of)h(a)f(binary)515-2474 y(tree)j(connection)g(pattern,)h Fp(binTree)p Fq(.)602-2657 y Fp(binTree)41 b(circ)h([inp])f(=)i(inp)602 2756-y(binTree)e(circ)h(inps)85 b(=)689 2856 y(\(halveList)40-b(->-)i(\(binTree)e(circ)i(-|-)g(binTree)f(circ\))h(->-)g(circ\))f-(inps)515 3039 y Fq(This)23 b(giv)n(es)g(the)h(b)r(eha)n(viour)f(that)h-(w)n(e)f(exp)r(ect:)36 b(a)23 b(binary)g(tree)g(of)h-Fp(circ)e Fq(comp)r(onen)n(ts)i(gets)515 3138 y(built.)515-3278 y(An)i(example)g(use)g(of)h(a)e(tree)h(connection)g(pattern)g(is)g-(when)h(w)n(e)f(w)n(an)n(t)f(to)h(build)h(a)f(circuit)515-3377 y(that)f(adds)g(up)h(a)e(lot)i(of)f(n)n(um)n(b)r(ers.)35-b(One)25 b(w)n(a)n(y)f(of)h(doing)g(this)g(to)h(mak)n(e)e(a)h-(so-called)e Fn(adder)515 3477 y(tr)l(e)l(e)p Fq(.)42-b(T)-7 b(o)29 b(do)g(this,)h(w)n(e)f(need)h(a)f(binary)g(adder)f(that)i-(adds)f(t)n(w)n(o)g Fj(n)g Fq(bit)h(n)n(um)n(b)r(ers,)g(to)f(giv)n(e)-515 3577 y(an)k Fj(n)23 b Fq(+)f(1)34 b(bit)g(n)n(um)n(b)r(er.)56-b(This)34 b(means)f(that)h(w)n(e)g(m)n(ust)g(include)g(the)g(carry)f-(out)h(in)g(the)515 3676 y(result.)h(The)24 b(resulting)f(adder)h(is)g-(therefore)f(sligh)n(tly)g(di\013eren)n(t)h(from)g(those)f(that)h(w)n-(e)g(sa)n(w)515 3776 y(earlier.)35 b(W)-7 b(e)28 b(call)f(it)h-Fp(binAdder)p Fq(.)602 3958 y Fp(binAdder)40 b(\(as,)i(bs\))g(=)i(cs)e-(++)h([carryOut])689 4058 y(where)776 4158 y(\(cs,)f(carryOut\))e(=)j-(adder)f(\(low,)f(\(as,)h(bs\)\))515 4340 y Fq(And)28-b(here)f(is)h(the)g(de\014nition)f(of)h(our)f(adder)g(tree)g-Fp(addTree)p Fq(:)602 4523 y Fp(addTree)41 b(=)i(binTree)d(binAdder)515-4706 y Fq(T)-7 b(o)27 b(test)h(it,)g(w)n(e)f(wrap)g(the)h(circuit)f(in)-h(con)n(v)n(erters)e(from)h(in)n(teger)g(to)g(binary)g(and)g(bac)n(k.)-602 4888 y Fp(wrapAddTree)39 b(n)k(=)689 4988 y(map)f(\(int2bin)f(n\))h-(->-)h(addTree)d(->-)j(bin2int)1905 5255 y Fq(49)p eop-%%Page: 50 51-50 50 bop 602 523 a Fp(Main>)41 b Fl(simulate)g(\(wrapAddTree)d(8\))43-b([3,4,5,6,10,9,8,)o(7])602 623 y Fp(52)515 825 y Fq(Bew)n(are,)34-b(this)g(adder)f(tree)h(w)n(orks)e(only)i(for)g(input)g(lists)g(whose)g-(length)g(is)g(a)f(p)r(o)n(w)n(er)g(of)515 925 y(t)n(w)n(o.)j(Exercise)-26 b(8.5)h(asks)f(y)n(ou)h(to)g(de\014ne)h(an)g(adder)e(tree)i(that)g-(w)n(orks)d(for)j(an)n(y)e(size.)515 1239 y Fm(8.3)135-b(Describing)46 b(Butter\015y)e(Circuits)515 1461 y Fq(Butter\015y)28-b(circuits)g(are)f(circuits)h(with)h(a)f(particular)f(recursiv)n(e)g-(structure.)38 b(Figures)28 b(8.6)515 1561 y(and)33 b(8.7)f(sho)n(w)g-(t)n(w)n(o)g(suc)n(h)h(circuits)f(and)h(also)f(indicate)h(their)g-(recursiv)n(e)e(structures)h(b)n(y)515 1660 y(sho)n(wing,)d(b)n(y)h-(means)f(of)h(dotted)g(b)r(o)n(xes,)g(where)f(to)h(\014nd)g-(sub-circuits)f(that)i(themselv)n(es)515 1760 y(ha)n(v)n(e)h(the)h-(same)g(recursiv)n(e)e(structure.)53 b(It)34 b(turns)f(out)g(that)g-(these)g(t)n(w)n(o)g(circuits)g(are)f(in)515 1859 y(fact)f(equiv)-5-b(alen)n(t:)43 b(the)31 b(same)g(net)n(w)n(ork)e(of)i(comp)r(onen)n(ts)-f(can)h(b)r(e)g(recursiv)n(ely)e(describ)r(ed)515 1959-y(in)f(t)n(w)n(o)g(completely)g(di\013eren)n(t)g(w)n(a)n(ys.)37-b(And)29 b(indeed)g(it)f(turns)h(out)f(that)g(there)g(are)g(man)n(y)515-2059 y(more)f(w)n(a)n(ys)f(to)h(describ)r(e)g(the)h(same)f(net)n(w)n-(ork.)36 b(W)-7 b(e)28 b(will)g(study)f(some)g(of)h(them.)515-2198 y(Butter\015y)c(circuits)g(are)g(used)g(for)g(example)g(to)g-(build)h(routing)f(net)n(w)n(orks)e(from)j(switc)n(hes,)515-2298 y(and)38 b(in)h(building)f(e\016cien)n(t)h(sorting)e(circuits.)69-b(P)n(erhaps)37 b(the)i(b)r(est)f(kno)n(wn)g(butter\015y-)515-2397 y(lik)n(e)29 b(circuit)h(is)g(the)h(standard)e(Co)r(oley-T)-7-b(uk)n(ey)28 b(algorithm)h([4)o(])h(for)g(computing)g(the)g(F)-7-b(ast)515 2497 y(F)g(ourier)34 b(T)-7 b(ransform)35 b(\(FFT\).)h(W)-7-b(e)36 b(will)g(not)g(consider)f(the)h(FFT)g(here.)60-b(The)36 b(t)n(widdle-)515 2597 y(factors)31 b(complicate)g(matters)h-(a)g(bit.)51 b(The)32 b(circuit)g(is)g(not)g(quite)g(as)g(uniform)g(as)-f(those)515 2696 y(that)c(w)n(e)f(consider.)36 b(Ho)n(w)n(ev)n(er,)25-b(the)i(in)n(terested)f(reader)g(is)g(referred)g(to)h([3)o(],)g(whic)n-(h)g(sho)n(ws)515 2796 y(ho)n(w)h(to)g(describ)r(e)g(and)g(compare)g(v)--5 b(arious)27 b(FFT)i(circuits)f(in)h(an)f(older)g(v)n(ersion)f(of)h-(La)n(v)-5 b(a.)515 2896 y(F)e(or)27 b(more)g(details)g(ab)r(out)g(ho)n-(w)g(the)h(v)n(eri\014cation)f(is)g(actually)g(done,)g(see)h([2)o(].)-515 3035 y(In)h(this)g(section,)f(w)n(e)g(\014rst)h(in)n(tro)r(duce)f-(t)n(w)n(o)g(new)h(connection)f(patterns,)g(and)h(then)g(sho)n(w)515-3135 y(that)41 b(butter\015y)g(circuits)g(can)f(b)r(e)i(made)f(with)g-(just)h(these)f(t)n(w)n(o)f(patterns)g(and)h(serial)515-3234 y(comp)r(osition.)515 3374 y(The)21 b(\014rst)f(of)h(these)g-(patterns)f(w)n(e)h(call)f Fp(two)p Fq(.)34 b(The)20-b(circuit)h Fp(two)43 b(circ)19 b Fq(con)n(tains)h(t)n(w)n(o)g(copies)-515 3473 y(of)31 b Fp(circ)p Fq(.)46 b(The)31 b(\014rst)g(of)g(these)g-(op)r(erates)f(on)h(the)h(\014rst)f(half)g(of)g(the)g(input)h(list,)h-(and)e(the)515 3573 y(second)26 b(on)g(the)h(second)e(half.)37-b(Eac)n(h)25 b(cop)n(y)h(of)g Fp(circ)f Fq(should)h(ha)n(v)n(e)g(a)g-(list)g(as)g(output,)h(and)515 3673 y(the)i(t)n(w)n(o)g(resulting)g-(lists)g(are)f(app)r(ended.)43 b(This)29 b(pattern)g(is)g(easily)g-(de\014ned)h(in)f(terms)g(of)515 3772 y Fp(parl)p Fq(,)d(whic)n(h)h(w)n-(as)g(in)n(tro)r(duced)g(earlier)f(in)i(this)g(c)n(hapter.)602-3958 y Fp(two)42 b(circ)g(=)h(parl)f(circ)g(circ)602-4161 y(Main>)f Fl(simulate)g(\(two)h(reverse\))e([1..16])602-4260 y Fp([8,7,6,5,4,3,2,1)o(,1)o(6,1)o(5,)o(14,)o(13)o(,1)o(2,1)o(1,)o-(10,)o(9])602 4460 y(Main>)h Fl(simulate)g(\(two)h(\(two)g(reverse\)\))-d([1..16])602 4559 y Fp([4,3,2,1,8,7,6,5)o(,1)o(2,1)o(1,)o(10,)o(9,)o-(16)o(,15)o(,1)o(4,1)o(3])515 4762 y Fq(Related)27 b(to)g-Fp(two)p Fq(,)f(w)n(e)g(also)g(in)n(tro)r(duce)h(the)g(pattern)g-Fp(ilv)p Fq(,)f(for)g Fn(interle)l(ave)p Fq(.)38 b(Whereas)26-b Fp(two)515 4862 y(f)21 b Fq(applies)g Fp(f)f Fq(to)i(the)f(top)g(and)-g(b)r(ottom)h(halv)n(es)e(of)h(a)g(list,)i Fp(ilv)42-b(f)21 b Fq(applies)g Fp(f)g Fq(to)g(the)h(o)r(dd)f(and)515-4961 y(ev)n(en)h(elemen)n(ts.)35 b(W)-7 b(e)23 b(de\014ne)h(it)f(in)g-(terms)f(of)h(the)g(wiring)g(pattern)f Fn(ri\017e)p Fq(,)j(whic)n(h)e-(p)r(erforms)1905 5255 y(50)p eop-%%Page: 51 52-51 51 bop 1200 1272 56 4 v 1200 1161 V 1200 1051 V 1200-940 V 1200 829 V 1200 718 V 1200 608 V 1200 497 V 1255-1272 111 4 v 1255 1132 a Fa(@)1283 1160 y(@)1255 910-y(A)1297 993 y(A)1324 1049 y(A)1255 689 y(B)1283 772-y(B)1310 855 y(B)1338 938 y(B)-28 b(B)p 1255 497 V 1255-717 a(\000)1283 689 y(\000)1255 938 y(\001)1297 855 y(\001)1324-800 y(\001)1255 1160 y(\002)1283 1077 y(\002)1310 994-y(\002)1338 910 y(\002)g(\002)p 1366 1272 56 4 v 1366-1161 V 1366 1051 V 1366 940 V 1366 829 V 1366 718 V 1366-608 V 1366 497 V 1418 910 173 4 v 1418 1298 4 388 v 1479-1125 a Fj(f)p 1587 1298 V 1418 1301 173 4 v 1418 468-V 1418 855 4 388 v 1479 682 a(f)p 1587 855 V 1418 858-173 4 v 1587 1272 56 4 v 1587 1161 V 1587 1051 V 1587-940 V 1587 829 V 1587 718 V 1587 608 V 1587 497 V 1642-1272 111 4 v 1642 1160 a Fa(\000)1670 1132 y(\000)1642-1049 y(\001)1684 966 y(\001)1712 911 y(\001)1642 938-y(\002)1670 855 y(\002)1698 772 y(\002)1725 689 y(\002)g(\002)p-1642 497 V -111 w(@)1670 717 y(@)1642 800 y(A)1684 883-y(A)1712 938 y(A)1642 910 y(B)1670 993 y(B)1698 1077-y(B)1725 1160 y(B)g(B)p 1753 1272 56 4 v 1753 1161 V-1753 1051 V 1753 940 V 1753 829 V 1753 718 V 1753 608-V 1753 497 V 2085 1272 V 2085 1161 V 2085 1051 V 2085-940 V 2085 829 V 2085 718 V 2085 608 V 2085 497 V 2141-1272 111 4 v 388 w(\000)2168 1132 y(\000)-110 b(@)2168-1160 y(@)p 2141 940 V 2141 829 V 2141 717 a(\000)2168-689 y(\000)g(@)2168 717 y(@)p 2141 497 V 2251 1272 56-4 v 2251 1161 V 2251 1051 V 2251 940 V 2251 829 V 2251-718 V 2251 608 V 2251 497 V 2303 1132 173 4 v 2303 1298-4 167 v 2368 1225 a Fj(g)p 2473 1298 V 2303 1301 173-4 v 2303 910 V 2303 1077 4 167 v 2368 1003 a(g)p 2473-1077 V 2303 1080 173 4 v 2303 689 V 2303 855 4 167 v-2368 782 a(g)p 2473 855 V 2303 858 173 4 v 2303 468 V-2303 634 4 167 v 2368 561 a(g)p 2473 634 V 2303 637 173-4 v 2473 1272 56 4 v 2473 1161 V 2473 1051 V 2473 940-V 2473 829 V 2473 718 V 2473 608 V 2473 497 V 2528 1272-111 4 v 2528 1160 a Fa(\000)2556 1132 y(\000)f(@)2556-1160 y(@)p 2528 940 V 2528 829 V 2528 717 a(\000)2556-689 y(\000)g(@)2556 717 y(@)p 2528 497 V 2639 1272 56-4 v 2639 1161 V 2639 1051 V 2639 940 V 2639 829 V 2639-718 V 2639 608 V 2639 497 V 1290 1508 a Fq(Figure)27-b(8.5:)36 b Fp(ilv)42 b(f)27 b Fq(and)h Fp(two)42 b(\(ilv)g(g\))515-1769 y Fq(the)22 b(p)r(erfect)g(sh)n(u\017e)g(on)g(a)f(list.)35-b(Think)23 b(of)e(taking)h(a)f(pac)n(k)g(of)h(cards,)g(halving)f(it,)j-(and)e(then)515 1869 y(in)n(terlea)n(ving)31 b(the)i(t)n(w)n(o)f(half)h-(pac)n(ks.)51 b(If)33 b(y)n(ou)f(no)n(w)g Fn(unri\017e)h-Fq(the)g(pac)n(k,)g(y)n(ou)f(rev)n(erse)f(the)515 1968-y(pro)r(cess,)h(returning)g(the)g(pac)n(k)g(to)g(its)h(original)d-(condition.)51 b(\(This)33 b(is)f(somewhat)g(more)515-2068 y(di\016cult)c(to)g(accomplish)e(with)j(aplom)n(b)d(at)i(the)g(p)r-(ok)n(er)e(table.\))602 2247 y Fp(Main>)41 b Fl(simulate)g(riffle)g-([1..16])602 2347 y Fp([1,9,2,10,3,11,4)o(,1)o(2,5)o(,1)o(3,6)o(,1)o-(4,)o(7,1)o(5,)o(8,1)o(6])602 2546 y(Main>)g Fl(simulate)g(\(riffle)f-(->-)j(unriffle\))d([1..16])602 2646 y Fp([1,2,3,4,5,6,7,8)o(,9)o(,10)o-(,1)o(1,1)o(2,)o(13)o(,14)o(,1)o(5,1)o(6])602 2845 y(Main>)h-Fl(simulate)g(unriffle)f([1..16])602 2945 y Fp([1,3,5,7,9,11,13)o(,1)o-(5,2)o(,4)o(,6,)o(8,)o(10)o(,12)o(,1)o(4,1)o(6])515 3124-y Fq(Note)29 b(that)h(unri\017ing)g(the)g(sequence)f(from)g(1)h(to)f-Fj(n)h Fq(divides)f(in)n(to)h(its)f(o)r(dd)h(and)g(its)g(ev)n(en)515-3223 y(elemen)n(ts.)36 b(W)-7 b(e)28 b(use)g(this)g(fact)g(to)f-(de\014ne)h Fp(ilv)e Fq(in)i(terms)f(of)h Fp(two)p Fq(.)602-3403 y Fp(ilv)42 b(circ)g(=)h(unriffle)e(->-)h(two)g(circ)g(->-)h-(riffle)602 3597 y(Main>)e Fl(simulate)g(\(ilv)h(reverse\))e([1..16])-602 3696 y Fp([15,16,13,14,11,)o(12)o(,9,)o(10)o(,7,)o(8,)o(5,)o(6,3)o-(,4)o(,1,)o(2])602 3896 y(Main>)h Fl(simulate)g(\(ilv)h(\(ilv)g-(reverse\)\))d([1..16])602 3995 y Fp([13,14,15,16,9,1)o(0,)o(11,)o(12)o-(,5,)o(6,)o(7,)o(8,1)o(,2)o(,3,)o(4])515 4189 y Fq(Figure)32-b(8.5)g(sho)n(ws)f Fp(ilv)43 b(f)32 b Fq(and)h Fp(two)42-b(\(ilv)g(g\))p Fq(.)52 b(W)-7 b(e)33 b(lea)n(v)n(e)e(the)j-(de\014nition)f(of)f Fp(riffle)515 4289 y Fq(and)27 b-Fp(unriffle)e Fq(as)h(exercise)h(8.6.)515 4428 y(W)-7-b(e)38 b(ha)n(v)n(e)e(seen)i(from)f(our)g(examples)g(that)h(it)g(mak)n-(es)f(sense)g(to)h(apply)f Fp(two)g Fq(and)g Fp(ilv)515-4528 y Fq(rep)r(eatedly)-7 b(.)36 b(W)-7 b(e)27 b(will)g(do)f(this)h-(so)g(often)g(in)g(the)g(butter\015y)g(circuits,)f(that)h(it)g(is)g-(useful)g(to)515 4628 y(de\014ne)h(sp)r(ecial)f(functions.)602-4807 y Fp(twoN)42 b(0)h(circ)f(=)h(circ)602 4907 y(twoN)f(n)h(circ)f(=)-h(two)f(\(twoN)g(\(n-1\))f(circ\))1905 5255 y Fq(51)p-eop-%%Page: 52 53-52 52 bop 1283 1272 56 4 v 1283 1161 V 1283 1051 V 1283-940 V 1283 829 V 1283 718 V 1283 608 V 1283 497 V 1338-1272 111 4 v 1338 1132 a Fa(@)1366 1160 y(@)1338 910-y(A)1380 993 y(A)1407 1049 y(A)1338 689 y(B)1366 772-y(B)1393 855 y(B)1421 938 y(B)-28 b(B)p 1338 497 V 1338-717 a(\000)1366 689 y(\000)1338 938 y(\001)1380 855 y(\001)1407-800 y(\001)1338 1160 y(\002)1366 1077 y(\002)1393 994-y(\002)1421 910 y(\002)g(\002)p 1449 1272 V 250 x(\000)1476-1132 y(\000)-110 b(@)1476 1160 y(@)p 1449 940 V 1449-829 V 1449 717 a(\000)1476 689 y(\000)g(@)1476 717 y(@)p-1449 497 V 1559 1272 56 4 v 1559 1161 V 1559 1051 V 1559-940 V 1559 829 V 1559 718 V 1559 608 V 1559 497 V 1611-1132 173 4 v 1611 1298 4 167 v 1677 1225 a Fj(g)p 1781-1298 V 1611 1301 173 4 v 1611 910 V 1611 1077 4 167 v-1677 1003 a(g)p 1781 1077 V 1611 1080 173 4 v 1611 689-V 1611 855 4 167 v 1677 782 a(g)p 1781 855 V 1611 858-173 4 v 1611 468 V 1611 634 4 167 v 1677 561 a(g)p 1781-634 V 1611 637 173 4 v 1781 1272 56 4 v 1781 1161 V 1781-1051 V 1781 940 V 1781 829 V 1781 718 V 1781 608 V 1781-497 V 1836 1272 111 4 v 1836 1160 a Fa(\000)1864 1132-y(\000)f(@)1864 1160 y(@)p 1836 940 V 1836 829 V 1836-717 a(\000)1864 689 y(\000)g(@)1864 717 y(@)p 1836 497-V 1947 1272 56 4 v 1947 1161 V 1947 1051 V 1947 940 V-1947 829 V 1947 718 V 1947 608 V 1947 497 V 1999 1132-173 4 v 1999 1298 4 167 v 2064 1225 a Fj(g)p 2168 1298-V 1999 1301 173 4 v 1999 910 V 1999 1077 4 167 v 2064-1003 a(g)p 2168 1077 V 1999 1080 173 4 v 1999 689 V 1999-855 4 167 v 2064 782 a(g)p 2168 855 V 1999 858 173 4-v 1999 468 V 1999 634 4 167 v 2064 561 a(g)p 2168 634-V 1999 637 173 4 v 2168 1272 56 4 v 2168 1161 V 2168-1051 V 2168 940 V 2168 829 V 2168 718 V 2168 608 V 2168-497 V 2224 1272 111 4 v 2224 1160 a Fa(\000)2251 1132-y(\000)2224 1049 y(\001)2265 966 y(\001)2293 911 y(\001)2224-938 y(\002)2251 855 y(\002)2279 772 y(\002)2307 689 y(\002)-28-b(\002)p 2224 497 V -111 w(@)2251 717 y(@)2224 800 y(A)2265-883 y(A)2293 938 y(A)2224 910 y(B)2251 993 y(B)2279 1077-y(B)2307 1160 y(B)g(B)p 2334 1272 56 4 v 2334 1161 V-2334 1051 V 2334 940 V 2334 829 V 2334 718 V 2334 608-V 2334 497 V 2386 1132 173 4 v 2386 1298 4 167 v 2451-1225 a Fj(g)p 2556 1298 V 2386 1301 173 4 v 2386 910-V 2386 1077 4 167 v 2451 1003 a(g)p 2556 1077 V 2386-1080 173 4 v 2386 689 V 2386 855 4 167 v 2451 782 a(g)p-2556 855 V 2386 858 173 4 v 2386 468 V 2386 634 4 167-v 2451 561 a(g)p 2556 634 V 2386 637 173 4 v 2556 1272-56 4 v 2556 1161 V 2556 1051 V 2556 940 V 2556 829 V-2556 718 V 2556 608 V 2556 497 V 1449 884 9 4 v 1449-442 V 2215 884 V 2215 442 V 1474 884 17 4 v 1507 884-V 1540 884 V 1573 884 V 1606 884 V 1640 884 V 1673 884-V 1706 884 V 1739 884 V 1773 884 V 1806 884 V 1839 884-V 1872 884 V 1905 884 V 1939 884 V 1972 884 V 2005 884-V 2038 884 V 2071 884 V 2105 884 V 2138 884 V 2171 884-V 1474 442 V 1507 442 V 1540 442 V 1573 442 V 1606 442-V 1640 442 V 1673 442 V 1706 442 V 1739 442 V 1773 442-V 1806 442 V 1839 442 V 1872 442 V 1905 442 V 1939 442-V 1972 442 V 2005 442 V 2038 442 V 2071 442 V 2105 442-V 2138 442 V 2171 442 V 1447 883 4 9 v 2222 883 V 1447-448 V 2222 448 V 1447 493 4 17 v 1447 526 V 1447 559-V 1447 592 V 1447 625 V 1447 659 V 1447 692 V 1447 725-V 1447 758 V 1447 791 V 1447 825 V 1447 858 V 2222 493-V 2222 526 V 2222 559 V 2222 592 V 2222 625 V 2222 659-V 2222 692 V 2222 725 V 2222 758 V 2222 791 V 2222 825-V 2222 858 V 1587 649 17 4 v 1620 649 V 1654 649 V 1687-649 V 1720 649 V 1753 649 V 1786 649 V 1587 456 V 1620-456 V 1654 456 V 1687 456 V 1720 456 V 1753 456 V 1786-456 V 1585 482 4 17 v 1585 515 V 1585 548 V 1585 581-V 1585 614 V 1585 648 V 1807 482 V 1807 515 V 1807 548-V 1807 581 V 1807 614 V 1807 648 V 1559 1508 a Fq(Figure)26-b(8.6:)37 b Fp(bfly)k(3)j(g)602 1774 y(ilvN)e(0)h(circ)f(=)h(circ)602-1874 y(ilvN)f(n)h(circ)f(=)h(ilv)f(\(ilvN)g(\(n-1\))f(circ\))515-2058 y Fq(Clearly)-7 b(,)31 b(there)f(are)g(similarities)h(b)r(et)n(w)n-(een)g(these)g(t)n(w)n(o)f(de\014nitions.)47 b(W)-7 b(e)31-b(migh)n(t)g(just)h(as)515 2157 y(w)n(ell)27 b(ha)n(v)n(e)f(de\014ned)i-(a)g(function)g(that)g(tak)n(es)e(a)i Fn(c)l(onne)l(ction)h(p)l(attern)-f Fq(as)f(input.)602 2342 y Fp(iter)42 b(0)h(comb)f(circ)g(=)h(circ)602-2441 y(iter)f(n)h(comb)f(circ)g(=)h(comb)f(\(iter)f(\(n-1\))h(comb)g-(circ\))515 2625 y Fq(No)n(w,)23 b(w)n(e)g(can)g(use)f-Fp(iter)42 b(n)i(two)e(f)23 b Fq(instead)f(of)h Fp(twoN)42-b(n)i(f)22 b Fq(and)h Fp(iter)42 b(n)h(ilv)g(f)22 b Fq(instead)515-2725 y(of)27 b Fp(ilvN)42 b(n)h(f)p Fq(.)515 2865 y(No)n(w)31-b(w)n(e)g(are)g(in)h(a)f(p)r(osition)h(to)f(de\014ne)h(a)f(connection)h-(pattern)f(for)g(butter\015y)h(circuits,)515 2964 y(that)27-b(is)g(circuits,)f(lik)n(e)h(those)g(sho)n(wn)f(in)h(\014gures)f(8.6)g-(and)h(8.7,)f(that)h(ha)n(v)n(e)f(a)g(v)n(ery)g(partic-)515-3064 y(ular)31 b(recursiv)n(e)f(structure.)50 b(Because)30-b(the)j(circuits)e(are)g(recursiv)n(e,)h(the)g(corresp)r(onding)515-3163 y(connection)27 b(pattern)g(is)h(de\014ned)g(using)f(recursion.)-602 3348 y Fp(bfly)42 b(0)h(circ)f(=)h(id)602 3447 y(bfly)f(n)h(circ)f-(=)h(ilv)f(\(bfly)g(\(n-1\))f(circ\))h(->-)g(twoN)g(\(n-1\))g(circ)515-3631 y Fq(The)31 b(smallest)g(butter\015y)h(is)f(just)h(the)g(iden)n-(tit)n(y)-7 b(.)49 b(A)32 b(butter\015y)g(of)f(size)g-Fj(n)p Fq(,)i(for)d Fj(n)i Fq(greater)515 3731 y(than)k(zero,)i-(consists)e(of)h(t)n(w)n(o)f(in)n(terlea)n(v)n(ed)e(butter\015ies)j(of)-g(size)f Fj(n)24 b Fi(\000)g Fq(1,)39 b(the)e(output)g(of)515-3831 y(whic)n(h)30 b(is)f(fed)i(in)n(to)f(a)f(stac)n(k)g(of)h-Fp(circ)e Fq(comp)r(onen)n(ts,)j(whic)n(h)e(is)h(made)g(using)g-Fp(twoN)p Fq(.)e(This)515 3930 y(connection)f(pattern)g(is)h(sho)n(wn)f-(in)g(\014gure)g(8.6,)g(whic)n(h)h(sho)n(ws)e Fp(bfly)42-b(3)h(g)p Fq(.)515 4070 y(The)34 b(larger)e(dashed)i(b)r(o)n(x)f(sho)n-(ws)g(one)h(instance)g(of)g Fp(bfly)42 b(2)h(g)p Fq(,)35-b(and)f(there)g(is)g(another)515 4169 y(instance)f(just)i(b)r(elo)n(w)e-(it.)56 b(These)33 b(t)n(w)n(o)g(smaller)g(butter\015ies)h(are)e(in)n-(terlea)n(v)n(ed,)i(so)f(there)515 4269 y(is)j(actually)f(an)h-Fn(unri\017e)g Fq(to)g(their)g(left)g(and)g(a)g Fn(ri\017e)g-Fq(to)g(their)g(righ)n(t.)62 b(\(Mak)n(e)35 b(sure)g(to)515-4369 y(\014nd)e(these)h(wiring)e(patterns,)j(and)e(lo)r(ok)f(again)h-(at)g(the)g(de\014nition)h(of)f Fp(ilv)p Fq(.\))53 b(The)34-b(t)n(w)n(o)515 4468 y(in)n(terlea)n(v)n(ed)24 b(butter\015ies)i(feed)g-(their)f(outputs)h(in)n(to)g(four)f Fp(g)g Fq(comp)r(onen)n(ts,)h(one)f-(ab)r(o)n(v)n(e)g(the)515 4568 y(other,)41 b(that)e(is)g-Fp(twoN)j(2)h(g)p Fq(.)71 b(And)39 b(if)h(y)n(ou)e(lo)r(ok)g(inside)h-(the)g Fp(bfly)j(2)i(g)38 b Fq(in)h(the)h(outer)515 4667-y(dashed)27 b(b)r(o)n(x,)g(y)n(ou)g(will)h(\014nd)g(that)g(it)g(again)e-(has)h(the)h(same)f(recursiv)n(e)f(structure.)515 4807-y(Strangely)34 b(enough,)j(the)f(same)e(connection)h(pattern)h(\(that)f-(is)h(the)g(same)e(netlist)i(and)515 4907 y(the)c(same)f(order)g(of)h-(inputs)g(and)g(outputs,)h(though)f(a)f(p)r(ossibly)h(di\013eren)n(t)g-(la)n(y)n(out\))e(can)515 5006 y(b)r(e)e(describ)r(ed)f(using)g(a)h-(di\013eren)n(t)f(pattern)h(of)f(recursion.)1905 5255-y(52)p eop-%%Page: 53 54-53 53 bop 1255 1272 56 4 v 1255 1161 V 1255 1051 V 1255-940 V 1255 829 V 1255 718 V 1255 608 V 1255 497 V 1310-1272 111 4 v 1310 1160 a Fa(\000)1338 1132 y(\000)1310-1049 y(\001)1352 966 y(\001)1380 911 y(\001)1310 938-y(\002)1338 855 y(\002)1366 772 y(\002)1393 689 y(\002)-28-b(\002)p 1310 497 V -111 w(@)1338 717 y(@)1310 800 y(A)1352-883 y(A)1380 938 y(A)1310 910 y(B)1338 993 y(B)1366 1077-y(B)1393 1160 y(B)g(B)p 1421 1272 56 4 v 1421 1161 V-1421 1051 V 1421 940 V 1421 829 V 1421 718 V 1421 608-V 1421 497 V 1473 1132 173 4 v 1473 1298 4 167 v 1538-1225 a Fj(g)p 1642 1298 V 1473 1301 173 4 v 1473 910-V 1473 1077 4 167 v 1538 1003 a(g)p 1642 1077 V 1473-1080 173 4 v 1473 689 V 1473 855 4 167 v 1538 782 a(g)p-1642 855 V 1473 858 173 4 v 1473 468 V 1473 634 4 167-v 1538 561 a(g)p 1642 634 V 1473 637 173 4 v 1642 1272-56 4 v 1642 1161 V 1642 1051 V 1642 940 V 1642 829 V-1642 718 V 1642 608 V 1642 497 V 1698 1272 111 4 v 1698-1132 a Fa(@)1725 1160 y(@)1698 910 y(A)1739 993 y(A)1767-1049 y(A)1698 689 y(B)1725 772 y(B)1753 855 y(B)1781-938 y(B)g(B)p 1698 497 V 1698 717 a(\000)1725 689 y(\000)1698-938 y(\001)1739 855 y(\001)1767 800 y(\001)1698 1160-y(\002)1725 1077 y(\002)1753 994 y(\002)1781 910 y(\002)g(\002)p-1808 1272 V 1808 1160 a(\000)1836 1132 y(\000)-111 b(@)1836-1160 y(@)p 1808 940 V 1808 829 V 1808 717 a(\000)1836-689 y(\000)g(@)1836 717 y(@)p 1808 497 V 1919 1272 56-4 v 1919 1161 V 1919 1051 V 1919 940 V 1919 829 V 1919-718 V 1919 608 V 1919 497 V 1971 1132 173 4 v 1971 1298-4 167 v 2036 1225 a Fj(g)p 2141 1298 V 1971 1301 173-4 v 1971 910 V 1971 1077 4 167 v 2036 1003 a(g)p 2141-1077 V 1971 1080 173 4 v 1971 689 V 1971 855 4 167 v-2036 782 a(g)p 2141 855 V 1971 858 173 4 v 1971 468 V-1971 634 4 167 v 2036 561 a(g)p 2141 634 V 1971 637 173-4 v 2141 1272 56 4 v 2141 1161 V 2141 1051 V 2141 940-V 2141 829 V 2141 718 V 2141 608 V 2141 497 V 2196 1272-111 4 v 2196 1160 a Fa(\000)2224 1132 y(\000)g(@)2224-1160 y(@)p 2196 940 V 2196 829 V 2196 717 a(\000)2224-689 y(\000)g(@)2224 717 y(@)p 2196 497 V 2307 1272 56-4 v 2307 1161 V 2307 1051 V 2307 940 V 2307 829 V 2307-718 V 2307 608 V 2307 497 V 2359 1132 173 4 v 2359 1298-4 167 v 2424 1225 a Fj(g)p 2528 1298 V 2359 1301 173-4 v 2359 910 V 2359 1077 4 167 v 2424 1003 a(g)p 2528-1077 V 2359 1080 173 4 v 2359 689 V 2359 855 4 167 v-2424 782 a(g)p 2528 855 V 2359 858 173 4 v 2359 468 V-2359 634 4 167 v 2424 561 a(g)p 2528 634 V 2359 637 173-4 v 2528 1272 56 4 v 2528 1161 V 2528 1051 V 2528 940-V 2528 829 V 2528 718 V 2528 608 V 2528 497 V 2583 1272-V 2583 1161 V 2583 1051 V 2583 940 V 2583 829 V 2583-718 V 2583 608 V 2583 497 V 1808 884 9 4 v 1808 442 V-2575 884 V 2575 442 V 1833 884 17 4 v 1867 884 V 1900-884 V 1933 884 V 1966 884 V 1999 884 V 2033 884 V 2066-884 V 2099 884 V 2132 884 V 2165 884 V 2199 884 V 2232-884 V 2265 884 V 2298 884 V 2332 884 V 2365 884 V 2398-884 V 2431 884 V 2464 884 V 2498 884 V 2531 884 V 1833-442 V 1867 442 V 1900 442 V 1933 442 V 1966 442 V 1999-442 V 2033 442 V 2066 442 V 2099 442 V 2132 442 V 2165-442 V 2199 442 V 2232 442 V 2265 442 V 2298 442 V 2332-442 V 2365 442 V 2398 442 V 2431 442 V 2464 442 V 2498-442 V 2531 442 V 1807 883 4 9 v 2582 883 V 1807 448 V-2582 448 V 1807 493 4 17 v 1807 526 V 1807 559 V 1807-592 V 1807 625 V 1807 659 V 1807 692 V 1807 725 V 1807-758 V 1807 791 V 1807 825 V 1807 858 V 2582 493 V 2582-526 V 2582 559 V 2582 592 V 2582 625 V 2582 659 V 2582-692 V 2582 725 V 2582 758 V 2582 791 V 2582 825 V 2582-858 V 2334 649 17 4 v 2368 649 V 2401 649 V 2434 649-V 2467 649 V 2500 649 V 2534 649 V 2334 456 V 2368 456-V 2401 456 V 2434 456 V 2467 456 V 2500 456 V 2534 456-V 2333 482 4 17 v 2333 515 V 2333 548 V 2333 581 V 2333-614 V 2333 648 V 2554 482 V 2554 515 V 2554 548 V 2554-581 V 2554 614 V 2554 648 V 1537 1508 a Fq(Figure)27-b(8.7:)36 b Fp(bfly1)41 b(3)i(g)602 1776 y(bfly1)e(0)j(circ)e(=)h(id)-602 1875 y(bfly1)e(n)j(circ)e(=)h(ilvN)f(\(n-1\))f(circ)h(->-)g(two)h-(\(bfly1)e(\(n-1\))g(circ\))515 2061 y Fq(This)35 b(time,)j(w)n(e)d-(start)g(with)h(a)g(rep)r(eatedly)f(in)n(terlea)n(v)n(ed)f(stac)n(k)g-(of)i(basic)f(comp)r(onen)n(ts,)515 2161 y(whose)e(outputs)i(are)e(fed)-i(in)n(to)f(t)n(w)n(o)f(smaller)h(butter\015ies,)i(whic)n(h)e(are)f-(com)n(bined)h(using)515 2261 y Fp(two)p Fq(.)h(Figure)27-b(8.7)g(sho)n(ws)g(this)h(recursiv)n(e)d(decomp)r(osition.)515-2400 y(It)g(turns)f(out)g(that)h Fp(ilv)43 b(\(bfly)e(n)i(circ\))23-b Fq(is)h(the)h(same)f(as)g Fp(bfly)42 b(n)h(\(ilv)f(circ\))p-Fq(.)34 b(\(See)515 2500 y(the)22 b(question)g(b)r(elo)n(w)g(ab)r(out)g-Fp(two)43 b(ilv)f(g)22 b Fq(if)g(y)n(ou)g(w)n(an)n(t)f(to)i(\014gure)e-(out)h(wh)n(y)-7 b(.\))35 b(This)23 b(means)515 2599-y(that)29 b(w)n(e)f(can)g(de\014ne)h(the)g(butter\015y)g(net)n(w)n(ork)-e(using)h(a)h(single)f(recursiv)n(e)f(call,)h(but)i(with)515-2699 y(a)d(larger)f(comp)r(onen)n(t:)602 2885 y Fp(bfly2)41-b(0)j(circ)e(=)h(id)602 2985 y(bfly2)e(n)j(circ)e(=)h(ilvN)f(\(n-1\))f-(circ)h(->-)g(bfly2)g(\(n-1\))f(\(two)h(circ\))602 3184-y(bfly3)f(0)j(circ)e(=)h(id)602 3283 y(bfly3)e(n)j(circ)e(=)h(bfly3)e-(\(n-1\))h(\(ilv)g(circ\))f(->-)i(twoN)e(\(n-1\))h(circ)515-3469 y Fq(The)d(surprising)f(thing)h(is)g(that)g(all)g(of)g(these)g-(connection)g(patterns)f(giv)n(e)g(equiv)-5 b(alen)n(t)515-3569 y(circuits)27 b(\(for)g(the)h(same)f(size)h(and)f(comp)r(onen)n-(t\).)515 3709 y(The)h(original)f(butter\015y)h(de\014n)n(tions)g(\()p-Fp(bfly)f Fq(and)h Fp(bfly1)p Fq(\))e(can)i(also)f(b)r(e)h(expressed)f-(using)515 3808 y(a)f(tree-lik)n(e)g(com)n(binator.)35-b(T)-7 b(ak)n(e)27 b(a)f(lo)r(ok)g(at)h(the)h(connection)e(pattern)h-Fp(listTree)p Fq(,)d(whic)n(h)515 3908 y(is)33 b(a)h(v)n(ersion)e(of)i-Fp(binTree)d Fq(whic)n(h)j(w)n(orks)e(for)h(a)h(comp)r(onen)n(t)f-(circuit)h Fp(circ)f Fq(pro)r(cessing)515 4007 y(lists.)602-4193 y Fp(listTree)40 b(circ)i([inp])g(=)h([inp])602-4293 y(listTree)d(circ)i(inps)86 b(=)43 b(\(two)f(\(listTree)e(circ\))h-(->-)h(circ\))g(inps)515 4479 y Fq(Y)-7 b(ou)27 b(should)h(think)g(ab)r-(out)f(the)h(t)n(yp)r(es)g(in)n(v)n(olv)n(ed)e(in)i(this)g-(de\014nition.)515 4618 y(Replacing)f(that)h Fp(two)e-Fq(b)n(y)h Fp(ilv)p Fq(,)g(w)n(e)g(get)g Fp(ilvTree)p-Fq(,)e(a)i(sort)g(of)h(in)n(terlea)n(v)n(ed)e(tree.)602-4804 y Fp(ilvTree)41 b(circ)h([inp])f(=)i([inp])602 4904-y(ilvTree)e(circ)h(inps)85 b(=)43 b(\(ilv)f(\(ilvTree)e(circ\))i(->-)g-(circ\))g(inps)1905 5255 y Fq(53)p eop-%%Page: 54 55-54 54 bop 515 523 a Fq(If)21 b(w)n(e)g(ha)n(v)n(e)f(a)h(comp)r(onen)n-(t)g(that)h(tak)n(es)e(a)h(pair)f(as)h(input)h(and)f(pro)r(duces)g(a)f-(pair)h(as)f(output,)515 623 y(then)34 b(w)n(e)f(can)h(describ)r(e)f(a)-g(stac)n(k)g(of)h(suc)n(h)f(comp)r(onen)n(ts)h(b)n(y)f(using)g-(pairing,)i(unpairing)515 722 y(and)d(map)h(as)e(follo)n(ws)h(\(see)g-(exercise)g(3.6)f(and)i(the)g(answ)n(er)e(on)h(page)g(80)f(for)h-Fp(pair)f Fq(and)515 822 y Fp(unpair)p Fq(\).)602 996-y Fp(pmap)42 b(circ)g(=)h(pair)f(->-)g(map)h(circ)e(->-)i(unpair)602-1183 y(Main>)e Fl(simulate)g(\(pmap)g(swap\))h([1..16])602-1282 y Fp([2,1,4,3,6,5,8,7)o(,1)o(0,9)o(,1)o(2,1)o(1,)o(14)o(,13)o(,1)o-(6,1)o(5])515 1470 y Fq(Then,)d(for)d(inputs)h(of)g(length)f(2)1573-1439 y Fg(n)1618 1470 y Fq(,)j Fp(ilvTree)i(\(pmap)g(circ\))35-b Fq(is)h(the)h(same)g(as)e Fp(bfly)42 b(n)515 1569 y(circl)p-Fq(,)22 b(where)h Fp(circl)e Fq(is)i(the)h(same)f(as)g-Fp(circ)e Fq(except)j(that)g(it)f(relates)g(a)g(2-list)f(to)i(a)f-(2-list.)515 1709 y(So)32 b(what)g(kinds)h(of)f(circuits)g(can)g(w)n(e)-h(build)g(with)g(these)f(remark)-5 b(ably)31 b(recursiv)n(e)g(struc-)-515 1808 y(tures?)63 b(W)-7 b(ell,)39 b(it)e(turns)g(out)f(that)h-Fp(bfly)42 b(3)h(id)36 b Fq(is)g(a)h(complicated)f(w)n(a)n(y)f(to)h-(write)h(the)515 1908 y(iden)n(tit)n(y)32 b(function)h(\(on)f(lists)g-(of)g(length)g(8)p Fj(n)p Fq(.\))50 b(And)33 b Fp(bfly)42-b(n)h(swapl)30 b Fq(rev)n(erses)g(a)i(list)g(of)515 2008-y(length)27 b(2)810 1977 y Fg(n)855 2008 y Fq(.)602 2181-y Fp(swapl)41 b([a,b])h(=)h([b,a])602 2368 y(Main>)85-b Fl(simulate)40 b(\(bfly)i(4)h(swapl\))e([1..16])602-2468 y Fp([16,15,14,13,12,)o(11)o(,10)o(,9)o(,8,)o(7,)o(6,)o(5,4)o(,3)o-(,2,)o(1])602 2667 y(Main>)g Fl(simulate)g(\(ilvTree)f(\(pmap)h-(swap\)\))h([1..16])602 2767 y Fp([16,15,14,13,12,)o(11)o(,10)o(,9)o-(,8,)o(7,)o(6,)o(5,4)o(,3)o(,2,)o(1])515 2954 y Fq(If)29-b(w)n(e)g(c)n(ho)r(ose)f(our)h(basic)f(comp)r(onen)n(t)h(to)h(b)r(e)f-(the)h(p)r(erfect)g(sh)n(u\017e)f(on)g(lists)g(of)g(length)g(4,)515-3054 y(the)34 b(circuit)g(that)g(w)n(e)f(call)h Fp(s2)p-Fq(,)h(then)f(w)n(e)f(\014nd)i(that)f(a)f(butter\015y)h(of)g(suc)n(h)g-(comp)r(onen)n(ts)515 3153 y(p)r(erforms)27 b(the)h(p)r(erfect)g(sh)n-(u\017e!)602 3327 y Fp(s2)43 b([a,b,c,d])d(=)j([a,c,b,d])602-3514 y(Main>)e Fl(simulate)g(\(bfly)g(3)i(s2\))g([1..16])602-3614 y Fp([1,9,2,10,3,11,4)o(,1)o(2,5)o(,1)o(3,6)o(,1)o(4,)o(7,1)o(5,)o-(8,1)o(6])515 3801 y Fq(But)31 b(all)g(of)g(these)g(examples)g(w)n(ere)-f(just)h(wiring)g(functions.)48 b(What)31 b(happ)r(ens)g(when)g(w)n(e)-515 3901 y(add)c(some)g(functionalit)n(y)h(to)f(the)h(comp)r(onen)n(t?)-515 4212 y Fm(8.4)135 b(Batc)l(her's)46 b(Bitonic)f(Merger)515-4434 y Fq(One)21 b(of)h(the)g(b)r(est)h(kno)n(wn)e(uses)g(of)h(the)g-(butter\015y)g(net)n(w)n(ork)f(is)g(in)i(the)f(building)g(of)g(mergers)-515 4534 y(and)i(sorters)f(based)g(on)h(a)g(t)n(w)n(o-input)g(t)n(w)n-(o-output)g(comparator.)33 b(Let)25 b(us)f(start)g(with)h(t)n(w)n(o)515-4633 y(abstract)36 b(comparators)e(that)j(w)n(ork)e(on)i(in)n(teger)f-(inputs.)65 b(One)37 b(sorts)e(in)n(to)i(ascending)515-4733 y(order,)26 b(and)h(the)h(other)f(in)n(to)h(descending.)602-4907 y Fp(compUp)128 b([x,y])42 b(=)h([imin)e(\(x,y\),)g(imax)h-(\(x,y\)])602 5006 y(compDown)e([x,y])i(=)h([imax)e(\(x,y\),)g(imin)h-(\(x,y\)])1905 5255 y Fq(54)p eop-%%Page: 55 56-55 55 bop 602 523 a Fp(Main>)41 b Fl(simulate)g(\(two)h(compUp\))e-([1,2,4,3])602 623 y Fp([1,2,3,4])602 822 y(Main>)h Fl(simulate)g-(\(ilv)h(compDown\))d([1,2,4,3])602 922 y Fp([4,3,1,2])515-1104 y Fq(It)29 b(turns)f(out)g(that)h Fp(bfly)42 b(n)h(compUp)26-b Fq(sorts)h(\(in)n(to)i(ascending)e(order\))h(a)g(list)h(whose)e-(\014rst)515 1203 y(half)g(is)h(ascending)f(and)g(second)g(half)h(is)f-(descending)g(or)g(vice-v)n(ersa.)35 b(W)-7 b(e)28 b(call)f(suc)n(h)g-(lists)515 1303 y Fn(inc-de)l(c)i Fq(and)g Fn(de)l(c-inc)h-Fq(lists.)41 b(\(The)29 b(merger)f(sorts)f(man)n(y)i(other)f(lists)h-(to)r(o,)g(the)h(so-called)515 1403 y Fn(bitonic)23 b-Fq(lists,)h(but)f(w)n(e)g(don't)g(need)f(to)h(w)n(orry)e(ab)r(out)h-(them.\))36 b(This)23 b(net)n(w)n(ork)e(is)i(kno)n(wn)f(as)515-1502 y Fn(Batcher's)32 b(bitonic)f(mer)l(ger)d Fq([1].)39-b(Also,)28 b Fp(bfly)41 b(n)j(compDown)25 b Fq(sorts)i-Fn(inc-de)l(c)h Fq(and)g Fn(de)l(c-inc)515 1602 y Fq(lists)f(in)n(to)h-(descending)f(order.)602 1772 y Fp(Main>)41 b Fl(simulate)g(\(bfly)g(3)-i(compUp\))e([1,3,5,7,8,6,4,2)o(])602 1871 y Fp([1,2,3,4,5,6,7,8)o(])-602 2071 y(Main>)g Fl(simulate)g(\(bfly)g(3)i(compDown\))d-([1,3,5,7,8,6,4,2])602 2170 y Fp([8,7,6,5,4,3,2,1)o(])515-2340 y Fq(Kno)n(wing)22 b(that)i(the)g(merger)e(sorts)g-Fn(inc-de)l(c)27 b(lists)c Fq(allo)n(ws)g(us)g(to)g(build)i(a)e-(recursiv)n(e)e(sorter.)515 2440 y(In)e(fact,)j(w)n(e)d(can)g-(parameterise)f(the)i(circuit)f(on)g(the)h(comparator)d(\(the)j-Fp(comp)e Fq(parameter\),)515 2539 y(and)28 b(de\014ne)h(b)r(oth)h(an)e-(up)h(and)g(a)f(do)n(wn)h(sorter)e(at)i(the)g(same)f(time.)41-b Fp(sorter)g(n)i(compUp)515 2639 y Fq(sorts)26 b(in)n(to)i(ascending)f-(order,)g(while)h Fp(sorter)41 b(n)i(compDown)25 b Fq(sorts)h(in)n(to)i-(descending)f(or-)515 2738 y(der.)602 2908 y Fp(sorter)41-b(0)i(comp)f([inp])g(=)h([inp])602 3008 y(sorter)e(n)i(comp)f(inps)86-b(=)43 b(outs)689 3107 y(where)776 3207 y(sortL)85 b(=)44-b(sorter)d(\(n-1\))g(comp)776 3307 y(sortR)85 b(=)44-b(sorter)d(\(n-1\))g(\(comp)h(->-)g(swapl\))f(--)i Fl(reversed)d-(comparator)776 3406 y Fp(merger)h(=)j(bfly)d(n)j(comp)826-b(--)43 b Fl(bitonic)e(merger)776 3506 y Fp(outs)129-b(=)44 b(\(parl)d(sortL)h(sortR)f(->-)h(merger\))f(inps)602-3688 y(Main>)g Fl(simulate)g(\(sorter)f(3)k(compUp\))c-([8,7,1,2,3,4,6,5])602 3788 y Fp([1,2,3,4,5,6,7,8)o(])602-3987 y(Main>)h Fl(simulate)g(\(sorter)f(3)k(compDown\))39-b([8,7,1,2,3,4,6,5])602 4087 y Fp([8,7,6,5,4,3,2,1)o(])515-4269 y Fq(Note)29 b(that)h(our)e(sorter)g(is)h(parameterised)f(on)h-(the)h(comparator)d(or)h(t)n(w)n(o-sorter)f(comp)r(o-)515-4369 y(nen)n(t.)44 b(So)29 b(w)n(e)h(ha)n(v)n(e)f(really)g(designed)g-(the)h(connection)g(pattern)g(that)g(m)n(ust)g(b)r(e)g(used)g(to)515-4468 y(connect)25 b(comparators.)33 b(W)-7 b(e)26 b(ha)n(v)n(e)e(not)h-(in)g(an)n(y)g(w)n(a)n(y)f(tied)h(ourselv)n(es)e(do)n(wn)i(to)g-(compara-)515 4568 y(tors)32 b(of)h(a)f(particular)g(t)n(yp)r(e.)53-b(So,)35 b(as)d(long)g(as)h(w)n(e)f(pro)n(vide)g(a)h(comparator)d(comp)-r(onen)n(t)515 4667 y(of)g(the)h(righ)n(t)f(t)n(yp)r(e,)i(then)f(w)n(e)-f(get)g(bac)n(k)g(a)g(function)h(of)g(the)g(same)f(t)n(yp)r(e)h(that)f-(acts)h(as)e(a)515 4767 y(sorter.)515 4907 y(The)k(next)g(step)g(is)f-(to)h(re\014ne)g(the)g(comparator)e(comp)r(onen)n(t,)i(b)n(y)g(c)n(ho)r-(osing)f(a)g(concrete)515 5006 y(represen)n(tation)16-b(for)i(the)h(in)n(teger)e(data.)34 b(Examples)17 b(of)h(suc)n(h)g-(represen)n(tations)f(are)g(parallel)1905 5255 y(55)p-eop-%%Page: 56 57-56 56 bop 515 523 a Fq(least)27 b(signi\014can)n(t)f(bit)i(\014rst)f-(binary)-7 b(,)26 b(or)h(serial)f(signed)h(t)n(w)n(os)f(complemen)n(t.)-36 b(The)28 b(p)r(oin)n(t)f(is)515 623 y(that)f(whatev)n(er)f-(re\014nemen)n(t)g(w)n(e)h(c)n(ho)r(ose,)f(w)n(e)h(can)f(simply)h(plug)-g(in)g(the)g(new)g(comp)r(onen)n(t)515 722 y(in)n(to)33-b(our)f(sorter)g(function.)55 b(This)33 b(is)h(an)f(example)g(of)g(ho)n-(w)g(La)n(v)-5 b(a)32 b(allo)n(ws)g(us)h(to)h(design)515-822 y(connection)k(patterns)h(and)g(then)h(reuse)e(them.)72-b(Exercise)38 b(8.9)g(asks)g(y)n(ou)h(to)g(build)g(a)515-922 y(sorter)c(based)i(on)g(the)g(comparator)e(for)i(binary)f(n)n(um)n-(b)r(ers)h(that)g(y)n(ou)f(designed)h(in)g(an)515 1021-y(earlier)26 b(exercise.)515 1161 y(An)i(in)n(teresting)f(prop)r(ert)n-(y)f(of)i(sorting)e(circuits)i(made)f(from)g(comparators)e(is)j(that)g-(they)515 1260 y(ob)r(ey)f(the)h Fn(zer)l(o-one)i(principle)p-Fq(.)39 b(If)28 b(suc)n(h)f(a)g(sorter)f(w)n(orks)g(correctly)g(on)h-(lists)h(of)f(in)n(tegers)515 1360 y(con)n(taining)32-b(only)h(zeros)f(and)h(ones,)i(then)f(it)f(w)n(orks)f(correctly)g(for)h-(arbitrary)e(in)n(tegers.)515 1460 y(So,)e(w)n(e)f(can)h(test)g(an)f-(in)n(teger)g(sorter)g(b)n(y)g(c)n(hec)n(king)g(that)h(it)g(w)n(orks)f-(on)g(bits!)41 b(In)29 b(exercise)515 1559 y(2.2,)f(y)n(ou)h(w)n(ere)f-(ask)n(ed)g(to)h(de\014ne)g Fp(twoBitSort)p Fq(,)d(whic)n(h)j(sorts)f-(a)g(pair)h(of)g(bits.)41 b(Here,)29 b(w)n(e)515 1659-y(need)e(the)h(circuit)g Fp(twoBitSortl)23 b Fq(that)28-b(sorts)e(a)i(t)n(w)n(o-list)e(of)i(bits:)602 1842 y-Fp(twoBitSortl)39 b([a,b])i(=)j([min,)d(max])689 1941-y(where)776 2041 y(\(min,)h(max\))g(=)h(twoBitSort)c(\(a,)k(b\))515-2224 y Fq(No)n(w,)27 b(all)g(w)n(e)g(need)h(to)g(do)f(is)g(to)h(plug)f-(this)h(comp)r(onen)n(t)g(in)n(to)f(our)g(sorter.)602-2407 y Fp(Main>)41 b Fl(simulateSeq)e(\(sorter)i(2)i(twoBitSortl\))c-(\(domainList)g(4\))602 2506 y Fp([[low,low,low,lo)o(w])o(,[l)o(ow)o-(,lo)o(w,)o(lo)o(w,h)o(ig)o(h])602 2606 y(,[low,low,low,hi)o(gh)o(],[)o-(lo)o(w,l)o(ow)o(,h)o(igh)o(,h)o(igh)o(])602 2706 y(,[low,low,low,hi)o-(gh)o(],[)o(lo)o(w,l)o(ow)o(,h)o(igh)o(,h)o(igh)o(])602-2805 y(,[low,low,high,h)o(ig)o(h],)o([l)o(ow,)o(hi)o(gh)o(,hi)o(gh)o-(,hi)o(gh)o(])602 2905 y(,[low,low,low,hi)o(gh)o(],[)o(lo)o(w,l)o(ow)o-(,h)o(igh)o(,h)o(igh)o(])602 3005 y(,[low,low,high,h)o(ig)o(h],)o([l)o-(ow,)o(hi)o(gh)o(,hi)o(gh)o(,hi)o(gh)o(])602 3104 y(,[low,low,high,h)o-(ig)o(h],)o([l)o(ow,)o(hi)o(gh)o(,hi)o(gh)o(,hi)o(gh)o(])602-3204 y(,[low,high,high,)o(hi)o(gh])o(,[)o(hig)o(h,)o(hi)o(gh,)o(hi)o-(gh,)o(hi)o(gh])602 3304 y(])515 3486 y Fq(If,)22 b(after)e(studying)h-(these)f(examples,)h(y)n(ou)f(\014nd)h(that)g(y)n(ou)e(ha)n(v)n(e)h-(dev)n(elop)r(ed)g(an)g(in)n(terest)g(in)515 3586 y(butter\015y)26-b(net)n(w)n(orks,)f(y)n(ou)h(migh)n(t)h(lik)n(e)f(to)g(lo)r(ok)g(at)g-(a)g(pap)r(er)g(that)h(p)r(oses)f(a)g(puzzle)g(ab)r(out)515-3686 y(butter\015y)38 b(net)n(w)n(orks)f(of)h(switc)n(hes)f([17)o(].)69-b(Do)38 b(let)g(us)g(kno)n(w)g(if)g(y)n(ou)g(solv)n(e)e(the)j(puzzle,)-515 3785 y(b)r(ecause)27 b(w)n(e)g(ha)n(v)n(e)g(not)g(managed)g(to)g-(do)g(so!)515 4099 y Fm(8.5)135 b(Exercises)575 4313-y Fq(8.1)40 b(Is)28 b(parallel)e(comp)r(osition)h(\()p-Fp(-|-)p Fq(\))g(asso)r(ciativ)n(e?)575 4478 y(8.2)40-b(Are)g(the)h(circuits)e Fp(\(a->-b\))i(-|-)h(\(c->-d\))c-Fq(and)h Fp(\(a-|-c\))i(->-)h(\(b-|-d\))c Fq(the)722-4578 y(same)27 b(or)g(not?)575 4742 y(8.3)40 b(De\014ne)28-b(the)g(connection)g(pattern)f Fp(tri)p Fq(.)575 4907-y(8.4)40 b(What)23 b(do)r(es)f(a)g(triangle)g(of)h(dela)n(y)e(elemen)n-(ts)i(do)f(to)g(its)h(inputs?)36 b(When)23 b(migh)n(t)f(suc)n(h)722-5006 y(a)27 b(circuit)h(b)r(e)g(useful?)1905 5255 y(56)p-eop-%%Page: 57 58-57 57 bop 1255 1272 56 4 v 1255 1161 V 1255 1051 V 1255-940 V 1255 829 V 1255 718 V 1255 608 V 1255 497 V 1310-1272 111 4 v 1310 1160 a Fa(\000)1338 1132 y(\000)1310-1049 y(\001)1352 966 y(\001)1380 911 y(\001)1310 938-y(\002)1338 855 y(\002)1366 772 y(\002)1393 689 y(\002)-28-b(\002)p 1310 497 V -111 w(@)1338 717 y(@)1310 800 y(A)1352-883 y(A)1380 938 y(A)1310 910 y(B)1338 993 y(B)1366 1077-y(B)1393 1160 y(B)g(B)p 1421 1272 56 4 v 1421 1161 V-1421 1051 V 1421 940 V 1421 829 V 1421 718 V 1421 608-V 1421 497 V 1473 1132 173 4 v 1473 1298 4 167 v 1538-1225 a Fj(g)p 1642 1298 V 1473 1301 173 4 v 1473 910-V 1473 1077 4 167 v 1538 1003 a(g)p 1642 1077 V 1473-1080 173 4 v 1473 689 V 1473 855 4 167 v 1538 782 a(g)p-1642 855 V 1473 858 173 4 v 1473 468 V 1473 634 4 167-v 1538 561 a(g)p 1642 634 V 1473 637 173 4 v 1642 1272-56 4 v 1642 1161 V 1642 1051 V 1642 940 V 1642 829 V-1642 718 V 1642 608 V 1642 497 V 1698 1272 111 4 v 1698-1160 a Fa(\000)1725 1132 y(\000)1698 1049 y(\001)1739-966 y(\001)1767 911 y(\001)1698 938 y(\002)1725 855 y(\002)1753-772 y(\002)1781 689 y(\002)g(\002)p 1698 497 V -111 w(@)1725-717 y(@)1698 800 y(A)1739 883 y(A)1767 938 y(A)1698 910-y(B)1725 993 y(B)1753 1077 y(B)1781 1160 y(B)g(B)p 1808-1272 56 4 v 1808 1161 V 1808 1051 V 1808 940 V 1808 829-V 1808 718 V 1808 608 V 1808 497 V 1861 1132 173 4 v-1861 1298 4 167 v 1926 1225 a Fj(g)p 2030 1298 V 1861-1301 173 4 v 1861 910 V 1861 1077 4 167 v 1926 1003 a(g)p-2030 1077 V 1861 1080 173 4 v 1861 689 V 1861 855 4 167-v 1926 782 a(g)p 2030 855 V 1861 858 173 4 v 1861 468-V 1861 634 4 167 v 1926 561 a(g)p 2030 634 V 1861 637-173 4 v 2030 1272 56 4 v 2030 1161 V 2030 1051 V 2030-940 V 2030 829 V 2030 718 V 2030 608 V 2030 497 V 2085-1272 111 4 v 2085 1160 a Fa(\000)2113 1132 y(\000)2085-1049 y(\001)2127 966 y(\001)2154 911 y(\001)2085 938-y(\002)2113 855 y(\002)2141 772 y(\002)2168 689 y(\002)g(\002)p-2085 497 V -111 w(@)2113 717 y(@)2085 800 y(A)2127 883-y(A)2154 938 y(A)2085 910 y(B)2113 993 y(B)2141 1077-y(B)2168 1160 y(B)g(B)p 2196 1272 56 4 v 2196 1161 V-2196 1051 V 2196 940 V 2196 829 V 2196 718 V 2196 608-V 2196 497 V 2248 1132 173 4 v 2248 1298 4 167 v 2313-1225 a Fj(g)p 2417 1298 V 2248 1301 173 4 v 2248 910-V 2248 1077 4 167 v 2313 1003 a(g)p 2417 1077 V 2248-1080 173 4 v 2248 689 V 2248 855 4 167 v 2313 782 a(g)p-2417 855 V 2248 858 173 4 v 2248 468 V 2248 634 4 167-v 2313 561 a(g)p 2417 634 V 2248 637 173 4 v 2417 1272-56 4 v 2417 1161 V 2417 1051 V 2417 940 V 2417 829 V-2417 718 V 2417 608 V 2417 497 V 2473 1272 V 2473 1161-V 2473 1051 V 2473 940 V 2473 829 V 2473 718 V 2473 608-V 2473 497 V 1211 1508 a Fq(Figure)27 b(8.8:)36 b(the)28-b(sh)n(u\017e-exc)n(hange)e(net)n(w)n(ork)575 1773 y(8.5)40-b(The)25 b(binary)e(adder)h(sho)n(wn)f(in)i(this)f(c)n(hapter)g(w)n-(orks)f(only)g(when)i(the)g(binary)e(n)n(um-)722 1873-y(b)r(ers)j(to)h(b)r(e)g(added)f(are)f(of)i(the)g(same)f(length.)36-b(De\014ne)27 b(a)f(binary)g(adder)g(that)g(adds)722-1973 y(t)n(w)n(o)k(binary)g(n)n(um)n(b)r(ers,)h(whatev)n(er)f(their)g-(lengths.)46 b(Use)31 b(this)g(to)f(mak)n(e)g(a)g(general)722-2072 y(adder)d(tree)g(that)h(w)n(orks)e(for)h(an)n(y)g(size.)575-2238 y(8.6)40 b(De\014ne)32 b(the)f(wiring)f(pattern)h-Fp(riffle)d Fq(that)j(corresp)r(onds)e(to)i(the)g(p)r(erfect)g(sh)n-(u\017e)722 2338 y(of)d(a)f(pac)n(k)g(of)g(cards.)575-2504 y(8.7)40 b(De\014ne)28 b(the)g(wiring)f(pattern)h-Fp(unriffle)c Fq(that)k(is)f(the)h(in)n(v)n(erse)f(of)g-Fp(riffle)p Fq(.)575 2670 y(8.8)40 b(V)-7 b(erify)39-b(that)f(the)h(sorter)e(de\014ned)h(in)h(this)g(c)n(hapter)e(w)n(orks)g-(on)h(list)g(of)g(bits,)k(for)722 2770 y(sev)n(eral)36-b(di\013eren)n(t)i(sizes.)67 b(Ho)n(w)37 b(do)h(y)n(ou)f(state)h(the)g-(prop)r(ert)n(y?)66 b(Hin)n(t:)58 b(lo)r(ok)37 b(at)722-2869 y(exercise)27 b(2.2.)575 3035 y(8.9)40 b(De\014ne)29-b(a)g(comparator)d(that)j(w)n(orks)d(on)j(binary)f(n)n(um)n(b)r(ers)g-(and)g(use)g(it)h(to)g(mak)n(e)e(a)722 3135 y(binary)g(n)n(um)n(b)r(er)-g(sorter.)533 3301 y(8.10)40 b(If)32 b(y)n(ou)f(ha)n(v)n(e)f(a)h(pac)n-(k)f(of)h(cards)g(of)g(size)g(2)2056 3271 y Fg(n)2132-3301 y Fq(and)g(ri\017e)g(it)h(rep)r(eatedly)-7 b(,)32-b(ho)n(w)f(man)n(y)722 3401 y(ri\017es)c(do)r(es)h(it)g(tak)n(e)f(b)r-(efore)g(y)n(ou)g(are)f(bac)n(k)h(where)g(y)n(ou)g(started?)533-3567 y(8.11)40 b(Consider)27 b(the)h(circuits)f Fp(two)42-b(\(ilv)g(f\))27 b Fq(and)g Fp(ilv)42 b(\(two)g(f\))p-Fq(.)36 b(Are)27 b(they)h(the)g(same)722 3666 y(or)f(not?)533-3832 y(8.12)40 b(Ho)n(w)34 b(w)n(ould)h(y)n(ou)e(sho)n(w)h(\(using)h(p)-r(encil)g(and)f(pap)r(er\))h(that)g(the)g(t)n(w)n(o)f(connection)722-3932 y(patterns)27 b Fp(bfly)f Fq(and)i Fp(bfly1)e Fq(are)g(the)i-(same?)533 4098 y(8.13)40 b(\(*\))g(Giv)n(e)g(an)g Fn(iter)l(ative)g-Fq(rather)f(than)h(recursiv)n(e)e(description)i(of)g(the)g(butter\015y)-722 4198 y(net)n(w)n(ork.)i(Hin)n(t:)f(think)30 b(of)g(the)g(n)n(um)n-(b)r(er)f(of)h Fp(two)e Fq(and)i Fp(ilv)e Fq(com)n(binators)g(in)i(eac)-n(h)722 4297 y(stac)n(k)d(of)g(basic)g(comp)r(onen)n(ts.)37-b(Y)-7 b(ou)28 b(migh)n(t)f(\014nd)h(a)f(list)h(comprehension)f-(useful.)533 4463 y(8.14)40 b(It)28 b(turns)g(out)g(that)f(for)h(t)n(w)-n(o-input)f(t)n(w)n(o-output)g(comp)r(onen)n(ts)g(the)h(butter\015y)g-(net-)722 4563 y(w)n(ork)37 b(is)h(also)g(the)g(same)g(as)g(the)g-(so-called)f(sh)n(u\017e-exc)n(hange)g(net)n(w)n(ork,)i(whic)n(h)722-4663 y(consists)d(of)h(a)f(sequence)g(of)g(iden)n(tical)h(blo)r(c)n-(ks,)h(eac)n(h)e(of)g(whic)n(h)h(is)f Fp(riffle)41 b(->-)722-4762 y(twoN)h(n)h(circ)p Fq(.)722 4895 y(Figure)22 b(out)g(ho)n(w)g-(man)n(y)f(suc)n(h)h(columns)g(y)n(ou)f(need)i(\(assuming)e(that)i-Fp(circ)d Fq(has)i(t)n(w)n(o)722 4995 y(inputs)37 b(and)f(t)n(w)n(o)g-(outputs\).)63 b(De\014ne)37 b(the)g(sh)n(u\017e-exc)n(hange)d(net)n(w)-n(ork)h(in)h(La)n(v)-5 b(a.)1905 5255 y(57)p eop-%%Page: 58 59-58 58 bop 722 523 a Fq(Chec)n(k)24 b(that)h(it)g(is)f(really)f(the)i-(same)f(as)g(the)h(butter\015y)f(net)n(w)n(ork.)35 b(In)24-b(what)h(circum-)722 623 y(stances)i(migh)n(t)h(a)f(circuit)g(designer)-g(prefer)g(the)h(sh)n(u\017e-exc)n(hange)e(net)n(w)n(ork?)533-789 y(8.15)40 b(W)-7 b(e)28 b(sa)n(w)e(that)h Fp(bfly)42-b(n)h(swapl)25 b Fq(rev)n(erses)g(its)i(input)h(list.)37-b(Can)27 b(y)n(ou)f(mak)n(e)g Fp(riffle)722 888 y Fq(b)n(y)e(plugging)f-(a)g(t)n(w)n(o-input)h(t)n(w)n(o-output)f(wiring)g(comp)r(onen)n(t)h-(in)n(to)f(a)h(butter\015y?)36 b(If)722 988 y(not,)28-b(wh)n(y)f(not?)1905 5255 y(58)p eop-%%Page: 59 60-59 59 bop 515 1186 a Fo(Chapter)64 b(9)515 1641 y Fs(Syn)-6-b(thesizing)76 b(La)-6 b(v)-13 b(a)77 b(Circuits)515-2112 y Fq(In)36 b(this)g(c)n(hapter,)g(w)n(e)g(presen)n(t)f(a)g(n)n(um)-n(b)r(er)g(of)h(examples)f(where)g(w)n(e)h(generate)e(a)h(La)n(v)-5-b(a)515 2212 y(circuit)39 b(from)g(a)g(di\013eren)n(t)g(kind)g(of)h(sp)-r(eci\014cation.)71 b(W)-7 b(e)40 b(assume)e(that)i(the)f(reader)f(is)-515 2311 y(familiar)27 b(with)h(the)g(Hask)n(ell)f(programming)e-(language)h([9)o(].)515 2624 y Fm(9.1)135 b(State)46-b(Mac)l(hines)515 2845 y Fq(A)25 b(v)n(ery)f(common)g(w)n(a)n(y)g(of)h-(sp)r(ecifying)g(a)f(sequen)n(tial)g(system)h(is)g(b)n(y)g-(constructing)f(a)g Fn(state)515 2945 y(machine)p Fq(.)37-b(A)26 b(state)f(mac)n(hine)g(consists)g(of)g(four)g(parts:)35-b(a)25 b(set)h(of)f(states,)h(a)f(set)g(of)g(inputs,)515-3044 y(a)h(set)i(of)f(initial)g(states)g(and)g(a)g(transition)f-(function.)37 b(The)28 b(transition)e(function)i(maps)e(a)515-3144 y(state)j(and)g(an)h(input)g(to)f(a)g(set)h(of)f(next)h(states.)42-b(Usually)-7 b(,)30 b(w)n(e)f(dra)n(w)g(state)g(mac)n(hines)g(as)515-3244 y(pictures.)36 b(An)28 b(example)g(of)f(a)g(state)h(mac)n(hine)f-(is)g(pictured)h(in)g(\014gure)f(9.1.)515 3383 y(In)i(Hask)n(ell,)g-(here)g(is)g(ho)n(w)g(w)n(e)g(migh)n(t)g(sp)r(ecify)g(a)g(datat)n(yp)r-(e)g(for)g(represen)n(ting)f(state)h(ma-)515 3483 y(c)n(hines.)36-b(W)-7 b(e)28 b(parametrize)e(o)n(v)n(er)g(the)i(t)n(yp)r(es)g(of)f-(the)h(states)f(and)h(the)g(inputs.)602 3659 y Fp(data)42-b(StateMachine)c(state)k(inp)689 3758 y(=)h(StateMachine)863-3858 y({)h(states)215 b(::)43 b([state])863 3957 y(,)h(inputs)215-b(::)43 b([inp])863 4057 y(,)h(initial)171 b(::)43 b([state])863-4157 y(,)h(transition)39 b(::)k(state)e(->)i(inp)f(->)h([state])863-4256 y(})515 4432 y Fq(Here)27 b(is)g(ho)n(w)g(w)n(e)h(can)f(describ)r-(e)g(the)h(state)g(mac)n(hine)f(in)h(\014gure)e(9.1:)602-4608 y Fp(theStateMachine)37 b(=)689 4707 y(StateMachine)776-4807 y({)43 b(states)216 b(=)43 b(["A",)f("B",)f("C"])776-4907 y(,)i(inputs)216 b(=)43 b(['a',)f('b'])776 5006-y(,)h(initial)172 b(=)43 b(["A"])1905 5255 y Fq(59)p-eop-%%Page: 60 61-60 60 bop 1382 1198 a @beginspecial 0 @llx 0 @lly 271-@urx 182 @ury 1355 @rwi @setspecial-%%BeginDocument: Pictures/statemachine.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--94.0 226.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def- /DrawEllipse {-	/endangle exch def-	/startangle exch def-	/yrad exch def-	/xrad exch def-	/y exch def-	/x exch def-	/savematrix mtrx currentmatrix def-	x y tr xrad yrad sc 0 0 1 startangle endangle arc-	closepath-	savematrix setmatrix-	} def--/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 4757 m -1000 -1000 l 7078 -1000 l 7078 4757 l cp clip- 0.06000 0.06000 sc-7.500 slw-% Ellipse-n 3000 2100 450 450 0 360 DrawEllipse gs col0 s gr--% Ellipse-n 5100 1200 450 450 0 360 DrawEllipse gs col0 s gr--% Ellipse-n 5400 3300 450 450 0 360 DrawEllipse gs col0 s gr--% Polyline-gs  clippath-5766 2892 m 5708 2974 l 5709 2874 l 5667 3005 l 5724 3023 l cp-clip-n 5475 1425 m 5476 1426 l 5477 1429 l 5481 1435 l 5485 1444 l 5492 1457 l- 5501 1473 l 5512 1494 l 5526 1518 l 5541 1547 l 5558 1579 l- 5577 1614 l 5597 1651 l 5618 1690 l 5639 1731 l 5660 1773 l- 5681 1814 l 5702 1856 l 5722 1896 l 5741 1936 l 5758 1974 l- 5774 2010 l 5789 2045 l 5802 2078 l 5814 2110 l 5824 2140 l- 5833 2169 l 5840 2197 l 5846 2224 l 5850 2250 l 5854 2280 l- 5855 2311 l 5856 2342 l 5854 2374 l 5851 2408 l 5847 2443 l- 5841 2480 l 5833 2519 l 5825 2559 l 5815 2601 l 5804 2643 l- 5793 2686 l 5781 2729 l 5769 2771 l 5758 2811 l 5747 2848 l- 5737 2882 l 5727 2912 l 5719 2938 l 5713 2959 l 5708 2975 l- 5700 3000 l gs col0 s gr gr--% arrowhead-n 5766 2892 m 5708 2974 l 5709 2874 l 5745 2860 l 5766 2892 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4885 1759 m 4942 1675 l 4943 1776 l 4983 1644 l 4926 1627 l cp-clip-n 5025 2925 m 5024 2923 l 5022 2919 l 5019 2912 l 5013 2900 l 5005 2884 l- 4996 2864 l 4984 2839 l 4971 2811 l 4956 2779 l 4940 2745 l- 4924 2709 l 4907 2672 l 4891 2635 l 4876 2598 l 4862 2562 l- 4848 2528 l 4837 2495 l 4827 2464 l 4818 2434 l 4811 2406 l- 4806 2378 l 4802 2352 l 4800 2325 l 4799 2300 l 4799 2275 l- 4801 2249 l 4804 2221 l 4808 2191 l 4813 2160 l 4819 2127 l- 4827 2093 l 4835 2056 l 4845 2019 l 4855 1980 l 4865 1941 l- 4876 1901 l 4887 1863 l 4898 1826 l 4908 1791 l 4917 1760 l- 4925 1732 l 4932 1708 l 4938 1688 l 4943 1673 l 4950 1650 l gs col0 s gr gr--% arrowhead-n 4885 1759 m 4942 1675 l 4943 1776 l 4907 1791 l 4885 1759 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3333 1659 m 3244 1705 l 3291 1617 l 3193 1714 l 3236 1757 l cp-clip-n 4650 1050 m 4648 1050 l 4644 1051 l 4637 1051 l 4626 1052 l 4611 1054 l- 4591 1056 l 4566 1059 l 4536 1062 l 4502 1066 l 4464 1071 l- 4424 1075 l 4381 1081 l 4336 1086 l 4291 1092 l 4246 1098 l- 4201 1105 l 4157 1112 l 4115 1119 l 4075 1126 l 4037 1134 l- 4001 1141 l 3967 1150 l 3936 1158 l 3906 1168 l 3878 1178 l- 3851 1188 l 3825 1200 l 3800 1213 l 3775 1226 l 3750 1242 l- 3725 1258 l 3699 1277 l 3672 1297 l 3645 1319 l 3616 1343 l- 3587 1369 l 3557 1396 l 3527 1424 l 3496 1454 l 3465 1484 l- 3434 1514 l 3404 1543 l 3375 1572 l 3348 1600 l 3323 1625 l- 3300 1648 l 3280 1668 l 3264 1685 l 3251 1698 l 3241 1709 l- 3225 1725 l gs col0 s gr gr--% arrowhead-n 3333 1659 m 3244 1705 l 3291 1617 l 3329 1621 l 3333 1659 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4829 3414 m 4923 3448 l 4826 3474 l 4964 3481 l 4966 3421 l cp-clip-n 3150 2550 m 3151 2551 l 3153 2555 l 3156 2560 l 3161 2569 l 3169 2582 l- 3179 2598 l 3192 2619 l 3207 2644 l 3224 2672 l 3244 2704 l- 3266 2739 l 3289 2776 l 3314 2815 l 3340 2855 l 3367 2895 l- 3394 2936 l 3422 2975 l 3449 3014 l 3477 3050 l 3504 3085 l- 3531 3118 l 3558 3149 l 3585 3177 l 3611 3203 l 3638 3226 l- 3665 3248 l 3692 3267 l 3721 3284 l 3750 3300 l 3777 3313 l- 3805 3324 l 3836 3335 l 3868 3345 l 3902 3354 l 3938 3363 l- 3977 3371 l 4019 3378 l 4062 3385 l 4109 3391 l 4157 3397 l- 4208 3403 l 4260 3408 l 4314 3412 l 4369 3417 l 4425 3421 l- 4480 3425 l 4535 3429 l 4588 3432 l 4640 3435 l 4689 3438 l- 4734 3440 l 4776 3442 l 4813 3444 l 4846 3445 l 4874 3447 l- 4897 3448 l 4915 3449 l 4929 3449 l 4950 3450 l gs col0 s gr gr--% arrowhead-n 4829 3414 m 4923 3448 l 4826 3474 l 4803 3443 l 4829 3414 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3495 2365 m 3401 2327 l 3500 2305 l 3363 2294 l 3358 2354 l cp-clip-n 4950 3075 m 4949 3074 l 4947 3071 l 4942 3065 l 4935 3056 l 4925 3044 l- 4913 3029 l 4897 3009 l 4878 2986 l 4856 2960 l 4832 2931 l- 4806 2900 l 4778 2867 l 4749 2832 l 4719 2798 l 4688 2764 l- 4658 2730 l 4628 2698 l 4598 2667 l 4569 2637 l 4540 2610 l- 4512 2585 l 4485 2562 l 4458 2541 l 4432 2522 l 4405 2504 l- 4378 2489 l 4350 2475 l 4323 2463 l 4295 2452 l 4266 2442 l- 4234 2432 l 4201 2423 l 4165 2415 l 4127 2407 l 4086 2400 l- 4043 2393 l 3998 2386 l 3951 2380 l 3902 2374 l 3852 2368 l- 3802 2363 l 3751 2357 l 3701 2353 l 3653 2348 l 3607 2344 l- 3564 2340 l 3525 2337 l 3490 2334 l 3460 2332 l 3434 2330 l- 3414 2328 l 3399 2327 l 3375 2325 l gs col0 s gr gr--% arrowhead-n 3495 2365 m 3401 2327 l 3500 2305 l 3521 2337 l 3495 2365 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4611 1554 m 4704 1516 l 4648 1601 l 4756 1514 l 4718 1467 l cp-clip-n 3450 2025 m 3452 2025 l 3456 2024 l 3464 2023 l 3477 2021 l 3494 2019 l- 3516 2015 l 3543 2011 l 3575 2006 l 3611 2001 l 3651 1995 l- 3693 1988 l 3736 1981 l 3781 1974 l 3825 1966 l 3869 1959 l- 3911 1951 l 3952 1943 l 3990 1935 l 4026 1927 l 4060 1919 l- 4092 1911 l 4121 1903 l 4149 1894 l 4175 1885 l 4200 1875 l- 4226 1864 l 4252 1851 l 4278 1837 l 4305 1822 l 4332 1805 l- 4360 1787 l 4389 1767 l 4419 1745 l 4449 1722 l 4481 1698 l- 4512 1674 l 4544 1649 l 4574 1624 l 4603 1601 l 4630 1579 l- 4654 1559 l 4674 1542 l 4691 1528 l 4704 1517 l 4725 1500 l gs col0 s gr gr--% arrowhead-n 4611 1554 m 4704 1516 l 4648 1601 l 4611 1592 l 4611 1554 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2461 1935 m 2527 2010 l 2430 1986 l 2547 2058 l 2579 2007 l cp-clip-n 2175 1950 m 2178 1950 l 2186 1949 l 2198 1949 l 2216 1948 l 2237 1947 l- 2261 1946 l 2286 1945 l 2310 1945 l 2333 1945 l 2353 1945 l- 2371 1946 l 2386 1948 l 2400 1950 l 2415 1954 l 2430 1959 l- 2446 1966 l 2463 1974 l 2481 1984 l 2499 1994 l 2516 2004 l- 2550 2025 l gs col0 s gr gr--% arrowhead-n 2461 1935 m 2527 2010 l 2430 1986 l 2425 1948 l 2461 1935 l  cp gs 0.00 setgray ef gr  col0 s-/Courier ff 270.00 scf sf-5025 1275 m-gs 1 -1 sc (B) col0 sh gr-/Courier ff 270.00 scf sf-2925 2175 m-gs 1 -1 sc (A) col0 sh gr-/Courier ff 270.00 scf sf-5325 3375 m-gs 1 -1 sc (C) col0 sh gr-/Helvetica ff 270.00 scf sf-3600 1200 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-5925 2175 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-4875 2325 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-4125 2700 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-3600 3525 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-4050 1800 m-gs 1 -1 sc (b) col0 sh gr-/Times-Italic ff 270.00 scf sf-1575 2100 m-gs 1 -1 sc (start) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 1158 1381 a Fq(Figure)27 b(9.1:)36 b(An)28-b(example)g(of)f(a)g(state)h(mac)n(hine.)1170 2576 y-@beginspecial 0 @llx 0 @lly 373 @urx 259 @ury 1865 @rwi-@setspecial-%%BeginDocument: Pictures/statecircuit.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--89.0 312.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 6187 m -1000 -1000 l 8698 -1000 l 8698 6187 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-gs  clippath-2877 4470 m 2973 4500 l 2877 4530 l 3015 4530 l 3015 4470 l cp-clip-n 5400 1800 m 5400 2025 l 2400 2025 l 2400 4500 l 3000 4500 l gs col0 s gr gr--% arrowhead-n 2877 4470 m 2973 4500 l 2877 4530 l 2853 4500 l 2877 4470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 2670 m 2973 2700 l 2877 2730 l 3015 2730 l 3015 2670 l cp-clip-n 6000 1800 m 6000 2175 l 2700 2175 l 2700 2700 l 3000 2700 l gs col0 s gr gr--% arrowhead-n 2877 2670 m 2973 2700 l 2877 2730 l 2853 2700 l 2877 2670 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 1170 m 2973 1200 l 2877 1230 l 3015 1230 l 3015 1170 l cp-clip-n 2325 3525 m 2100 3525 l 2100 1200 l 3000 1200 l gs col0 s gr gr--% arrowhead-n 2877 1170 m 2973 1200 l 2877 1230 l 2853 1200 l 2877 1170 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 4170 m 2973 4200 l 2877 4230 l 3015 4230 l 3015 4170 l cp-clip-n 6000 3300 m 6000 3675 l 2700 3675 l 2700 4200 l 3000 4200 l gs col0 s gr gr--% arrowhead-n 2877 4170 m 2973 4200 l 2877 4230 l 2853 4200 l 2877 4170 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 2970 m 2973 3000 l 2877 3030 l 3015 3030 l 3015 2970 l cp-clip-n 2475 3000 m 3000 3000 l gs col0 s gr gr--% arrowhead-n 2877 2970 m 2973 3000 l 2877 3030 l 2853 3000 l 2877 2970 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-2877 1470 m 2973 1500 l 2877 1530 l 3015 1530 l 3015 1470 l cp-clip-n 2175 1500 m 3000 1500 l gs col0 s gr gr--% arrowhead-n 2877 1470 m 2973 1500 l 2877 1530 l 2853 1500 l 2877 1470 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 5400 3300 m 5400 3525 l 2475 3525 l gs col0 s gr -% Polyline-n 2175 3000 m 2325 3000 l gs col0 s gr -% Polyline-n 5400 4800 m 5400 5025 l 1800 5025 l 1800 3000 l 2025 3000 l gs col0 s gr -% Polyline-n 6000 4800 m 6000 5175 l 1500 5175 l 1500 1500 l 2025 1500 l gs col0 s gr -% Polyline-n 3000 3900 m 6300 3900 l 6300 4800 l 3000 4800 l cp gs col0 s gr -% Polyline-n 3000 2400 m 6300 2400 l 6300 3300 l 3000 3300 l cp gs col0 s gr -% Polyline-n 3000 900 m 6300 900 l 6300 1800 l 3000 1800 l cp gs col0 s gr -% Polyline-gs  clippath-6777 1320 m 6873 1350 l 6777 1380 l 6915 1380 l 6915 1320 l cp-clip-n 6300 1350 m 6900 1350 l gs col0 s gr gr--% arrowhead-n 6777 1320 m 6873 1350 l 6777 1380 l 6753 1350 l 6777 1320 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6777 2820 m 6873 2850 l 6777 2880 l 6915 2880 l 6915 2820 l cp-clip-n 6300 2850 m 6900 2850 l gs col0 s gr gr--% arrowhead-n 6777 2820 m 6873 2850 l 6777 2880 l 6753 2850 l 6777 2820 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6777 4320 m 6873 4350 l 6777 4380 l 6915 4380 l 6915 4320 l cp-clip-n 6300 4350 m 6900 4350 l gs col0 s gr gr--% arrowhead-n 6777 4320 m 6873 4350 l 6777 4380 l 6753 4350 l 6777 4320 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-5325 4650 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-5325 3150 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-5325 1650 m-gs 1 -1 sc (a) col0 sh gr-/Helvetica ff 270.00 scf sf-5925 1650 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-5925 3150 m-gs 1 -1 sc (b) col0 sh gr-/Helvetica ff 270.00 scf sf-5925 4650 m-gs 1 -1 sc (b) col0 sh gr-/Courier ff 270.00 scf sf-3375 1425 m-gs 1 -1 sc (A) col0 sh gr-/Courier ff 270.00 scf sf-3375 2925 m-gs 1 -1 sc (B) col0 sh gr-/Courier ff 270.00 scf sf-3375 4425 m-gs 1 -1 sc (C) col0 sh gr-/Helvetica ff 270.00 scf sf-6975 1425 m-gs 1 -1 sc (active) col0 sh gr-/Helvetica ff 270.00 scf sf-6975 2925 m-gs 1 -1 sc (active) col0 sh gr-/Helvetica ff 270.00 scf sf-6975 4425 m-gs 1 -1 sc (active) col0 sh gr-/Times-Italic ff 270.00 scf sf-5400 1425 m-gs 1 -1 sc (when) col0 sh gr-/Times-Italic ff 270.00 scf sf-5400 2925 m-gs 1 -1 sc (when) col0 sh gr-/Times-Italic ff 270.00 scf sf-5400 4425 m-gs 1 -1 sc (when) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 677 2759 a(Figure)f(9.2:)36 b(A)28 b(sc)n(hematic)f-(translation)f(of)i(the)g(state)f(mac)n(hine)g(of)h(\014gure)f(9.1.)776-3024 y Fp(,)43 b(transition)d(=)j(\\state)e(inp)h(->)1517-3123 y([)h(next)f(|)h(\(state',)e(inp',)g(next\))h(<-)2040-3223 y([)h(\("A",)f('a',)g("C"\))2040 3323 y(,)h(\("A",)f('b',)g("A"\))-2040 3422 y(,)h(...)2040 3522 y(])1822 3622 y(,)g(state)f(==)h(state')-1822 3721 y(,)g(inp)g(==)g(inp')1822 3821 y(])776 3920-y(})515 4106 y Fq(Note)31 b(that)g(the)g(somewhat)f(clumsy)h-(de\014nition)g(of)g(the)g(transition)f(function)h(w)n(ould)g(b)r(e)515-4206 y(easier)26 b(in)i(an)f(application)g(where)g(the)h(states)f(and)h-(inputs)g(actually)f Fn(me)l(an)h Fq(something.)515 4346-y(Giv)n(en)38 b(a)h(sp)r(eci\014cation)f(in)h(terms)g(of)f(a)h(state)f-(mac)n(hine,)j(w)n(e)e(w)n(ould)f(lik)n(e)h(to)f(b)r(e)h(able)515-4445 y(to)34 b(translate)g(in)h(in)n(to)f(a)g(circuit.)58-b(One)35 b(reason)e(for)h(this)h(migh)n(t)f(b)r(e)h(b)r(ecause)f(w)n(e)-h(w)n(an)n(t)515 4545 y(a)i(protot)n(yp)r(e)f(implemen)n(tation)h(of)h-(the)f(state)g(mac)n(hine.)66 b(Another)37 b(reason)e(migh)n(t)j(b)r(e)-515 4644 y(b)r(ecause)29 b(w)n(e)h(w)n(an)n(t)g(to)g(v)n(erify)f(that)i-(a)e(giv)n(en)h(circuit)g(implemen)n(tation)g(is)g(equiv)-5-b(alen)n(t)30 b(to)515 4744 y(the)e(translated)e(v)n(ersion.)515-4883 y(One)20 b(metho)r(d)h(of)f(translating)g(a)g(state)g(mac)n(hine)g-(in)n(to)g(a)g(circuit)h(is)f(pictured)h(in)f(\014gures)g(9.2)515-4983 y(and)k(9.3.)35 b(The)24 b(idea)g(is)g(that)h(ev)n(ery)e(state)h-(in)g(the)h(state)f(mac)n(hine)g(maps)f(to)i(a)e(comp)r(onen)n(t)1905-5255 y(60)p eop-%%Page: 61 62-61 61 bop 1030 1094 a @beginspecial 0 @llx 0 @lly 440-@urx 157 @ury 2200 @rwi @setspecial-%%BeginDocument: Pictures/component.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--4.0 410.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 7825 m -1000 -1000 l 8398 -1000 l 8398 7825 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-gs  clippath-4980 5277 m 4950 5373 l 4920 5277 l 4920 5415 l 4980 5415 l cp-clip-n 4950 4500 m 4950 5400 l gs col0 s gr gr--% arrowhead-n 4980 5277 m 4950 5373 l 4920 5277 l 4950 5253 l 4980 5277 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 4500 5400 m 5100 5400 l 5100 6000 l 4500 6000 l cp gs col0 s gr -% Polyline-gs  clippath-4680 5277 m 4650 5373 l 4620 5277 l 4620 5415 l 4680 5415 l cp-clip-n 4650 5100 m 4650 5400 l gs col0 s gr gr--% arrowhead-n 4680 5277 m 4650 5373 l 4620 5277 l 4650 5253 l 4680 5277 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4830 6477 m 4800 6573 l 4770 6477 l 4770 6615 l 4830 6615 l cp-clip-n 4800 6000 m 4800 6600 l gs col0 s gr gr--% arrowhead-n 4830 6477 m 4800 6573 l 4770 6477 l 4800 6453 l 4830 6477 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 3000 4650 m 3900 4650 l 3900 5550 l 3000 5550 l cp gs col0 s gr -% Polyline-gs  clippath-2877 5070 m 2973 5100 l 2877 5130 l 3015 5130 l 3015 5070 l cp-clip-n 2400 5100 m 3000 5100 l gs col0 s gr gr--% arrowhead-n 2877 5070 m 2973 5100 l 2877 5130 l 2853 5100 l 2877 5070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 1500 4650 m 2400 4650 l 2400 5550 l 1500 5550 l cp gs col0 s gr -% Polyline-gs  clippath-5880 5277 m 5850 5373 l 5820 5277 l 5820 5415 l 5880 5415 l cp-clip-n 5850 4500 m 5850 5400 l gs col0 s gr gr--% arrowhead-n 5880 5277 m 5850 5373 l 5820 5277 l 5850 5253 l 5880 5277 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 5400 5400 m 6000 5400 l 6000 6000 l 5400 6000 l cp gs col0 s gr -% Polyline-gs  clippath-5730 6477 m 5700 6573 l 5670 6477 l 5670 6615 l 5730 6615 l cp-clip-n 5700 6000 m 5700 6600 l gs col0 s gr gr--% arrowhead-n 5730 6477 m 5700 6573 l 5670 6477 l 5700 6453 l 5730 6477 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-n 3900 5100 m 4875 5100 l gs col0 s gr -% Polyline-n 5025 5100 m 5775 5100 l gs col0 s gr -% Polyline-gs  clippath-5580 5277 m 5550 5373 l 5520 5277 l 5520 5415 l 5580 5415 l cp-clip-n 5550 5100 m 5550 5400 l gs col0 s gr gr--% arrowhead-n 5580 5277 m 5550 5373 l 5520 5277 l 5550 5253 l 5580 5277 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-6477 5070 m 6573 5100 l 6477 5130 l 6615 5130 l 6615 5070 l cp-clip-n 5925 5100 m 6600 5100 l gs col0 s gr gr--% arrowhead-n 6477 5070 m 6573 5100 l 6477 5130 l 6453 5100 l 6477 5070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-1377 4845 m 1473 4875 l 1377 4905 l 1515 4905 l 1515 4845 l cp-clip-n 900 4875 m 1500 4875 l gs col0 s gr gr--% arrowhead-n 1377 4845 m 1473 4875 l 1377 4905 l 1353 4875 l 1377 4845 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-1377 5295 m 1473 5325 l 1377 5355 l 1515 5355 l 1515 5295 l cp-clip-n 900 5325 m 1500 5325 l gs col0 s gr gr--% arrowhead-n 1377 5295 m 1473 5325 l 1377 5355 l 1353 5325 l 1377 5295 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-4875 4425 m-gs 1 -1 sc (a) col0 sh gr-/Courier ff 270.00 scf sf-4575 5775 m-gs 1 -1 sc (AND) col0 sh gr-/Courier ff 270.00 scf sf-3375 5175 m-gs 1 -1 sc (D) col0 sh gr-/Courier ff 270.00 scf sf-1800 5175 m-gs 1 -1 sc (OR) col0 sh gr-/Helvetica ff 270.00 scf sf-5775 4425 m-gs 1 -1 sc (b) col0 sh gr-/Courier ff 270.00 scf sf-5475 5775 m-gs 1 -1 sc (AND) col0 sh gr-/Times-Italic ff 270.00 scf sf-5025 6825 m-gs 1 -1 sc (emits) col0 sh gr-/Helvetica ff 270.00 scf sf-6675 5175 m-gs 1 -1 sc (active) col0 sh gr-/Times-Italic ff 270.00 scf sf-75 5175 m-gs 1 -1 sc (activate) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 628 1277 a Fq(Figure)27 b(9.3:)36 b(A)28-b(more)f(detailed)g(view)h(of)f(the)h(comp)r(onen)n(t)g(b)r(elonging)e-(to)i(a)f(state.)515 1541 y(in)35 b(the)g(circuit.)59-b(The)35 b(comp)r(onen)n(t)g(has)g(a)f(dela)n(y)g(elemen)n(t)i(that)f-(k)n(eeps)f(trac)n(k)g(of)h(if)g(w)n(e)515 1640 y(are)k(in)h(that)h-(state.)74 b(The)41 b(comp)r(onen)n(t)f(receiv)n(es)e(messages)h(from)h-(other)f(comp)r(onen)n(t)515 1740 y(that)e(activ)-5 b(ate)36-b(it,)k(and,)f(dep)r(ending)e(on)f(the)h(inputs,)j(also)c(sends)g-(messages)f(to)i(other)515 1840 y(comp)r(onen)n(ts)27-b(activ)-5 b(ating)27 b(them.)515 1979 y(An)j(adv)-5-b(an)n(tage)28 b(of)h(this)h(translation)e(metho)r(d)i(is)g(that)f(w)n-(e)h(can)f(b)r(e)h(in)f(sev)n(eral)f(states)h(at)515-2079 y(the)k(same)f(time,)i(allo)n(wing)d(for)h(non-deterministic)g-(execution)h(of)f(our)g(state)g(mac)n(hine.)515 2178-y(A)g(disadv)-5 b(an)n(tage)30 b(is)h(that,)i(ev)n(en)e(when)h(our)f-(state)g(mac)n(hine)g(is)h(deterministic,)h(w)n(e)e(still)515-2278 y(ha)n(v)n(e)26 b(one)h(dela)n(y)g(comp)r(onen)n(t)g(p)r(er)h-(state,)f(whic)n(h)h(is)f(often)h(to)r(o)g(m)n(uc)n(h.)515-2418 y(The)e(t)n(yp)r(e)g(of)g(circuits)f(w)n(e)h(are)e(translating)h-(state)h(mac)n(hines)f(to)h(is)g(a)f(circuit)h(from)f(input)515-2517 y(signals)h(to)i(a)f(list)h(of)f(indicators)g(for)g(eac)n(h)g-(state.)602 2702 y Fp(type)42 b(StateCircuit)689 2802-y(=)h([Signal)e(Bool])g(->)i([Signal)e(Bool])515 2986-y Fq(F)-7 b(rom)24 b(these)g(t)n(w)n(o)g(t)n(yp)r(e,)h(w)n(e)f(can)g-(declare)g(the)h(t)n(yp)r(e)f(of)h(our)e(translation)g(function,)j-(whic)n(h)515 3086 y(tak)n(es)g(a)i(state)f(mac)n(hine)g(in)n(to)g(a)h-(state)f(circuit.)602 3271 y Fp(stateMachine)39 b(::)j(\(Eq)h(inp,)f-(Eq)g(state\))1169 3370 y(=>)g(StateMachine)d(state)i(inp)i(->)g-(StateCircuit)602 3470 y(stateMachine)c(machine)h(inSignals)g(=)j-(outSignals)689 3570 y(where)776 3669 y(...)515 3854-y Fq(First,)d(w)n(e)e(de\014ne)g(the)g(function)g Fp(inSignal)d-Fq(whic)n(h)j(maps)f(an)h(input)h(from)e(the)h(state)515-3954 y(mac)n(hine)27 b(to)g(the)h(corresp)r(onding)e(signal)h(wire.)776-4139 y Fp(inSignal)41 b(input)g(=)863 4238 y(head)h([)i(sig)1081-4338 y(|)g(\(input',sig\))38 b(<-)43 b(inputs)e(machine)g(`zip`)g-(inSignals)1081 4437 y(,)j(input)d(==)i(input')1081 4537-y(])515 4722 y Fq(Then,)26 b(w)n(e)f(create)f(a)h(list)h(of)f(the)h-(comp)r(onen)n(ts,)f(whic)n(h)h(w)n(e)f(use)g(as)g(a)g(lo)r(okup)g-(table)g(in)h(the)515 4821 y(rest)h(of)g(the)h(translation.)776-5006 y Fp(components)40 b(=)1905 5255 y Fq(61)p eop-%%Page: 62 63-62 62 bop 863 523 a Fp([)44 b(component)39 b(state)863-623 y(|)44 b(state)d(<-)i(states)e(machine)863 722 y(])515-885 y Fq(A)d(comp)r(onen)n(t)g(for)f(a)h(certain)f(state)h(consists)f-(of)g(a)h(pair)f Fp(\(active,)j(emits\))p Fq(,)f(where)515-985 y Fp(active)24 b Fq(is)j(the)g(indicator)f(signal)g(for)h(the)g-(state,)g(and)g Fp(emits)e Fq(is)h(a)h(lo)r(okup)f(table,)h(repre-)515-1084 y(sen)n(ting)g(what)g(signal)g(to)h(send)f(to)h(what)f(state.)776-1247 y Fp(component)40 b(state)i(=)h(\(active,)d(emits\))863-1347 y(where)951 1446 y(init)129 b(=)43 b(state)e(`elem`)g(initial)g-(machine)951 1546 y(active)g(=)i(delay)e(\(bool)h(init\))f-(\(activating)e(state\))951 1745 y(emits)85 b(=)1038-1845 y([)43 b(\()g(state')1125 1944 y(,)g(and2)f(\(active,)e(inSignal)h-(input\))1125 2044 y(\))1038 2144 y(|)i(input)85 b(<-)43-b(inputs)e(machine)1038 2243 y(,)i(state')e(<-)i(transition)c(machine)i-(state)g(input)1038 2343 y(])515 2506 y Fq(The)34 b(declaration)f(of)i-Fp(active)d Fq(uses)i(one)g(dela)n(y)g(comp)r(onen)n(t,)i(whose)e-(initial)h(v)-5 b(alue)34 b(de-)515 2605 y(p)r(ends)27-b(on)g(this)g(state)f(b)r(eing)h(an)g(initial)g(state)g(or)f(not,)h-(and)g(whose)f(next)h(v)-5 b(alue)27 b(dep)r(ends)515-2705 y(on)39 b(the)i(signals)e(the)h(other)g(comp)r(onen)n(ts)f(are)g-(sending)h(to)g(it)g(\(computed)h(using)f(the)515 2804-y(function)28 b Fp(activating)p Fq(\).)515 2944 y(The)37-b(list)g Fp(emits)e Fq(is)h(constructed)h(as)f(follo)n(ws.)64-b(F)-7 b(or)36 b(ev)n(ery)f(input)j(signal,)g(w)n(e)f(use)g(the)515-3044 y(transition)31 b(function)h(to)f(c)n(hec)n(k)g(what)g(next)h-(states)f(w)n(e)h(ha)n(v)n(e.)47 b(W)-7 b(e)32 b(then)g(send)g(a)f-(signal)515 3143 y(to)e(the)h(comp)r(onen)n(t)f(of)g(state)g(if)h(and)g-(only)f(if)h(w)n(e)f(are)f(activ)n(e,)h(and)g(w)n(e)g(ha)n(v)n(e)g-(that)g(input)515 3243 y(as)e(an)g(incoming)g(signal.)515-3382 y(Here)g(is)g(ho)n(w)g(w)n(e)h(de\014ne)g(the)f(function)i-Fp(activating)p Fq(.)776 3545 y Fp(activating)40 b(state)h(=)863-3645 y(orl)i([)g(activate)1038 3744 y(|)g(\(_,)f(emits\))390-b(<-)43 b(components)1038 3844 y(,)g(\(state',)d(activate\))g(<-)j-(emits)1038 3944 y(,)g(state)e(==)i(state')1038 4043-y(])515 4206 y Fq(F)-7 b(or)30 b(all)g(comp)r(onen)n(ts,)h(w)n(e)f(lo)r-(ok)g(at)h(what)f(messages)f(it)i(w)n(an)n(ts)f(to)h(send,)g(and)f-(\014lter)h(out)515 4306 y(the)d(signals)e(going)h(to)g(the)h(righ)n(t)-f(state.)37 b(Then,)27 b(w)n(e)h(tak)n(e)f(the)g(or)g(of)h(all)f(these)-h(signals.)515 4445 y(Finally)-7 b(,)30 b(w)n(e)g(can)g(create)f(the)h-(list)h(of)f(state)f(indicators,)h(b)n(y)g(taking)f(the)i(\014rst)f-(output)g(of)515 4545 y(the)e(comp)r(onen)n(ts.)776 4707-y Fp(outSignals)40 b(=)863 4807 y([)k(active)863 4907-y(|)g(\(active,)c(_\))j(<-)f(components)863 5006 y(])1905-5255 y Fq(62)p eop-%%Page: 63 64-63 63 bop 515 523 a Fq(Here)27 b(is)g(ho)n(w)g(w)n(e)h(can)f(mak)n(e)g-(the)h(circuit)f(for)g(the)h(state)g(mac)n(hine)f(w)n(e)g(sp)r-(eci\014ed)h(earlier.)602 689 y Fp(theCircuit)39 b(\(a,)k(b\))f(=)i-(\(inA,)d(inB,)h(inC\))689 789 y(where)776 889 y([inA,)g(inB,)g(inC])g-(=)863 988 y(stateMachine)d(theStateMachine)e([a,)43-b(b])515 1298 y Fm(9.2)135 b(Beha)l(vioral)47 b(Descriptions)515-1520 y Fq(Another)22 b(w)n(a)n(y)f(of)h(sp)r(ecifying)h(the)g(b)r(eha)n-(vior)e(of)h(a)g(circuit)g(is)h(b)n(y)f(a)g Fn(b)l(ehavior)l(al)27-b(description)515 1620 y(language)p Fq(.)47 b(Examples)30-b(of)g(these)h(kind)g(of)g(languages)e(are)g(b)r(eha)n(vioral)g(VHDL,)j-(V)-7 b(erilog,)515 1719 y(Esterel,)42 b(etc.)75 b(The)40-b(idea)g(is)g(to)g(write)f(a)h(program)e(in)j(suc)n(h)e(a)h(language,)i-(and)e(then)515 1819 y(transform)26 b(the)i(program)e(to)h(a)g(circuit)-h(with)g(the)g(same)f(b)r(eha)n(vior.)515 1958 y(W)-7-b(e)32 b(sho)n(w)e(ho)n(w)h(to)g(compile)h(programs)d(in)j(a)f(v)n(ery)-f(simple)h(description)g(language)f(to)h(a)515 2058 y(circuit.)56-b(W)-7 b(e)35 b(call)f(the)g(language)f Fn(Pac)l(e)p-Fq(.)57 b(Here)34 b(is)g(a)g(Hask)n(ell)f(datat)n(yp)r(e)h(respresen)n-(ting)515 2158 y(P)n(ace)26 b(programs:)602 2324 y Fp(data)42-b(Pace)g(out)689 2423 y(=)h(Skip)689 2523 y(|)g(Emit)f(out)689-2623 y(|)h(Wait)689 2722 y(|)g(IfThenElse)d(\(Signal)g(Bool\))i(\(Pace)-f(out,)h(Pace)g(out\))689 2822 y(|)h(While)f(\(Signal)e(Bool\))i-(\(Pace)f(out\))689 2922 y(|)i(Pace)f(out)h(:>>)f(Pace)g(out)689-3021 y(|)h(Pace)f(out)h(:||)f(Pace)g(out)515 3187 y Fq(A)29-b(P)n(ace)f(program)f(can)i(send)g(out)g(messages)e(of)i(t)n(yp)r(e)g-Fp(out)p Fq(.)40 b(Running)30 b(a)e(P)n(ace)g(program)515-3287 y(tak)n(es)18 b(a)g(n)n(um)n(b)r(er)g(of)h(clo)r(c)n(k)f(cycles.)-33 b(Here)19 b(is)f(the)i(informal)e(seman)n(tics)g(of)g(P)n(ace)g-(constructs:)639 3485 y Fi(\017)41 b Fp(Skip)p Fq(:)49-b(This)35 b(program)d(do)r(es)j(not)f(send)h(an)n(y)e(messages,)i(and)f-(tak)n(es)g(no)g(time)h(to)722 3585 y(execute.)639 3741-y Fi(\017)41 b Fp(Emit)h(msg)p Fq(:)k(This)33 b(program)d(sends)j(out)f-(the)h(message)e Fp(msg)p Fq(,)i(and)g(tak)n(es)e(no)i(time)722-3840 y(to)28 b(execute.)639 3996 y Fi(\017)41 b Fp(Wait)p-Fq(:)d(This)28 b(program)f(do)r(es)h(not)h(send)f(an)n(y)g(messages,)f-(and)i(tak)n(es)e(1)i(clo)r(c)n(k)e(cycle)722 4096 y(to)h(execute.)639-4252 y Fi(\017)41 b Fp(IfThenElse)f(cond)i(\(p1,)g(p2\))p-Fq(:)49 b(If)36 b(the)f(signal)e Fp(cond)g Fq(is)i(high,)h(it)f-(executes)g Fp(p1)p Fq(,)722 4352 y(and)c(sends)g(the)g(messages)f-Fp(p1)g Fq(sends,)i(and)e(tak)n(es)h(as)f(long)g(time)i(as)e-Fp(p1)g Fq(tak)n(es.)47 b(If)722 4452 y Fp(cond)26 b-Fq(is)i(lo)n(w,)f(the)h(same,)f(but)h(for)f Fp(p2)p Fq(.)639-4608 y Fi(\017)41 b Fp(While)h(cond)g(p)p Fq(:)34 b(If)24-b Fp(cond)d Fq(is)i(high,)h(then)g(it)f(executes)g Fp(p)p-Fq(,)h(and)e(sends)h(the)h(messages)722 4707 y Fp(p)29-b Fq(sends,)h(w)n(aits)f(for)g(the)h(amoun)n(t)f(of)g(time)h-Fp(p)g Fq(tak)n(es)e(to)h(\014nish,)i(and)e(then)h(tries)f(to)722-4807 y(execute)g(the)h(program)d(again.)41 b(If)30 b-Fp(cond)e Fq(is)h(lo)n(w,)g(it)h(\014nishes)f(righ)n(t)f(a)n(w)n(a)n(y)-g(without)722 4907 y(sending)g(an)n(y)g(messages.)37-b(F)-7 b(or)27 b(this)i(program)d(to)i(b)r(e)g(v)-5 b(alid,)29-b Fp(p)f Fq(m)n(ust)g(at)g(least)g(tak)n(e)722 5006 y(one)f(clo)r(c)n-(k)g(cycle)h(to)f(execute)h(if)g Fp(cond)e Fq(is)h(high.)1905-5255 y(63)p eop-%%Page: 64 65-64 64 bop 1570 1315 a @beginspecial 0 @llx 0 @lly 181-@urx 210 @ury 905 @rwi @setspecial-%%BeginDocument: Pictures/flashcircuit.eps-/$F2psDict 200 dict def-$F2psDict begin-$F2psDict /mtrx matrix put-/col-1 {0 setgray} bind def-/col0 {0.000 0.000 0.000 srgb} bind def-/col1 {0.000 0.000 1.000 srgb} bind def-/col2 {0.000 1.000 0.000 srgb} bind def-/col3 {0.000 1.000 1.000 srgb} bind def-/col4 {1.000 0.000 0.000 srgb} bind def-/col5 {1.000 0.000 1.000 srgb} bind def-/col6 {1.000 1.000 0.000 srgb} bind def-/col7 {1.000 1.000 1.000 srgb} bind def-/col8 {0.000 0.000 0.560 srgb} bind def-/col9 {0.000 0.000 0.690 srgb} bind def-/col10 {0.000 0.000 0.820 srgb} bind def-/col11 {0.530 0.810 1.000 srgb} bind def-/col12 {0.000 0.560 0.000 srgb} bind def-/col13 {0.000 0.690 0.000 srgb} bind def-/col14 {0.000 0.820 0.000 srgb} bind def-/col15 {0.000 0.560 0.560 srgb} bind def-/col16 {0.000 0.690 0.690 srgb} bind def-/col17 {0.000 0.820 0.820 srgb} bind def-/col18 {0.560 0.000 0.000 srgb} bind def-/col19 {0.690 0.000 0.000 srgb} bind def-/col20 {0.820 0.000 0.000 srgb} bind def-/col21 {0.560 0.000 0.560 srgb} bind def-/col22 {0.690 0.000 0.690 srgb} bind def-/col23 {0.820 0.000 0.820 srgb} bind def-/col24 {0.500 0.190 0.000 srgb} bind def-/col25 {0.630 0.250 0.000 srgb} bind def-/col26 {0.750 0.380 0.000 srgb} bind def-/col27 {1.000 0.500 0.500 srgb} bind def-/col28 {1.000 0.630 0.630 srgb} bind def-/col29 {1.000 0.750 0.750 srgb} bind def-/col30 {1.000 0.880 0.880 srgb} bind def-/col31 {1.000 0.840 0.000 srgb} bind def--end-save--107.0 248.0 translate-1 -1 scale--/cp {closepath} bind def-/ef {eofill} bind def-/gr {grestore} bind def-/gs {gsave} bind def-/sa {save} bind def-/rs {restore} bind def-/l {lineto} bind def-/m {moveto} bind def-/rm {rmoveto} bind def-/n {newpath} bind def-/s {stroke} bind def-/sh {show} bind def-/slc {setlinecap} bind def-/slj {setlinejoin} bind def-/slw {setlinewidth} bind def-/srgb {setrgbcolor} bind def-/rot {rotate} bind def-/sc {scale} bind def-/sd {setdash} bind def-/ff {findfont} bind def-/sf {setfont} bind def-/scf {scalefont} bind def-/sw {stringwidth} bind def-/tr {translate} bind def-/tnt {dup dup currentrgbcolor-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}-  bind def-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul-  4 -2 roll mul srgb} bind def-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def-/$F2psEnd {$F2psEnteredState restore end} def--$F2psBegin-10 setmiterlimit-n -1000 5125 m -1000 -1000 l 5800 -1000 l 5800 5125 l cp clip- 0.06000 0.06000 sc-% Polyline-7.500 slw-n 1800 1500 m 3900 1500 l 3900 3300 l 1800 3300 l cp gs col0 s gr -% Polyline-gs  clippath-2130 1377 m 2100 1473 l 2070 1377 l 2070 1515 l 2130 1515 l cp-clip-n 2100 900 m 2100 1500 l gs col0 s gr gr--% arrowhead-n 2130 1377 m 2100 1473 l 2070 1377 l 2100 1353 l 2130 1377 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-3630 3777 m 3600 3873 l 3570 3777 l 3570 3915 l 3630 3915 l cp-clip-n 3600 3300 m 3600 3900 l gs col0 s gr gr--% arrowhead-n 3630 3777 m 3600 3873 l 3570 3777 l 3600 3753 l 3630 3777 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4377 1770 m 4473 1800 l 4377 1830 l 4515 1830 l 4515 1770 l cp-clip-n 3900 1800 m 4500 1800 l gs col0 s gr gr--% arrowhead-n 4377 1770 m 4473 1800 l 4377 1830 l 4353 1800 l 4377 1770 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4377 2070 m 4473 2100 l 4377 2130 l 4515 2130 l 4515 2070 l cp-clip-n 3900 2100 m 4500 2100 l gs col0 s gr gr--% arrowhead-n 4377 2070 m 4473 2100 l 4377 2130 l 4353 2100 l 4377 2070 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4377 2370 m 4473 2400 l 4377 2430 l 4515 2430 l 4515 2370 l cp-clip-n 3900 2400 m 4500 2400 l gs col0 s gr gr--% arrowhead-n 4377 2370 m 4473 2400 l 4377 2430 l 4353 2400 l 4377 2370 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4377 2670 m 4473 2700 l 4377 2730 l 4515 2730 l 4515 2670 l cp-clip-n 3900 2700 m 4500 2700 l gs col0 s gr gr--% arrowhead-n 4377 2670 m 4473 2700 l 4377 2730 l 4353 2700 l 4377 2670 l  cp gs 0.00 setgray ef gr  col0 s-% Polyline-gs  clippath-4377 2970 m 4473 3000 l 4377 3030 l 4515 3030 l 4515 2970 l cp-clip-n 3900 3000 m 4500 3000 l gs col0 s gr gr--% arrowhead-n 4377 2970 m 4473 3000 l 4377 3030 l 4353 3000 l 4377 2970 l  cp gs 0.00 setgray ef gr  col0 s-/Helvetica ff 270.00 scf sf-3300 4125 m-gs 1 -1 sc (finish) col0 sh gr-/Helvetica ff 270.00 scf sf-1875 825 m-gs 1 -1 sc (start) col0 sh gr-/Times-Italic ff 270.00 scf sf-4800 2700 m-gs 1 -1 sc  90.0 rot (emits) col0 sh gr-$F2psEnd-rs-%%EndDocument- @endspecial 788 1498 a Fq(Figure)27 b(9.4:)36 b(The)28-b(shap)r(e)f(of)h(a)f(circuit)g(represen)n(ting)f(a)i(P)n(ace)e-(program.)639 1763 y Fi(\017)41 b Fp(p1)i(:>>)f(p2)p-Fq(:)e(\()p Fn(se)l(quential)33 b(c)l(omp)l(osition)p-Fq(\))e(The)f(program)d(executes)i Fp(p1)p Fq(,)h(w)n(aits)f(for)722-1863 y(the)f(time)g(it)g(tak)n(es)f(to)h(\014nish,)f(and)h(then)g-(executes)f Fp(p2)p Fq(.)639 2029 y Fi(\017)41 b Fp(p1)i(:||)f(p2)p-Fq(:)57 b(\()p Fn(p)l(ar)l(al)t(lel)42 b(c)l(omp)l(osition)p-Fq(\))d(The)f(program)e(executes)i Fp(p1)f Fq(and)h Fp(p2)f-Fq(in)722 2128 y(parallel,)27 b(w)n(aiting)g(for)g(b)r(oth)h(to)f-(\014nish)h(un)n(til)g(it)g(\014nishes.)515 2351 y(Here)f(is)g(an)h-(example)f(of)h(a)f(P)n(ace)f(program,)f(where)j(w)n(e)f(describ)r(e)g-(a)g(toggle:)602 2537 y Fp(togglePace)39 b(change)i(=)689-2636 y(While)h(high)776 2736 y(\()h(While)f(\(inv)g(change\))951-2836 y(\()h(Wait)951 2935 y(\))689 3035 y(:>>)f(Emit)g(\(\))689-3134 y(:>>)g(Wait)689 3234 y(:>>)g(While)g(\(inv)g(change\))951-3334 y(\()h(Emit)f(\(\))863 3433 y(:>>)h(Wait)951 3533-y(\))689 3633 y(:>>)f(Wait)776 3732 y(\))515 3918 y Fq(W)-7-b(e)36 b(can)f(read)g(the)h(program)e(as)h(follo)n(ws.)60-b(F)-7 b(orev)n(er:)51 b(w)n(ait)35 b(un)n(til)h Fp(change)d-Fq(is)j(not)g(lo)n(w,)515 4018 y(then)c(emit)g(a)f(message,)g(and)g(w)n-(ait.)48 b(Then,)33 b(w)n(ait)e(un)n(til)h Fp(change)d-Fq(is)i(not)g(lo)n(w,)h(and)g(emit)515 4117 y(a)e(message)f(all)i(the)g-(time,)h(then)f(w)n(ait.)46 b(The)31 b(t)n(yp)r(e)g(of)f(messages)f-(this)i(P)n(ace)f(program)e(is)515 4217 y(using,)f(is)h-Fp(\(\))p Fq(,)e(b)r(ecause)i(there)f(is)g(only)h(one)f(message.)515-4356 y(W)-7 b(e)32 b(can)f(giv)n(e)f(a)h(more)g(formal)g(seman)n(tics)f-(to)i(this)g(language)d(b)n(y)j(giving)e(a)h(translation)515-4456 y(from)c(a)g(program)f(to)h(a)g(circuit.)37 b(And)28-b(then)g(w)n(e)g(get)f(an)g(implemen)n(tation)h(for)f(free!)515-4596 y(W)-7 b(e)33 b(are)f(going)g(to)h(de\014ne)g(a)g(function)h-Fp(circuit)p Fq(,)d(whic)n(h)i(tak)n(es)f(a)h(P)n(ace)f(program)f(to)h-(a)515 4695 y(P)n(ace)26 b(circuit.)602 4881 y Fp(type)42-b(PaceCircuit)d(out)689 4981 y(=)k(Signal)e(Bool)h(->)h(\(PaceEmits)c-(out,)j(Signal)g(Bool\))1905 5255 y Fq(64)p eop-%%Page: 65 66-65 65 bop 602 623 a Fp(type)42 b(PaceEmits)e(out)689-722 y(=)j([\(out,)e(Signal)g(Bool\)])602 922 y(circuit)g(::)h(Pace)g-(out)h(->)f(PaceCircuit)d(out)515 1103 y Fq(A)25 b(P)n(ace)e(circuit)i-(\(see)g(\014gure)f(9.4\))h(tak)n(es)f(in)h(one)f(input,)j(called)d-Fp(start)p Fq(,)g(whic)n(h)h(is)f(used)h(to)515 1203-y(activ)-5 b(ate)23 b(the)g(program,)f(and)h(has)g(t)n(w)n(o)f-(outputs,)j(a)e(list)g Fp(emits)p Fq(,)f(and)h(a)g(signal)f-Fp(finished)p Fq(,)515 1303 y(whic)n(h)33 b(the)i(circuit)e(uses)h(to)f-(indicate)h(that)g(it)g(is)g(done.)55 b(The)34 b(list)g-Fp(emits)e Fq(is)h(a)h(lo)r(okup)515 1402 y(table,)27-b(whic)n(h)h(relates)e(output)j(messages)d(and)h(signals.)515-1542 y(W)-7 b(e)30 b(start)f(with)h Fp(Skip)p Fq(.)40-b(Here,)30 b(w)n(e)f(just)h(connect)g Fp(start)d Fq(to)j-Fp(finish)p Fq(,)d(so)i(that)h(w)n(e)f(\014nish)515 1641-y(immediately)-7 b(.)602 1823 y Fp(circuit)41 b(Skip)h(start)f(=)i-(\([],)f(finish\))689 1923 y(where)776 2022 y(finish)f(=)j(start)515-2204 y Fq(In)33 b(the)h(case)e(of)i Fp(Emit)p Fq(,)f(w)n(e)g(connect)g-(the)h Fp(start)d Fq(to)i(the)h(righ)n(t)e(output,)k(and)d(w)n(e)g-(\014nish)515 2304 y(immediately)-7 b(.)602 2486 y Fp(circuit)41-b(\(Emit)g(out\))h(start)g(=)h(\(emits,)d(finish\))689-2585 y(where)776 2685 y(emits)85 b(=)44 b([\(out,)d(start\)])776-2785 y(finish)g(=)j(start)515 2966 y Fq(When)31 b(w)n(e)f(execute)h(a)f-Fp(Wait)p Fq(,)g(w)n(e)g(connect)g Fp(start)f Fq(and)h-Fp(finish)p Fq(,)f(but)j(with)f(a)f(dela)n(y)-7 b(,)31-b(so)515 3066 y(that)d(it)g(tak)n(es)e(one)h(clo)r(c)n(k)g(cycle)h(to)f-(\014nish.)602 3248 y Fp(circuit)41 b(Wait)h(start)f(=)i(\([],)f-(finish\))689 3347 y(where)776 3447 y(finish)f(=)j(delay)d(low)h(start)-515 3629 y Fq(T)-7 b(o)34 b(transform)g(an)h Fp(IfThenElse)p-Fq(,)e(w)n(e)h(\014rst)h(transform)f(the)h(t)n(w)n(o)f(subprograms)f-Fp(prog1)515 3729 y Fq(and)25 b Fp(prog2)p Fq(.)34 b(W)-7-b(e)26 b(start)e Fp(prog1)g Fq(if)h Fp(start)f Fq(is)h(high)g(and)g(if)-h(the)f(condition)g(is)h(true,)f(and)g(w)n(e)515 3828-y(start)31 b Fp(prog2)e Fq(if)k Fp(start)c Fq(is)j(high)f(and)h(the)g-(condition)f(is)h(false.)49 b(W)-7 b(e)32 b(collect)f(all)g(emitted)515-3928 y(messages,)26 b(and)h(\014nish)h(if)g(either)g(one)f(of)g(them)h-(\014nishes.)602 4110 y Fp(circuit)41 b(\(IfThenElse)e(cond)j(\(prog1,)-e(prog2\)\))h(start)g(=)j(\(emits,)c(finish\))689 4209-y(where)776 4309 y(\(emits1,)h(finish1\))f(=)j(circuit)e(prog1)g-(start1)776 4408 y(\(emits2,)g(finish2\))f(=)j(circuit)e(prog2)g-(start2)776 4608 y(start1)g(=)j(and2)d(\(start,)g(cond\))776-4707 y(start2)g(=)j(and2)d(\(start,)g(inv)h(cond\))776-4907 y(emits)85 b(=)44 b(emits1)d(++)h(emits2)776 5006-y(finish)f(=)j(or2)e(\(finish1,)e(finish2\))1905 5255-y Fq(65)p eop-%%Page: 66 67-66 66 bop 515 523 a Fq(T)-7 b(o)40 b(transform)g(a)g-Fp(While)p Fq(,)i(w)n(e)f(\014rst)f(transform)g(the)h(subprogram)e-Fp(prog)p Fq(.)75 b(Then,)44 b(w)n(e)515 623 y(in)n(tro)r(duce)c(an)h-(auxiliary)e(signal)h(called)g Fp(active)p Fq(,)i(whic)n(h)e(is)h(high)-f(exactly)h(when)f(w)n(e)515 722 y(should)31 b(consider)f(starting)g-Fp(prog)p Fq(,)g(that)h(is)g(when)h(the)f(whole)g(while)g(lo)r(op)g(is)-f(started)h(or)515 822 y(when)i Fp(prog)e Fq(has)i(\014nished.)53-b(W)-7 b(e)34 b(actually)e(start)h Fp(prog)e Fq(when)i(w)n(e)g(are)f-(activ)n(e,)i(and)f(the)515 922 y(condition)24 b(is)f(true.)36-b(W)-7 b(e)24 b(\014nish)h(the)f(while)g(lo)r(op)g(when)g(w)n(e)g(are)f-(activ)n(e)g(but)i(the)f(condition)515 1021 y(is)j(false.)602-1206 y Fp(circuit)41 b(\(While)g(cond)h(prog\))f(start)h(=)h(\(emits,)e-(finish\))689 1306 y(where)776 1405 y(\(emits,)g(finish'\))f(=)j-(circuit)e(prog)h(start')776 1605 y(active)f(=)j(or2)e(\(start,)f-(finish'\))776 1704 y(start')g(=)j(and2)d(\(active,)g(cond\))776-1804 y(finish)g(=)j(and2)d(\(active,)g(inv)h(cond\))515-1989 y Fq(T)-7 b(ransforming)25 b(sequen)n(tial)i(comp)r(osition)f-(just)i(connects)f(the)g Fp(finish)e Fq(of)i(the)h(\014rst)f(with)515-2089 y(the)h Fp(start)d Fq(of)j(the)g(second,)f(and)g(collects)g(the)h-(emitted)h(messages.)602 2274 y Fp(circuit)41 b(\(prog1)g(:>>)h-(prog2\))f(start)h(=)h(\(emits,)e(finish\))689 2373 y(where)776-2473 y(\(emits1,)g(finish1\))f(=)j(circuit)e(prog1)g(start)776-2572 y(\(emits2,)g(finish\))84 b(=)43 b(circuit)e(prog2)g(finish1)776-2772 y(emits)h(=)h(emits1)e(++)i(emits2)515 2957 y Fq(And)25-b(lastly)-7 b(,)26 b(transforming)d(parallel)h(comp)r(osition)g(starts)-g(b)r(oth)i(circuits)e(when)i(started,)515 3056 y(collects)j(the)h-(emitted)g(messages,)f(and)g Fn(synchr)l(onizes)i Fq(the)f(\014nish)g-(signals)e(for)h(\014nishing.)515 3156 y(W)-7 b(e)28-b(use)g(the)h Fp(synchronize)23 b Fq(circuit,)29 b(de\014ned)f(in)g-(exercise)f(5.9)h(\(the)g(answ)n(er)f(is)h(on)g(page)515-3256 y(84\).)602 3441 y Fp(circuit)41 b(\(prog1)g(:||)h(prog2\))f-(start)h(=)h(\(emits,)e(finish\))689 3540 y(where)776-3640 y(\(emits1,)g(finish1\))f(=)j(circuit)e(prog1)g(start)776-3740 y(\(emits2,)g(finish2\))f(=)j(circuit)e(prog2)g(start)776-3939 y(emits)85 b(=)44 b(emits1)d(++)h(emits2)776 4038-y(finish)f(=)j(synchronize)39 b(\(finish1,)g(finish2\))515-4223 y Fq(No)n(w)29 b(w)n(e)h(ha)n(v)n(e)f(made)h(this)g(translator,)f-(w)n(e)h(can)f(use)h(it)h(to)f(turn)g(a)f(P)n(ace)g(program)f(plus)515-4323 y(a)33 b(list)h(of)f(output)h(messages)e(w)n(e)i(are)e(in)n-(terested)h(in)h(in)n(to)g(a)f(circuit,)i(outputting)f(these)515-4423 y(messages.)602 4608 y Fp(compile)41 b(::)h(Eq)h(out)f(=>)h(Pace)f-(out)g(->)h([out])f(->)h([Signal)d(Bool])602 4707 y(compile)h(prog)h-(outputs)e(=)j(signals)689 4807 y(where)776 4907 y(start)260-b(=)43 b(delay)e(high)h(low)776 5006 y(\(emits,)f(_\))i(=)g(circuit)e-(prog)g(start)1905 5255 y Fq(66)p eop-%%Page: 67 68-67 67 bop 776 623 a Fp(signals)41 b(=)863 722 y([)j(orl)e([)h(sig)1125-822 y(|)g(\(out',sig\))d(<-)i(emits)1125 922 y(,)h(out)f(==)h(out')1125-1021 y(])863 1121 y(|)h(out)e(<-)h(outputs)863 1220 y(])515-1406 y Fq(W)-7 b(e)32 b(\014rst)f(create)g(a)h(top-lev)n(el)e-Fp(start)g Fq(signal,)i(whic)n(h)g(is)f(to)h(b)r(e)g(high)g(on)f(the)h-(\014rst)g(clo)r(c)n(k)515 1506 y(tic)n(k,)e(and)f(then)h(lo)n(w)f-(forev)n(er,)f(then)i(\014lter)f(out)h(the)g(signals)e(w)n(e)h(are)g-(in)n(terested)g(in)g(from)515 1606 y(the)i(resulting)g(circuit.)48-b(Note)32 b(that)f(w)n(e)g(ha)n(v)n(e)g(to)g(tak)n(e)g(the)g(or)g(for)g-(these)g(signals,)g(since)515 1705 y(there)c(migh)n(t)h(b)r(e)g(sev)n-(eral)d(parts)i(of)h(the)g(P)n(ace)e(program)g(emitting)i(the)g(same)f-(signal.)515 1845 y(Here)g(is)g(ho)n(w)g(w)n(e)h(can)f(create)g(a)g-(toggle)f(circuit)i(from)f(the)h(giv)n(en)f(P)n(ace)f(program:)602-2031 y Fp(toggle')41 b(change)g(=)i(out)689 2130 y(where)776-2230 y([out])f(=)h(compile)e(\(togglePace)e(change\))h([\(\)])515-2416 y Fq(W)-7 b(e)19 b(compile)g(the)g(P)n(ace)f(circuit,)i(and)f(sa)n-(y)f(that)h(w)n(e)g(are)f(only)h(in)n(terested)f(the)h-Fp(\(\))g Fq(messages.)515 2730 y Fm(9.3)135 b(Exercises)575-2945 y Fq(9.1)40 b(In)33 b(the)h(circuit)f(pro)r(duced)f(b)n(y)h(the)g-(state)g(mac)n(hine)g(translation,)g(all)f(inputs)i(will)722-3045 y(only)29 b(ha)n(v)n(e)f(e\013ect)i(on)f(the)g(outputs)h(in)f(the)-h Fn(next)e Fq(clo)r(c)n(k)h(cycle.)41 b(Sometimes,)30-b(ho)n(w-)722 3145 y(ev)n(er,)24 b(it)h(migh)n(t)f(b)r(e)g(desirable)f-(to)h(c)n(hange)f(state)h(dep)r(ending)h(on)f(the)g(curren)n(t)f(input)-722 3244 y Fn(right)31 b(away)p Fq(.)38 b(In)28 b(this)g(w)n(a)n(y)-7-b(,)26 b(y)n(ou)h(are)g(not)g(in)n(terested)g(in)h(the)g(initial)g-(state.)722 3377 y(Sho)n(w)33 b(ho)n(w)f(to)h(c)n(hange)f(the)i-(de\014nition)f(of)g Fp(stateMachine)28 b Fq(to)33 b(incorp)r(orate)f-(this)722 3477 y(c)n(hange.)575 3643 y(9.2)40 b(V)-7-b(erify)26 b(that)g(the)f(toggle)g(circuit)g(deriv)n(ed)g(from)g(the)h-(P)n(ace)e(program)f(is)i(equiv)-5 b(alen)n(t)722 3742-y(to)28 b(a)f(direct)g(de\014nition)h(of)g(a)f(toggle)g(circuit.)575-3908 y(9.3)40 b(Describ)r(e)d(the)h Fp(synchronize)32-b Fq(circuit)37 b(from)g(exercise)f(5.9)g(in)i(terms)f(of)g(a)f(state)-722 4008 y(mac)n(hine,)29 b(and)g(generate)e(a)h(circuit)h(for)f(it.)41-b(V)-7 b(erify)29 b(that)g(the)g(implemen)n(tation)g(in)722-4108 y(y)n(our)e(answ)n(er)f(to)h(5.9)g(is)g(correct!)575-4274 y(9.4)40 b(Describ)r(e)e(the)g Fp(synchronize)33-b Fq(circuit)38 b(from)f(exercise)g(5.9)f(in)i(terms)g(of)f(a)g(P)n-(ace)722 4373 y(program,)27 b(and)h(generate)f(a)g(circuit)h(for)g(it.)-39 b(V)-7 b(erify)28 b(that)h(the)g(implemen)n(tation)f(in)722-4473 y(y)n(our)f(answ)n(er)f(to)h(5.9)g(is)g(correct!)1905-5255 y(67)p eop-%%Page: 68 69-68 68 bop 515 1186 a Fo(Chapter)64 b(10)515 1641 y Fs(T)-6-b(yp)6 b(es)515 2112 y Fq(In)28 b(this)f(c)n(hapter,)g(w)n(e)g(will)h-(describ)r(e)f(what)h(role)f(t)n(yp)r(es)g(pla)n(y)g(in)h(the)g(La)n(v)--5 b(a)26 b(system.)515 2426 y Fm(10.1)135 b(Signals)46-b(and)f(Circuits)515 2648 y Fq(The)35 b(circuits)g(in)g(La)n(v)-5-b(a)34 b(are)g Fn(functions)h Fq(from)g(input)h(signals)e(to)h(output)h-(signals.)58 b(The)515 2748 y(basic)31 b(signals)g(in)h(La)n(v)-5-b(a)31 b(are)g Fp(low)p Fq(,)g Fp(high)p Fq(,)h(and)g(in)n(teger)f-(signals.)48 b(The)32 b(t)n(yp)r(e)g(of)g(the)g(\014rst)515-2847 y(t)n(w)n(o)k(signals)g(is)h Fp(Signal)k(Bool)p-Fq(,)c(and)g(that)h(of)e(in)n(teger)g(signals)g(is)h-Fp(Signal)k(Int)p Fq(.)64 b(The)515 2947 y(notation)27-b(for)g(this)h(is:)602 3132 y Fp(low)86 b(::)43 b(Signal)e(Bool)602-3231 y(high)h(::)h(Signal)e(Bool)602 3331 y(3)174 b(::)43-b(Signal)e(Int)602 3430 y(42)130 b(::)43 b(Signal)e(Int)602-3530 y(-17)86 b(::)43 b(Signal)e(Int)515 3715 y Fq(The)27-b(t)n(yp)r(es)h(of)f(circuits)h(are)e(written)i(using)f(the)h(sym)n(b)r-(ol)g Fp(->)p Fq(.)36 b(Examples)26 b(are:)602 3900 y-Fp(and2)173 b(::)42 b(\(Signal)f(Bool,)h(Signal)f(Bool\))128-b(->)43 b(Signal)e(Bool)602 3999 y(times)129 b(::)42-b(\(Signal)f(Int,)h(Signal)f(Int\))216 b(->)43 b(Signal)e(Int)602-4099 y(halfAdd)g(::)h(\(Signal)f(Bool,)h(Signal)f(Bool\))128-b(->)43 b(\(Signal)e(Bool,)g(Signal)g(Bool\))602 4198-y(adder2)85 b(::)42 b([\(Signal)f(Bool,)g(Signal)g(Bool\)])g(->)i-([Signal)e(Bool])515 4383 y Fq(As)30 b(w)n(e)g(can)h(see,)f(the)h(t)n-(yp)r(es)g(for)f(pairs)f(are)h(written)h(using)f Fp(\()p-Fq(,)h Fp(,)g Fq(and)f Fp(\))p Fq(,)h(and)f(the)h(t)n(yp)r(es)515-4483 y(for)c(lists)g(are)g(written)h(using)f Fp([)g Fq(and)h-Fp(])p Fq(.)515 4622 y(T)n(yp)r(es)40 b(do)f(not)i(ha)n(v)n(e)e(to)h(b)-r(e)g(explicitly)g(written)h(in)f(La)n(v)-5 b(a;)46 b(they)40-b(are)f(automatically)515 4722 y Fn(derive)l(d)27 b Fq(and)e-Fn(che)l(cke)l(d)p Fq(.)38 b(So,)25 b(if)h(w)n(e)f(mak)n(e)g(a)g(t)n-(yp)r(e)g(error,)f(for)h(example)g(b)n(y)g(giving)g(a)g(list)g(of)515-4821 y(signals)h(rather)h(than)g(a)h(pair)e(of)i(signals)e(to)i(an)f-(and)h(gate)f(as)g(input,)h(w)n(e)f(get:)602 5006 y Fp(Main>)41-b Fl(and2)h([high,)f(low])1905 5255 y Fq(68)p eop-%%Page: 69 70-69 69 bop 602 523 a Fp(ERROR:)41 b(Type)h(error)f(in)i(application)602-623 y(***)f(Expression)214 b(:)43 b(and2)f([low,high])602-722 y(***)g(Term)478 b(:)43 b([low,high])602 822 y(***)f(Type)478-b(:)43 b([Signal)e(Bool])602 922 y(***)h(Does)g(not)h(match)e(:)i-(\(Signal)e(Bool,Signal)e(Bool\))515 1236 y Fm(10.2)135-b(Connection)46 b(P)l(atterns)515 1458 y Fq(T)-7 b(o)30-b(b)r(e)i(able)e(to)h(deal)f(with)i(t)n(yp)r(es)f(in)g(the)g(presence)f-(of)h(connection)f(patterns,)h(w)n(e)g(need)515 1557-y(t)n(w)n(o)c(features:)36 b Fn(p)l(olymorphism)30 b-Fq(and)e Fn(higher-or)l(der)k(functions)p Fq(.)639 1780-y Fi(\017)41 b Fn(Polymorphism)h Fq(means)c(that)g(some)g(circuits)g-(or)g(connection)g(patterns)g(do)g(not)722 1879 y(care)d(ab)r(out)h-(what)g(kind)g(of)g(t)n(yp)r(e)g(w)n(e)f(are)g(using,)j(as)d(long)g(as)-g(it)h(matc)n(hes)g(with)722 1979 y(another)27 b(\(unkno)n(wn\))h(t)n-(yp)r(e.)639 2145 y Fi(\017)41 b Fn(Higher-or)l(der)33-b(functions)c Fq(allo)n(w)f(us)h(to)g(ha)n(v)n(e)f(functions)h(as)f-(parameters)g(to)h(other)722 2245 y(functions.)515 2467-y(Here)e(is)g(an)h(example:)36 b(the)28 b(t)n(yp)r(e)g(of)g(the)g-Fp(row)e Fq(connection)h(pattern.)602 2653 y Fp(row)42-b(::)h(\(\(c,a\))e(->)i(\(b,c\)\))e(->)i(\(c,[a]\))d(->)j(\([b],c\))515-2839 y Fq(F)-7 b(rom)40 b(this)h(w)n(e)f(can)g(see)h(that)g-Fp(row)e Fq(exp)r(ects)i(a)f(circuit)g(of)h(the)g(follo)n(wing)f(t)n-(yp)r(e)h(as)e(a)515 2939 y(parameter:)602 3125 y Fp(\(c,a\))i(->)i-(\(b,c\))515 3311 y Fq(The)25 b(connection)f(pattern)h(do)r(es)g(not)g-(care)e(ho)n(w)n(ev)n(er)g(what)i(exactly)g Fp(a)p Fq(,)g-Fp(b)f Fq(or)g Fp(c)h Fq(is,)g(as)g(long)515 3410 y(as)g(the)i(t)n(w)n-(o)e(uses)h(of)g Fp(c)f Fq(are)h(the)g Fn(same)p Fq(.)37-b(This)26 b(has)g(to)g(b)r(e)g(the)g(case)g(since)g Fp(c)f-Fq(is)h(the)h(t)n(yp)r(e)f(of)515 3510 y(the)g(carry)-7-b(,)25 b(and)g(the)h(carries)f(are)f(matc)n(hed)i(up)g(in)g(the)g(ro)n-(w.)36 b(But)26 b(apart)e(from)i(that,)h Fp(a)p Fq(,)e-Fp(b)515 3610 y Fq(and)i Fp(c)g Fq(can)h(b)r(e)g Fn(any)g-Fq(t)n(yp)r(e,)g(a)f(signal,)g(a)g(pair)g(of)g(signals,)g(a)g(list)h-(of)f(pairs)g(of)g(signals,)g(etc.)515 3924 y Fm(10.3)135-b(Ov)l(erloading)515 4146 y Fq(W)-7 b(e)21 b(ha)n(v)n(e)e(seen)i(a)f(n)-n(um)n(b)r(er)g(of)h(circuits)g(and)f(functions)h(that)g(b)r(eha)n(v)n-(e)f(di\013eren)n(tly)h(when)f(w)n(e)515 4245 y(use)30-b(them)i(in)f(di\013eren)n(t)g(con)n(texts.)45 b(This)31-b(is)g(called)f Fn(overlo)l(ading)p Fq(.)49 b(W)-7 b(e)31-b(use)g(o)n(v)n(erloading)515 4345 y(b)r(ecause)36 b(it)h(is)g(con)n(v)-n(enien)n(t,)h(w)n(e)f(do)f(not)h(ha)n(v)n(e)e(to)i(ha)n(v)n(e)f-(di\013eren)n(t)h(v)n(ersions)e(of)h(op)r(era-)515 4445-y(tions)24 b(around,)f(and)h(w)n(e)g(can)g(write)g(general)e(op)r-(erations)h(and)h(circuits)g(using)g(o)n(v)n(erloaded)515-4544 y(op)r(erations.)515 4684 y(An)39 b(example)f(is)g(the)h(constan)n-(t)f Fp(zero)p Fq(,)i(whic)n(h)f(is)f(a)g(generalized)f(v)n(ersion)g-(of)i Fp(low)p Fq(.)69 b(It)515 4783 y(b)r(eha)n(v)n(es)26-b(as)h(follo)n(ws.)1905 5255 y(69)p eop-%%Page: 70 71-70 70 bop 602 523 a Fp(Main>)41 b Fl(zero)602 623 y Fp(ERROR:)g-(Unresolved)e(overloading)602 822 y(Main>)i Fl(zero)h(::)h(Signal)e-(Bool)602 922 y Fp(low)602 1121 y(Main>)g Fl(zero)h(::)h(\(Signal)e-(Bool,)g(Signal)g(Bool\))602 1220 y Fp(\(low,)g(low\))602-1420 y(Main>)g Fl(zero)h(::)h(Signal)e(Int)602 1519 y-Fp(0)602 1719 y(Main>)g Fl(zero)h(::)h(\(Signal)e(Bool,)g(Signal)g-(Int\))602 1818 y Fp(\(low,)g(0\))515 2004 y Fq(In)25-b(the)h(\014rst)f(example,)h(w)n(e)f(see)g(that)h(La)n(v)-5-b(a)24 b(complains)h(b)r(ecause)g(it)h(has)f(no)g(idea)g(in)h(what)515-2104 y(kind)k(of)f(con)n(text)h(y)n(ou)f(w)n(an)n(t)g(to)g(use)h-Fp(zero)p Fq(.)42 b(In)30 b(a)f(La)n(v)-5 b(a)29 b(program,)f(this)i-(can)f(usually)h(b)r(e)515 2203 y(\014gured)g(out,)i(but)g(w)n(e)f(can)-f(b)r(e)i(explicit)f(ab)r(out)g(the)h(shap)r(e)f(of)g(the)g(result)g(b)-n(y)g(using)g(the)515 2303 y Fp(::)36 b Fq(notation.)515-2443 y(A)31 b(similar)f(constan)n(t)g(w)n(e)g(ha)n(v)n(e)g(seen)h(is)f-Fp(domain)p Fq(.)45 b(It)31 b(creates)e(a)i(list)g(of)g(all)f(the)h(p)r-(ossible)515 2542 y(v)-5 b(alues)27 b(of)h(a)f(certain)g(t)n(yp)r(e.)37-b(Here)27 b(is)g(ho)n(w)g(it)h(b)r(eha)n(v)n(es.)602-2728 y Fp(Main>)41 b(domain)h(::)g([Signal)f(Bool])602-2828 y([low,)g(high])602 3027 y(Main>)g(domain)h(::)g([\(Signal)f-(Bool,Signal)e(Bool\)])602 3127 y([\(low,)i(low\),)h(\(low,)f(high\),)g-(\(high,)g(low\),)h(\(high,)f(high\)])515 3313 y Fq(And)28-b(so)f(forth.)37 b(Other)27 b(examples)g(of)g(o)n(v)n(erloaded)e(op)r-(erators)h(are)g Fp(var)h Fq(and)g Fp(random)p Fq(.)515-3452 y(All)g(these)h(o)n(v)n(erloaded)c(op)r(erations)i(ha)n(v)n(e)g(a)-h(sp)r(ecial)g(v)n(ersion)f(that)h(w)n(orks)f(for)g(lists.)37-b(The)515 3552 y(reason)20 b(for)i(this)g(is)g(that,)i(in)f(the)f(case)-f(of)i(lists,)g(w)n(e)f(w)n(an)n(t)f(to)h(kno)n(w)g(ho)n(w)f-Fn(long)i Fq(they)f(should)515 3651 y(b)r(e.)56 b(Ho)n(w)34-b(else)g(can)g(w)n(e)f(create)g(a)h(list)g(with)h(only)f(lo)n(w)f(bits)-i(in)f(it,)i(or)d(sum)h(up)h(all)f(the)515 3751 y(p)r(ossible)27-b(lists)h(in)f(a)h(certain)f(domain?)515 3890 y(Here)40-b(are)f(some)h(examples)g(of)h(ho)n(w)f(the)h(sp)r(ecial)f(list)h(v)n-(ersions)d(b)r(eha)n(v)n(e)i(in)h(di\013eren)n(t)515-3990 y(con)n(texts.)602 4176 y Fp(Main>)g Fl(zeroList)g(3)i(::)g-([Signal)d(Bool])602 4276 y Fp([low,)h(low,)h(low])602-4475 y(Main>)f Fl(zeroList)g(2)i(::)g([\(Signal)d(Bool,Signal)f-(Bool\)])602 4575 y Fp([\(low,)i(low\),)h(\(low,)f(low\)])602-4774 y(Main>)g Fl(domainList)f(2)j(::)g([[Signal)d(Bool]])602-4873 y Fp([[low,)h(low],)h([low,)f(high],)g([high,)g(low],)h([high,)f-(high]])1905 5255 y Fq(70)p eop-%%Page: 71 72-71 71 bop 602 523 a Fp(Main>)41 b Fl(varList)g(3)i("apa")f(::)h-([Signal)d(Bool])602 623 y Fp([apa_1,)h(apa_2,)g(apa_3])515-809 y Fq(Examples)26 b(of)i(a)f(circuits)g(that)h(are)f(o)n(v)n-(erloaded)e(are)h Fp(delay)p Fq(,)g Fp(mux)p Fq(,)h(and)g-Fp(equal)p Fq(.)1905 5255 y(71)p eop-%%Page: 72 73-72 72 bop 515 1186 a Fo(App)5 b(endix)65 b(A)515 1641-y Fs(Quic)-6 b(k)76 b(Reference)i(Guide)515 2112 y Fq(In)29-b(this)g(app)r(endix)g(w)n(e)f(presen)n(t)g(an)h(o)n(v)n(erview)d(of)j-(options,)f(op)r(erations,)g(prede\014ned)h(cir-)515-2212 y(cuits)f(and)f(connection)g(patterns)g(in)h(La)n(v)-5-b(a.)515 2526 y Fm(A.1)134 b(The)45 b Fh(lava)e Fm(command)515-2748 y Fq(Here)27 b(are)g(the)h(command-line)f(options)g(for)g(the)h-Fp(lava)e Fq(command.)602 2950 y Fp(-h)p Fl(size)346-b Fp(set)42 b(memory)g(size)f(to)i Fl(size)f Fp(for)h(interpreter)602-3050 y(-c)g Fl(module)215 b Fp(compile)602 3150 y(-ghc)42-b Fl(module)128 b Fp(compile)41 b(using)g(GHC)i(\(default\))602-3249 y(-hbc)f Fl(module)128 b Fp(compile)41 b(using)g(HBC)602-3349 y(-u)522 b(update)41 b(internal)f(modules)h(after)h(change)602-3448 y(-x)h Fl(executable)c Fp(use)j(<)p Fl(executable)p-Fp(>)d(instead)i(of)i(compiler)515 3763 y Fm(A.2)134-b(Logical)46 b(Gates)515 3985 y Fq(Here)24 b(are)f(the)h(logical)f-(gates)h(de\014ned)g(in)h(the)f(La)n(v)-5 b(a)23 b(system.)36-b(Some)24 b(binary)f(gates)g(ha)n(v)n(e)g(a)515 4084-y(corresp)r(onding)k(binary)h(op)r(erator)f(\(for)i(example,)g-Fp(and2)e Fq(can)h(also)g(b)r(e)i(written)f(as)f Fp(<&>)p-Fq(\).)602 4370 y Fp(--)43 b Fl(Nullary)d(gates)i(::)h(Signal)e(Bool)-602 4469 y Fp(low)391 b(--)43 b Fl(constant)d(low)602-4569 y Fp(high)347 b(--)43 b Fl(constant)d(high)602 4768-y Fp(--)j Fl(Unary)e(gates)h(::)g(Signal)g(Bool)f(->)i(Signal)e(Bool)-602 4868 y Fp(id)435 b(--)43 b Fl(identity)602 4968 y-Fp(inv)391 b(--)43 b Fl(inverse,)d(negation)1905 5255-y Fq(72)p eop-%%Page: 73 74-73 73 bop 602 623 a Fp(--)43 b Fl(Binary)e(gates)g(::)i(\(Signal)e-(Bool,)g(Signal)g(Bool\))h(->)h(Signal)e(Bool)602 722-y Fp(and2,)85 b(<&>)h(--)43 b Fl(logical)d(and)602 822-y Fp(nand2)303 b(--)43 b Fl(inverse)d(of)j(logical)e(and)602-922 y Fp(or2,)129 b(<|>)86 b(--)43 b Fl(logical)d(or)602-1021 y Fp(nor2)347 b(--)43 b Fl(inverse)d(of)j(logical)e(or)602-1121 y Fp(xor2,)85 b(<#>)h(--)43 b Fl(logical)d(exclusive)g(or)602-1220 y Fp(xnor2,)h(<=>)86 b(--)43 b Fl(inverse)d(of)j(exclusive)d(or)-602 1320 y Fp(equiv,)h(<=>)86 b(--)43 b Fl(logical)d(equivalence)602-1420 y Fp(impl,)85 b(==>)h(--)43 b Fl(logical)d(implication)602-1619 y Fp(--)j Fl(n-ary)e(gates)h(::)g([Signal)f(Bool])h(->)g(Signal)g-(Bool)602 1719 y Fp(andl)347 b(--)43 b Fl(logical)d(and)602-1818 y Fp(nandl)303 b(--)43 b Fl(inverse)d(of)j(logical)e(and)602-1918 y Fp(orl)391 b(--)43 b Fl(logical)d(or)602 2017-y Fp(norl)347 b(--)43 b Fl(inverse)d(of)j(logical)e(or)602-2117 y Fp(xorl)347 b(--)43 b Fl(logical)d(exclusive)g(or)515-2427 y Fm(A.3)134 b(Arithmetical)47 b(Gates)515 2649-y Fq(Here)28 b(are)f(the)h(arithmetical)g(gates)f(de\014ned)i(in)f(the)-g(La)n(v)-5 b(a)27 b(system.)39 b(Some)28 b(binary)f(gates)515-2748 y(ha)n(v)n(e)c(a)i(corresp)r(onding)e(binary)h(op)r(erator)f-(\(for)i(example,)g Fp(plus)e Fq(can)i(also)e(b)r(e)j(written)f(as)515-2848 y Fp(+)p Fq(\).)602 3014 y Fp(--)43 b Fl(Nullary)d(gates)i(::)h-(Signal)e(Int)602 3113 y Fp(n)479 b(--)43 b Fl(constant)d(integer)h-(signal)602 3313 y Fp(--)i Fl(Unary)e(gates)h(::)g(Signal)g(Int)g(->)h-(Signal)e(Int)602 3412 y Fp(id)435 b(--)43 b Fl(identity)602-3512 y Fp(neg,)129 b(-)174 b(--)43 b Fl(negation)602-3711 y Fp(--)g Fl(Unary)e(conversion)602 3811 y Fp(int2bit)215-b(--)43 b Fl(integer)d(signal)h(to)i(boolean)e(signal)602-3910 y Fp(bit2int)215 b(--)43 b Fl(boolean)d(signal)h(to)i(integer)e-(signal)602 4110 y Fp(--)i Fl(Binary)e(gates)g(::)i(\(Signal)e(Int,)h-(Signal)f(Int\))h(->)g(Signal)g(Int)602 4209 y Fp(plus,)85-b(+)174 b(--)43 b Fl(addition)602 4309 y Fp(times,)e(*)174-b(--)43 b Fl(multiplication)602 4408 y Fp(sub,)129 b(-)174-b(--)43 b Fl(subtraction)602 4508 y Fp(idiv,)85 b(/)174-b(--)43 b Fl(integer)d(division)602 4608 y Fp(imod,)85-b(\045\045)130 b(--)43 b Fl(modulo)602 4707 y Fp(imin)347-b(--)43 b Fl(minimum)602 4807 y Fp(imax)347 b(--)43 b-Fl(maximum)602 5006 y Fp(--)g Fl(Binary)e(gates)g(::)i(\(Signal)e(Int,)-h(Signal)f(Int\))h(->)g(Signal)g(Bool)1905 5255 y Fq(73)p-eop-%%Page: 74 75-74 74 bop 602 523 a Fp(gte,)129 b(>>==)42 b(--)h Fl(greater)d(than)i-(or)h(equal)602 722 y Fp(--)g Fl(n-ary)e(gates)h(::)g([Signal)f(Int])h-(->)h(Signal)e(Int)602 822 y Fp(plusl)303 b(--)43 b Fl(addition)602-922 y Fp(timesl)259 b(--)43 b Fl(multiplication)515 1236-y Fm(A.4)134 b(Generic)45 b(Gates)515 1458 y Fq(Here)27-b(are)g(some)g(generic)f(gates)h(de\014ned)h(in)g(the)g(La)n(v)-5-b(a)26 b(system.)602 1644 y Fp(equal,)41 b(<==>)h(--)h-Fl(equality)602 1743 y Fp(delay,)e(|->)86 b(--)43 b Fl(delay)e-(component)602 1843 y Fp(mux)391 b(--)43 b Fl(multplexer,)c-(if-else-then)515 2029 y Fq(F)-7 b(urthermore,)25 b(La)n(v)-5-b(a)25 b(de\014nes)h(some)f(op)r(erations)g(whic)n(h)g(can)h(b)r(e)g-(used)g(on)g(some)f(of)h(these)515 2128 y(t)n(yp)r(es:)602-2314 y Fp(domain)215 b(::)43 b([a])602 2414 y(domainList)c(::)k(Int)f-(->)h([[a]])602 2613 y(zero)303 b(::)43 b(a)602 2713-y(zeroList)127 b(::)43 b(Int)f(->)h([a])602 2912 y(var)347-b(::)43 b(String)e(->)i(a)602 3012 y(varList)171 b(::)43-b(Int)f(->)h(String)e(->)i([a])515 3326 y Fm(A.5)134-b(Mo)t(dule:)60 b Fh(Patterns)515 3548 y Fq(Y)-7 b(ou)32-b(get)h(access)e(to)i(the)f(follo)n(wing)g(wiring)g(circuits)g(and)h-(connection)f(patterns)g(if)h(y)n(ou)515 3648 y(include)602-3833 y Fp(import)41 b(Patterns)515 4019 y Fq(at)27 b(the)h(top)g(of)f-(y)n(our)g(La)n(v)-5 b(a)26 b(program.)602 4205 y Fp(swap)260-b(::)43 b(\(a,)f(b\))h(->)f(\(b,)h(a\))602 4305 y(swapl)216-b(::)43 b([a])f(->)h([a])602 4405 y(copy)260 b(::)43-b(a)g(->)f(\(a,)h(a\))602 4604 y(riffle)172 b(::)43 b([a])f(->)h([a])-602 4704 y(unriffle)84 b(::)43 b([a])f(->)h([a])602 4903-y(zipp)260 b(::)43 b(\([a],[b]\))c(->)k([\(a,b\)])602-5002 y(unzipp)172 b(::)43 b([\(a,b\)])d(->)j(\([a],[b]\))1905-5255 y Fq(74)p eop-%%Page: 75 76-75 75 bop 602 623 a Fp(pair)260 b(::)43 b([a])f(->)h([\(a,a\)])602-722 y(unpair)172 b(::)43 b([\(a,a\)])d(->)j([a])602 922-y(halveList)d(::)j([a])f(->)h(\([a],[a]\))602 1021 y(append)172-b(::)43 b(\([a],[a]\))c(->)k([a])602 1220 y(serial)172-b(::)43 b(\(a)f(->)h(b\))g(->)g(\(b)f(->)h(c\))g(->)g(\(a)f(->)h(c\))-602 1320 y(\(->-\))216 b(::)43 b(\(a)f(->)h(b\))g(->)g(\(b)f(->)h(c\))g-(->)g(\(a)f(->)h(c\))602 1420 y(compose)128 b(::)43 b([a)f(->)h(a])g-(->)g(\(a)f(->)h(a\))602 1519 y(composeN)84 b(::)43 b(Int)f(->)h(\(a)f-(->)h(a\))g(->)g(\(a)f(->)h(a\))602 1719 y(par)304 b(::)43-b(\(a)f(->)h(b\))g(->)g(\(c)f(->)h(d\))g(->)g(\(\(a,c\))e(->)h-(\(b,d\)\))602 1818 y(\(-|-\))216 b(::)43 b(\(a)f(->)h(b\))g(->)g(\(c)f-(->)h(d\))g(->)g(\(\(a,c\))e(->)h(\(b,d\)\))602 1918-y(parl)260 b(::)43 b(\([a])e(->)i([b]\))f(->)h(\([a])f(->)h([b]\))f(->)-g(\([a])g(->)h([b]\))602 2117 y(two)304 b(::)43 b(\([a])e(->)i([b]\))f-(->)h(\([a])f(->)h([b]\))602 2217 y(ilv)304 b(::)43 b(\([a])e(->)i-([b]\))f(->)h(\([a])f(->)h([b]\))602 2316 y(twoN)260-b(::)43 b(Int)f(->)h(\([a])f(->)g([b]\))g(->)h(\([a])f(->)h([b]\))602-2416 y(ilvN)260 b(::)43 b(Int)f(->)h(\([a])f(->)g([b]\))g(->)h(\([a])f-(->)h([b]\))602 2516 y(iter)260 b(::)43 b(Int)f(->)h(\(b)f(->)h(b\))g-(->)g(\(b)f(->)h(b\))602 2715 y(bfly)260 b(::)43 b(Int)f(->)h(\([b])f-(->)g([b]\))g(->)h([b])f(->)h([b])602 2814 y(tri)304-b(::)43 b(\(a)f(->)h(a\))g(->)g(\([a])e(->)i([a]\))602-3014 y(pmap)260 b(::)43 b(\(\(a,a\))e(->)h(\(b,b\)\))f(->)i([a])g(->)f-([b])602 3213 y(mirror)172 b(::)43 b(\(\(a,b\))e(->)h(\(c,d\)\))f(->)i-(\(\(b,a\))216 b(->)42 b(\(d,c\)\))602 3313 y(row)304-b(::)43 b(\(\(c,a\))e(->)h(\(b,c\)\))f(->)i(\(\(c,[a]\))128-b(->)42 b(\([b],c\)\))602 3412 y(column)172 b(::)43 b(\(\(a,c\))e(->)h-(\(c,b\)\))f(->)i(\(\([a],c\))128 b(->)42 b(\(c,[b]\)\))602-3512 y(grid)260 b(::)43 b(\(\(a,b\))e(->)h(\(b,a\)\))f(->)i-(\(\([a],[b]\))d(->)i(\([b],[a]\)\))515 3826 y Fm(A.6)134-b(Mo)t(dule:)60 b Fh(Arithmetic)515 4048 y Fq(Y)-7 b(ou)27-b(get)h(access)e(to)i(the)g(follo)n(wing)e(arithmetical)h(circuits)g-(if)i(y)n(ou)d(include)602 4234 y Fp(import)41 b(Arithmetic)515-4420 y Fq(at)27 b(the)h(top)g(of)f(y)n(our)g(La)n(v)-5-b(a)26 b(program.)602 4606 y Fp(halfAdd)84 b(::)43 b(\(Signal)e-(Bool,Signal)e(Bool\))1430 4705 y(->)k(\(Signal)d(Bool,Signal)g(Bool\))-602 4805 y(fullAdd)84 b(::)43 b(\(Signal)e(Bool,\(Signal)d(Bool,Signal)-h(Bool\)\))1430 4905 y(->)k(\(Signal)d(Bool,Signal)g(Bool\))1905-5255 y Fq(75)p eop-%%Page: 76 77-76 76 bop 602 523 a Fp(bitAdder)40 b(::)j(\(Signal)e(Bool,[Signal)d-(Bool]\))1430 623 y(->)43 b(\([Signal)d(Bool],Signal)f(Bool\))602-722 y(adder)172 b(::)43 b(\(Signal)e(Bool,\([Signal)d(Bool],[Signal)g-(Bool]\)\))1430 822 y(->)43 b(\([Signal)d(Bool],Signal)f(Bool\))602-922 y(binAdder)h(::)j(\([Signal)d(Bool],[Signal)e(Bool]\))1430-1021 y(->)43 b([Signal)d(Bool])602 1220 y(bitMulti)g(::)j(\(Signal)e-(Bool,[Signal)d(Bool]\))1430 1320 y(->)43 b([Signal)d(Bool])602-1420 y(multi)172 b(::)43 b(\([Signal)d(Bool],[Signal)e(Bool]\))1430-1519 y(->)43 b([Signal)d(Bool])602 1719 y(numBreak)g(::)j(Signal)e(Int)-h(->)h(\(Signal)e(Bool,Signal)e(Int\))602 1818 y(int2bin)84-b(::)43 b(Int)f(->)h(Signal)e(Int)h(->)h([Signal)e(Bool])602-1918 y(bin2int)84 b(::)43 b([Signal)e(Bool])g(->)i(Signal)e(Int)515-2232 y Fm(A.7)134 b(Mo)t(dule:)60 b Fh(SequentialCircu)o(it)o(s)515-2454 y Fq(Y)-7 b(ou)27 b(get)h(access)e(to)i(the)g(follo)n(wing)e-(often)i(used)g(sequen)n(tial)e(circuits)i(if)g(y)n(ou)f(include)602-2638 y Fp(import)41 b(SequentialCircui)o(ts)515 2822-y Fq(at)27 b(the)h(top)g(of)f(y)n(our)g(La)n(v)-5 b(a)26-b(program.)602 3006 y Fp(edge)391 b(::)42 b(Signal)f(Bool)h(->)h-(Signal)e(Bool)602 3106 y(toggle)303 b(::)42 b(Signal)f(Bool)h(->)h-(Signal)e(Bool)602 3205 y(delayClk)215 b(::)42 b(a)h(->)g(\(Signal)e-(Bool,a\))g(->)h(a)602 3305 y(delayN)303 b(::)42 b(Int)h(->)f(a)i(->)e-(a)h(->)g(a)602 3405 y(always)303 b(::)42 b(Signal)f(Bool)h(->)h-(Signal)e(Bool)602 3504 y(puls)391 b(::)42 b(Int)h(->)f(\(\))h(->)g-(Signal)e(Bool)602 3604 y(outputList)127 b(::)42 b([a])h(->)f(\(\))h-(->)g(a)602 3803 y(rowSeq)303 b(::)42 b(\(\(a,b\))f(->)i(\(c,a\)\))e-(->)i(\(b)g(->)g(c\))602 3903 y(rowSeqReset)83 b(::)42-b(\(\(a,b\))f(->)i(\(c,a\)\))e(->)i(\(\(Signal)d(Bool,b\))h(->)i(c\))-602 4002 y(rowSeqPeriod)c(::)j(Int)h(->)f(\(\(a,b\))f(->)i(\(c,a\)\))e-(->)i(\(b)g(->)g(c\))515 4187 y Fq(Note)33 b(that)g(these)f(functions)h-(are)f(not)h(completely)f(p)r(olymorphic)g(in)h Fp(a)p-Fq(,)h(but)g(there)e(are)515 4286 y(certain)27 b(restrictions.)515-4600 y Fm(A.8)134 b(In)l(terpretations)515 4822 y Fq(Here)27-b(are)g(the)h(v)-5 b(arious)26 b(in)n(terpretations)g(for)h(circuits)h-(that)f(La)n(v)-5 b(a)27 b(pro)n(vides.)602 5006 y Fp(--)43-b Fl(simulations)1905 5255 y Fq(76)p eop-%%Page: 77 78-77 77 bop 602 523 a Fp(simulate)40 b Fl(circuit)h(input)602-623 y Fp(simulateSeq)e Fl(circuit)i(inputs)602 722 y-Fp(simulateCon)e Fl(circuit)i(inputs)602 822 y Fp(test)h-Fl(circuit)602 1021 y Fp(--)h Fl(VHDL)602 1121 y Fp(writeVhdl)d-Fl(name)i(circuit)602 1220 y Fp(writeVhdlInput)c Fl(name)k(circuit)e-(input)602 1320 y Fp(writeVhdlInputOu)o(tp)o(ut)d Fl(name)42-b(circuit)f(input)g(output)602 1519 y Fp(--)i Fl(verification)602-1619 y Fp(verify)e Fl(property)602 1719 y Fp(verifyWith)e-Fl(options)i(property)602 1818 y Fp(fixit)g Fl(property)515-1986 y Fq(P)n(ossible)26 b(v)n(eri\014cation)g(opions)h(are:)602-2153 y Fp(Name)42 b Fl(name)602 2253 y Fp(ShowTime)602-2352 y(Sat)g Fl(level)602 2452 y Fp(NoBacktracking)602-2552 y(Depth)f Fl(depth)602 2651 y Fp(Increasing)602-2751 y(RestrictStates)515 3061 y Fm(A.9)134 b(Errors)515-3283 y Fq(Here,)35 b(w)n(e)e(list)h(a)f(n)n(um)n(b)r(er)g(of)h(error)d-(messages)h(that)i(migh)n(t)g(o)r(ccur)f(when)g(running)h(the)515-3383 y(La)n(v)-5 b(a)26 b(system.)639 3582 y Fi(\017)128-b Fp(ERROR:)42 b(Garbage)e(collection)g(fails)h(to)i(reclaim)1115-3682 y(sufficient)c(space)722 3810 y Fq(This)31 b(means)f(that)i(La)n-(v)-5 b(a)29 b(do)r(es)i(not)f(ha)n(v)n(e)g(enough)g(memory)g(to)h-(execute)g(the)g(cir-)722 3909 y(cuit.)63 b(T)-7 b(ry)35-b(to)h(start)f(up)h(La)n(v)-5 b(a)35 b(with)h(more)f(memory)-7-b(,)38 b(do)d(this)i(b)n(y)e(sa)n(ying)g Fp(lava)722-4009 y(-h9999999)p Fq(.)f(Y)-7 b(ou)27 b(can)g(increase)g(the)h(n)n(um)-n(b)r(er)f(if)h(y)n(ou)f(need)h(more.)722 4137 y(If)j(this)g(do)r(es)f-(not)g(w)n(ork,)g(y)n(ou)g(migh)n(t)g(ha)n(v)n(e)f(an)h(error)f(in)h(y)-n(our)f(circuit)i(de\014nition.)722 4237 y(Do)d(y)n(ou)f(ha)n(v)n(e)f-(a)h(circular)g(de\014nition)h(somewhere?)639 4394 y-Fi(\017)128 b Fp(Program)41 b(error:)g(evaluating)f(a)j(delay)e-(component)722 4522 y Fq(Y)-7 b(ou)22 b(get)g(this)g(error)e(when)i(y)n-(ou)f(try)h(to)g(use)f(com)n(binational)g(sim)n(ulation)g-Fp(simulate)722 4622 y Fq(to)28 b(sim)n(ulate)f(a)g(sequen)n(tial)g-(circuit.)37 b(Use)27 b Fp(simulateSeq)d Fq(instead.)639-4778 y Fi(\017)128 b Fp(Program)41 b(error:)g(evaluating)f(a)j-(symbolic)d(value)722 4907 y Fq(Y)-7 b(ou)31 b(get)g(this)g(error)e-(when)i(y)n(ou)g(ha)n(v)n(e)e(used)i(the)h Fp(forAll)c-Fq(or)i Fp(var)g Fq(prop)r(ert)n(y)g(con-)722 5006 y(structors,)d(and)g-(then)h(later)f(tried)h(to)f(sim)n(ulate)g(the)h(circuit.)1905-5255 y(77)p eop-%%Page: 78 79-78 78 bop 639 523 a Fi(\017)128 b Fp(Program)41 b(error:)g-(combinational)d(loop)722 652 y Fq(Y)-7 b(ou)35 b(get)f(this)h(error)e-(when)h(y)n(ou)g(ha)n(v)n(e)g(de\014ned)g(a)h(circuit)f(whic)n(h)h(has)-f(a)g(lo)r(op)g(in)722 751 y(it,)e(on)f(whic)n(h)f(there)h(is)f(no)h-(dela)n(y)-7 b(.)45 b(In)31 b(general,)f(these)g(circuits)h(are)e(hard)-h(to)h(giv)n(e)722 851 y(meaning)23 b(to,)g(and)g(are)f(therefore)g-(not)g(allo)n(w)n(ed)g(in)h(normal)f(La)n(v)-5 b(a)21-b(sim)n(ulation.)35 b(Y)-7 b(ou)722 951 y(ha)n(v)n(e)27-b(probably)f(made)i(a)f(mistak)n(e)g(somewhere.)722 1079-y(Y)-7 b(ou)34 b(migh)n(t)g(try)g(the)h Fn(c)l(onstructive)f-Fq(sim)n(ulation)f Fp(simulateCon)d Fq(when)k(this)h(hap-)722-1179 y(p)r(ens.)639 1336 y Fi(\017)128 b Fp(Program)41-b(error:)g(combining)f(incompatible)f(structures)722-1465 y Fq(Y)-7 b(ou)24 b(get)g(this)h(error)d(when)i(y)n(ou)f(use)h(a)g-Fp(delay)e Fq(comp)r(onen)n(t)i(or)f Fp(mux)g Fq(comp)r(onen)n(t)g(on)-722 1565 y(structures)30 b(of)h(a)f(di\013eren)n(t)h(shap)r(e,)g(for)g-(example)f(t)n(w)n(o)g(lists)h(of)f(di\013eren)n(t)h(lengths.)722-1664 y(This)26 b(is)f(not)g(allo)n(w)n(ed,)f(since)h(the)h(length)f(of)-h(a)e(list)i(needs)f(to)g(b)r(e)h(kno)n(wn)e(when)i(y)n(ou)722-1764 y(ev)-5 b(aluate)27 b(the)h(circuit.)639 1922 y-Fi(\017)128 b Fp(Program)41 b(error:)g(there)h(is)h(no)f(equality)f-(defined)f(for)j(this)f(type)722 2050 y Fq(Sigh)23 b(...)36-b(y)n(ou)22 b(get)h(this)g(error)e(when)i(y)n(ou)f(use)h(the)g(Hask)n-(ell)f(equalit)n(y)h Fp(==)f Fq(on)g(a)h(signal)722 2150-y(t)n(yp)r(e.)37 b(Y)-7 b(ou)28 b(probably)e(w)n(an)n(t)h(to)h(use)f-(signal)g(equalit)n(y)g Fp(<==>)f Fq(instead.)639 2308-y Fi(\017)128 b Fp(Program)41 b(error:)g(short)h(circuit)722-2436 y Fq(This)23 b(happ)r(ens)f(when)h(y)n(ou)f(ha)n(v)n(e)f(a)h-Fn(b)l(ad)h Fq(com)n(binational)f(lo)r(op)g(in)h(y)n(our)e(circuit,)i-(and)722 2536 y(y)n(ou)34 b(constructiv)n(ely)f(sim)n(ulate)g(it)i-(using)f Fp(simulateCon)p Fq(.)52 b(A)34 b(real)f(circuit)i(w)n(ould)-722 2635 y(ha)n(v)n(e)27 b(oscillated.)36 b(An)28 b(example)f(is)h(the)-g(follo)n(wing)e(circuit:)809 2814 y Fp(shortCircuit)39-b(\(\))k(=)g(out)897 2913 y(where)984 3013 y(out)f(=)h(inv)g(out)639-3191 y Fi(\017)128 b Fp(Program)41 b(error:)g(undriven)g(output)722-3320 y Fq(This)22 b(also)f(happ)r(ens)i(when)f(y)n(ou)f(ha)n(v)n(e)g(a)-h Fn(b)l(ad)h Fq(com)n(binational)e(lo)r(op)h(in)g(y)n(our)f(circuit.)-722 3419 y(The)39 b(output)h(wire)e(is)h(not)g(driv)n(en)g(b)n(y)g(an)n-(y)f(comp)r(onen)n(t.)71 b(An)39 b(example)g(is)g(the)722-3519 y(follo)n(wing)27 b(circuit:)809 3697 y Fp(undrivenOutput)38-b(\(\))43 b(=)g(out)897 3797 y(where)984 3897 y(out)f(=)h(and2)f-(\(out,)g(out\))639 4075 y Fi(\017)128 b Fp(Program)41-b(error:)g(you)i(can)f(not)g(enumerate)e(symbolic)g(values)722-4203 y Fq(Y)-7 b(ou)29 b(get)g(this)g(error)e(when)i(y)n(ou)f(use)g-Fp(..)40 b Fq(on)28 b(wires)g(from)h(a)f(circuit)h(instead)g(of)f(on)-722 4303 y(constan)n(ts.)36 b(Use)28 b Fp(..)36 b Fq(only)27-b(on)g(constan)n(ts!)639 4461 y Fi(\017)128 b Fp(Program)41-b(error:)g(INTERNAL)g(ERROR)g(...)722 4589 y Fq(Oops!)34-b(This)23 b(probably)e(means)h(that)g(there)h(is)f(a)g(bug)g(in)h(the)f-(La)n(v)-5 b(a)21 b(system.)35 b(Please)722 4689 y(rep)r(ort)27-b(this)h(bug)f(b)n(y)h(sending)f(y)n(our)f(program)g(to)h(us,)h(so)f-(that)h(w)n(e)f(can)g(\014x)h(it.)515 4890 y(If)f(y)n(ou)e(ha)n(v)n(e)h-(some)f(t)n(ypical)h(error)f(that)i(y)n(ou)e(w)n(ould)h(ha)n(v)n(e)f-(lik)n(ed)i(to)f(app)r(ear)g(here,)g(please)515 4990-y(e-mail)h(us)g(so)g(that)h(w)n(e)f(can)h(mak)n(e)e(this)i(list)g(more)-f(complete.)1905 5255 y(78)p eop-%%Page: 79 80-79 79 bop 515 1186 a Fo(App)5 b(endix)65 b(B)515 1641-y Fs(Answ)-6 b(ers)575 2105 y Fq(2.1)40 b(Here)28 b(is)f(ho)n(w)g(w)n-(e)g(de\014ne)h Fp(swap)e Fq(and)i Fp(copy)p Fq(:)809-2305 y Fp(swap)42 b(\(a,)h(b\))f(=)i(\(b,)e(a\))809 2404-y(copy)g(a)261 b(=)44 b(\(a,)e(a\))575 2604 y Fq(2.2)e(W)-7-b(e)28 b(could)g(de\014ne)g(the)f(sorter)g Fp(twoBitSort)c-Fq(in)28 b(the)g(follo)n(wing)f(w)n(a)n(y:)809 2803 y-Fp(twoBitSort)40 b(\(a,)i(b\))h(=)g(\(min,)f(max\))897-2902 y(where)984 3002 y(min)g(=)h(and2)f(\(a,)h(b\))984-3102 y(max)f(=)h(or2)86 b(\(a,)43 b(b\))575 3301 y Fq(2.3)d(Here)28-b(is)f(the)h(constan)n(t)f Fp(alwaysHigh)c Fq(circuit:)809-3500 y Fp(alwaysHigh)40 b(\(\))j(=)g(high)575 3699 y-Fq(2.4)d(One)28 b(could)f(de\014ne)h(a)f Fp(multiplexer)c-Fq(as)k(follo)n(ws:)809 3899 y Fp(multiplexer)39 b(\(c,\(x,y\)\))h(=)k-(out)897 3998 y(where)984 4098 y(out)129 b(=)43 b(or2)86-b(\(left,)42 b(right\))984 4198 y(left)85 b(=)43 b(and2)f(\(inv)g(c,)h-(x\))984 4297 y(right)e(=)i(and2)f(\(c,)h(y\))722 4496-y Fq(There)34 b(is)h(a)f(built-in)h(m)n(ultiplexer)g(in)g(La)n(v)-5-b(a,)35 b(called)f Fp(mux)p Fq(.)57 b(Using)34 b(that)h(one,)h(w)n(e)-722 4596 y(could)28 b(de\014ne:)809 4795 y Fp(multiplexer')39-b(\(c,\(x,y\)\))h(=)j(mux)f(\(c,\(x,)g(y\)\))575 4995-y Fq(2.5)e(A)28 b Fp(threeBitAdder)23 b Fq(can)k(b)r(e)h(de\014ned)g-(as)f(follo)n(ws:)1905 5255 y(79)p eop-%%Page: 80 81-80 80 bop 809 523 a Fp(threeBitAdder)39 b(\(carryIn,)h(\(\(a1,b1,c1\),)-e(\(a2,b2,c2\)\)\))h(=)897 623 y(\(\(a3,)i(b3,)h(c3\),)g(carryOut\))853-722 y(where)897 822 y(\(a3,)g(carryA\))127 b(=)44 b(fullAdd)c-(\(carryIn,)g(\(a1,)i(a2\)\))897 922 y(\(b3,)g(carryB\))127-b(=)44 b(fullAdd)c(\(carryA,)84 b(\(b1,)42 b(b2\)\))897-1021 y(\(c3,)g(carryOut\))d(=)44 b(fullAdd)c(\(carryB,)84-b(\(c1,)42 b(c2\)\))575 1220 y Fq(3.2)e(W)-7 b(e)28 b(can)f(mak)n(e)g-(use)h(of)f(the)h(adder)f(w)n(e)g(already)f(ha)n(v)n(e:)809-1420 y Fp(adder2)42 b(\(as,)f(bs\))i(=)g(cs)897 1519-y(where)984 1619 y(\(cs,)f(carryOut\))e(=)j(adder)e(\(low,)h(\(as,)g-(bs\)\))575 1851 y Fq(3.3)e(The)c Fp(adder)e Fq(circuit)h(tak)n(es)g-(as)g(an)g(input)i(a)e(pair)g(of)h(lists)g(of)f(bits,)j(whereas)d(the)-722 1951 y Fp(adder')25 b Fq(circuit)j(gets)f(a)g(list)h(of)g(pairs)e-(of)i(bits.)575 2117 y(3.4)40 b(Here)28 b(is)f(a)g(binary)g(n)n(um)n(b)-r(er)g(to)h(in)n(teger)f(con)n(v)n(erter)e Fp(bin2int)p-Fq(:)809 2316 y Fp(bin2int)41 b([])217 b(=)43 b(0)809-2416 y(bin2int)e(\(b:bs\))g(=)i(num)897 2516 y(where)984-2615 y(num')f(=)h(bin2int)e(bs)984 2715 y(num)86 b(=)43-b(bit2int)e(b)i(+)g(2)g(*)g(num')575 2914 y Fq(3.5)d(Here)28-b(is)f(ho)n(w)g(w)n(e)g(can)g(de\014ne)h Fp(zipp)p Fq(:)809-3113 y Fp(zipp)42 b(\([],)129 b([]\))h(=)43 b([])809-3213 y(zipp)f(\(a:as,)f(b:bs\))h(=)h(\(a,b\))f(:)h(rest)897-3313 y(where)984 3412 y(rest)f(=)h(zipp)f(\(as,)g(bs\))722-3611 y Fq(And)28 b(here)g(is)f(ho)n(w)g(w)n(e)g(de\014ne)h-Fp(unzipp)p Fq(:)809 3811 y Fp(unzipp)42 b([])435 b(=)43-b(\([],)129 b([]\))809 3910 y(unzipp)42 b(\(\(a,b\):abs\))d(=)k-(\(a:as,)e(b:bs\))897 4010 y(where)984 4110 y(\(as,)h(bs\))g(=)h-(unzipp)e(abs)575 4309 y Fq(3.6)f(Here)28 b(is)f(ho)n(w)g(w)n(e)g(can)g-(de\014ne)h Fp(pair)p Fq(:)809 4508 y Fp(pair)42 b(\(x:y:xs\))f(=)i-(\(x,y\))e(:)j(pair)d(xs)809 4608 y(pair)h(xs)305 b(=)43-b([])722 4807 y Fq(W)-7 b(e)27 b(c)n(ho)r(ose)f(to)h(ignore)e(the)i-(last)f(input)i(if)f(the)g(n)n(um)n(b)r(er)g(of)g(elemen)n(ts)f(is)h(o)-r(dd.)36 b(And)722 4907 y(here)27 b(is)h(ho)n(w)f(w)n(e)g(de\014ne)h-Fp(unpair)p Fq(:)1905 5255 y(80)p eop-%%Page: 81 82-81 81 bop 809 523 a Fp(unpair)42 b(\(\(x,y\):xys\))d(=)k(x)g(:)g(y)g(:)-g(unpair)f(xys)809 623 y(unpair)g([])435 b(=)43 b([])575-821 y Fq(3.7)d(This)28 b(is)f(ho)n(w)g(w)n(e)h(can)f(de\014ne)h-(parallel)e(comp)r(osition)h(of)h(circuits)f Fp(par)p-Fq(:)809 1019 y Fp(par)43 b(circ1)e(circ2)h(\(a,)g(b\))h(=)g(\(c,)f-(d\))897 1118 y(where)984 1218 y(c)h(=)g(circ1)f(a)984-1317 y(d)h(=)g(circ2)f(b)575 1515 y Fq(3.9)e(Here)28-b(is)f(ho)n(w)g(w)n(e)g(can)g(de\014ne)h Fp(column)p-Fq(:)809 1713 y Fp(column)42 b(circ)f(\([],)h(carryIn\))128-b(=)43 b(\(carryIn,)d([]\))809 1913 y(column)i(circ)f(\(a:as,)h-(carryIn\))e(=)j(\(carryOut,)c(b:bs\))897 2012 y(where)984-2112 y(\(carry,)h(b\))218 b(=)43 b(circ)f(\(a,)g(carryIn\))984-2211 y(\(carryOut,)d(bs\))k(=)g(column)e(circ)h(\(as,)g(carry\))722-2409 y Fq(Here)37 b(is)g(ho)n(w)g(w)n(e)g(can)g(de\014ne)h-Fp(column)d Fq(in)i(terms)g(of)g Fp(row)p Fq(.)65 b(First,)40-b(w)n(e)d(de\014ne)g(a)722 2509 y(connection)27 b(pattern)f(called)h-Fp(mirror)p Fq(,)e(whic)n(h)h(sw)n(aps)g(the)h(left)h(and)f(righ)n(t)f-(parts)g(of)722 2609 y(input)j(and)e(output:)809 2807-y Fp(mirror)42 b(circ)f(\(a,)i(b\))g(=)g(\(c,)f(d\))897-2906 y(where)984 3006 y(\(d,)g(c\))h(=)g(circ)f(\(b,)g(a\))722-3204 y Fq(And)28 b(then,)h(w)n(e)e(use)g Fp(row)g Fq(and)g(mirror)f-(the)i(input)h(to)e Fp(row)p Fq(:)809 3402 y Fp(column)42-b(circ)f(\(as,)h(carryIn\))f(=)i(\(carryOut,)c(bs\))897-3501 y(where)984 3601 y(\(bs,)j(carryOut\))e(=)j(row)f(\(mirror)f-(circ\))g(\(carryIn,)f(as\))722 3799 y Fq(W)-7 b(e)28-b(could)g(ev)n(en)f(sa)n(y:)809 3997 y Fp(column)42 b(circ)f(=)j-(mirror)d(\(row)h(\(mirror)e(circ\)\))533 4195 y Fq(3.10)g(W)-7-b(e)28 b(could)g(de\014ne)g Fp(grid)e Fq(as:)809 4393-y Fp(grid)42 b(circ)g(\(as,)g(bs\))h(=)g(\(cs,)f(ds\))897-4492 y(where)984 4592 y(\(cs,)g(ds\))g(=)h(row)g(\(column)d(circ\))i-(\(as,)g(bs\))722 4790 y Fq(Or,)27 b(ev)n(en)g(shorter:)809-4988 y Fp(grid)42 b(circ)g(=)h(row)g(\(column)e(circ\))1905-5255 y Fq(81)p eop-%%Page: 82 83-82 82 bop 533 523 a Fq(3.13)40 b(Here)28 b(is)f(ho)n(w)g(w)n(e)g-(de\014ne)h(a)f Fp(swapper)p Fq(:)809 722 y Fp(swapper)41-b(\(swap,)g(\(a,)i(b\)\))f(=)h(\(x,)f(y\))897 822 y(where)984-922 y(\(x,)g(y\))h(=)g(mux)f(\(swap,)g(\(\(a,)f(b\),)i(\(b,)f(a\)\)\))-575 1121 y Fq(4.1)e(The)28 b(\014rst)f(prop)r(ert)n(y)g(can)g(b)r(e)h-(de\014ned)g(as:)809 1320 y Fp(prop_SorterHasSor)o(ted)o(Ou)o(tpu)o(t)-37 b(\(a,)43 b(b\))f(=)i(ok)897 1420 y(where)984 1519-y(\(x,)e(y\))h(=)g(twoBitSort)d(\(a,)i(b\))984 1619 y(ok)217-b(=)43 b(or2)f(\(inv)g(x,)h(y\))86 b(--)43 b Fl(x)g(<=)g(y)722-1818 y Fq(The)28 b(second)f(prop)r(ert)n(y)f(can)i(b)r(e)g(stated)f-(as:)809 2017 y Fp(prop_SorterHasSam)o(eBi)o(ts)37 b(\(a,)42-b(b\))h(=)g(ok)897 2117 y(where)984 2217 y(\(x,)f(y\))86-b(=)44 b(twoBitSort)39 b(\(a,)j(b\))984 2316 y(same)172-b(=)44 b(\(a,)e(b\))h(<==>)f(\(x,)g(y\))984 2416 y(swapped)e(=)k(\(a,)e-(b\))h(<==>)f(\(y,)g(x\))984 2516 y(ok)260 b(=)44 b(or2)e(\(same,)f-(swapped\))575 2715 y Fq(4.4)f(T)-7 b(o)28 b(c)n(hec)n(k)e(that)i(the)g-(subtractor)e(really)h(subtracts,)g(w)n(e)g(can)g(de\014ne:)809-2914 y Fp(prop_SubtractorSu)o(btr)o(ac)o(ts)37 b(\(as,)42-b(bs\))g(=)i(ok)897 3014 y(where)984 3113 y(cs)86 b(=)43-b(subtractor)d(\(as,)i(bs\))984 3213 y(as')g(=)h(adder2)e(\(cs,)h(bs\))-984 3313 y(ok)86 b(=)43 b(as)g(<==>)f(as')575 3512 y-Fq(4.5)e(Here)28 b(is)f(the)h(general)e(prop)r(ert)n(y)h(of)g(asso)r-(ciativit)n(y:)809 3711 y Fp(prop_Associative)37 b(circ)42-b(\(as,)g(bs,)h(cs\))f(=)h(ok)897 3811 y(where)984 3910-y(out1)f(=)h(circ)f(\(as,)g(circ)g(\(bs,)g(cs\)\))984-4010 y(out2)g(=)h(circ)f(\(circ)f(\(as,)h(bs\),)g(cs\))984-4110 y(ok)130 b(=)43 b(out1)f(<==>)g(out2)575 4309 y-Fq(4.8)e(One)28 b(can)f(de\014ne)h(a)f(general)f(v)n(erify)h(function,)-h(as)f(follo)n(ws:)809 4508 y Fp(verifyFor)40 b(prop)i(ns)h(=)g-(sequence)d([)k(prop)e(n)h(|)g(n)g(<-)g(ns)g(])722 4707-y Fq(and)28 b(v)n(erify)f(a)g(prop)r(ert)n(y)f(b)n(y)i(sa)n(ying)e(for)-h(example:)809 4907 y Fp(Main>)42 b Fl(verifyFor)e(prop_AdderCommut)o-(at)o(ive)o(_F)o(or)o(Siz)o(e)d([1..32])809 5006 y Fp(...)1905-5255 y Fq(82)p eop-%%Page: 83 84-83 83 bop 575 523 a Fq(5.1)40 b(W)-7 b(e)28 b(can)f(de\014ne)h-Fp(evenSoFar)c Fq(as)j(follo)n(ws:)809 694 y Fp(evenSoFar)40-b(inp)j(=)g(out)897 794 y(where)984 893 y(out)86 b(=)43-b(delay)e(high)h(even)984 993 y(even)g(=)h(xor2)f(\(inp,)f(even\))722-1164 y Fq(This)28 b(is)f Fn(almost)i Fq(the)f(same)f(as)f(the)i-Fp(toggle)e Fq(circuit.)575 1319 y(5.2)40 b(W)-7 b(e)28-b(can)f(de\014ne)h Fp(flipFlop)d Fq(as)i(follo)n(ws:)809-1490 y Fp(flipFlop)41 b(\(set,)g(reset\))g(=)j(state)897-1589 y(where)984 1689 y(state')d(=)i(delay)f(low)g(state)984-1789 y(state)85 b(=)43 b(and2)f(\(up,)g(inv)g(reset\))984-1888 y(up)217 b(=)43 b(or2)f(\(state',)f(set\))575 2059-y Fq(5.3)f(W)-7 b(e)28 b(can)f(de\014ne)h Fp(delayClk)d-Fq(as)i(follo)n(ws:)809 2230 y Fp(delayClk)41 b(init)h(\(clk,)f(inp\))h-(=)h(out)897 2330 y(where)984 2429 y(out)f(=)h(delay)f(init)g(val)984-2529 y(val)g(=)h(mux)g(\(clk,)e(\(out,)h(inp\)\))575-2700 y Fq(5.4)e(The)28 b(circuit)f Fp(always)f Fq(can)h(b)r(e)h-(de\014ned)g(as)f(follo)n(ws:)809 2871 y Fp(always)42-b(inp)g(=)h(ok)897 2971 y(where)984 3070 y(sofar)e(=)i(delay)f(high)g-(ok)984 3170 y(ok)173 b(=)43 b(and2)f(\(inp,)g(sofar\))575-3341 y Fq(5.5)e(The)28 b(circuits)f(are:)809 3512 y Fp(pulsSix6)41-b(\(\))h(=)i(out)897 3611 y(where)984 3711 y(out)e(=)h(puls)f(6)h(\(\))-741 b(--)42 b Fl(000001...)809 3910 y Fp(pulsSix5)f(\(\))h(=)i(out)897-4010 y(where)984 4110 y(a)130 b(=)43 b(puls)f(2)h(\(\))741-b(--)42 b Fl(010101...)984 4209 y Fp(b)130 b(=)43 b(puls)f(3)h(\(\))741-b(--)42 b Fl(001001...)984 4309 y Fp(out)g(=)h(and2)f(\(a,)h(b\))809-4508 y(pulsSix3)e(\(\))h(=)i(out)897 4608 y(where)984-4707 y(a)130 b(=)43 b(delay)f(low)g(\(inv)g(a\))392 b(--)42-b Fl(010101...)984 4807 y Fp(b)130 b(=)43 b(delay)f(low)g(\(xor2)g-(\(b,)g(c\)\))130 b(--)42 b Fl(001001...)984 4907 y Fp(c)130-b(=)43 b(delay)f(low)g(\(nand2)f(\(b,)i(c\)\))86 b(--)42-b Fl(011011...)984 5006 y Fp(out)g(=)h(and2)f(\(a,)h(b\))1905-5255 y Fq(83)p eop-%%Page: 84 85-84 84 bop 575 523 a Fq(5.6)40 b(Using)28 b(a)f(coun)n(ter,)g(w)n(e)g-(can)g(de\014ne)h Fp(puls2)e Fq(as)g(follo)n(ws:)809-722 y Fp(puls2)42 b(k)h(\(\))g(=)g(out)897 822 y(where)984-922 y(number)e(=)i(counter)e(k)i(\(\))984 1021 y(out)173-b(=)43 b(norl)f(number)575 1220 y Fq(5.7)e(W)-7 b(e)28-b(can)f(de\014ne)h(the)g(circuit)g Fp(counterUpDown)22-b Fq(as)27 b(follo)n(ws:)809 1420 y Fp(counterUpDown)39-b(n)k(\(up,)f(down\))f(=)i(number)897 1519 y(where)940-1619 y(number')e(=)i(delay)f(\(zeroList)d(n\))k(number)940-1719 y(number)85 b(=)43 b(adder2)e(\(diff,)g(number'\))940-1818 y(diff)173 b(=)43 b(one)f(:)i(replicate)39 b(\(n-1\))j(rest)940-1918 y(one)217 b(=)43 b(or2)f(\(up,)g(down\))303 b(--)43-b Fl(should)e(I)i(change?)940 2017 y Fp(rest)173 b(=)43-b(and2)f(\(inv)g(up,)g(down\))85 b(--)43 b Fl(+1)g(or)g(-1?)575-2217 y Fq(5.9)d(Here)28 b(is)f(ho)n(w)g(w)n(e)g(could)h(de\014ne)f-Fp(synchronize)p Fq(:)809 2416 y Fp(synchronize)39 b(\(go1,)j(go2\))g-(=)h(go)897 2516 y(where)984 2615 y(both)f(=)h(and2)f(\(go1,)f(go2\))-984 2715 y(one)86 b(=)43 b(xor2)f(\(go1,)f(go2\))984-2814 y(wait)h(=)h(delay)e(low)i(\(xor2)e(\(one,)h(wait\)\))984-2914 y(go)130 b(=)43 b(or2)f(\(both,)f(and2)h(\(wait,)f(one\)\))533-3113 y Fq(5.10)f(First,)25 b(w)n(e)g(de\014ne)f(the)h(follo)n(wing)f-(help)r(er)g(circuit)h Fp(outputDone)p Fq(.)32 b(It)25-b(do)r(es)f(the)h(same)722 3213 y(as)g(output,)i(but)f(tak)n(es)e(an)h-(extra)g(parameter)f Fp(done)p Fq(,)g(the)i(signal)f(to)g(output)h(at)g-(the)722 3313 y(time)i(when)g(the)g(list)g(is)f(empt)n(y)-7-b(.)809 3512 y Fp(outputDone)40 b([])j(done)f(\(\))g(=)i(done)809-3711 y(outputDone)c(\(sig:sigs\))f(done)j(\(\))h(=)g(out)897-3811 y(where)984 3910 y(out)86 b(=)43 b(delay)e(sig)i(rest)984-4010 y(rest)f(=)h(outputDone)c(sigs)j(done)g(\(\))722-4209 y Fq(No)n(w,)27 b(w)n(e)h(can)f(de\014ne)h(the)g(circuit)f-Fp(outputList)d Fq(as)j(follo)n(ws:)809 4408 y Fp(outputList)40-b(sigs)i(\(\))h(=)g(out)897 4508 y(where)984 4608 y(out)f(=)h-(outputDone)d(sigs)i(out)g(\(\))575 4807 y Fq(6.2)e(Here)28-b(is)f(a)g(prop)r(ert)n(y)g(that)h(c)n(hec)n(ks)e(that:)1905-5255 y(84)p eop-%%Page: 85 86-85 85 bop 809 523 a Fp(prop_Edge_vs_Even)37 b(inp)42-b(=)i(ok)897 623 y(where)984 722 y(out1)e(=)h(edge)f(inp)984-822 y(out2)g(=)h(evenSoFar)d(inp)984 922 y(ok)130 b(=)43-b(inv)f(\(out1)g(<==>)g(out2\))575 1089 y Fq(6.3)e(Here)28-b(is)f(a)g(prop)r(ert)n(y)g(that)h(c)n(hec)n(ks)e(if)i(they)g(are)f-(equiv)-5 b(alen)n(t:)809 1257 y Fp(prop_PulsSixEquiv)o(ale)o(nt)37-b(\(\))43 b(=)g(ok)897 1356 y(where)984 1456 y(out3)f(=)h(pulsSix3)d-(\(\))984 1556 y(out5)i(=)h(pulsSix5)d(\(\))984 1655-y(out6)i(=)h(pulsSix6)d(\(\))984 1855 y(ok35)i(=)h(out3)f(<==>)g(out5)-984 1954 y(ok56)g(=)h(out5)f(<==>)g(out6)984 2054 y(ok)130-b(=)43 b(and2)f(\(ok35,)f(ok56\))722 2221 y Fq(These)28-b(can)f(b)r(e)h(v)n(eri\014ed)f(with)h(induction)g(depth)g(6)f(or)g(7.)-575 2375 y(6.4)40 b(Here)28 b(is)f(a)g(prop)r(ert)n(y)g(that)h(c)n(hec)-n(ks)e(if)i(they)g(are)f(equiv)-5 b(alen)n(t:)809 2542-y Fp(prop_PulsesEquiva)o(len)o(t)37 b(k)44 b(\(\))e(=)h(ok)897-2642 y(where)984 2742 y(out1)f(=)h(puls)f(\(2^k\))f(\(\))984-2841 y(out2)h(=)h(puls2)e(k)j(\(\))984 2941 y(ok)130-b(=)43 b(out1)f(<==>)g(out2)575 3109 y Fq(6.5)e(Here)28-b(is)f(a)g(prop)r(ert)n(y)g(that)h(c)n(hec)n(ks)e(that:)809-3276 y Fp(prop_CountingUp)38 b(n)43 b(up)g(=)g(ok)897-3376 y(where)984 3475 y(out1)f(=)h(counterUp)d(n)j(up)984-3575 y(out2)f(=)h(counterUpDown)38 b(n)43 b(\(up,)f(low\))984-3675 y(ok)130 b(=)43 b(out1)f(<==>)g(out2)575 3842 y-Fq(6.6)e(Here)28 b(is)f(ho)n(w)g(w)n(e)g(could)h(de\014ne)f(the)h(prop)-r(ert)n(y)-7 b(.)809 4010 y Fp(prop_ToggleTwiceS)o(tay)o(sS)o(ame)37-b(inp)42 b(=)h(ok)897 4110 y(where)984 4209 y(out)216-b(=)44 b(toggle)d(inp)984 4309 y(out')172 b(=)44 b(delay)d(low)i(out)-984 4408 y(out'')128 b(=)44 b(delay)d(low)i(out')984-4508 y(sameOut)d(=)k(out)e(<==>)g(out'')984 4707 y(inp')172-b(=)44 b(delay)d(low)i(inp)984 4807 y(sameInp)d(=)k(inp)e(<==>)g(inp')-984 5006 y(ok)260 b(=)44 b(sameInp)c(==>)j(sameOut)1905-5255 y Fq(85)p eop-%%Page: 86 87-86 86 bop 722 523 a Fq(First)25 b(w)n(e)f(compute)g(the)h(output)g-(from)f(the)h(input.)37 b(Then,)25 b(w)n(e)f(de\014ne)h(the)g(outputs)-722 623 y(and)30 b(inputs)g(at)f(sev)n(eral)f(di\013eren)n(t)h(p)r(oin)-n(ts)g(in)h(time.)43 b(And)30 b(then)g(w)n(e)f(compute)h(the)722-722 y(implication.)575 879 y(7.1)40 b(Here)28 b(are)e(the)i(prop)r-(erties)f(whic)n(h)g(state)h(this:)809 1053 y Fp(prop_ToggleHighLo)o-(w_S)o(lo)o(wed)o(Do)o(wn)37 b(\(\))43 b(=)g(ok)897 1153-y(where)984 1253 y(load)85 b(=)43 b(puls)f(2)i(\(\))984-1352 y(out1)85 b(=)43 b(highLow)e(\(\))984 1452 y(out1')g(=)i-(parallelToSerial)37 b(\(load,)42 b(out1\))984 1552 y(out2)85-b(=)43 b(toggle)f(high)984 1651 y(ok)173 b(=)43 b(out1')f(<==>)g(out2)-809 1850 y(prop_ToggleHighLo)o(w_S)o(pe)o(dUp)37 b(\(\))42-b(=)i(ok)897 1950 y(where)984 2050 y(out1)85 b(=)43 b(highLow)e(\(\))-984 2149 y(out2)85 b(=)43 b(timeTransform)c(toggle)i([high,high])984-2249 y(ok)173 b(=)43 b(out1)f(<==>)g(out2)722 2424 y-Fq(Note)29 b(that)h(w)n(e)f(do)f(not)i(need)f(to)g(use)g(a)f(serial)g-(to)h(parallel)f(con)n(v)n(erter)f(in)j(the)f(\014rst)722-2523 y(prop)r(ert)n(y)e(since)g Fp(highLow)e Fq(do)r(es)i(not)h(ha)n(v)-n(e)e(an)n(y)h(in)n(teresting)g(input.)575 2680 y(7.2)40-b(Slo)n(wing)31 b(do)n(wn)f(a)h(circuit)g(means)g(that)g(there)g(are)f-(only)h(a)g(few)g(imp)r(ortan)n(t)g(clo)r(c)n(k)722 2779-y(cycles,)h(and)g(w)n(e)f(ignore)f(all)i(unimp)r(ortan)n(t)f(clo)r(c)n-(k)g(cycles.)48 b(If)32 b(w)n(e)f(do)h(not)f(lo)r(ok)g(at)722-2879 y(some)g(outputs,)j(w)n(e)d(cannot)g(sa)n(y)g(an)n(ything)g(ab)r-(out)g(ho)n(w)g(the)i(circuit)e(b)r(eha)n(v)n(es)g(in)722-2979 y(these)d(outputs.)39 b(The)28 b(slo)n(w)n(ed)f(do)n(wn)h(prop)r-(ert)n(y)f(migh)n(t)h(b)r(e)g(true,)g(but)h(the)f(circuits)722-3078 y(are)f(not)g(equiv)-5 b(alen)n(t.)575 3234 y(7.3)40-b(Y)-7 b(es,)28 b(here)f(there)h(is)f(no)g(problem.)575-3391 y(8.1)40 b(No,)23 b(parallel)e(comp)r(osition)g(is)h(not)g(asso)r-(ciativ)n(e.)33 b Fp(\(a,\(b,c\)\))18 b Fq(and)k Fp(\(\(a,b\),c\))c-Fq(are)722 3490 y(not)28 b(the)g(same.)575 3647 y(8.2)40-b(Y)-7 b(es,)28 b(they)g(are)e(the)i(same.)575 3803 y(8.3)40-b(One)28 b(p)r(ossibilit)n(y)f(to)g(de\014ne)h Fp(tri)f-Fq(is)809 3978 y Fp(tri)43 b(circ)f([])391 b(=)43 b([])809-4077 y(tri)g(circ)f(\(inp:inps\))d(=)k(inp)g(:)g(outs)897-4177 y(where)984 4277 y(outs)f(=)h(\(map)f(circ)g(->-)g(tri)g(circ\))g-(inps)722 4451 y Fq(There)33 b(are)g(man)n(y)g(other)g(w)n(a)n(ys)f(of)-h(de\014ning)h(it.)55 b(F)-7 b(or)33 b(example,)h(y)n(ou)f(should)g-(try)722 4551 y(de\014ning)28 b Fp(tri)e Fq(using)i Fp(composeN)p-Fq(.)575 4707 y(8.6)40 b(W)-7 b(e)29 b(giv)n(e)f(a)g(de\014nition)h-(that)f(closely)g(re\015ects)g(our)g(informal)g(explanation)f(of)i(ho)n-(w)722 4807 y(a)g(card)f(sharp)g(sh)n(u\017es)g(the)h(pac)n(k.)40-b(He)29 b(halv)n(es)f(it,)i(zips)f(the)g(t)n(w)n(o)f(halv)n(es)g-(together)722 4907 y(\(to)e(get)f(a)f(lot)i(of)f(pairs)f(of)h(cards\))g-(whic)n(h)g(he)g(then)h(pats)f(carefully)f(on)h(the)h(sides)f(so)722-5006 y(as)i(to)h(unstic)n(k)f(the)h(pairs.)1905 5255-y(86)p eop-%%Page: 87 88-87 87 bop 809 523 a Fp(riffle)42 b(=)h(halveList)d(->-)i(zipp)g(->-)g-(unpair)722 722 y Fq(W)-7 b(e)28 b(use)g(the)g(circuit)f-Fp(zipp)p Fq(,)f(whic)n(h)i(w)n(e)f(de\014ned)h(in)g(exercise)e(3.5.)-575 888 y(8.7)40 b(This)28 b(de\014nition)g(is)f(exactly)g(the)h(in)n-(v)n(erse)e(of)i(the)g(de\014nition)g(of)f Fp(riffle)p-Fq(:)809 1088 y Fp(unriffle)41 b(=)i(pair)f(->-)g(unzipp)f(->-)i-(append)575 1287 y Fq(8.8)d(W)-7 b(e)28 b(need)g(to)f(v)n(erify)g(t)n-(w)n(o)g(prop)r(erties:)816 1453 y Fr({)41 b Fq(The)33-b(output)h(of)g(the)g(sorter)e(is)h(sorted.)54 b(W)-7-b(e)34 b(can)f(v)n(erify)f(this)i(b)n(y)f(c)n(hec)n(king)905-1553 y(that)25 b(the)h(\014rst)f(output)g(is)g(smaller)g(than)g(the)g-(second,)g(the)h(second)f(output)g(is)905 1652 y(smaller)i(than)g(the)h-(third,)g(etc.)816 1785 y Fr({)41 b Fq(The)36 b(bits)h(in)g(the)f-(output)h(are)e(the)i(same)f(as)f(the)i(bits)g(in)f(the)h(input,)i(but)-905 1885 y(ma)n(yb)r(e)19 b(in)g(a)g(di\013eren)n(t)h(order.)32-b(W)-7 b(e)20 b(can)f(v)n(erify)f(this)i(b)n(y)f(coun)n(ting)g(the)g(n)-n(um)n(b)r(er)905 1984 y(of)i(high)f(inputs)i(and)e(high)h(outputs,)h-(and)f(c)n(hec)n(king)f(that)h(they)g(are)e(the)j(same.)722-2150 y(The)28 b(details)f(are)g(left)h(to)g(the)g(reader.)533-2316 y(8.10)40 b(On)e(inputs)h(of)f(length)g(2)1547 2286-y Fg(n)1592 2316 y Fq(,)j Fj(n)d Fq(ri\017es)g(in)g(a)g(ro)n(w)f(gets)g-(y)n(ou)h(bac)n(k)f(to)h(where)g(y)n(ou)722 2416 y(started.)809-2615 y Fp(Main>)k Fl(simulate)e(\(composeN)g(4)j(riffle\))e(\(map)h-(int)g([1..\(2^4\)]\))809 2715 y Fp([1,2,3,4,5,6,7,8,)o(9,1)o(0,)o(11,)-o(12)o(,1)o(3,1)o(4,)o(15,)o(16)o(])533 2914 y Fq(8.13)e(Here)28-b(is)f(ho)n(w)g(w)n(e)g(de\014ne)h(the)g(butter\015y)g(circuit)f-(iterativ)n(ely:)809 3113 y Fp(ibfly)42 b(0)h(circ)f(=)h(id)809-3213 y(ibfly)f(n)h(circ)f(=)897 3313 y(compose)e([ilvN)i(\(n-1-j\))f-(\(twoN)g(j)i(circ\))f(|)h(j)g(<-)g([0..\(n-1\)]])575-3512 y Fq(9.1)d(W)-7 b(e)27 b(could)g(mak)n(e)e(the)i(follo)n(wing)f(c)-n(hange)f(to)h(the)h(lo)r(cal)f(de\014nition)h(of)g Fp(component)p-Fq(:)809 3711 y Fp(component)40 b(state)i(=)h(\(activated,)c(emits\))-897 3811 y(where)984 3910 y(init)260 b(=)43 b(state)e(`elem`)g(initial)-g(machine)984 4010 y(activated)f(=)j(activating)c(state)984-4110 y(active)172 b(=)43 b(delay)e(\(bool)h(init\))f(activated)984-4209 y(...)722 4408 y Fq(The)28 b(rest)f(of)h(the)g(de\014nition)g(sta)-n(ys)e(the)i(same.)1905 5255 y(87)p eop-%%Page: 88 89-88 88 bop 515 1227 a Fs(Bibliograph)-6 b(y)556 1703 y-Fq([1])41 b(K.E.)31 b(Batc)n(her.)45 b(Sorting)31 b(net)n(w)n(orks)e-(and)i(their)g(applications.)46 b(In)31 b Fn(AFIPS)i(Spring)685-1803 y(Joint)d(Computing)g(Confer)l(enc)l(e)p Fq(,)f(v)n(olume)e(32,)g-(1969.)556 1969 y([2])41 b(P)n(er)36 b(Bjesse.)66 b(Automatic)38-b(v)n(eri\014cation)e(of)h(com)n(binational)f(and)h(pip)r(elined)i(FFT)-685 2068 y(circuits.)e(In)28 b Fn(Computer)i(A)n(ide)l(d)g(V)-6-b(eri\014c)l(ation)p Fq(.)28 b(Springer)f(V)-7 b(erlag,)26-b(July)i(1999.)556 2234 y([3])41 b(P)n(er)f(Bjesse,)45-b(Ko)r(en)40 b(Claessen,)k(Mary)c(Sheeran,)k(and)e(Satnam)f(Singh.)77-b(La)n(v)-5 b(a)40 b(-)685 2334 y(Hardw)n(are)d(design)g(in)i(Hask)n-(ell.)68 b(In)38 b Fn(International)i(Confer)l(enc)l(e)g(on)g(F)-6-b(unctional)685 2434 y(Pr)l(o)l(gr)l(amming)p Fq(.)29-b(A)n(CM)f(SigPlan,)e(Sept.)i(1998.)556 2600 y([4])41-b(J.W.)21 b(Co)r(oley)f(and)g(J.W.)g(T)-7 b(uk)n(ey)g(.)25-b(An)c(algorithm)e(for)h(the)h(mac)n(hine)f(computation)g(of)685-2699 y(complex)j(fourier)f(series.)27 b(In)c Fn(Mathematics)k(of)f-(Computation,)i(19)p Fq(,)d(pages)c(297{301,)685 2799-y(1965.)556 2965 y([5])41 b(Alexandre)35 b(F)-7 b(rey)g(,)38-b(G)n(\023)-39 b(erard)33 b(Berry)-7 b(,)37 b(P)n(atrice)d(Bertin,)j(F)--7 b(ran\030)-37 b(cois)35 b(Bourdoncle,)h(and)685 3065-y(Jean)f(V)-7 b(uillemin.)62 b(Jazz.)d(Av)-5 b(ailable)35-b(from)h Fp(http://www.cma.)o(en)o(smp)o(.f)o(r/j)o(az)o(z)p-Fq(,)685 3164 y(1998.)556 3330 y([6])41 b(Nicolas)28-b(Halb)n(w)n(ac)n(hs,)e(P)n(aul)h(Caspi,)h(P)n(ascal)e(Ra)n(ymond,)i-(and)g(Daniel)g(Pilaud.)38 b(The)685 3430 y(sync)n(hronous)19-b(data\015o)n(w)h(programming)f(language)g(LUSTRE.)25-b Fn(Pr)l(o)l(c.)g(IEEE)p Fq(,)d(79\(9\),)685 3530 y(1991.)556-3696 y([7])41 b(Stev)n(en)34 b(Johnson.)56 b Fn(Synthesis)36-b(of)g(Digital)h(Designs)f(fr)l(om)g(R)l(e)l(cursion)f(Equations)p-Fq(.)685 3795 y(The)28 b(A)n(CM)g(Distinguished)g(Dissertation)f-(Series,)g(The)g(MIT)h(Press,)e(1984.)556 3961 y([8])41-b(M.)66 b(P)-7 b(.)65 b(Jones.)149 b(The)65 b(Hugs)g(distribution.)150-b(Curren)n(tly)64 b(a)n(v)-5 b(ailable)64 b(from)685-4061 y Fp(http://haskell.or)o(g/h)o(ug)o(s)-6 b Fq(,)28-b(1999.)556 4227 y([9])41 b(Simon)35 b(P)n(eyton)f(Jones,)i(John)e-(Hughes,)i(\(editors\),)h(Lennart)d(Augustsson,)i(Da)n(v)n(e)685-4327 y(Barton,)44 b(Brian)c(Boutel,)k(W)-7 b(arren)40-b(Burton,)k(Joseph)c(F)-7 b(asel,)44 b(Kevin)c(Hammond,)685-4426 y(Ralf)f(Hinze,)i(P)n(aul)c(Hudak,)k(Thomas)c(Johnsson,)j(Mark)d-(Jones,)j(John)e(Launc)n(h-)685 4526 y(bury)-7 b(,)45-b(Erik)40 b(Meijer,)k(John)c(P)n(eterson,)j(Alastair)d(Reid,)45-b(Colin)c(Runciman,)j(and)685 4625 y(Philip)30 b(W)-7-b(adler.)42 b(Rep)r(ort)30 b(on)f(the)h(Programming)d(Language)g(Hask)n-(ell)i(98,)g(a)g(Non-)685 4725 y(strict,)f(Purely)e(F)-7-b(unctional)28 b(Language.)35 b(Av)-5 b(ailable)27 b(from)g-Fp(http://haskell.or)o(g)p Fq(,)685 4825 y(F)-7 b(ebruary)27-b(1999.)1905 5255 y(88)p eop-%%Page: 89 90-89 89 bop 515 523 a Fq([10])40 b(W)-7 b(a)n(yne)29 b(Luk,)h(Gerain)n(t)-f(Jones,)g(and)h(Mary)e(Sheeran.)42 b(Computer-based)29-b(to)r(ols)g(for)685 623 y(regular)j(arra)n(y)g(design.)55-b(In)34 b(J)f(McCann)n(y)-7 b(,)35 b(J)e(McWhirter,)j(and)d(E)h(Sw)n-(artzlander,)685 722 y(editors,)28 b Fn(Systolic)k(A)n(rr)l(ay)f(Pr)l-(o)l(c)l(essors)p Fq(,)e(pages)f(589)f({)h(598.)f(Pren)n(tice-Hall)g-(In)n(terna-)685 822 y(tional,)h(1989.)515 988 y([11])40-b(John)24 b(Matthews)h(and)f(John)g(Launc)n(h)n(bury)-7-b(.)30 b(Elemen)n(tary)23 b(microarc)n(hitecture)f(alge-)685-1088 y(bra.)29 b(In)23 b Fn(Int.)i(Conf.)h(on)g(Computer)g(A)n(ide)l(d)-g(V)-6 b(eri\014c)l(ation)p Fq(.)23 b(Springer)f(V)-7-b(erlag,)23 b(LNCS,)685 1187 y(1999.)515 1353 y([12])40-b(John)20 b(O'Donnell.)25 b(F)-7 b(rom)20 b(transistors)e(to)j-(computer)f(arc)n(hitecture:)32 b(T)-7 b(eac)n(hing)19-b(func-)685 1453 y(tional)i(circuit)f(sp)r(eci\014cation)h(in)g(Hydra.)-k(In)c Fn(F)-6 b(unctional)23 b(Pr)l(o)l(gr)l(amming)i(L)l(anguages)685-1553 y(in)30 b(Educ)l(ation)p Fq(.)f(Springer)d(V)-7-b(erlag,)27 b(LNCS,)h(1996.)515 1719 y([13])40 b(Mary)27-b(Sheeran.)36 b Fj(\026)p Fq(FP)-7 b(,)27 b(an)g(algebraic)f(VLSI)i-(design)f(language.)35 b(PhD)27 b(thesis,)h(Pro-)685-1818 y(gramming)f(Researc)n(h)f(Group,)h(Oxford)f(Univ)n(ersit)n(y)-7-b(,)27 b(1983.)515 1984 y([14])40 b(Mary)26 b(Sheeran.)34-b Fj(\026)p Fq(FP,)26 b(a)g(language)e(for)i(VLSI)h(design.)34-b(In)26 b Fn(A)n(CM)j(Symp.)g(on)g(LISP)685 2084 y(and)i(F)-6-b(unctional)29 b(Pr)l(o)l(gr)l(amming)p Fq(,)g(1984.)515-2250 y([15])40 b(Mary)c(Sheeran.)64 b(Designing)36 b(regular)f(arra)n-(y)g(arc)n(hitectures)g(using)h(higher)g(order)685 2350-y(functions.)i(In)28 b Fn(Int.)i(Conf.)h(on)f(F)-6 b(unctional)30-b(Pr)l(o)l(gr)l(amming)h(L)l(anguages)f(and)h(Com-)685-2449 y(puter)f(A)n(r)l(chite)l(ctur)l(e,)f(LNCS)h(201)p-Fq(.)f(Springer)d(V)-7 b(erlag,)27 b(1985.)515 2615 y([16])40-b(Mary)26 b(Sheeran.)35 b(Describing)27 b(and)f(reasoning)f(ab)r(out)i-(circuits)g(using)f(relations.)35 b(In)685 2715 y Fn(Workshop)d(on)e(F)--6 b(oundations)30 b(of)g(VLSI)g(Design)p Fq(.)e(Klu)n(w)n(er,)e(1990.)-515 2881 y([17])40 b(Mary)29 b(Sheeran.)43 b(Puzzling)29-b(p)r(erm)n(utations.)43 b(In)30 b Fn(Pr)l(o)l(c.)j(Glasgow)g(F)-6-b(unctional)32 b(Pr)l(o-)685 2980 y(gr)l(amming)f(Workshop)p-Fq(,)e(1996.)1905 5255 y(89)p eop-%%Page: 90 91-90 90 bop 515 999 a Fs(Index)515 1414 y Fp(++)p Fq(,)27-b(47)515 1513 y Fp(*)p Fq(,)g(73)515 1613 y Fp(+)p Fq(,)g(73)515-1713 y Fp(->-)p Fq(,)f(45,)h(74)515 1812 y Fp(-|-)p Fq(,)f(46,)h(74)515-1912 y Fp(-)p Fq(,)g(73)515 2011 y Fp(/)p Fq(,)g(73)515-2111 y Fp(<==>)p Fq(,)f(19)515 2211 y Fp(<=>)p Fq(,)g(72)515-2310 y Fp(<#>)p Fq(,)g(72)515 2410 y Fp(<&>)p Fq(,)g(72)515-2510 y Fp(<|>)p Fq(,)g(72)515 2609 y Fp(==>)p Fq(,)g(30,)h(72)515-2709 y Fp(>>==)p Fq(,)f(73)515 2808 y Fp(\045\045)p Fq(,)h(73)515-2991 y(adder)681 3091 y(binary)-7 b(,)27 b(12)681 3190-y(bit,)h(12)681 3290 y(full,)g(8)681 3390 y(half,)g(6)681-3489 y(sequen)n(tial,)f(26,)f(27)681 3589 y(tree,)h(49)515-3688 y Fp(adder)p Fq(,)e(12,)i(76)515 3788 y Fp(adder2)p-Fq(,)e(80)515 3888 y Fp(adderSeq)p Fq(,)f(26)515 3987-y Fp(adderSeqPeriod)p Fq(,)e(27)515 4087 y Fp(adderSeqReset)p-Fq(,)g(27)515 4187 y Fp(addTree)p Fq(,)j(49)515 4286-y Fp(always)p Fq(,)g(76,)i(83)515 4386 y Fp(alwaysHigh)p-Fq(,)c(79)515 4485 y Fp(and2)p Fq(,)j(73)515 4585 y Fp(andl)p-Fq(,)g(73)515 4685 y Fp(append)p Fq(,)f(47,)i(75)515-4867 y(base)g(case,)f(induction,)j(31)515 4967 y Fp(bfly)p-Fq(,)d(75)2092 1414 y Fp(bin2int)p Fq(,)f(76,)i(80)2092-1513 y Fp(binAdder)p Fq(,)e(49,)h(76)2092 1613 y Fp(binTree)p-Fq(,)f(49)2092 1713 y Fp(bit2int)p Fq(,)g(73)2092 1812-y Fp(bitAdder)p Fq(,)g(12,)h(76)2092 1912 y Fp(bitMulti)p-Fq(,)f(76)2092 2011 y(bitonic,)j(55)2092 2111 y Fp(bitSubber)p-Fq(,)c(16)2092 2211 y(butter\015y)-7 b(,)28 b(45)2092-2393 y Fp(column)p Fq(,)d(75,)i(81)2092 2493 y(command-line)g(options,)-g(72)2092 2593 y(comm)n(utativit)n(y)-7 b(,)27 b(19)2092-2692 y(compilation,)g(16)2092 2792 y Fp(compose)p Fq(,)e(45,)i(75)2092-2891 y Fp(composeN)p Fq(,)e(46,)h(75)2092 2991 y(comp)r(osition)2258-3091 y(parallel,)h(46,)f(81)2258 3190 y(serial,)h(13,)f(45)2092-3290 y(connection)h(pattern,)h(13)2258 3390 y(prop)r(erties,)f(20)2258-3489 y(sequen)n(tial,)g(26)2092 3589 y Fp(copy)p Fq(,)f(74,)h(79)2092-3688 y(coun)n(ter,)g(25)2092 3788 y Fp(counterUpDown)p-Fq(,)c(84)2092 3971 y Fp(delay)p Fq(,)j(74)2092 4070-y Fp(delayClk)p Fq(,)f(76,)h(83)2092 4170 y Fp(delayN)p-Fq(,)f(24,)i(76)2092 4270 y Fp(Depth)p Fq(,)f(34)2092-4452 y Fp(edge)p Fq(,)g(23,)h(76)2092 4552 y Fp(equal)p-Fq(,)f(19,)h(74)2092 4652 y(equalit)n(y)-7 b(,)27 b(19)2092-4751 y Fp(equiv)p Fq(,)f(73)2092 4851 y(error)g(messages,)g(77)2092-4950 y Fp(evenSoFar)p Fq(,)e(83)1905 5255 y(90)p eop-%%Page: 91 92-91 91 bop 515 523 a Fp(fixit)p Fq(,)25 b(77)515 623 y-Fp(flipFlop)p Fq(,)f(83)515 722 y Fp(fullAdd)p Fq(,)h(8,)i(75)515-902 y(garbage)e(collection,)i(77)515 1001 y Fp(grid)p-Fq(,)f(75,)h(81)515 1101 y Fp(gte)p Fq(,)f(74)515 1280-y Fp(halfAdd)p Fq(,)f(6,)i(75)515 1380 y Fp(halveList)p-Fq(,)d(46,)j(75)515 1479 y Fp(high)p Fq(,)f(72)515 1579-y(Hugs,)h(7)515 1758 y Fp(id)p Fq(,)g(46,)f(72,)h(73)515-1858 y Fp(idiv)p Fq(,)f(73)515 1958 y Fp(ilv)p Fq(,)g(75)515-2057 y Fp(ilvN)p Fq(,)g(75)515 2157 y Fp(ilvTree)p Fq(,)f(53)515-2257 y Fp(imax)p Fq(,)h(73)515 2356 y Fp(imin)p Fq(,)g(73)515-2456 y Fp(imod)p Fq(,)g(73)515 2555 y Fp(impl)p Fq(,)g(30,)h(73)515-2655 y(implication,)g(30)515 2755 y Fp(inc)p Fq(,)f(46)515-2854 y Fp(Increasing)p Fq(,)d(34)515 2954 y(induction,)28-b(30,)f(31)681 3054 y(restricted)g(states,)g(35)681 3153-y(with)h(depth,)g(32)515 3253 y Fp(int2bin)p Fq(,)d(15,)h(76)515-3352 y Fp(int2bit)p Fq(,)f(15,)h(73)515 3452 y Fp(inv)p-Fq(,)g(72)515 3552 y Fp(iter)p Fq(,)g(75)515 3731 y(La)n(v)-5-b(a)26 b(in)n(terpreter,)h(7)515 3831 y Fp(lava.vhd)p-Fq(,)d(9)515 3930 y Fp(length)p Fq(,)h(43)515 4030 y(list,)j(12)515-4130 y Fp(listTree)p Fq(,)c(53)515 4229 y Fp(low)p Fq(,)i(72)515-4408 y Fp(map)p Fq(,)g(47)515 4508 y Fp(mirror)p Fq(,)f(75,)i(81)515-4608 y Fp(multi)p Fq(,)e(76)515 4707 y(m)n(ultiplexer,)i(10)515-4807 y Fp(multiplexer)p Fq(,)c(79)515 4907 y Fp(mux)p-Fq(,)j(27,)h(74,)g(79)515 5006 y Fp(mux)p Fq(,)f Fn(se)l(e)i-Fq(m)n(ultiplexer)2092 523 y Fp(nand2)p Fq(,)e(73)2092-623 y Fp(nandl)p Fq(,)g(73)2092 722 y Fp(neg)p Fq(,)h(73)2092-822 y Fp(nor2)p Fq(,)f(73)2092 922 y Fp(norl)p Fq(,)g(73)2092-1021 y Fp(numBreak)p Fq(,)f(15,)h(76)2092 1200 y Fp(or2)p-Fq(,)h(73)2092 1300 y Fp(orl)p Fq(,)g(73)2092 1400 y-Fp(outputList)p Fq(,)d(76,)j(84)2092 1579 y(P)n(ace,)f(63)2092-1679 y Fp(pair)p Fq(,)g(75,)h(80)2092 1778 y Fp(par)p-Fq(,)g(46,)f(75,)h(81)2092 1878 y Fp(parl)p Fq(,)f(47,)h(75)2092-1978 y Fp(plus)p Fq(,)f(73)2092 2077 y Fp(plusl)p Fq(,)g(74)2092-2177 y Fp(pmap)p Fq(,)g(75)2092 2276 y(program)g(error,)f(77)2092-2376 y(prop)r(erties,)i(18)2092 2476 y Fp(puls)p Fq(,)f(24,)h(76)2092-2575 y Fp(puls2)p Fq(,)f(84)2092 2755 y(quan)n(ti\014cation,)h(19)2092-2934 y(recursion,)f(12)2092 3034 y Fp(RestrictStates)p-Fq(,)c(36)2092 3133 y Fp(riffle)p Fq(,)j(74)2092 3233-y Fp(row)p Fq(,)i(14,)f(75)2092 3333 y Fp(rowSeq)p Fq(,)f(26,)i(76)2092-3432 y Fp(rowSeqPeriod)p Fq(,)c(76)2092 3532 y Fp(rowSeqReset)p-Fq(,)g(27,)k(76)2092 3711 y(safet)n(y)g(prop)r(erties,)g(18)2092-3811 y Fp(serial)p Fq(,)e(13,)i(45,)g(75)2092 3910 y(sim)n(ulate)2258-4010 y(com)n(binational,)g(7)2258 4110 y(sequen)n(tial,)g(9,)g(23)2092-4209 y Fp(simulate)p Fq(,)e(77)2092 4309 y Fp(simulateCon)p-Fq(,)e(77)2092 4408 y Fp(simulateSeq)p Fq(,)g(77)2092-4508 y(step,)28 b(induction,)g(31)2092 4608 y Fp(sub)p-Fq(,)f(73)2092 4707 y Fp(swap)p Fq(,)f(74,)h(79)2092-4807 y Fp(swapl)p Fq(,)f(74)2092 4907 y Fp(swapper)p-Fq(,)f(82)2092 5006 y Fp(synchronize)p Fq(,)e(84)1905-5255 y(91)p eop-%%Page: 92 93-92 92 bop 515 523 a Fp(test)p Fq(,)26 b(77)515 623 y-Fp(threeBitAdder)p Fq(,)c(79)515 722 y Fp(times)p Fq(,)j(73)515-822 y Fp(timesl)p Fq(,)g(74)515 922 y Fp(timeTransform)p-Fq(,)d(43)515 1021 y Fp(toggle)p Fq(,)j(23,)i(76)515-1121 y(transition)g(relation,)f(31)515 1220 y(tree)h(shap)r(ed)h-(circuits,)f(45)515 1320 y Fp(tri)p Fq(,)f(48,)h(75,)g(86)515-1420 y Fp(two)p Fq(,)f(75)515 1519 y Fp(twoBitSort)p-Fq(,)d(79)515 1619 y Fp(twoBitSortl)p Fq(,)g(56)515 1719-y Fp(twoN)p Fq(,)j(75)515 1901 y Fp(unpair)p Fq(,)f(75,)i(80)515-2001 y Fp(unriffle)p Fq(,)d(74)515 2100 y Fp(unzipp)p-Fq(,)h(74,)i(80)515 2283 y Fp(varList)p Fq(,)e(74)515-2383 y(v)n(eri\014cation,)h(30)515 2482 y(v)n(erify)681-2582 y(com)n(binational,)g(18)681 2682 y(one-b)n(y-one,)g(21)681-2781 y(options,)h(77)681 2881 y(sequen)n(tial,)g(29)515-2980 y Fp(verify)p Fq(,)e(18,)i(77)515 3080 y Fp(verifyWith)p-Fq(,)c(34,)k(77)515 3180 y(VHDL)681 3279 y(generation,)f(9)515-3462 y Fp(writeVhdl)p Fq(,)e(9,)j(77)515 3562 y Fp(writeVhdlInput)p-Fq(,)22 b(9,)27 b(77)515 3661 y Fp(writeVhdlInputOu)o(tp)o(ut)o-Fq(,)22 b(9,)27 b(77)515 3844 y Fp(xnor2)p Fq(,)e(73)515-3944 y Fp(xor2)p Fq(,)h(73)515 4043 y Fp(xorl)p Fq(,)g(73)515-4226 y Fp(zero)p Fq(,)g(26,)h(69)515 4325 y Fp(zeroList)p-Fq(,)d(25)515 4425 y Fp(zipp)p Fq(,)i(74,)h(80)1905 5255-y(92)p eop-%%Trailer-end-userdict /end-hook known{end-hook}if-%%EOF
INSTALL view
@@ -1,5 +1,11 @@-Install the package by running:+First install the [Haskell Platform](http://www.haskell.org/platform). -  runghc Setup configure-  runghc Setup build-  runghc Setup install+Then install the package by running++    cabal install++from within this directory. Alternatively, run++    cabal install chalmers-lava2000++to install the latest version on Hackage.
chalmers-lava2000.cabal view
@@ -1,17 +1,17 @@ name:                chalmers-lava2000-version:             1.3-synopsis:            Hardware description library-description:         Hardware description library+version:             1.4.1+synopsis:            Hardware description EDSL+description:         For more info, see the tutorial: <http://projects.haskell.org/chalmers-lava2000/Doc/tutorial.pdf> category:            Language, Hardware license:             BSD3 license-file:        LICENSE copyright:           (c) 2008. Koen Claessen <koen@chalmers.se> author:              Koen Claessen <koen@chalmers.se> maintainer:          Emil Axelsson <emax@chalmers.se>-homepage:            http://projects.haskell.org/chalmers-lava2000/+homepage:            http://projects.haskell.org/chalmers-lava2000/Doc/tutorial.pdf cabal-version:       >= 1.6 build-type:          Simple-data-files:          README, INSTALL, Doc/tutorial.ps, Vhdl/lava.vhd, Scripts/satzoo.wrapper, Scripts/smv.wrapper+data-files:          README, INSTALL, Doc/tutorial.pdf, Vhdl/lava.vhd, Scripts/satzoo.wrapper, Scripts/smv.wrapper  source-repository head   type:     darcs