%!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: rh.dvi %%Pages: 15 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips rh.dvi -o %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2004.06.21:1654 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: special.pro %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 39158280 55380996 1000 600 600 (rh.dvi) @start %DVIPSBitmapFont: Fa cmsy7 7 1 /Fa 1 1 df0 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmr8 8 30 /Fb 30 120 df<14FF010713E090381F80F090383E003849137C4913FC485A1203491378 153092C7FCA7157CB612FCA23803E000157CB3A5486C13FE3A7FFF0FFFE0A2232F7FAE27 >12 D<123C127EB4FCA21380A2127F123D1201A312031300A25A1206120E5A5A5A126009 157AAD14>39 D<123C127EB4FCA21380A2127F123D1201A312031300A25A1206120E5A5A 5A126009157A8714>44 D<123C127E12FFA4127E123C08087A8714>46 D51 D67 D72 D82 D<007FB712F8A29039000FC003007C150000701638A200601618A2 00E0161CA248160CA5C71500B3A94A7E011FB512E0A22E2D7EAC33>84 DI91 D93 D<13FF000713C0380F01F0381C00F8 003F137C80A2143F001E7FC7FCA4EB07FF137F3801FE1FEA07F0EA1FC0EA3F80EA7F0012 7E00FE14065AA3143F7E007E137F007FEBEF8C391F83C7FC390FFF03F83901FC01E01F20 7D9E23>97 DII< 15F8141FA214011400ACEB0FE0EB7FF83801F81E3803E0073807C003380F8001EA1F0048 1300123E127EA25AA9127C127EA2003E13017EEB8003000F13073903E00EFC3A01F03CFF C038007FF090391FC0F800222F7EAD27>III104 DI 108 D<2607C07FEB07F03BFFC3FFC03FFC903AC783F0783F3C0FCE01F8E01F803B07DC00 F9C00F01F8D9FF8013C04990387F000749137EA249137CB2486C01FEEB0FE03CFFFE0FFF E0FFFEA2371E7E9D3C>I<3807C0FE39FFC3FF809038C703E0390FDE01F0EA07F8496C7E A25BA25BB2486C487E3AFFFE1FFFC0A2221E7E9D27>II<3807C0FE39FFC7FF809038CF03E0390FDC01F03907F800FC49137E49133E49133FED 1F80A3ED0FC0A8151F1680A2ED3F00A26D137E6D137C5D9038FC01F09038CE07E09038C7 FF80D9C1FCC7FC01C0C8FCA9487EEAFFFEA2222B7E9D27>I<380781F838FF87FEEB8E3F EA0F9CEA07B813B0EBF01EEBE000A45BB0487EB5FCA2181E7E9D1C>114 D<3801FE183807FFB8381E01F8EA3C00481378481338A21418A27E7EB41300EA7FF06CB4 FC6C13C06C13F0000113F838001FFC130138C0007E143EA26C131EA27EA26C133CA26C13 7838FF01F038E3FFC000C0130017207E9E1C>I<1360A413E0A312011203A21207121FB5 12F0A23803E000AF1418A714383801F03014703800F860EB3FE0EB0F80152A7FA81B>I< D807C013F800FF131FA2000F130100071300B21401A314033803E007EC0EFC3A01F81CFF C038007FF890391FE0F800221F7E9D27>I<3BFFFC3FFE07FFA23B0FE003F001F801C090 38E000F00007010114E0812603E00314C0A2913807F8012701F006781380A29039F80E7C 030000D90C3C1300A290397C181E06A2151F6D486C5AA2168C90391F600798A216D89039 0FC003F0A36D486C5AA36DC75A301E7F9C33>119 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmr6 6 1 /Fc 1 50 df<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>49 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmr7 7 4 /Fd 4 58 df<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>49 D<13FF000313E0380E03F0381800F848137C48137E00787F12FC6CEB1F80A4127CC7FC15 005C143E147E147C5C495A495A5C495A010EC7FC5B5B903870018013E0EA018039030003 0012065A001FB5FC5A485BB5FCA219267DA521>I<1438A2147814F81301A21303130713 06130C131C131813301370136013C012011380EA03005A120E120C121C5A12305A12E0B6 12E0A2C7EAF800A7497E90383FFFE0A21B277EA621>52 D<137F3801FFC03807C1E0380F 0070001E1378003E7F003C133E007C131EA200FC131FA41580A4007C133FA2123C003E13 7F001E135F380F01DF3807FF9F3801FE1FD8001013001300A2143E123C007E133CA25C5C 007C5B383003C0381C0780D80FFFC7FCEA03F819277DA521>57 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmmi7 7 3 /Fe 3 120 df<90383FFFF8A2D901FCC7FC5CA21303A25CA21307A25CA2130FA25CA213 1FA25CA2133FA291C8FCA249141C1618137E163801FE1430167049146016E000011401ED 03C0491307ED0F800003147FB7FC160026287DA72E>76 D<133EEA07FEA2EA007CA213FC A25BA21201A25BA2120314FCEBE3FF9038EF0780D807FC13C0EBF00313E0A2EA0FC01407 1380A2121FEC0F801300A248EB1F00A2003E1406143E127EEC7C0C127C151800FCEB3C30 157048EB1FE00070EB0F801F297CA727>104 D119 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmbx10 10 18 /Ff 18 118 df<913803FFC0027F13F00103B512FC010FEB00FED93FF8133FD97FE0EBFF 8049485A5A1480484A13C04A6C1380A36F1300167E93C7FCA592383FFFC0B8FCA4000390 C7FCB3ABB5D8FC3F13FFA4303A7EB935>12 D<141E143E14FE1307133FB5FCA313CFEA00 0FB3B3A6007FB61280A4213779B630>49 DIII68 D81 D<003FB91280A4D9F800EBF003D87FC09238007FC049161F007EC7150FA2007C1707A200 781703A400F818E0481701A4C892C7FCB3AE010FB7FCA43B387DB742>84 D<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC 1FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F 6C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025 257DA42C>101 D<13FFB5FCA412077EAFED7FC0913803FFF8020F13FE91381F03FFDA3C 01138014784A7E4A14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A7DB935>104 DI<01FED97FE0EB0FFC00FF902601FFFC90383FFF80020701FF90B512 E0DA1F81903983F03FF0DA3C00903887801F000749DACF007F00034914DE6D48D97FFC6D 7E4A5CA24A5CA291C75BB3A3B5D8FC1FB50083B512F0A44C257DA451>109 D<01FEEB7FC000FF903803FFF8020F13FE91381F03FFDA3C011380000713780003497E6D 4814C05CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA435>I<903801FFC0010F13F801 7F13FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7EA2003F81491303007F81A3 00FF1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB4 5A6C6CB5C7FC011F13FC010113C029257DA430>I<9038FE03F000FFEB0FFEEC3FFF9138 7C7F809138F8FFC000075B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512 FEA422257EA427>114 D<90383FF0383903FFFEF8000F13FF381FC00F383F0003007E13 01007C130012FC15787E7E6D130013FCEBFFE06C13FCECFF806C14C06C14F06C14F81203 C614FC131F9038007FFE140700F0130114007E157E7E157C6C14FC6C14F8EB80019038F0 07F090B512C000F8140038E01FF81F257DA426>I<130FA55BA45BA25B5BA25A1207001F EBFFE0B6FCA3000390C7FCB21578A815F86CEB80F014816CEBC3E090383FFFC06D138090 3803FE001D357EB425>I<01FFEC3FC0B5EB3FFFA4000714016C80B3A35DA25DA26C5C6E 4813E06CD9C03E13FF90387FFFFC011F13F00103138030257DA435>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmsy10 10 5 /Fg 5 104 df<0060150600F8150F6C151F007E153F6C157E6C6C14FC6C6CEB01F86C6C EB03F06C6CEB07E06C6CEB0FC06C6CEB1F80017EEB3F006D137E6D6C5A90380FC1F89038 07E3F0903803F7E06DB45A6D5B6EC7FCA24A7E497F903803F7E0903807E3F090380FC1F8 90381F80FC90383F007E017E7F49EB1F804848EB0FC04848EB07E04848EB03F04848EB01 F84848EB00FC48C8127E007E153F48151F48150F00601506282874A841>2 D<020FB6128091B712C01303010F1680D91FF8C9FCEB7F8001FECAFCEA01F8485A485A48 5A5B48CBFCA2123EA25AA2127812F8A25AA87EA21278127CA27EA27EA26C7E7F6C7E6C7E 6C7EEA00FEEB7F80EB1FF86DB71280010316C01300020F158091CAFCAE001FB812804817 C0A26C1780324479B441>18 D<181EA4181F84A285180785727EA2727E727E85197E85F1 1F80F10FC0F107F0007FBA12FCBCFCA26C19FCCCEA07F0F10FC0F11F80F13F00197E6161 4E5A4E5AA24E5A61180F96C7FCA260181EA4482C7BAA53>33 D102 D<12FCEAFFC0EA07F0EA01FCEA007E7F80131F80130FB3A7801307806D7E 6D7EEB007EEC1FF0EC07F8EC1FF0EC7E00495A495A495A5C130F5CB3A7131F5C133F91C7 FC137E485AEA07F0EAFFC000FCC8FC1D537ABD2A>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fh cmbx12 12 23 /Fh 23 122 df46 D49 DII67 D70 DI77 D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF848 48EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC13 07013F13F19038FFFC01000313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B 6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90F FCC9FC322F7DAD36>97 D99 D101 D 104 D<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAA EB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>I108 D<90397F8007FEB590383FFF8092B512E0028114F8913987F0 3FFC91388F801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512 FEA5372D7CAC3E>110 DI< 90397FC00FF8B590B57E02C314E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07 FF6C496D13804A15C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C 13E06E15C06E5B6E4913806E4913006E495A9139DFC07FFC02CFB512F002C314C002C091 C7FCED1FF092C9FCADB67EA536407DAC3E>I<90387F807FB53881FFE0028313F0028F13 F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA3 5CB3A5B612E0A5272D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003 383FC00049133F48C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF 6C14C015F06C14FC6C800003806C15806C7E010F14C0EB003F020313E0140000F0143FA2 6C141F150FA27EA26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8 F03F13E026E007FEC7FC232F7CAD2C>IIII121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fi cmmi10 10 22 /Fi 22 123 df<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A12 06120E5A5A5A12600A19798817>59 DI<126012FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FC EB01FF9038007FC0EC1FF0EC07FCEC01FF9138007FC0ED1FF0ED07FCED01FF9238007FC0 EE1FF0EE07FCEE01FF9338007F80EF1FC0A2EF7F80933801FF00EE07FCEE1FF0EE7FC04B 48C7FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07FCEB1FF0EB 7FC04848CAFCEA07FCEA3FF0EA7FC048CBFC12FC1270323279AD41>62 D<0103B812F05BA290260007F8C7123F4B1407F003E0020F150118005DA2141FA25D19C0 143FA24B1330A2027F1470190092C7126017E05C16014A495A160F49B6FCA25F9138FC00 0F01031407A24A6DC8FCA201075C18034A130660010F160693C7FC4A150E180C011F161C 18184A1538A2013F5E18F04A4A5AA2017F15074D5A91C8123F49913803FF80B9FCA295C7 FC3C397DB83D>69 D71 D<0103B6FC5B5E90260007 FCC8FC5D5D140FA25DA2141FA25DA2143FA25DA2147FA292C9FCA25CA25CA21301A25CA2 1303A25CA2130718404A15C0A2010F150118804A1403A2011F16005F4A1406170E013F15 1E171C4A143C177C017F5D160391C7120F49EC7FF0B8FCA25F32397DB839>76 D<0103B7FC4916E018F8903B0007F80007FC4BEB00FE187F020FED3F80F01FC05DA2021F 16E0A25DA2143FF03FC05DA2027FED7F80A292C8130018FE4A4A5A604AEC07F04D5A0101 ED3FC04CB4C7FC91B612FC17E0D903FCCAFCA25CA21307A25CA2130FA25CA2131FA25CA2 133FA25CA2137FA291CBFC497EB6FCA33B397DB835>80 D<4BB4FC031F13F09238FE01FC 913903F0007EDA07C0EB1F80DA1F80EB0FC0023EC7EA07E002FCEC03F0495A4948EC01F8 495A4948EC00FC495A013F16FE49C9FC13FE187F485A12035B12075B120F4916FF121FA2 485AA34848ED01FEA448C9EA03FCA3EF07F8A218F0170F18E0171F18C0EF3F807EEF7F00 17FEDA07C05B6C90391FF001F8903980383803001F496C485A9139E00C0FE0260FC0C0EB 1F80D807E1D90E3FC7FC0280137ED803F1EB07F8D801F95C3A007FC00FC0903A3FE07F00 03903807FFFE0100018F5BDA000F1306170E171E705A177CEEC1F816FF5FA25F5F6F5B6F 48C7FCED00F8384B7CBA42>I<92391FE00380DBFFFC130002036D5A91390FE01F8F9139 3F0007DF027EEB01FE02F81300495A4948147E177C4948143C495AA2011F153891C8FCA3 491530A28094C7FC80806D7E14FEECFFE06D13FE6DEBFFC06D14F06D806D80021F7F0203 7FEC003F03037F1500167F163F161FA3120C160FA2001C151F94C7FCA3003C153EA25E00 3E5D127E007F4A5A6D495A6DEB0FC0D8F9F0495AD8F0FE01FEC8FC39E03FFFF8010F13E0 D8C00190C9FC313D7CBA33>83 D<147E903803FF8090390FC1C38090391F00EFC0017E13 7F49133F485A4848EB1F8012075B000F143F48481400A2485A5D007F147E90C7FCA215FE 485C5AA214015D48150CA21403EDF01C16181407007C1538007E010F1330003E131F027B 13706C01E113E03A0F83C0F9C03A03FF007F80D800FCEB1F0026267DA42C>97 D101 D104 D107 D109 DII<14FF010313C0 90380F80F090383E00380178131C153C4913FC0001130113E0A33903F000F06D13007F38 01FFE014FC14FF6C14806D13C0011F13E013039038003FF014071403001E1301127FA248 14E0A348EB03C012F800E0EB07800070EB0F006C133E001E13F83807FFE0000190C7FC1E 267CA427>115 DI<01F8 16F0D803FE9138E001F8D8070F903801F003000ED9800314FC121C121800380207130100 30EDE000D8701F167C1260030F143CD8E03F163800C001005B5BD8007E131F183001FE5C 5B033F1470000117604991C7FCA218E000034A14C049137E17011880170318005F03FE13 06170E000101015C01F801BF5B3B00FC039F8070903A7E0F0FC0E0903A1FFC03FFC09027 03F0007FC7FC36267EA43B>119 D<903907E001F090391FF807FC9039783E0E0F9039E0 1F1C1FD801C09038383F803A03800FF07F0100EBE0FF5A000E4A1300000C157E021F133C 001C4AC7FC1218A2C7123FA292C8FCA25CA2147EA214FEA24A130CA20101141C001E1518 003F5BD87F81143801835C00FF1560010714E03AFE0E7C01C0D87C1C495A2778383E0FC7 FC391FF00FFC3907C003F029267EA42F>I<13F8D803FE1470D8070F14F8000EEB800112 1C121800381403003015F0EA701F1260013F130700E0010013E012C05BD8007E130F16C0 13FE5B151F000115805BA2153F000315005BA25D157EA315FE5D1401000113033800F807 90387C1FF8EB3FF9EB0FE1EB00035DA2000E1307D83F805B007F495AA24A5A92C7FCEB00 3E007C5B00705B6C485A381E07C06CB4C8FCEA01FC25367EA429>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fj cmti10 10 48 /Fj 48 123 df<04FFEB03F003039038E00FFC923A0FC0F01F1E923A3F00783E0F923A7E 01F87C3FDB7C03EBFC7F03FC14F8DA01F813F905F1137EDC01E1133C913B03F00003F000 A314074B130760A3140F4B130F60A3010FB812C0A3903C001F80001F8000A3023F143F92 C790C7FCA44A5C027E147EA402FE14FE4A5CA413014A13015FA313034A13035FA313074A 495AA44948495AA44948495AA3001CD9038090C8FC007E90380FC03F013E143E00FE011F 5B133C017C5C3AF8780F01E0D878F0EB07C0273FE003FFC9FC390F8000FC404C82BA33> 11 DI< EA01E0EA07F0120F13F8121FA3120FEA07B0EA0030A21370136013E013C0120113801203 EA0700120E5A5A5A5A5A0D196EB919>39 D<150C151C153815F0EC01E0EC03C0EC0780EC 0F00141E5C147C5C5C495A1303495A5C130F49C7FCA2133EA25BA25BA2485AA212035B12 075BA2120F5BA2121FA290C8FCA25AA2123EA2127EA2127CA412FC5AAD1278A57EA3121C 121EA2120E7EA26C7E6C7EA212001E5274BD22>I<140C140E80EC0380A2EC01C015E0A2 140015F0A21578A4157C153CAB157CA715FCA215F8A21401A215F0A21403A215E0A21407 A215C0140F1580A2141F1500A2143EA25CA25CA2495AA2495A5C1307495A91C7FC5B133E 133C5B5B485A12035B48C8FC120E5A12785A12C01E527FBD22>I44 D<387FFFF8A2B5FCA214F0150579941E>I<120EEA3F80127F12FFA313 00127E123C0909778819>I<1703EF0780170FA2EF1F005F173E5FA25FA24C5A16035F4C 5AA24C5AA24CC7FCA2163E167E167C5EA24B5AA24B5A15075E4B5AA24BC8FCA2153E157E 157C5DA24A5AA24A5A14075D4A5AA24AC9FCA2143EA25C14FC5C495AA2495AA2495A130F 5C49CAFCA2133EA25B13FC5B485AA2485AA2485A120F5B48CBFCA2123EA25AA25AA21270 31537FBD2A>I50 D59 D65 D67 D<0107B8FCA3903A000FF000034BEB00 7F183E141F181E5DA2143FA25D181C147FA29238000380A24A130718004A91C7FC5E1301 5E4A133E167E49B512FEA25EECF8000107147C163C4A1338A2010F147818E04A13701701 011F16C016004A14031880013F150718004A5CA2017F151E173E91C8123C177C4915FC4C 5A4914070001ED7FF0B8FCA25F38397BB838>69 D<0103B5D8F80FB512E0A390260007F8 C7381FE0004B5DA2020F153F615DA2021F157F96C7FC5DA2023F5D605DA2027F14016092 C7FCA24A1403605CA249B7FC60A202FCC712070103150F605CA20107151F605CA2010F15 3F605CA2011F157F95C8FC5CA2013F5D5F5CA2017F14015F91C7FC491403007FD9FE01B5 12F8B55BA243397CB83E>72 D<0103B512F8A390390007F8005DA2140FA25DA2141FA25D A2143FA25DA2147FA292C7FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25C A2131FA25CA2133FA25CA2137FA291C8FC497EB6FCA25C25397CB820>I<0207B512F0A3 91390007FC006F5AA215075EA3150F5EA3151F5EA3153F5EA3157F93C7FCA35D5DA31401 5DA314035DA31407A25DA2140FA2003F5C5A141F485CA24A5A12FC00E049C8FC14FE0070 5B495A6C485A381E0FC06CB4C9FCEA01F82C3B78B82C>I<902607FFF8923807FFF0614F 13E0D9000FEFF0004F5AA2021F167FF1EFC0141DDA1CFCEC01CF023C16DF9538039F8002 38ED071FA20278ED0E3F97C7FC0270151CA202F04B5AF0707E14E0037E14E0010117FE4D 485A02C0EC0380A20103ED0701610280140EA20107ED1C0305385B14006F137049160705 E05B010EEC01C0A2011E913803800F61011CEC0700A2013C020E131F4C5C1338ED1FB801 78163F04F091C8FC01705CA201F04A5B187E00015DD807F816FEB500C09039007FFFFC15 1E150E4C397AB84A>77 D<0107B612F817FF1880903B000FF0003FE04BEB0FF0EF03F814 1FEF01FC5DA2023F15FEA25DA2147FEF03FC92C7FCA24A15F817074A15F0EF0FE01301EF 1FC04AEC3F80EFFE0001034A5AEE0FF091B612C04CC7FCD907F8C9FCA25CA2130FA25CA2 131FA25CA2133FA25CA2137FA291CAFCA25BA25B1201B512FCA337397BB838>80 D<0103B612F017FEEFFF80903B0007F8003FC04BEB0FF01707020FEC03F8EF01FC5DA202 1F15FEA25DA2143FEF03FC5DA2027FEC07F818F092C7120F18E04AEC1FC0EF3F004A14FE EE01F80101EC0FE091B6128004FCC7FC9138FC003F0103EC0F80834A6D7E8301071403A2 5C83010F14075F5CA2011F140FA25CA2133F161F4AECE007A2017F160F180E91C7FC4902 0F131C007F01FE153CB5913807F078040313F0CAEAFFE0EF3F80383B7CB83D>82 D<92383FC00E913901FFF01C020713FC91391FC07E3C91393F001F7C027CEB0FF84A1307 49481303495A4948EB01F0A2495AA2011F15E091C7FCA34915C0A36E90C7FCA2806D7E14 FCECFF806D13F015FE6D6D7E6D14E0010080023F7F14079138007FFC150F15031501A215 00A2167C120EA3001E15FC5EA3003E4A5AA24B5AA2007F4A5A4B5A6D49C7FC6D133ED8F9 F013FC39F8FC03F839F07FFFE0D8E01F138026C003FCC8FC2F3D7ABA2F>I<0007B812E0 A25AD9F800EB001F01C049EB07C0485AD900011403121E001C5C003C1780140312380078 5C00701607140700F01700485CA2140FC792C7FC5DA2141FA25DA2143FA25DA2147FA292 C9FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CEB3FF0007FB512F8B6FC A2333971B83B>I87 D<1318133813F0EA01C013801203EA0700120E120C121C5A1230A212701260A212EFEAFF 80A6EA7F00123C0D196FB919>96 D<14F8EB07FE90381F871C90383E03FE137CEBF80112 0148486C5A485A120FEBC001001F5CA2EA3F801403007F5C1300A21407485C5AA2140F5D 48ECC1C0A2141F15831680143F1587007C017F1300ECFF076C485B9038038F8E391F0F07 9E3907FE03FC3901F000F0222677A42A>I<133FEA1FFFA3C67E137EA313FE5BA312015B A312035BA31207EBE0F8EBE7FE9038EF0F80390FFC07C013F89038F003E013E0D81FC013 F0A21380A2123F1300A214075A127EA2140F12FE4814E0A2141F15C05AEC3F80A215005C 147E5C387801F8007C5B383C03E0383E07C0381E1F80D80FFEC7FCEA01F01C3B77B926> I<147F903803FFC090380FC1E090381F0070017E13784913383901F801F83803F0031207 13E0120FD81FC013F091C7FC485AA2127F90C8FCA35A5AA45AA3153015381578007C14F0 007EEB01E0003EEB03C0EC0F806CEB3E00380F81F83803FFE0C690C7FC1D2677A426>I< ED01F815FFA3150316F0A21507A216E0A2150FA216C0A2151FA21680A2153FA202F81300 EB07FE90381F877F90383E03FF017C5BEBF80112013803F00048485B120FEBC001121F5D EA3F801403127F01005BA214075A485CA2140FA248ECC1C0A2141F15C3ED8380143F1587 007C017F1300ECFF076C485B9038038F8E391F0F079E3907FE03FC3901F000F0253B77B9 2A>I<147F903803FFC090380FC1E090383F00F0017E13785B485A485A485A120F4913F8 001F14F0383F8001EC07E0EC1F80397F81FF00EBFFF891C7FC90C8FC5A5AA55AA2153000 7C14381578007E14F0003EEB01E0EC03C06CEB0F806CEB3E00380781F83803FFE0C690C7 FC1D2677A426>IIIII<150E153F157FA3157E151C15 00ABEC1F80EC7FC0ECF1F0EB01C090380380F813071401130F130E131EEB1C03133C0138 13F0A2EB0007A215E0A2140FA215C0A2141FA21580A2143FA21500A25CA2147EA214FEA2 5CA21301A25CA213035C121C387E07E0A238FE0FC05C49C7FCEAF83EEA787CEA3FF0EA0F C0204883B619>I 108 D II<147F903803FFC090380FC1F090381F 00F8017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F127F90C7FCA215 FF5A4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F00 147E6C13F8380F83F03803FFC0C648C7FC202677A42A>I<9039078007C090391FE03FF0 90393CF0787C903938F8E03E9038787FC00170497EECFF00D9F0FE148013E05CEA01E113 C15CA2D80003143FA25CA20107147FA24A1400A2010F5C5E5C4B5A131F5EEC80035E013F 495A6E485A5E6E48C7FC017F133EEC70FC90387E3FF0EC0F8001FEC9FCA25BA21201A25B A21203A25B1207B512C0A3293580A42A>I<3903C003F0390FF01FFC391E783C0F381C7C 703A3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7FCEAE0FE5BA212 0012015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E212679A423>114 D<14FE903807FF8090380F83C090383E00E04913F00178137001F813F00001130313F0A2 15E00003EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C01300143F141F14 0F123E127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06CB45AD801FEC7FC 1C267AA422>II<13F8D8 03FEEB01C0D8078FEB03E0390E0F8007121E121C0038140F131F007815C01270013F131F 00F0130000E015805BD8007E133FA201FE14005B5D120149137EA215FE120349EBFC0EA2 0201131E161C15F813E0163CD9F003133814070001ECF07091381EF8F03A00F83C78E090 393FF03FC090390FC00F00272679A42D>I<01F0130ED803FC133FD8071EEB7F80EA0E1F 121C123C0038143F49131F0070140FA25BD8F07E140000E08013FEC6485B150E12015B15 1E0003141C5BA2153C000714385B5DA35DA24A5A140300035C6D48C7FC0001130E3800F8 3CEB7FF8EB0FC0212679A426>I<01F01507D803FC903903801F80D8071E903907C03FC0 D80E1F130F121C123C0038021F131F49EC800F00701607A249133FD8F07E168000E0ED00 0313FEC64849130718000001147E5B03FE5B0003160E495BA2171E00070101141C01E05B 173C1738A217781770020314F05F0003010713016D486C485A000190391E7C07802800FC 3C3E0FC7FC90393FF81FFE90390FE003F0322679A437>I<903907E007C090391FF81FF8 9039787C383C9038F03E703A01E01EE0FE3803C01F018013C0D8070014FC481480000E15 70023F1300001E91C7FC121CA2C75AA2147EA214FEA25CA21301A24A1370A2010314F016 E0001C5B007E1401010714C000FEEC0380010F1307010EEB0F0039781CF81E9038387C3C 393FF03FF03907C00FC027267CA427>I<13F0D803FCEB01C0D8071EEB03E0D80E1F1307 121C123C0038140F4914C01270A249131FD8F07E148012E013FEC648133F160012015B5D 0003147E5BA215FE00075C5BA214015DA314035D14070003130FEBF01F3901F87FE03800 7FF7EB1FC7EB000F5DA2141F003F5C48133F92C7FC147E147C007E13FC387001F8EB03E0 6C485A383C1F80D80FFEC8FCEA03F0233679A428>I<903903C0038090380FF007D91FF8 1300496C5A017F130E9038FFFE1E9038F83FFC3901F007F849C65A495B1401C7485A4A5A 4AC7FC141E5C5C5C495A495A495A49C8FC131E5B49131C5B4848133C4848133849137800 0714F8390FF801F0391FFF07E0383E1FFFD83C0F5B00785CD8700790C7FC38F003FC38E0 00F021267BA422>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fk cmtt10 10 40 /Fk 40 125 df<007FB6FCB71280A46C150021067B9B2C>45 D<121FEA3F80EA7FC0EAFF E0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D 14015D14035DA214075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C1307 5C130F5C131F5CA2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B12 3F90C9FC5A127E12FE5AA25A127821417BB92C>II<1307497EA2131FA2133F137F13FF5A1207127FB5FC13DF139FEA7C1F1200 B3AE007FB512E0B612F0A36C14E01C3477B32C>IIII<000FB512FE4880A35D0180C8FCADEB83FE90389FFF8090B512E0 15F8819038FE03FE9038F000FF01C07F49EB3F8090C7121F6C15C0C8120FA2ED07E0A412 3C127EB4FC150F16C0A248141F007EEC3F80007FEC7F006C6C5B6D485A391FF80FFC6CB5 5A6C5C000114C06C6C90C7FCEB0FF823347CB22C>II<1278B712C016E0A316C000FCC7EA3F80ED7F0015FE00785CC712 014A5A4A5A5D140F5D4A5A143F92C7FC5C147E14FE5C13015CA2495AA213075CA3495AA4 495AA5133F91C8FCAA131E23357CB32C>III<121FEA3F 80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5EA7FC0EA 3F80EA1F000B2470A32C>I<007FB612F0B712F8A4003F15F0CAFCA8003FB612F0B712F8 A46C15F025147DA22C>61 D<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07 F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0 001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007F B612E016C0B712806CECFE0015F027337FB22C>66 D<007FB512C0B612F88115FF6C1580 2603F00013C0153FED0FE0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015 FF90B61280160015FC5D15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>80 D<90381FF80790B5EA0F804814CF000714FF5A381FF01F383FC003497E48C7FC007E147F 00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13FC0003EBFF C06C14F06C6C7F01077F9038007FFEEC07FF02001380153FED1FC0A2ED0FE0A200781407 12FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE01FF90B55A5D00F914F0D8F83F 13C0D8700790C7FC23357CB32C>83 D<3801FFF0000713FE001F6D7E15E048809038C01F F81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F48EB807E383F F800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001 EBFE1F3A003FF007FC27247CA32C>97 D<903803FFE0011F13F8017F13FE48B5FC488048 48C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F80 6C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21247AA3 2C>99 DIIIII<1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC0 80B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>I<140EEC3F80A2EC 7FC0A3EC3F80A2EC0E0091C7FCA748B512804814C0A37EC7120FB3B3A2141F003C148000 7E133FB414005CEB01FEEBFFFC6C5B5C001F5B000790C7FC1A467CB32C>II<387FFFE0 B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I<3A7F83F007E090 39CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF83F496C487E01F0 13E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F002 3F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F0 3F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029247F A32C>II<397FF01FE039FFF8FFF801FB13FE90B6FC6C158000019038F07FC09138 801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13 036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F8EC3FC091C8FC AD387FFFE0B57EA36C5B27367FA32C>I114 D<90387FF8700003B512F8120F5A5A387FC00F387E000348 13015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113 FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC 15F815E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500 D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F8 9038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB000FB3A3151FA2 153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE07130029247FA32C>I119 D<003FB612E04815F0A4007EC7EA1FE0 ED3FC0ED7F80EDFF004A5A003C495AC7485A4A5A4A5A4A5A4A5A4AC7FCEB01FC495AEB0F F0495A495A495A49C8FC4848EB01E04848EB03F0485A485A485A485A485AB7FCA46C15E0 24247DA32C>122 D<127812FCB3B3B3A9127806416DB92C>124 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl cmr10 10 79 /Fl 79 125 df11 DII<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C131C00001300A4 0001130101801380A20003130301001300485B00061306000E130E485B485B485B006013 601A197DB92A>34 D<121C127FEAFF80A213C0A3127F121C1200A412011380A212031300 5A1206120E5A5A5A12600A1979B917>39 D<146014E0EB01C0EB0380EB0700130E131E5B 5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121E A2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460 135278BD20>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E 131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E13 3C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127F EAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A1979 8817>44 DI<121C127FEAFF80A5EA7F00121C0909798817>I<15 0C151E153EA2153C157CA2157815F8A215F01401A215E01403A215C01407A21580140FA2 15005CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA25C130FA291C7 FC5BA2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A25B120FA290C8 FC5AA2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>IIIII<1538A2157815F8A2140114031407A2 140F141F141B14331473146314C313011483EB030313071306130C131C13181330137013 6013C01201EA038013005A120E120C5A123812305A12E0B712F8A3C73803F800AB4A7E01 03B512F8A325397EB82A>I<0006140CD80780133C9038F003F890B5FC5D5D158092C7FC 14FC38067FE090C9FCABEB07F8EB3FFE9038780F803907E007E090388003F0496C7E1206 6E7EC87EA28181A21680A4123E127F487EA490C71300485C12E000605C12700030495A00 385C6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB1FE0213A7CB72A> II<12301238123E003FB612E0A316C05A1680160000 70C712060060140E5D151800E01438485C5D5DC712014A5A92C7FC5C140E140C141C5CA2 5CA214F0495AA21303A25C1307A2130FA3495AA3133FA5137FA96DC8FC131E233B7BB82A >III<121C127FEAFF80A5EA7F00 121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>I<121C127FEAFF80A5EA7F00 121CC7FCB2121C127F5A1380A4127F121D1201A412031300A25A1206A2120E5A12181238 5A1260093479A317>I<007FB812F8B912FCA26C17F8CCFCAE007FB812F8B912FCA26C17 F836167B9F41>61 D63 D<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C 1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A249 C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E070 7E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E>65 DI<913A01FF800180020FEBE003027F13F8903A01FF807E07903A03 FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12014848151F48 48150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180A312 3F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD91FE0 5C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002011380313D 7BBA3C>III< B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4170E1706A2ED01 80A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8FCAD4813C0B612 C0A32F397DB836>III I<013FB512E0A39039001FFC00EC07F8B3B3A3123FEA7F80EAFFC0A44A5A1380D87F005B 0070131F6C5C6C495A6C49C7FC380781FC3801FFF038007F80233B7DB82B>I76 DIIII82 DI<003FB812E0A3D9C003EB001F273E0001FE130348EE01F0 0078160000701770A300601730A400E01738481718A4C71600B3B0913807FF80011FB612 E0A335397DB83C>IIII 89 D91 D<390180018000031303 3907000700000E130E485B0018131800381338003013300070137000601360A200E013E0 485BA400CE13CE39FF80FF806D13C0A3007F137FA2393F803F80390E000E001A1974B92A >II96 DIIIII<147E903803FF8090380FC1E0EB1F87 90383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFF F8A31C3B7FBA19>III IIII<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01 E07E903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0 A2495CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF0 00FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A348 6C497EB500C1B51280A329257EA42E>II<3903F01FE000FFEB7FF890 38F1E07E9039F3801F803A0FF7000FC0D803FEEB07E049EB03F04914F849130116FC1500 16FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F00 9038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E>II<3807E01F 00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E09038FC00804913 00A45BB3A2487EB512F0A31C257EA421>II<1318A51338A31378A313F8120112031207001FB5FCB6 FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB2 20>IIIIII<003FB512FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1F C0EC3F800060137F150014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2 485A485A0007140E5B4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F24 7EA325>III E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fm cmbx12 14.4 39 /Fm 39 123 df45 D<157815FC14031407141F14FF130F0007B5 FCB6FCA2147F13F0EAF800C7FCB3B3B3A6007FB712FEA52F4E76CD43>49 DI<91380FFFC091B512FC0107ECFF80011F15E09026 3FF8077F9026FF800113FC4848C76C7ED803F86E7E491680D807FC8048B416C080486D15 E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C13005FA24C5A4B5B4B5B4B13C04B 5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E0030113F89238007FFE707E701380 7013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0FF8487E487E487EB57EA318FC A25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A1380D80FF84A13006CB44A5A 6CD9F0075BC690B612F06D5D011F1580010302FCC7FCD9001F1380374F7ACD43>I<177C 17FEA2160116031607160FA2161F163F167FA216FF5D5DA25D5DED1FBFED3F3F153E157C 15FCEC01F815F0EC03E01407EC0FC01580EC1F005C147E147C5C1301495A495A5C495A13 1F49C7FC133E5B13FC485A5B485A1207485A485A90C8FC123E127E5ABA12C0A5C96C48C7 FCAF020FB712C0A53A4F7CCE43>III<121F7F7FEB FF8091B81280A45A1900606060A2606060485F0180C86CC7FC007EC95A4C5A007C4B5A5F 4C5A160F4C5A484B5A4C5A94C8FC16FEC812014B5A5E4B5A150F4B5AA24B5AA24B5A15FF A24A90C9FCA25C5D1407A2140FA25D141FA2143FA4147F5DA314FFA55BAC6D5BA2EC3FC0 6E5A395279D043>I<913807FFC0027F13FC0103B67E010F15E090261FFC0113F8903A3F E0003FFCD97F80EB0FFE49C76C7E48488048486E1380000717C04980120F18E0177FA212 1F7FA27F7F6E14FF02E015C014F802FE4913806C7FDBC00313009238F007FE6C02F85B92 38FE1FF86C9138FFBFF06CEDFFE017806C4BC7FC6D806D81010F15E06D81010115FC0107 81011F81491680EBFFE748018115C048D9007F14E04848011F14F048487F484813030300 14F8484880161F4848020713FC1601824848157F173FA2171FA2170FA218F8A27F007F17 F06D151FA26C6CED3FE0001F17C06D157F6C6CEDFF806C6C6C010313006C01E0EB0FFE6C 01FCEBFFFC6C6CB612F06D5D010F1580010102FCC7FCD9000F13C0364F7ACD43>I<9326 01FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003 EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F88249 49824949824949824949824990CA7E494883A2484983485B1B7F485B481A3FA24849181F A3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F6C6D1980A26C 1A1F6C7F1C006C6D606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D6D4C5A6D01FC 4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF80203903AFFE001FFF0 020091B612C0033F93C8FC030715FCDB007F14E0040101FCC9FC525479D261>67 D69 D72 D I76 D78 D<93380FFFC00303B6FC031F15E092B712FC0203D9FC0013FF020F01C0010F13C0023F90 C7000313F0DA7FFC02007F494848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C96C7F 49854948707F4948707FA24849717E48864A83481B804A83481BC0A2481BE04A83A2481B F0A348497113F8A5B51AFCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D 4D1380A26C1B006C6D4D5A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D 6D4B90C7FC6D6D4B5A6D01FF02035B023F01E0011F13F0020F01FC90B512C0020390B7C8 FC020016FC031F15E0030392C9FCDB001F13E0565479D265>II82 D<91260FFF80130791B500F85B010702FF5B011FEDC03F 49EDF07F9026FFFC006D5A4801E0EB0FFD4801800101B5FC4848C87E48488149150F001F 824981123F4981007F82A28412FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F8 6CECFF8016FC6CEDFFC017F06C16FC6C16FF6C17C06C836C836D826D82010F8213030100 82021F16801400030F15C0ED007F040714E01600173F050F13F08383A200788200F882A3 187FA27EA219E07EA26CEFFFC0A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A 02F8EC7FF0903B1FFFC003FFE0486C90B65AD8FC0393C7FC48C66C14FC48010F14F048D9 007F90C8FC3C5479D24B>I85 D97 DI<913801FFF8021FEBFF8091B612F0 010315FC010F9038C00FFE903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A 485BA2486F138091C7FC486F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F 17076C6D15C07E6E140F6CEE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038 E01FF0010390B55A01001580023F49C7FC020113E033387CB63C>I<4DB47E0407B5FCA5 EE001F1707B3A4913801FFE0021F13FC91B6FC010315C7010F9038E03FE74990380007F7 D97FFC0101B5FC49487F4849143F484980485B83485B5A91C8FC5AA3485AA412FFAC127F A36C7EA37EA26C7F5F6C6D5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF8090 3A0FFFC07FCF6D90B5128F0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<91 3803FFC0023F13FC49B6FC010715C04901817F903A3FFC007FF849486D7E49486D7E4849 130F48496D7E48178048497F18C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA3 18E049CAFCA6127FA27F7EA218E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D14 1F6C6DEC3F806D6CECFF00D91FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49 C7FC020113F034387CB63D>IIII<137F497E000313E0487FA2487FA76C5BA26C5BC613806D C7FC90C8FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>I108 DII<913801FFE0021F13FE91B612C0010315F0010F9038807FFC903A1FFC00 0FFED97FF86D6C7E49486D7F48496D7F48496D7F4A147F48834890C86C7EA24883A24848 6F7EA3007F1880A400FF18C0AC007F1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C 6D4A5A6C6D495B6C6D495B6D6C495BD93FFE011F90C7FC903A0FFF807FFC6D90B55A0100 15C0023F91C8FC020113E03A387CB643>I<903A3FF001FFE0B5010F13FE033FEBFFC092 B612F002F301017F913AF7F8007FFE0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E 7F4A6E7FA2717FA285187F85A4721380AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E 4A5B6F495B6F4990C7FC03F0EBFFFC9126FBFE075B02F8B612E06F1480031F01FCC8FC03 0313C092CBFCB1B612F8A5414D7BB54B>I<90397FE003FEB590380FFF80033F13E04B13 F09238FE1FF89139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3F FC5CEE1FF8EE0FF04A90C7FCA55CB3AAB612FCA52F367CB537>114 D<903903FFF00F013FEBFE1F90B7FC120348EB003FD80FF81307D81FE0130148487F4980 127F90C87EA24881A27FA27F01F091C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C 816C816C81C681013F1580010F15C01300020714E0EC003F030713F015010078EC007F00 F8153F161F7E160FA27E17E07E6D141F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FF C00FFC6DB55AD8FC1F14E0D8F807148048C601F8C7FC2C387CB635>I<143EA6147EA414 FEA21301A313031307A2130F131F133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE 07C0AB011FEC0F8080A26DEC1F0015806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B0203 13802A4D7ECB34>II<001FB8FC1880A3912680007F13 0001FCC7B5FC01F0495B495D49495B495B4B5B48C75C5D4B5B5F003E4A90C7FC92B5FC4A 5B5E4A5B5CC7485B5E4A5B5C4A5B93C8FC91B5FC495B5D4949EB0F805B495B5D495B4915 1F4949140092C7FC495A485E485B5C485E485B4A5C48495B4815074849495A91C712FFB8 FCA37E31357CB43C>122 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fn cmti9 9 12 /Fn 12 123 df50 D<0107B548B512C0495CA2903C003FC0000FF0004B5CA292C75BA24A141F60 147EA202FE143F95C7FC5CA201015D177E5CA2010315FE5F5C91B6FC5B5F9138E00001A2 010F14035F5CA2011F14075F5CA2013F140F5F91C7FCA249141F5F137EA201FE143F94C8 FC5B00015D3B7FFFF01FFFFCB55BA23A337BB239>72 D<0107B512FE49ECFFC017F0903A 003F8007F8EE01FCEE007E92C7127F835C1880147EA214FEEF7F005CA2010115FE5F4A13 015F01034A5AEE0FC04A495A04FEC7FC49B512F016C09138E003E0ED01F8010F6D7E167C 4A137EA2131FA25CA2013F14FEA291C7FCA24913015E137EEF01C001FE150318805B0001 1607277FFFF0001400B5ECFE0EEE7E1CC9EA1FF8EE07E032357BB238>82 D<913901FC018091380FFF03023F13C791387E07EF903A01F801FF0049487E4A7F495A49 48133E131F91C7FC5B013E143CA3137E1638A293C7FC137FA26D7E14E014FE90381FFFC0 6D13F86D7F01017F6D6C7E020F7F1400153F6F7E150FA4120EA2001E5D121CA2151F003C 92C7FCA2003E143E5D127E007F5C6D485A9038C007E039F3F80FC000F0B5C8FC38E03FFC 38C00FF029377AB42B>I101 D104 DI<14FCEB07FF90 381F07C090383E03E09038FC01F0EA01F83903F000F8485A5B120F484813FCA248C7FCA2 14014814F8127EA2140300FE14F05AA2EC07E0A2007CEB0FC01580141FEC3F006C137E5C 381F01F0380F83E03803FF80D800FCC7FC1E2278A027>111 D<3903C00FC0390FF03FF0 391E78F078391C7DE03C393C3FC0FC00381380EB7F00007814F8D8707E13701500EAF0FC 12E0EA60F812001201A25BA21203A25BA21207A25BA2120FA25BA2121FA290C8FC120E1E 227AA020>114 DI117 D<903807801C90381FE03C90383FF038017F13789038FFF8F03901F0 7CE0EBE01F3903C003C09038800780EC0F00C7121E141C143C5C5C495AEB07C0495A011E C7FC5B5B4913704913F0000114E0485A38078001390FC003C0381FF80790383E0F80393C 1FFF00127838700FFE38F007F838E001E01E227CA01F>122 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fo cmr9 9 44 /Fo 44 123 df12 D<003C13F0387E01F838FF03FCA2EB83FEA2EA7F81383D80F600 011306A40003130EEB000CA248131C00061318000E1338000C1330001C13704813E03870 01C00060138017177EB326>34 D<123C127EB4FCA21380A2127F123D1201A412031300A2 5A1206120E120C121C5A5A126009177AB315>39 D<123C127EB4FCA21380A2127F123D12 01A412031300A25A1206120E120C121C5A5A126009177A8715>44 DI<123C127E12FFA4127E123C08087A8715>I50 DI70 D72 D76 D82 D<90381FE00390387FFC0748 B5FC3907F01FCF390F8003FF48C7FC003E80814880A200788000F880A46C80A27E92C7FC 127F13C0EA3FF013FF6C13F06C13FF6C14C06C14F0C680013F7F01037F9038003FFF1403 02001380157F153FED1FC0150F12C0A21507A37EA26CEC0F80A26C15006C5C6C143E6C14 7E01C05B39F1FC03F800E0B512E0011F138026C003FEC7FC22377CB42B>I<007FB712FE A390398007F001D87C00EC003E0078161E0070160EA20060160600E01607A3481603A6C7 1500B3AB4A7E011FB512FCA330337DB237>II87 D91 D<0003130C48131C000E133848137000181360003813E0003013C0EA700100601380 A2EAE00300C01300A400DE137800FF13FCEB83FEA2EA7F81A2383F00FC001E1378171774 B326>II97 DII<153FEC0FFFA3EC007F81 AEEB07F0EB3FFCEBFC0F3901F003BF3907E001FF48487E48487F8148C7FCA25A127E12FE AA127E127FA27E6C6C5BA26C6C5B6C6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0 130026357DB32B>III<151F90391FC07F809039FFF8E3C0 3901F07FC73907E03F033A0FC01F83809039800F8000001F80EB00074880A66C5CEB800F 000F5CEBC01F6C6C48C7FCEBF07C380EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFE ECFFC06C14F06C14FC4880381F0001003EEB007F4880ED1F8048140FA56C141F007C1500 6C143E6C5C390FC001F83903F007E0C6B51280D91FFCC7FC22337EA126>IIIIII<2703F01FE013FF00FF 90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F02807F7003F387FD803FE147049 6D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFFF0A33C217EA041>I<3903F0 1FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE497FA25BA25BB3486CEB7F 80B538C7FFFCA326217EA02B>II<3903F03F8000FFEBFFE09038F3C0F89038F7007ED807FE7F6C48EB1F804914C049 130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D131F6DEB3F80160001FF13FC 9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325307EA02B>I<903807F0 0390383FFC07EBFC0F3901F8038F3807E001000F14DF48486CB4FC497F123F90C77E5AA2 5A5AA9127FA36C6C5B121F6D5B000F5B3907E003BF3903F0073F3800F81EEB3FF8EB0FE0 90C7FCAAED7F8091380FFFFCA326307DA029>I<3803E07C38FFE1FF9038E38F809038E7 1FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512E0A31A217FA01E>II<1330A51370A313F0A21201A2120312 07381FFFFEB5FCA23803F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0 182F7FAD1E>IIII<3A7FFF807FF8A33A07F8001FC00003EC0F800001EC07 0015066C6C5BA26D131C017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA2903807E1 80A214F3010390C7FC14FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A1278D8FC 03C8FCA21306130EEA701CEA7838EA1FF0EA0FC025307F9F29>121 D<003FB512F0A2EB000F003C14E00038EB1FC00030EB3F800070137F1500006013FE495A 13035CC6485A495AA2495A495A49C7FC153013FE485A12035B48481370485A001F146049 13E0485A387F000348130F90B5FCA21C207E9F22>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fp cmbx9 9 7 /Fp 7 117 df65 D97 DI<903807FF80013F13F090B512FC3903FE01FE4848 487EEA0FF8EA1FF0EA3FE0A2007F6D5A496C5A153000FF91C7FCA9127F7FA2003FEC0780 7F6C6C130F000FEC1F00D807FE133E3903FF80FCC6EBFFF8013F13E0010790C7FC21217D A027>I<3901F81F8000FFEB7FF0ECFFF89038F9E3FC9038FBC7FE380FFF876C1307A213 FEEC03FCEC01F8EC0060491300B1B512F0A41F217EA024>114 D<9038FFE1C0000713FF 5A383F803F387E000F14075A14037EA26C6CC7FC13FCEBFFE06C13FC806CEBFF80000F14 C06C14E0C6FC010F13F0EB007F140F00F0130714037EA26C14E06C13076CEB0FC09038C0 1F8090B5120000F913FC38E03FE01C217DA023>I<133CA5137CA313FCA21201A2120312 07001FB51280B6FCA3D807FCC7FCB0EC03C0A79038FE078012033901FF0F006C13FEEB3F FCEB0FF01A2F7EAE22>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fq cmr12 12 23 /Fq 23 118 df<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A3120113 80120313005A1206120E5A5A5A12600B1D78891B>44 D<14FF010713E090381F81F89038 3E007C01FC133F4848EB1F8049130F4848EB07C04848EB03E0A2000F15F0491301001F15 F8A2003F15FCA390C8FC4815FEA54815FFB3A46C15FEA56D1301003F15FCA3001F15F8A2 6C6CEB03F0A36C6CEB07E0000315C06D130F6C6CEB1F806C6CEB3F00013E137C90381F81 F8903807FFE0010090C7FC28447CC131>48 D<143014F013011303131F13FFB5FC13E713 071200B3B3B0497E497E007FB6FCA3204278C131>II52 D67 D<010FB512FEA3D9000313806E130080B3B3AB123F487E487EA44A5A13801300006C495A 00705C6C13076C5C6C495A6CEB1F802603E07FC7FC3800FFFCEB1FE027467BC332>74 D82 D<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048187C007818 3CA20070181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC346 >84 D97 DI<167FED3FFF A315018182B3EC7F80903803FFF090380FC07C90383F000E017E1307496D5AD803F87F48 487F5B000F81485AA2485AA2127FA290C8FC5AAB7E7FA2123FA26C7EA2000F5D7F6C6C5B 00035C6C6C9038077F806C6C010E13C0013F011C13FE90380FC0F8903803FFE09026007F 0013002F467DC436>100 DI104 DI108 DI<3901FC01FE00FF903807FFC091381E07F091383801F8000701707F0003EBE000 2601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F2C7DAB36 >II<3901FC03FC00FF90380FFF8091383C 07E091387001F83A07FDE000FE00030180137FD801FFEC3F8091C7EA1FC04915E049140F 17F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D15E0EE1FC06D143F 17806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03FCC7FC91C9FCAE48 7EB512F8A32F3F7DAB36>I<3903F803F000FFEB1FFCEC3C3EEC707F0007EBE0FF3803F9 C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA3202C7DAB26>114 D<90383FE0183901FFFC383907E01F78390F0003F8001E1301481300007C1478127800F8 1438A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14C06C14E0C614F0 011F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C6C147C15786C14 F86CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26>I117 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fr cmr17 17.28 20 /Fr 20 122 df67 D 72 D76 D82 D<4AB47E020F13F8023F13FE9139FF007F80D903FCEB07E0D907F0EB01F0D91FE0EB0078 49488049488049C87E48485D4915FF00034B138048485CA2485AA2485AA2003F6F130049 EC007C94C7FC127FA35B12FFAD127F7FA4123F7FA2001FEE01C07F000F16036D16801207 6C6C15076D160000015E6C6C151E6D6C5C6D6C5C6D6C5CD90FF8495AD903FCEB07C0903A 00FF803F8091263FFFFEC7FC020F13F80201138032417CBF3A>99 D101 DIII<133C13FF 487F487FA66C5B6C90C7FC133C90C8FCB3A2EB03C0EA07FF127FA41201EA007FA2133FB3 B3AC497E497EB612E0A41B5F7DDE23>I108 DI111 DI<9039 078003F8D807FFEB0FFFB5013F13C092387C0FE0913881F01F9238E03FF00001EB838039 007F8700148FEB3F8E029CEB1FE0EE0FC00298EB030002B890C7FCA214B014F0A25CA55C B3B0497EEBFFF8B612FCA42C3F7CBE33>114 D<9139FFE00180010FEBFC03017FEBFF07 3A01FF001FCFD803F8EB03EFD807E0EB01FF48487F4848147F48C8123F003E151F007E15 0F127CA200FC1507A316037EA27E7F6C7E6D91C7FC13F8EA3FFE381FFFF06CEBFF806C14 F86C14FF6C15C06C6C14F0011F80010714FED9007F7F02031480DA003F13C01503030013 E0167F00E0ED1FF0160F17F86C15071603A36C1501A37EA26C16F016037E17E06D14076D EC0FC06D1580D8FDF0141FD8F8F8EC7F00013E14FC3AF01FC00FF80107B512E0D8E00114 8027C0003FF8C7FC2D417DBF34>I<1438A71478A414F8A31301A31303A21307130F131F A2137F13FF1203000F90B6FCB8FCA3260007F8C8FCB3AE17E0AE6D6CEB01C0A316036D6C 148016076D6C14006E6C5A91383FC01E91381FF07C6EB45A020313E09138007F802B597F D733>II<007FB500C0 010FB512E0A4C691C70003EBFC00D93FFE6E13E0D90FFC16807148C7FC01075E6D6C4A5A 6D6C5D6D6D495A606E6C495A6E6C49C8FC6E6C130E171E6E6C5B6E6C5B6E6C5B5F913801 FF016EEB83C092387FC780033F90C9FC16EFED1FFE6F5A6F5A826F7E6F7E5D834B7F9238 0F3FE0ED1E1F033C7F9238380FF892387807FCEDF003DA01E07F4A486C7E707F4A486D7E 4AC7FC021E6E7E021C6E7E023C6E7E5C4A6E7E01016F7E49486E7E1307010F6F7F013F83 D9FFF04A7F00076D4A13FCB56C020FEBFFF8A4453E80BD46>120 DI E %EndDVIPSBitmapFont end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 %%EndSetup %%Page: 1 1 1 0 bop 825 872 a Fr(Limits)43 b(of)g(Rush)g(Hour)h(Logic)f(Complexit)l (y)1231 1112 y Fq(John)32 b(T)-8 b(romp)310 b(Rudi)32 b(Cilibrasi)1654 1307 y(June)h(21,)f(2004)1778 1606 y Fp(Abstract)837 1736 y Fo(Rush)j(Hour)h(Logic)h(w)n(as)g(in)n(tro)r (duced)e(in)h([2])g(as)h(a)f(mo)r(del)f(of)i(computation)722 1827 y(inspired)25 b(b)n(y)e(the)g(\\Rush)h(Hour")g(to)n(y)g(puzzle,)h (in)f(whic)n(h)g(cars)h(can)f(mo)n(v)n(e)f(horizon-)722 1918 y(tally)j(or)f(v)n(ertically)h(within)f(a)h(parking)f(lot.)35 b(The)25 b(authors)h(sho)n(w)f(ho)n(w)h(the)f(mo)r(del)722 2010 y(supp)r(orts)i(p)r(olynomial)g(space)g(computation,)g(using)g (certain)g(car)h(con\014gurations)722 2101 y(as)33 b(building)g(blo)r (c)n(ks)g(to)f(construct)h(b)r(o)r(olean)g(circuits)g(for)h(a)e(cpu)g (and)g(memory)-6 b(.)722 2192 y(They)33 b(consider)i(the)e(use)g(of)h (cars)h(of)f(length)f(3)h(crucial)h(to)e(their)h(construction,)722 2284 y(and)24 b(conjecture)g(that)g(cars)h(of)f(size)h(2)f(only)-6 b(,)24 b(whic)n(h)g(w)n(e'll)i(call)f Fn(Size)h(2)g(R)n(ush)g(Hour)p Fo(,)722 2375 y(do)h(not)f(supp)r(ort)h(p)r(olynomial)g(space)g (computation.)37 b(W)-6 b(e)26 b(settle)h(this)g(conjecture)722 2466 y(b)n(y)i(sho)n(wing)i(that)f(the)f(required)h(building)g(blo)r(c) n(ks)g(are)h(constructible)f(in)g(Size)g(2)722 2558 y(Rush)d(Hour.)41 b(F)-6 b(urthermore,)28 b(w)n(e)g(consider)h(Unit)e(Rush)g(Hour,)h (whic)n(h)g(w)n(as)h(hith-)722 2649 y(erto)d(b)r(eliev)n(ed)f(to)g(b)r (e)g(trivial,)i(sho)n(w)e(its)h(relation)g(to)f(maze)g(puzzles,)h(and)f (pro)n(vide)722 2740 y(empirical)h(supp)r(ort)g(for)g(its)g(hardness.) 515 3015 y Fm(1)134 b(In)l(tro)t(duction)515 3197 y Fl(Sliding)23 b(blo)r(c)n(k)g(puzzles)g(are)g(among)f(the)i(simplest)g(kind)f(of)g (motion)h(planning)f(problems.)515 3296 y(They)32 b(in)n(v)n(olv)n(e)f (mo)n(ving)g(rectangular)g(pieces)h(around)g(inside)g(a)g(bigger)f (rectangle)h(with)515 3396 y(the)24 b(goal)e(of)i(mo)n(ving)f(a)g(sp)r (eci\014c)h(piece)f(to)h(a)f(sp)r(eci\014c)h(target)f(lo)r(cation.)35 b(Problems)22 b(of)i(this)515 3496 y(kind)34 b(w)n(ere)g(\014rst)g(pro) n(v)n(ed)f(to)i(b)r(e)g(PSP)-7 b(A)n(CE)33 b(hard)h(in)h([1)o(])g(for)f (arbitrarily)f(large)g(blo)r(c)n(ks,)515 3595 y(and)27 b(later)g(in)h([3])f(\(or)g(its)h(journal)f(v)n(ersion)f([4]\))i(for)f (\014xed)g(size)h(blo)r(c)n(ks.)639 3695 y(A)g(collection)f(of)h(in)n (teractiv)n(e)e(sliding)i(puzzles)f(can)g(b)r(e)h(found)g(at)780 3861 y Fk(http://johnrausch)o(.c)o(om/)o(Sl)o(idi)o(ng)o(Bl)o(ock)o(Pu) o(zzl)o(es)o(/de)o(fa)o(ul)o(t.h)o(tm)o Fl(.)515 4027 y(This)f(pap)r(er)g(fo)r(cuses)h(on)f(the)h(Rush)g(Hour)f(puzzle,)h (featured)f(at)976 4193 y Fk(http://www.puzzle)o(s.c)o(om)o(/pr)o(od)o (uc)o(ts/)o(ru)o(shh)o(ou)o(r.)o(htm)o Fl(,)515 4359 y(and)c(quoted)f(as)h(\\one)f(of)h(the)g(most)g(elegan)n(t)f(and)h(fun) h(sliding)f(blo)r(c)n(k)f(puzzles)h(to)g(come)f(on)515 4459 y(the)29 b(mark)n(et)e(in)i(y)n(ears".)37 b(Its)29 b(distinguishing)f(c)n(haracteristic)f(is)h(that)h(the)g(pieces,)f (whic)n(h)515 4558 y(are)i(shap)r(ed)i(as)f(cars,)g(can)g(mo)n(v)n(e)g (only)g(in)g(their)h(length)n(wise)f(direction,)h(not)g(sidew)n(a)n (ys.)515 4658 y(The)d(pla)n(ying)g(\014eld)h(is)g(a)f('parking)f(lot')i (of)f(size)h(6)f(b)n(y)g(6,)h(with)g(only)f(one)h(exit,)g(and)g(with) 515 4758 y(cars)e(of)h(size)f(2)h(b)n(y)g(1)g(and)f(3)h(b)n(y)g(1.)41 b(The)29 b(goal)f(is)h(to)g(get)g(a)f(particular)g Fj(tar)l(get)h Fl(car)f(out)h(of)515 4857 y(the)i(lot)g(through)f(the)i(exit.)47 b(In)31 b([2],)h(the)f(computational)f(complexit)n(y)h(of)g (`Generalized)515 4957 y(Rush)d(Hour',)f(pla)n(y)n(ed)f(on)i(an)f (arbitrarily)f(large)g Fi(m)h Fl(b)n(y)h Fi(n)f Fl(b)r(oard,)g(is)g (studied.)1926 5255 y(1)p eop %%Page: 2 2 2 1 bop 515 2802 a @beginspecial 0 @llx 0 @lly 453 @urx 453 @ury 2834 @rwi @setspecial %%BeginDocument: blocks.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: blocks.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Fri Jan 17 17:04:37 2003 %%For: tromp@serpens.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 453 453 %%Magnification: 1.0000 %%EndComments /MyAppDict 100 dict dup begin def /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 453 moveto 0 0 lineto 453 0 lineto 453 453 lineto closepath clip newpath -106.7 559.3 translate 1 -1 scale % This junk string is used by the show operators /PATsstr 1 string def /PATawidthshow { % cx cy cchar rx ry string % Loop over each character in the string { % cx cy cchar rx ry char % Show the character dup % cx cy cchar rx ry char char PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char) false charpath % cx cy cchar rx ry char /clip load PATdraw % Move past the character (charpath modified the % current point) currentpoint % cx cy cchar rx ry char x y newpath moveto % cx cy cchar rx ry char % Reposition by cx,cy if the character in the string is cchar 3 index eq { % cx cy cchar rx ry 4 index 4 index rmoveto } if % Reposition all characters by rx ry 2 copy rmoveto % cx cy cchar rx ry } forall pop pop pop pop pop % - currentpoint newpath moveto } bind def /PATcg { 7 dict dup begin /lw currentlinewidth def /lc currentlinecap def /lj currentlinejoin def /ml currentmiterlimit def /ds [ currentdash ] def /cc [ currentrgbcolor ] def /cm matrix currentmatrix def end } bind def % PATdraw - calculates the boundaries of the object and % fills it with the current pattern /PATdraw { % proc save exch PATpcalc % proc nw nh px py 5 -1 roll exec % nw nh px py newpath PATfill % - restore } bind def % PATfill - performs the tiling for the shape /PATfill { % nw nh px py PATfill - PATDict /CurrentPattern get dup begin setfont % Set the coordinate system to Pattern Space PatternGState PATsg % Set the color for uncolored pattezns PaintType 2 eq { PATDict /PColor get PATsc } if % Create the string for showing 3 index string % nw nh px py str % Loop for each of the pattern sources 0 1 Multi 1 sub { % nw nh px py str source % Move to the starting location 3 index 3 index % nw nh px py str source px py moveto % nw nh px py str source % For multiple sources, set the appropriate color Multi 1 ne { dup PC exch get PATsc } if % Set the appropriate string for the source 0 1 7 index 1 sub { 2 index exch 2 index put } for pop % Loop over the number of vertical cells 3 index % nw nh px py str nh { % nw nh px py str currentpoint % nw nh px py str cx cy 2 index oldshow % nw nh px py str cx cy YStep add moveto % nw nh px py str } repeat % nw nh px py str } for 5 { pop } repeat end } bind def % PATkshow - kshow with the current pattezn /PATkshow { % proc string exch bind % string proc 1 index 0 get % string proc char % Loop over all but the last character in the string 0 1 4 index length 2 sub { % string proc char idx % Find the n+1th character in the string 3 index exch 1 add get % string proe char char+1 exch 2 copy % strinq proc char+1 char char+1 char % Now show the nth character PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr) false charpath % string proc char+1 char char+1 /clip load PATdraw % Move past the character (charpath modified the current point) currentpoint newpath moveto % Execute the user proc (should consume char and char+1) mark 3 1 roll % string proc char+1 mark char char+1 4 index exec % string proc char+1 mark... cleartomark % string proc char+1 } for % Now display the last character PATsstr dup 0 4 -1 roll put % string proc (char+1) false charpath % string proc /clip load PATdraw neewath pop pop % - } bind def % PATmp - the makepattern equivalent /PATmp { % patdict patmtx PATmp patinstance exch dup length 7 add % We will add 6 new entries plus 1 FID dict copy % Create a new dictionary begin % Matrix to install when painting the pattern TilingType PATtcalc /PatternGState PATcg def PatternGState /cm 3 -1 roll put % Check for multi pattern sources (Level 1 fast color patterns) currentdict /Multi known not { /Multi 1 def } if % Font dictionary definitions /FontType 3 def % Create a dummy encoding vector /Encoding 256 array def 3 string 0 1 255 { Encoding exch dup 3 index cvs cvn put } for pop /FontMatrix matrix def /FontBBox BBox def /BuildChar { mark 3 1 roll % mark dict char exch begin Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata] PaintType 2 eq Multi 1 ne or { XStep 0 FontBBox aload pop setcachedevice } { XStep 0 setcharwidth } ifelse currentdict % mark [paintdata] dict /PaintProc load % mark [paintdata] dict paintproc end gsave false PATredef exec true PATredef grestore cleartomark % - } bind def currentdict end % newdict /foo exch % /foo newlict definefont % newfont } bind def % PATpcalc - calculates the starting point and width/height % of the tile fill for the shape /PATpcalc { % - PATpcalc nw nh px py PATDict /CurrentPattern get begin gsave % Set up the coordinate system to Pattern Space % and lock down pattern PatternGState /cm get setmatrix BBox aload pop pop pop translate % Determine the bounding box of the shape pathbbox % llx lly urx ury grestore % Determine (nw, nh) the # of cells to paint width and height PatHeight div ceiling % llx lly urx qh 4 1 roll % qh llx lly urx PatWidth div ceiling % qh llx lly qw 4 1 roll % qw qh llx lly PatHeight div floor % qw qh llx ph 4 1 roll % ph qw qh llx PatWidth div floor % ph qw qh pw 4 1 roll % pw ph qw qh 2 index sub cvi abs % pw ph qs qh-ph exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph % Determine the starting point of the pattern fill %(px, py) 4 2 roll % nw nh pw ph PatHeight mul % nw nh pw py exch % nw nh py pw PatWidth mul exch % nw nh px py end } bind def % Save the original routines so that we can use them later on /oldfill /fill load def /oldeofill /eofill load def /oldstroke /stroke load def /oldshow /show load def /oldashow /ashow load def /oldwidthshow /widthshow load def /oldawidthshow /awidthshow load def /oldkshow /kshow load def % These defs are necessary so that subsequent procs don't bind in % the originals /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def /PATredef { MyAppDict begin { /fill { /clip load PATdraw newpath } bind def /eofill { /eoclip load PATdraw newpath } bind def /stroke { PATstroke } bind def /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def /ashow { 0 0 null 6 3 roll PATawidthshow } bind def /widthshow { 0 0 3 -1 roll PATawidthshow } bind def /awidthshow { PATawidthshow } bind def /kshow { PATkshow } bind def } { /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def } ifelse end } bind def false PATredef % Conditionally define setcmykcolor if not available /setcmykcolor where { pop } { /setcmykcolor { 1 sub 4 1 roll 3 { 3 index add neg dup 0 lt { pop 0 } if 3 1 roll } repeat setrgbcolor - pop } bind def } ifelse /PATsc { % colorarray aload length % c1 ... cn length dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor } ifelse } ifelse } bind def /PATsg { % dict begin lw setlinewidth lc setlinecap lj setlinejoin ml setmiterlimit ds aload pop setdash cc aload pop setrgbcolor cm setmatrix end } bind def /PATDict 3 dict def /PATsp { true PATredef PATDict begin /CurrentPattern exch def % If it's an uncolored pattern, save the color CurrentPattern /PaintType get 2 eq { /PColor exch def } if /CColor [ currentrgbcolor ] def end } bind def % PATstroke - stroke with the current pattern /PATstroke { countdictstack save mark { currentpoint strokepath moveto PATpcalc % proc nw nh px py clip newpath PATfill } stopped { (*** PATstroke Warning: Path is too complex, stroking with gray) = cleartomark restore countdictstack exch sub dup 0 gt { { end } repeat } { pop } ifelse gsave 0.5 setgray oldstroke grestore } { pop restore pop } ifelse newpath } bind def /PATtcalc { % modmtx tilingtype PATtcalc tilematrix % Note: tiling types 2 and 3 are not supported gsave exch concat % tilingtype matrix currentmatrix exch % cmtx tilingtype % Tiling type 1 and 3: constant spacing 2 ne { % Distort the pattern so that it occupies % an integral number of device pixels dup 4 get exch dup 5 get exch % tx ty cmtx XStep 0 dtransform round exch round exch % tx ty cmtx dx.x dx.y XStep div exch XStep div exch % tx ty cmtx a b 0 YStep dtransform round exch round exch % tx ty cmtx a b dy.x dy.y YStep div exch YStep div exch % tx ty cmtx a b c d 7 -3 roll astore % { a b c d tx ty } } if grestore } bind def /PATusp { false PATredef PATDict begin CColor PATsc end } bind def % this is the pattern fill program from the Second edition Reference Manual % with changes to call the above pattern fill % left30 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 32 16 true [ 32 0 0 -16 0 16 ] {} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P1 exch def /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 0.06000 0.06000 sc % % Fig objects follow % % Polyline 15.000 slw n 1800 1800 m 5700 1800 l 5700 5700 l 1800 5700 l cp gs col0 s gr % Polyline n 9300 1800 m 5400 1800 l 5400 5700 l 9300 5700 l cp gs col0 s gr % Polyline n 9300 9300 m 5400 9300 l 5400 5400 l 9300 5400 l cp gs col0 s gr % Polyline n 1800 9300 m 5700 9300 l 5700 5400 l 1800 5400 l cp gs col0 s gr % Polyline 7.500 slw n 2100 1800 m 2400 1800 l 2400 9300 l 2100 9300 l cp gs col0 s gr % Polyline n 2700 1800 m 3000 1800 l 3000 9300 l 2700 9300 l cp gs col0 s gr % Polyline n 3300 1800 m 3600 1800 l 3600 9300 l 3300 9300 l cp gs col0 s gr % Polyline n 3900 1800 m 4200 1800 l 4200 9300 l 3900 9300 l cp gs col0 s gr % Polyline n 4500 1800 m 4800 1800 l 4800 9300 l 4500 9300 l cp gs col0 s gr % Polyline n 8700 1800 m 9000 1800 l 9000 9300 l 8700 9300 l cp gs col0 s gr % Polyline n 8100 1800 m 8400 1800 l 8400 9300 l 8100 9300 l cp gs col0 s gr % Polyline n 7500 1800 m 7800 1800 l 7800 9300 l 7500 9300 l cp gs col0 s gr % Polyline n 6900 1800 m 7200 1800 l 7200 9300 l 6900 9300 l cp gs col0 s gr % Polyline n 6300 1800 m 6600 1800 l 6600 9300 l 6300 9300 l cp gs col0 s gr % Polyline n 5100 1800 m 6000 1800 l 6000 9300 l 5100 9300 l cp gs col0 s gr % Polyline n 1800 2100 m 9300 2100 l 9300 2400 l 1800 2400 l cp gs col0 s gr % Polyline n 9300 2700 m 1800 2700 l 1800 3000 l 9300 3000 l cp gs col0 s gr % Polyline n 1800 3300 m 9300 3300 l 9300 3600 l 1800 3600 l cp gs col0 s gr % Polyline n 9300 3900 m 1800 3900 l 1800 4200 l 9300 4200 l cp gs col0 s gr % Polyline n 1800 4500 m 9300 4500 l 9300 4800 l 1800 4800 l cp gs col0 s gr % Polyline n 9300 5100 m 1800 5100 l 1800 6000 l 9300 6000 l cp gs col0 s gr % Polyline n 1800 6300 m 9300 6300 l 9300 6600 l 1800 6600 l cp gs col0 s gr % Polyline n 9300 6900 m 1800 6900 l 1800 7200 l 9300 7200 l cp gs col0 s gr % Polyline n 1800 7500 m 9300 7500 l 9300 7800 l 1800 7800 l cp gs col0 s gr % Polyline n 9300 8100 m 1800 8100 l 1800 8400 l 9300 8400 l cp gs col0 s gr % Polyline n 1800 8700 m 9300 8700 l 9300 9000 l 1800 9000 l cp gs col0 s gr % Polyline n 2475 3375 m 2925 3375 l 2925 3525 l 2475 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 3375 m 4125 3375 l 4125 3525 l 3675 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 3225 m 3675 2775 l 3825 2775 l 3825 3225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3675 2775 m 3825 2775 l 3825 2925 l 3675 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 3975 m 3825 3975 l 3825 4125 l 3375 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 4725 m 3675 4275 l 3825 4275 l 3825 4725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3675 4575 m 3825 4575 l 3825 4725 l 3675 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 2475 m 2925 2475 l 2925 2625 l 2475 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2775 2475 m 2925 2475 l 2925 2625 l 2775 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 2475 m 3525 2475 l 3525 2625 l 3075 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3375 2475 m 3525 2475 l 3525 2625 l 3375 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 2925 m 2175 2475 l 2325 2475 l 2325 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 2175 m 2325 2175 l 2325 2325 l 1875 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 2175 m 2925 2175 l 2925 2325 l 2475 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 2175 m 3525 2175 l 3525 2325 l 3075 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4125 2625 m 4125 2475 l 3675 2475 l 3675 2625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 2325 m 3825 2325 l 3825 1875 l 3675 1875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 2175 m 3825 2175 l 3825 2325 l 3675 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 2175 m 4425 2175 l 4425 2325 l 3975 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4725 2625 m 4725 2475 l 4275 2475 l 4275 2625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 285.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3975 2475 m 4125 2475 l 4125 2625 l 3975 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 2475 m 4725 2475 l 4725 2625 l 4575 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 2175 m 5025 2175 l 5025 2325 l 4575 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 3975 m 4425 3975 l 4425 4125 l 3975 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 3975 m 5025 3975 l 5025 4125 l 4575 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 3975 m 5325 4425 l 5175 4425 l 5175 3975 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 3825 m 4275 3375 l 4425 3375 l 4425 3825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 3375 m 4425 3375 l 4425 3525 l 4275 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 3225 m 4275 2775 l 4425 2775 l 4425 3225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 2775 m 4425 2775 l 4425 2925 l 4275 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4725 2775 m 4725 3225 l 4575 3225 l 4575 2775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4725 3375 m 4725 3825 l 4575 3825 l 4575 3375 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 3825 m 5325 3675 l 4875 3675 l 4875 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 325.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5175 3675 m 5325 3675 l 5325 3825 l 5175 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 3525 m 5025 3525 l 5025 3075 l 4875 3075 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 325.00 205.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4875 3375 m 5025 3375 l 5025 3525 l 4875 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 3525 m 5175 3075 l 5325 3075 l 5325 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 1875 m 5325 2325 l 5175 2325 l 5175 1875 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 2925 m 5025 2925 l 5025 2475 l 4875 2475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 325.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4875 2775 m 5025 2775 l 5025 2925 l 4875 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 2475 m 5325 2925 l 5175 2925 l 5175 2475 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 5325 m 3825 5325 l 3825 4875 l 3675 4875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 5175 m 3825 5175 l 3825 5325 l 3675 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 4875 m 4425 4875 l 4425 5025 l 3975 5025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3975 4875 m 4125 4875 l 4125 5025 l 3975 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5025 5325 m 4575 5325 l 4575 5175 l 5025 5175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 5175 m 4425 5175 l 4425 5325 l 3975 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 4875 m 5025 4875 l 5025 5025 l 4575 5025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4575 4875 m 4725 4875 l 4725 5025 l 4575 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5625 5325 m 5175 5325 l 5175 5175 l 5625 5175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 4575 m 5325 5025 l 5175 5025 l 5175 4575 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 3375 m 3525 3375 l 3525 3525 l 3075 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 3525 m 2175 3075 l 2325 3075 l 2325 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 4125 m 3075 3675 l 3225 3675 l 3225 4125 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 3975 m 3225 3975 l 3225 4125 l 3075 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 4125 m 2625 4125 l 2625 3675 l 2475 3675 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 165.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2925 3675 m 2925 4125 l 2775 4125 l 2775 3675 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 3975 m 2625 3975 l 2625 4125 l 2475 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2325 3825 m 2325 3675 l 1875 3675 l 1875 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 125.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2175 3675 m 2325 3675 l 2325 3825 l 2175 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 4425 m 2175 3975 l 2325 3975 l 2325 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 4725 m 3075 4275 l 3225 4275 l 3225 4725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 4575 m 3225 4575 l 3225 4725 l 3075 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3525 5025 m 3525 4875 l 3075 4875 l 3075 5025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 205.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3375 4875 m 3525 4875 l 3525 5025 l 3375 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 5175 m 3525 5175 l 3525 5325 l 3075 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 5175 m 2925 5175 l 2925 5325 l 2475 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 4725 m 2775 4275 l 2925 4275 l 2925 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 4725 m 2625 4725 l 2625 4275 l 2475 4275 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 165.00 285.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2475 4575 m 2625 4575 l 2625 4725 l 2475 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 5025 m 2175 4575 l 2325 4575 l 2325 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2925 5025 m 2925 4875 l 2475 4875 l 2475 5025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 165.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2775 4875 m 2925 4875 l 2925 5025 l 2775 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 5625 m 2175 5175 l 2325 5175 l 2325 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 3375 m 6525 3375 l 6525 3525 l 6075 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7275 3375 m 7725 3375 l 7725 3525 l 7275 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7275 3225 m 7275 2775 l 7425 2775 l 7425 3225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7275 2775 m 7425 2775 l 7425 2925 l 7275 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6975 3975 m 7425 3975 l 7425 4125 l 6975 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7275 4725 m 7275 4275 l 7425 4275 l 7425 4725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7275 4575 m 7425 4575 l 7425 4725 l 7275 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 2475 m 6525 2475 l 6525 2625 l 6075 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 6375 2475 m 6525 2475 l 6525 2625 l 6375 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 2475 m 7125 2475 l 7125 2625 l 6675 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 6975 2475 m 7125 2475 l 7125 2625 l 6975 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 2925 m 5775 2475 l 5925 2475 l 5925 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 2175 m 5925 2175 l 5925 2325 l 5475 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 2175 m 6525 2175 l 6525 2325 l 6075 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 2175 m 7125 2175 l 7125 2325 l 6675 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7725 2625 m 7725 2475 l 7275 2475 l 7275 2625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 485.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 7275 2325 m 7425 2325 l 7425 1875 l 7275 1875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 485.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 7275 2175 m 7425 2175 l 7425 2325 l 7275 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7575 2175 m 8025 2175 l 8025 2325 l 7575 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8325 2625 m 8325 2475 l 7875 2475 l 7875 2625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 525.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 7575 2475 m 7725 2475 l 7725 2625 l 7575 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8175 2475 m 8325 2475 l 8325 2625 l 8175 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8175 2175 m 8625 2175 l 8625 2325 l 8175 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7575 3975 m 8025 3975 l 8025 4125 l 7575 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8175 3975 m 8625 3975 l 8625 4125 l 8175 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 3975 m 8925 4425 l 8775 4425 l 8775 3975 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7875 3825 m 7875 3375 l 8025 3375 l 8025 3825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7875 3375 m 8025 3375 l 8025 3525 l 7875 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7875 3225 m 7875 2775 l 8025 2775 l 8025 3225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7875 2775 m 8025 2775 l 8025 2925 l 7875 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8325 2775 m 8325 3225 l 8175 3225 l 8175 2775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8325 3375 m 8325 3825 l 8175 3825 l 8175 3375 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 3825 m 8925 3675 l 8475 3675 l 8475 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 565.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 8775 3675 m 8925 3675 l 8925 3825 l 8775 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8475 3525 m 8625 3525 l 8625 3075 l 8475 3075 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 565.00 205.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 8475 3375 m 8625 3375 l 8625 3525 l 8475 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8775 3525 m 8775 3075 l 8925 3075 l 8925 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 1875 m 8925 2325 l 8775 2325 l 8775 1875 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8475 2925 m 8625 2925 l 8625 2475 l 8475 2475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 565.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 8475 2775 m 8625 2775 l 8625 2925 l 8475 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 2475 m 8925 2925 l 8775 2925 l 8775 2475 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7275 5325 m 7425 5325 l 7425 4875 l 7275 4875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 485.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 7275 5175 m 7425 5175 l 7425 5325 l 7275 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7575 4875 m 8025 4875 l 8025 5025 l 7575 5025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7575 4875 m 7725 4875 l 7725 5025 l 7575 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8625 5325 m 8175 5325 l 8175 5175 l 8625 5175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7575 5175 m 8025 5175 l 8025 5325 l 7575 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8175 4875 m 8625 4875 l 8625 5025 l 8175 5025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 8175 4875 m 8325 4875 l 8325 5025 l 8175 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9225 5325 m 8775 5325 l 8775 5175 l 9225 5175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 4575 m 8925 5025 l 8775 5025 l 8775 4575 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 3375 m 7125 3375 l 7125 3525 l 6675 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 3525 m 5775 3075 l 5925 3075 l 5925 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 4125 m 6675 3675 l 6825 3675 l 6825 4125 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 6675 3975 m 6825 3975 l 6825 4125 l 6675 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 4125 m 6225 4125 l 6225 3675 l 6075 3675 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 405.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 6525 3675 m 6525 4125 l 6375 4125 l 6375 3675 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 3975 m 6225 3975 l 6225 4125 l 6075 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 3825 m 5925 3675 l 5475 3675 l 5475 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 365.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5775 3675 m 5925 3675 l 5925 3825 l 5775 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 4425 m 5775 3975 l 5925 3975 l 5925 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 4725 m 6675 4275 l 6825 4275 l 6825 4725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 6675 4575 m 6825 4575 l 6825 4725 l 6675 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7125 5025 m 7125 4875 l 6675 4875 l 6675 5025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 445.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 6975 4875 m 7125 4875 l 7125 5025 l 6975 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 5175 m 7125 5175 l 7125 5325 l 6675 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 5175 m 6525 5175 l 6525 5325 l 6075 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6375 4725 m 6375 4275 l 6525 4275 l 6525 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 4725 m 6225 4725 l 6225 4275 l 6075 4275 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 405.00 285.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 6075 4575 m 6225 4575 l 6225 4725 l 6075 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 5025 m 5775 4575 l 5925 4575 l 5925 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6525 5025 m 6525 4875 l 6075 4875 l 6075 5025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 405.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 6375 4875 m 6525 4875 l 6525 5025 l 6375 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 5625 m 5775 5175 l 5925 5175 l 5925 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 6975 m 6525 6975 l 6525 7125 l 6075 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7275 6975 m 7725 6975 l 7725 7125 l 7275 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7275 6825 m 7275 6375 l 7425 6375 l 7425 6825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7275 6375 m 7425 6375 l 7425 6525 l 7275 6525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6975 7575 m 7425 7575 l 7425 7725 l 6975 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7275 8325 m 7275 7875 l 7425 7875 l 7425 8325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7275 8175 m 7425 8175 l 7425 8325 l 7275 8325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 6075 m 6525 6075 l 6525 6225 l 6075 6225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 6375 6075 m 6525 6075 l 6525 6225 l 6375 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 6075 m 7125 6075 l 7125 6225 l 6675 6225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 6975 6075 m 7125 6075 l 7125 6225 l 6975 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 6525 m 5775 6075 l 5925 6075 l 5925 6525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 5775 m 5925 5775 l 5925 5925 l 5475 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 5775 m 6525 5775 l 6525 5925 l 6075 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 5775 m 7125 5775 l 7125 5925 l 6675 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7725 6225 m 7725 6075 l 7275 6075 l 7275 6225 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 485.00 405.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 7275 5925 m 7425 5925 l 7425 5475 l 7275 5475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 485.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 7275 5775 m 7425 5775 l 7425 5925 l 7275 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7575 5775 m 8025 5775 l 8025 5925 l 7575 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8325 6225 m 8325 6075 l 7875 6075 l 7875 6225 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 525.00 405.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 7575 6075 m 7725 6075 l 7725 6225 l 7575 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8175 6075 m 8325 6075 l 8325 6225 l 8175 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8175 5775 m 8625 5775 l 8625 5925 l 8175 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7575 7575 m 8025 7575 l 8025 7725 l 7575 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8175 7575 m 8625 7575 l 8625 7725 l 8175 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 7575 m 8925 8025 l 8775 8025 l 8775 7575 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7875 7425 m 7875 6975 l 8025 6975 l 8025 7425 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7875 6975 m 8025 6975 l 8025 7125 l 7875 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7875 6825 m 7875 6375 l 8025 6375 l 8025 6825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7875 6375 m 8025 6375 l 8025 6525 l 7875 6525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8325 6375 m 8325 6825 l 8175 6825 l 8175 6375 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8325 6975 m 8325 7425 l 8175 7425 l 8175 6975 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 7425 m 8925 7275 l 8475 7275 l 8475 7425 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 565.00 485.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 8775 7275 m 8925 7275 l 8925 7425 l 8775 7425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8475 7125 m 8625 7125 l 8625 6675 l 8475 6675 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 565.00 445.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 8475 6975 m 8625 6975 l 8625 7125 l 8475 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8775 7125 m 8775 6675 l 8925 6675 l 8925 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 5475 m 8925 5925 l 8775 5925 l 8775 5475 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8475 6525 m 8625 6525 l 8625 6075 l 8475 6075 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 565.00 405.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 8475 6375 m 8625 6375 l 8625 6525 l 8475 6525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 6075 m 8925 6525 l 8775 6525 l 8775 6075 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7275 8925 m 7425 8925 l 7425 8475 l 7275 8475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 485.00 565.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 7275 8775 m 7425 8775 l 7425 8925 l 7275 8925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7575 8475 m 8025 8475 l 8025 8625 l 7575 8625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 7575 8475 m 7725 8475 l 7725 8625 l 7575 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8625 8925 m 8175 8925 l 8175 8775 l 8625 8775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7575 8775 m 8025 8775 l 8025 8925 l 7575 8925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8175 8475 m 8625 8475 l 8625 8625 l 8175 8625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 8175 8475 m 8325 8475 l 8325 8625 l 8175 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 9225 8925 m 8775 8925 l 8775 8775 l 9225 8775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 8925 8175 m 8925 8625 l 8775 8625 l 8775 8175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 6975 m 7125 6975 l 7125 7125 l 6675 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 7125 m 5775 6675 l 5925 6675 l 5925 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 7725 m 6675 7275 l 6825 7275 l 6825 7725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 6675 7575 m 6825 7575 l 6825 7725 l 6675 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 7725 m 6225 7725 l 6225 7275 l 6075 7275 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 405.00 485.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 6525 7275 m 6525 7725 l 6375 7725 l 6375 7275 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 7575 m 6225 7575 l 6225 7725 l 6075 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 7425 m 5925 7275 l 5475 7275 l 5475 7425 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 365.00 485.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5775 7275 m 5925 7275 l 5925 7425 l 5775 7425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 8025 m 5775 7575 l 5925 7575 l 5925 8025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 8325 m 6675 7875 l 6825 7875 l 6825 8325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 6675 8175 m 6825 8175 l 6825 8325 l 6675 8325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 7125 8625 m 7125 8475 l 6675 8475 l 6675 8625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 445.00 565.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 6975 8475 m 7125 8475 l 7125 8625 l 6975 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6675 8775 m 7125 8775 l 7125 8925 l 6675 8925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 8775 m 6525 8775 l 6525 8925 l 6075 8925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6375 8325 m 6375 7875 l 6525 7875 l 6525 8325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6075 8325 m 6225 8325 l 6225 7875 l 6075 7875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 405.00 525.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 6075 8175 m 6225 8175 l 6225 8325 l 6075 8325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 8625 m 5775 8175 l 5925 8175 l 5925 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6525 8625 m 6525 8475 l 6075 8475 l 6075 8625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 405.00 565.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 6375 8475 m 6525 8475 l 6525 8625 l 6375 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 9225 m 5775 8775 l 5925 8775 l 5925 9225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 6975 m 2925 6975 l 2925 7125 l 2475 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 6975 m 4125 6975 l 4125 7125 l 3675 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 6825 m 3675 6375 l 3825 6375 l 3825 6825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3675 6375 m 3825 6375 l 3825 6525 l 3675 6525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 7575 m 3825 7575 l 3825 7725 l 3375 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 8325 m 3675 7875 l 3825 7875 l 3825 8325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3675 8175 m 3825 8175 l 3825 8325 l 3675 8325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 6075 m 2925 6075 l 2925 6225 l 2475 6225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2775 6075 m 2925 6075 l 2925 6225 l 2775 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 6075 m 3525 6075 l 3525 6225 l 3075 6225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3375 6075 m 3525 6075 l 3525 6225 l 3375 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 6525 m 2175 6075 l 2325 6075 l 2325 6525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 5775 m 2325 5775 l 2325 5925 l 1875 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 5775 m 2925 5775 l 2925 5925 l 2475 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 5775 m 3525 5775 l 3525 5925 l 3075 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4125 6225 m 4125 6075 l 3675 6075 l 3675 6225 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 405.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 5925 m 3825 5925 l 3825 5475 l 3675 5475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 5775 m 3825 5775 l 3825 5925 l 3675 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 5775 m 4425 5775 l 4425 5925 l 3975 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4725 6225 m 4725 6075 l 4275 6075 l 4275 6225 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 285.00 405.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3975 6075 m 4125 6075 l 4125 6225 l 3975 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 6075 m 4725 6075 l 4725 6225 l 4575 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 5775 m 5025 5775 l 5025 5925 l 4575 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 7575 m 4425 7575 l 4425 7725 l 3975 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 7575 m 5025 7575 l 5025 7725 l 4575 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 7575 m 5325 8025 l 5175 8025 l 5175 7575 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 7425 m 4275 6975 l 4425 6975 l 4425 7425 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 6975 m 4425 6975 l 4425 7125 l 4275 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 6825 m 4275 6375 l 4425 6375 l 4425 6825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 6375 m 4425 6375 l 4425 6525 l 4275 6525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4725 6375 m 4725 6825 l 4575 6825 l 4575 6375 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4725 6975 m 4725 7425 l 4575 7425 l 4575 6975 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 7425 m 5325 7275 l 4875 7275 l 4875 7425 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 325.00 485.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5175 7275 m 5325 7275 l 5325 7425 l 5175 7425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 7125 m 5025 7125 l 5025 6675 l 4875 6675 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 325.00 445.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4875 6975 m 5025 6975 l 5025 7125 l 4875 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 7125 m 5175 6675 l 5325 6675 l 5325 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 5475 m 5325 5925 l 5175 5925 l 5175 5475 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 6525 m 5025 6525 l 5025 6075 l 4875 6075 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 325.00 405.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4875 6375 m 5025 6375 l 5025 6525 l 4875 6525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 6075 m 5325 6525 l 5175 6525 l 5175 6075 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 8925 m 3825 8925 l 3825 8475 l 3675 8475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 565.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 8775 m 3825 8775 l 3825 8925 l 3675 8925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 8475 m 4425 8475 l 4425 8625 l 3975 8625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3975 8475 m 4125 8475 l 4125 8625 l 3975 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5025 8925 m 4575 8925 l 4575 8775 l 5025 8775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 8775 m 4425 8775 l 4425 8925 l 3975 8925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 8475 m 5025 8475 l 5025 8625 l 4575 8625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4575 8475 m 4725 8475 l 4725 8625 l 4575 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5625 8925 m 5175 8925 l 5175 8775 l 5625 8775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 8175 m 5325 8625 l 5175 8625 l 5175 8175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 6975 m 3525 6975 l 3525 7125 l 3075 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 7125 m 2175 6675 l 2325 6675 l 2325 7125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 7725 m 3075 7275 l 3225 7275 l 3225 7725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 7575 m 3225 7575 l 3225 7725 l 3075 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 7725 m 2625 7725 l 2625 7275 l 2475 7275 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 165.00 485.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2925 7275 m 2925 7725 l 2775 7725 l 2775 7275 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 7575 m 2625 7575 l 2625 7725 l 2475 7725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2325 7425 m 2325 7275 l 1875 7275 l 1875 7425 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 125.00 485.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2175 7275 m 2325 7275 l 2325 7425 l 2175 7425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 8025 m 2175 7575 l 2325 7575 l 2325 8025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 8325 m 3075 7875 l 3225 7875 l 3225 8325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 8175 m 3225 8175 l 3225 8325 l 3075 8325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3525 8625 m 3525 8475 l 3075 8475 l 3075 8625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 205.00 565.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3375 8475 m 3525 8475 l 3525 8625 l 3375 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 8775 m 3525 8775 l 3525 8925 l 3075 8925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 8775 m 2925 8775 l 2925 8925 l 2475 8925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 8325 m 2775 7875 l 2925 7875 l 2925 8325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 8325 m 2625 8325 l 2625 7875 l 2475 7875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 165.00 525.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2475 8175 m 2625 8175 l 2625 8325 l 2475 8325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 8625 m 2175 8175 l 2325 8175 l 2325 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2925 8625 m 2925 8475 l 2475 8475 l 2475 8625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 165.00 565.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2775 8475 m 2925 8475 l 2925 8625 l 2775 8625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 9225 m 2175 8775 l 2325 8775 l 2325 9225 l cp gs 0.00 setgray ef gr gs col0 s gr $F2psEnd rs end %%EndDocument @endspecial 1566 2985 a Fl(Figure)27 b(1:)37 b(four)27 b(blo)r(c)n(ks)515 3250 y Fm(2)134 b(Rush)45 b(Hour)g(Computing)515 3432 y Fl(Flak)n(e)23 b(and)h(Baum)g(hit)g(up)r(on)g(the)h(brillian)n (t)e(idea)h(of)g(partitioning)f(the)i(whole)e(b)r(oard)g(in)n(to)515 3532 y(`blo)r(c)n(ks')f(of)h(constan)n(t)f(size)g Fi(k)k Fl(b)n(y)d Fi(k)s Fl(,)h(whic)n(h)e(are)g(b)r(ordered)g(b)n(y)h(w)n (alls)f(of)h(in)n(terlo)r(c)n(king)e(cars,)515 3631 y(lea)n(ving)j (only)h(one)h(gap)e(b)r(et)n(w)n(een)i(adjacen)n(t)f(blo)r(c)n(ks.)36 b(Figure)25 b(1)g(sho)n(ws)f(four)h(suc)n(h)h(blo)r(c)n(ks,)515 3731 y(eac)n(h)f(of)g(size)h(11)e(b)n(y)i(11)e(\(with)j(some)e(cars)f (stic)n(king)h(out)h(at)g(the)g(corners\).)34 b(Empt)n(y)26 b(space)515 3830 y(is)21 b(sho)n(wn)f(around)g(the)h(cars)f(to)h(mak)n (e)f(the)h(cars)f(stand)h(out,)h(whic)n(h)f(w)n(ould)f(not)h(b)r(e)h (presen)n(t)515 3930 y(in)29 b(the)h(sliding)f(blo)r(c)n(k)g(puzzle.)42 b(The)29 b(four)g(blac)n(k)g(cars)f(in)h(the)h(cen)n(ter,)f(for)g (example,)g(are)515 4030 y(completely)d(jammed)h(in)g(and)f(unable)g (to)h(mo)n(v)n(e.)35 b(In)27 b(fact)f(w)n(e)h(use)f(blac)n(k)g(to)g (denote)g(cells)515 4129 y(that)g(are)f(alw)n(a)n(ys)g(o)r(ccupied)h(b) n(y)g(a)f(car.)36 b(Cars)25 b(that)h(can)g(mo)n(v)n(e)f(bac)n(k)g(and)h (forth)g(one)g(step)515 4229 y(only)-7 b(,)28 b(are)f(blac)n(k)h(at)g (one)g(end,)h(and)f(gra)n(y)e(or)i(strip)r(ed)g(at)g(the)h(other.)39 b(The)28 b(latter)g(is)g(used)515 4329 y(for)f(c)n(hains)g(of)g(cars)g (connecting)g(the)h(gaps.)639 4428 y(Flak)n(e)40 b(and)g(Baum)g (designed)f(particular)g(single)h(blo)r(c)n(k)f(car)h(con\014gurations) e(that)515 4528 y(b)r(eha)n(v)n(e)33 b(as)h(logical)f(gates,)j(imp)r (osing)e(certain)g(constrain)n(ts)f(on)h(the)h(4)f(cars)f(o)r(ccup)n (ying)515 4627 y(the)28 b(top,)f(left,)i(righ)n(t,)e(and)g(b)r(ottom)h (gaps)f(of)g(the)h(blo)r(c)n(k.)1926 5255 y(2)p eop %%Page: 3 3 3 2 bop 515 523 a Fh(2.1)112 b(F)-9 b(unctional)36 b(vs)i(Constrain)m (t)f(Gates)515 676 y Fl(Y)-7 b(et)37 b(these)g(gates)e(are)h(subtly)h (di\013eren)n(t)g(in)g(b)r(eha)n(vior)e(from)i(classical)e(b)r(o)r (olean)h(gates,)515 776 y(whic)n(h)27 b(distinguish)g(one)g(or)f(more)g (inputs)i(from)e(the)i(output.)37 b(In)27 b(classical)f(circuits,)h (the)515 876 y(state)k(of)g(a)g(gate's)f(output)i(is)f(uniquely)h (determined)f(b)n(y)g(the)h(state)f(of)g(its)g(inputs,)i(and)515 975 y(wires)27 b(m)n(ust)g(alw)n(a)n(ys)f(connect)h(an)h(output)g(of)f (one)h(gate)e(to)i(an)f(input)i(of)e(another.)639 1075 y(A)34 b(Rush)f(Hour)f(blo)r(c)n(k)g(instead)h(puts)g(constrain)n(ts)f (on)h(the)g(com)n(bined)g(states)f(of)h(its)515 1174 y(`p)r(orts'.)i(Eac)n(h)21 b(p)r(ort)i(can)f(b)r(e)h(`in')g(or)f (`out'.)36 b(The)22 b(blo)r(c)n(ks)g(in)h(Figure)g(1)f(forbid)g(the)i (top)e(and)515 1274 y(righ)n(t)32 b(p)r(ort)h(from)g(b)r(oth)h(b)r (eing)g(`in',)h(and)e(also)f(the)i(left)g(and)f(b)r(ottom)h(p)r(ort)f (from)g(b)r(oth)515 1374 y(b)r(eing)27 b(`in'.)639 1473 y(Consider)h(t)n(w)n(o)g(adjacen)n(t)g(p)r(orts,)g Fi(P)41 b Fl(and)28 b Fi(Q)p Fl(,)h(of)f(t)n(w)n(o)g(adjacen)n(t)g(blo)r(c)n (ks,)g(for)g(example)515 1573 y(the)g(righ)n(t)f(p)r(ort)g(of)h(the)g (top-left)f(blo)r(c)n(k)h(and)f(the)h(left)g(p)r(ort)g(of)f(the)h (top-righ)n(t)f(blo)r(c)n(k.)639 1673 y(W)-7 b(e)34 b(can)e(consider)h Fi(P)45 b Fl(an)32 b(output)i(and)f Fi(Q)g Fl(an)g(input.)54 b(The)33 b(`in')g(state)g(of)g Fi(P)45 b Fl(allo)n(ws)515 1772 y Fi(Q)32 b Fl(to)g(b)r(e)g(in)g(state)g(`out',)i(whic)n(h)e (corresp)r(onds)e(to)i(an)g(activ)n(e)f(wire)h Fi(P)42 b Fg(!)31 b Fi(Q)p Fl(,)i(since)f(the)515 1872 y(top-righ)n(t)26 b(blo)r(c)n(k)h(no)n(w)g(has)g(more)g(freedom)g(of)h(mo)n(v)n(emen)n(t) e(than)i(if)g Fi(Q)g Fl(w)n(ere)e(`in'.)639 1971 y(On)33 b(the)h(other)f(hand,)i(if)f(w)n(e)f(consider)f Fi(Q)h Fl(an)g(output)h(and)g Fi(P)45 b Fl(an)33 b(input,)j(then)e(the)515 2071 y(`out')f(state)f(of)h Fi(Q)g Fl(forces)f Fi(P)45 b Fl(to)32 b(b)r(e)i(in)f(state)g(`in',)h(whic)n(h)f(corresp)r(onds)e (to)i(an)g(inactiv)n(e)515 2171 y(wire)27 b Fi(Q)c Fg(!)g Fi(P)12 b Fl(.)515 2445 y Fm(3)134 b(Nondeterministic)47 b(Constrain)l(t)f(Logic)515 2627 y Fl(Hearn)38 b(and)g(Demaine,)k(in)c ([3],)j(abstracted)d(the)h(notion)f(of)h(constraining)e(gates)g(in)n (to)515 2727 y(the)32 b(`Nondeterministic)f(Constrain)n(t)f(Logic')h (mo)r(del)h(of)f(computation.)48 b(They)31 b(prop)r(ose)515 2826 y(a)d(somewhat)g(abstract)g(graph)g(form)n(ulation,)g(as)g(w)n (ell)h(as)f(a)g(more)g(concrete)g(circuit)h(for-)515 2926 y(m)n(ulation)37 b(for)g(mac)n(hines,)j(and)d(establish)g (translations)g(b)r(et)n(w)n(een)g(the)h(t)n(w)n(o.)66 b(Belo)n(w)37 b(I)515 3026 y(in)n(tro)r(duce)28 b(a)g(new)g(form)n (ulation)g(whic)n(h)g(com)n(bines)g(the)g(formal)g(rigor)f(of)h(the)h (graph)e(for-)515 3125 y(m)n(ulation)20 b(with)h(the)g(concreteness)e (of)h(the)h(circuit)g(form)n(ulation.)33 b(I)21 b(b)r(eliev)n(e)f(the)h (few)g(extra)515 3225 y(de\014nitions)i(required)f(in)h(this)g (formalism)f(are)g(o\013set)h(b)n(y)g(the)g(conceptual)f(simplicit)n(y) h(and)515 3324 y(\015exibilit)n(y)k(in)h(gate)f(design.)639 3424 y(Basically)-7 b(,)19 b(a)f(mac)n(hine)g(is)h(a)f(circuit)g(of)g (gates)g(and)g(wires,)i(where)d(gates)h(are)f(no)r(des)i(with)515 3524 y(lab)r(eled)27 b Fj(half-e)l(dges)p Fl(,)i(and)e(wires)g(are)f(a) h(matc)n(hing)g(on)g(half-edges.)35 b(The)28 b(half-edges)e(tak)n(e)515 3623 y(on)f(the)h(role)e(of)h(p)r(orts,)h(and)f(the)g(`in')h(or)f (`out')g(state)g(of)h(a)e(p)r(ort)i(is)f(naturally)f(represen)n(ted)515 3723 y(b)n(y)j(directing)g(the)h(half-edge)f(in)h(or)f(out.)515 3955 y Fh(3.1)112 b(Gate)38 b(t)m(yp)s(es)515 4109 y Ff(De\014nition)31 b(1)41 b Fj(A)31 b(gate)h Fl(t)n(yp)r(e)f Fj(is)h(a)g(tuple)f Fi(<)25 b(L;)14 b(S;)g(E)5 b(;)14 b(o)26 b(>)p Fj(,)32 b(wher)l(e)g Fi(L)f Fj(is)h(a)f(set)g(of)i(lab)l (els,)515 4208 y Fi(S)j Fj(a)31 b(set)g(of)h(states,)g Fi(E)f Fg(\022)25 b Fi(S)f Fg(\002)c Fi(S)35 b Fj(a)d(symmetric)g(set)f (of)h(p)l(ossible)h(state)d(tr)l(ansitions,)i(and)515 4308 y Fi(o)27 b Fl(:)h Fi(S)k Fg(!)27 b Fl(2)868 4278 y Fe(L)949 4308 y Fj(gives)33 b(for)g(e)l(ach)g(state)f Fi(s)p Fj(,)h(an)f(orientation)h(of)g(al)t(l)g(half-e)l(dges.)48 b(T)-6 b(r)l(ansitions)515 4407 y(ar)l(e)27 b(only)g(al)t(lowe)l(d)i(b) l(etwe)l(en)d(states)h(that)f(di\013er)i(in)f(the)g(orientation)g(of)h (exactly)f(one)g(half-)515 4507 y(e)l(dge.)639 4673 y Fl(The)34 b(simplest)f(non-trivial)f(t)n(yp)r(e)i(is)f(the)h(WIRE)f (gate)g(sho)n(wn)f(in)i(Figure)f(2,)h(whic)n(h)515 4773 y(merely)27 b(forbids)g(its)h(t)n(w)n(o)f(half-edges)f(to)i(b)r(oth)g (b)r(e)g(in)n(w)n(ard.)639 4872 y(A)f(more)e(in)n(teresting)h(t)n(yp)r (e)g(is)g(the)h(AND)g(gate)f Fi(<)d Fg(f)p Fi(x;)14 b(y)s(;)g(z)t Fg(g)p Fi(;)g(S;)g(E)5 b(;)14 b(o)21 b(>)26 b Fl(whose)f(states,)515 4972 y(transitions,)c(and)f(orien)n(tations)e(are)i(sho)n(wn)f(in)i (Figure)e(3)h(\(a\).)35 b(The)20 b(usual)g(represen)n(tation)1926 5255 y(3)p eop %%Page: 4 4 4 3 bop 515 688 a @beginspecial 0 @llx 0 @lly 362 @urx 38 @ury 2834 @rwi @setspecial %%BeginDocument: wiretype.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: wiretype.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Tue Jan 28 16:02:20 2003 %%For: tromp@serpens.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 362 38 %%Magnification: 1.0000 %%EndComments /$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 newpath 0 38 moveto 0 0 lineto 362 0 lineto 362 38 lineto closepath clip newpath -17.3 90.7 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 0.06000 0.06000 sc % % Fig objects follow % 7.500 slw % Ellipse n 3300 1200 20 20 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 1200 1200 20 20 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Ellipse n 5400 1200 20 20 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr % Polyline gs clippath 585 1170 m 585 1230 l 736 1230 l 616 1200 l 736 1170 l cp eoclip n 1200 1200 m 600 1200 l gs col0 s gr gr % arrowhead n 736 1170 m 616 1200 l 736 1230 l 736 1170 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 1185 1170 m 1185 1230 l 1336 1230 l 1216 1200 l 1336 1170 l cp eoclip n 1800 1200 m 1200 1200 l gs col0 s gr gr % arrowhead n 1336 1170 m 1216 1200 l 1336 1230 l 1336 1170 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2685 1170 m 2685 1230 l 2836 1230 l 2716 1200 l 2836 1170 l cp eoclip n 3300 1200 m 2700 1200 l gs col0 s gr gr % arrowhead n 2836 1170 m 2716 1200 l 2836 1230 l 2836 1170 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3915 1230 m 3915 1170 l 3764 1170 l 3884 1200 l 3764 1230 l cp eoclip n 3300 1200 m 3900 1200 l gs col0 s gr gr % arrowhead n 3764 1230 m 3884 1200 l 3764 1170 l 3764 1230 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 5415 1230 m 5415 1170 l 5264 1170 l 5384 1200 l 5264 1230 l cp eoclip n 4800 1200 m 5400 1200 l gs col0 s gr gr % arrowhead n 5264 1230 m 5384 1200 l 5264 1170 l 5264 1230 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 6015 1230 m 6015 1170 l 5864 1170 l 5984 1200 l 5864 1230 l cp eoclip n 5400 1200 m 6000 1200 l gs col0 s gr gr % arrowhead n 5864 1230 m 5984 1200 l 5864 1170 l 5864 1230 l cp gs 0.00 setgray ef gr col0 s % Polyline n 2505 900 m 2400 900 2400 1395 105 arcto 4 {pop} repeat 2400 1500 4095 1500 105 arcto 4 {pop} repeat 4200 1500 4200 1005 105 arcto 4 {pop} repeat 4200 900 2505 900 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 4605 900 m 4500 900 4500 1395 105 arcto 4 {pop} repeat 4500 1500 6195 1500 105 arcto 4 {pop} repeat 6300 1500 6300 1005 105 arcto 4 {pop} repeat 6300 900 4605 900 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 2100 1200 m 2400 1200 l gs col0 s gr % Polyline n 4200 1200 m 4500 1200 l gs col0 s gr % Polyline n 405 900 m 300 900 300 1395 105 arcto 4 {pop} repeat 300 1500 1995 1500 105 arcto 4 {pop} repeat 2100 1500 2100 1005 105 arcto 4 {pop} repeat 2100 900 405 900 105 arcto 4 {pop} repeat cp gs col0 s gr /Times-Roman ff 180.00 scf sf 1500 1350 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 900 1350 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 3000 1350 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 3600 1350 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 5700 1350 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 5100 1350 m gs 1 -1 sc (x) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 1524 871 a Fl(Figure)27 b(2:)37 b(a)27 b(WIRE)g(gate)515 2191 y @beginspecial 0 @llx 0 @lly 502 @urx 256 @ury 2834 @rwi @setspecial %%BeginDocument: andtype.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: andtype.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Fri Jan 24 10:23:29 2003 %%For: tromp@serpens.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 502 256 %%Magnification: 1.0000 %%EndComments /$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 newpath 0 256 moveto 0 0 lineto 502 0 lineto 502 256 lineto closepath clip newpath -17.5 309.2 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 0.06000 0.06000 sc % % Fig objects follow % % Arc 7.500 slw n 6000.0 2700.0 600.0 180.0 0.0 arc gs col0 s gr % Ellipse n 2100 1500 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 3600 1500 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 3600 3000 618 618 0 360 DrawEllipse gs col0 s gr % Ellipse n 2100 3000 618 618 0 360 DrawEllipse gs col0 s gr % Ellipse n 900 4200 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 8100 2700 50 50 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col0 s gr % Polyline n 2700 1500 m 3000 1500 l gs col0 s gr % Polyline n 2700 3000 m 3000 3000 l gs col0 s gr % Polyline n 2100 2100 m 2100 2400 l gs col0 s gr % Polyline n 3600 2100 m 3600 2400 l gs col0 s gr % Polyline n 1650 3450 m 1350 3750 l gs col0 s gr % Polyline n 5400 2700 m 5400 3300 l 6600 3300 l 6600 2700 l gs col0 s gr % Polyline n 6000 2100 m 6000 900 l gs col0 s gr % Polyline n 5700 3300 m 5700 4500 l gs col0 s gr % Polyline n 6300 3300 m 6300 4500 l gs col0 s gr % Polyline n 8100 2700 m 8100 1500 l gs col0 s gr % Polyline n 8100 2700 m 7800 3900 l gs col0 s gr % Polyline n 8100 2700 m 8400 3900 l gs col0 s gr % Polyline gs clippath 568 4489 m 610 4531 l 717 4425 l 611 4489 l 674 4382 l cp eoclip n 900 4200 m 600 4500 l gs col0 s gr gr % arrowhead n 674 4382 m 611 4489 l 717 4425 l 674 4382 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 1189 4531 m 1231 4489 l 1125 4382 l 1189 4489 l 1082 4425 l cp eoclip n 900 4200 m 1200 4500 l gs col0 s gr gr % arrowhead n 1082 4425 m 1189 4489 l 1125 4382 l 1082 4425 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 870 4215 m 930 4215 l 930 4064 l 900 4184 l 870 4064 l cp eoclip n 900 3900 m 900 4200 l gs col0 s gr gr % arrowhead n 870 4064 m 900 4184 l 930 4064 l 870 4064 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 1768 3289 m 1810 3331 l 1917 3225 l 1811 3289 l 1874 3182 l cp eoclip n 2100 3000 m 1800 3300 l gs col0 s gr gr % arrowhead n 1874 3182 m 1811 3289 l 1917 3225 l 1874 3182 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2389 3331 m 2431 3289 l 2325 3182 l 2389 3289 l 2282 3225 l cp eoclip n 2100 3000 m 2400 3300 l gs col0 s gr gr % arrowhead n 2282 3225 m 2389 3289 l 2325 3182 l 2282 3225 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2130 2685 m 2070 2685 l 2070 2836 l 2100 2716 l 2130 2836 l cp eoclip n 2100 3000 m 2100 2700 l gs col0 s gr gr % arrowhead n 2130 2836 m 2100 2716 l 2070 2836 l 2130 2836 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 1768 1789 m 1810 1831 l 1917 1725 l 1811 1789 l 1874 1682 l cp eoclip n 2100 1500 m 1800 1800 l gs col0 s gr gr % arrowhead n 1874 1682 m 1811 1789 l 1917 1725 l 1874 1682 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2110 1468 m 2068 1510 l 2174 1617 l 2111 1511 l 2217 1574 l cp eoclip n 2400 1800 m 2100 1500 l gs col0 s gr gr % arrowhead n 2217 1574 m 2111 1511 l 2174 1617 l 2217 1574 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2130 1185 m 2070 1185 l 2070 1336 l 2100 1216 l 2130 1336 l cp eoclip n 2100 1500 m 2100 1200 l gs col0 s gr gr % arrowhead n 2130 1336 m 2100 1216 l 2070 1336 l 2130 1336 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3631 1510 m 3589 1468 l 3482 1574 l 3589 1511 l 3525 1617 l cp eoclip n 3300 1800 m 3600 1500 l gs col0 s gr gr % arrowhead n 3525 1617 m 3589 1511 l 3482 1574 l 3525 1617 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3610 1468 m 3568 1510 l 3674 1617 l 3611 1511 l 3717 1574 l cp eoclip n 3900 1800 m 3600 1500 l gs col0 s gr gr % arrowhead n 3717 1574 m 3611 1511 l 3674 1617 l 3717 1574 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3630 1185 m 3570 1185 l 3570 1336 l 3600 1216 l 3630 1336 l cp eoclip n 3600 1500 m 3600 1200 l gs col0 s gr gr % arrowhead n 3630 1336 m 3600 1216 l 3570 1336 l 3630 1336 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3889 3331 m 3931 3289 l 3825 3182 l 3889 3289 l 3782 3225 l cp eoclip n 3600 3000 m 3900 3300 l gs col0 s gr gr % arrowhead n 3782 3225 m 3889 3289 l 3825 3182 l 3782 3225 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3630 2685 m 3570 2685 l 3570 2836 l 3600 2716 l 3630 2836 l cp eoclip n 3600 3000 m 3600 2700 l gs col0 s gr gr % arrowhead n 3630 2836 m 3600 2716 l 3570 2836 l 3630 2836 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3631 3010 m 3589 2968 l 3482 3074 l 3589 3011 l 3525 3117 l cp eoclip n 3300 3300 m 3600 3000 l gs col0 s gr gr % arrowhead n 3525 3117 m 3589 3011 l 3482 3074 l 3525 3117 l cp gs 0.00 setgray ef gr col0 s /Times-Roman ff 180.00 scf sf 5400 4200 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 6450 4200 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 6150 1500 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 8250 1500 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 7650 3750 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 8550 3750 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 2700 5100 m gs 1 -1 sc (\(a\)) col0 sh gr /Times-Roman ff 180.00 scf sf 5850 5100 m gs 1 -1 sc (\(b\)) col0 sh gr /Times-Roman ff 180.00 scf sf 7950 5100 m gs 1 -1 sc (\(c\)) col0 sh gr /Times-Roman ff 180.00 scf sf 600 4650 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 1050 3900 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 1800 3450 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 2250 2700 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 1800 1950 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 2250 1200 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 3750 1200 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 3300 1950 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 3300 3450 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 3750 2700 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 1125 4650 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 3450 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 3825 3450 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 3825 1950 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 1950 m gs 1 -1 sc (y) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 584 2374 a(Figure)g(3:)36 b(\(a\))28 b(gate)f(t)n(yp)r(e)h (AND)h(\(b\))f(usual)f(represen)n(tation)f(\(c\))i(view)n(ed)f(as)g (SPLIT)515 2643 y(of)g(an)h(AND)g(gate)f(in)h(Figure)f(3)g(\(b\))h (emphasizes)f(the)h(role)f(of)g Fi(z)k Fl(as)c(an)g(output)i(that)e (can)515 2743 y(b)r(e)34 b(activ)n(e)f(only)g(when)h(b)r(oth)g(inputs)g Fi(x;)14 b(y)37 b Fl(are,)e(while)e(the)i(splitting)f(wire)f (emphasizes)515 2843 y(the)28 b(role)e(of)i Fi(x;)14 b(y)31 b Fl(as)c(outputs)g(that)h(can)g(b)r(e)g(activ)n(e)e(only)i (when)f(input)i Fi(z)i Fl(is.)639 2942 y(Another)21 b(t)n(yp)r(e)g(is)g (the)h(OR)e(gate)h(sho)n(wn)f(in)h(Figure)g(4)f(\(a\).)35 b(The)21 b(usual)g(represen)n(tation)515 3042 y(in)32 b(Figure)f(4)h(\(b\))g(arbitrarily)e(sho)n(ws)h Fi(x;)14 b(y)35 b Fl(as)c(inputs)h(and)g Fi(z)j Fl(as)c(output,)j(but)e(from)g (\(a\))515 3142 y(w)n(e)27 b(can)h(see)g(that)g Fi(x;)14 b(y)s(;)g(z)31 b Fl(pla)n(y)c(equal)h(roles,)f(so)g(a)h(symmetric)g (represen)n(tation)e(as)h(in)i(\(c\))515 3241 y(is)e(p)r(erhaps)g(more) g(appropriate.)639 3341 y(Our)h(last)g(example)g(is)h(the)f(HALF-OR)h (gate)f(sho)n(wn)f(in)i(Figure)f(5)g(\(a\).)40 b(This)28 b(di\013ers)515 3441 y(from)40 b(the)g(OR)g(in)g(ha)n(ving)f(t)n(w)n(o) h(states)g(with)g(b)r(oth)h(inputs)g(and)f(the)g(output)h(activ)n(e.) 515 3540 y(Consider)23 b(the)h(middle)h(state)f(where)g(b)r(oth)g (inputs)h(are)e(activ)n(e)h(but)g(the)h(output)g(inactiv)n(e.)515 4737 y @beginspecial 0 @llx 0 @lly 596 @urx 256 @ury 2834 @rwi @setspecial %%BeginDocument: ortype.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: ortype.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Fri Jan 24 10:22:25 2003 %%For: tromp@serpens.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 596 256 %%Magnification: 1.0000 %%EndComments /$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 newpath 0 256 moveto 0 0 lineto 596 0 lineto 596 256 lineto closepath clip newpath -17.5 309.2 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 0.06000 0.06000 sc % % Fig objects follow % % Arc 7.500 slw n 4853.6 3428.6 1754.8 5.6 -49.2 arcn gs col0 s gr % Arc n 7146.4 3428.6 1754.8 174.4 -130.8 arc gs col0 s gr % Arc n 6000.0 3892.5 667.5 -154.0 -26.0 arc gs col0 s gr % Arc n 8700.0 2175.0 1275.0 118.1 61.9 arcn gs col0 s gr % Arc n 9750.0 3750.0 1710.3 -164.7 -127.9 arc gs col0 s gr % Arc n 7650.0 3750.0 1710.3 -15.3 -52.1 arcn gs col0 s gr % Ellipse n 2700 4200 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 900 4200 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 900 2400 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 3607 3012 618 618 0 360 DrawEllipse gs col0 s gr % Ellipse n 2075 3010 618 618 0 360 DrawEllipse gs col0 s gr % Ellipse n 2100 1500 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 3600 1500 600 600 0 360 DrawEllipse gs col0 s gr % Polyline n 2700 1500 m 3000 1500 l gs col0 s gr % Polyline n 2700 3000 m 3000 3000 l gs col0 s gr % Polyline n 2100 2100 m 2100 2400 l gs col0 s gr % Polyline n 3600 2100 m 3600 2400 l gs col0 s gr % Polyline n 1650 3450 m 1350 3750 l gs col0 s gr % Polyline n 6000 2100 m 6000 900 l gs col0 s gr % Polyline n 5700 3300 m 5700 4500 l gs col0 s gr % Polyline n 6300 3300 m 6300 4500 l gs col0 s gr % Polyline gs clippath 2670 4215 m 2730 4215 l 2730 4064 l 2700 4184 l 2670 4064 l cp eoclip n 2700 3900 m 2700 4200 l gs col0 s gr gr % arrowhead n 2670 4064 m 2700 4184 l 2730 4064 l 2670 4064 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2731 4210 m 2689 4168 l 2582 4274 l 2689 4211 l 2625 4317 l cp eoclip n 2400 4500 m 2700 4200 l gs col0 s gr gr % arrowhead n 2625 4317 m 2689 4211 l 2582 4274 l 2625 4317 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2989 4531 m 3031 4489 l 2925 4382 l 2989 4489 l 2882 4425 l cp eoclip n 2700 4200 m 3000 4500 l gs col0 s gr gr % arrowhead n 2882 4425 m 2989 4489 l 2925 4382 l 2882 4425 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 568 4489 m 610 4531 l 717 4425 l 611 4489 l 674 4382 l cp eoclip n 900 4200 m 600 4500 l gs col0 s gr gr % arrowhead n 674 4382 m 611 4489 l 717 4425 l 674 4382 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 870 4215 m 930 4215 l 930 4064 l 900 4184 l 870 4064 l cp eoclip n 900 3900 m 900 4200 l gs col0 s gr gr % arrowhead n 870 4064 m 900 4184 l 930 4064 l 870 4064 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 1768 3289 m 1810 3331 l 1917 3225 l 1811 3289 l 1874 3182 l cp eoclip n 2100 3000 m 1800 3300 l gs col0 s gr gr % arrowhead n 1874 3182 m 1811 3289 l 1917 3225 l 1874 3182 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2389 3331 m 2431 3289 l 2325 3182 l 2389 3289 l 2282 3225 l cp eoclip n 2100 3000 m 2400 3300 l gs col0 s gr gr % arrowhead n 2282 3225 m 2389 3289 l 2325 3182 l 2282 3225 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2130 2685 m 2070 2685 l 2070 2836 l 2100 2716 l 2130 2836 l cp eoclip n 2100 3000 m 2100 2700 l gs col0 s gr gr % arrowhead n 2130 2836 m 2100 2716 l 2070 2836 l 2130 2836 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3889 3331 m 3931 3289 l 3825 3182 l 3889 3289 l 3782 3225 l cp eoclip n 3600 3000 m 3900 3300 l gs col0 s gr gr % arrowhead n 3782 3225 m 3889 3289 l 3825 3182 l 3782 3225 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3630 2685 m 3570 2685 l 3570 2836 l 3600 2716 l 3630 2836 l cp eoclip n 3600 3000 m 3600 2700 l gs col0 s gr gr % arrowhead n 3630 2836 m 3600 2716 l 3570 2836 l 3630 2836 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3631 3010 m 3589 2968 l 3482 3074 l 3589 3011 l 3525 3117 l cp eoclip n 3300 3300 m 3600 3000 l gs col0 s gr gr % arrowhead n 3525 3117 m 3589 3011 l 3482 3074 l 3525 3117 l cp gs 0.00 setgray ef gr col0 s % Polyline n 1500 4200 m 2100 4200 l gs col0 s gr % Polyline n 900 3000 m 900 3600 l gs col0 s gr % Polyline n 1335 1995 m 1560 1770 l gs col0 s gr % Polyline n 3345 3570 m 3135 3780 l gs col0 s gr % Polyline gs clippath 568 2689 m 610 2731 l 717 2625 l 611 2689 l 674 2582 l cp eoclip n 900 2400 m 600 2700 l gs col0 s gr gr % arrowhead n 674 2582 m 611 2689 l 717 2625 l 674 2582 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 910 2368 m 868 2410 l 974 2517 l 911 2411 l 1017 2474 l cp eoclip n 1200 2700 m 900 2400 l gs col0 s gr gr % arrowhead n 1017 2474 m 911 2411 l 974 2517 l 1017 2474 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 870 2415 m 930 2415 l 930 2264 l 900 2384 l 870 2264 l cp eoclip n 900 2400 m 900 2100 l gs col0 s gr gr % arrowhead n 870 2264 m 900 2384 l 930 2264 l 870 2264 l cp gs 0.00 setgray ef gr col0 s % Polyline n 8700 2400 m 8700 1200 l gs col0 s gr % Polyline n 8100 3300 m 7200 3750 l gs col0 s gr % Polyline n 9300 3300 m 10200 3750 l gs col0 s gr % Polyline gs clippath 1189 4531 m 1231 4489 l 1125 4382 l 1189 4489 l 1082 4425 l cp eoclip n 900 4200 m 1200 4500 l gs col0 s gr gr % arrowhead n 1082 4425 m 1189 4489 l 1125 4382 l 1082 4425 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 1768 1789 m 1810 1831 l 1917 1725 l 1811 1789 l 1874 1682 l cp eoclip n 2100 1500 m 1800 1800 l gs col0 s gr gr % arrowhead n 1874 1682 m 1811 1789 l 1917 1725 l 1874 1682 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2110 1468 m 2068 1510 l 2174 1617 l 2111 1511 l 2217 1574 l cp eoclip n 2400 1800 m 2100 1500 l gs col0 s gr gr % arrowhead n 2217 1574 m 2111 1511 l 2174 1617 l 2217 1574 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2130 1185 m 2070 1185 l 2070 1336 l 2100 1216 l 2130 1336 l cp eoclip n 2100 1500 m 2100 1200 l gs col0 s gr gr % arrowhead n 2130 1336 m 2100 1216 l 2070 1336 l 2130 1336 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3631 1510 m 3589 1468 l 3482 1574 l 3589 1511 l 3525 1617 l cp eoclip n 3300 1800 m 3600 1500 l gs col0 s gr gr % arrowhead n 3525 1617 m 3589 1511 l 3482 1574 l 3525 1617 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3610 1468 m 3568 1510 l 3674 1617 l 3611 1511 l 3717 1574 l cp eoclip n 3900 1800 m 3600 1500 l gs col0 s gr gr % arrowhead n 3717 1574 m 3611 1511 l 3674 1617 l 3717 1574 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3630 1185 m 3570 1185 l 3570 1336 l 3600 1216 l 3630 1336 l cp eoclip n 3600 1500 m 3600 1200 l gs col0 s gr gr % arrowhead n 3630 1336 m 3600 1216 l 3570 1336 l 3630 1336 l cp gs 0.00 setgray ef gr col0 s /Times-Roman ff 180.00 scf sf 5400 4200 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 6450 4200 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 6150 1500 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 2700 5100 m gs 1 -1 sc (\(a\)) col0 sh gr /Times-Roman ff 180.00 scf sf 5850 5100 m gs 1 -1 sc (\(b\)) col0 sh gr /Times-Roman ff 180.00 scf sf 600 4650 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 1050 3900 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 1800 3450 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 2250 2700 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 3300 3450 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 3750 2700 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 2850 3900 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 2400 4650 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 600 2850 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 1050 2100 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 8550 5100 m gs 1 -1 sc (\(c\)) col0 sh gr /Times-Roman ff 180.00 scf sf 1800 1950 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 2250 1200 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 3750 1200 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 3300 1950 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 2925 4650 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 1125 4650 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 1125 2850 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 3825 3450 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 3825 1950 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 1950 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 3450 m gs 1 -1 sc (y) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 640 4920 a(Figure)i(4:)37 b(\(a\))28 b(gate)f(t)n(yp)r(e)g (OR)h(\(b\))g(usual)f(represen)n(tation)f(\(c\))i(symmetric)g(view)1926 5255 y(4)p eop %%Page: 5 5 5 4 bop 515 1890 a @beginspecial 0 @llx 0 @lly 443 @urx 272 @ury 2834 @rwi @setspecial %%BeginDocument: halfortype.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: halfortype.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Fri Jan 24 10:25:38 2003 %%For: tromp@serpens.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 443 272 %%Magnification: 1.0000 %%EndComments /$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 newpath 0 272 moveto 0 0 lineto 443 0 lineto 443 272 lineto closepath clip newpath -89.5 324.4 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 0.06000 0.06000 sc % % Fig objects follow % % Arc 7.500 slw n 7103.6 3428.6 1754.8 5.6 -49.2 arcn gs col0 s gr % Arc n 9396.4 3428.6 1754.8 174.4 -130.8 arc gs col0 s gr % Arc n 8250.0 3892.5 667.5 -154.0 -26.0 arc gs col0 s gr % Ellipse n 3900 1500 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 5400 1500 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 5400 3000 618 618 0 360 DrawEllipse gs col0 s gr % Ellipse n 3900 3000 618 618 0 360 DrawEllipse gs col0 s gr % Ellipse n 2100 3600 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 3300 4800 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 4800 4800 600 600 0 360 DrawEllipse gs col0 s gr % Ellipse n 2100 2100 600 600 0 360 DrawEllipse gs col0 s gr % Polyline n 4500 1500 m 4800 1500 l gs col0 s gr % Polyline n 4500 3000 m 4800 3000 l gs col0 s gr % Polyline n 3900 2100 m 3900 2400 l gs col0 s gr % Polyline n 5400 2100 m 5400 2400 l gs col0 s gr % Polyline gs clippath 3568 3289 m 3610 3331 l 3717 3225 l 3611 3289 l 3674 3182 l cp eoclip n 3900 3000 m 3600 3300 l gs col0 s gr gr % arrowhead n 3674 3182 m 3611 3289 l 3717 3225 l 3674 3182 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 4189 3331 m 4231 3289 l 4125 3182 l 4189 3289 l 4082 3225 l cp eoclip n 3900 3000 m 4200 3300 l gs col0 s gr gr % arrowhead n 4082 3225 m 4189 3289 l 4125 3182 l 4082 3225 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3930 2685 m 3870 2685 l 3870 2836 l 3900 2716 l 3930 2836 l cp eoclip n 3900 3000 m 3900 2700 l gs col0 s gr gr % arrowhead n 3930 2836 m 3900 2716 l 3870 2836 l 3930 2836 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 5689 3331 m 5731 3289 l 5625 3182 l 5689 3289 l 5582 3225 l cp eoclip n 5400 3000 m 5700 3300 l gs col0 s gr gr % arrowhead n 5582 3225 m 5689 3289 l 5625 3182 l 5582 3225 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 5430 2685 m 5370 2685 l 5370 2836 l 5400 2716 l 5430 2836 l cp eoclip n 5400 3000 m 5400 2700 l gs col0 s gr gr % arrowhead n 5430 2836 m 5400 2716 l 5370 2836 l 5430 2836 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 5431 3010 m 5389 2968 l 5282 3074 l 5389 3011 l 5325 3117 l cp eoclip n 5100 3300 m 5400 3000 l gs col0 s gr gr % arrowhead n 5325 3117 m 5389 3011 l 5282 3074 l 5325 3117 l cp gs 0.00 setgray ef gr col0 s % Polyline n 5400 3600 m 5100 4275 l gs col0 s gr % Polyline n 3900 4800 m 4200 4800 l gs col0 s gr % Polyline n 2100 2700 m 2100 3000 l gs col0 s gr % Polyline n 2625 1800 m 3300 1500 l gs col0 s gr % Polyline gs clippath 1768 2389 m 1810 2431 l 1917 2325 l 1811 2389 l 1874 2282 l cp eoclip n 2100 2100 m 1800 2400 l gs col0 s gr gr % arrowhead n 1874 2282 m 1811 2389 l 1917 2325 l 1874 2282 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2110 2068 m 2068 2110 l 2174 2217 l 2111 2111 l 2217 2174 l cp eoclip n 2400 2400 m 2100 2100 l gs col0 s gr gr % arrowhead n 2217 2174 m 2111 2111 l 2174 2217 l 2217 2174 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2070 2115 m 2130 2115 l 2130 1964 l 2100 2084 l 2070 1964 l cp eoclip n 2100 2100 m 2100 1800 l gs col0 s gr gr % arrowhead n 2070 1964 m 2100 2084 l 2130 1964 l 2070 1964 l cp gs 0.00 setgray ef gr col0 s % Polyline n 3300 3000 m 2625 3300 l gs col0 s gr % Polyline gs clippath 1768 3889 m 1810 3931 l 1917 3825 l 1811 3889 l 1874 3782 l cp eoclip n 2100 3600 m 1800 3900 l gs col0 s gr gr % arrowhead n 1874 3782 m 1811 3889 l 1917 3825 l 1874 3782 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2389 3931 m 2431 3889 l 2325 3782 l 2389 3889 l 2282 3825 l cp eoclip n 2100 3600 m 2400 3900 l gs col0 s gr gr % arrowhead n 2282 3825 m 2389 3889 l 2325 3782 l 2282 3825 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 2070 3615 m 2130 3615 l 2130 3464 l 2100 3584 l 2070 3464 l cp eoclip n 2100 3300 m 2100 3600 l gs col0 s gr gr % arrowhead n 2070 3464 m 2100 3584 l 2130 3464 l 2070 3464 l cp gs 0.00 setgray ef gr col0 s % Polyline n 3900 3600 m 3600 4275 l gs col0 s gr % Polyline gs clippath 2968 5089 m 3010 5131 l 3117 5025 l 3011 5089 l 3074 4982 l cp eoclip n 3300 4800 m 3000 5100 l gs col0 s gr gr % arrowhead n 3074 4982 m 3011 5089 l 3117 5025 l 3074 4982 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3589 5131 m 3631 5089 l 3525 4982 l 3589 5089 l 3482 5025 l cp eoclip n 3300 4800 m 3600 5100 l gs col0 s gr gr % arrowhead n 3482 5025 m 3589 5089 l 3525 4982 l 3482 5025 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3270 4815 m 3330 4815 l 3330 4664 l 3300 4784 l 3270 4664 l cp eoclip n 3300 4500 m 3300 4800 l gs col0 s gr gr % arrowhead n 3270 4664 m 3300 4784 l 3330 4664 l 3270 4664 l cp gs 0.00 setgray ef gr col0 s % Polyline n 8250 2100 m 8250 900 l gs col0 s gr % Polyline n 7950 3300 m 7950 4500 l gs col0 s gr % Polyline n 8550 3300 m 8550 4500 l gs col0 s gr % Polyline gs clippath 4770 4815 m 4830 4815 l 4830 4664 l 4800 4784 l 4770 4664 l cp eoclip n 4800 4500 m 4800 4800 l gs col0 s gr gr % arrowhead n 4770 4664 m 4800 4784 l 4830 4664 l 4770 4664 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 4831 4810 m 4789 4768 l 4682 4874 l 4789 4811 l 4725 4917 l cp eoclip n 4500 5100 m 4800 4800 l gs col0 s gr gr % arrowhead n 4725 4917 m 4789 4811 l 4682 4874 l 4725 4917 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 5089 5131 m 5131 5089 l 5025 4982 l 5089 5089 l 4982 5025 l cp eoclip n 4800 4800 m 5100 5100 l gs col0 s gr gr % arrowhead n 4982 5025 m 5089 5089 l 5025 4982 l 4982 5025 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3568 1789 m 3610 1831 l 3717 1725 l 3611 1789 l 3674 1682 l cp eoclip n 3900 1500 m 3600 1800 l gs col0 s gr gr % arrowhead n 3674 1682 m 3611 1789 l 3717 1725 l 3674 1682 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3910 1468 m 3868 1510 l 3974 1617 l 3911 1511 l 4017 1574 l cp eoclip n 4200 1800 m 3900 1500 l gs col0 s gr gr % arrowhead n 4017 1574 m 3911 1511 l 3974 1617 l 4017 1574 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 3930 1185 m 3870 1185 l 3870 1336 l 3900 1216 l 3930 1336 l cp eoclip n 3900 1500 m 3900 1200 l gs col0 s gr gr % arrowhead n 3930 1336 m 3900 1216 l 3870 1336 l 3930 1336 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 5431 1510 m 5389 1468 l 5282 1574 l 5389 1511 l 5325 1617 l cp eoclip n 5100 1800 m 5400 1500 l gs col0 s gr gr % arrowhead n 5325 1617 m 5389 1511 l 5282 1574 l 5325 1617 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 5410 1468 m 5368 1510 l 5474 1617 l 5411 1511 l 5517 1574 l cp eoclip n 5700 1800 m 5400 1500 l gs col0 s gr gr % arrowhead n 5517 1574 m 5411 1511 l 5474 1617 l 5517 1574 l cp gs 0.00 setgray ef gr col0 s % Polyline gs clippath 5430 1185 m 5370 1185 l 5370 1336 l 5400 1216 l 5430 1336 l cp eoclip n 5400 1500 m 5400 1200 l gs col0 s gr gr % arrowhead n 5430 1336 m 5400 1216 l 5370 1336 l 5430 1336 l cp gs 0.00 setgray ef gr col0 s /Times-Roman ff 180.00 scf sf 3600 3450 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 4050 2700 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 5100 3450 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 5550 2700 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 1800 2550 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 2250 1800 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 1800 4050 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 2250 3300 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 3000 5250 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 3450 4500 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 450.00 scf sf 8100 3000 m gs 1 -1 sc (H) col0 sh gr /Times-Roman ff 180.00 scf sf 1650 5250 m gs 1 -1 sc (\(a\)) col0 sh gr /Times-Roman ff 180.00 scf sf 7650 4200 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 8700 4200 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 8400 1500 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 7500 5250 m gs 1 -1 sc (\(b\)) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 4050 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 3525 5250 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 4950 4500 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 4500 5250 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 5025 5250 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 4125 3450 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 2325 2550 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 3600 1950 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 4050 1200 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 5550 1200 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 5100 1950 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 5625 1950 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 5625 3450 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 4125 1950 m gs 1 -1 sc (y) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 982 2073 a Fl(Figure)27 b(5:)37 b(\(a\))28 b(gate)e(t)n(yp)r(e)i(HALF-OR)g(\(b\))g(represen)n(tation)515 2343 y(Then)f(to)h(activ)-5 b(ate)27 b(the)h(output,)g(a)f(c)n(hoice)g (m)n(ust)h(b)r(e)g(made)f(of)h(whic)n(h)f(input)i(the)f(output)515 2442 y(will)j(dep)r(end)h(on.)47 b(That)31 b(input)h(then)f(needs)g(to) g(remain)g(activ)n(e)f(as)h(long)f(is)h(the)h(output)515 2542 y(is.)k(F)-7 b(or)25 b(this)h(reason)f(it)h(w)n(as)f(called)g(a)h (`Latc)n(h')f(in)i([3)o(].)37 b(The)26 b(next)g(section)f(sho)n(ws)g (the)h(use)515 2642 y(of)h(the)h(HALF-OR)g(gate.)515 2874 y Fh(3.2)112 b(Mac)m(hines)515 3027 y Fl(A)28 b(mac)n(hine)f(is)g (basically)g(a)g(bunc)n(h)h(of)f(gates)g(connected)g(together:)515 3227 y Ff(De\014nition)k(2)41 b Fj(A)g(machine)i(is)f(an)f(augmente)l (d)h(gr)l(aph)h(in)e(which)i(al)t(l)g(half-e)l(dges)h(ar)l(e)515 3326 y(lab)l(ele)l(d,)32 b(and)f(e)l(ach)h(no)l(de)f(has)g(a)g(gate)g (typ)l(e)f(c)l(onsistent)g(with)h(the)g(lab)l(els)g(on)g(its)f (incident)515 3426 y(half-e)l(dges.)38 b(Half-e)l(dges)25 b(may)e(r)l(emain)h(unc)l(onne)l(cte)l(d;)h(these)e(ar)l(e)h(the)f (input/output)g(p)l(orts)515 3526 y(of)30 b(the)g(machine.)515 3725 y Ff(De\014nition)h(3)41 b Fj(A)36 b(machine)i(state)e(orients)h (al)t(l)g(half-e)l(dges,)k(c)l(onsistent)36 b(acr)l(oss)h(p)l(air)l(e)l (d)515 3824 y(half-e)l(dges)31 b(\(one)f(b)l(eing)h(`in)-8 b(')30 b(and)g(the)g(other)h(`out'\),)g(and)f(assigns)g(to)g(e)l(ach)h (no)l(de)f(a)g(state)515 3924 y(of)g(its)g(gate)g(typ)l(e)g(c)l (onsistent)f(with)i(the)e(incident)i(half-e)l(dge)h(orientations.)639 4090 y Fl(A)i(v)n(ery)f(simple)h(mac)n(hine,)h(com)n(bining)e(t)n(w)n (o)g(HALF-ORs)h(with)g(a)f(SPLIT)h(gate,)g(is)515 4190 y(sho)n(wn)c(in)i(Figure)e(6.)47 b(The)31 b(fact)h(that)f(w)n(e)g(matc) n(hed)g(same-lab)r(eled)f(half-edges)g(is)h(done)515 4289 y(just)23 b(for)g(con)n(v)n(enience,)f(so)h(that)g(w)n(e)f(ma)n(y) h(refer)f(to)h(the)g(edges)f(as)g Fi(xx)p Fl(,)j Fi(y)s(y)s Fl(,)f(or)e Fi(z)t(z)t Fl(.)33 b(W)-7 b(e)24 b(ma)n(y)515 4389 y(w)n(onder)31 b(in)h(what)g(state)g(the)h(three)f(unmatc)n(hed)g (half-edges)f(can)h(b)r(e,)i(among)d(all)h(v)-5 b(alid)515 4489 y(mac)n(hine)33 b(states.)55 b(If)34 b Fi(z)j Fl(is)d(`in',)i (then)e(the)g(split)g(requires)f(b)r(oth)h(the)g Fi(xx)h Fl(and)f Fi(y)s(y)i Fl(edges)515 4588 y(to)e(b)r(e)h(orien)n(ted)e(do)n (wn)n(w)n(ard)f(to)j(the)f(half-ors.)56 b(Since)35 b(one)e(HALF-OR)i(m) n(ust)f(ha)n(v)n(e)f(an)515 4688 y(in-going)23 b Fi(z)t Fl(,)h(this)h(gate)f(will)g(require)g(an)g(out-going)f Fi(x)i Fl(or)e Fi(y)s Fl(.)36 b(This)24 b(argumen)n(t)f(sho)n(ws)h (that)515 4787 y(not)32 b(all)f(three)h Fj(machine)j(p)l(orts)d Fl(can)f(b)r(e)i(`in'.)50 b(If)32 b(this)g(w)n(ere)f(the)h(only)g (restriction,)g(then)515 4887 y(this)h(mac)n(hine)g(w)n(ould)f(seem)h (to)g(b)r(eha)n(v)n(e)f(as)h(an)f(OR)h(gate.)53 b(Figure)32 b(7)h(sho)n(ws)e(that)j(this)515 4987 y(is)29 b(indeed)g(the)h(case.)41 b(T)-7 b(o)28 b(distinguish)i(the)f(t)n(w)n(o)g(similarly)f(orien)n (ted)g(HALF-OR)h(states,)1926 5255 y(5)p eop %%Page: 6 6 6 5 bop 515 1745 a @beginspecial 0 @llx 0 @lly 362 @urx 200 @ury 2834 @rwi @setspecial %%BeginDocument: ormachine.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: ormachine.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Thu Jan 23 16:09:35 2003 %%For: tromp@serpens.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 362 200 %%Magnification: 1.0000 %%EndComments /$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 newpath 0 200 moveto 0 0 lineto 362 0 lineto 362 200 lineto closepath clip newpath -35.3 235.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 0.06000 0.06000 sc % % Fig objects follow % % Arc 7.500 slw n 5528.0 4446.0 1754.5 -84.4 -139.2 arcn gs col0 s gr % Arc n 5528.0 2154.0 1754.5 84.4 139.2 arc gs col0 s gr % Arc n 5992.0 3300.0 667.3 116.0 -116.0 arc gs col0 s gr % Arc n 1671.0 2154.0 1754.4 95.6 40.8 arcn gs col0 s gr % Arc n 1671.0 4446.0 1754.4 -95.6 -40.8 arc gs col0 s gr % Arc n 1207.0 3300.0 667.7 -64.0 64.0 arc gs col0 s gr % Rotated Ellipse gs 3600 1500 tr -180.000 rot n 0 0 50 50 0 360 DrawEllipse 180.000 rot gs col7 0.00 shd ef gr gs col0 s gr gr % Polyline n 4200 3300 m 3000 3300 l gs col0 s gr % Polyline n 5400 3600 m 6600 3600 l gs col0 s gr % Polyline n 1800 3600 m 600 3600 l gs col0 s gr % Polyline n 5400 3000 m 6000 3000 l 6000 2400 l 3900 2400 l 3600 1500 l 3300 2400 l 1200 2400 l 1200 3000 l 1800 3000 l gs col0 s gr % Polyline n 3600 1500 m 3600 600 l gs col0 s gr /Times-Roman ff 450.00 scf sf 5100 3450 m gs 1 -1 sc 90.0 rot (H) col0 sh gr /Times-Roman ff 450.00 scf sf 2100 3150 m gs 1 -1 sc 270.0 rot (H) col0 sh gr /Times-Roman ff 180.00 scf sf 750 3825 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 6375 3825 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 3750 825 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 3975 3525 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 975 3075 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 3150 3525 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 180.00 scf sf 6150 3075 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 180.00 scf sf 3225 1950 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 180.00 scf sf 3900 1950 m gs 1 -1 sc (x) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 827 1928 a Fl(Figure)27 b(6:)36 b(mac)n(hine)27 b(with)i(one)e(SPLIT)g(and)g(t)n(w)n(o)g(HALF-OR)h(gates.)515 2193 y(a)k(line)i(is)f(dra)n(wn)f(indicating)h(the)h(input)f(on)g(whic) n(h)g(the)h(output)g(is)f(dep)r(enden)n(t.)54 b(All)33 b(7)515 2293 y(states)28 b(of)g(the)g(OR)g(gate)g(can)g(b)r(e)g(ac)n (hiev)n(ed)f(as)h(part)g(of)g(states)g(of)g(the)g(mac)n(hine,)g(and)g (all)515 2392 y(9)33 b(transitions)h(are)f(p)r(ossible)g(as)h(a)f (sequence)h(of)g(mac)n(hine)g(transitions.)55 b(F)-7 b(or)33 b(example,)515 2492 y(from)24 b(the)h(middle)g(top)g(state,)g (w)n(e)f(can)g(\015ip)h(edge)f Fi(z)t(z)j Fl(t)n(wice)e(to)f(mak)n(e)g (the)h(left)g(HALF-OR)515 2591 y(dep)r(enden)n(t)36 b(on)f Fi(x)i Fl(instead)e(of)h(on)f Fi(y)s Fl(,)i(allo)n(wing)e(us)g(to)h (\015ip)g Fi(y)s(y)s Fl(,)h(and)e(next)h(\015ipping)g Fi(xx)515 2691 y Fl(yields)27 b(the)h(mac)n(hine)f(state)h(at)f(the)h (middle)g(left.)639 2791 y(Mac)n(hines)34 b(th)n(us)g(allo)n(w)f(us)h (to)g(comp)r(ose)f(new)h(gate)g(t)n(yp)r(es)g(from)g(other)f(ones.)56 b(The)515 2890 y(fact)25 b(that)g(2)f(HALF-ORs)h(and)g(a)f(SPLIT)g(mak) n(e)g(an)h(OR)g(w)n(as)e(\014rst)i(noticed)g(in)g(an)g(earlier)515 2990 y(v)n(ersion)32 b(of)h(this)h(pap)r(er,)g(and)f(o)r(ccurs)g(in)g ([3])g(as)g(Lemma)g(5.)54 b(Their)33 b(con)n(v)n(en)n(tion)f(ab)r(out) 515 3090 y(edge)e(orien)n(tation)f(is)h(the)h(opp)r(osite)f(of)g(ours)f (though;)j(a)e(directed)g(edge)g Fi(s)d Fg(!)h Fi(t)i Fl(in)h(their)515 3189 y(pap)r(er)23 b(means)f(that)i(the)g(wire)e (from)h(output)h Fi(s)f Fl(to)g(input)i Fi(t)e Fl(is)g(activ)n(e,)g (while)h(in)f(our)g(mo)r(del)515 3289 y(it)j(means)g(that)g(cars)e(ha)n (v)n(e)h(mo)n(v)n(ed)g(out)h(at)g Fi(a)g Fl(and)f(in)i(at)e Fi(t)p Fl(,)i(whic)n(h,)f(considered)f(as)g(a)h(wire)515 3388 y(from)h(output)h Fi(s)g Fl(to)f(input)i Fi(t)p Fl(,)e(is)h(inactiv)n(e.)639 3488 y(The)d(main)f(result)g(of)h([3)o(])g (is)f(that)h(Nondeterministic)g(Constrain)n(t)e(Logic,)h(in)h(particu-) 515 3588 y(lar)g(the)i(question)f(of)h(whether)f(one)g(mac)n(hine)g (state)h(can)f(c)n(hange)f(in)n(to)h(another)g(through)515 3687 y(a)j(series)g(of)g(edge)h(\015ips,)g(is)g(PSP)-7 b(A)n(CE)28 b(complete.)43 b(They)30 b(ev)n(en)f(strengthen)h(this)g (to)f(hold)515 3787 y(for)23 b(ternary)f(\(degree)h(3\))g(planar)g(mac) n(hines,)h(b)n(y)f(sho)n(wing)f(ho)n(w)h(a)g(CR)n(OSSO)n(VER,)g(essen-) 515 3887 y(tially)k(a)g(cross)f(pro)r(duct)h(of)h(t)n(w)n(o)e(WIREs)h (as)g(em)n(b)r(edded)h(in)g(a)f(plane,)g(can)g(b)r(e)h(comp)r(osed)515 3986 y(of)f(ANDs)i(and)e(ORs.)639 4086 y(This)g(general)f(result)g (allo)n(ws)g(them)h(to)g(giv)n(e)f(an)g(alternativ)n(e)g(pro)r(of)g(to) h(the)g([2)o(])g(result)515 4185 y(that)j(Rush)h(Hour)f(is)g(PSP)-7 b(A)n(CE)29 b(complete.)44 b(They)31 b(exhibit)f(7x7)g(blo)r(c)n(ks)f (corresp)r(onding)515 4285 y(to)c(gate)g(t)n(yp)r(es)g(AND)h(and)g (HALF-OR,)f(and)g(then)h(put)g(5x5)e(of)i(these)f(together)g(to)g(mak)n (e)515 4385 y(sup)r(erblo)r(c)n(ks)30 b(for)h(AND,)h(HALF-OR,)f (straigh)n(t)g(wire,)g(and)g(turning)g(wire,)h(from)f(whic)n(h)515 4484 y(arbitrary)25 b(ternary)i(planar)f(mac)n(hines)h(ma)n(y)g(b)r(e)h (built.)515 4759 y Fm(4)134 b(Size)46 b(2)f(Rush)f(Hour)515 4941 y Fl(In)28 b(this)f(section)h(w)n(e)f(sho)n(w)g(our)f(main)i (result)f(that)1926 5255 y(6)p eop %%Page: 7 7 7 6 bop 515 1918 a @beginspecial 0 @llx 0 @lly 1298 @urx 812 @ury 2834 @rwi @setspecial %%BeginDocument: orcompose.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: orcompose.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Mon Jan 27 16:41:10 2003 %%For: tromp@serpens.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 1298 812 %%Magnification: 1.0000 %%EndComments /$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 newpath 0 812 moveto 0 0 lineto 1298 0 lineto 1298 812 lineto closepath clip newpath -17.3 828.7 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 0.06000 0.06000 sc % % Fig objects follow % % Arc 7.500 slw n 13028.0 14046.0 1754.5 -84.4 -139.2 arcn gs col0 s gr % Arc n 13028.0 11754.0 1754.5 84.4 139.2 arc gs col0 s gr % Arc n 13492.0 12900.0 667.3 116.0 -116.0 arc gs col0 s gr % Arc n 9171.0 11754.0 1754.4 95.6 40.8 arcn gs col0 s gr % Arc n 9171.0 14046.0 1754.4 -95.6 -40.8 arc gs col0 s gr % Arc n 8707.0 12900.0 667.7 -64.0 64.0 arc gs col0 s gr % Arc n 13028.0 9246.0 1754.5 -84.4 -139.2 arcn gs col0 s gr % Arc n 13028.0 6954.0 1754.5 84.4 139.2 arc gs col0 s gr % Arc n 13492.0 8100.0 667.3 116.0 -116.0 arc gs col0 s gr % Arc n 9171.0 6954.0 1754.4 95.6 40.8 arcn gs col0 s gr % Arc n 9171.0 9246.0 1754.4 -95.6 -40.8 arc gs col0 s gr % Arc n 8707.0 8100.0 667.7 -64.0 64.0 arc gs col0 s gr % Arc n 20528.0 9246.0 1754.5 -84.4 -139.2 arcn gs col0 s gr % Arc n 20528.0 6954.0 1754.5 84.4 139.2 arc gs col0 s gr % Arc n 20992.0 8100.0 667.3 116.0 -116.0 arc gs col0 s gr % Arc n 16671.0 6954.0 1754.4 95.6 40.8 arcn gs col0 s gr % Arc n 16671.0 9246.0 1754.4 -95.6 -40.8 arc gs col0 s gr % Arc n 16207.0 8100.0 667.7 -64.0 64.0 arc gs col0 s gr % Arc n 20528.0 4446.0 1754.5 -84.4 -139.2 arcn gs col0 s gr % Arc n 20528.0 2154.0 1754.5 84.4 139.2 arc gs col0 s gr % Arc n 20992.0 3300.0 667.3 116.0 -116.0 arc gs col0 s gr % Arc n 16671.0 2154.0 1754.4 95.6 40.8 arcn gs col0 s gr % Arc n 16671.0 4446.0 1754.4 -95.6 -40.8 arc gs col0 s gr % Arc n 16207.0 3300.0 667.7 -64.0 64.0 arc gs col0 s gr % Arc n 13028.0 4446.0 1754.5 -84.4 -139.2 arcn gs col0 s gr % Arc n 13028.0 2154.0 1754.5 84.4 139.2 arc gs col0 s gr % Arc n 13492.0 3300.0 667.3 116.0 -116.0 arc gs col0 s gr % Arc n 9171.0 2154.0 1754.4 95.6 40.8 arcn gs col0 s gr % Arc n 9171.0 4446.0 1754.4 -95.6 -40.8 arc gs col0 s gr % Arc n 8707.0 3300.0 667.7 -64.0 64.0 arc gs col0 s gr % Arc n 5528.0 9246.0 1754.5 -84.4 -139.2 arcn gs col0 s gr % Arc n 5528.0 6954.0 1754.5 84.4 139.2 arc gs col0 s gr % Arc n 5992.0 8100.0 667.3 116.0 -116.0 arc gs col0 s gr % Arc n 1671.0 6954.0 1754.4 95.6 40.8 arcn gs col0 s gr % Arc n 1671.0 9246.0 1754.4 -95.6 -40.8 arc gs col0 s gr % Arc n 1207.0 8100.0 667.7 -64.0 64.0 arc gs col0 s gr % Arc n 5528.0 14046.0 1754.5 -84.4 -139.2 arcn gs col0 s gr % Arc n 5528.0 11754.0 1754.5 84.4 139.2 arc gs col0 s gr % Arc n 5992.0 12900.0 667.3 116.0 -116.0 arc gs col0 s gr % Arc n 1671.0 11754.0 1754.4 95.6 40.8 arcn gs col0 s gr % Arc n 1671.0 14046.0 1754.4 -95.6 -40.8 arc gs col0 s gr % Arc n 1207.0 12900.0 667.7 -64.0 64.0 arc gs col0 s gr % Polyline n 12900 12600 m 13500 12600 l 13500 12000 l gs col0 s gr % Polyline n 11400 12000 m 11100 11100 l 10800 12000 l gs col0 s gr % Polyline n 8700 12000 m 8700 12600 l 9300 12600 l gs col0 s gr % Polyline n 11696 12900 m 11704 12900 l gs col0 s gr % Polyline n 10496 12900 m 10504 12900 l gs col0 s gr % Polyline gs clippath 12315 12060 m 12315 11940 l 12171 11940 l 12291 12000 l 12171 12060 l cp eoclip n 11400 12000 m 12300 12000 l gs col0 s gr gr % arrowhead n 12171 12060 m 12291 12000 l 12171 11940 l col0 s % Polyline gs clippath 9885 11940 m 9885 12060 l 10029 12060 l 9909 12000 l 10029 11940 l cp eoclip n 10800 12000 m 9900 12000 l gs col0 s gr gr % arrowhead n 10029 11940 m 9909 12000 l 10029 12060 l col0 s % Polyline gs clippath 11115 12960 m 11115 12840 l 10971 12840 l 11091 12900 l 10971 12960 l cp eoclip n 10500 12900 m 11100 12900 l gs col0 s gr gr % arrowhead n 10971 12960 m 11091 12900 l 10971 12840 l col0 s % Polyline n 8700 12000 m 9900 12000 l gs col0 s gr % Polyline n 13500 12000 m 12300 12000 l gs col0 s gr % Polyline n 11700 12900 m 11100 12900 l gs col0 s gr % Polyline gs clippath 11040 11115 m 11160 11115 l 11160 10971 l 11100 11091 l 11040 10971 l cp eoclip n 11100 11100 m 11100 10200 l gs col0 s gr gr % arrowhead n 11040 10971 m 11100 11091 l 11160 10971 l col0 s % Polyline gs clippath 9315 13260 m 9315 13140 l 9171 13140 l 9291 13200 l 9171 13260 l cp eoclip n 9300 13200 m 8100 13200 l gs col0 s gr gr % arrowhead n 9171 13260 m 9291 13200 l 9171 13140 l col0 s % Polyline gs clippath 14115 13260 m 14115 13140 l 13971 13140 l 14091 13200 l 13971 13260 l cp eoclip n 12900 13200 m 14100 13200 l gs col0 s gr gr % arrowhead n 13971 13260 m 14091 13200 l 13971 13140 l col0 s % Polyline n 7905 9900 m 7800 9900 7800 13695 105 arcto 4 {pop} repeat 7800 13800 14295 13800 105 arcto 4 {pop} repeat 14400 13800 14400 10005 105 arcto 4 {pop} repeat 14400 9900 7905 9900 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 12900 7800 m 13500 7800 l 13500 7200 l gs col0 s gr % Polyline n 11400 7200 m 11100 6300 l 10800 7200 l gs col0 s gr % Polyline n 8700 7200 m 8700 7800 l 9300 7800 l gs col0 s gr % Polyline n 11696 8100 m 11704 8100 l gs col0 s gr % Polyline n 10496 8100 m 10504 8100 l gs col0 s gr % Polyline n 11400 7200 m 12300 7200 l gs col0 s gr % Polyline n 10800 7200 m 9900 7200 l gs col0 s gr % Polyline gs clippath 11115 8160 m 11115 8040 l 10971 8040 l 11091 8100 l 10971 8160 l cp eoclip n 10500 8100 m 11100 8100 l gs col0 s gr gr % arrowhead n 10971 8160 m 11091 8100 l 10971 8040 l col0 s % Polyline n 11700 8100 m 11100 8100 l gs col0 s gr % Polyline gs clippath 11160 5385 m 11040 5385 l 11040 5529 l 11100 5409 l 11160 5529 l cp eoclip n 11100 6300 m 11100 5400 l gs col0 s gr gr % arrowhead n 11160 5529 m 11100 5409 l 11040 5529 l col0 s % Polyline gs clippath 8085 8340 m 8085 8460 l 8229 8460 l 8109 8400 l 8229 8340 l cp eoclip n 9300 8400 m 8100 8400 l gs col0 s gr gr % arrowhead n 8229 8340 m 8109 8400 l 8229 8460 l col0 s % Polyline gs clippath 14115 8460 m 14115 8340 l 13971 8340 l 14091 8400 l 13971 8460 l cp eoclip n 12900 8400 m 14100 8400 l gs col0 s gr gr % arrowhead n 13971 8460 m 14091 8400 l 13971 8340 l col0 s % Polyline n 7905 5100 m 7800 5100 7800 8895 105 arcto 4 {pop} repeat 7800 9000 14295 9000 105 arcto 4 {pop} repeat 14400 9000 14400 5205 105 arcto 4 {pop} repeat 14400 5100 7905 5100 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 20400 7800 m 21000 7800 l 21000 7200 l gs col0 s gr % Polyline n 18900 7200 m 18600 6300 l 18300 7200 l gs col0 s gr % Polyline n 16200 7200 m 16200 7800 l 16800 7800 l gs col0 s gr % Polyline n 19196 8100 m 19204 8100 l gs col0 s gr % Polyline n 17996 8100 m 18004 8100 l gs col0 s gr % Polyline n 18900 7200 m 19800 7200 l gs col0 s gr % Polyline n 18300 7200 m 17400 7200 l gs col0 s gr % Polyline gs clippath 18615 8160 m 18615 8040 l 18471 8040 l 18591 8100 l 18471 8160 l cp eoclip n 18000 8100 m 18600 8100 l gs col0 s gr gr % arrowhead n 18471 8160 m 18591 8100 l 18471 8040 l col0 s % Polyline gs clippath 17415 7260 m 17415 7140 l 17271 7140 l 17391 7200 l 17271 7260 l cp eoclip n 16200 7200 m 17400 7200 l gs col0 s gr gr % arrowhead n 17271 7260 m 17391 7200 l 17271 7140 l col0 s % Polyline gs clippath 19785 7140 m 19785 7260 l 19929 7260 l 19809 7200 l 19929 7140 l cp eoclip n 21000 7200 m 19800 7200 l gs col0 s gr gr % arrowhead n 19929 7140 m 19809 7200 l 19929 7260 l col0 s % Polyline n 19200 8100 m 18600 8100 l gs col0 s gr % Polyline gs clippath 18660 5385 m 18540 5385 l 18540 5529 l 18600 5409 l 18660 5529 l cp eoclip n 18600 6300 m 18600 5400 l gs col0 s gr gr % arrowhead n 18660 5529 m 18600 5409 l 18540 5529 l col0 s % Polyline gs clippath 16815 8460 m 16815 8340 l 16671 8340 l 16791 8400 l 16671 8460 l cp eoclip n 16800 8400 m 15600 8400 l gs col0 s gr gr % arrowhead n 16671 8460 m 16791 8400 l 16671 8340 l col0 s % Polyline gs clippath 21615 8460 m 21615 8340 l 21471 8340 l 21591 8400 l 21471 8460 l cp eoclip n 20400 8400 m 21600 8400 l gs col0 s gr gr % arrowhead n 21471 8460 m 21591 8400 l 21471 8340 l col0 s % Polyline n 15405 5100 m 15300 5100 15300 8895 105 arcto 4 {pop} repeat 15300 9000 21795 9000 105 arcto 4 {pop} repeat 21900 9000 21900 5205 105 arcto 4 {pop} repeat 21900 5100 15405 5100 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 20400 3000 m 21000 3000 l 21000 2400 l gs col0 s gr % Polyline n 18900 2400 m 18600 1500 l 18300 2400 l gs col0 s gr % Polyline n 16200 2400 m 16200 3000 l 16800 3000 l gs col0 s gr % Polyline n 19196 3300 m 19204 3300 l gs col0 s gr % Polyline n 17996 3300 m 18004 3300 l gs col0 s gr % Polyline n 18900 2400 m 19800 2400 l gs col0 s gr % Polyline n 18300 2400 m 17400 2400 l gs col0 s gr % Polyline gs clippath 18615 3360 m 18615 3240 l 18471 3240 l 18591 3300 l 18471 3360 l cp eoclip n 18000 3300 m 18600 3300 l gs col0 s gr gr % arrowhead n 18471 3360 m 18591 3300 l 18471 3240 l col0 s % Polyline gs clippath 17415 2460 m 17415 2340 l 17271 2340 l 17391 2400 l 17271 2460 l cp eoclip n 16200 2400 m 17400 2400 l gs col0 s gr gr % arrowhead n 17271 2460 m 17391 2400 l 17271 2340 l col0 s % Polyline gs clippath 19785 2340 m 19785 2460 l 19929 2460 l 19809 2400 l 19929 2340 l cp eoclip n 21000 2400 m 19800 2400 l gs col0 s gr gr % arrowhead n 19929 2340 m 19809 2400 l 19929 2460 l col0 s % Polyline n 19200 3300 m 18600 3300 l gs col0 s gr % Polyline gs clippath 18660 585 m 18540 585 l 18540 729 l 18600 609 l 18660 729 l cp eoclip n 18600 1500 m 18600 600 l gs col0 s gr gr % arrowhead n 18660 729 m 18600 609 l 18540 729 l col0 s % Polyline gs clippath 16815 3660 m 16815 3540 l 16671 3540 l 16791 3600 l 16671 3660 l cp eoclip n 16800 3600 m 15600 3600 l gs col0 s gr gr % arrowhead n 16671 3660 m 16791 3600 l 16671 3540 l col0 s % Polyline gs clippath 20385 3540 m 20385 3660 l 20529 3660 l 20409 3600 l 20529 3540 l cp eoclip n 20400 3600 m 21600 3600 l gs col0 s gr gr % arrowhead n 20529 3540 m 20409 3600 l 20529 3660 l col0 s % Polyline n 15405 300 m 15300 300 15300 4095 105 arcto 4 {pop} repeat 15300 4200 21795 4200 105 arcto 4 {pop} repeat 21900 4200 21900 405 105 arcto 4 {pop} repeat 21900 300 15405 300 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 12900 3000 m 13500 3000 l 13500 2400 l gs col0 s gr % Polyline n 11400 2400 m 11100 1500 l 10800 2400 l gs col0 s gr % Polyline n 8700 2400 m 8700 3000 l 9300 3000 l gs col0 s gr % Polyline n 11696 3300 m 11704 3300 l gs col0 s gr % Polyline n 10496 3300 m 10504 3300 l gs col0 s gr % Polyline n 11400 2400 m 12300 2400 l gs col0 s gr % Polyline n 10800 2400 m 9900 2400 l gs col0 s gr % Polyline n 10500 3300 m 11100 3300 l gs col0 s gr % Polyline gs clippath 11085 3240 m 11085 3360 l 11229 3360 l 11109 3300 l 11229 3240 l cp eoclip n 11700 3300 m 11100 3300 l gs col0 s gr gr % arrowhead n 11229 3240 m 11109 3300 l 11229 3360 l col0 s % Polyline gs clippath 8085 3540 m 8085 3660 l 8229 3660 l 8109 3600 l 8229 3540 l cp eoclip n 9300 3600 m 8100 3600 l gs col0 s gr gr % arrowhead n 8229 3540 m 8109 3600 l 8229 3660 l col0 s % Polyline n 7905 300 m 7800 300 7800 4095 105 arcto 4 {pop} repeat 7800 4200 14295 4200 105 arcto 4 {pop} repeat 14400 4200 14400 405 105 arcto 4 {pop} repeat 14400 300 7905 300 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 5400 7800 m 6000 7800 l 6000 7200 l gs col0 s gr % Polyline n 3900 7200 m 3600 6300 l 3300 7200 l gs col0 s gr % Polyline n 1200 7200 m 1200 7800 l 1800 7800 l gs col0 s gr % Polyline n 4196 8100 m 4204 8100 l gs col0 s gr % Polyline n 2996 8100 m 3004 8100 l gs col0 s gr % Polyline gs clippath 4815 7260 m 4815 7140 l 4671 7140 l 4791 7200 l 4671 7260 l cp eoclip n 3900 7200 m 4800 7200 l gs col0 s gr gr % arrowhead n 4671 7260 m 4791 7200 l 4671 7140 l col0 s % Polyline gs clippath 2385 7140 m 2385 7260 l 2529 7260 l 2409 7200 l 2529 7140 l cp eoclip n 3300 7200 m 2400 7200 l gs col0 s gr gr % arrowhead n 2529 7140 m 2409 7200 l 2529 7260 l col0 s % Polyline n 3000 8100 m 3600 8100 l gs col0 s gr % Polyline n 1200 7200 m 2400 7200 l gs col0 s gr % Polyline gs clippath 3585 8040 m 3585 8160 l 3729 8160 l 3609 8100 l 3729 8040 l cp eoclip n 4200 8100 m 3600 8100 l gs col0 s gr gr % arrowhead n 3729 8040 m 3609 8100 l 3729 8160 l col0 s % Polyline gs clippath 3540 6315 m 3660 6315 l 3660 6171 l 3600 6291 l 3540 6171 l cp eoclip n 3600 6300 m 3600 5400 l gs col0 s gr gr % arrowhead n 3540 6171 m 3600 6291 l 3660 6171 l col0 s % Polyline gs clippath 585 8340 m 585 8460 l 729 8460 l 609 8400 l 729 8340 l cp eoclip n 1800 8400 m 600 8400 l gs col0 s gr gr % arrowhead n 729 8340 m 609 8400 l 729 8460 l col0 s % Polyline gs clippath 5385 8340 m 5385 8460 l 5529 8460 l 5409 8400 l 5529 8340 l cp eoclip n 5400 8400 m 6600 8400 l gs col0 s gr gr % arrowhead n 5529 8340 m 5409 8400 l 5529 8460 l col0 s % Polyline n 405 5100 m 300 5100 300 8895 105 arcto 4 {pop} repeat 300 9000 6795 9000 105 arcto 4 {pop} repeat 6900 9000 6900 5205 105 arcto 4 {pop} repeat 6900 5100 405 5100 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 5400 12600 m 6000 12600 l 6000 12000 l gs col0 s gr % Polyline n 3900 12000 m 3600 11100 l 3300 12000 l gs col0 s gr % Polyline n 1200 12000 m 1200 12600 l 1800 12600 l gs col0 s gr % Polyline n 4196 12900 m 4204 12900 l gs col0 s gr % Polyline n 2996 12900 m 3004 12900 l gs col0 s gr % Polyline gs clippath 4815 12060 m 4815 11940 l 4671 11940 l 4791 12000 l 4671 12060 l cp eoclip n 3900 12000 m 4800 12000 l gs col0 s gr gr % arrowhead n 4671 12060 m 4791 12000 l 4671 11940 l col0 s % Polyline gs clippath 2385 11940 m 2385 12060 l 2529 12060 l 2409 12000 l 2529 11940 l cp eoclip n 3300 12000 m 2400 12000 l gs col0 s gr gr % arrowhead n 2529 11940 m 2409 12000 l 2529 12060 l col0 s % Polyline gs clippath 3615 12960 m 3615 12840 l 3471 12840 l 3591 12900 l 3471 12960 l cp eoclip n 3000 12900 m 3600 12900 l gs col0 s gr gr % arrowhead n 3471 12960 m 3591 12900 l 3471 12840 l col0 s % Polyline n 6000 12000 m 4800 12000 l gs col0 s gr % Polyline n 4200 12900 m 3600 12900 l gs col0 s gr % Polyline gs clippath 3540 11115 m 3660 11115 l 3660 10971 l 3600 11091 l 3540 10971 l cp eoclip n 3600 11100 m 3600 10200 l gs col0 s gr gr % arrowhead n 3540 10971 m 3600 11091 l 3660 10971 l col0 s % Polyline gs clippath 585 13140 m 585 13260 l 729 13260 l 609 13200 l 729 13140 l cp eoclip n 1800 13200 m 600 13200 l gs col0 s gr gr % arrowhead n 729 13140 m 609 13200 l 729 13260 l col0 s % Polyline gs clippath 6615 13260 m 6615 13140 l 6471 13140 l 6591 13200 l 6471 13260 l cp eoclip n 5400 13200 m 6600 13200 l gs col0 s gr gr % arrowhead n 6471 13260 m 6591 13200 l 6471 13140 l col0 s % Polyline n 405 9900 m 300 9900 300 13695 105 arcto 4 {pop} repeat 300 13800 6795 13800 105 arcto 4 {pop} repeat 6900 13800 6900 10005 105 arcto 4 {pop} repeat 6900 9900 405 9900 105 arcto 4 {pop} repeat cp gs col0 s gr % Polyline n 7800 9000 m 6900 9900 l gs col0 s gr % Polyline n 6900 12000 m 7800 12000 l gs col0 s gr % Polyline n 3600 9900 m 3600 9000 l gs col0 s gr % Polyline n 14400 7200 m 15300 7200 l gs col0 s gr % Polyline n 18600 5100 m 18600 4200 l gs col0 s gr % Polyline n 14400 2400 m 15300 2400 l gs col0 s gr % Polyline gs clippath 12285 7140 m 12285 7260 l 12429 7260 l 12309 7200 l 12429 7140 l cp eoclip n 13500 7200 m 12300 7200 l gs col0 s gr gr % arrowhead n 12429 7140 m 12309 7200 l 12429 7260 l col0 s % Polyline n 11100 5100 m 11100 4200 l gs col0 s gr % Polyline n 20400 7800 m 19200 8100 l gs col0 s gr % Polyline n 12900 7800 m 11700 8100 l gs col0 s gr % Polyline n 14400 12000 m 18600 9000 l gs col0 s gr % Polyline n 9300 3000 m 10500 3300 l gs col0 s gr % Polyline n 3600 5100 m 7800 2400 l gs col0 s gr % Polyline gs clippath 9915 7260 m 9915 7140 l 9771 7140 l 9891 7200 l 9771 7260 l cp eoclip n 8700 7200 m 9900 7200 l gs col0 s gr gr % arrowhead n 9771 7260 m 9891 7200 l 9771 7140 l col0 s % Polyline gs clippath 9915 2460 m 9915 2340 l 9771 2340 l 9891 2400 l 9771 2460 l cp eoclip n 8700 2400 m 9900 2400 l gs col0 s gr gr % arrowhead n 9771 2460 m 9891 2400 l 9771 2340 l col0 s % Polyline gs clippath 11160 585 m 11040 585 l 11040 729 l 11100 609 l 11160 729 l cp eoclip n 11100 1500 m 11100 600 l gs col0 s gr gr % arrowhead n 11160 729 m 11100 609 l 11040 729 l col0 s % Polyline gs clippath 12285 2340 m 12285 2460 l 12429 2460 l 12309 2400 l 12429 2340 l cp eoclip n 13500 2400 m 12300 2400 l gs col0 s gr gr % arrowhead n 12429 2340 m 12309 2400 l 12429 2460 l col0 s % Polyline gs clippath 12885 3540 m 12885 3660 l 13029 3660 l 12909 3600 l 13029 3540 l cp eoclip n 12900 3600 m 14100 3600 l gs col0 s gr gr % arrowhead n 13029 3540 m 12909 3600 l 13029 3660 l col0 s % Polyline n 6000 7200 m 4800 7200 l gs col0 s gr % Polyline n 1200 12000 m 2400 12000 l gs col0 s gr /Times-Roman ff 360.00 scf sf 3450 8550 m gs 1 -1 sc (zz) col0 sh gr /Times-Roman ff 360.00 scf sf 11250 1200 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 360.00 scf sf 13650 3900 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 360.00 scf sf 8400 3900 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 360.00 scf sf 10950 3750 m gs 1 -1 sc (zz) col0 sh gr /Times-Roman ff 360.00 scf sf 3750 5850 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 360.00 scf sf 900 8700 m gs 1 -1 sc (x) col0 sh gr /Times-Roman ff 360.00 scf sf 6000 8700 m gs 1 -1 sc (y) col0 sh gr /Times-Roman ff 360.00 scf sf 1650 7050 m gs 1 -1 sc (yy) col0 sh gr /Times-Roman ff 360.00 scf sf 5250 7050 m gs 1 -1 sc (xx) col0 sh gr /Times-Roman ff 360.00 scf sf 12750 2250 m gs 1 -1 sc (xx) col0 sh gr /Times-Roman ff 360.00 scf sf 9150 2250 m gs 1 -1 sc (yy) col0 sh gr /Times-Roman ff 360.00 scf sf 6600 2550 m gs 1 -1 sc (zz) col0 sh gr /Times-Roman ff 360.00 scf sf 3750 4350 m gs 1 -1 sc (z) col0 sh gr /Times-Roman ff 360.00 scf sf 5100 3450 m gs 1 -1 sc (yy) col0 sh gr /Times-Roman ff 360.00 scf sf 5850 3000 m gs 1 -1 sc (zz) col0 sh gr /Times-Roman ff 360.00 scf sf 4350 3900 m gs 1 -1 sc (xx) col0 sh gr $F2psEnd rs %%EndDocument @endspecial 858 2100 a Fl(Figure)27 b(7:)37 b(p)r(ossible)27 b(mac)n(hine)g(states)g(and)h(m)n(ulti-step)g(transitions)515 3343 y @beginspecial 0 @llx 0 @lly 627 @urx 299 @ury 2834 @rwi @setspecial %%BeginDocument: and1.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: and1.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Wed Jan 29 17:58:19 2003 %%For: tromp@serpens.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 627 299 %%Magnification: 1.0000 %%EndComments /MyAppDict 100 dict dup begin def /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 299 moveto 0 0 lineto 627 0 lineto 627 299 lineto closepath clip newpath -75.8 374.2 translate 1 -1 scale % This junk string is used by the show operators /PATsstr 1 string def /PATawidthshow { % cx cy cchar rx ry string % Loop over each character in the string { % cx cy cchar rx ry char % Show the character dup % cx cy cchar rx ry char char PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char) false charpath % cx cy cchar rx ry char /clip load PATdraw % Move past the character (charpath modified the % current point) currentpoint % cx cy cchar rx ry char x y newpath moveto % cx cy cchar rx ry char % Reposition by cx,cy if the character in the string is cchar 3 index eq { % cx cy cchar rx ry 4 index 4 index rmoveto } if % Reposition all characters by rx ry 2 copy rmoveto % cx cy cchar rx ry } forall pop pop pop pop pop % - currentpoint newpath moveto } bind def /PATcg { 7 dict dup begin /lw currentlinewidth def /lc currentlinecap def /lj currentlinejoin def /ml currentmiterlimit def /ds [ currentdash ] def /cc [ currentrgbcolor ] def /cm matrix currentmatrix def end } bind def % PATdraw - calculates the boundaries of the object and % fills it with the current pattern /PATdraw { % proc save exch PATpcalc % proc nw nh px py 5 -1 roll exec % nw nh px py newpath PATfill % - restore } bind def % PATfill - performs the tiling for the shape /PATfill { % nw nh px py PATfill - PATDict /CurrentPattern get dup begin setfont % Set the coordinate system to Pattern Space PatternGState PATsg % Set the color for uncolored pattezns PaintType 2 eq { PATDict /PColor get PATsc } if % Create the string for showing 3 index string % nw nh px py str % Loop for each of the pattern sources 0 1 Multi 1 sub { % nw nh px py str source % Move to the starting location 3 index 3 index % nw nh px py str source px py moveto % nw nh px py str source % For multiple sources, set the appropriate color Multi 1 ne { dup PC exch get PATsc } if % Set the appropriate string for the source 0 1 7 index 1 sub { 2 index exch 2 index put } for pop % Loop over the number of vertical cells 3 index % nw nh px py str nh { % nw nh px py str currentpoint % nw nh px py str cx cy 2 index oldshow % nw nh px py str cx cy YStep add moveto % nw nh px py str } repeat % nw nh px py str } for 5 { pop } repeat end } bind def % PATkshow - kshow with the current pattezn /PATkshow { % proc string exch bind % string proc 1 index 0 get % string proc char % Loop over all but the last character in the string 0 1 4 index length 2 sub { % string proc char idx % Find the n+1th character in the string 3 index exch 1 add get % string proe char char+1 exch 2 copy % strinq proc char+1 char char+1 char % Now show the nth character PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr) false charpath % string proc char+1 char char+1 /clip load PATdraw % Move past the character (charpath modified the current point) currentpoint newpath moveto % Execute the user proc (should consume char and char+1) mark 3 1 roll % string proc char+1 mark char char+1 4 index exec % string proc char+1 mark... cleartomark % string proc char+1 } for % Now display the last character PATsstr dup 0 4 -1 roll put % string proc (char+1) false charpath % string proc /clip load PATdraw neewath pop pop % - } bind def % PATmp - the makepattern equivalent /PATmp { % patdict patmtx PATmp patinstance exch dup length 7 add % We will add 6 new entries plus 1 FID dict copy % Create a new dictionary begin % Matrix to install when painting the pattern TilingType PATtcalc /PatternGState PATcg def PatternGState /cm 3 -1 roll put % Check for multi pattern sources (Level 1 fast color patterns) currentdict /Multi known not { /Multi 1 def } if % Font dictionary definitions /FontType 3 def % Create a dummy encoding vector /Encoding 256 array def 3 string 0 1 255 { Encoding exch dup 3 index cvs cvn put } for pop /FontMatrix matrix def /FontBBox BBox def /BuildChar { mark 3 1 roll % mark dict char exch begin Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata] PaintType 2 eq Multi 1 ne or { XStep 0 FontBBox aload pop setcachedevice } { XStep 0 setcharwidth } ifelse currentdict % mark [paintdata] dict /PaintProc load % mark [paintdata] dict paintproc end gsave false PATredef exec true PATredef grestore cleartomark % - } bind def currentdict end % newdict /foo exch % /foo newlict definefont % newfont } bind def % PATpcalc - calculates the starting point and width/height % of the tile fill for the shape /PATpcalc { % - PATpcalc nw nh px py PATDict /CurrentPattern get begin gsave % Set up the coordinate system to Pattern Space % and lock down pattern PatternGState /cm get setmatrix BBox aload pop pop pop translate % Determine the bounding box of the shape pathbbox % llx lly urx ury grestore % Determine (nw, nh) the # of cells to paint width and height PatHeight div ceiling % llx lly urx qh 4 1 roll % qh llx lly urx PatWidth div ceiling % qh llx lly qw 4 1 roll % qw qh llx lly PatHeight div floor % qw qh llx ph 4 1 roll % ph qw qh llx PatWidth div floor % ph qw qh pw 4 1 roll % pw ph qw qh 2 index sub cvi abs % pw ph qs qh-ph exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph % Determine the starting point of the pattern fill %(px, py) 4 2 roll % nw nh pw ph PatHeight mul % nw nh pw py exch % nw nh py pw PatWidth mul exch % nw nh px py end } bind def % Save the original routines so that we can use them later on /oldfill /fill load def /oldeofill /eofill load def /oldstroke /stroke load def /oldshow /show load def /oldashow /ashow load def /oldwidthshow /widthshow load def /oldawidthshow /awidthshow load def /oldkshow /kshow load def % These defs are necessary so that subsequent procs don't bind in % the originals /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def /PATredef { MyAppDict begin { /fill { /clip load PATdraw newpath } bind def /eofill { /eoclip load PATdraw newpath } bind def /stroke { PATstroke } bind def /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def /ashow { 0 0 null 6 3 roll PATawidthshow } bind def /widthshow { 0 0 3 -1 roll PATawidthshow } bind def /awidthshow { PATawidthshow } bind def /kshow { PATkshow } bind def } { /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def } ifelse end } bind def false PATredef % Conditionally define setcmykcolor if not available /setcmykcolor where { pop } { /setcmykcolor { 1 sub 4 1 roll 3 { 3 index add neg dup 0 lt { pop 0 } if 3 1 roll } repeat setrgbcolor - pop } bind def } ifelse /PATsc { % colorarray aload length % c1 ... cn length dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor } ifelse } ifelse } bind def /PATsg { % dict begin lw setlinewidth lc setlinecap lj setlinejoin ml setmiterlimit ds aload pop setdash cc aload pop setrgbcolor cm setmatrix end } bind def /PATDict 3 dict def /PATsp { true PATredef PATDict begin /CurrentPattern exch def % If it's an uncolored pattern, save the color CurrentPattern /PaintType get 2 eq { /PColor exch def } if /CColor [ currentrgbcolor ] def end } bind def % PATstroke - stroke with the current pattern /PATstroke { countdictstack save mark { currentpoint strokepath moveto PATpcalc % proc nw nh px py clip newpath PATfill } stopped { (*** PATstroke Warning: Path is too complex, stroking with gray) = cleartomark restore countdictstack exch sub dup 0 gt { { end } repeat } { pop } ifelse gsave 0.5 setgray oldstroke grestore } { pop restore pop } ifelse newpath } bind def /PATtcalc { % modmtx tilingtype PATtcalc tilematrix % Note: tiling types 2 and 3 are not supported gsave exch concat % tilingtype matrix currentmatrix exch % cmtx tilingtype % Tiling type 1 and 3: constant spacing 2 ne { % Distort the pattern so that it occupies % an integral number of device pixels dup 4 get exch dup 5 get exch % tx ty cmtx XStep 0 dtransform round exch round exch % tx ty cmtx dx.x dx.y XStep div exch XStep div exch % tx ty cmtx a b 0 YStep dtransform round exch round exch % tx ty cmtx a b dy.x dy.y YStep div exch YStep div exch % tx ty cmtx a b c d 7 -3 roll astore % { a b c d tx ty } } if grestore } bind def /PATusp { false PATredef PATDict begin CColor PATsc end } bind def % this is the pattern fill program from the Second edition Reference Manual % with changes to call the above pattern fill % left30 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 32 16 true [ 32 0 0 -16 0 16 ] {} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P1 exch def /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 0.06000 0.06000 sc % % Fig objects follow % % Arc 7.500 slw n 9304.2 4354.2 304.2 -179.2 13.5 arc gs col0 s gr % Arc n 9600.0 3150.0 300.0 180.0 0.0 arcn gs col0 s gr % Polyline n 7200 1500 m 11700 1500 l 11700 6000 l 7200 6000 l cp gs col0 s gr % Polyline n 9450 6000 m 9450 4650 l gs col0 s gr % Polyline 1 slj n 7200 3750 m 7650 3750 l 7650 4950 l 9150 4950 l 9150 4650 l gs col0 s gr % Polyline n 9000 4350 m 9000 4650 l 9600 4650 l 9600 4350 l gs col0 s gr % Polyline n 11700 3750 m 11250 3750 l 11250 2550 l 9750 2550 l 9750 2850 l gs col0 s gr % Polyline n 9450 1500 m 9450 2850 l gs col0 s gr % Polyline n 9900 3150 m 9900 2850 l 9300 2850 l 9300 3150 l gs col0 s gr % Polyline n 9300 4050 m 9600 3450 l gs col0 s gr % Polyline 0 slj n 1575 4425 m 1575 3975 l 1725 3975 l 1725 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 1725 m 3825 1725 l 3825 1275 l 3675 1275 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 85.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5925 3975 m 5925 4425 l 5775 4425 l 5775 3975 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 4575 m 5925 5025 l 5775 5025 l 5775 4575 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 5175 m 5925 5625 l 5775 5625 l 5775 5175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6225 5925 m 5775 5925 l 5775 5775 l 6225 5775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5625 5925 m 5175 5925 l 5175 5775 l 5625 5775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 5925 m 3825 5925 l 3825 5475 l 3675 5475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4575 5775 m 5025 5775 l 5025 5925 l 4575 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 5775 m 4425 5775 l 4425 5925 l 3975 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 5775 m 3525 5775 l 3525 5925 l 3075 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 1575 m 4425 1575 l 4425 1725 l 3975 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 1575 m 5025 1575 l 5025 1725 l 4575 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 1575 m 5625 1575 l 5625 1725 l 5175 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 1275 m 5925 1725 l 5775 1725 l 5775 1275 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 1875 m 5925 2325 l 5775 2325 l 5775 1875 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 2925 m 5775 2475 l 5925 2475 l 5925 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 3525 m 5775 3075 l 5925 3075 l 5925 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 1575 m 3525 1575 l 3525 1725 l 3075 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 1575 m 2925 1575 l 2925 1725 l 2475 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 1575 m 2325 1575 l 2325 1725 l 1875 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1275 1575 m 1725 1575 l 1725 1725 l 1275 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 2325 m 1575 1875 l 1725 1875 l 1725 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 2925 m 1575 2475 l 1725 2475 l 1725 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 3525 m 1575 3075 l 1725 3075 l 1725 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 5775 m 2325 5775 l 2325 5925 l 1875 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 5625 m 1575 5175 l 1725 5175 l 1725 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 6225 m 1575 5775 l 1725 5775 l 1725 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 5775 m 3825 5775 l 3825 5925 l 3675 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 1575 m 3825 1575 l 3825 1725 l 3675 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2025 3825 m 2025 3675 l 1575 3675 l 1575 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 105.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 1575 3675 m 1725 3675 l 1725 3825 l 1575 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 5775 m 2925 5775 l 2925 5925 l 2475 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1725 4575 m 1725 5025 l 1575 5025 l 1575 4575 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3525 5625 m 3525 5475 l 3075 5475 l 3075 5625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 205.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 1875 4425 m 2025 4425 l 2025 3975 l 1875 3975 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 125.00 265.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 1875 3975 m 2025 3975 l 2025 4125 l 1875 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 5175 m 4125 5175 l 4125 5325 l 3675 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6225 3825 m 6225 3675 l 5775 3675 l 5775 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 385.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5775 3675 m 5925 3675 l 5925 3825 l 5775 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 3825 m 5625 3825 l 5625 3375 l 5475 3375 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 365.00 225.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3825 2025 m 3825 1875 l 3375 1875 l 3375 2025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 225.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5475 3375 m 5625 3375 l 5625 3525 l 5475 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 3525 m 3825 3525 l 3825 3075 l 3675 3075 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 205.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 3375 m 3825 3375 l 3825 3525 l 3675 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 4125 m 3825 4125 l 3825 3675 l 3675 3675 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 3975 m 3825 3975 l 3825 4125 l 3675 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 2325 m 4125 2325 l 4125 1875 l 3975 1875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 265.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3975 2175 m 4125 2175 l 4125 2325 l 3975 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 5325 m 3525 5325 l 3525 4875 l 3375 4875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 225.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3375 5175 m 3525 5175 l 3525 5325 l 3375 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 3225 m 5625 3225 l 5625 2775 l 5475 2775 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 365.00 185.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3975 3375 m 4425 3375 l 4425 3525 l 3975 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 2775 m 5625 2775 l 5625 2925 l 5475 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 3975 m 5625 3975 l 5625 4125 l 5175 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4425 2625 m 4425 2475 l 3975 2475 l 3975 2625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 265.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 2925 m 3825 2925 l 3825 2475 l 3675 2475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 2775 m 3825 2775 l 3825 2925 l 3675 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5025 2625 m 5025 2475 l 4575 2475 l 4575 2625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 305.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4575 2325 m 4575 1875 l 4725 1875 l 4725 2325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3975 3225 m 3975 2775 l 4125 2775 l 4125 3225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3975 2775 m 4125 2775 l 4125 2925 l 3975 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 3075 m 5325 3075 l 5325 3225 l 4875 3225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 5175 3825 m 5175 3375 l 5325 3375 l 5325 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 3075 m 5325 3075 l 5325 3225 l 5175 3225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 3675 m 4425 3675 l 4425 3825 l 3975 3825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 2775 m 4725 2775 l 4725 2925 l 4275 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 2775 m 5325 2775 l 5325 2925 l 4875 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 3525 m 4575 3075 l 4725 3075 l 4725 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 3675 m 4125 3675 l 4125 3825 l 3975 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 2175 m 4725 2175 l 4725 2325 l 4575 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 5025 m 2025 5025 l 2025 4575 l 1875 4575 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 125.00 305.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3225 5025 m 3225 4875 l 2775 4875 l 2775 5025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 185.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 4725 m 3825 4725 l 3825 4275 l 3675 4275 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 285.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4125 5025 m 4125 4875 l 3675 4875 l 3675 5025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2775 5625 m 2775 5175 l 2925 5175 l 2925 5625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2175 4575 m 2625 4575 l 2625 4725 l 2175 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 4575 m 3225 4575 l 3225 4725 l 2775 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 4725 m 3375 4275 l 3525 4275 l 3525 4725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 3975 m 3525 3975 l 3525 4125 l 3075 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 4425 m 2775 3975 l 2925 3975 l 2925 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 3375 m 2325 3375 l 2325 3525 l 1875 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 3375 m 2925 3375 l 2925 3525 l 2475 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 4125 m 2175 3675 l 2325 3675 l 2325 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 4275 m 2625 4275 l 2625 4425 l 2175 4425 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2175 4275 m 2325 4275 l 2325 4425 l 2175 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 3675 m 5025 3675 l 5025 3825 l 4575 3825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4575 3675 m 4725 3675 l 4725 3825 l 4575 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 3675 m 2925 3675 l 2925 3825 l 2475 3825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 3675 m 3525 3675 l 3525 3825 l 3075 3825 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2775 3675 m 2925 3675 l 2925 3825 l 2775 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 3675 m 3525 3675 l 3525 3825 l 3375 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 4575 m 3825 4575 l 3825 4725 l 3675 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 5175 m 2925 5175 l 2925 5325 l 2775 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 2175 m 3825 2175 l 3825 2325 l 3375 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 4575 m 2025 4575 l 2025 4725 l 1875 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 4575 m 3525 4575 l 3525 4725 l 3375 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 3975 m 5025 3975 l 5025 4125 l 4575 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 5475 m 5625 5475 l 5625 5625 l 5175 5625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 5625 m 4275 5175 l 4425 5175 l 4425 5625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 2925 m 3075 2475 l 3225 2475 l 3225 2925 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 2325 m 3075 1875 l 3225 1875 l 3225 2325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 1875 1875 m 2325 1875 l 2325 2025 l 1875 2025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2475 1875 m 2925 1875 l 2925 2025 l 2475 2025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2175 1875 m 2325 1875 l 2325 2025 l 2175 2025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 1875 m 2925 1875 l 2925 2025 l 2775 2025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 2175 m 3225 2175 l 3225 2325 l 3075 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 2775 m 3225 2775 l 3225 2925 l 3075 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2625 5025 m 2625 4875 l 2175 4875 l 2175 5025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 145.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 1875 5625 m 1875 5175 l 2025 5175 l 2025 5625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 1875 5175 m 2025 5175 l 2025 5325 l 1875 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 2325 m 5475 1875 l 5625 1875 l 5625 2325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 5625 2625 m 5625 2475 l 5175 2475 l 5175 2625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 345.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5475 2175 m 5625 2175 l 5625 2325 l 5475 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 3525 m 3075 3075 l 3225 3075 l 3225 3525 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 3375 m 3225 3375 l 3225 3525 l 3075 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 4425 m 4275 3975 l 4425 3975 l 4425 4425 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 3975 m 4425 3975 l 4425 4125 l 4275 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 5475 m 5025 5475 l 5025 5625 l 4575 5625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 5025 m 4275 4575 l 4425 4575 l 4425 5025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 4575 m 4425 4575 l 4425 4725 l 4275 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 5175 m 4425 5175 l 4425 5325 l 4275 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 5475 m 5325 5475 l 5325 5625 l 5175 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 5475 m 4725 5475 l 4725 5625 l 4575 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1500 1500 m 6000 1500 l 6000 6000 l 1500 6000 l cp gs col0 s gr % Polyline n 1800 1500 m 2100 1500 l 2100 6000 l 1800 6000 l cp gs col0 s gr % Polyline n 2400 1500 m 2700 1500 l 2700 6000 l 2400 6000 l cp gs col0 s gr % Polyline n 3000 6000 m 3300 6000 l 3300 1500 l 3000 1500 l cp gs col0 s gr % Polyline n 3600 1500 m 3900 1500 l 3900 6000 l 3600 6000 l cp gs col0 s gr % Polyline n 4200 6000 m 4500 6000 l 4500 1500 l 4200 1500 l cp gs col0 s gr % Polyline n 4800 1500 m 5100 1500 l 5100 6000 l 4800 6000 l cp gs col0 s gr % Polyline n 5400 6000 m 5700 6000 l 5700 1500 l 5400 1500 l cp gs col0 s gr % Polyline n 1500 1800 m 6000 1800 l 6000 2100 l 1500 2100 l cp gs col0 s gr % Polyline n 6000 2400 m 1500 2400 l 1500 2700 l 6000 2700 l cp gs col0 s gr % Polyline n 1500 3000 m 6000 3000 l 6000 3300 l 1500 3300 l cp gs col0 s gr % Polyline n 6000 5700 m 1500 5700 l 1500 5400 l 6000 5400 l cp gs col0 s gr % Polyline n 1500 5100 m 6000 5100 l 6000 4800 l 1500 4800 l cp gs col0 s gr % Polyline n 6000 4500 m 1500 4500 l 1500 4200 l 6000 4200 l cp gs col0 s gr % Polyline n 6000 3600 m 1500 3600 l 1500 3900 l 6000 3900 l cp gs col0 s gr $F2psEnd rs end %%EndDocument @endspecial 1419 3525 a(Figure)f(8:)36 b(AND/SPLIT)28 b(blo)r(c)n(k)515 3795 y Ff(Theorem)i(1)41 b Fj(Size)30 b(2)h(R)n(ush)e(Hour)g(is)h(PSP)-6 b(A)n(CE)30 b(c)l(omplete.)639 3961 y Fl(Just)19 b(as)g([3)o(])g(did)h(for)f(Size)g(2-or-3)d(Rush)k (Hour,)g(w)n(e)f(pro)n(v)n(e)e(this)i(result)g(b)n(y)g(pro)n(viding)f (the)515 4061 y(building)32 b(blo)r(c)n(ks)g(to)g(implemen)n(t)g(an)n (y)g(planar)f(ternary)g(Nondeterministic)h(Constrain)n(t)515 4160 y(Logic)26 b(mac)n(hine)h(as)g(an)h(instance)f(of)h(Size)f(2)g (Rush)h(Hour.)639 4260 y(The)d(blo)r(c)n(k)f(in)g(Figure)g(8)g (implemen)n(ts)h(2)f(AND)h(gates)e(with)i(their)g(outputs)f(matc)n (hed.)515 4360 y(Omiting)e(the)g(car)f(mark)n(ed)g('A')i(has)f(the)g (e\013ect)h(of)f(short-circuiting)e(the)j(top-righ)n(t)e(AND,)515 4459 y(lea)n(ving)26 b(one)h(with)h(a)g(single)f(AND)h(and)g(one)f (unconstrained)g(p)r(ort.)639 4559 y(The)39 b(blo)r(c)n(k)f(in)h (Figure)f(8)h(implemen)n(ts)g(2)f(HALF-OR)h(gates)f(with)h(their)g (outputs)515 4659 y(matc)n(hed.)61 b(Note)36 b(that)g(car)f(`C')h(can)f (b)r(e)i(mo)n(v)n(ed)e(to)g(the)i(left)f(only)f(b)n(y)h(lo)r(c)n(king)f (in)h(car)515 4758 y(`B',)26 b(either)f(ab)r(o)n(v)n(e)g(or)f(b)r(elo)n (w)i(it.)36 b(This)26 b(corresp)r(onds)e(to)i(the)g(dep)r(endency)g(w)n (e)f(see)h(in)g(the)515 4858 y(HALF-OR)h(state)h(diagram.)1926 5255 y(7)p eop %%Page: 8 8 8 7 bop 515 1558 a @beginspecial 0 @llx 0 @lly 632 @urx 299 @ury 2834 @rwi @setspecial %%BeginDocument: or0.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: or0.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Thu Jan 30 17:30:17 2003 %%For: tromp@serpens.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 632 299 %%Magnification: 1.0000 %%EndComments /MyAppDict 100 dict dup begin def /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save newpath 0 299 moveto 0 0 lineto 632 0 lineto 632 299 lineto closepath clip newpath -71.3 374.2 translate 1 -1 scale % This junk string is used by the show operators /PATsstr 1 string def /PATawidthshow { % cx cy cchar rx ry string % Loop over each character in the string { % cx cy cchar rx ry char % Show the character dup % cx cy cchar rx ry char char PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char) false charpath % cx cy cchar rx ry char /clip load PATdraw % Move past the character (charpath modified the % current point) currentpoint % cx cy cchar rx ry char x y newpath moveto % cx cy cchar rx ry char % Reposition by cx,cy if the character in the string is cchar 3 index eq { % cx cy cchar rx ry 4 index 4 index rmoveto } if % Reposition all characters by rx ry 2 copy rmoveto % cx cy cchar rx ry } forall pop pop pop pop pop % - currentpoint newpath moveto } bind def /PATcg { 7 dict dup begin /lw currentlinewidth def /lc currentlinecap def /lj currentlinejoin def /ml currentmiterlimit def /ds [ currentdash ] def /cc [ currentrgbcolor ] def /cm matrix currentmatrix def end } bind def % PATdraw - calculates the boundaries of the object and % fills it with the current pattern /PATdraw { % proc save exch PATpcalc % proc nw nh px py 5 -1 roll exec % nw nh px py newpath PATfill % - restore } bind def % PATfill - performs the tiling for the shape /PATfill { % nw nh px py PATfill - PATDict /CurrentPattern get dup begin setfont % Set the coordinate system to Pattern Space PatternGState PATsg % Set the color for uncolored pattezns PaintType 2 eq { PATDict /PColor get PATsc } if % Create the string for showing 3 index string % nw nh px py str % Loop for each of the pattern sources 0 1 Multi 1 sub { % nw nh px py str source % Move to the starting location 3 index 3 index % nw nh px py str source px py moveto % nw nh px py str source % For multiple sources, set the appropriate color Multi 1 ne { dup PC exch get PATsc } if % Set the appropriate string for the source 0 1 7 index 1 sub { 2 index exch 2 index put } for pop % Loop over the number of vertical cells 3 index % nw nh px py str nh { % nw nh px py str currentpoint % nw nh px py str cx cy 2 index oldshow % nw nh px py str cx cy YStep add moveto % nw nh px py str } repeat % nw nh px py str } for 5 { pop } repeat end } bind def % PATkshow - kshow with the current pattezn /PATkshow { % proc string exch bind % string proc 1 index 0 get % string proc char % Loop over all but the last character in the string 0 1 4 index length 2 sub { % string proc char idx % Find the n+1th character in the string 3 index exch 1 add get % string proe char char+1 exch 2 copy % strinq proc char+1 char char+1 char % Now show the nth character PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr) false charpath % string proc char+1 char char+1 /clip load PATdraw % Move past the character (charpath modified the current point) currentpoint newpath moveto % Execute the user proc (should consume char and char+1) mark 3 1 roll % string proc char+1 mark char char+1 4 index exec % string proc char+1 mark... cleartomark % string proc char+1 } for % Now display the last character PATsstr dup 0 4 -1 roll put % string proc (char+1) false charpath % string proc /clip load PATdraw neewath pop pop % - } bind def % PATmp - the makepattern equivalent /PATmp { % patdict patmtx PATmp patinstance exch dup length 7 add % We will add 6 new entries plus 1 FID dict copy % Create a new dictionary begin % Matrix to install when painting the pattern TilingType PATtcalc /PatternGState PATcg def PatternGState /cm 3 -1 roll put % Check for multi pattern sources (Level 1 fast color patterns) currentdict /Multi known not { /Multi 1 def } if % Font dictionary definitions /FontType 3 def % Create a dummy encoding vector /Encoding 256 array def 3 string 0 1 255 { Encoding exch dup 3 index cvs cvn put } for pop /FontMatrix matrix def /FontBBox BBox def /BuildChar { mark 3 1 roll % mark dict char exch begin Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata] PaintType 2 eq Multi 1 ne or { XStep 0 FontBBox aload pop setcachedevice } { XStep 0 setcharwidth } ifelse currentdict % mark [paintdata] dict /PaintProc load % mark [paintdata] dict paintproc end gsave false PATredef exec true PATredef grestore cleartomark % - } bind def currentdict end % newdict /foo exch % /foo newlict definefont % newfont } bind def % PATpcalc - calculates the starting point and width/height % of the tile fill for the shape /PATpcalc { % - PATpcalc nw nh px py PATDict /CurrentPattern get begin gsave % Set up the coordinate system to Pattern Space % and lock down pattern PatternGState /cm get setmatrix BBox aload pop pop pop translate % Determine the bounding box of the shape pathbbox % llx lly urx ury grestore % Determine (nw, nh) the # of cells to paint width and height PatHeight div ceiling % llx lly urx qh 4 1 roll % qh llx lly urx PatWidth div ceiling % qh llx lly qw 4 1 roll % qw qh llx lly PatHeight div floor % qw qh llx ph 4 1 roll % ph qw qh llx PatWidth div floor % ph qw qh pw 4 1 roll % pw ph qw qh 2 index sub cvi abs % pw ph qs qh-ph exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph % Determine the starting point of the pattern fill %(px, py) 4 2 roll % nw nh pw ph PatHeight mul % nw nh pw py exch % nw nh py pw PatWidth mul exch % nw nh px py end } bind def % Save the original routines so that we can use them later on /oldfill /fill load def /oldeofill /eofill load def /oldstroke /stroke load def /oldshow /show load def /oldashow /ashow load def /oldwidthshow /widthshow load def /oldawidthshow /awidthshow load def /oldkshow /kshow load def % These defs are necessary so that subsequent procs don't bind in % the originals /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def /PATredef { MyAppDict begin { /fill { /clip load PATdraw newpath } bind def /eofill { /eoclip load PATdraw newpath } bind def /stroke { PATstroke } bind def /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def /ashow { 0 0 null 6 3 roll PATawidthshow } bind def /widthshow { 0 0 3 -1 roll PATawidthshow } bind def /awidthshow { PATawidthshow } bind def /kshow { PATkshow } bind def } { /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def } ifelse end } bind def false PATredef % Conditionally define setcmykcolor if not available /setcmykcolor where { pop } { /setcmykcolor { 1 sub 4 1 roll 3 { 3 index add neg dup 0 lt { pop 0 } if 3 1 roll } repeat setrgbcolor - pop } bind def } ifelse /PATsc { % colorarray aload length % c1 ... cn length dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor } ifelse } ifelse } bind def /PATsg { % dict begin lw setlinewidth lc setlinecap lj setlinejoin ml setmiterlimit ds aload pop setdash cc aload pop setrgbcolor cm setmatrix end } bind def /PATDict 3 dict def /PATsp { true PATredef PATDict begin /CurrentPattern exch def % If it's an uncolored pattern, save the color CurrentPattern /PaintType get 2 eq { /PColor exch def } if /CColor [ currentrgbcolor ] def end } bind def % PATstroke - stroke with the current pattern /PATstroke { countdictstack save mark { currentpoint strokepath moveto PATpcalc % proc nw nh px py clip newpath PATfill } stopped { (*** PATstroke Warning: Path is too complex, stroking with gray) = cleartomark restore countdictstack exch sub dup 0 gt { { end } repeat } { pop } ifelse gsave 0.5 setgray oldstroke grestore } { pop restore pop } ifelse newpath } bind def /PATtcalc { % modmtx tilingtype PATtcalc tilematrix % Note: tiling types 2 and 3 are not supported gsave exch concat % tilingtype matrix currentmatrix exch % cmtx tilingtype % Tiling type 1 and 3: constant spacing 2 ne { % Distort the pattern so that it occupies % an integral number of device pixels dup 4 get exch dup 5 get exch % tx ty cmtx XStep 0 dtransform round exch round exch % tx ty cmtx dx.x dx.y XStep div exch XStep div exch % tx ty cmtx a b 0 YStep dtransform round exch round exch % tx ty cmtx a b dy.x dy.y YStep div exch YStep div exch % tx ty cmtx a b c d 7 -3 roll astore % { a b c d tx ty } } if grestore } bind def /PATusp { false PATredef PATDict begin CColor PATsc end } bind def % this is the pattern fill program from the Second edition Reference Manual % with changes to call the above pattern fill % left30 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 32 16 true [ 32 0 0 -16 0 16 ] {} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P1 exch def /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 0.06000 0.06000 sc % % Fig objects follow % % Arc 7.500 slw n 7954.3 3475.2 1579.3 95.6 40.8 arcn gs col0 s gr % Arc n 7954.3 5538.8 1579.3 -95.6 -40.8 arc gs col0 s gr % Arc n 7537.6 4507.0 600.4 -64.1 64.1 arc gs col0 s gr % Arc n 10945.7 4038.8 1579.3 -84.4 -139.2 arcn gs col0 s gr % Arc n 10945.7 1975.2 1579.3 84.4 139.2 arc gs col0 s gr % Arc n 11362.4 3007.0 600.4 115.9 -115.9 arc gs col0 s gr % Polyline n 7200 1500 m 11700 1500 l 11700 6000 l 7200 6000 l cp gs col0 s gr % Polyline n 7200 3750 m 7650 3750 l 7650 4350 l 8100 4350 l gs col0 s gr % Polyline n 9450 6000 m 9450 5550 l 7650 5550 l 7650 4650 l 8100 4650 l gs col0 s gr % Polyline n 11700 3750 m 11250 3750 l 11250 3150 l 10800 3150 l gs col0 s gr % Polyline n 9450 1500 m 9450 1950 l 11250 1950 l 11250 2850 l 10800 2850 l gs col0 s gr % Polyline n 9150 4500 m 9750 3000 l gs col0 s gr % Polyline n 1950 4350 m 1200 4200 l gs col0 s gr % Polyline n 5250 2850 m 6300 2700 l gs col0 s gr % Polyline n 2250 4350 m 1200 4950 l gs col0 s gr /Times-Roman ff 405.00 scf sf 8340 4372 m gs 1 -1 sc 270.0 rot (H) col0 sh gr /Times-Roman ff 405.00 scf sf 10560 3142 m gs 1 -1 sc 90.0 rot (H) col0 sh gr /Times-Roman ff 180.00 scf sf 6225 2625 m gs 1 -1 sc (A) col-1 sh gr /Times-Roman ff 180.00 scf sf 1200 4800 m gs 1 -1 sc (C) col0 sh gr /Times-Roman ff 180.00 scf sf 1200 4125 m gs 1 -1 sc (B) col0 sh gr % Polyline n 1575 4425 m 1575 3975 l 1725 3975 l 1725 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 1725 m 3825 1725 l 3825 1275 l 3675 1275 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 85.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5925 3975 m 5925 4425 l 5775 4425 l 5775 3975 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 4575 m 5925 5025 l 5775 5025 l 5775 4575 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 5175 m 5925 5625 l 5775 5625 l 5775 5175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6225 5925 m 5775 5925 l 5775 5775 l 6225 5775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5625 5925 m 5175 5925 l 5175 5775 l 5625 5775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 5925 m 3825 5925 l 3825 5475 l 3675 5475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4575 5775 m 5025 5775 l 5025 5925 l 4575 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 5775 m 4425 5775 l 4425 5925 l 3975 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 5775 m 3525 5775 l 3525 5925 l 3075 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 1575 m 4425 1575 l 4425 1725 l 3975 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 1575 m 5025 1575 l 5025 1725 l 4575 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 1575 m 5625 1575 l 5625 1725 l 5175 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 1275 m 5925 1725 l 5775 1725 l 5775 1275 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 1875 m 5925 2325 l 5775 2325 l 5775 1875 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 2925 m 5775 2475 l 5925 2475 l 5925 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 3525 m 5775 3075 l 5925 3075 l 5925 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 1575 m 3525 1575 l 3525 1725 l 3075 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 1575 m 2925 1575 l 2925 1725 l 2475 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 1575 m 2325 1575 l 2325 1725 l 1875 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1275 1575 m 1725 1575 l 1725 1725 l 1275 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 2325 m 1575 1875 l 1725 1875 l 1725 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 2925 m 1575 2475 l 1725 2475 l 1725 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 3525 m 1575 3075 l 1725 3075 l 1725 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 5775 m 2325 5775 l 2325 5925 l 1875 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 5625 m 1575 5175 l 1725 5175 l 1725 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 6225 m 1575 5775 l 1725 5775 l 1725 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 5775 m 3825 5775 l 3825 5925 l 3675 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 1575 m 3825 1575 l 3825 1725 l 3675 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2025 3825 m 2025 3675 l 1575 3675 l 1575 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 105.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 1575 3675 m 1725 3675 l 1725 3825 l 1575 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 5775 m 2925 5775 l 2925 5925 l 2475 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4425 2325 m 3975 2325 l 3975 2175 l 4425 2175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 2325 m 5625 2325 l 5625 1875 l 5475 1875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 365.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5325 2025 m 5325 1875 l 4875 1875 l 4875 2025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 325.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4725 2025 m 4725 1875 l 4275 1875 l 4275 2025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 285.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4125 2025 m 4125 1875 l 3675 1875 l 3675 2025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5175 1875 m 5325 1875 l 5325 2025 l 5175 2025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 1875 m 4725 1875 l 4725 2025 l 4575 2025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 1875 m 4125 1875 l 4125 2025 l 3975 2025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3525 5625 m 3525 5475 l 3075 5475 l 3075 5625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 205.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3975 5475 m 4425 5475 l 4425 5625 l 3975 5625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 5175 5475 m 5625 5475 l 5625 5625 l 5175 5625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 1875 1875 m 2325 1875 l 2325 2025 l 1875 2025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2475 1875 m 2925 1875 l 2925 2025 l 2475 2025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 1875 m 3525 1875 l 3525 2025 l 3075 2025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 1725 4575 m 1725 5025 l 1575 5025 l 1575 4575 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 5475 m 5025 5475 l 5025 5625 l 4575 5625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2925 5625 m 2925 5475 l 2475 5475 l 2475 5625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 165.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 1875 5325 m 2025 5325 l 2025 4875 l 1875 4875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 125.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2325 5625 m 2325 5475 l 1875 5475 l 1875 5625 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 125.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 1875 4425 m 2025 4425 l 2025 3975 l 1875 3975 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 125.00 265.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2775 5475 m 2925 5475 l 2925 5625 l 2775 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 5475 m 2325 5475 l 2325 5625 l 2175 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 5475 m 3525 5475 l 3525 5625 l 3375 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 5325 m 3675 4875 l 3825 4875 l 3825 5325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 5025 m 3075 4575 l 3225 4575 l 3225 5025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2175 5175 m 2625 5175 l 2625 5325 l 2175 5325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3675 5175 m 3825 5175 l 3825 5325 l 3675 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 5175 m 2325 5175 l 2325 5325 l 2175 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 4575 m 3225 4575 l 3225 4725 l 3075 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 5025 m 2175 4575 l 2325 4575 l 2325 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 5325 m 2775 4875 l 2925 4875 l 2925 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 5175 m 3525 5175 l 3525 5325 l 3075 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 5475 m 4125 5475 l 4125 5625 l 3975 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 5475 m 4725 5475 l 4725 5625 l 4575 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 5475 m 5325 5475 l 5325 5625 l 5175 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 1875 m 2325 1875 l 2325 2025 l 2175 2025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 1875 m 2925 1875 l 2925 2025 l 2775 2025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 1875 m 3525 1875 l 3525 2025 l 3375 2025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 2625 m 3675 2175 l 3825 2175 l 3825 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3675 2175 m 3825 2175 l 3825 2325 l 3675 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4725 2175 m 4725 2625 l 4575 2625 l 4575 2175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 2175 m 5325 2175 l 5325 2325 l 4875 2325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 5175 2175 m 5325 2175 l 5325 2325 l 5175 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 2925 m 4275 2475 l 4425 2475 l 4425 2925 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 2775 m 4425 2775 l 4425 2925 l 4275 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 3375 m 2325 3375 l 2325 3525 l 1875 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 3375 m 2925 3375 l 2925 3525 l 2475 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 3375 m 3525 3375 l 3525 3525 l 3075 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 3375 m 4125 3375 l 4125 3525 l 3675 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 3225 m 3675 2775 l 3825 2775 l 3825 3225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 3525 m 4275 3075 l 4425 3075 l 4425 3525 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3675 2775 m 3825 2775 l 3825 2925 l 3675 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 3375 m 4425 3375 l 4425 3525 l 4275 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3225 3825 m 3225 3675 l 2775 3675 l 2775 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 185.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2775 3675 m 2925 3675 l 2925 3825 l 2775 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 4425 m 3075 3975 l 3225 3975 l 3225 4425 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 3975 m 3225 3975 l 3225 4125 l 3075 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3825 3825 m 3825 3675 l 3375 3675 l 3375 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 225.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3375 3675 m 3525 3675 l 3525 3825 l 3375 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 3975 m 3825 3975 l 3825 4125 l 3375 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 3975 m 4425 3975 l 4425 4125 l 3975 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4425 3825 m 4425 3675 l 3975 3675 l 3975 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 265.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3975 3675 m 4125 3675 l 4125 3825 l 3975 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5025 3825 m 5025 3675 l 4575 3675 l 4575 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 305.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4575 3675 m 4725 3675 l 4725 3825 l 4575 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 3975 m 5025 3975 l 5025 4125 l 4575 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 4725 m 3675 4275 l 3825 4275 l 3825 4725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3675 4575 m 3825 4575 l 3825 4725 l 3675 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2625 4425 m 2625 4275 l 2175 4275 l 2175 4425 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 145.00 285.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2175 4275 m 2325 4275 l 2325 4425 l 2175 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2325 3675 m 2325 4125 l 2175 4125 l 2175 3675 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 4125 m 2625 4125 l 2625 3675 l 2475 3675 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 165.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2475 3975 m 2625 3975 l 2625 4125 l 2475 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 4425 m 2775 3975 l 2925 3975 l 2925 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 4575 m 2925 4575 l 2925 4725 l 2475 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 3975 m 5625 3975 l 5625 4125 l 5175 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 3375 m 5325 3825 l 5175 3825 l 5175 3375 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5625 3225 m 5625 3075 l 5175 3075 l 5175 3225 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 345.00 205.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4725 3075 m 4725 3525 l 4575 3525 l 4575 3075 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 2775 m 5025 2775 l 5025 2925 l 4575 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 3525 m 5025 3525 l 5025 3075 l 4875 3075 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 325.00 205.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4875 3375 m 5025 3375 l 5025 3525 l 4875 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 3075 m 5325 3075 l 5325 3225 l 5175 3225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1500 1500 m 6000 1500 l 6000 6000 l 1500 6000 l cp gs col0 s gr % Polyline n 1800 1500 m 2100 1500 l 2100 6000 l 1800 6000 l cp gs col0 s gr % Polyline n 2400 1500 m 2700 1500 l 2700 6000 l 2400 6000 l cp gs col0 s gr % Polyline n 3000 6000 m 3300 6000 l 3300 1500 l 3000 1500 l cp gs col0 s gr % Polyline n 3600 1500 m 3900 1500 l 3900 6000 l 3600 6000 l cp gs col0 s gr % Polyline n 4200 6000 m 4500 6000 l 4500 1500 l 4200 1500 l cp gs col0 s gr % Polyline n 4800 1500 m 5100 1500 l 5100 6000 l 4800 6000 l cp gs col0 s gr % Polyline n 5400 6000 m 5700 6000 l 5700 1500 l 5400 1500 l cp gs col0 s gr % Polyline n 1500 1800 m 6000 1800 l 6000 2100 l 1500 2100 l cp gs col0 s gr % Polyline n 1500 3000 m 6000 3000 l 6000 3300 l 1500 3300 l cp gs col0 s gr % Polyline n 6000 5700 m 1500 5700 l 1500 5400 l 6000 5400 l cp gs col0 s gr % Polyline n 1500 5100 m 6000 5100 l 6000 4800 l 1500 4800 l cp gs col0 s gr % Polyline n 6000 4500 m 1500 4500 l 1500 4200 l 6000 4200 l cp gs col0 s gr % Polyline n 6000 3600 m 1500 3600 l 1500 3900 l 6000 3900 l cp gs col0 s gr % Polyline n 6225 3825 m 6225 3675 l 5775 3675 l 5775 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 385.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5775 3675 m 5925 3675 l 5925 3825 l 5775 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 3825 m 5625 3825 l 5625 3375 l 5475 3375 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 365.00 225.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 6000 2400 m 1500 2400 l 1500 2700 l 6000 2700 l cp gs col0 s gr % Polyline n 5325 2475 m 5325 2925 l 5175 2925 l 5175 2475 l cp gs 0.00 setgray ef gr gs col0 s gr $F2psEnd rs end %%EndDocument @endspecial 1464 1740 a Fl(Figure)27 b(9:)36 b(HALF-OR)28 b(blo)r(c)n(k)639 2005 y(Putting)i(the)h(car)e(mark)n(ed)f('A')j(in)f (a)g(horizon)n(tal)e(p)r(osition)i(has)f(the)i(e\013ect)f(of)g(short-) 515 2105 y(circuiting)d(the)h(top-righ)n(t)e(HALF-OR,)i(while)g(lea)n (ving)e(the)i(top)g(p)r(ort)f(unconstrained.)639 2205 y(The)20 b(CR)n(OSSO)n(VER)f(blo)r(c)n(k)g(in)h(Figure)g(10)f(w)n(as)g (designed)g(b)r(efore)h(the)g(author)f(learned)515 2304 y(of)j(its)h(redundancy)-7 b(.)35 b(Still,)24 b(it)g(is)e(rather)g (amazing)f(that)i(it)h(can)e(b)r(e)h(made)g(to)f(w)n(ork)f(in)i(suc)n (h)515 2404 y(limited)33 b(space.)50 b(In)33 b(an)n(y)f(case)f(it)i (pro)n(vides)e(us)h(with)h(a)f(straigh)n(t)g(WIRE)g(blo)r(c)n(k,)h (whic)n(h,)515 2504 y(together)e(with)h(a)f(stretc)n(hed)h(out)f(v)n (ersion)g(of)g(the)i(turning)e(WIRE)h(blo)r(c)n(k)f(in)h(Figure)f(1,) 515 2603 y(pro)n(vides)18 b(us)i(with)g(all)f(the)h(necessary)e(plum)n (bing)i(to)f(connect)h(the)g(logical)e(gates)h(together.)639 2703 y(The)40 b(pro)r(of)e(is)h(completed)g(b)n(y)g(v)n(erifying)f(the) i(correct)e(op)r(eration)g(of)h(eac)n(h)g(blo)r(c)n(k,)515 2802 y(whic)n(h)29 b(is)g(greatly)f(facilitated)h(b)n(y)g(the)g (coloring.)40 b(In)29 b(particular,)f(if)i(it)f(w)n(ere)f(p)r(ossible)h (to)515 2902 y(v)-5 b(acate)21 b(an)n(y)h(blac)n(k)g(colored)f(cell,)i (then)g(one)f(suc)n(h)g(cell)g(w)n(ould)g(need)h(to)f(b)r(e)h(v)-5 b(acated)21 b(b)r(efore)515 3002 y(an)n(y)27 b(other,)g(and)g(it's)h (easy)f(to)g(man)n(ually)g(v)n(erify)g(that)h(this)f(is)h(not)f(p)r (ossible.)639 3101 y(A)38 b(computer)g(en)n(umeration)e(of)i(all)f(p)r (ossible)h(states)f(of)h(eac)n(h)f(blo)r(c)n(k)g(w)n(as)g(used)g(to)515 3201 y(v)n(erify)27 b(correct)f(op)r(eration.)515 3476 y Fm(5)134 b(Unit)46 b(Size)f(Rush)g(Hour)515 3657 y Fl(T)-7 b(aking)32 b(the)i(constrain)n(t)d(on)i(car)f(size)h(to)g(its)h (extreme,)g(w)n(e)f(arriv)n(e)e(at)i(Unit)h(Size)f(Rush)515 3757 y(Hour,)27 b(where)g(ev)n(ery)f(car)h(o)r(ccupies)g(exactly)g(one) g(cell.)37 b(An)28 b(example)f(instance)h(is)515 3923 y Fk(||=)515 4023 y(|-|)515 4122 y(-.|)515 4288 y Fl(where)38 b(`|')i(denotes)f(a)g(v)n(ertical)f(car,)j(`-')e(and)g(`=')g(denote)g (horizon)n(tal)f(cars,)j(and)e(`.')515 4388 y(an)28 b(empt)n(y)h(cell.) 40 b(The)29 b(`=')g(is)g(the)g(unique)g Fj(tar)l(get)h(c)l(ar)p Fl(.)41 b(The)29 b(question)f(is)h(whether)g(some)515 4488 y(sequence)22 b(of)g(car)g(mo)n(v)n(es)f(allo)n(ws)g(the)i(target) e(car)h(to)g(reac)n(h)f(the)i(left)h(end)e(of)h(its)f(ro)n(w)g(where) 515 4587 y(it)27 b(ma)n(y)f(exit)g(the)h(parking)f(lot.)36 b(F)-7 b(or)26 b(our)g(example)g(the)h(answ)n(er)e(is)i(y)n(es,)f(as)g (witnessed)g(b)n(y)515 4687 y(the)i(sequence)f(of)g(mo)n(v)n(es)558 4853 y Fk(12)130 b(11)g(10)174 b(9)g(8)g(7)f(6)h(5)g(4)g(3)g(2)g(1)g(0) 515 4952 y(||=)86 b(||=)g(||=)g(||=)f(|.=)h(|=.)g(|=|)g(|=|)g(|=|)g (|=|)g(|=|)g(.=|)g(=.|)1926 5255 y Fl(8)p eop %%Page: 9 9 9 8 bop 515 3805 a @beginspecial 0 @llx 0 @lly 300 @urx 300 @ury 2834 @rwi @setspecial %%BeginDocument: int2.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: int2.eps %%Creator: fig2dev Version 3.2 Patchlevel 0-beta2 %%CreationDate: Mon Jul 26 14:54:59 1999 %%For: tromp@kaneel.cwi.nl (John Tromp,M231,4078,072-5716322) %%Orientation: Portrait %%BoundingBox: 0 0 300 300 %%Pages: 0 %%BeginSetup %%IncludeFeature: *PageSize Letter %%EndSetup %%Magnification: 1.00 %%EndComments /MyAppDict 100 dict dup begin def /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {0 setgray} bind def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -75.0 375.0 translate 1 -1 scale .9 .9 scale % to make patterns same scale as in xfig % This junk string is used by the show operators /PATsstr 1 string def /PATawidthshow { % cx cy cchar rx ry string % Loop over each character in the string { % cx cy cchar rx ry char % Show the character dup % cx cy cchar rx ry char char PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char) false charpath % cx cy cchar rx ry char /clip load PATdraw % Move past the character (charpath modified the % current point) currentpoint % cx cy cchar rx ry char x y newpath moveto % cx cy cchar rx ry char % Reposition by cx,cy if the character in the string is cchar 3 index eq { % cx cy cchar rx ry 4 index 4 index rmoveto } if % Reposition all characters by rx ry 2 copy rmoveto % cx cy cchar rx ry } forall pop pop pop pop pop % - currentpoint newpath moveto } bind def /PATcg { 7 dict dup begin /lw currentlinewidth def /lc currentlinecap def /lj currentlinejoin def /ml currentmiterlimit def /ds [ currentdash ] def /cc [ currentrgbcolor ] def /cm matrix currentmatrix def end } bind def % PATdraw - calculates the boundaries of the object and % fills it with the current pattern /PATdraw { % proc save exch PATpcalc % proc nw nh px py 5 -1 roll exec % nw nh px py newpath PATfill % - restore } bind def % PATfill - performs the tiling for the shape /PATfill { % nw nh px py PATfill - PATDict /CurrentPattern get dup begin setfont % Set the coordinate system to Pattern Space PatternGState PATsg % Set the color for uncolored pattezns PaintType 2 eq { PATDict /PColor get PATsc } if % Create the string for showing 3 index string % nw nh px py str % Loop for each of the pattern sources 0 1 Multi 1 sub { % nw nh px py str source % Move to the starting location 3 index 3 index % nw nh px py str source px py moveto % nw nh px py str source % For multiple sources, set the appropriate color Multi 1 ne { dup PC exch get PATsc } if % Set the appropriate string for the source 0 1 7 index 1 sub { 2 index exch 2 index put } for pop % Loop over the number of vertical cells 3 index % nw nh px py str nh { % nw nh px py str currentpoint % nw nh px py str cx cy 2 index show % nw nh px py str cx cy YStep add moveto % nw nh px py str } repeat % nw nh px py str } for 5 { pop } repeat end } bind def % PATkshow - kshow with the current pattezn /PATkshow { % proc string exch bind % string proc 1 index 0 get % string proc char % Loop over all but the last character in the string 0 1 4 index length 2 sub { % string proc char idx % Find the n+1th character in the string 3 index exch 1 add get % string proe char char+1 exch 2 copy % strinq proc char+1 char char+1 char % Now show the nth character PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr) false charpath % string proc char+1 char char+1 /clip load PATdraw % Move past the character (charpath modified the current point) currentpoint newpath moveto % Execute the user proc (should consume char and char+1) mark 3 1 roll % string proc char+1 mark char char+1 4 index exec % string proc char+1 mark... cleartomark % string proc char+1 } for % Now display the last character PATsstr dup 0 4 -1 roll put % string proc (char+1) false charpath % string proc /clip load PATdraw neewath pop pop % - } bind def % PATmp - the makepattern equivalent /PATmp { % patdict patmtx PATmp patinstance exch dup length 7 add % We will add 6 new entries plus 1 FID dict copy % Create a new dictionary begin % Matrix to install when painting the pattern TilingType PATtcalc /PatternGState PATcg def PatternGState /cm 3 -1 roll put % Check for multi pattern sources (Level 1 fast color patterns) currentdict /Multi known not { /Multi 1 def } if % Font dictionary definitions /FontType 3 def % Create a dummy encoding vector /Encoding 256 array def 3 string 0 1 255 { Encoding exch dup 3 index cvs cvn put } for pop /FontMatrix matrix def /FontBBox BBox def /BuildChar { mark 3 1 roll % mark dict char exch begin Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata] PaintType 2 eq Multi 1 ne or { XStep 0 FontBBox aload pop setcachedevice } { XStep 0 setcharwidth } ifelse currentdict % mark [paintdata] dict /PaintProc load % mark [paintdata] dict paintproc end gsave false PATredef exec true PATredef grestore cleartomark % - } bind def currentdict end % newdict /foo exch % /foo newlict definefont % newfont } bind def % PATpcalc - calculates the starting point and width/height % of the tile fill for the shape /PATpcalc { % - PATpcalc nw nh px py PATDict /CurrentPattern get begin gsave % Set up the coordinate system to Pattern Space % and lock down pattern PatternGState /cm get setmatrix BBox aload pop pop pop translate % Determine the bounding box of the shape pathbbox % llx lly urx ury grestore % Determine (nw, nh) the # of cells to paint width and height PatHeight div ceiling % llx lly urx qh 4 1 roll % qh llx lly urx PatWidth div ceiling % qh llx lly qw 4 1 roll % qw qh llx lly PatHeight div floor % qw qh llx ph 4 1 roll % ph qw qh llx PatWidth div floor % ph qw qh pw 4 1 roll % pw ph qw qh 2 index sub cvi abs % pw ph qs qh-ph exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph % Determine the starting point of the pattern fill %(px, py) 4 2 roll % nw nh pw ph PatHeight mul % nw nh pw py exch % nw nh py pw PatWidth mul exch % nw nh px py end } bind def % Save the original routines so that we can use them later on /oldfill /fill load def /oldeofill /eofill load def /oldstroke /stroke load def /oldshow /show load def /oldashow /ashow load def /oldwidthshow /widthshow load def /oldawidthshow /awidthshow load def /oldkshow /kshow load def % These defs are necessary so that subsequent procs don't bind in % the originals /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def /PATredef { MyAppDict begin { /fill { /clip load PATdraw newpath } bind def /eofill { /eoclip load PATdraw newpath } bind def /stroke { PATstroke } bind def /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def /ashow { 0 0 null 6 3 roll PATawidthshow } bind def /widthshow { 0 0 3 -1 roll PATawidthshow } bind def /awidthshow { PATawidthshow } bind def /kshow { PATkshow } bind def } { /fill { oldfill } bind def /eofill { oldeofill } bind def /stroke { oldstroke } bind def /show { oldshow } bind def /ashow { oldashow } bind def /widthshow { oldwidthshow } bind def /awidthshow { oldawidthshow } bind def /kshow { oldkshow } bind def } ifelse end } bind def false PATredef % Conditionally define setcmykcolor if not available /setcmykcolor where { pop } { /setcmykcolor { 1 sub 4 1 roll 3 { 3 index add neg dup 0 lt { pop 0 } if 3 1 roll } repeat setrgbcolor - pop } bind def } ifelse /PATsc { % colorarray aload length % c1 ... cn length dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor } ifelse } ifelse } bind def /PATsg { % dict begin lw setlinewidth lc setlinecap lj setlinejoin ml setmiterlimit ds aload pop setdash cc aload pop setrgbcolor cm setmatrix end } bind def /PATDict 3 dict def /PATsp { true PATredef PATDict begin /CurrentPattern exch def % If it's an uncolored pattern, save the color CurrentPattern /PaintType get 2 eq { /PColor exch def } if /CColor [ currentrgbcolor ] def end } bind def % PATstroke - stroke with the current pattern /PATstroke { countdictstack save mark { currentpoint strokepath moveto PATpcalc % proc nw nh px py clip newpath PATfill } stopped { (*** PATstroke Warning: Path is too complex, stroking with gray) = cleartomark restore countdictstack exch sub dup 0 gt { { end } repeat } { pop } ifelse gsave 0.5 setgray oldstroke grestore } { pop restore pop } ifelse newpath } bind def /PATtcalc { % modmtx tilingtype PATtcalc tilematrix % Note: tiling types 2 and 3 are not supported gsave exch concat % tilingtype matrix currentmatrix exch % cmtx tilingtype % Tiling type 1 and 3: constant spacing 2 ne { % Distort the pattern so that it occupies % an integral number of device pixels dup 4 get exch dup 5 get exch % tx ty cmtx XStep 0 dtransform round exch round exch % tx ty cmtx dx.x dx.y XStep div exch XStep div exch % tx ty cmtx a b 0 YStep dtransform round exch round exch % tx ty cmtx a b dy.x dy.y YStep div exch YStep div exch % tx ty cmtx a b c d 7 -3 roll astore % { a b c d tx ty } } if grestore } bind def /PATusp { false PATredef PATDict begin CColor PATsc end } bind def % this is the pattern fill program from the Second edition Reference Manual % with changes to call the above pattern fill % left30 11 dict begin /PaintType 1 def /PatternType 1 def /TilingType 1 def /BBox [0 0 1 1] def /XStep 1 def /YStep 1 def /PatWidth 1 def /PatHeight 1 def /Multi 2 def /PaintData [ { clippath } bind { 32 16 true [ 32 0 0 -16 0 16 ] {} imagemask } bind ] def /PaintProc { pop exec fill } def currentdict end /P1 exch def 1.1111 1.1111 scale %restore scale /cp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 10 setmiterlimit n 0 6277 m 0 0 l 6277 0 l 6277 6277 l cp clip 0.06000 0.06000 sc % Polyline 7.500 slw n 1575 4425 m 1575 3975 l 1725 3975 l 1725 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 3525 m 3825 3525 l 3825 3075 l 3675 3075 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 205.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3375 2775 m 3825 2775 l 3825 2925 l 3375 2925 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3825 2025 m 3825 1875 l 3375 1875 l 3375 2025 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 225.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 1725 m 3825 1725 l 3825 1275 l 3675 1275 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 85.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3375 4725 m 3525 4725 l 3525 4275 l 3375 4275 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 225.00 285.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3375 5325 m 3525 5325 l 3525 4875 l 3375 4875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 225.00 325.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4125 5025 m 3675 5025 l 3675 4875 l 4125 4875 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4125 4725 m 3675 4725 l 3675 4575 l 4125 4575 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4725 5025 m 4275 5025 l 4275 4875 l 4725 4875 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4725 4725 m 4275 4725 l 4275 4575 l 4725 4575 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 5025 4275 m 5025 4725 l 4875 4725 l 4875 4275 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 5925 3975 m 5925 4425 l 5775 4425 l 5775 3975 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 4575 m 5925 5025 l 5775 5025 l 5775 4575 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 5175 m 5925 5625 l 5775 5625 l 5775 5175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 6225 5925 m 5775 5925 l 5775 5775 l 6225 5775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5625 5925 m 5175 5925 l 5175 5775 l 5625 5775 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 5475 m 3075 5625 l 3525 5625 l 3525 5475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 205.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3675 5925 m 3825 5925 l 3825 5475 l 3675 5475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 365.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4575 5775 m 5025 5775 l 5025 5925 l 4575 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 5775 m 4425 5775 l 4425 5925 l 3975 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 5775 m 3525 5775 l 3525 5925 l 3075 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5025 4875 m 5025 5325 l 4875 5325 l 4875 4875 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 5175 4575 m 5625 4575 l 5625 4725 l 5175 4725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3975 3675 m 3975 3825 l 4425 3825 l 4425 3675 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 265.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3975 2325 m 4125 2325 l 4125 1875 l 3975 1875 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 265.00 125.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3975 2925 m 4125 2925 l 4125 2475 l 3975 2475 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 265.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3975 3525 m 4125 3525 l 4125 3075 l 3975 3075 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 265.00 205.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5025 3375 m 5025 3825 l 4875 3825 l 4875 3375 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4725 3375 m 4725 3825 l 4575 3825 l 4575 3375 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 5025 2775 m 5025 3225 l 4875 3225 l 4875 2775 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4725 2775 m 4725 3225 l 4575 3225 l 4575 2775 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4275 2475 m 4725 2475 l 4725 2625 l 4275 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3975 1575 m 4425 1575 l 4425 1725 l 3975 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 1575 m 5025 1575 l 5025 1725 l 4575 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 1575 m 5625 1575 l 5625 1725 l 5175 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 1275 m 5925 1725 l 5775 1725 l 5775 1275 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5925 1875 m 5925 2325 l 5775 2325 l 5775 1875 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 4425 m 5625 4425 l 5625 3975 l 5475 3975 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 365.00 265.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5925 3825 m 5925 3675 l 5475 3675 l 5475 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 365.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 5775 2925 m 5775 2475 l 5925 2475 l 5925 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 3525 m 5775 3075 l 5925 3075 l 5925 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 2475 m 5325 2475 l 5325 2625 l 4875 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 4575 2325 m 4575 1875 l 4725 1875 l 4725 2325 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3375 4125 m 3525 4125 l 3525 3675 l 3375 3675 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 225.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2775 4125 m 2775 3675 l 2925 3675 l 2925 4125 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2475 4125 m 2475 3675 l 2625 3675 l 2625 4125 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2325 3525 m 2325 3375 l 1875 3375 l 1875 3525 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 125.00 225.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2925 3525 m 2925 3375 l 2475 3375 l 2475 3525 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 165.00 225.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3525 3525 m 3525 3375 l 3075 3375 l 3075 3525 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 205.00 225.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2775 2775 m 3225 2775 l 3225 2925 l 2775 2925 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2775 2475 m 3225 2475 l 3225 2625 l 2775 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2475 3225 m 2475 2775 l 2625 2775 l 2625 3225 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3075 1575 m 3525 1575 l 3525 1725 l 3075 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 1575 m 2925 1575 l 2925 1725 l 2475 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 1575 m 2325 1575 l 2325 1725 l 1875 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1275 1575 m 1725 1575 l 1725 1725 l 1275 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 2325 m 1575 1875 l 1725 1875 l 1725 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 2925 m 1575 2475 l 1725 2475 l 1725 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 3525 m 1575 3075 l 1725 3075 l 1725 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 2625 m 2475 2175 l 2625 2175 l 2625 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2325 2925 m 1875 2925 l 1875 2775 l 2325 2775 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 1875 4125 m 2025 4125 l 2025 3675 l 1875 3675 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 125.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 1725 3825 m 1725 3675 l 1275 3675 l 1275 3825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 85.00 245.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4875 3975 m 4875 4125 l 5325 4125 l 5325 3975 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 325.00 265.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 4725 4125 m 4725 3975 l 4275 3975 l 4275 4125 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 285.00 265.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 3375 2475 m 3825 2475 l 3825 2625 l 3375 2625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 3675 3975 m 3675 4125 l 4125 4125 l 4125 3975 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def 15.00 15.00 sc P1 [16 0 0 -8 245.00 265.00] PATmp PATsp ef gr PATusp gs col0 s gr % Polyline n 2475 5775 m 2925 5775 l 2925 5925 l 2475 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 5775 m 2325 5775 l 2325 5925 l 1875 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 4725 m 2475 4275 l 2625 4275 l 2625 4725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2775 4725 m 2775 4275 l 2925 4275 l 2925 4725 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2775 5625 m 2775 5175 l 2925 5175 l 2925 5625 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 1575 5025 m 1575 4575 l 1725 4575 l 1725 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 5625 m 1575 5175 l 1725 5175 l 1725 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 6225 m 1575 5775 l 1725 5775 l 1725 6225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 4875 m 2625 4875 l 2625 5025 l 2175 5025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2775 4875 m 3225 4875 l 3225 5025 l 2775 5025 l cp gs 0.50 setgray ef gr gs col0 s gr % Polyline n 2175 4125 m 2175 3675 l 2325 3675 l 2325 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 4275 m 2325 4275 l 2325 4425 l 1875 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 5025 m 1875 4575 l 2025 4575 l 2025 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 5625 m 1875 5175 l 2025 5175 l 2025 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2325 2025 m 1875 2025 l 1875 1875 l 2325 1875 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2925 2025 m 2475 2025 l 2475 1875 l 2925 1875 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 2325 m 3075 1875 l 3225 1875 l 3225 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 2175 m 3825 2175 l 3825 2325 l 3375 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5625 2475 m 5625 2925 l 5475 2925 l 5475 2475 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5475 2325 m 5475 1875 l 5625 1875 l 5625 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 3075 m 5625 3075 l 5625 3225 l 5175 3225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5325 3375 m 5325 3825 l 5175 3825 l 5175 3375 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4125 5325 m 3675 5325 l 3675 5175 l 4125 5175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4425 5175 m 4425 5625 l 4275 5625 l 4275 5175 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5025 5625 m 4575 5625 l 4575 5475 l 5025 5475 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 5475 m 5625 5475 l 5625 5625 l 5175 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5625 5025 m 5175 5025 l 5175 4875 l 5625 4875 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5025 1875 m 5025 2325 l 4875 2325 l 4875 1875 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1875 2475 m 2325 2475 l 2325 2625 l 1875 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 5625 m 2475 5175 l 2625 5175 l 2625 5625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 5775 m 3825 5775 l 3825 5925 l 3675 5925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 5175 m 3525 5175 l 3525 5325 l 3375 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 4575 m 3525 4575 l 3525 4725 l 3375 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 3975 m 3525 3975 l 3525 4125 l 3375 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 3375 m 3525 3375 l 3525 3525 l 3375 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 3375 m 2925 3375 l 2925 3525 l 2775 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 3375 m 2325 3375 l 2325 3525 l 2175 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1575 3675 m 1725 3675 l 1725 3825 l 1575 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 1575 m 3825 1575 l 3825 1725 l 3675 1725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 2175 m 4125 2175 l 4125 2325 l 3975 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 2775 m 4125 2775 l 4125 2925 l 3975 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 3975 m 4125 3975 l 4125 4125 l 3975 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 3975 m 4725 3975 l 4725 4125 l 4575 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 3975 m 5325 3975 l 5325 4125 l 5175 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5775 3675 m 5925 3675 l 5925 3825 l 5775 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 4275 m 5025 4275 l 5025 4425 l 4875 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 3375 m 4125 3375 l 4125 3525 l 3975 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3975 4575 m 4125 4575 l 4125 4725 l 3975 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 4575 m 4725 4575 l 4725 4725 l 4575 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 4875 m 4425 4875 l 4425 5025 l 4275 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 5175 4575 m 5325 4575 l 5325 4725 l 5175 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 4875 m 2625 4875 l 2625 5025 l 2475 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 4275 m 2625 4275 l 2625 4425 l 2475 4425 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 3675 m 2625 3675 l 2625 3825 l 2475 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 4575 m 2925 4575 l 2925 4725 l 2775 4725 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 4875 m 3225 4875 l 3225 5025 l 3075 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2175 2775 m 2325 2775 l 2325 2925 l 2175 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 2475 m 2625 2475 l 2625 2625 l 2475 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2475 3075 m 2625 3075 l 2625 3225 l 2475 3225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 2775 m 2925 2775 l 2925 2925 l 2775 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3375 2775 m 3525 2775 l 3525 2925 l 3375 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 2475 m 3825 2475 l 3825 2625 l 3675 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3075 2475 m 3225 2475 l 3225 2625 l 3075 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 2175 m 4725 2175 l 4725 2325 l 4575 2325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4275 2475 m 4425 2475 l 4425 2625 l 4275 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 3375 m 4725 3375 l 4725 3525 l 4575 3525 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 3675 m 5025 3675 l 5025 3825 l 4875 3825 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 3075 m 5025 3075 l 5025 3225 l 4875 3225 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 3975 m 2925 3975 l 2925 4125 l 2775 4125 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 2775 5175 m 2925 5175 l 2925 5325 l 2775 5325 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 3675 4875 m 3825 4875 l 3825 5025 l 3675 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 4875 m 5025 4875 l 5025 5025 l 4875 5025 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4575 2775 m 4725 2775 l 4725 2925 l 4575 2925 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 4875 2475 m 5025 2475 l 5025 2625 l 4875 2625 l cp gs 0.00 setgray ef gr gs col0 s gr % Polyline n 1500 1500 m 6000 1500 l 6000 6000 l 1500 6000 l cp gs col0 s gr % Polyline n 1800 1500 m 2100 1500 l 2100 6000 l 1800 6000 l cp gs col0 s gr % Polyline n 2400 1500 m 2700 1500 l 2700 6000 l 2400 6000 l cp gs col0 s gr % Polyline n 3000 6000 m 3300 6000 l 3300 1500 l 3000 1500 l cp gs col0 s gr % Polyline n 3600 1500 m 3900 1500 l 3900 6000 l 3600 6000 l cp gs col0 s gr % Polyline n 4200 6000 m 4500 6000 l 4500 1500 l 4200 1500 l cp gs col0 s gr % Polyline n 4800 1500 m 5100 1500 l 5100 6000 l 4800 6000 l cp gs col0 s gr % Polyline n 5400 6000 m 5700 6000 l 5700 1500 l 5400 1500 l cp gs col0 s gr % Polyline n 1500 1800 m 6000 1800 l 6000 2100 l 1500 2100 l cp gs col0 s gr % Polyline n 6000 2400 m 1500 2400 l 1500 2700 l 6000 2700 l cp gs col0 s gr % Polyline n 1500 3000 m 6000 3000 l 6000 3300 l 1500 3300 l cp gs col0 s gr % Polyline n 6000 5700 m 1500 5700 l 1500 5400 l 6000 5400 l cp gs col0 s gr % Polyline n 1500 5100 m 6000 5100 l 6000 4800 l 1500 4800 l cp gs col0 s gr % Polyline n 6000 4500 m 1500 4500 l 1500 4200 l 6000 4200 l cp gs col0 s gr % Polyline n 6000 3600 m 1500 3600 l 1500 3900 l 6000 3900 l cp gs col0 s gr $F2psEnd rs end %%EndDocument @endspecial 1376 3987 a Fl(Figure)27 b(10:)36 b(CR)n(OSSO)n(VER)26 b(blo)r(c)n(k)1926 5255 y(9)p eop %%Page: 10 10 10 9 bop 515 523 a Fk(|-|)86 b(|-|)g(.-|)g(-.|)f(-||)h(-||)g(-|.)g(-||) g(-||)g(-.|)g(.-|)g(|-|)g(|-|)515 623 y(-.|)g(.-|)g(|-|)g(|-|)f(|-|)h (|-|)g(|-|)g(|-.)g(|.-)g(||-)g(||-)g(||-)g(||-)639 769 y Fl(Ab)r(o)n(v)n(e)25 b(eac)n(h)f(diagram)f(is)i(sho)n(wn)f(its)i (distance-to-solv)n(e.)33 b(In)25 b(this)h(case)e(there)h(is)f(only)515 869 y(one)k(empt)n(y)g(cell,)h(whic)n(h)f(necessarily)f(sw)n(aps)g (places)h(with)h(a)f(car)g(on)g(ev)n(ery)f(mo)n(v)n(e.)38 b(This)515 969 y(giv)n(es)26 b(it)i(the)g(feel)g(of)g(a)f(maze)g (problem.)36 b(In)28 b(fact,)g(consider)515 1153 y Ff(De\014nition)j(4) 41 b Fj(A)30 b(R)n(ush)f(Hour)h(Maze)h(is)g(a)g(r)l(e)l(ctangular)f (grid)h(of)g(c)l(el)t(ls)g(one)g(of)g(which)h(is)515 1253 y(the)e(starting)g(lo)l(c)l(ation)i(for)f(the)f(player.)42 b(The)32 b(player)g(c)l(an)e(move)h(either)g(horizontal)t(ly)i(to)515 1352 y(a)27 b(c)l(el)t(l)h(he)g(last)f(left)h(horizontal)t(ly,)i(or)e (vertic)l(al)t(ly)h(to)e(a)h(c)l(el)t(l)g(he)f(last)h(left)f(vertic)l (al)t(ly.)40 b(Every)515 1452 y(c)l(el)t(l)29 b(exc)l(ept)e(the)h (start)g(is)g(oriente)l(d)h(to)f(r)l(estrict)g(the)g(\014rst)f (arrival.)40 b(The)29 b(exit)f(of)g(the)h(maze)515 1552 y(is)h(b)l(etwe)l(en)f(two)h(sp)l(e)l(ci\014e)l(d)h(neighb)l(oring)g(c) l(el)t(ls.)639 1710 y Fl(Then)40 b(ev)n(ery)f(Unit)h(Rush)g(Hour)g (instance)f(with)i(one)e(empt)n(y)h(cell,)j(in)d(whic)n(h)g(the)515 1810 y(target)35 b(is)i(the)g(leftmost)g(horizon)n(tal)e(car)h(in)h (its)g(ro)n(w)e(is)i(equiv)-5 b(alen)n(t)36 b(to)g(a)h(Rush)g(Hour)515 1910 y(Maze)c(instance.)55 b(The)34 b(exit)g(is)f(b)r(et)n(w)n(een)h (the)g(t)n(w)n(o)f(leftmost)h(cells)g(on)f(the)h(target)f(ro)n(w.)515 2009 y(Ha)n(ving)e(the)h(maze)f(pla)n(y)n(er)g(mo)n(v)n(e)f(b)r(et)n(w) n(een)i(these)g(t)n(w)n(o)f(cells)h(is)g(equiv)-5 b(alen)n(t)31 b(to)h(mo)n(ving)515 2109 y(a)27 b(horizon)n(tal)f(car)h(b)r(et)n(w)n (een)g(the)h(t)n(w)n(o)f(cells.)37 b(By)27 b(assumption,)g(this)h(m)n (ust)g(b)r(e)g(the)g(target)515 2209 y(car)e(reac)n(hing)g(the)i(exit.) 639 2308 y(Ha)n(ving)22 b(the)h(exit)f(of)h(a)f(Rush)h(Hour)f(Maze)g(b) r(et)n(w)n(een)g(cells)g(is)h(imp)r(ortan)n(t)f(for)g(ensuring)515 2408 y(non-trivialit)n(y)-7 b(,)33 b(since)g(the)h(question)f(of)g (whether)g(the)h(pla)n(y)n(er)e(can)h(reac)n(h)f(a)g(giv)n(en)h(exit) 515 2507 y(cell)27 b(reduces)g(to)h(the)g(follo)n(wing)e(question:)639 2607 y(In)20 b(the)g(directed)f(graph)f(that)i(connects)e(from)h(eac)n (h)g(cell)g(to)g(neigh)n(b)r(ors)g(of)g(appropriate)515 2707 y(orien)n(tation,)26 b(do)r(es)h(there)h(exist)f(a)g(path)h(from)f (the)h(pla)n(y)n(er)e(to)i(the)g(exit)g(cell?)639 2806 y(This)39 b(question)f(can)g(b)r(e)i(answ)n(ered)d(with)i(a)f(straigh)n (tforw)n(ard)e(depth-\014rst)j(searc)n(h,)515 2906 y(th)n(us)27 b(all)h(mazes)f(with)h(exit)f(cells)h(are)e(rather)h(trivial.)639 3006 y(Similarly)-7 b(,)26 b(the)g(question)g(of)f(whether)h(a)f(sp)r (eci\014c)h(car)f(can)h(b)r(e)g(mo)n(v)n(ed)f(at)g(all)h(reduces)515 3105 y(to)h(the)h(existence)f(of)h(a)f(path)h(from)f(the)h(pla)n(y)n (er)e(to)i(that)g(car)2450 3075 y Fd(1)2486 3105 y Fl(.)515 3376 y Fm(6)134 b(Righ)l(t-hand)46 b(rule)515 3557 y Fl(In)25 b(plain)g(mazes,)g(one)f(can)h(sometimes)f(follo)n(w)g(a)h (simple)g(rule)g(in)g(order)e(to)i(\014nd)h(the)f(exit.)515 3657 y(The)36 b Fj(R)n(ight-Hand)i(R)n(ule)e Fl(sa)n(ys)g(to)g(alw)n(a) n(ys)f(tak)n(e)h(the)h(righ)n(tmost)e(turn,)k(as)d(pictured)h(in)515 3757 y(Figure)20 b(11.)34 b(It)22 b(w)n(orks)d(in)i(an)n(y)g(maze)g (whose)f(underlying)h(graph)f(is)h(acyclic.)34 b(Also)20 b(in)i(Rush)515 3856 y(Hour)32 b(Mazes,)i(the)g(righ)n(t-hand)e(rule)h (is)g(w)n(ell)g(de\014ned.)55 b(And)33 b(indeed)h(it)g(is)f(guaran)n (teed)515 3956 y(to)h(lead)f(to)h(the)g(exit)h(in)f(case)f(the)h(state) g(graph)f(is)h(acyclic.)55 b(But)34 b(whereas)f(the)i(states)515 4056 y(of)d(a)f(plain)h(maze)g(are)f(readily)g(apparen)n(t)g(as)h(the)g (p)r(ossible)g(p)r(ositions)f(of)h(the)h(pla)n(y)n(er,)e(a)515 4155 y(Rush)f(Hour)g(Maze)f(can)h(ha)n(v)n(e)f(m)n(ultiple)h(states)g (with)g(the)h(same)e(pla)n(y)n(er)g(p)r(osition,)h(suc)n(h)515 4255 y(as)d(p)r(ositions)g(3)g(and)g(9,)h(or)e(22)h(and)h(32,)e(b)r (elo)n(w.)602 4401 y Fk(0)217 b(3)h(9)174 b(12)f(14)h(22)f(32)h(36)f (44)515 4501 y(||=-)85 b(||=-)h(|=-|)f(|=-|)h(|=-|)f(|=-|)h(||=-)f (.|=-)h(||=-)515 4601 y(|-|.)f(|-.|)h(||.-)f(|.|-)h(|||-)f(|||-)h(|-||) f(|-||)h(|-|.)515 4700 y(|--|)f(|-|-)h(|-|-)f(||--)h(|-.-)f(--.|)h (--.|)f(|--|)h(|--|)515 4800 y(---|)f(---|)h(---|)f(---|)h(---|)f(|---) h(|---)f(|---)h(---|)p 515 4850 1146 4 v 607 4904 a Fc(1)642 4927 y Fb(The)34 b(Conclusion)h(of)e([3])h(men)n(tions)f(this)h(fact)h (and)f(the)h(op)r(en)g(problem)e(of)h(Unit)g(Rush)g(Hour's)515 5006 y(hardness,)23 b(based)i(on)f(discussions)f(with)h(this)f(pap)r (er's)h(\014rst)f(author.)1905 5255 y Fl(10)p eop %%Page: 11 11 11 10 bop 515 1282 a @beginspecial 0 @llx 0 @lly 165 @urx 147 @ury 1133 @rwi @setspecial %%BeginDocument: righthand.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: righthand.eps %%Creator: fig2dev Version 3.2 Patchlevel 3d %%CreationDate: Wed Jun 9 16:22:38 2004 %%For: tromp@capella.ins.cwi.nl (John Tromp,C109,4237,020-7763716) %%BoundingBox: 0 0 165 147 %%Magnification: 1.0000 %%EndComments /$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 newpath 0 147 moveto 0 0 lineto 165 0 lineto 165 147 lineto closepath clip newpath -17.3 181.3 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 0.06000 0.06000 sc % % Fig objects follow % % Polyline 15.000 slw n 600 600 m 3000 600 l 3000 3000 l 600 3000 l 600 1200 l gs col0 s gr % Polyline n 1200 600 m 1200 2400 l gs col0 s gr % Polyline n 1200 1800 m 1800 1800 l 1800 2400 l 2400 2400 l gs col0 s gr % Polyline n 1800 600 m 1800 1200 l 2400 1200 l gs col0 s gr % Polyline n 3000 1800 m 2400 1800 l gs col0 s gr % Polyline 2 slj 7.500 slw gs clippath 274 878 m 298 933 l 437 873 l 315 893 l 413 818 l cp eoclip n 2100 900 m 2102 900 l 2107 900 l 2115 900 l 2127 900 l 2144 901 l 2165 901 l 2191 902 l 2220 903 l 2251 905 l 2285 907 l 2320 909 l 2356 913 l 2392 917 l 2428 922 l 2463 929 l 2498 936 l 2532 946 l 2564 957 l 2596 971 l 2626 986 l 2654 1005 l 2679 1026 l 2700 1050 l 2715 1074 l 2726 1098 l 2735 1122 l 2740 1145 l 2743 1167 l 2745 1186 l 2746 1205 l 2746 1221 l 2745 1236 l 2744 1250 l 2742 1263 l 2740 1276 l 2737 1288 l 2734 1299 l 2730 1311 l 2725 1324 l 2719 1337 l 2712 1352 l 2702 1367 l 2690 1384 l 2675 1402 l 2658 1421 l 2637 1441 l 2612 1462 l 2583 1482 l 2550 1500 l 2517 1515 l 2482 1528 l 2447 1539 l 2414 1548 l 2382 1556 l 2352 1564 l 2325 1570 l 2300 1575 l 2278 1580 l 2257 1585 l 2238 1589 l 2221 1593 l 2204 1597 l 2187 1600 l 2171 1603 l 2154 1605 l 2136 1606 l 2117 1607 l 2096 1606 l 2072 1605 l 2046 1601 l 2018 1595 l 1986 1588 l 1952 1577 l 1916 1563 l 1877 1546 l 1838 1525 l 1800 1500 l 1764 1472 l 1731 1441 l 1702 1408 l 1677 1376 l 1656 1344 l 1639 1312 l 1626 1282 l 1616 1253 l 1609 1225 l 1604 1199 l 1601 1173 l 1600 1148 l 1600 1124 l 1600 1100 l 1601 1076 l 1601 1052 l 1601 1028 l 1600 1003 l 1598 978 l 1594 952 l 1589 925 l 1582 898 l 1572 870 l 1561 843 l 1547 816 l 1532 791 l 1516 769 l 1500 750 l 1483 736 l 1468 727 l 1454 723 l 1441 722 l 1431 725 l 1422 731 l 1414 738 l 1408 746 l 1402 756 l 1398 766 l 1394 777 l 1391 788 l 1387 800 l 1385 812 l 1382 826 l 1379 839 l 1376 854 l 1373 870 l 1370 886 l 1366 905 l 1363 925 l 1359 946 l 1356 970 l 1353 995 l 1351 1022 l 1350 1050 l 1351 1084 l 1353 1118 l 1356 1148 l 1359 1175 l 1362 1198 l 1363 1218 l 1364 1234 l 1364 1247 l 1364 1257 l 1363 1267 l 1362 1275 l 1362 1283 l 1363 1293 l 1365 1303 l 1370 1316 l 1376 1332 l 1386 1352 l 1400 1375 l 1418 1402 l 1440 1432 l 1468 1466 l 1500 1500 l 1532 1530 l 1566 1558 l 1599 1583 l 1631 1603 l 1661 1619 l 1688 1632 l 1713 1640 l 1736 1646 l 1757 1649 l 1776 1651 l 1795 1651 l 1813 1650 l 1830 1649 l 1848 1649 l 1867 1651 l 1888 1654 l 1909 1660 l 1933 1668 l 1959 1681 l 1986 1697 l 2015 1717 l 2044 1742 l 2073 1770 l 2100 1800 l 2127 1838 l 2146 1874 l 2158 1908 l 2164 1938 l 2162 1964 l 2156 1986 l 2146 2005 l 2132 2022 l 2117 2036 l 2100 2050 l 2083 2063 l 2068 2077 l 2054 2092 l 2044 2109 l 2038 2128 l 2036 2150 l 2042 2174 l 2054 2200 l 2073 2226 l 2100 2250 l 2127 2267 l 2156 2280 l 2186 2290 l 2216 2296 l 2245 2298 l 2273 2297 l 2299 2293 l 2324 2287 l 2347 2279 l 2370 2270 l 2391 2260 l 2413 2250 l 2434 2240 l 2455 2230 l 2477 2221 l 2500 2213 l 2524 2207 l 2549 2203 l 2575 2202 l 2601 2204 l 2628 2210 l 2655 2220 l 2679 2233 l 2700 2250 l 2714 2267 l 2725 2286 l 2733 2305 l 2739 2324 l 2744 2342 l 2747 2360 l 2749 2377 l 2750 2393 l 2751 2409 l 2751 2423 l 2752 2437 l 2751 2450 l 2751 2462 l 2750 2475 l 2748 2488 l 2746 2500 l 2743 2513 l 2739 2527 l 2733 2541 l 2725 2557 l 2715 2573 l 2702 2590 l 2686 2608 l 2667 2626 l 2644 2645 l 2617 2664 l 2586 2683 l 2550 2700 l 2514 2714 l 2475 2726 l 2437 2737 l 2398 2745 l 2361 2753 l 2326 2759 l 2293 2765 l 2262 2769 l 2232 2773 l 2205 2776 l 2179 2779 l 2155 2782 l 2132 2784 l 2110 2786 l 2087 2788 l 2066 2789 l 2043 2790 l 2020 2790 l 1996 2790 l 1971 2789 l 1945 2787 l 1916 2784 l 1886 2780 l 1855 2775 l 1821 2768 l 1787 2759 l 1751 2748 l 1716 2735 l 1682 2719 l 1650 2700 l 1616 2673 l 1588 2644 l 1568 2614 l 1555 2585 l 1547 2557 l 1545 2530 l 1547 2505 l 1553 2482 l 1562 2460 l 1574 2439 l 1586 2420 l 1600 2400 l 1614 2380 l 1628 2361 l 1641 2340 l 1652 2318 l 1662 2295 l 1670 2270 l 1675 2243 l 1676 2215 l 1675 2186 l 1670 2156 l 1661 2127 l 1650 2100 l 1639 2080 l 1626 2063 l 1614 2049 l 1601 2037 l 1588 2028 l 1577 2020 l 1565 2015 l 1554 2010 l 1544 2007 l 1535 2004 l 1526 2002 l 1517 2001 l 1508 2000 l 1500 2000 l 1492 2000 l 1483 2001 l 1474 2002 l 1465 2004 l 1456 2007 l 1446 2010 l 1435 2015 l 1423 2020 l 1412 2028 l 1399 2037 l 1386 2049 l 1374 2063 l 1361 2080 l 1350 2100 l 1339 2127 l 1330 2156 l 1324 2186 l 1321 2217 l 1320 2247 l 1322 2275 l 1325 2303 l 1331 2329 l 1338 2354 l 1345 2378 l 1354 2402 l 1363 2425 l 1371 2448 l 1379 2471 l 1387 2494 l 1393 2518 l 1397 2542 l 1400 2567 l 1400 2592 l 1397 2618 l 1390 2642 l 1381 2665 l 1367 2685 l 1350 2700 l 1334 2708 l 1317 2713 l 1299 2716 l 1281 2717 l 1264 2717 l 1247 2716 l 1231 2715 l 1215 2715 l 1200 2714 l 1187 2713 l 1173 2713 l 1161 2713 l 1149 2713 l 1137 2713 l 1125 2712 l 1113 2711 l 1101 2709 l 1089 2706 l 1077 2701 l 1063 2693 l 1050 2683 l 1035 2670 l 1019 2654 l 1003 2633 l 986 2608 l 969 2577 l 951 2541 l 933 2500 l 916 2453 l 900 2400 l 888 2353 l 878 2304 l 870 2254 l 863 2205 l 858 2157 l 855 2110 l 854 2066 l 854 2024 l 856 1984 l 859 1947 l 863 1912 l 869 1879 l 875 1848 l 881 1819 l 889 1791 l 896 1764 l 904 1738 l 913 1712 l 921 1687 l 928 1661 l 936 1634 l 943 1606 l 949 1578 l 955 1547 l 960 1515 l 963 1481 l 965 1445 l 966 1406 l 965 1365 l 962 1323 l 957 1278 l 950 1232 l 941 1185 l 929 1139 l 916 1093 l 900 1050 l 879 1003 l 856 961 l 831 926 l 806 896 l 780 872 l 753 852 l 726 837 l 699 826 l 672 818 l 644 814 l 617 812 l 589 813 l 561 815 l 534 819 l 506 825 l 480 832 l 454 839 l 429 847 l 406 856 l 384 864 l 365 871 l 348 878 l 334 884 l 322 890 l 314 894 l 300 900 l gs col0 s gr gr % arrowhead 0 slj n 413 818 m 315 893 l 437 873 l col0 s $F2psEnd rs %%EndDocument @endspecial 933 1464 a Fl(Figure)27 b(11:)36 b(solving)27 b(a)g(4x4)f(maze)h(using)h(the)g(righ)n(t-hand)e(rule)515 1730 y(The)k(righ)n(t-hand)f(rule)h(fails)h(to)f(\014nd)h(the)g (\\exit")e(here,)i(ha)n(ving)e(pushed)i(the)g(target)e(car)515 1829 y(bac)n(k)d(b)r(et)n(w)n(een)i(mo)n(v)n(es)e(22{32)f(lea)n(ving)i (it)h(out)f(of)h(reac)n(h)e(in)i(p)r(osition)g(36.)515 2104 y Fm(7)134 b(Empirical)47 b(Results)515 2286 y Fl(The)21 b(most)f(straigh)n(tforw)n(ard)e(w)n(a)n(y)i(to)g(get)h(a)g(feel)g(for) f(the)h(hardness)f(of)h(puzzles)f(is)h(to)g(study)515 2385 y(ho)n(w)28 b(the)i(w)n(orst-case)d(solution)i(length)g(gro)n(ws)e (with)j(the)g(problem)e(size.)42 b(Sup)r(erp)r(olyno-)515 2485 y(mial)28 b(gro)n(wth)e(is)i(a)g(prerequisite)f(for)h(hardness.)37 b(In)28 b(order)f(to)h(study)g(solution)g(length)g(in)515 2585 y(small)d(cases,)f(w)n(e)h(implemen)n(ted)h(an)f(exhaustiv)n(e)g (state-space)e(searc)n(h)h(program)f(for)i(Unit)515 2684 y(Rush)j(Hour,)f(fo)r(cusing)h(on)f(instances)g(with)h(a)g(single)f (empt)n(y)h(cell.)37 b(Consider)27 b(the)h(graph)515 2784 y Fi(G)e Fl(of)f(all)g(p)r(ossible)g(con\014gurations)f(of)h (width)h Fi(w)i Fl(heigh)n(t)e Fi(h)f Fl(and)g(an)g(exit)h(on)f(ro)n(w) f Fi(e)p Fl(.)36 b(With)515 2883 y Fi(w)r(h)31 b Fl(p)r(ossibilities)f (for)g(the)g(lo)r(cation)g(of)g(the)h(empt)n(y)f(cell,)h(and)f(2)2577 2853 y Fe(w)r(h)p Fa(\000)p Fd(1)2785 2883 y Fl(p)r(ossible)g(orien)n (ta-)515 2983 y(tions)f(of)g(the)g(cars)f(in)h(the)h(other)e(cells,)h Fi(G)h Fl(has)e Fi(w)r(h)p Fl(2)2194 2953 y Fe(w)r(h)p Fa(\000)p Fd(1)2401 2983 y Fl(no)r(des,)h(or)f Fj(states)p Fl(.)42 b(Searc)n(hing)515 3083 y Fi(G)28 b Fl(requires)f(kno)n(wing)g (whic)n(h)h(states)g(w)n(e'v)n(e)f(visited)h(b)r(efore.)39 b(Storing)27 b(ev)n(en)h(one)f(bit)i(p)r(er)515 3182 y(state)h(is)g(undesirable)f(since)h(it)g(w)n(ould)g(put)h(the)f(case)f Fi(w)h Fl(=)d Fi(h)g Fl(=)g(6)j(out)g(of)g(reac)n(h)e(at)i(144)515 3282 y(Gb)n(yte.)50 b(Instead)32 b(w)n(e)f(partition)h Fi(G)g Fl(as)g(follo)n(ws.)49 b(First,)33 b(w)n(e)e(remo)n(v)n(e)g (from)g Fi(G)i Fl(all)f(states)515 3382 y(with)24 b(no)f(horizon)n(tal) e(cars)h(on)h(the)h(exit)g(ro)n(w.)34 b(In)23 b(all)g(remaining)g (states,)h(the)f(leftmost)h(car)515 3481 y(on)g(the)h(exit)g(ro)n(w)e (is)i(the)g(target)e(car.)35 b(Dep)r(ending)25 b(on)g(whether)f(this)h (car)f(in)h(the)g(leftmost)515 3581 y(cell,)40 b(a)d(state)g(is)g (either)g Fj(solve)l(d)i Fl(or)e Fj(unsolve)l(d)p Fl(.)66 b(Of)38 b(the)g(solv)n(ed)e(states,)k(w)n(e)d(only)g(k)n(eep)515 3680 y(the)32 b Fj(justsolve)l(d)g Fl(ones,)g(where)f(the)h(empt)n(y)g (cell)f(is)h(righ)n(t)f(next)g(to)h(the)g(target)e(car.)48 b(This)515 3780 y(partitions)34 b Fi(G)h Fl(in)n(to)f(man)n(y)g (connected)g(comp)r(onen)n(ts,)i(and)f(preserv)n(es)d(the)j(largest)e (dis-)515 3880 y(tance)23 b(to)h(solution.)35 b(W)-7 b(e)24 b(can)f(no)n(w)g(en)n(umerate)g(all)g(justsolv)n(ed)g(states,)h (c)n(hec)n(king)f(if)h(w)n(e'v)n(e)515 3979 y(visited)36 b(it)g(b)r(efore,)i(and)d(if)i(not,)h(searc)n(h)c(the)i(whole)g (connected)g(comp)r(onen)n(t)f(marking)515 4079 y(all)30 b(encoun)n(tered)f(justsolv)n(ed)h(states)g(as)g(visited.)45 b(This)31 b(tak)n(es)e(only)h(2)2773 4049 y Fe(w)r(h)p Fa(\000)p Fd(2)2981 4079 y Fl(bits,)h(whic)n(h)515 4179 y(amoun)n(ts)f(to)g(a)g(feasible)g(2)h(Gb)n(yte)f(for)g Fi(w)h Fl(=)d Fi(h)f Fl(=)h(6.)45 b(Searc)n(hing)30 b(eac)n(h)f(comp)r (onen)n(t)i(in)f(a)515 4278 y(breadth)f(\014rst)h(manner)f(further)h (helps)g(to)g(conserv)n(e)e(space.)43 b(The)30 b(follo)n(wing)f(table)h (lists)515 4378 y(the)g(w)n(orst-case)d(solution)j(length)f(for)h(eac)n (h)f(width)h(and)g(heigh)n(t,)g(o)n(v)n(er)e(all)h(p)r(ossible)h(exit) 515 4477 y(ro)n(ws)c(and)h(states.)1905 5255 y(11)p eop %%Page: 12 12 12 11 bop 774 443 2346 4 v 772 543 4 100 v 970 513 a Fl(width)p 1225 543 V 141 w(2)p 1408 543 V 141 w(3)p 1591 543 V 182 w(4)p 1815 543 V 182 w(5)p 2039 543 V 182 w(6)p 2263 543 V 183 w(7)p 2487 543 V 182 w(8)p 2711 543 V 182 w(9)p 2935 543 V 99 w(10)p 3118 543 V 772 643 V 824 613 a(heigh)n(t)p 1225 643 V 1408 643 V 1591 643 V 1815 643 V 2039 643 V 2263 643 V 2487 643 V 2711 643 V 2935 643 V 3118 643 V 774 646 2346 4 v 772 746 4 100 v 824 716 a(2)p 1225 746 V 452 w(3)p 1408 746 V 141 w(6)p 1591 746 V 182 w(8)p 1815 746 V 141 w(10)p 2039 746 V 140 w(12)p 2263 746 V 140 w(14)p 2487 746 V 140 w(16)p 2711 746 V 140 w(18)p 2935 746 V 99 w(20)p 3118 746 V 774 749 2346 4 v 772 848 4 100 v 824 819 a(3)p 1225 848 V 452 w(5)p 1408 848 V 99 w(12)p 1591 848 V 141 w(21)p 1815 848 V 140 w(32)p 2039 848 V 140 w(43)p 2263 848 V 140 w(54)p 2487 848 V 140 w(65)p 2711 848 V 140 w(76)p 2935 848 V 99 w(87)p 3118 848 V 774 852 2346 4 v 772 951 4 100 v 824 922 a(4)p 1225 951 V 452 w(7)p 1408 951 V 99 w(21)p 1591 951 V 141 w(40)p 1815 951 V 140 w(87)p 2039 951 V 98 w(132)p 2263 951 V 98 w(194)p 2487 951 V 99 w(286)p 2711 951 V 98 w(435)p 2935 951 V 3118 951 V 774 955 2346 4 v 772 1054 4 100 v 824 1024 a(5)p 1225 1054 V 452 w(9)p 1408 1054 V 99 w(31)p 1591 1054 V 141 w(75)p 1815 1054 V 98 w(199)p 2039 1054 V 98 w(336)p 2263 1054 V 98 w(699)p 2487 1054 V 2711 1054 V 2935 1054 V 3118 1054 V 774 1058 2346 4 v 772 1157 4 100 v 824 1127 a(6)p 1225 1157 V 411 w(11)p 1408 1157 V 98 w(41)p 1591 1157 V 99 w(167)p 1815 1157 V 98 w(339)p 2039 1157 V 98 w(732)p 2263 1157 V 2487 1157 V 2711 1157 V 2935 1157 V 3118 1157 V 774 1161 2346 4 v 772 1260 4 100 v 824 1230 a(7)p 1225 1260 V 411 w(13)p 1408 1260 V 98 w(51)p 1591 1260 V 99 w(215)p 1815 1260 V 98 w(578)p 2039 1260 V 2263 1260 V 2487 1260 V 2711 1260 V 2935 1260 V 3118 1260 V 774 1264 2346 4 v 772 1363 4 100 v 824 1333 a(8)p 1225 1363 V 411 w(15)p 1408 1363 V 98 w(62)p 1591 1363 V 99 w(309)p 1815 1363 V 2039 1363 V 2263 1363 V 2487 1363 V 2711 1363 V 2935 1363 V 3118 1363 V 774 1367 2346 4 v 772 1466 4 100 v 824 1436 a(9)p 1225 1466 V 411 w(17)p 1408 1466 V 98 w(73)p 1591 1466 V 99 w(650)p 1815 1466 V 2039 1466 V 2263 1466 V 2487 1466 V 2711 1466 V 2935 1466 V 3118 1466 V 774 1469 2346 4 v 772 1569 4 100 v 824 1539 a(10)p 1225 1569 V 369 w(19)p 1408 1569 V 98 w(84)p 1591 1569 V 1815 1569 V 2039 1569 V 2263 1569 V 2487 1569 V 2711 1569 V 2935 1569 V 3118 1569 V 774 1572 2346 4 v 639 1721 a(This)32 b(limited)h(data)e(suggests)g(an)h(exp)r(onen)n(tial)f(gro)n(wth)g (rate.)49 b(It)32 b(is)g(in)n(teresting)f(to)515 1821 y(analyze)26 b(these)i(w)n(orst-case)d(solutions)i(in)h(detail.)639 1921 y(Figure)h(12)g(visualizes)g(the)h(199)e(step)h(solution)h(of)f (the)h(hardest)f(5x5)f(instance.)43 b(The)515 2020 y(thic)n(k)d(lines)g (indicate)g(the)h(c)n(hanging)e(p)r(osition)h(of)g(the)g(empt)n(y)h (cell.)74 b(Curiously)-7 b(,)43 b(the)515 2120 y(solution)37 b(can)h(b)r(e)g(brok)n(en)e(do)n(wn)i(in)n(to)f(segmen)n(ts)g(eac)n(h)g (of)h(whic)n(h)g(is)g(either)f(a)h(simple)515 2220 y(path,)d(or)d(a)h (path)g(follo)n(w)n(ed)f(b)n(y)h(a)g(circuit,)h(follo)n(w)n(ed)e(b)n(y) h(the)h(path)f(in)h(rev)n(erse.)51 b(In)34 b(the)515 2319 y(latter)27 b(case,)h(the)g(e\013ect)g(of)g(the)h(segmen)n(t)e(is) h(limited)h(to)e(\015ipping)h(the)h(orien)n(tation)d(of)i(all)515 2419 y(circuit)f(corners,)f(whic)n(h)i(somewhat)f(resem)n(bles)f(the)i (\015ipping)g(of)f(a)h(bit.)639 2518 y(Figure)f(13)g(visualizes)g(the)h (732)e(step)h(solution)h(of)f(the)h(hardest)f(6x6)g(instance.)639 2618 y(Here,)k(w)n(e)f(can)g(also)f(mak)n(e)h(out)g(`virtual')g(bit)h (\015ips)f(on)g(a)g(larger)e(scale.)44 b(Comparing)515 2718 y(the)25 b(states)f(at)g(distances)g(674)f(and)h(268,)g(w)n(e)g (see)g(that)h(they)g(di\013er)f(in)h(only)f(the)h(4)f(corners)515 2817 y(of)j(a)g(`virtual')h(circuit,)f(taking)g(no)h(less)f(than)g(406) g(steps)g(to)h(complete.)639 2917 y(There's)g(little)h(hop)r(e)f(of)g (exhaustiv)n(ely)f(searc)n(hing)f(all)i(7x7)f(instances)h(using)f(our)h (ap-)515 3017 y(proac)n(h,)c(as)h(it)i(w)n(ould)e(tak)n(e)g(2)1448 2986 y Fd(49)p Fa(\000)p Fd(2)1629 3017 y Fl(bits,)h(or)f(16)g(Tb)n (yte.)36 b(But)26 b(already)e(in)i(the)g(6x6)f(case,)g(a)515 3116 y(great)h(deal)h(of)h(complexit)n(y)f(is)g(apparen)n(t.)639 3216 y(What)40 b(is)e(far)h(from)g(apparen)n(t)f(though,)j(is)e(ho)n(w) f(to)h(harness)f(this)h(complexit)n(y)g(in)515 3315 y(constructing)31 b(particular)g(circuits,)j(suc)n(h)e(as)f(binary)h(coun)n(ters)f(that)i (w)n(ould)f(pro)n(v)n(e)f(the)515 3415 y(existence)e(of)g(exp)r(onen)n (tial)f(length)h(solutions,)g(or)g(ev)n(en)f(the)i(AND)g(and)f(OR)g (gates)f(that)515 3515 y(pro)n(vide)19 b(a)i(basis)f(for)g (Nondeterministic)h(Constrain)n(t)f(Logic.)34 b(This)20 b(lea)n(v)n(es)g(us)g(with)i(man)n(y)515 3614 y(questions)27 b(ab)r(out)g(the)h(complexit)n(y)f(of)h(Unit)g(Rush)g(Hour.)515 3889 y Fm(8)134 b(Op)t(en)45 b(Problems)515 4071 y Fl(While)26 b(Size)f(2)g(Rush)g(Hour)g(w)n(as)f(sho)n(wn)h(to)g(b)r(e)h(PSP)-7 b(A)n(CE)24 b(complete,)i(the)f(complexit)n(y)g(of)515 4170 y(Unit)g(Rush)g(Hour)g(eludes)f(us.)36 b(It's)25 b(not)g(clear)f(if)h(limiting)h(the)f(n)n(um)n(b)r(er)f(of)h(empt)n(y)g (spaces)515 4270 y(to)35 b(one)g(reduces)f(the)i(complexit)n(y)f(of)g (Unit)h(Rush)g(Hour.)59 b(Empirical)34 b(results)h(suggest)515 4370 y(that)30 b(the)h(hardest)e(instances)h(do)g(in)g(fact)h(ha)n(v)n (e)e(only)h(one)f(empt)n(y)i(space.)44 b(Finally)-7 b(,)31 b(it)f(is)515 4469 y(p)r(ossible)d(that)h(Unit)g(Rush)f(Hour)g(b)r (ecomes)g(more)g(complex)g(if)h(w)n(e)f(can)g(designate)g(some)515 4569 y(of)32 b(the)h(cars)f(as)g(b)r(eing)h(neither)f(horizon)n(tal)g (nor)f(v)n(ertical)h(but)h(plain)g(immobile,)h(whic)n(h)515 4668 y(is)29 b(equiv)-5 b(alen)n(t)29 b(to)g(sa)n(ying)f(the)h(parking) f(lot)i(can)f(ha)n(v)n(e)f(arbitrarily)f(shap)r(ed)i(w)n(alls.)41 b(Let's)515 4768 y(call)26 b(this)h(generalization)e Fj(Wal)t(le)l(d)j Fl(Unit)f(Rush)g(Hour.)36 b(Ob)n(viously)-7 b(,)26 b(Rush)h(Hour)f(Maze)g(is)515 4868 y(no)k(harder)f(than)h(Unit)h (Rush)g(Hour,)f(whic)n(h)g(in)h(turn)f(is)g(no)g(harder)f(than)i(W)-7 b(alled)30 b(Unit)515 4967 y(Rush)e(Hour.)36 b(But)28 b(this)g(lea)n(v)n(es)e(us)h(with)h(a)g(big)f(op)r(en)1905 5255 y(12)p eop %%Page: 13 13 13 12 bop 515 4809 a @beginspecial 0 @llx -150 @lly 91 @urx 3 @ury 3118 @rwi @setspecial %%BeginDocument: sol199.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: loGO %%Creator: John Tromp (tromp@cwi.nl) %%CreationDate: Fri Aug 13 1993 %%BoundingBox: 0 -150 91 3 %%Pages: 0 %%EndComments %%EndProlog 0.1 setlinewidth /Times-Roman findfont 1.9 scalefont setfont /turna { /y exch def /x exch def newpath x -1 add y -1 add 1 0 90 arc stroke stroke } def /turnb { /y exch def /x exch def newpath x -1 add y 1 add 1 270 0 arc stroke stroke } def /turnc { /y exch def /x exch def newpath x 1 add y 1 add 1 180 270 arc stroke stroke } def /turnd { /y exch def /x exch def newpath x 1 add y -1 add 1 90 180 arc stroke stroke } def /linea { /y exch def /x exch def x -1 add y moveto 2 0 rlineto stroke } def /lineb { /y exch def /x exch def x y -1 add moveto 0 2 rlineto stroke } def /teea { /y exch def /x exch def x y moveto x y 1 add lineto x y moveto x -1 add y lineto x y moveto x 1 add y lineto stroke } def /teeb { /y exch def /x exch def x y moveto x y 1 add lineto x y moveto x -1 add y lineto x y moveto x y -1 add lineto stroke } def /teec { /y exch def /x exch def x y moveto x -1 add y lineto x y moveto x y -1 add lineto x y moveto x 1 add y lineto stroke } def /teed { /y exch def /x exch def x y moveto x y 1 add lineto x y moveto x y -1 add lineto x y moveto x 1 add y lineto stroke } def /starta { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore x y moveto x y -1 add lineto stroke } def /startb { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore x y moveto x 1 add y lineto stroke } def /startc { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore x y moveto x y 1 add lineto stroke } def /startd { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore x y moveto x -1 add y lineto stroke } def /loopstart { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore stroke } def /cara { /y exch def /x exch def gsave .37 setgray -0.3 x add -0.7 y add 0.6 1.4 rectstroke stroke grestore stroke } def /carb { /y exch def /x exch def gsave .64 setgray -0.7 x add -0.3 y add 1.4 0.6 rectstroke stroke grestore stroke } def 4 1 moveto (199) show stroke 0 0 moveto 0 0 cara 2 0 moveto 2 0 cara 4 0 moveto 4 0 cara 6 0 moveto 6 0 cara 8 0 moveto 8 0 carb 0 -2 moveto 0 -2 carb 2 -2 moveto 2 -2 cara 4 -2 moveto 4 -2 cara 6 -2 moveto 6 -2 carb 8 -2 moveto 8 -2 carb 0 -4 moveto 0 -4 cara 2 -4 moveto 2 -4 carb 4 -4 moveto 4 -4 carb 6 -4 moveto 6 -4 cara 8 -4 starta 8 -4 moveto 0 -6 moveto 0 -6 cara 2 -6 turnd 2 -6 cara 4 -6 startd 4 -6 carb 6 -6 moveto 6 -6 carb 8 -6 lineb 8 -6 cara 0 -8 moveto 0 -8 cara 2 -8 turnc 2 -8 carb 4 -8 linea 4 -8 carb 6 -8 linea 6 -8 carb 8 -8 turnb 8 -8 cara 20 1 moveto (192) show stroke 16 0 moveto 16 0 cara 18 0 moveto 18 0 cara 20 0 moveto 20 0 cara 22 0 moveto 22 0 cara 24 0 moveto 24 0 carb 16 -2 moveto 16 -2 carb 18 -2 moveto 18 -2 cara 20 -2 turnd 20 -2 cara 22 -2 linea 22 -2 carb 24 -2 turna 24 -2 carb 16 -4 moveto 16 -4 cara 18 -4 moveto 18 -4 carb 20 -4 turnc 20 -4 carb 22 -4 teec 22 -4 cara 24 -4 turnb 24 -4 cara 16 -6 moveto 16 -6 cara 18 -6 moveto 18 -6 carb 20 -6 startb 20 -6 moveto 22 -6 turnb 22 -6 carb 24 -6 moveto 24 -6 cara 16 -8 moveto 16 -8 cara 18 -8 moveto 18 -8 cara 20 -8 moveto 20 -8 carb 22 -8 moveto 22 -8 carb 24 -8 moveto 24 -8 carb 36 1 moveto (182) show stroke 32 0 moveto 32 0 cara 34 0 moveto 34 0 cara 36 0 moveto 36 0 cara 38 0 moveto 38 0 cara 40 0 moveto 40 0 carb 32 -2 turnd 32 -2 carb 34 -2 turna 34 -2 cara 36 -2 moveto 36 -2 carb 38 -2 moveto 38 -2 carb 40 -2 moveto 40 -2 cara 32 -4 startc 32 -4 cara 34 -4 turnc 34 -4 carb 36 -4 turna 36 -4 cara 38 -4 moveto 38 -4 cara 40 -4 moveto 40 -4 carb 32 -6 moveto 32 -6 cara 34 -6 moveto 34 -6 carb 36 -6 startc 36 -6 moveto 38 -6 moveto 38 -6 carb 40 -6 moveto 40 -6 cara 32 -8 moveto 32 -8 cara 34 -8 moveto 34 -8 cara 36 -8 moveto 36 -8 carb 38 -8 moveto 38 -8 carb 40 -8 moveto 40 -8 carb 52 1 moveto (177) show stroke 48 0 moveto 48 0 cara 50 0 moveto 50 0 cara 52 0 moveto 52 0 cara 54 0 moveto 54 0 cara 56 0 moveto 56 0 carb 48 -2 moveto 48 -2 cara 50 -2 turnd 50 -2 carb 52 -2 linea 52 -2 carb 54 -2 linea 54 -2 carb 56 -2 turna 56 -2 cara 48 -4 starta 48 -4 moveto 50 -4 turnc 50 -4 cara 52 -4 linea 52 -4 carb 54 -4 teec 54 -4 cara 56 -4 turnb 56 -4 carb 48 -6 turnc 48 -6 cara 50 -6 turna 50 -6 carb 52 -6 turnd 52 -6 cara 54 -6 turnb 54 -6 carb 56 -6 moveto 56 -6 cara 48 -8 moveto 48 -8 cara 50 -8 turnc 50 -8 cara 52 -8 turnb 52 -8 carb 54 -8 moveto 54 -8 carb 56 -8 moveto 56 -8 carb 68 1 moveto (155) show stroke 64 0 moveto 64 0 cara 66 0 moveto 66 0 cara 68 0 moveto 68 0 cara 70 0 moveto 70 0 cara 72 0 moveto 72 0 carb 64 -2 moveto 64 -2 cara 66 -2 turnd 66 -2 cara 68 -2 linea 68 -2 carb 70 -2 linea 70 -2 carb 72 -2 turna 72 -2 carb 64 -4 startb 64 -4 moveto 66 -4 teeb 66 -4 carb 68 -4 turnd 68 -4 carb 70 -4 turna 70 -4 cara 72 -4 lineb 72 -4 cara 64 -6 moveto 64 -6 cara 66 -6 turnc 66 -6 carb 68 -6 turnb 68 -6 cara 70 -6 turnc 70 -6 carb 72 -6 turnb 72 -6 cara 64 -8 moveto 64 -8 cara 66 -8 moveto 66 -8 cara 68 -8 moveto 68 -8 carb 70 -8 moveto 70 -8 carb 72 -8 moveto 72 -8 carb 84 1 moveto (141) show stroke 80 0 moveto 80 0 cara 82 0 moveto 82 0 cara 84 0 moveto 84 0 cara 86 0 turnd 86 0 cara 88 0 turna 88 0 carb 80 -2 turnd 80 -2 cara 82 -2 linea 82 -2 carb 84 -2 linea 84 -2 carb 86 -2 teeb 86 -2 carb 88 -2 lineb 88 -2 cara 80 -4 startc 80 -4 moveto 82 -4 moveto 82 -4 carb 84 -4 moveto 84 -4 cara 86 -4 turnc 86 -4 carb 88 -4 turnb 88 -4 cara 80 -6 moveto 80 -6 cara 82 -6 moveto 82 -6 cara 84 -6 moveto 84 -6 carb 86 -6 moveto 86 -6 cara 88 -6 moveto 88 -6 carb 80 -8 moveto 80 -8 cara 82 -8 moveto 82 -8 cara 84 -8 moveto 84 -8 carb 86 -8 moveto 86 -8 carb 88 -8 moveto 88 -8 carb 4 -15 moveto (127) show stroke 0 -16 moveto 0 -16 cara 2 -16 moveto 2 -16 cara 4 -16 moveto 4 -16 cara 6 -16 moveto 6 -16 carb 8 -16 moveto 8 -16 cara 0 -18 moveto 0 -18 cara 2 -18 moveto 2 -18 carb 4 -18 moveto 4 -18 carb 6 -18 moveto 6 -18 carb 8 -18 moveto 8 -18 cara 0 -20 startb 0 -20 moveto 2 -20 startd 2 -20 carb 4 -20 moveto 4 -20 cara 6 -20 moveto 6 -20 cara 8 -20 moveto 8 -20 carb 0 -22 moveto 0 -22 cara 2 -22 moveto 2 -22 cara 4 -22 moveto 4 -22 carb 6 -22 moveto 6 -22 cara 8 -22 moveto 8 -22 carb 0 -24 moveto 0 -24 cara 2 -24 moveto 2 -24 cara 4 -24 moveto 4 -24 carb 6 -24 moveto 6 -24 carb 8 -24 moveto 8 -24 carb 20 -15 moveto (126) show stroke 16 -16 moveto 16 -16 cara 18 -16 moveto 18 -16 cara 20 -16 moveto 20 -16 cara 22 -16 moveto 22 -16 carb 24 -16 moveto 24 -16 cara 16 -18 moveto 16 -18 cara 18 -18 moveto 18 -18 carb 20 -18 turnd 20 -18 carb 22 -18 linea 22 -18 carb 24 -18 turna 24 -18 cara 16 -20 moveto 16 -20 carb 18 -20 starta 18 -20 moveto 20 -20 turnc 20 -20 cara 22 -20 teec 22 -20 cara 24 -20 turnb 24 -20 carb 16 -22 moveto 16 -22 cara 18 -22 lineb 18 -22 cara 20 -22 moveto 20 -22 carb 22 -22 lineb 22 -22 cara 24 -22 moveto 24 -22 carb 16 -24 moveto 16 -24 cara 18 -24 turnc 18 -24 cara 20 -24 linea 20 -24 carb 22 -24 turnb 22 -24 carb 24 -24 moveto 24 -24 carb 36 -15 moveto (108) show stroke 32 -16 moveto 32 -16 cara 34 -16 moveto 34 -16 cara 36 -16 moveto 36 -16 cara 38 -16 moveto 38 -16 carb 40 -16 moveto 40 -16 cara 32 -18 moveto 32 -18 cara 34 -18 moveto 34 -18 carb 36 -18 turnd 36 -18 cara 38 -18 turna 38 -18 carb 40 -18 moveto 40 -18 carb 32 -20 moveto 32 -20 carb 34 -20 startb 34 -20 moveto 36 -20 teeb 36 -20 carb 38 -20 lineb 38 -20 cara 40 -20 moveto 40 -20 cara 32 -22 moveto 32 -22 cara 34 -22 moveto 34 -22 cara 36 -22 turnc 36 -22 carb 38 -22 turnb 38 -22 cara 40 -22 moveto 40 -22 carb 32 -24 moveto 32 -24 cara 34 -24 moveto 34 -24 cara 36 -24 moveto 36 -24 carb 38 -24 moveto 38 -24 carb 40 -24 moveto 40 -24 carb 52 -15 moveto (100) show stroke 48 -16 moveto 48 -16 cara 50 -16 moveto 50 -16 cara 52 -16 moveto 52 -16 cara 54 -16 moveto 54 -16 carb 56 -16 moveto 56 -16 cara 48 -18 turnd 48 -18 cara 50 -18 linea 50 -18 carb 52 -18 startd 52 -18 carb 54 -18 moveto 54 -18 cara 56 -18 moveto 56 -18 carb 48 -20 turnc 48 -20 carb 50 -20 startd 50 -20 moveto 52 -20 moveto 52 -20 carb 54 -20 moveto 54 -20 cara 56 -20 moveto 56 -20 cara 48 -22 moveto 48 -22 cara 50 -22 moveto 50 -22 cara 52 -22 moveto 52 -22 cara 54 -22 moveto 54 -22 carb 56 -22 moveto 56 -22 carb 48 -24 moveto 48 -24 cara 50 -24 moveto 50 -24 cara 52 -24 moveto 52 -24 carb 54 -24 moveto 54 -24 carb 56 -24 moveto 56 -24 carb 68 -15 moveto (96) show stroke 64 -16 moveto 64 -16 cara 66 -16 moveto 66 -16 cara 68 -16 turnd 68 -16 cara 70 -16 turna 70 -16 carb 72 -16 moveto 72 -16 cara 64 -18 moveto 64 -18 carb 66 -18 moveto 66 -18 carb 68 -18 startc 68 -18 moveto 70 -18 lineb 70 -18 cara 72 -18 moveto 72 -18 carb 64 -20 moveto 64 -20 cara 66 -20 moveto 66 -20 carb 68 -20 turnd 68 -20 carb 70 -20 teea 70 -20 cara 72 -20 turna 72 -20 cara 64 -22 moveto 64 -22 cara 66 -22 moveto 66 -22 cara 68 -22 turnc 68 -22 cara 70 -22 linea 70 -22 carb 72 -22 turnb 72 -22 carb 64 -24 moveto 64 -24 cara 66 -24 moveto 66 -24 cara 68 -24 moveto 68 -24 carb 70 -24 moveto 70 -24 carb 72 -24 moveto 72 -24 carb 84 -15 moveto (82) show stroke 80 -16 moveto 80 -16 cara 82 -16 moveto 82 -16 cara 84 -16 moveto 84 -16 cara 86 -16 moveto 86 -16 carb 88 -16 moveto 88 -16 cara 80 -18 moveto 80 -18 carb 82 -18 moveto 82 -18 carb 84 -18 starta 84 -18 moveto 86 -18 moveto 86 -18 cara 88 -18 moveto 88 -18 carb 80 -20 moveto 80 -20 cara 82 -20 turnd 82 -20 carb 84 -20 teea 84 -20 cara 86 -20 turna 86 -20 cara 88 -20 moveto 88 -20 carb 80 -22 moveto 80 -22 cara 82 -22 turnc 82 -22 cara 84 -22 linea 84 -22 carb 86 -22 turnb 86 -22 carb 88 -22 moveto 88 -22 cara 80 -24 moveto 80 -24 cara 82 -24 moveto 82 -24 cara 84 -24 moveto 84 -24 carb 86 -24 moveto 86 -24 carb 88 -24 moveto 88 -24 carb 4 -31 moveto (74) show stroke 0 -32 moveto 0 -32 cara 2 -32 moveto 2 -32 cara 4 -32 moveto 4 -32 cara 6 -32 moveto 6 -32 carb 8 -32 moveto 8 -32 cara 0 -34 turnd 0 -34 carb 2 -34 linea 2 -34 carb 4 -34 startd 4 -34 moveto 6 -34 moveto 6 -34 cara 8 -34 moveto 8 -34 carb 0 -36 startc 0 -36 cara 2 -36 moveto 2 -36 cara 4 -36 moveto 4 -36 cara 6 -36 moveto 6 -36 carb 8 -36 moveto 8 -36 carb 0 -38 moveto 0 -38 cara 2 -38 moveto 2 -38 carb 4 -38 moveto 4 -38 carb 6 -38 moveto 6 -38 cara 8 -38 moveto 8 -38 cara 0 -40 moveto 0 -40 cara 2 -40 moveto 2 -40 cara 4 -40 moveto 4 -40 carb 6 -40 moveto 6 -40 carb 8 -40 moveto 8 -40 carb 20 -31 moveto (71) show stroke 16 -32 moveto 16 -32 cara 18 -32 moveto 18 -32 cara 20 -32 moveto 20 -32 cara 22 -32 moveto 22 -32 carb 24 -32 moveto 24 -32 cara 16 -34 moveto 16 -34 cara 18 -34 moveto 18 -34 carb 20 -34 moveto 20 -34 carb 22 -34 moveto 22 -34 cara 24 -34 moveto 24 -34 carb 16 -36 starta 16 -36 moveto 18 -36 moveto 18 -36 cara 20 -36 turnd 20 -36 cara 22 -36 linea 22 -36 carb 24 -36 turna 24 -36 carb 16 -38 turnc 16 -38 cara 18 -38 turna 18 -38 carb 20 -38 turnc 20 -38 carb 22 -38 teec 22 -38 cara 24 -38 turnb 24 -38 cara 16 -40 moveto 16 -40 cara 18 -40 turnc 18 -40 cara 20 -40 linea 20 -40 carb 22 -40 turnb 22 -40 carb 24 -40 moveto 24 -40 carb 36 -31 moveto (53) show stroke 32 -32 moveto 32 -32 cara 34 -32 moveto 34 -32 cara 36 -32 turnd 36 -32 cara 38 -32 turna 38 -32 carb 40 -32 moveto 40 -32 cara 32 -34 turnd 32 -34 cara 34 -34 linea 34 -34 carb 36 -34 teeb 36 -34 carb 38 -34 turnc 38 -34 cara 40 -34 turna 40 -34 carb 32 -36 lineb 32 -36 moveto 34 -36 moveto 34 -36 cara 36 -36 turnc 36 -36 carb 38 -36 linea 38 -36 carb 40 -36 turnb 40 -36 cara 32 -38 turnc 32 -38 cara 34 -38 turna 34 -38 carb 36 -38 moveto 36 -38 cara 38 -38 moveto 38 -38 cara 40 -38 moveto 40 -38 carb 32 -40 moveto 32 -40 cara 34 -40 startc 34 -40 cara 36 -40 moveto 36 -40 carb 38 -40 moveto 38 -40 carb 40 -40 moveto 40 -40 carb 52 -31 moveto (36) show stroke 48 -32 moveto 48 -32 cara 50 -32 moveto 50 -32 cara 52 -32 moveto 52 -32 carb 54 -32 moveto 54 -32 cara 56 -32 moveto 56 -32 cara 48 -34 moveto 48 -34 cara 50 -34 turnd 50 -34 carb 52 -34 linea 52 -34 carb 54 -34 linea 54 -34 carb 56 -34 turna 56 -34 cara 48 -36 starta 48 -36 cara 50 -36 turnc 50 -36 cara 52 -36 teec 52 -36 cara 54 -36 linea 54 -36 carb 56 -36 turnb 56 -36 carb 48 -38 turnc 48 -38 carb 50 -38 turna 50 -38 cara 52 -38 lineb 52 -38 cara 54 -38 moveto 54 -38 cara 56 -38 moveto 56 -38 carb 48 -40 moveto 48 -40 cara 50 -40 turnc 50 -40 moveto 52 -40 turnb 52 -40 carb 54 -40 moveto 54 -40 carb 56 -40 moveto 56 -40 carb 68 -31 moveto (19) show stroke 64 -32 moveto 64 -32 cara 66 -32 moveto 66 -32 cara 68 -32 moveto 68 -32 carb 70 -32 moveto 70 -32 cara 72 -32 moveto 72 -32 cara 64 -34 moveto 64 -34 cara 66 -34 turnd 66 -34 cara 68 -34 turna 68 -34 carb 70 -34 moveto 70 -34 carb 72 -34 moveto 72 -34 carb 64 -36 startb 64 -36 moveto 66 -36 teeb 66 -36 carb 68 -36 lineb 68 -36 cara 70 -36 moveto 70 -36 carb 72 -36 moveto 72 -36 cara 64 -38 moveto 64 -38 cara 66 -38 turnc 66 -38 carb 68 -38 turnb 68 -38 cara 70 -38 moveto 70 -38 cara 72 -38 moveto 72 -38 carb 64 -40 moveto 64 -40 cara 66 -40 moveto 66 -40 cara 68 -40 moveto 68 -40 carb 70 -40 moveto 70 -40 carb 72 -40 moveto 72 -40 carb 84 -31 moveto (11) show stroke 80 -32 moveto 80 -32 cara 82 -32 moveto 82 -32 cara 84 -32 moveto 84 -32 carb 86 -32 moveto 86 -32 cara 88 -32 moveto 88 -32 cara 80 -34 starta 80 -34 cara 82 -34 moveto 82 -34 carb 84 -34 moveto 84 -34 cara 86 -34 moveto 86 -34 carb 88 -34 moveto 88 -34 carb 80 -36 startc 80 -36 moveto 82 -36 moveto 82 -36 carb 84 -36 moveto 84 -36 cara 86 -36 moveto 86 -36 carb 88 -36 moveto 88 -36 cara 80 -38 moveto 80 -38 cara 82 -38 moveto 82 -38 cara 84 -38 moveto 84 -38 carb 86 -38 moveto 86 -38 cara 88 -38 moveto 88 -38 carb 80 -40 moveto 80 -40 cara 82 -40 moveto 82 -40 cara 84 -40 moveto 84 -40 carb 86 -40 moveto 86 -40 carb 88 -40 moveto 88 -40 carb 4 -47 moveto (10) show stroke 0 -48 moveto 0 -48 cara 2 -48 turnd 2 -48 cara 4 -48 turna 4 -48 carb 6 -48 moveto 6 -48 cara 8 -48 moveto 8 -48 cara 0 -50 startb 0 -50 moveto 2 -50 teeb 2 -50 carb 4 -50 lineb 4 -50 cara 6 -50 moveto 6 -50 carb 8 -50 moveto 8 -50 carb 0 -52 moveto 0 -52 cara 2 -52 turnc 2 -52 carb 4 -52 turnb 4 -52 cara 6 -52 moveto 6 -52 carb 8 -52 moveto 8 -52 cara 0 -54 moveto 0 -54 cara 2 -54 moveto 2 -54 cara 4 -54 moveto 4 -54 carb 6 -54 moveto 6 -54 cara 8 -54 moveto 8 -54 carb 0 -56 moveto 0 -56 cara 2 -56 moveto 2 -56 cara 4 -56 moveto 4 -56 carb 6 -56 moveto 6 -56 carb 8 -56 moveto 8 -56 carb 20 -47 moveto (2) show stroke 16 -48 turnd 16 -48 cara 18 -48 startd 18 -48 carb 20 -48 moveto 20 -48 cara 22 -48 moveto 22 -48 cara 24 -48 moveto 24 -48 cara 16 -50 startc 16 -50 moveto 18 -50 moveto 18 -50 carb 20 -50 moveto 20 -50 cara 22 -50 moveto 22 -50 carb 24 -50 moveto 24 -50 carb 16 -52 moveto 16 -52 cara 18 -52 moveto 18 -52 cara 20 -52 moveto 20 -52 carb 22 -52 moveto 22 -52 carb 24 -52 moveto 24 -52 cara 16 -54 moveto 16 -54 cara 18 -54 moveto 18 -54 cara 20 -54 moveto 20 -54 carb 22 -54 moveto 22 -54 cara 24 -54 moveto 24 -54 carb 16 -56 moveto 16 -56 cara 18 -56 moveto 18 -56 cara 20 -56 moveto 20 -56 carb 22 -56 moveto 22 -56 carb 24 -56 moveto 24 -56 carb %%EndDocument @endspecial 1164 4991 a Fl(Figure)27 b(12:)36 b(solution)27 b(to)g(hardest)g(5x5)g(instance)1905 5255 y(13)p eop %%Page: 14 14 14 13 bop 515 4809 a @beginspecial 0 @llx -150 @lly 91 @urx 3 @ury 3118 @rwi @setspecial %%BeginDocument: sol732.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: loGO %%Creator: John Tromp (tromp@cwi.nl) %%CreationDate: Fri Aug 13 1993 %%BoundingBox: 0 -150 91 3 %%Pages: 0 %%EndComments %%EndProlog 0.1 setlinewidth /Times-Roman findfont 1.9 scalefont setfont /turna { /y exch def /x exch def newpath x -1 add y -1 add 1 0 90 arc stroke stroke } def /turnb { /y exch def /x exch def newpath x -1 add y 1 add 1 270 0 arc stroke stroke } def /turnc { /y exch def /x exch def newpath x 1 add y 1 add 1 180 270 arc stroke stroke } def /turnd { /y exch def /x exch def newpath x 1 add y -1 add 1 90 180 arc stroke stroke } def /linea { /y exch def /x exch def x -1 add y moveto 2 0 rlineto stroke } def /lineb { /y exch def /x exch def x y -1 add moveto 0 2 rlineto stroke } def /teea { /y exch def /x exch def x y moveto x y 1 add lineto x y moveto x -1 add y lineto x y moveto x 1 add y lineto stroke } def /teeb { /y exch def /x exch def x y moveto x y 1 add lineto x y moveto x -1 add y lineto x y moveto x y -1 add lineto stroke } def /teec { /y exch def /x exch def x y moveto x -1 add y lineto x y moveto x y -1 add lineto x y moveto x 1 add y lineto stroke } def /teed { /y exch def /x exch def x y moveto x y 1 add lineto x y moveto x y -1 add lineto x y moveto x 1 add y lineto stroke } def /starta { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore x y moveto x y -1 add lineto stroke } def /startb { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore x y moveto x 1 add y lineto stroke } def /startc { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore x y moveto x y 1 add lineto stroke } def /startd { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore x y moveto x -1 add y lineto stroke } def /loopstart { /y exch def /x exch def gsave x y 0.2 0 360 arc clip fill grestore stroke } def /cara { /y exch def /x exch def gsave .37 setgray -0.3 x add -0.7 y add 0.6 1.4 rectstroke stroke grestore stroke } def /carb { /y exch def /x exch def gsave .64 setgray -0.7 x add -0.3 y add 1.4 0.6 rectstroke stroke grestore stroke } def 4 1 moveto (732) show stroke 0 0 moveto 0 0 cara 2 0 moveto 2 0 carb 4 0 moveto 4 0 cara 6 0 moveto 6 0 carb 8 0 moveto 8 0 cara 10 0 moveto 10 0 cara 0 -2 moveto 0 -2 cara 2 -2 moveto 2 -2 cara 4 -2 moveto 4 -2 carb 6 -2 moveto 6 -2 carb 8 -2 moveto 8 -2 cara 10 -2 moveto 10 -2 cara 0 -4 moveto 0 -4 cara 2 -4 moveto 2 -4 carb 4 -4 moveto 4 -4 carb 6 -4 startb 6 -4 carb 8 -4 linea 8 -4 carb 10 -4 turna 10 -4 cara 0 -6 moveto 0 -6 cara 2 -6 moveto 2 -6 cara 4 -6 moveto 4 -6 carb 6 -6 moveto 6 -6 cara 8 -6 turnd 8 -6 cara 10 -6 turnb 10 -6 carb 0 -8 moveto 0 -8 carb 2 -8 moveto 2 -8 cara 4 -8 moveto 4 -8 carb 6 -8 turnd 6 -8 cara 8 -8 turnb 8 -8 carb 10 -8 moveto 10 -8 carb 0 -10 moveto 0 -10 carb 2 -10 moveto 2 -10 cara 4 -10 moveto 4 -10 cara 6 -10 turnc 6 -10 carb 8 -10 linea 8 -10 carb 10 -10 startd 10 -10 moveto 20 1 moveto (723) show stroke 16 0 turnd 16 0 cara 18 0 turna 18 0 carb 20 0 moveto 20 0 cara 22 0 moveto 22 0 carb 24 0 moveto 24 0 cara 26 0 moveto 26 0 cara 16 -2 lineb 16 -2 cara 18 -2 lineb 18 -2 cara 20 -2 moveto 20 -2 carb 22 -2 moveto 22 -2 carb 24 -2 moveto 24 -2 cara 26 -2 moveto 26 -2 cara 16 -4 lineb 16 -4 cara 18 -4 teed 18 -4 carb 20 -4 linea 20 -4 carb 22 -4 startd 22 -4 moveto 24 -4 moveto 24 -4 carb 26 -4 moveto 26 -4 carb 16 -6 lineb 16 -6 cara 18 -6 lineb 18 -6 cara 20 -6 moveto 20 -6 carb 22 -6 moveto 22 -6 cara 24 -6 moveto 24 -6 carb 26 -6 moveto 26 -6 cara 16 -8 turnc 16 -8 carb 18 -8 turnb 18 -8 cara 20 -8 moveto 20 -8 carb 22 -8 moveto 22 -8 carb 24 -8 moveto 24 -8 cara 26 -8 moveto 26 -8 carb 16 -10 moveto 16 -10 carb 18 -10 moveto 18 -10 cara 20 -10 moveto 20 -10 cara 22 -10 moveto 22 -10 cara 24 -10 moveto 24 -10 carb 26 -10 moveto 26 -10 carb 36 1 moveto (709) show stroke 32 0 moveto 32 0 carb 34 0 moveto 34 0 cara 36 0 moveto 36 0 cara 38 0 moveto 38 0 carb 40 0 moveto 40 0 cara 42 0 moveto 42 0 cara 32 -2 moveto 32 -2 cara 34 -2 moveto 34 -2 cara 36 -2 moveto 36 -2 carb 38 -2 moveto 38 -2 carb 40 -2 moveto 40 -2 cara 42 -2 moveto 42 -2 cara 32 -4 moveto 32 -4 cara 34 -4 moveto 34 -4 carb 36 -4 moveto 36 -4 carb 38 -4 starta 38 -4 moveto 40 -4 moveto 40 -4 carb 42 -4 moveto 42 -4 carb 32 -6 moveto 32 -6 cara 34 -6 moveto 34 -6 cara 36 -6 moveto 36 -6 carb 38 -6 turnc 38 -6 cara 40 -6 startd 40 -6 carb 42 -6 moveto 42 -6 cara 32 -8 moveto 32 -8 cara 34 -8 moveto 34 -8 carb 36 -8 moveto 36 -8 carb 38 -8 moveto 38 -8 carb 40 -8 moveto 40 -8 cara 42 -8 moveto 42 -8 carb 32 -10 moveto 32 -10 carb 34 -10 moveto 34 -10 cara 36 -10 moveto 36 -10 cara 38 -10 moveto 38 -10 cara 40 -10 moveto 40 -10 carb 42 -10 moveto 42 -10 carb 52 1 moveto (707) show stroke 48 0 moveto 48 0 carb 50 0 moveto 50 0 cara 52 0 moveto 52 0 cara 54 0 turnd 54 0 carb 56 0 turna 56 0 cara 58 0 moveto 58 0 cara 48 -2 moveto 48 -2 cara 50 -2 turnd 50 -2 cara 52 -2 linea 52 -2 carb 54 -2 teeb 54 -2 carb 56 -2 lineb 56 -2 cara 58 -2 moveto 58 -2 cara 48 -4 turnd 48 -4 cara 50 -4 turnb 50 -4 carb 52 -4 moveto 52 -4 carb 54 -4 turnc 54 -4 cara 56 -4 turnb 56 -4 carb 58 -4 moveto 58 -4 carb 48 -6 lineb 48 -6 cara 50 -6 moveto 50 -6 cara 52 -6 moveto 52 -6 carb 54 -6 moveto 54 -6 carb 56 -6 starta 56 -6 moveto 58 -6 moveto 58 -6 cara 48 -8 lineb 48 -8 cara 50 -8 turnd 50 -8 carb 52 -8 linea 52 -8 carb 54 -8 linea 54 -8 carb 56 -8 turnb 56 -8 cara 58 -8 moveto 58 -8 carb 48 -10 turnc 48 -10 carb 50 -10 turnb 50 -10 cara 52 -10 moveto 52 -10 cara 54 -10 moveto 54 -10 cara 56 -10 moveto 56 -10 carb 58 -10 moveto 58 -10 carb 68 1 moveto (675) show stroke 64 0 moveto 64 0 carb 66 0 moveto 66 0 cara 68 0 moveto 68 0 cara 70 0 moveto 70 0 cara 72 0 moveto 72 0 carb 74 0 moveto 74 0 cara 64 -2 moveto 64 -2 cara 66 -2 moveto 66 -2 cara 68 -2 moveto 68 -2 carb 70 -2 moveto 70 -2 carb 72 -2 moveto 72 -2 cara 74 -2 moveto 74 -2 cara 64 -4 moveto 64 -4 cara 66 -4 moveto 66 -4 carb 68 -4 moveto 68 -4 carb 70 -4 moveto 70 -4 carb 72 -4 starta 72 -4 cara 74 -4 moveto 74 -4 carb 64 -6 moveto 64 -6 cara 66 -6 moveto 66 -6 cara 68 -6 moveto 68 -6 carb 70 -6 moveto 70 -6 carb 72 -6 startc 72 -6 moveto 74 -6 moveto 74 -6 cara 64 -8 moveto 64 -8 cara 66 -8 moveto 66 -8 carb 68 -8 moveto 68 -8 carb 70 -8 moveto 70 -8 carb 72 -8 moveto 72 -8 cara 74 -8 moveto 74 -8 carb 64 -10 moveto 64 -10 carb 66 -10 moveto 66 -10 cara 68 -10 moveto 68 -10 cara 70 -10 moveto 70 -10 cara 72 -10 moveto 72 -10 carb 74 -10 moveto 74 -10 carb 84 1 moveto (674) show stroke 80 0 turnd 80 0 carb 82 0 turna 82 0 cara 84 0 moveto 84 0 cara 86 0 moveto 86 0 cara 88 0 moveto 88 0 carb 90 0 moveto 90 0 cara 80 -2 lineb 80 -2 cara 82 -2 lineb 82 -2 cara 84 -2 moveto 84 -2 carb 86 -2 moveto 86 -2 carb 88 -2 moveto 88 -2 cara 90 -2 moveto 90 -2 cara 80 -4 lineb 80 -4 cara 82 -4 turnc 82 -4 carb 84 -4 linea 84 -4 carb 86 -4 linea 86 -4 carb 88 -4 startd 88 -4 moveto 90 -4 moveto 90 -4 carb 80 -6 lineb 80 -6 cara 82 -6 moveto 82 -6 cara 84 -6 moveto 84 -6 carb 86 -6 turnd 86 -6 carb 88 -6 turna 88 -6 cara 90 -6 moveto 90 -6 cara 80 -8 turnc 80 -8 cara 82 -8 linea 82 -8 carb 84 -8 linea 84 -8 carb 86 -8 teeb 86 -8 carb 88 -8 lineb 88 -8 cara 90 -8 moveto 90 -8 carb 80 -10 moveto 80 -10 carb 82 -10 moveto 82 -10 cara 84 -10 moveto 84 -10 cara 86 -10 turnc 86 -10 cara 88 -10 turnb 88 -10 carb 90 -10 moveto 90 -10 carb 4 -15 moveto (642) show stroke 0 -16 moveto 0 -16 carb 2 -16 moveto 2 -16 cara 4 -16 moveto 4 -16 cara 6 -16 moveto 6 -16 cara 8 -16 moveto 8 -16 carb 10 -16 moveto 10 -16 cara 0 -18 moveto 0 -18 cara 2 -18 moveto 2 -18 cara 4 -18 moveto 4 -18 carb 6 -18 moveto 6 -18 carb 8 -18 moveto 8 -18 cara 10 -18 moveto 10 -18 cara 0 -20 moveto 0 -20 cara 2 -20 moveto 2 -20 carb 4 -20 moveto 4 -20 carb 6 -20 moveto 6 -20 carb 8 -20 startb 8 -20 moveto 10 -20 turna 10 -20 carb 0 -22 moveto 0 -22 cara 2 -22 moveto 2 -22 cara 4 -22 moveto 4 -22 carb 6 -22 moveto 6 -22 cara 8 -22 turnd 8 -22 carb 10 -22 turnb 10 -22 cara 0 -24 moveto 0 -24 cara 2 -24 moveto 2 -24 carb 4 -24 moveto 4 -24 carb 6 -24 moveto 6 -24 carb 8 -24 startc 8 -24 cara 10 -24 moveto 10 -24 carb 0 -26 moveto 0 -26 carb 2 -26 moveto 2 -26 cara 4 -26 moveto 4 -26 cara 6 -26 moveto 6 -26 carb 8 -26 moveto 8 -26 cara 10 -26 moveto 10 -26 carb 20 -15 moveto (638) show stroke 16 -16 moveto 16 -16 carb 18 -16 moveto 18 -16 cara 20 -16 moveto 20 -16 cara 22 -16 moveto 22 -16 cara 24 -16 turnd 24 -16 carb 26 -16 turna 26 -16 cara 16 -18 moveto 16 -18 cara 18 -18 moveto 18 -18 cara 20 -18 moveto 20 -18 carb 22 -18 moveto 22 -18 carb 24 -18 lineb 24 -18 cara 26 -18 lineb 26 -18 cara 16 -20 turnd 16 -20 cara 18 -20 linea 18 -20 carb 20 -20 linea 20 -20 carb 22 -20 linea 22 -20 carb 24 -20 teeb 24 -20 carb 26 -20 lineb 26 -20 cara 16 -22 lineb 16 -22 cara 18 -22 moveto 18 -22 cara 20 -22 moveto 20 -22 carb 22 -22 moveto 22 -22 cara 24 -22 turnc 24 -22 cara 26 -22 turnb 26 -22 carb 16 -24 lineb 16 -24 cara 18 -24 turnd 18 -24 carb 20 -24 linea 20 -24 carb 22 -24 linea 22 -24 carb 24 -24 startd 24 -24 moveto 26 -24 moveto 26 -24 carb 16 -26 turnc 16 -26 carb 18 -26 turnb 18 -26 cara 20 -26 moveto 20 -26 cara 22 -26 moveto 22 -26 carb 24 -26 moveto 24 -26 cara 26 -26 moveto 26 -26 carb 36 -15 moveto (606) show stroke 32 -16 moveto 32 -16 carb 34 -16 moveto 34 -16 cara 36 -16 moveto 36 -16 cara 38 -16 moveto 38 -16 cara 40 -16 moveto 40 -16 cara 42 -16 moveto 42 -16 carb 32 -18 moveto 32 -18 cara 34 -18 moveto 34 -18 cara 36 -18 moveto 36 -18 carb 38 -18 moveto 38 -18 carb 40 -18 moveto 40 -18 cara 42 -18 moveto 42 -18 cara 32 -20 moveto 32 -20 cara 34 -20 moveto 34 -20 carb 36 -20 moveto 36 -20 carb 38 -20 moveto 38 -20 carb 40 -20 startb 40 -20 carb 42 -20 turna 42 -20 cara 32 -22 moveto 32 -22 cara 34 -22 moveto 34 -22 cara 36 -22 moveto 36 -22 carb 38 -22 moveto 38 -22 cara 40 -22 moveto 40 -22 carb 42 -22 lineb 42 -22 cara 32 -24 moveto 32 -24 cara 34 -24 moveto 34 -24 carb 36 -24 moveto 36 -24 carb 38 -24 moveto 38 -24 carb 40 -24 startb 40 -24 moveto 42 -24 turnb 42 -24 carb 32 -26 moveto 32 -26 carb 34 -26 moveto 34 -26 cara 36 -26 moveto 36 -26 cara 38 -26 moveto 38 -26 carb 40 -26 moveto 40 -26 cara 42 -26 moveto 42 -26 carb 52 -15 moveto (602) show stroke 48 -16 turnd 48 -16 carb 50 -16 turna 50 -16 cara 52 -16 moveto 52 -16 cara 54 -16 moveto 54 -16 cara 56 -16 moveto 56 -16 cara 58 -16 moveto 58 -16 carb 48 -18 lineb 48 -18 cara 50 -18 lineb 50 -18 cara 52 -18 moveto 52 -18 carb 54 -18 moveto 54 -18 carb 56 -18 moveto 56 -18 cara 58 -18 moveto 58 -18 cara 48 -20 lineb 48 -20 cara 50 -20 turnc 50 -20 carb 52 -20 linea 52 -20 carb 54 -20 linea 54 -20 carb 56 -20 startd 56 -20 moveto 58 -20 moveto 58 -20 carb 48 -22 lineb 48 -22 cara 50 -22 moveto 50 -22 cara 52 -22 moveto 52 -22 carb 54 -22 moveto 54 -22 cara 56 -22 turnd 56 -22 carb 58 -22 turna 58 -22 cara 48 -24 turnc 48 -24 cara 50 -24 linea 50 -24 carb 52 -24 linea 52 -24 carb 54 -24 linea 54 -24 carb 56 -24 teeb 56 -24 carb 58 -24 lineb 58 -24 cara 48 -26 moveto 48 -26 carb 50 -26 moveto 50 -26 cara 52 -26 moveto 52 -26 cara 54 -26 moveto 54 -26 carb 56 -26 turnc 56 -26 cara 58 -26 turnb 58 -26 carb 68 -15 moveto (568) show stroke 64 -16 moveto 64 -16 carb 66 -16 moveto 66 -16 cara 68 -16 moveto 68 -16 cara 70 -16 moveto 70 -16 cara 72 -16 moveto 72 -16 cara 74 -16 moveto 74 -16 carb 64 -18 moveto 64 -18 cara 66 -18 moveto 66 -18 cara 68 -18 moveto 68 -18 carb 70 -18 moveto 70 -18 carb 72 -18 moveto 72 -18 cara 74 -18 moveto 74 -18 cara 64 -20 moveto 64 -20 cara 66 -20 moveto 66 -20 carb 68 -20 moveto 68 -20 carb 70 -20 moveto 70 -20 carb 72 -20 starta 72 -20 moveto 74 -20 moveto 74 -20 carb 64 -22 moveto 64 -22 cara 66 -22 moveto 66 -22 cara 68 -22 moveto 68 -22 carb 70 -22 moveto 70 -22 cara 72 -22 turnc 72 -22 cara 74 -22 turna 74 -22 carb 64 -24 moveto 64 -24 cara 66 -24 moveto 66 -24 carb 68 -24 moveto 68 -24 carb 70 -24 moveto 70 -24 carb 72 -24 startb 72 -24 carb 74 -24 turnb 74 -24 cara 64 -26 moveto 64 -26 carb 66 -26 moveto 66 -26 cara 68 -26 moveto 68 -26 cara 70 -26 moveto 70 -26 carb 72 -26 moveto 72 -26 carb 74 -26 moveto 74 -26 cara 84 -15 moveto (564) show stroke 80 -16 moveto 80 -16 carb 82 -16 moveto 82 -16 cara 84 -16 moveto 84 -16 cara 86 -16 moveto 86 -16 cara 88 -16 moveto 88 -16 cara 90 -16 moveto 90 -16 carb 80 -18 moveto 80 -18 cara 82 -18 moveto 82 -18 cara 84 -18 moveto 84 -18 carb 86 -18 turnd 86 -18 carb 88 -18 turna 88 -18 cara 90 -18 moveto 90 -18 cara 80 -20 turnd 80 -20 cara 82 -20 linea 82 -20 carb 84 -20 linea 84 -20 carb 86 -20 teeb 86 -20 carb 88 -20 lineb 88 -20 cara 90 -20 moveto 90 -20 carb 80 -22 lineb 80 -22 cara 82 -22 moveto 82 -22 cara 84 -22 moveto 84 -22 carb 86 -22 turnc 86 -22 cara 88 -22 turnb 88 -22 carb 90 -22 moveto 90 -22 cara 80 -24 lineb 80 -24 cara 82 -24 turnd 82 -24 carb 84 -24 linea 84 -24 carb 86 -24 linea 86 -24 carb 88 -24 startd 88 -24 moveto 90 -24 moveto 90 -24 carb 80 -26 turnc 80 -26 carb 82 -26 turnb 82 -26 cara 84 -26 moveto 84 -26 cara 86 -26 moveto 86 -26 carb 88 -26 moveto 88 -26 carb 90 -26 moveto 90 -26 cara 4 -31 moveto (536) show stroke 0 -32 moveto 0 -32 carb 2 -32 moveto 2 -32 cara 4 -32 moveto 4 -32 cara 6 -32 moveto 6 -32 cara 8 -32 moveto 8 -32 cara 10 -32 moveto 10 -32 carb 0 -34 moveto 0 -34 cara 2 -34 moveto 2 -34 cara 4 -34 moveto 4 -34 carb 6 -34 moveto 6 -34 cara 8 -34 moveto 8 -34 carb 10 -34 moveto 10 -34 cara 0 -36 moveto 0 -36 cara 2 -36 moveto 2 -36 carb 4 -36 moveto 4 -36 carb 6 -36 moveto 6 -36 carb 8 -36 starta 8 -36 cara 10 -36 moveto 10 -36 carb 0 -38 moveto 0 -38 cara 2 -38 moveto 2 -38 cara 4 -38 moveto 4 -38 carb 6 -38 moveto 6 -38 carb 8 -38 lineb 8 -38 cara 10 -38 moveto 10 -38 cara 0 -40 moveto 0 -40 cara 2 -40 moveto 2 -40 carb 4 -40 moveto 4 -40 carb 6 -40 moveto 6 -40 carb 8 -40 startc 8 -40 moveto 10 -40 moveto 10 -40 carb 0 -42 moveto 0 -42 carb 2 -42 moveto 2 -42 cara 4 -42 moveto 4 -42 cara 6 -42 moveto 6 -42 carb 8 -42 moveto 8 -42 carb 10 -42 moveto 10 -42 cara 20 -31 moveto (534) show stroke 16 -32 turnd 16 -32 carb 18 -32 turna 18 -32 cara 20 -32 moveto 20 -32 cara 22 -32 moveto 22 -32 cara 24 -32 moveto 24 -32 cara 26 -32 moveto 26 -32 carb 16 -34 lineb 16 -34 cara 18 -34 lineb 18 -34 cara 20 -34 moveto 20 -34 carb 22 -34 moveto 22 -34 cara 24 -34 moveto 24 -34 carb 26 -34 moveto 26 -34 cara 16 -36 lineb 16 -36 cara 18 -36 turnc 18 -36 carb 20 -36 linea 20 -36 carb 22 -36 linea 22 -36 carb 24 -36 startd 24 -36 moveto 26 -36 moveto 26 -36 carb 16 -38 lineb 16 -38 cara 18 -38 moveto 18 -38 cara 20 -38 turnd 20 -38 carb 22 -38 linea 22 -38 carb 24 -38 turna 24 -38 cara 26 -38 moveto 26 -38 cara 16 -40 turnc 16 -40 cara 18 -40 linea 18 -40 carb 20 -40 teeb 20 -40 carb 22 -40 moveto 22 -40 carb 24 -40 lineb 24 -40 cara 26 -40 moveto 26 -40 carb 16 -42 moveto 16 -42 carb 18 -42 moveto 18 -42 cara 20 -42 turnc 20 -42 cara 22 -42 linea 22 -42 carb 24 -42 turnb 24 -42 carb 26 -42 moveto 26 -42 cara 36 -31 moveto (502) show stroke 32 -32 moveto 32 -32 carb 34 -32 moveto 34 -32 cara 36 -32 moveto 36 -32 cara 38 -32 moveto 38 -32 cara 40 -32 moveto 40 -32 cara 42 -32 moveto 42 -32 carb 32 -34 moveto 32 -34 cara 34 -34 moveto 34 -34 cara 36 -34 moveto 36 -34 carb 38 -34 moveto 38 -34 cara 40 -34 moveto 40 -34 carb 42 -34 moveto 42 -34 cara 32 -36 moveto 32 -36 cara 34 -36 moveto 34 -36 carb 36 -36 moveto 36 -36 carb 38 -36 moveto 38 -36 carb 40 -36 startb 40 -36 moveto 42 -36 turna 42 -36 carb 32 -38 moveto 32 -38 cara 34 -38 moveto 34 -38 cara 36 -38 moveto 36 -38 cara 38 -38 moveto 38 -38 carb 40 -38 turnd 40 -38 carb 42 -38 turnb 42 -38 cara 32 -40 moveto 32 -40 cara 34 -40 moveto 34 -40 carb 36 -40 moveto 36 -40 carb 38 -40 startb 38 -40 carb 40 -40 turnb 40 -40 cara 42 -40 moveto 42 -40 carb 32 -42 moveto 32 -42 carb 34 -42 moveto 34 -42 cara 36 -42 moveto 36 -42 carb 38 -42 moveto 38 -42 carb 40 -42 moveto 40 -42 cara 42 -42 moveto 42 -42 cara 52 -31 moveto (497) show stroke 48 -32 moveto 48 -32 carb 50 -32 moveto 50 -32 cara 52 -32 moveto 52 -32 cara 54 -32 moveto 54 -32 cara 56 -32 turnd 56 -32 cara 58 -32 turna 58 -32 carb 48 -34 moveto 48 -34 cara 50 -34 moveto 50 -34 cara 52 -34 moveto 52 -34 carb 54 -34 turnd 54 -34 cara 56 -34 turnb 56 -34 carb 58 -34 lineb 58 -34 cara 48 -36 turnd 48 -36 cara 50 -36 linea 50 -36 carb 52 -36 linea 52 -36 carb 54 -36 teeb 54 -36 carb 56 -36 turnd 56 -36 carb 58 -36 turnb 58 -36 cara 48 -38 lineb 48 -38 cara 50 -38 moveto 50 -38 cara 52 -38 moveto 52 -38 cara 54 -38 turnc 54 -38 carb 56 -38 turnb 56 -38 cara 58 -38 moveto 58 -38 carb 48 -40 lineb 48 -40 cara 50 -40 turnd 50 -40 carb 52 -40 linea 52 -40 carb 54 -40 startd 54 -40 moveto 56 -40 moveto 56 -40 carb 58 -40 moveto 58 -40 carb 48 -42 turnc 48 -42 carb 50 -42 turnb 50 -42 cara 52 -42 moveto 52 -42 carb 54 -42 moveto 54 -42 carb 56 -42 moveto 56 -42 cara 58 -42 moveto 58 -42 cara 68 -31 moveto (467) show stroke 64 -32 moveto 64 -32 carb 66 -32 moveto 66 -32 cara 68 -32 moveto 68 -32 cara 70 -32 moveto 70 -32 cara 72 -32 moveto 72 -32 carb 74 -32 moveto 74 -32 cara 64 -34 moveto 64 -34 cara 66 -34 moveto 66 -34 cara 68 -34 moveto 68 -34 carb 70 -34 moveto 70 -34 carb 72 -34 moveto 72 -34 cara 74 -34 moveto 74 -34 cara 64 -36 moveto 64 -36 cara 66 -36 moveto 66 -36 carb 68 -36 moveto 68 -36 carb 70 -36 moveto 70 -36 carb 72 -36 moveto 72 -36 cara 74 -36 moveto 74 -36 carb 64 -38 moveto 64 -38 cara 66 -38 moveto 66 -38 cara 68 -38 moveto 68 -38 cara 70 -38 turnd 70 -38 cara 72 -38 startd 72 -38 carb 74 -38 moveto 74 -38 carb 64 -40 moveto 64 -40 cara 66 -40 moveto 66 -40 carb 68 -40 moveto 68 -40 carb 70 -40 startc 70 -40 moveto 72 -40 moveto 72 -40 carb 74 -40 moveto 74 -40 carb 64 -42 moveto 64 -42 carb 66 -42 moveto 66 -42 cara 68 -42 moveto 68 -42 carb 70 -42 moveto 70 -42 carb 72 -42 moveto 72 -42 cara 74 -42 moveto 74 -42 cara 84 -31 moveto (465) show stroke 80 -32 turnd 80 -32 carb 82 -32 turna 82 -32 cara 84 -32 moveto 84 -32 cara 86 -32 moveto 86 -32 cara 88 -32 moveto 88 -32 carb 90 -32 moveto 90 -32 cara 80 -34 lineb 80 -34 cara 82 -34 lineb 82 -34 cara 84 -34 moveto 84 -34 carb 86 -34 moveto 86 -34 carb 88 -34 moveto 88 -34 cara 90 -34 moveto 90 -34 cara 80 -36 lineb 80 -36 cara 82 -36 turnc 82 -36 carb 84 -36 linea 84 -36 carb 86 -36 linea 86 -36 carb 88 -36 turna 88 -36 cara 90 -36 moveto 90 -36 carb 80 -38 lineb 80 -38 cara 82 -38 moveto 82 -38 cara 84 -38 turnd 84 -38 cara 86 -38 turna 86 -38 carb 88 -38 startc 88 -38 moveto 90 -38 moveto 90 -38 carb 80 -40 turnc 80 -40 cara 82 -40 linea 82 -40 carb 84 -40 teeb 84 -40 carb 86 -40 turnc 86 -40 cara 88 -40 turna 88 -40 carb 90 -40 moveto 90 -40 carb 80 -42 moveto 80 -42 carb 82 -42 moveto 82 -42 cara 84 -42 turnc 84 -42 carb 86 -42 linea 86 -42 carb 88 -42 turnb 88 -42 cara 90 -42 moveto 90 -42 cara 4 -47 moveto (431) show stroke 0 -48 moveto 0 -48 carb 2 -48 moveto 2 -48 cara 4 -48 moveto 4 -48 cara 6 -48 moveto 6 -48 cara 8 -48 moveto 8 -48 carb 10 -48 moveto 10 -48 cara 0 -50 moveto 0 -50 cara 2 -50 moveto 2 -50 cara 4 -50 moveto 4 -50 carb 6 -50 moveto 6 -50 carb 8 -50 moveto 8 -50 cara 10 -50 moveto 10 -50 cara 0 -52 moveto 0 -52 cara 2 -52 moveto 2 -52 carb 4 -52 moveto 4 -52 carb 6 -52 moveto 6 -52 carb 8 -52 moveto 8 -52 cara 10 -52 moveto 10 -52 carb 0 -54 moveto 0 -54 cara 2 -54 moveto 2 -54 cara 4 -54 moveto 4 -54 carb 6 -54 moveto 6 -54 cara 8 -54 starta 8 -54 moveto 10 -54 moveto 10 -54 carb 0 -56 moveto 0 -56 cara 2 -56 moveto 2 -56 carb 4 -56 moveto 4 -56 carb 6 -56 startb 6 -56 carb 8 -56 turnb 8 -56 cara 10 -56 moveto 10 -56 carb 0 -58 moveto 0 -58 carb 2 -58 moveto 2 -58 cara 4 -58 moveto 4 -58 cara 6 -58 moveto 6 -58 carb 8 -58 moveto 8 -58 carb 10 -58 moveto 10 -58 cara 20 -47 moveto (429) show stroke 16 -48 moveto 16 -48 carb 18 -48 moveto 18 -48 cara 20 -48 moveto 20 -48 cara 22 -48 turnd 22 -48 cara 24 -48 turna 24 -48 carb 26 -48 moveto 26 -48 cara 16 -50 moveto 16 -50 cara 18 -50 turnd 18 -50 cara 20 -50 linea 20 -50 carb 22 -50 teeb 22 -50 carb 24 -50 lineb 24 -50 cara 26 -50 moveto 26 -50 cara 16 -52 turnd 16 -52 cara 18 -52 turnb 18 -52 carb 20 -52 moveto 20 -52 carb 22 -52 turnc 22 -52 carb 24 -52 turnb 24 -52 cara 26 -52 moveto 26 -52 carb 16 -54 lineb 16 -54 cara 18 -54 moveto 18 -54 cara 20 -54 moveto 20 -54 carb 22 -54 moveto 22 -54 cara 24 -54 moveto 24 -54 cara 26 -54 moveto 26 -54 carb 16 -56 lineb 16 -56 cara 18 -56 turnd 18 -56 carb 20 -56 linea 20 -56 carb 22 -56 startd 22 -56 moveto 24 -56 moveto 24 -56 carb 26 -56 moveto 26 -56 carb 16 -58 turnc 16 -58 carb 18 -58 turnb 18 -58 cara 20 -58 moveto 20 -58 cara 22 -58 moveto 22 -58 carb 24 -58 moveto 24 -58 carb 26 -58 moveto 26 -58 cara 36 -47 moveto (401) show stroke 32 -48 moveto 32 -48 carb 34 -48 moveto 34 -48 cara 36 -48 moveto 36 -48 cara 38 -48 moveto 38 -48 carb 40 -48 moveto 40 -48 cara 42 -48 moveto 42 -48 cara 32 -50 moveto 32 -50 cara 34 -50 moveto 34 -50 cara 36 -50 moveto 36 -50 carb 38 -50 moveto 38 -50 carb 40 -50 moveto 40 -50 cara 42 -50 moveto 42 -50 cara 32 -52 moveto 32 -52 cara 34 -52 moveto 34 -52 carb 36 -52 moveto 36 -52 carb 38 -52 starta 38 -52 cara 40 -52 moveto 40 -52 carb 42 -52 moveto 42 -52 carb 32 -54 moveto 32 -54 cara 34 -54 moveto 34 -54 cara 36 -54 moveto 36 -54 carb 38 -54 lineb 38 -54 cara 40 -54 moveto 40 -54 cara 42 -54 moveto 42 -54 carb 32 -56 moveto 32 -56 cara 34 -56 moveto 34 -56 carb 36 -56 moveto 36 -56 carb 38 -56 startc 38 -56 moveto 40 -56 moveto 40 -56 carb 42 -56 moveto 42 -56 carb 32 -58 moveto 32 -58 carb 34 -58 moveto 34 -58 cara 36 -58 moveto 36 -58 cara 38 -58 moveto 38 -58 carb 40 -58 moveto 40 -58 carb 42 -58 moveto 42 -58 cara 52 -47 moveto (399) show stroke 48 -48 turnd 48 -48 carb 50 -48 turna 50 -48 cara 52 -48 moveto 52 -48 cara 54 -48 moveto 54 -48 carb 56 -48 moveto 56 -48 cara 58 -48 moveto 58 -48 cara 48 -50 lineb 48 -50 cara 50 -50 lineb 50 -50 cara 52 -50 moveto 52 -50 carb 54 -50 moveto 54 -50 carb 56 -50 moveto 56 -50 cara 58 -50 moveto 58 -50 cara 48 -52 lineb 48 -52 cara 50 -52 turnc 50 -52 carb 52 -52 linea 52 -52 carb 54 -52 startd 54 -52 moveto 56 -52 moveto 56 -52 carb 58 -52 moveto 58 -52 carb 48 -54 lineb 48 -54 cara 50 -54 moveto 50 -54 cara 52 -54 turnd 52 -54 carb 54 -54 turna 54 -54 cara 56 -54 moveto 56 -54 cara 58 -54 moveto 58 -54 carb 48 -56 turnc 48 -56 cara 50 -56 linea 50 -56 carb 52 -56 teeb 52 -56 carb 54 -56 lineb 54 -56 cara 56 -56 moveto 56 -56 carb 58 -56 moveto 58 -56 carb 48 -58 moveto 48 -58 carb 50 -58 moveto 50 -58 cara 52 -58 turnc 52 -58 cara 54 -58 turnb 54 -58 carb 56 -58 moveto 56 -58 carb 58 -58 moveto 58 -58 cara 68 -47 moveto (371) show stroke 64 -48 moveto 64 -48 carb 66 -48 moveto 66 -48 cara 68 -48 moveto 68 -48 cara 70 -48 moveto 70 -48 carb 72 -48 moveto 72 -48 cara 74 -48 moveto 74 -48 cara 64 -50 moveto 64 -50 cara 66 -50 moveto 66 -50 cara 68 -50 moveto 68 -50 carb 70 -50 moveto 70 -50 carb 72 -50 moveto 72 -50 cara 74 -50 moveto 74 -50 cara 64 -52 moveto 64 -52 cara 66 -52 moveto 66 -52 carb 68 -52 moveto 68 -52 carb 70 -52 startb 70 -52 moveto 72 -52 turna 72 -52 carb 74 -52 moveto 74 -52 carb 64 -54 moveto 64 -54 cara 66 -54 moveto 66 -54 cara 68 -54 moveto 68 -54 cara 70 -54 turnd 70 -54 carb 72 -54 turnb 72 -54 cara 74 -54 moveto 74 -54 carb 64 -56 moveto 64 -56 cara 66 -56 moveto 66 -56 carb 68 -56 moveto 68 -56 carb 70 -56 startc 70 -56 cara 72 -56 moveto 72 -56 carb 74 -56 moveto 74 -56 carb 64 -58 moveto 64 -58 carb 66 -58 moveto 66 -58 cara 68 -58 moveto 68 -58 carb 70 -58 moveto 70 -58 cara 72 -58 moveto 72 -58 carb 74 -58 moveto 74 -58 cara 84 -47 moveto (367) show stroke 80 -48 moveto 80 -48 carb 82 -48 moveto 82 -48 cara 84 -48 moveto 84 -48 cara 86 -48 moveto 86 -48 carb 88 -48 moveto 88 -48 cara 90 -48 moveto 90 -48 cara 80 -50 moveto 80 -50 cara 82 -50 moveto 82 -50 cara 84 -50 moveto 84 -50 carb 86 -50 turnd 86 -50 carb 88 -50 turna 88 -50 cara 90 -50 moveto 90 -50 cara 80 -52 turnd 80 -52 cara 82 -52 linea 82 -52 carb 84 -52 linea 84 -52 carb 86 -52 teeb 86 -52 carb 88 -52 lineb 88 -52 cara 90 -52 moveto 90 -52 carb 80 -54 lineb 80 -54 cara 82 -54 moveto 82 -54 cara 84 -54 moveto 84 -54 cara 86 -54 turnc 86 -54 cara 88 -54 turnb 88 -54 carb 90 -54 moveto 90 -54 carb 80 -56 lineb 80 -56 cara 82 -56 turnd 82 -56 carb 84 -56 linea 84 -56 carb 86 -56 startd 86 -56 moveto 88 -56 moveto 88 -56 carb 90 -56 moveto 90 -56 carb 80 -58 turnc 80 -58 carb 82 -58 turnb 82 -58 cara 84 -58 moveto 84 -58 carb 86 -58 moveto 86 -58 cara 88 -58 moveto 88 -58 carb 90 -58 moveto 90 -58 cara 4 -63 moveto (341) show stroke 0 -64 moveto 0 -64 carb 2 -64 moveto 2 -64 cara 4 -64 moveto 4 -64 cara 6 -64 moveto 6 -64 carb 8 -64 moveto 8 -64 cara 10 -64 moveto 10 -64 cara 0 -66 moveto 0 -66 cara 2 -66 moveto 2 -66 cara 4 -66 moveto 4 -66 carb 6 -66 moveto 6 -66 cara 8 -66 moveto 8 -66 carb 10 -66 moveto 10 -66 cara 0 -68 moveto 0 -68 cara 2 -68 moveto 2 -68 carb 4 -68 moveto 4 -68 carb 6 -68 startb 6 -68 carb 8 -68 turna 8 -68 cara 10 -68 moveto 10 -68 carb 0 -70 moveto 0 -70 cara 2 -70 moveto 2 -70 cara 4 -70 moveto 4 -70 cara 6 -70 moveto 6 -70 carb 8 -70 lineb 8 -70 cara 10 -70 moveto 10 -70 carb 0 -72 moveto 0 -72 cara 2 -72 moveto 2 -72 carb 4 -72 moveto 4 -72 carb 6 -72 startb 6 -72 moveto 8 -72 turnb 8 -72 carb 10 -72 moveto 10 -72 carb 0 -74 moveto 0 -74 carb 2 -74 moveto 2 -74 cara 4 -74 moveto 4 -74 carb 6 -74 moveto 6 -74 cara 8 -74 moveto 8 -74 carb 10 -74 moveto 10 -74 cara 20 -63 moveto (337) show stroke 16 -64 turnd 16 -64 carb 18 -64 turna 18 -64 cara 20 -64 moveto 20 -64 cara 22 -64 moveto 22 -64 carb 24 -64 moveto 24 -64 cara 26 -64 moveto 26 -64 cara 16 -66 lineb 16 -66 cara 18 -66 lineb 18 -66 cara 20 -66 moveto 20 -66 carb 22 -66 moveto 22 -66 cara 24 -66 moveto 24 -66 carb 26 -66 moveto 26 -66 cara 16 -68 lineb 16 -68 cara 18 -68 turnc 18 -68 carb 20 -68 linea 20 -68 carb 22 -68 startd 22 -68 moveto 24 -68 moveto 24 -68 carb 26 -68 moveto 26 -68 carb 16 -70 lineb 16 -70 cara 18 -70 moveto 18 -70 cara 20 -70 moveto 20 -70 cara 22 -70 turnd 22 -70 carb 24 -70 turna 24 -70 cara 26 -70 moveto 26 -70 carb 16 -72 turnc 16 -72 cara 18 -72 linea 18 -72 carb 20 -72 linea 20 -72 carb 22 -72 teeb 22 -72 carb 24 -72 lineb 24 -72 cara 26 -72 moveto 26 -72 carb 16 -74 moveto 16 -74 carb 18 -74 moveto 18 -74 cara 20 -74 moveto 20 -74 carb 22 -74 turnc 22 -74 cara 24 -74 turnb 24 -74 carb 26 -74 moveto 26 -74 cara 36 -63 moveto (307) show stroke 32 -64 moveto 32 -64 carb 34 -64 moveto 34 -64 cara 36 -64 moveto 36 -64 cara 38 -64 moveto 38 -64 carb 40 -64 moveto 40 -64 cara 42 -64 moveto 42 -64 cara 32 -66 moveto 32 -66 cara 34 -66 moveto 34 -66 cara 36 -66 moveto 36 -66 carb 38 -66 moveto 38 -66 cara 40 -66 moveto 40 -66 carb 42 -66 moveto 42 -66 cara 32 -68 moveto 32 -68 cara 34 -68 moveto 34 -68 carb 36 -68 moveto 36 -68 carb 38 -68 starta 38 -68 moveto 40 -68 moveto 40 -68 carb 42 -68 moveto 42 -68 carb 32 -70 moveto 32 -70 cara 34 -70 moveto 34 -70 cara 36 -70 moveto 36 -70 cara 38 -70 turnc 38 -70 cara 40 -70 startd 40 -70 carb 42 -70 moveto 42 -70 carb 32 -72 moveto 32 -72 cara 34 -72 moveto 34 -72 carb 36 -72 moveto 36 -72 carb 38 -72 moveto 38 -72 carb 40 -72 moveto 40 -72 cara 42 -72 moveto 42 -72 carb 32 -74 moveto 32 -74 carb 34 -74 moveto 34 -74 cara 36 -74 moveto 36 -74 carb 38 -74 moveto 38 -74 carb 40 -74 moveto 40 -74 cara 42 -74 moveto 42 -74 cara 52 -63 moveto (305) show stroke 48 -64 moveto 48 -64 carb 50 -64 moveto 50 -64 cara 52 -64 moveto 52 -64 cara 54 -64 turnd 54 -64 carb 56 -64 turna 56 -64 cara 58 -64 moveto 58 -64 cara 48 -66 moveto 48 -66 cara 50 -66 moveto 50 -66 cara 52 -66 turnd 52 -66 carb 54 -66 turnb 54 -66 cara 56 -66 turnc 56 -66 carb 58 -66 turna 58 -66 cara 48 -68 turnd 48 -68 cara 50 -68 linea 50 -68 carb 52 -68 teeb 52 -68 carb 54 -68 turnd 54 -68 cara 56 -68 linea 56 -68 carb 58 -68 turnb 58 -68 carb 48 -70 lineb 48 -70 cara 50 -70 moveto 50 -70 cara 52 -70 turnc 52 -70 cara 54 -70 turnb 54 -70 carb 56 -70 starta 56 -70 moveto 58 -70 moveto 58 -70 carb 48 -72 lineb 48 -72 cara 50 -72 turnd 50 -72 carb 52 -72 linea 52 -72 carb 54 -72 linea 54 -72 carb 56 -72 turnb 56 -72 cara 58 -72 moveto 58 -72 carb 48 -74 turnc 48 -74 carb 50 -74 turnb 50 -74 cara 52 -74 moveto 52 -74 carb 54 -74 moveto 54 -74 carb 56 -74 moveto 56 -74 cara 58 -74 moveto 58 -74 cara 68 -63 moveto (271) show stroke 64 -64 moveto 64 -64 carb 66 -64 moveto 66 -64 cara 68 -64 moveto 68 -64 cara 70 -64 moveto 70 -64 cara 72 -64 moveto 72 -64 carb 74 -64 moveto 74 -64 cara 64 -66 moveto 64 -66 cara 66 -66 moveto 66 -66 cara 68 -66 moveto 68 -66 cara 70 -66 moveto 70 -66 carb 72 -66 moveto 72 -66 cara 74 -66 moveto 74 -66 carb 64 -68 moveto 64 -68 cara 66 -68 moveto 66 -68 carb 68 -68 moveto 68 -68 carb 70 -68 moveto 70 -68 carb 72 -68 startb 72 -68 carb 74 -68 turna 74 -68 cara 64 -70 moveto 64 -70 cara 66 -70 moveto 66 -70 cara 68 -70 moveto 68 -70 carb 70 -70 moveto 70 -70 cara 72 -70 startb 72 -70 moveto 74 -70 turnb 74 -70 carb 64 -72 moveto 64 -72 cara 66 -72 moveto 66 -72 carb 68 -72 moveto 68 -72 carb 70 -72 moveto 70 -72 carb 72 -72 moveto 72 -72 cara 74 -72 moveto 74 -72 carb 64 -74 moveto 64 -74 carb 66 -74 moveto 66 -74 cara 68 -74 moveto 68 -74 carb 70 -74 moveto 70 -74 carb 72 -74 moveto 72 -74 cara 74 -74 moveto 74 -74 cara 84 -63 moveto (268) show stroke 80 -64 turnd 80 -64 carb 82 -64 turna 82 -64 cara 84 -64 moveto 84 -64 cara 86 -64 moveto 86 -64 cara 88 -64 moveto 88 -64 carb 90 -64 moveto 90 -64 cara 80 -66 lineb 80 -66 cara 82 -66 lineb 82 -66 cara 84 -66 moveto 84 -66 cara 86 -66 moveto 86 -66 carb 88 -66 moveto 88 -66 cara 90 -66 moveto 90 -66 carb 80 -68 lineb 80 -68 cara 82 -68 turnc 82 -68 carb 84 -68 linea 84 -68 carb 86 -68 linea 86 -68 carb 88 -68 startd 88 -68 moveto 90 -68 moveto 90 -68 carb 80 -70 lineb 80 -70 cara 82 -70 moveto 82 -70 cara 84 -70 moveto 84 -70 carb 86 -70 turnd 86 -70 cara 88 -70 turna 88 -70 carb 90 -70 moveto 90 -70 cara 80 -72 turnc 80 -72 cara 82 -72 linea 82 -72 carb 84 -72 linea 84 -72 carb 86 -72 teeb 86 -72 carb 88 -72 lineb 88 -72 cara 90 -72 moveto 90 -72 carb 80 -74 moveto 80 -74 carb 82 -74 moveto 82 -74 cara 84 -74 moveto 84 -74 carb 86 -74 turnc 86 -74 carb 88 -74 turnb 88 -74 cara 90 -74 moveto 90 -74 cara 4 -79 moveto (236) show stroke 0 -80 moveto 0 -80 carb 2 -80 moveto 2 -80 cara 4 -80 moveto 4 -80 cara 6 -80 moveto 6 -80 cara 8 -80 moveto 8 -80 carb 10 -80 moveto 10 -80 cara 0 -82 moveto 0 -82 cara 2 -82 moveto 2 -82 cara 4 -82 moveto 4 -82 cara 6 -82 moveto 6 -82 carb 8 -82 moveto 8 -82 cara 10 -82 moveto 10 -82 carb 0 -84 moveto 0 -84 cara 2 -84 moveto 2 -84 carb 4 -84 moveto 4 -84 carb 6 -84 moveto 6 -84 carb 8 -84 starta 8 -84 moveto 10 -84 moveto 10 -84 carb 0 -86 moveto 0 -86 cara 2 -86 moveto 2 -86 cara 4 -86 moveto 4 -86 carb 6 -86 moveto 6 -86 carb 8 -86 lineb 8 -86 cara 10 -86 moveto 10 -86 cara 0 -88 moveto 0 -88 cara 2 -88 moveto 2 -88 carb 4 -88 moveto 4 -88 carb 6 -88 moveto 6 -88 carb 8 -88 startc 8 -88 cara 10 -88 moveto 10 -88 carb 0 -90 moveto 0 -90 carb 2 -90 moveto 2 -90 cara 4 -90 moveto 4 -90 carb 6 -90 moveto 6 -90 cara 8 -90 moveto 8 -90 carb 10 -90 moveto 10 -90 cara 20 -79 moveto (234) show stroke 16 -80 moveto 16 -80 carb 18 -80 moveto 18 -80 cara 20 -80 moveto 20 -80 cara 22 -80 turnd 22 -80 cara 24 -80 turna 24 -80 carb 26 -80 moveto 26 -80 cara 16 -82 moveto 16 -82 cara 18 -82 moveto 18 -82 cara 20 -82 turnd 20 -82 cara 22 -82 turnb 22 -82 carb 24 -82 lineb 24 -82 cara 26 -82 moveto 26 -82 carb 16 -84 turnd 16 -84 cara 18 -84 linea 18 -84 carb 20 -84 teeb 20 -84 carb 22 -84 moveto 22 -84 carb 24 -84 lineb 24 -84 cara 26 -84 moveto 26 -84 carb 16 -86 lineb 16 -86 cara 18 -86 moveto 18 -86 cara 20 -86 turnc 20 -86 carb 22 -86 linea 22 -86 carb 24 -86 turnb 24 -86 cara 26 -86 moveto 26 -86 cara 16 -88 lineb 16 -88 cara 18 -88 turnd 18 -88 carb 20 -88 linea 20 -88 carb 22 -88 linea 22 -88 carb 24 -88 startd 24 -88 moveto 26 -88 moveto 26 -88 carb 16 -90 turnc 16 -90 carb 18 -90 turnb 18 -90 cara 20 -90 moveto 20 -90 carb 22 -90 moveto 22 -90 cara 24 -90 moveto 24 -90 carb 26 -90 moveto 26 -90 cara 36 -79 moveto (204) show stroke 32 -80 moveto 32 -80 carb 34 -80 moveto 34 -80 cara 36 -80 moveto 36 -80 cara 38 -80 moveto 38 -80 carb 40 -80 moveto 40 -80 cara 42 -80 moveto 42 -80 cara 32 -82 moveto 32 -82 cara 34 -82 moveto 34 -82 cara 36 -82 moveto 36 -82 carb 38 -82 moveto 38 -82 cara 40 -82 moveto 40 -82 cara 42 -82 moveto 42 -82 carb 32 -84 moveto 32 -84 cara 34 -84 moveto 34 -84 carb 36 -84 moveto 36 -84 carb 38 -84 moveto 38 -84 carb 40 -84 starta 40 -84 cara 42 -84 moveto 42 -84 carb 32 -86 moveto 32 -86 cara 34 -86 moveto 34 -86 cara 36 -86 moveto 36 -86 cara 38 -86 moveto 38 -86 carb 40 -86 turnc 40 -86 carb 42 -86 turna 42 -86 cara 32 -88 moveto 32 -88 cara 34 -88 moveto 34 -88 carb 36 -88 moveto 36 -88 carb 38 -88 moveto 38 -88 carb 40 -88 startb 40 -88 moveto 42 -88 turnb 42 -88 carb 32 -90 moveto 32 -90 carb 34 -90 moveto 34 -90 cara 36 -90 moveto 36 -90 carb 38 -90 moveto 38 -90 cara 40 -90 moveto 40 -90 carb 42 -90 moveto 42 -90 cara 52 -79 moveto (200) show stroke 48 -80 turnd 48 -80 carb 50 -80 turna 50 -80 cara 52 -80 moveto 52 -80 cara 54 -80 moveto 54 -80 carb 56 -80 moveto 56 -80 cara 58 -80 moveto 58 -80 cara 48 -82 lineb 48 -82 cara 50 -82 lineb 50 -82 cara 52 -82 moveto 52 -82 carb 54 -82 moveto 54 -82 cara 56 -82 moveto 56 -82 cara 58 -82 moveto 58 -82 carb 48 -84 lineb 48 -84 cara 50 -84 turnc 50 -84 carb 52 -84 linea 52 -84 carb 54 -84 linea 54 -84 carb 56 -84 startd 56 -84 moveto 58 -84 moveto 58 -84 carb 48 -86 lineb 48 -86 cara 50 -86 moveto 50 -86 cara 52 -86 moveto 52 -86 cara 54 -86 moveto 54 -86 carb 56 -86 turnd 56 -86 cara 58 -86 turna 58 -86 carb 48 -88 turnc 48 -88 cara 50 -88 linea 50 -88 carb 52 -88 linea 52 -88 carb 54 -88 linea 54 -88 carb 56 -88 teeb 56 -88 carb 58 -88 lineb 58 -88 cara 48 -90 moveto 48 -90 carb 50 -90 moveto 50 -90 cara 52 -90 moveto 52 -90 carb 54 -90 moveto 54 -90 cara 56 -90 turnc 56 -90 carb 58 -90 turnb 58 -90 cara 68 -79 moveto (166) show stroke 64 -80 moveto 64 -80 carb 66 -80 moveto 66 -80 cara 68 -80 moveto 68 -80 cara 70 -80 moveto 70 -80 carb 72 -80 moveto 72 -80 cara 74 -80 moveto 74 -80 cara 64 -82 moveto 64 -82 cara 66 -82 moveto 66 -82 cara 68 -82 moveto 68 -82 carb 70 -82 moveto 70 -82 cara 72 -82 moveto 72 -82 cara 74 -82 moveto 74 -82 carb 64 -84 moveto 64 -84 cara 66 -84 moveto 66 -84 carb 68 -84 moveto 68 -84 carb 70 -84 moveto 70 -84 carb 72 -84 startb 72 -84 moveto 74 -84 turna 74 -84 carb 64 -86 moveto 64 -86 cara 66 -86 moveto 66 -86 cara 68 -86 moveto 68 -86 cara 70 -86 moveto 70 -86 carb 72 -86 moveto 72 -86 carb 74 -86 lineb 74 -86 cara 64 -88 moveto 64 -88 cara 66 -88 moveto 66 -88 carb 68 -88 moveto 68 -88 carb 70 -88 moveto 70 -88 carb 72 -88 startb 72 -88 carb 74 -88 turnb 74 -88 cara 64 -90 moveto 64 -90 carb 66 -90 moveto 66 -90 cara 68 -90 moveto 68 -90 carb 70 -90 moveto 70 -90 cara 72 -90 moveto 72 -90 cara 74 -90 moveto 74 -90 carb 84 -79 moveto (162) show stroke 80 -80 moveto 80 -80 carb 82 -80 moveto 82 -80 cara 84 -80 moveto 84 -80 cara 86 -80 moveto 86 -80 carb 88 -80 moveto 88 -80 cara 90 -80 moveto 90 -80 cara 80 -82 moveto 80 -82 cara 82 -82 moveto 82 -82 cara 84 -82 moveto 84 -82 carb 86 -82 moveto 86 -82 cara 88 -82 turnd 88 -82 cara 90 -82 turna 90 -82 carb 80 -84 turnd 80 -84 cara 82 -84 linea 82 -84 carb 84 -84 linea 84 -84 carb 86 -84 linea 86 -84 carb 88 -84 teeb 88 -84 carb 90 -84 lineb 90 -84 cara 80 -86 lineb 80 -86 cara 82 -86 moveto 82 -86 cara 84 -86 moveto 84 -86 cara 86 -86 moveto 86 -86 carb 88 -86 turnc 88 -86 carb 90 -86 turnb 90 -86 cara 80 -88 lineb 80 -88 cara 82 -88 turnd 82 -88 carb 84 -88 linea 84 -88 carb 86 -88 linea 86 -88 carb 88 -88 startd 88 -88 moveto 90 -88 moveto 90 -88 carb 80 -90 turnc 80 -90 carb 82 -90 turnb 82 -90 cara 84 -90 moveto 84 -90 carb 86 -90 moveto 86 -90 cara 88 -90 moveto 88 -90 cara 90 -90 moveto 90 -90 carb 4 -95 moveto (132) show stroke 0 -96 moveto 0 -96 carb 2 -96 moveto 2 -96 cara 4 -96 moveto 4 -96 cara 6 -96 moveto 6 -96 carb 8 -96 moveto 8 -96 cara 10 -96 moveto 10 -96 cara 0 -98 moveto 0 -98 cara 2 -98 moveto 2 -98 cara 4 -98 moveto 4 -98 carb 6 -98 moveto 6 -98 cara 8 -98 moveto 8 -98 carb 10 -98 moveto 10 -98 cara 0 -100 moveto 0 -100 cara 2 -100 moveto 2 -100 carb 4 -100 moveto 4 -100 carb 6 -100 moveto 6 -100 carb 8 -100 startb 8 -100 carb 10 -100 turna 10 -100 cara 0 -102 moveto 0 -102 cara 2 -102 moveto 2 -102 cara 4 -102 moveto 4 -102 cara 6 -102 moveto 6 -102 carb 8 -102 turnd 8 -102 cara 10 -102 turnb 10 -102 carb 0 -104 moveto 0 -104 cara 2 -104 moveto 2 -104 carb 4 -104 moveto 4 -104 carb 6 -104 moveto 6 -104 carb 8 -104 startc 8 -104 moveto 10 -104 moveto 10 -104 carb 0 -106 moveto 0 -106 carb 2 -106 moveto 2 -106 cara 4 -106 moveto 4 -106 carb 6 -106 moveto 6 -106 cara 8 -106 moveto 8 -106 cara 10 -106 moveto 10 -106 carb 20 -95 moveto (128) show stroke 16 -96 turnd 16 -96 carb 18 -96 turna 18 -96 cara 20 -96 moveto 20 -96 cara 22 -96 moveto 22 -96 carb 24 -96 moveto 24 -96 cara 26 -96 moveto 26 -96 cara 16 -98 lineb 16 -98 cara 18 -98 lineb 18 -98 cara 20 -98 moveto 20 -98 carb 22 -98 moveto 22 -98 cara 24 -98 moveto 24 -98 carb 26 -98 moveto 26 -98 cara 16 -100 lineb 16 -100 cara 18 -100 turnc 18 -100 carb 20 -100 linea 20 -100 carb 22 -100 linea 22 -100 carb 24 -100 startd 24 -100 moveto 26 -100 moveto 26 -100 carb 16 -102 lineb 16 -102 cara 18 -102 moveto 18 -102 cara 20 -102 turnd 20 -102 cara 22 -102 linea 22 -102 carb 24 -102 turna 24 -102 carb 26 -102 moveto 26 -102 cara 16 -104 turnc 16 -104 cara 18 -104 linea 18 -104 carb 20 -104 teeb 20 -104 carb 22 -104 turnd 22 -104 carb 24 -104 turnb 24 -104 cara 26 -104 moveto 26 -104 carb 16 -106 moveto 16 -106 carb 18 -106 moveto 18 -106 cara 20 -106 turnc 20 -106 carb 22 -106 turnb 22 -106 cara 24 -106 moveto 24 -106 cara 26 -106 moveto 26 -106 carb 36 -95 moveto (96) show stroke 32 -96 moveto 32 -96 carb 34 -96 moveto 34 -96 cara 36 -96 moveto 36 -96 cara 38 -96 moveto 38 -96 carb 40 -96 moveto 40 -96 cara 42 -96 moveto 42 -96 cara 32 -98 moveto 32 -98 cara 34 -98 moveto 34 -98 cara 36 -98 moveto 36 -98 carb 38 -98 moveto 38 -98 cara 40 -98 moveto 40 -98 carb 42 -98 moveto 42 -98 cara 32 -100 turnd 32 -100 cara 34 -100 startd 34 -100 carb 36 -100 moveto 36 -100 carb 38 -100 moveto 38 -100 carb 40 -100 starta 40 -100 moveto 42 -100 moveto 42 -100 carb 32 -102 lineb 32 -102 cara 34 -102 moveto 34 -102 cara 36 -102 moveto 36 -102 carb 38 -102 turnd 38 -102 carb 40 -102 turnb 40 -102 cara 42 -102 moveto 42 -102 cara 32 -104 lineb 32 -104 cara 34 -104 turnd 34 -104 carb 36 -104 linea 36 -104 carb 38 -104 turnb 38 -104 cara 40 -104 moveto 40 -104 carb 42 -104 moveto 42 -104 carb 32 -106 turnc 32 -106 carb 34 -106 turnb 34 -106 cara 36 -106 moveto 36 -106 cara 38 -106 moveto 38 -106 carb 40 -106 moveto 40 -106 cara 42 -106 moveto 42 -106 carb 52 -95 moveto (85) show stroke 48 -96 moveto 48 -96 carb 50 -96 moveto 50 -96 cara 52 -96 turnd 52 -96 cara 54 -96 turna 54 -96 carb 56 -96 moveto 56 -96 cara 58 -96 moveto 58 -96 cara 48 -98 moveto 48 -98 cara 50 -98 turnd 50 -98 cara 52 -98 teeb 52 -98 carb 54 -98 turnc 54 -98 cara 56 -98 turna 56 -98 carb 58 -98 moveto 58 -98 cara 48 -100 moveto 48 -100 carb 50 -100 startc 50 -100 moveto 52 -100 turnc 52 -100 carb 54 -100 linea 54 -100 carb 56 -100 turnb 56 -100 cara 58 -100 moveto 58 -100 carb 48 -102 moveto 48 -102 cara 50 -102 moveto 50 -102 cara 52 -102 moveto 52 -102 carb 54 -102 moveto 54 -102 cara 56 -102 moveto 56 -102 carb 58 -102 moveto 58 -102 cara 48 -104 moveto 48 -104 cara 50 -104 moveto 50 -104 cara 52 -104 moveto 52 -104 carb 54 -104 moveto 54 -104 carb 56 -104 moveto 56 -104 carb 58 -104 moveto 58 -104 carb 48 -106 moveto 48 -106 cara 50 -106 moveto 50 -106 carb 52 -106 moveto 52 -106 cara 54 -106 moveto 54 -106 carb 56 -106 moveto 56 -106 cara 58 -106 moveto 58 -106 carb 68 -95 moveto (73) show stroke 64 -96 moveto 64 -96 carb 66 -96 moveto 66 -96 cara 68 -96 moveto 68 -96 carb 70 -96 moveto 70 -96 cara 72 -96 moveto 72 -96 cara 74 -96 moveto 74 -96 cara 64 -98 moveto 64 -98 cara 66 -98 moveto 66 -98 cara 68 -98 moveto 68 -98 carb 70 -98 moveto 70 -98 carb 72 -98 moveto 72 -98 cara 74 -98 moveto 74 -98 cara 64 -100 moveto 64 -100 carb 66 -100 starta 66 -100 moveto 68 -100 turnd 68 -100 cara 70 -100 linea 70 -100 carb 72 -100 linea 72 -100 carb 74 -100 turna 74 -100 carb 64 -102 moveto 64 -102 cara 66 -102 lineb 66 -102 cara 68 -102 turnc 68 -102 carb 70 -102 teec 70 -102 cara 72 -102 linea 72 -102 carb 74 -102 turnb 74 -102 cara 64 -104 moveto 64 -104 cara 66 -104 turnc 66 -104 cara 68 -104 linea 68 -104 carb 70 -104 turnb 70 -104 carb 72 -104 moveto 72 -104 carb 74 -104 moveto 74 -104 carb 64 -106 moveto 64 -106 cara 66 -106 moveto 66 -106 carb 68 -106 moveto 68 -106 cara 70 -106 moveto 70 -106 carb 72 -106 moveto 72 -106 cara 74 -106 moveto 74 -106 carb 84 -95 moveto (55) show stroke 80 -96 moveto 80 -96 carb 82 -96 moveto 82 -96 cara 84 -96 moveto 84 -96 carb 86 -96 moveto 86 -96 cara 88 -96 moveto 88 -96 cara 90 -96 moveto 90 -96 cara 80 -98 moveto 80 -98 cara 82 -98 moveto 82 -98 cara 84 -98 moveto 84 -98 carb 86 -98 moveto 86 -98 carb 88 -98 moveto 88 -98 cara 90 -98 moveto 90 -98 cara 80 -100 moveto 80 -100 carb 82 -100 startb 82 -100 moveto 84 -100 startd 84 -100 carb 86 -100 moveto 86 -100 carb 88 -100 moveto 88 -100 carb 90 -100 moveto 90 -100 cara 80 -102 moveto 80 -102 cara 82 -102 moveto 82 -102 cara 84 -102 moveto 84 -102 cara 86 -102 moveto 86 -102 cara 88 -102 moveto 88 -102 carb 90 -102 moveto 90 -102 carb 80 -104 moveto 80 -104 cara 82 -104 moveto 82 -104 cara 84 -104 moveto 84 -104 carb 86 -104 moveto 86 -104 carb 88 -104 moveto 88 -104 carb 90 -104 moveto 90 -104 carb 80 -106 moveto 80 -106 cara 82 -106 moveto 82 -106 carb 84 -106 moveto 84 -106 cara 86 -106 moveto 86 -106 carb 88 -106 moveto 88 -106 cara 90 -106 moveto 90 -106 carb 4 -111 moveto (54) show stroke 0 -112 moveto 0 -112 carb 2 -112 moveto 2 -112 cara 4 -112 moveto 4 -112 carb 6 -112 moveto 6 -112 cara 8 -112 moveto 8 -112 cara 10 -112 moveto 10 -112 cara 0 -114 moveto 0 -114 cara 2 -114 moveto 2 -114 cara 4 -114 moveto 4 -114 carb 6 -114 turnd 6 -114 carb 8 -114 turna 8 -114 cara 10 -114 moveto 10 -114 cara 0 -116 moveto 0 -116 carb 2 -116 moveto 2 -116 carb 4 -116 startb 4 -116 moveto 6 -116 teeb 6 -116 carb 8 -116 turnc 8 -116 carb 10 -116 turna 10 -116 cara 0 -118 moveto 0 -118 cara 2 -118 moveto 2 -118 cara 4 -118 moveto 4 -118 cara 6 -118 turnc 6 -118 cara 8 -118 linea 8 -118 carb 10 -118 turnb 10 -118 carb 0 -120 moveto 0 -120 cara 2 -120 moveto 2 -120 cara 4 -120 moveto 4 -120 carb 6 -120 moveto 6 -120 carb 8 -120 moveto 8 -120 carb 10 -120 moveto 10 -120 carb 0 -122 moveto 0 -122 cara 2 -122 moveto 2 -122 carb 4 -122 moveto 4 -122 cara 6 -122 moveto 6 -122 carb 8 -122 moveto 8 -122 cara 10 -122 moveto 10 -122 carb 20 -111 moveto (44) show stroke 16 -112 moveto 16 -112 carb 18 -112 moveto 18 -112 cara 20 -112 moveto 20 -112 carb 22 -112 moveto 22 -112 cara 24 -112 moveto 24 -112 cara 26 -112 moveto 26 -112 cara 16 -114 moveto 16 -114 cara 18 -114 moveto 18 -114 cara 20 -114 turnd 20 -114 carb 22 -114 turna 22 -114 cara 24 -114 moveto 24 -114 carb 26 -114 moveto 26 -114 cara 16 -116 moveto 16 -116 carb 18 -116 moveto 18 -116 carb 20 -116 lineb 20 -116 moveto 22 -116 turnc 22 -116 carb 24 -116 turna 24 -116 cara 26 -116 moveto 26 -116 carb 16 -118 moveto 16 -118 cara 18 -118 moveto 18 -118 cara 20 -118 turnc 20 -118 cara 22 -118 linea 22 -118 carb 24 -118 turnb 24 -118 carb 26 -118 moveto 26 -118 cara 16 -120 moveto 16 -120 cara 18 -120 moveto 18 -120 cara 20 -120 moveto 20 -120 carb 22 -120 moveto 22 -120 carb 24 -120 moveto 24 -120 carb 26 -120 moveto 26 -120 carb 16 -122 moveto 16 -122 cara 18 -122 moveto 18 -122 carb 20 -122 moveto 20 -122 cara 22 -122 moveto 22 -122 carb 24 -122 moveto 24 -122 cara 26 -122 moveto 26 -122 carb 20 -116 loopstart 36 -111 moveto (36) show stroke 32 -112 moveto 32 -112 carb 34 -112 moveto 34 -112 cara 36 -112 moveto 36 -112 carb 38 -112 moveto 38 -112 cara 40 -112 moveto 40 -112 cara 42 -112 moveto 42 -112 cara 32 -114 moveto 32 -114 cara 34 -114 moveto 34 -114 cara 36 -114 moveto 36 -114 cara 38 -114 moveto 38 -114 carb 40 -114 moveto 40 -114 carb 42 -114 moveto 42 -114 cara 32 -116 turnd 32 -116 carb 34 -116 linea 34 -116 carb 36 -116 linea 36 -116 moveto 38 -116 turna 38 -116 cara 40 -116 moveto 40 -116 carb 42 -116 moveto 42 -116 carb 32 -118 lineb 32 -118 cara 34 -118 turnd 34 -118 cara 36 -118 linea 36 -118 carb 38 -118 turnb 38 -118 carb 40 -118 moveto 40 -118 cara 42 -118 moveto 42 -118 cara 32 -120 lineb 32 -120 cara 34 -120 lineb 34 -120 cara 36 -120 moveto 36 -120 carb 38 -120 moveto 38 -120 carb 40 -120 moveto 40 -120 carb 42 -120 moveto 42 -120 carb 32 -122 turnc 32 -122 cara 34 -122 turnb 34 -122 carb 36 -122 moveto 36 -122 cara 38 -122 moveto 38 -122 carb 40 -122 moveto 40 -122 cara 42 -122 moveto 42 -122 carb 36 -116 loopstart 52 -111 moveto (24) show stroke 48 -112 turnd 48 -112 carb 50 -112 turna 50 -112 cara 52 -112 moveto 52 -112 carb 54 -112 moveto 54 -112 cara 56 -112 moveto 56 -112 cara 58 -112 moveto 58 -112 cara 48 -114 lineb 48 -114 cara 50 -114 lineb 50 -114 cara 52 -114 moveto 52 -114 cara 54 -114 moveto 54 -114 carb 56 -114 moveto 56 -114 carb 58 -114 moveto 58 -114 cara 48 -116 lineb 48 -116 cara 50 -116 teed 50 -116 carb 52 -116 startd 52 -116 moveto 54 -116 moveto 54 -116 carb 56 -116 moveto 56 -116 carb 58 -116 moveto 58 -116 carb 48 -118 turnc 48 -118 cara 50 -118 turnb 50 -118 carb 52 -118 moveto 52 -118 carb 54 -118 moveto 54 -118 cara 56 -118 moveto 56 -118 cara 58 -118 moveto 58 -118 cara 48 -120 moveto 48 -120 cara 50 -120 moveto 50 -120 cara 52 -120 moveto 52 -120 carb 54 -120 moveto 54 -120 carb 56 -120 moveto 56 -120 carb 58 -120 moveto 58 -120 carb 48 -122 moveto 48 -122 carb 50 -122 moveto 50 -122 cara 52 -122 moveto 52 -122 cara 54 -122 moveto 54 -122 carb 56 -122 moveto 56 -122 cara 58 -122 moveto 58 -122 carb 68 -111 moveto (14) show stroke 64 -112 moveto 64 -112 cara 66 -112 turnd 66 -112 carb 68 -112 linea 68 -112 carb 70 -112 turna 70 -112 cara 72 -112 moveto 72 -112 cara 74 -112 moveto 74 -112 cara 64 -114 moveto 64 -114 cara 66 -114 turnc 66 -114 cara 68 -114 teec 68 -114 cara 70 -114 turnb 70 -114 carb 72 -114 moveto 72 -114 carb 74 -114 moveto 74 -114 cara 64 -116 moveto 64 -116 cara 66 -116 moveto 66 -116 carb 68 -116 startc 68 -116 moveto 70 -116 moveto 70 -116 carb 72 -116 moveto 72 -116 carb 74 -116 moveto 74 -116 carb 64 -118 moveto 64 -118 carb 66 -118 moveto 66 -118 cara 68 -118 moveto 68 -118 carb 70 -118 moveto 70 -118 cara 72 -118 moveto 72 -118 cara 74 -118 moveto 74 -118 cara 64 -120 moveto 64 -120 cara 66 -120 moveto 66 -120 cara 68 -120 moveto 68 -120 carb 70 -120 moveto 70 -120 carb 72 -120 moveto 72 -120 carb 74 -120 moveto 74 -120 carb 64 -122 moveto 64 -122 carb 66 -122 moveto 66 -122 cara 68 -122 moveto 68 -122 cara 70 -122 moveto 70 -122 carb 72 -122 moveto 72 -122 cara 74 -122 moveto 74 -122 carb 84 -111 moveto (6) show stroke 80 -112 moveto 80 -112 cara 82 -112 moveto 82 -112 cara 84 -112 moveto 84 -112 carb 86 -112 moveto 86 -112 carb 88 -112 moveto 88 -112 cara 90 -112 moveto 90 -112 cara 80 -114 turnd 80 -114 cara 82 -114 startd 82 -114 carb 84 -114 moveto 84 -114 cara 86 -114 moveto 86 -114 cara 88 -114 moveto 88 -114 carb 90 -114 moveto 90 -114 cara 80 -116 lineb 80 -116 cara 82 -116 turnd 82 -116 carb 84 -116 startd 84 -116 moveto 86 -116 moveto 86 -116 carb 88 -116 moveto 88 -116 carb 90 -116 moveto 90 -116 carb 80 -118 turnc 80 -118 carb 82 -118 turnb 82 -118 cara 84 -118 moveto 84 -118 carb 86 -118 moveto 86 -118 cara 88 -118 moveto 88 -118 cara 90 -118 moveto 90 -118 cara 80 -120 moveto 80 -120 cara 82 -120 moveto 82 -120 cara 84 -120 moveto 84 -120 carb 86 -120 moveto 86 -120 carb 88 -120 moveto 88 -120 carb 90 -120 moveto 90 -120 carb 80 -122 moveto 80 -122 carb 82 -122 moveto 82 -122 cara 84 -122 moveto 84 -122 cara 86 -122 moveto 86 -122 carb 88 -122 moveto 88 -122 cara 90 -122 moveto 90 -122 carb %%EndDocument @endspecial 1164 4991 a Fl(Figure)27 b(13:)36 b(solution)27 b(to)g(hardest)g(6x6)g(instance)1905 5255 y(14)p eop %%Page: 15 15 15 14 bop 515 523 a Ff(Question)30 b(1)41 b Fl(What)24 b(is)g(the)g(complexit)n(y)f(of)h(Rush)g(Hour)f(Maze,)h(Unit)g(Rush)g (Hour,)g(and)515 623 y(W)-7 b(alled)27 b(Unit)i(Rush)f(Hour?)36 b(Are)28 b(they)f(in)h(P)-7 b(,)28 b(PSP)-7 b(A)n(CE)26 b(complete,)h(or)g(in)h(b)r(et)n(w)n(een?)515 897 y Fm(References)556 1079 y Fl([1])41 b(J.E.)33 b(Hop)r(croft,)i(J.T.)f(Sc)n(h)n(w)n(artz,)g (and)f(M.)h(Sharir.)f(On)g(the)h(Complexit)n(y)f(of)h(Mo-)685 1179 y(tion)24 b(Planning)e(for)h(Multiple)h(Indep)r(enden)n(t)g(Ob)5 b(jects:)35 b(PSP)-7 b(A)n(CE-Hardness)20 b(of)k(the)685 1278 y('W)-7 b(arehouseman's)41 b(Problem'.)g Fj(International)i (Journal)g(of)h(R)l(ob)l(otics)f(R)l(ese)l(ar)l(ch)p Fl(,)685 1378 y(3\(4\):76{88,)25 b(1984.)556 1544 y([2])41 b(Gary)-7 b(.)24 b(W.)g(Flak)n(e)g(and)g(Eric.)f(B.)h(Baum.)g(Rush)g (Hour)g(is)g(PSP)-7 b(A)n(CE-complete.)22 b Fj(The-)685 1644 y(or)l(etic)l(al)31 b(Computer)f(Scienc)l(e)p Fl(,)e(270\(1-2\):) 35 b(895{911,)24 b(Jan)n(uary)i(2002.)556 1810 y([3])41 b(Rob)r(ert)30 b(A.)g(Hearn)g(and)g(Erik)e(D.)j(Demaine.)f(The)g (Nondeterministic)g(Constrain)n(t)685 1909 y(Logic)35 b(Mo)r(del)h(of)f(Computation:)53 b(Reductions)35 b(and)g (Applications.)h(in)g(Pro)r(ceed-)685 2009 y(ings)g(of)g(the)g(29th)f (In)n(ternational)g(Collo)r(quium)g(on)h(Automata,)i(Languages)33 b(and)685 2109 y(Programming)26 b(\(ICALP)i(2002\),)f(Lecture)h(Notes)g (in)g(Computer)g(Science,)h(v)n(olume)685 2208 y(2380,)d(Malaga,)g (Spain,)i(July)f(8-13,)f(2002,)g(pages)g(401-413.)556 2374 y([4])41 b(Rob)r(ert)25 b(A.)h(Hearn)e(and)h(Erik)f(D.)h(Demaine.) h(PSP)-7 b(A)n(CE-Completeness)22 b(of)j(Sliding-)685 2474 y(Blo)r(c)n(k)42 b(Puzzles)f(and)h(Other)g(Problems)e(through)i (the)g(Nondeterministic)h(Con-)685 2573 y(strain)n(t)25 b(Logic)f(Mo)r(del)h(of)f(Computation.)h Fj(The)l(or)l(etic)l(al)k (Computer)f(Scienc)l(e)p Fl(,)e(to)f(ap-)685 2673 y(p)r(ear)i(in)h (2004.)1905 5255 y(15)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF