FunctionalDependencies: thoughtsOnMixing.ps

File thoughtsOnMixing.ps, 87.2 KB (added by malcolm.wallace@…, 12 years ago)

possible use case for FunctionalDependencies

Line 
1%!PS-Adobe-2.0
2%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
3%%Title: V0/thoughtsOnMixing.dvi
4%%Pages: 6
5%%PageOrder: Ascend
6%%BoundingBox: 0 0 596 842
7%%EndComments
8%DVIPSWebPage: (www.radicaleye.com)
9%DVIPSCommandLine: dvips V0/thoughtsOnMixing.dvi
10%DVIPSParameters: dpi=600, compressed
11%DVIPSSource:  TeX output 2001.11.01:1402
12%%BeginProcSet: texc.pro
13%!
14/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
15N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
16mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
170 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
18landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
19mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
20matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
21exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
22statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
23N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
24/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
25/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
26array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
27df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
28definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
29}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
30B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
311 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
321 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
330 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
34sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
35rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
36gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
37/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
38/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
39A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
40get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
41ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
42fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
43{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
44chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
451 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
46forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
47/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
48}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
49bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
50mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
51SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
52userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
531000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
54index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
55/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{
56/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
57(LaserWriter 16/600)]{A length product length le{A length product exch 0
58exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
59end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
60grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
61imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
62exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
63fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
64delta 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}
65B/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{
66p -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
67rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
68
69%%EndProcSet
70TeXDict begin 39158280 55380996 1000 600 600 (V0/thoughtsOnMixing.dvi)
71@start
72%DVIPSBitmapFont: Fa cmti12 12 7
73/Fa 7 117 df<EE07F0ED03FFA39238000FE01607160FA217C0A2161FA21780A2163FA2
741700A25EA2167EA216FEA25EEC1F80EC7FE1903801F071903907C039F890380F801D9038
751F001F013E130F017E5C5B48481307A248485C120749130F120F5E485A151F123F495CA2
76153F127F90C790C7FCA25DA200FE147EA29238FE0380160703FC1300A2007E13015E9138
7703F80E1407003E010F131E161C6C131C02385B3A0F80F078783A07C3E07C703A01FF801F
78E03A007E0007802C4676C432>100 D<EC0FE0EC7FF8903801F83E903807C00F90391F80
790780EB3F00017E14C0491303485A48481307000715805B000F140F484814005D4848133E
8015FCEC07F0007FEBFFC0D9FFFEC7FC14C090C9FC5A5AA55AA4ED0180ED03C0007CEC0780
81A2007EEC0F00003E141E157C6C14F06CEB03E03907800F802603C07EC7FC3801FFF83800
823FC0222D75AB2D>I<14FE137FA3EB01FC13001301A25CA21303A25CA21307A25CA2130F
83A25CA2131FA25C157F90393F83FFC091388F81F091381E00F802387F4948137C5C4A137E
84A2495A91C7FCA25B484814FE5E5BA2000314015E5BA2000714035E5B1507000F5DA24913
850F5E001F1678031F1370491480A2003F023F13F0EE00E090C7FC160148023E13C0160300
867E1680EE070000FEEC1E0FED1F1E48EC0FF80038EC03E02D467AC432>104
87D<D801F0D90FE0EB07F0D803FCD97FF8EB3FFC28071E01F03EEBF81F3E0E1F03C01F01E0
880F80271E0F8700D983807F001C018E90390F870007003C019C148E003801B802DC8002F8
8914FC26781FF05C0070495CA24A5C00F0494948130FD8E03F6091C75B1200043F141F4960
90017E92C7FCA24C143F01FE95C7FC49147E6104FE147E1201494A14FE610301EE07800003
9105011400494A14F8A2030302035B0007F0F00E495C1A1E0307EDE01C000F193C494A1538
9262030F020113F0001FF0F1E0494A903800FF800007C7D80380023EC7FC492D78AB50>
93109 D<EC0FE0EC7FFC903801F83E903907E00F8090390F8007C0EB1F00017EEB03E04914
94F0A248481301484814F81207485AA2485AA2485A1503127F90C7FCA215074815F05AA215
950F16E05AED1FC0A21680153F16005D157E5D007C495A007E495A003E5C4A5A6CEB1F8026
960F803EC7FC3807C0FC3801FFF038003F80252D75AB32>111 D<EC0FE0EC7FF8903801F0
971E903803C00F90390780078090380F0003011E14C0150749131FA2017CEB3F801378137C
98ED0E0092C7FC137E137F14F014FF6D13C06D13F06D7F6D7F1300EC0FFE14011400157F81
99120E003F141E487EA2153E48C7123CA200FC5C12705D0078495A6C495A6CEB0F80260F80
1003EC7FC3803FFF838007FC0222D7AAB28>115 D<1470EB01F8A313035CA313075CA3130F
1015CA3131F5CA2007FB512E0B6FC15C0D8003FC7FCA25B137EA313FE5BA312015BA312035B
102A312075BA3120F5BA2EC0780001F140013805C140E003F131EEB001C143C14385C6C13F0
103495A6C485AEB8780D807FEC7FCEA01F81B3F78BD20>I E
104%EndDVIPSBitmapFont
105%DVIPSBitmapFont: Fb cmbx12 14.4 36
106/Fb 36 122 df<EA07F0EA1FF8EA3FFE487EA2B5128014C0A314E0A37EA27EEA1FFDEA07
107F1EA0001A2130314C0A313071480130FA214005B133EA25B5B485A1203485A485A485A90
108C7FC120C132876D225>39 D<B712F0AB240B7F9F2D>45 D<EA07F0487E487E487E487EB5
1091280A76C13006C5A6C5A6C5A6C5A1111769025>I<157815FC14031407141F14FF130F00
11007B5FCB6FCA2147F13F0EAF800C7FCB3B3B3A6007FB712FEA52F4E76CD43>49
111D<EC3FFE0103B512E0010F14FC013F14FF90B712C048D9C07F7F2703FE000F13F8D807F8
11201037FD80FE06D7F48486D7F48488001F01680486C6E13C07F486C6E13E07FA27013F0A5
1136C5AA26C5AEA0FF0EA03C0C914E05EA218C05E1880A24C13005F4C5A4B5B5F4B5B5F4B5B
1144B90C7FC4B5A5E4B5AED7FE04B5A4A5B4A48C8FC4A5A5D4A48EB01F04A5AEC3F804AC7FC
11502FEEC03E0495A495A495A495AD91F80140749C8FC013E150F017FB7FC90B812C05A5A5A
1165A5A5A5AB9FC1880A4344E79CD43>I<91380FFFC091B512FC0107ECFF80011F15E09026
1173FF8077F9026FF800113FC4848C76C7ED803F86E7E491680D807FC8048B416C080486D15
118E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C13005FA24C5A4B5B4B5B4B13C04B
1195BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E0030113F89238007FFE707E701380
1207013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0FF8487E487E487EB57EA318FC
121A25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A1380D80FF84A13006CB44A5A
1226CD9F0075BC690B612F06D5D011F1580010302FCC7FCD9001F1380374F7ACD43>I<EA07
123F0487E487E487E487EB51280A76C13006C5A6C5A6C5A6C5AC8FCB3EA07F0487E487E487E
124487EB51280A76C13006C5A6C5A6C5A6C5A113576B425>58 D<171F4D7E4D7EA24D7EA34C
1257FA24C7FA34C7FA34C7FA24C7FA34C8083047F80167E8304FE804C7E03018116F8830303
126814C7E03078116E083030F814C7E031F81168083033F8293C77E4B82157E8403FE824B80
1270201835D840203834B800207835D844AB87EA24A83A3DA3F80C88092C97E4A84A2027E82
12802FE844A82010185A24A820103854A82010785A24A82010F855C011F717FEBFFFCB600F8
129020FB712E0A55B547BD366>65 D<932601FFFCEC01C0047FD9FFC013030307B600F81307
130033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A
13101800203B5FC494848C9FC4901F8824949824949824949824949824990CA7E494883A248
1324983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280A2
133F307C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D606C6D187EA26D6C606D6D4C
1345A6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07FE
135020F01FEEC1FF80203903AFFE001FFF0020091B612C0033F93C8FC030715FCDB007F14E0
136040101FCC9FC525479D261>67 D<BA7E19FCF1FF801AF01AFCD8000701F0C7000F13FF06
1370014C0071F7F070713F807017F737F747E747F747F86747F747F8886888688A2757EA31D
1388087A21DC0A51DE0A387A963A31DC0A51D80A2631D00A3515AA2646264505B6264505B50
1395B5090C7FCF2FFFE4F5B07075B071F5B96B512C0060F91C8FCBB5A1AF01AC007FCC9FC19
140805B527CD167>I<BB12FEA5D8000701F8C700077FF0007F191F190785858586861B80A2
1411A1FA31A0FA41BC006F81307A497C7FCA31701A317031707170F177F92B6FCA59238F800
1427F170F170717031701A31700A795C9FCB3B812F8A54A517CD055>70
143D<B812C0A5D8000701F8C7FCB3B3B3B2B812C0A52A527CD132>73
144D<B600FC93B7FC8181A282D800076E9239003FFC0070EE07E08282A28202EF7F02E77F02
145E380A202E18002E0806F7F6F7F6F7FA26F7F6F7F6F806F80A26F80707F707F707F707FA2
146707F7080708070808583717F717F717F717FA27114807114C07114E07213F07213F8A272
14713FC7213FE7213FF721487A27214C77214E77313F77313FF85A285858585A28586868686
148A286868686A2D93FFC187FB7173F1B1F1B0F1B07755A60527CD169>78
149D<BAFC19F819FF1AE086D8000701F0C7001F13FC060113FF726C13807313C0070F13E01B
150F0857313F81BFCA27313FEA41BFFA81BFEA31BFC61A21BF84F13F04F13E0614F13C04F13
151004E485A061F5B92B812F01AC04FC7FC19E003F8CBFCB3AEB812C0A550527CD15C>80
152D<91260FFF80130791B500F85B010702FF5B011FEDC03F49EDF07F9026FFFC006D5A4801
153E0EB0FFD4801800101B5FC4848C87E48488149150F001F824981123F4981007F82A28412
154FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFFC017F06C
15516FC6C16FF6C17C06C836C836D826D82010F821303010082021F16801400030F15C0ED00
1567F040714E01600173F050F13F08383A200788200F882A3187FA27EA219E07EA26CEFFFC0
157A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFFC003FFE0
158486C90B65AD8FC0393C7FC48C66C14FC48010F14F048D9007F90C8FC3C5479D24B>83
159D<003FBC1280A59126C0003F9038C0007F49C71607D87FF8060113C001E08449197F4919
1603F90C8171FA2007E1A0FA3007C1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912F0A5
16153517BD05E>I<EC7FFF0107B512F0013F14FE90B77E48D9E00F7F2703FE000113F0486C
1626D7F6EEB3FFC48826E131F83707FA36C496D7FA26C90C7FC6C5AC9FCA6037FB5FC020FB6
163FC91B7FC01071487013FEBF0074913803901FFFC004813F0485B485B485B4890C7FC5A5B
164A2485AA45EA26D5C007F151D163D6C6C02797F6C6D01F113F86C9026C003E1EBFFE06C90
16526F81FC014F06C90B5487EC6ED001F011F01FC010713E0010101E090C8FC3C387CB641>
16697 D<EB3FF0B5FCA51203C6FCB3A4923801FFE0030F13FE033FEBFFC092B612F002F301
167017F913AF7F8003FFEDAFFE0EB0FFF03806D7F92C76C7F4A6E7F4A824A6E7FA2727EA285
168A28584A31A80AC1A00A44E5AA36118FF616E4A5BA26E4A5B6E4A5B6F495BDACFC04990C7
169FCDA87F0EB7FFC913A03FE03FFF849C6B612E0496D148049011F01FCC8FC90C7000313C0
17041547BD24B>I<913801FFF8021FEBFF8091B612F0010315FC010F9038C00FFE903A1FFE
1710001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F138091C7FC486F130070
1725A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15C07E6E140F6CEE1F806C
1736DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0010390B55A01001580023F49
174C7FC020113E033387CB63C>I<4DB47E0407B5FCA5EE001F1707B3A4913801FFE0021F13
175FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC0101B5FC49487F4849143F48
1764980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37EA26C7F5F6C6D5C7E6C6D
1775C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07FCF6D90B5128F0101ECFE
1780FD9003F13F8020301C049C7FC41547CD24B>I<913803FFC0023F13FC49B6FC010715C0
1794901817F903A3FFC007FF849486D7E49486D7E4849130F48496D7E48178048497F18C048
1808191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA27F7EA218E06C
181EE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CECFF00D91FFEEB
18203FE903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F034387CB63D>I<ED3F
183FC0203B5FC020F14C0023F14E09139FFF81FF0499038C03FF849EB807F49903800FFFC49
1845A495AA2495AA2EE7FF8495AEE3FF0EE0FC093C7FCAEB712E0A526007FF8C8FCB3B3A700
1857FB512FEA52E547CD329>I<EB3FF0B5FCA51203C6FCB3A4EE1FFC93B512C0030314F003
1860F8092391FE07FFC92393F001FFE037C8003F07FDAF1E081ECF3C0DAF7807F8502FFC7FC
1875CA25CA45CB3ACB6D8F807B612C0A542537BD24B>104 D<137F497E000313E0487FA248
1887FA76C5BA26C5BC613806DC7FC90C8FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B547B
189D325>I<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C537BD225>108
190D<D93FF0D91FFCEDFFE0B591B500C0010713FE030302F0011F6D7E030F6E017F8092271F
191E07FFCD9FF037F922A3F001FFE01F8007F0003027C9126FF03E080C602F06DD90780137F
192DAF1E0038FC77FDAF3C0159EDAF7806D01BC143F07FC8102FFC75C4A5EA24A5EA44A5EB3
193ACB6D8F807B6D8C03FB512FEA567367BB570>I<D93FF0EB1FFCB591B512C0030314F003
1940F8092391FE07FFC92393F001FFE0003027C80C602F07FDAF1E081ECF3C0DAF7807F8502
195FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542367BB54B>I<913801FFE0021F13FE91B6
19612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49486D7F48496D7F4849
1976D7F4A147F48834890C86C7EA24883A248486F7EA3007F1880A400FF18C0AC007F1880A3
198003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C495BD93FFE
199011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113E03A387CB643>I<
200903A3FF001FFE0B5010F13FE033FEBFFC092B612F002F301017F913AF7F8007FFE0003D9
201FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A4721380AC1A
2020060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFFFC9126FB
203FE075B02F8B612E06F1480031F01FCC8FC030313C092CBFCB1B612F8A5414D7BB54B>I<
20490397FE003FEB590380FFF80033F13E04B13F09238FE1FF89139E1F83FFC0003D9E3E013
205FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7FCA55CB3AAB612
206FCA52F367CB537>114 D<903903FFF00F013FEBFE1F90B7FC120348EB003FD80FF81307
207D81FE0130148487F4980127F90C87EA24881A27FA27F01F091C7FC13FCEBFFC06C13FF15
208F86C14FF16C06C15F06C816C816C81C681013F1580010F15C01300020714E0EC003F0307
20913F015010078EC007F00F8153F161F7E160FA27E17E07E6D141F17C07F6DEC3F8001F8EC
2107F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8F807148048C601F8C7FC2C387CB6
21135>I<143EA6147EA414FEA21301A313031307A2130F131F133F13FF5A000F90B6FCB8FC
212A426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F0015806DEBC03E6DEBF0FC6DEB
213FFF86D6C5B021F5B020313802A4D7ECB34>I<D93FF8913801FFC0B50207B5FCA50003ED
214001FC61607B3AE5FA35FA2017F5D173B177B6D6C14F3DC01E313F06D6CD907C3EBFFC090
2153A0FFFC03F836D90B51203010114FE6D6C13F8020701E091C7FC42377BB54B>I<B600F0
2160107B5FCA5000101F8C8EA7FE06C6DED3F00A2017F163E6E157E013F167C6E15FC6D5E6F
21713016D5E8117036D5E6F13076D5E6F130F6D5E6F131F6D93C7FC815F6E6C133E177E023F
218147C6F13FC6E5C16816E5C16C3A26EEBE3E016E76E5C16FF6E5CA26E91C8FCA26F5AA36F
2195AA26F5AA26F5AA26F5A6F5A40367DB447>I<B6D8E07FB5D8C003B512C0A5000101F0C7
22001F0C7381FF8006E027FED07E06C715DA26E023F150F017F705DA26E181F013F4B6C92C7
221FC6E606D70143E94B5FC6F177E6D4A6E137C03C001F315FC6D715B160303E001E114016D
222020702E05B03F013C06D71485A160F03F8D9807F13076D05F85B93381F003F03FC160F02
2237F4902FC5BDBFE3E011F131F023F04FE90C8FC167EDBFF7C010F5B6E01FCECFF3E4C6D13
2247E6E5FA24C7F6E5F4C7F6E5FA24C7F6E5F4C147FA26E5F93C8123F6F5EA2033E6FC9FC5A
225367DB461>I<B600F00107B5FCA5C601F8C8EA7FE06EED3F00A26D6C153E187E013F167C
2266E15FC6D5E6F13016D5E6F13036D5E8117076D6D5C170F6D6D5C171F6D93C7FC6F5B027F
227143E6F137E023F147C6F13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C16FF6E5CA26E
22891C8FCA36F5AA26F5AA26F5AA26F5AA26F5AA35E150F5E151F93C9FC5DD81FC0133E486C
229137E486C137C486C13FC5D14015D14034A5A6C48485A49485A263FC07FCAFCEB81FE6CB4
2305A6C13F000035BC690CBFC404D7DB447>121 D E
231%EndDVIPSBitmapFont
232%DVIPSBitmapFont: Fc cmtt12 12 53
233/Fc 53 125 df<00085B003EEB07C0007FEB0FE0A24814F0A26C14E0B3A2007E1307003E
23414C0A20008EB01001C1E75BD33>34 D<EA07C0EA0FF0EA1FF8A213FCA213FE120F1207EA
235007EA613FE13FCA21201EA03F8A2EA07F0120FEA1FE0EA7FC0EAFF8013005A5A12700F1E
2366EBC33>39 D<140FEC3F80147F14FF491300495AEB07F8495A495A495A495A49C7FC5B12
237015B485A12075B120F5B121F5BA2123F5BA2127F90C8FCA45A5AAD7E7EA47F123FA27F12
2381FA27F120F7F12077F12036C7E7F12007F6D7E6D7E6D7E6D7E6D7EEB03FE6D7E6D138014
2397F143FEC0F00194D6FC433>I<127812FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7E6D7E
240133F80131F6D7E801307801303801301A2801300A28080A41580143FAD147F1500A45C5C
241A213015CA213035C13075C130F5C495A133F5C137F49C7FC485A485A485A485AEA3FE048
2425A485A90C8FC5A1278194D78C433>I<14F0497EA8007015E000F8EC01F000FE140700FF
243140F01C1133F01F113FF263FF9F913C0000FB61200000314FCC614F06D5B011F1380D907
244FEC7FC90381FFF80017F13E090B57E000314FC000F14FF263FF9F913C026FFF1F813F001
245C1133F0101130F00FE140700F814010070EC00E000001500A86D5A242B79B333>I<EA07
246C0EA0FF0EA1FF8123F13FCA213FEA2121F120F1207EA007E13FEA213FC1201EA03F81207
247EA0FF0EA7FE012FF13C013005A12780F196E8A33>44 D<007FB612FEA2B8FCA36C15FEA2
24828077BA133>I<EB01E0497EA21307A2130FA2131F133F137F13FF1203123F5AEAFFF713
249E71387EA7E071200B3B3A2003FB512FE48801680A216006C5C213E76BD33>49
250D<EB03FF011F13E0017F13FC48B57E48ECFF804815C0260FFE0313E03A1FF0007FF049EB
2511FF84848130F49EB03FC127F90C7EA01FE4814005A6C15FF167FA3127E123CC9FCA216FF
25216FEA2150116FC150316F81507ED0FF0ED1FE0153F16C0ED7F80EDFF004A5AEC07FC4A5A
2534A5A4A5A4A5A4A5A4990C7FC495AEB07F8EB1FF0495A495A495A4890C8FC4848143E4848
254147FEA0FF0485A48B7FCB8FCA37E6C15FE283E7BBD33>I<121FEA3F80EA7FC0EAFFE0A5
255EA7FC0EA3F80EA1F00C7FCB3A3121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2B
2566CAA33>58 D<007FB71280A2B812C0A36C16806C1600CBFCA9003FB7FC481680B812C0A3
2576C1680A22A177CA933>61 D<1278127EB4FC13C07FEA7FF813FEEA1FFF6C13C000037F6C
25813F86C6C7EEB1FFF6D7F010313E06D7F9038007FFC6E7E91380FFF806E13C0020113F06E
25913F8ED3FFE151FED07FF815DED1FFE153FEDFFF84A13F0020713C04A138091383FFE004A
2605A903801FFF0495B010F13804990C7FCEB7FFC48485A4813E0000F5B4890C8FCEA7FFE13
261F8EAFFE05B90C9FC127E127828337BB733>I<90380FFF80017F13F848B512FE0007ECFF
262804815C04815E0263FFC0113F03A7FE0001FF80180130748C7EA03FC5A6C1401A3127E15
263030018EC07F8C8121FED3FF0EDFFE04A13C04A1380913807FE004A5A4A5AEC3FE05D4A5A
2644AC7FCA2495A5CA213035CA96D5A90C9FCA914E0EB03F8A2497EA36D5AA2EB00E0263E7A
265BD33>I<007FB512F8B7FC16C082826C813A03F8000FFCED03FE15016F7E82A2EE3F80A7
266EE7F00A25E4B5AA2ED07FCED1FF890B65A5E1680828216F89039F8000FFCED01FE6F7EEE
2677F80163F17C0161FA2EE0FE0A7161F17C0A2163FEE7F8016FF4B1300150F007FB65AB75A
2685E16E05E6C4AC7FC2B3D7DBC33>66 D<91391FE00780DAFFFC13C00103EBFF0F010F148F
2694914FF5B90387FF81F9038FFC00748497E4848487E497F485A167F485A49143F121F5B00
2703F151F5BA2127F90C8EA0F8093C7FCA25A5AAD7E7EA36DEC0F80003FED1FC0A27F121F7F
271000F153F6D15806C7E167F6C6CECFF007F3A01FF8003FE6C6D485A90397FF81FF86DB55A
2726D5C6D5C010391C7FC010013FCEC1FE02A3F7CBD33>I<003FB712E04816F0B8FCA27E7E
273D801FCC71207A8EE03E093C7FCA6151F4B7EA490B6FCA69038FC003FA46FC7FC92C8FCA8
27417F8EE01FCA9003FB7FC5AB8FCA27E6C16F82E3D7EBC33>69 D<003FB712E04816F0B8FC
275A27E7ED801FCC71207A8EE03E093C7FCA7151F4B7EA490B6FCA69038FC003FA46FC7FC92
276C8FCB1383FFFF8487FB57EA26C5B6C5B2C3D7DBC33>I<003FB612804815C0B712E0A26C
27715C06C1580260003F8C7FCB3B3AD003FB612804815C0B712E0A26C15C06C1580233D78BC
27833>73 D<387FFFF8B57E80A25C6C5BD801FCC9FCB3B3A3EE03E0EE07F0A9007FB7FCB8FC
279A46C16E02C3D7DBC33>76 D<D87FFC90381FFFE0486C4913F07FA36C6D6C13E000039138
28000FC0013F780A213F380A3EBF1F0A38013F0A280A2147C147EA2143E143FA2801580A314
2810F15C0A2140715E0A2140315F0A21401A215F81400A3157CA3153C153EA2151E151F387F
282FF80B5EAC00FA315076C496C5A2C3D7DBC33>78 D<007FB57EB612F815FE81826C812603
283F8007FED3FF0ED0FF815076F7E1501A26F7EA74B5AA215034B5A150FED3FF0EDFFE090B6
2845A5E93C7FC5D8182D9F8007F153F6F7E150F821507AA173E177FA416F8030313FF267FFF
285C014FEB538E001FF17FC81EE7FF86C49EB3FF0C9EA0FC0303E7EBC33>82
286D<D907FE137890393FFFC07C90B5EAF0FC4814FC000714FF5AEBFC03391FF0007F484813
2873F0180131F007F140F90C712074814035AA21501A46CEC00F86C15007F7F6C7E7FEA1FFE
288380FFFE06C13FF6C14F06C14FC6C6C13FF011F1480010314C0D9003F13E0020313F09138
289003FF8ED0FFC1507ED03FE1501150016FFA2007C157F12FEA56C15FF16FE7FED01FC6D13
2900301F0EB07F801FC130F9039FF807FF091B512E016C000FC1580013FEBFE00D8F80F5BD8
291780013E0283F7BBD33>I<003FB712F84816FCB8FCA43AFE000FE001A8007CED00F8C715
29200B3B3A40107B512C049804980A26D5C6D5C2E3D7EBC33>I<D83FFCEC3FFC486CEC7FFE
293B591B5FCA26C48EC7FFE6C48EC3FFCD80FC0EC03F0A76D1407000716E0A86C6CEC0FC0A2
294EC07E0EC0FF0EC1FF8A3000116809039F83FFC1FEC3E7CA4EC7E7EA200001600A2EC7C3E
29501FC5CECFC3FA3ECF81F017C143EA590397DF00FBEA3013D14BC90393FE007FCA5ECC003
296011F5C6D486C5A303E7FBC33>87 D<007FB512C0B612E0A415C048C8FCB3B3B3ABB612C0
29715E0A46C14C01B4D6CC433>91 D<127CA212FEA27EA26C7EA26C7EA26C7EA2120F7FA26C
2987EA26C7EA26C7EA212007FA26D7EA26D7EA26D7EA2130F80A26D7EA26D7EA2130180A26D
2997EA26E7EA26E7EA2141F81A26E7EA26E7EA26E7EA2140181A26E7EA2ED7F80A2ED3FC0A2
300151F16E0A2ED0FF0A2ED07F8A2ED03FCA21501A2ED00F81678264D7AC433>I<007FB512
301C0B612E0A47EC7120FB3B3B3AB007FB5FCB6FCA46C14C01B4D7DC433>I<007FB612FEA2
302B8FCA36C15FEA228077B7D33>95 D<EB1FFC90B57E000314E048804814FC48809038F007
303FFEBE0016E7F153F6C48806C48131FC87F150FA5EC0FFF49B5FC131F137F48B6FC000714
3040F4813C0381FFC00EA3FF0EA7FC05B48C7FC5AA56C141F7E6D137FD83FE0497ED9F807EB
305FFF06CB712F87E6C14F36C14C1C69138003FF0D91FF090C7FC2D2E7BAC33>97
306D<EA3FFC487E12FFA2127F123F1200ABEC01FE91380FFFC04A13F0027F7F91B512FE90B7
307FCECFE07DAF800138002E0EB7FC04AEB3FE04A131FEE0FF091C7FC16074915F81603A217
308FC1601A9160317F8A26D140717F06E130F17E06E131FEE3FC06E137F9139F801FF80DAFE
30907130091B55A495C6E5BD97E3F13E0D93C0F138090260003FEC7FC2E3E7FBC33>I<ECFF
310F0010713FE011FEBFF804914C04914E048B612F048EBC01F9038FE000F485A485A4848EB
31107E049EB03C0484890C7FC5BA2127F90C9FCA25A5AA97E7EA27F003FEC01F06DEB03F86C
3127E6D13076C6C14F06C6C130F01FFEB1FE06CEBE07F6C90B512C06C1580013F14006D13FC
31301075B010013C0252E79AC33>I<ED7FF84B7E5CA280157F1501ABEB01FF010713C1011F
31413F1017F13F990B6FC5A4813813907FE003FD80FF8131F49130F48481307491303123F49
3151301127F90C7FCA25A5AA97E7E15037F123F6D1307A26C6C130F6D131F6C6C133F6C6C13
3167F2603FF81B512F091B612F8C602FD13FC6D13F96D01E113F8010F018013F0D901FEC8FC
3172E3E7DBC33>I<ECFF80010713F0011F13FC497F90B6FC48158048018013C03A07FE003F
318E001F8EB0FF048481307484814F8491303003F15FC491301127F90C7FC16FE15005A5AB7
319FCA516FC48C9FC7E7EA36C7E167C6C6C14FE7F6C7E6D13016C6CEB03FC6CB4130F6C9038
320C03FF86C90B512F06D14E06D14C0010F1400010313FC9038007FE0272E7BAC33>I<ED3F
321E0913801FFFC020713FE141F4A13FF5CECFFC015004948137E4A133C010314005CA8003F
322B612F84815FCB7FCA36C15F8260003F8C7FCB3AD003FB612804815C0A46C1580283E7DBD
32333>I<D901FEEB1FE0903A0FFFC0FFF0013F01F313F84990B512FC90B7FC5A48010313E1
3242607FC00EB80F849017F1360484890383FC00049131FA2001F8149130FA66D131F000F5D
325A26D133F6C6C495A6D13FF2603FF0390C7FCECFFFE485C5D5DD80FCF13C0D981FEC8FC01
32680C9FCA27FA26C7E7F90B512FC6CECFFC06C15F0000715FC4815FF4816809038E0000748
327489038007FC090C8EA1FE048150F007E150700FE16F0481503A56C1507007E16E0007F15
3280F6C6CEC1FC001E0147FD81FF8903801FF80270FFF801F13006C90B55A6C5DC615F0013F
32914C0010F91C7FC010013F02E447DAB33>I<EA3FFC487E12FFA2127F123F1200AB4AB4FC
330020713C0021F13F0027F7F91B5FC90B67EED07FEECF801ECF0004A7F4A7F5CA291C7FCA3
3315BB3A43B3FFFF80FFFFC486D4813FEB56C4813FFA26C496C13FE6C496C13FC303D7FBC33
332>I<14E0EB03F8A2497EA36D5AA2EB00E091C8FCAA383FFFF8487FA47EEA0001B3AD007F
333B612C0B712E016F0A216E06C15C0243E78BD33>I<EA7FF8487EA4127F1200AC4AB512C0
3344A14E04A14F0A26E14E06E14C09139000FF0004B5A4B5A4B5A4BC7FC4A5A4A5A4A5A4A5A
3354A5A4A5A4A5A4A7E01FD7F90B5FC81ECF3F8ECE3FC14C1EC80FEEC007F5B496D7E6F7E82
336150F6F7E6F7E8215016F7E3B7FFFF80FFFF0B56C4813F817FCA217F86C496C13F02E3D7E
337BC33>107 D<383FFFFC487FB5FCA27E7EC7FCB3B3AD003FB612F84815FCB712FEA26C15
338FC6C15F8273D7ABC33>I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF7F15DF92
339B57E6C010F13872607FE07130301FC01FE7F9039F803FC01A201F013F8A401E013F0B3A5
3403C7FFE0FFF07FF80B548018F13C0A46C486C01071380322C80AB33>I<4AB4FC263FFC07
34113C0267FFE1F13F000FF017F7F91B5FC6CB67E6CEC07FEC6EBF801ECF0004A7F4A7F5CA2
34291C7FCA35BB3A43B3FFFF80FFFFC486D4813FEB56C4813FFA26C496C13FE6C496C13FC30
3432C7FAB33>I<EB01FE90380FFFC0013F13F0497F90B57E488048EB03FF2607FC00138048
34448EB7FC049133F4848EB1FE049130F4848EB07F0A2007F15F890C71203A300FEEC01FCAA
3456C14036C15F8A26D1307003F15F06D130FA26C6CEB1FE06D133F6C6CEB7FC06C6CEBFF80
3462603FF0313006CEBFFFE6C5C6D5B6D5B010F13C0D901FEC7FC262E7AAC33>I<EC01FE3A
3473FFC0FFFC0486C4813F000FF017F7F91B512FE6CB7FC6CEBFE07C6D9F800138002E0EB7F
348C04AEB3FE04A131FEE0FF091C7FC16074915F81603A217FC1601A9160317F8A26D140717
349F06E130F17E06E131FEE3FC06E137F9139F801FF80DAFE07130091B55A495C6E5B6E13E0
350020F1380DA03FEC7FC91C9FCAF383FFFF8487FB57EA26C5B6C5B2E427FAB33>I<02FF13
3517C0107EBE0FE011F13F0017F13FC90B512FE4814FF4813C03907FE003F4848131F01F013
3520F484813071503485A491301127F90C7FC15005A5AA97E7E15017F123F6D130315076C7E
3536C6C130F6D131FD807FE137F3903FF81FF6CEBFFFE6C14FC6D13F86D13F0010F13C09038
35401FE0090C8FCAF92387FFFFC92B512FEA46F13FC2F427CAB33>I<ED03FE3B7FFF801FFF
35580B5D8C07F13E002C1B5FC02C314F014C76C9038CFFE0F39001FDFF09139FFC007E09238
3568003C092C8FC5C5C5CA25CA25CA35CB2007FB512FEB7FCA46C5C2C2C7DAB33>I<90381F
357FE0F90B5EA8F80000314FF120F5A5AEBF007387F800190C7FC00FE147F5A153FA37E007F
358EC1F0001C090C7FCEA3FF8EBFFC06C13FF6C14E0000314F8C680011F13FF010014800207
35913C0EC007FED1FE0007C140F00FEEC07F01503A27EA27F15076D14E06D130F6DEB3FC090
36038FE01FF90B61280160000FD5C00FC14F8D8F83F13E0D8780790C7FC242E79AC33>I<EB
36103C0497E130FAA003FB612FC4881B7FCA36C5D26000FE0C8FCB3A3161FEE3F80A5167F6E
362140001075C6E5A9138FE07FE6DB55A6D5C6D5C6E5B021F1380DA07FCC7FC29387EB633>
363I<D83FFCEB1FFE486C497E00FF5CA2007F80003F800000EC007FB3A75EA25DA26D5B9038
3647F800FDAE03F13FC6DB612FE17FF6D806D01FE13FE01039038F83FFC010001C0C7FC302C
3657FAA33>I<3B7FFF8007FFF8B56C4813FC6E5AA24A7E6C496C13F8D80FC0C7EA0FC06D14
3661F00071680A56D143F00031600A3EC0FC0EC1FE0A23A01F83FF07EA3EC7FF8147CA20000
367157C9039FCFCFCFCA3ECF87CA2017C5C017D137EECF03EA2017F133FA26D486C5AA3ECC0
3680F90390F8007C02E2B7EAA33>119 D<3B3FFFC07FFF80486DB512C0B500F114E0A26C01
369E014C06C496C13803B00FE000FE000017F495AEB3F804B5A6D6C48C7FC90380FE07E9038
37007F0FEECF1FC903803FBF8EB01FF6D5B5D6E5A143F6E5A143F814A7E14FF903801FBF0EC
371F9F8903803F1FCEB07E0157E90380FC07F011F6D7E90383F801F02007F496D7E01FE6D7E
372484813033B7FFFC03FFFE0B56C4813F0A46C496C13E02C2B7DAA33>I<3B7FFF801FFFE0
373B56C4813F06E4813F8A24A6C13F06C496C13E0D803F8C7EAFC00000114015E7F00001403
3746D5C137EA2017F495A7FA26E485A131FA26D6C485AA214E0010749C7FCA214F01303157E
375EB01F8A2157C010013FC14FC5D147C147DEC3FF0A36E5AA36E5AA2141F5DA2143F92C8FC
376A3147EA214FE003F5B1301387F81F81383EB87F0139FEBFFE06C5B5C6C90C9FCEA0FFCEA
37703F02D427DAA33>I<000FB712804816C05AA317800180C713004B5A4B5A4B5A4B5A6CC7
378485AC8485A4B5A4BC7FC4A5A4A5A4A5A4A5A4A5A4A5A4A5A4AC8FC495A495A495A495A49
3795A495A495A49C7EA0F804848EC1FC0485A485A485A485A485A48B7FCB8FCA46C16802A2B
3807DAA33>I<127CA212FEB3B3B3B3127CA2074D6AC433>124 D E
381%EndDVIPSBitmapFont
382%DVIPSBitmapFont: Fd cmsy10 12 1
383/Fd 1 16 df<49B4FC010F13E0013F13F8497F48B6FC4815804815C04815E04815F0A248
38415F8A24815FCA3B712FEA96C15FCA36C15F8A26C15F0A26C15E06C15C06C15806C15006C
3856C13FC6D5B010F13E0010190C7FC27277BAB32>15 D E
386%EndDVIPSBitmapFont
387%DVIPSBitmapFont: Fe cmr12 12 60
388/Fe 60 122 df<9239FFC001FC020F9038F80FFF913B3F803E3F03C0913BFC00077E07E0
389D903F890390FFC0FF0494890383FF81F4948EB7FF0495A494814E049C7FCF00FE0499139
3903FC0038049021F90C7FCAFB912F0A3C648C7D81FC0C7FCB3B2486CEC3FF0007FD9FC0FB5
39112E0A33C467EC539>11 D<4AB4FC020F13E091387F80F8903901FC001C49487FD907E013
3920F4948137F011FECFF80495A49C7FCA25B49EC7F00163E93C7FCACEE3F80B8FCA3C648C7
393FC167F163FB3B0486CEC7FC0007FD9FC1FB5FCA330467EC536>I<DBFF80EB3FE0020F90
39439F001FFFC913B3F807C0FF01F913CFC000E3F800380D903F86D48486C7E4948D90FFC80
3954948D93FF8130F4948017F4A7E49485C49C75BA25B494B6D5A041F6E5A96C8FCACF107F0
396BBFCA3C648C7391FC0001F190F1907B3B0486C4A6C497E007FD9FC0FB50083B512E0A34B
397467EC551>14 D<001EEB03C0397F800FF000FF131F01C013F8A201E013FCA3007F130F39
3981E6003CC0000EB000CA401E0131C491318A3000114384913300003147090C712604814E0
399000614C0000E130148EB038048EB070048130E0060130C1E1D7DC431>34
400D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
4011206120E5A5A5A12600B1D78C41B>39 D<140C141C1438147014E0EB01C01303EB0780EB
4020F00A2131E5BA25B13F85B12015B1203A2485AA3485AA348C7FCA35AA2123EA2127EA412
4037CA312FCB3A2127CA3127EA4123EA2123FA27EA36C7EA36C7EA36C7EA212017F12007F13
404787FA27F7FA2EB0780EB03C01301EB00E014701438141C140C166476CA26>I<12C07E12
405707E7E7E120F6C7E6C7EA26C7E6C7EA21378137C133C133E131E131FA2EB0F80A3EB07C0
406A3EB03E0A314F0A21301A214F8A41300A314FCB3A214F8A31301A414F0A21303A214E0A3
407EB07C0A3EB0F80A3EB1F00A2131E133E133C137C13785BA2485A485AA2485A48C7FC120E
4085A5A5A5A5A16647BCA26>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013
409C0A312011380120313005A1206120E5A5A5A12600B1D78891B>44
410D<B612C0A61A067F9721>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A78891B>I<16
41118163C167CA2167816F8A216F01501A216E01503A216C01507A21680150FA2ED1F00A215
4121E153EA2153C157CA2157815F8A25D1401A24A5AA25D1407A25D140FA292C7FC5CA2141E
413143EA2143C147CA25CA25C1301A25C1303A25C1307A25C130FA291C8FC5BA2133EA2133C
414137CA2137813F8A25B1201A25B1203A2485AA25B120FA290C9FC5AA2121E123EA2123C12
4157CA2127812F8A25A126026647BCA31>I<14FF010713E090381F81F890383E007C01FC13
4163F4848EB1F8049130F4848EB07C04848EB03E0A2000F15F0491301001F15F8A2003F15FC
417A390C8FC4815FEA54815FFB3A46C15FEA56D1301003F15FCA3001F15F8A26C6CEB03F0A3
4186C6CEB07E0000315C06D130F6C6CEB1F806C6CEB3F00013E137C90381F81F8903807FFE0
419010090C7FC28447CC131>I<143014F013011303131F13FFB5FC13E713071200B3B3B049
4207E497E007FB6FCA3204278C131>I<EB03FE90381FFFC0017F13F03901F80FFC3903C001
421FE48486C7E000EC7EA7F8048EC3FC0ED1FE04815F00030140F007015F800601407126CB4
42215FC7F7F1503A46C4813076CC7FCC8FC16F8A2150F16F0151F16E0A2ED3FC0ED7F801600
4235D5D4A5A4A5A4A5A5D4A5A4A5A4AC7FC147C5C5C495A495A495A49C7120C131E5B013814
424185B5B485A4848143848C81230000E1570001FB612F0A25A5AB712E0A326427BC131>I<
42549B4FC010F13E0013F13FC9038FE01FE3A01F0007F80D803C0EB3FC048C7EA1FE0120EED
4260FF0EA0FE0486C14F8A215077F5BA26C48130FEA03C0C813F0A3ED1FE0A2ED3FC01680ED
4277F0015FE4A5AEC03F0EC1FC0D90FFFC7FC15F090380001FCEC007FED3F80ED1FC0ED0FE0
42816F0ED07F816FC150316FEA2150116FFA3121EEA7F80487EA416FE491303A2007EC713FC
42900701407003015F80038140F6C15F06CEC1FE06C6CEB3FC0D803E0EB7F803A01FE01FE00
43039007FFFF8010F13E0010190C7FC28447CC131>I<ED0380A21507150FA2151F153FA215
4317F15FFA25CEC03BF153F14071406140C141C141814301470146014C013011480EB03005B
43213065B131C13185B1370136013E0485A5B120390C7FC1206120E120C5A123812305A12E0
433B812C0A3C8383F8000ADEDFFE0027FEBFFC0A32A437DC231>I<000615C0D807C0130701
434FCEB7F8090B612005D5D5D15E0158026063FFCC7FC90C9FCAE14FF010713C090381F01F0
43590383800FC01F0137ED807C07F49EB1F8016C090C7120F000615E0C8EA07F0A316F81503
436A216FCA5123E127F487EA416F890C712075A006015F0A20070140F003015E00038EC1FC0
4377E001EEC3F806CEC7F006C6C13FE6C6C485A3901F807F039007FFFE0011F90C7FCEB07F8
43826447BC131>I<EC07FCEC3FFF91B512C0903903FC03E0903907E000F0D91FC0133849C7
4391258017EEB01FC01FE1303491307485A485AA24848EB03F8000FEC01F092C7FC485AA348
4405AA3127FA29038007F80903801FFF090380780FC39FF0E003E49EB1F8049EB0FC049EB07
441E0136001E0EB03F04914F8150116FC5BED00FEA390C812FFA47EA57F123FA216FE121F15
442016D14FC120FED03F86C7EED07F06C6C14E06C6CEB0FC06C6CEB1F80017EEB3F0090383F
44380FE90380FFFF8010313E00100138028447CC131>I<121EEA7F80A2EAFFC0A4EA7F80A2
444EA1E00C7FCB3A5121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2B78AA1B>58
445D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3A5121E127FEAFF80A213C0A4127F12
4461E1200A512011380A3120313005A1206120E120C121C5A5A12600A3E78AA1B>I<16C04B
4477EA34B7EA34B7EA34B7EA3ED19FEA3ED30FFA203707FED607FA203E07FEDC03FA2020180
448ED801FA2DA03007F160FA20206801607A24A6D7EA34A6D7EA34A6D7EA20270810260147F
449A202E08191B7FCA249820280C7121FA249C87F170FA20106821707A2496F7EA3496F7EA3
450496F7EA201788313F8486C83D80FFF03037FB500E0027FEBFFC0A342477DC649>65
451D<B8FC17E017FC00019039C00003FF6C6C4801007FEF3FC0717E717E717E841703841701
45284A760A21703601707604D5A4D5AEF7FC04DC7FCEE03FEEE3FF091B65A17FC0280C7B47E
453EF1FC0EF0FF0717E717E717E717E1980187F19C0A2183F19E0A8F07FC0A2198018FF4D13
45400A24D5AEF0FFC4D5AEF7FE048486C903803FFC0B9C7FC17FC17C03B447CC345>I<DB0F
455FE146092B500C013E0020314F0913A0FFC01FC0191393FC0003E02FFC7EA0F83D903FCEC
45603C74948EC01E74948EC00FF4948157F4948153F4948151F49C9120F485A491607120348
457481603A248481601A248481600A2123FA2491760127FA31900485AAE6C7EA21960A2123F
4587FA2001F18E07F000F18C0A26C6C160119806C6C160312016DEE07006C6C16066D6C150E
4596D6C5D6D6C5D6D6C15786D6C5D6D6C4A5AD900FFEC0780DA3FC0011FC7FCDA0FFC13FC02
46003B512F0020014C0DB0FFEC8FC3B487BC546>I<B8FC17F017FC00019039C00007FF6C49
4619038007FC0017FED1FE0EF07F0EF03FC717E717E84727E727E727EA2727E85180385A218
4620185A38584A31A80AD1A00A36061A361180361180761180F614E5A183F614EC7FC18FEEF
46303FC4D5AEF1FE001FFED7FC0486DD907FFC8FCB812FC17F094C9FC41447CC34B>I<B912
464F8A3000101C0C7127F6C6C48EC07FC17011700187C183C181CA284A31806A4180704067F
465A395C7FCA4160EA2161E163E16FE91B5FCA3EC8000163E161E160EA21606A319C0A3F001
4668093C7FCA41803A21900A260A260A2181EA2183E187EEF01FE170748486C147FB95AA33A
467447CC342>I<B912F0A3000101C0C7127F6C6C48EC0FF817031701170018781838A2181C
468A3180CA4180E1806160CA21800A5161CA2163C167CED01FC91B5FCA3EC8001ED007C163C
469161CA2160CA793C8FCB08048487EB612F8A337447CC340>I<B6D8C003B6FCA3000101E0
470C70007138026007F80913801FE00B3A991B7FCA30280C71201B3AC2601FFE0913807FF80
471B6D8C003B6FCA340447CC349>72 D<B612F0A3C6EBF0006D5A6D5AB3B3B3A4497E497EB6
47212F0A31C447DC323>I<B56C933807FFFC6E5EA20001F1FE0026006FE0EE1BF8A3D967F0
4731633A2D963F81663A3D961FC16C3A3D960FEED0183A2027FED0303A36E6C1406A36E6C14
4740CA26E6C1418A36E6C1430A36E6C1460A26E6C14C0A36E6CEB0180A3037FEB0300A29238
4753F8006A36F6C5AA36F6C5AA26F6C5AA36F6C5AA36F6C5AA26FB45AA370C7FC13F0A2486C
476143ED80FFFEF0FFEB500F0011C0107B512FCA34E447BC359>77 D<B56C020FB5FC8080C6
477040013F06D6CED1F80D96FF8ED0F00A2D967FC1506EB63FEA2EB61FF01607FA26E7E6E7E
478A26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F1380
479A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF701386A2EF7FC6EF3FE6A2
480EF1FF6EF0FFEA217071703A217011700A201F0167E183E487ED80FFF161EB500F0150EA2
481180640447CC349>I<B712FCEEFFC017F800019039C0000FFC6C6C48EB01FF9338007F80
482EF1FE0170FEF07F018F8EF03FCA218FE1701A218FFA718FEA2170318FCA2EF07F818F0EF
4830FE0EF1FC0EF7F80933801FE00EE0FFC91B612F017800280C9FCB3AA3801FFE0B612C0A3
48438447CC342>80 D<49B41303010FEBE007013F13F89039FE00FE0FD801F8131FD807E0EB
485079F49EB03DF48486DB4FC48C8FC4881003E81127E82127C00FC81A282A37E82A27EA26C
4866C91C7FC7F7FEA3FF813FE381FFFE06C13FE6CEBFFE06C14FC6C14FF6C15C0013F14F001
4870F80010180D9001F7F14019138001FFF03031380816F13C0167F163F161F17E000C0150F
488A31607A37EA36C16C0160F7E17806C151F6C16006C5D6D147ED8FBC05CD8F9F0495AD8F0
4897C495A90393FC00FE0D8E00FB51280010149C7FC39C0003FF02B487BC536>83
490D<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048187C0078183CA20070
491181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC346>I<B601
49207B500F890380FFFFEA3000301E0D9001F90C813F06C0180DA0FFCED3FC091C86C48ED1F
493006C871C0E6D6C6E7E1C0CA26D6C6F5DA36EDA06FF1538011F1A30A26E020E6D1470010F
494DB0C7F1560A26E021C7F0107DB183F5DA2856D6CDA301F4A5AA36D6C4A6C6C49C7FCA36D
4956C4A6C6C1306A3DB80016E130E027FDA8003140CA2DBC00380023FDA00015CA203E08102
4961F01066D5CA36E6C486E6C5AA36E6C486E6C5AA36F48EC1FE1020360A2DBFE7015F30201
4970160020F90C8FCA2DBFFE015FB6E49EC07FEA36F486E5AA36FC86C5AA3031E6F5AA4030C
49816605F467EC364>87 D<01C01318000114384848137048C712E0000EEB01C0000C148000
4991C13030018140000385B003013060070130E0060130CA300E0131C481318A400CFEB19E0
50039FFC01FF801E013FCA3007F130FA2003F130701C013F8390F0001E01E1D71C431>92
501D<EB07FC90383FFF809038F80FE03903C003F048C66C7E000E6D7ED80FC0137E486C137F
5026D6D7EA36F7EA26C5AEA0380C8FCA4EC0FFF49B5FC90380FFE1FEB3FC0EBFF00EA03FC48
5035A485A485A485A127F5B176048C7FCA3153FA36D137F007F14EF6D9038C7E0C0003F1301
5043A1FE00783F13B07F81E03FF802701FFFC0113003A001FE0007C2B2E7CAC31>97
505D<EA01FC12FFA3120712031201B3EC03FC91380FFF8091383C07E091387001F89039FDE0
506007E02807F01FFEC1F8091C713C049EC0FE049140717F0A2EE03F8A217FCA2160117FEAB
50717FC1603A217F8A2EE07F0A26DEC0FE017C06D141F01FBEC3F80D9F380EB7E00D9E1C05B
5089039E0F001F89039C03C07E09039801FFF80C7D803FCC7FC2F467DC436>I<EC7F809038
50903FFF090380FC07C90383F000F01FCEB03804848EB01C00003140F4848EB1FE049133F12
5100F485AA2485AED1FC0007FEC070092C7FCA290C9FC5AAB7E7FA2123F16307F001F15706C
5116C146016E06C6C14C06C6C13010001EC03806C6CEB0700013F131E90381FC078903807FF
512F001001380242E7DAC2B>I<167FED3FFFA315018182B3EC7F80903803FFF090380FC07C
51390383F000E017E1307496D5AD803F87F48487F5B000F81485AA2485AA2127FA290C8FC5A
514AB7E7FA2123FA26C7EA2000F5D7F6C6C5B00035C6C6C9038077F806C6C010E13C0013F01
5151C13FE90380FC0F8903803FFE09026007F0013002F467DC436>I<EB01FE903807FFC090
516381F03F090387E00FC49137E48487F485A4848EB1F80000F15C049130F121F484814E015
51707A2007F15F090C7FCA25AA390B6FCA290C9FCA67EA27FA2123F16306C7E1670000F1560
5186D14E06C6C14C0000314016C6CEB03806C6CEB0700013E131E90381F80F8903803FFE001
5190090C7FC242E7DAC2B>I<EC0FE0EC7FF8903801F81E903803F03F90390FE07F8090381F
520C0FF5C133F495AA2ED7F0001FE131C92C7FCAFB67EA3C648C8FCB3B2486C7E007F13FFA3
52121467EC51E>I<EE0F80D901FCEB7FE0903A0FFF81F0F090393F07E3819039FC01FF033A
52201F800FE014848017E13E00007027FC7FC497F000F8149131F001F81A9000F5D6D133F00
5230792C7FC6D5B0003147E6C6C5B6D485A3903BF07E090380FFF80260701FCC8FC90CAFCA2
5245AA37F6C7E7F90B512F86C14FF16E06C15F86C6C8048B67E3A07C0000FFF48481300003F
525C8EA3F80003E151F48ED0FC0A2481507A56C150F007C1680007E151F003E16006C153E6C
5266C5CD807E0495AD801F8EB07E0D8007FEB3F8090261FFFFEC7FC010113E02C427DAC31>
527I<EA01FC12FFA3120712031201B3EC01FE913807FFC091381E07F091383801F802707FEC
528E000D9FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F457DC4
52936>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCADEA01FC12FFA3120712031201B3B0
530487EB512F8A315437DC21C>I<143C14FFA2491380A46D1300A2143C91C7FCADEC7F80EB
5313FFFA31300147F143FB3B3AA123E127F39FF807F00A2147EA25C6C485A383C01F06C485A
5323807FF80D801FEC7FC195785C21E>I<EA01FC12FFA3120712031201B3A292381FFFE0A3
5336F1300ED07F816E05E5E030EC7FC5D5D5D5D4A5A4A5A4AC8FC5CEC3F804A7E14FF9038FD
534CFE09038FF8FF01407496C7E01FC7F14016E7E81816F7E82151F6F7E821507826F7E8282
535486C491380B5D8F81F13F8A32D457DC433>I<EA01FC12FFA3120712031201B3B3B3A548
5367EB512F8A315457DC41C>I<D801FC01FFEC1FE000FF010701E0EBFFFC913B0F03F801E0
5377F913C3C01FC07803F800007903C7000FE0E001FC0000349D97E1C130F2601FDC0D97F38
538804A143001FFDA3FF06D7E91C75BA2495DA3495DB3A8486C4A6C497EB5D8F81FB50003B5
53912E0A34B2C7DAB52>I<3901FC01FE00FF903807FFC091381E07F091383801F800070170
5407F0003EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FE
541A32F2C7DAB36>I<EC7F80903803FFF090380FC0FC90383E001F496D7E496D7E48486D7E
54248486D7E48486D7E000F81A24848147E003F157FA290C87E481680A44816C0AA6C1680A2
5436D147F003F1600A2001F157E6D14FE000F5D6D130100075D6C6C495A6C6C495A6C6C495A
544013E49C7FC90381FC0FE903807FFF89038007F802A2E7DAC31>I<3901FC03FC00FF9038
5450FFF8091383C07E091387001F83A07FDE000FE00030180137FD801FFEC3F8091C7EA1FC0
5464915E049140F17F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D15E0
547EE1FC06D143F17806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03FCC7
548FC91C9FCAE487EB512F8A32F3F7DAB36>I<91387F8003903903FFE00790380FE0789039
5493F801C0F90387E000E496D5AD803F8EB039F0007EC01BF4914FF48487F121F5B003F81A2
550485AA348C8FCAB6C7EA3123F7F121F6D5C120F6D5B12076C6C5B6C6C497E6C6C130E013F
551131C90380FC0F8903803FFE09038007F0091C7FCAEEEFF80033F13FEA32F3F7DAB33>I<
5523903F803F000FFEB1FFCEC3C3EEC707F0007EBE0FF3803F9C000015B13FBEC007E153C01
553FF13005BA45BB3A748B4FCB512FEA3202C7DAB26>I<90383FE0183901FFFC383907E01F
55478390F0003F8001E1301481300007C1478127800F81438A21518A27EA27E6C6C13006C7E
55513FC383FFFE06C13FC6C13FF6C14C06C14E0C614F0011F13F81300EC0FFC140300C0EB01
556FE1400157E7E153EA27EA36C143C6C147C15786C14F86CEB01F039F38003E039F1F00F80
55739E07FFE0038C00FF01F2E7DAC26>I<1306A5130EA4131EA3133E137EA213FE12011207
558001FB512F0B6FCA2C648C7FCB3A4150CAA017E131C017F1318A26D133890381F8030ECC0
55970903807E0E0903801FFC09038007F001E3E7EBC26>I<D801FC147F00FFEC3FFFA30007
5601401000380000181B3A85EA35DA212006D5B017E9038077F80017F010E13C06D011C13FE
56190380FC078903803FFF09026007F8013002F2D7DAB36>I<B539F001FFFCA3000790C7EA
5627FE06C48EC1F8000011600160E1200160C017F5CA280013F5CA26E1370011F146080010F
5635CA2ECF00101075CA26D6C48C7FCA26E5A01011306A26D6C5AA214FF6E5AA215B8EC3FB0
56415F06E5AA36E5AA26E5AA36EC8FC2E2C7EAA33>I<B500E0B539E03FFF80A30007903C00
5650FFE000FFC00D803FCD903F8EB03F8F001E0120103015D6D80000060A26D6E13036DD903
5667E91C7FCA20280017F5B013FD9063F1306A2D91FC06E5AED0C1FA2D90FE06E5AED180FA2
567D907F06E5AED3007A2D903F86E5AED6003A2902601FCE06D5AEDC00117FCD900FFECFD80
568ED800017FF027F92C8FC92C77EA26E147E023E143EA2021E143C021C141CA2412C7EAA46
569>I<B539F007FFFCA30003D9C00113C0C6496C1300017F14FC013F5C6E13E06D7E010F49
5705A6D6C485A02F890C7FC903803FC060101130E6E5A903800FF186E5AEC3FF05D141F140F
5716E7E81140FEC0DFCEC19FEEC38FF4A7E9138603F8002C07F0101131F49486C7E02007F01
572066D7E010E1303496D7E013C80017C80D801FC1580D80FFE4913C0B5D8800F13FFA3302B
5737FAA33>I<B539F001FFFCA3000790C7EA7FE06C48EC1F8000011600160E0000150C6D14
5741C6D1418A26E1338013F1430A26D6C5BA26E13E0010F5CA26D6C485AA2ECF803010391C7
575FCA2903801FC06A2ECFE0E0100130CA2EC7F18A215B8EC3FB0A2EC1FE0A36E5AA26E5AA3
5766EC8FCA21406A35CA25CA2123C007E5BB4FC5CA25CEAFE01387C0380D87007C9FCEA3C1E
577EA0FFCEA03F02E3F7EAA33>I E
578%EndDVIPSBitmapFont
579%DVIPSBitmapFont: Ff cmbx12 17.28 35
580/Ff 35 120 df<16F04B7E1507151F153FEC01FF1407147F010FB5FCB7FCA41487EBF007
581C7FCB3B3B3B3007FB91280A6395E74DD51>49 D<913801FFF8021FEBFFC091B612F80103
58215FF010F16C0013F8290267FFC0114F89027FFE0003F7F4890C7000F7F48486E7FD807F8
5836E148048486E14C048486E14E048486F13F001FC17F8486C816D17FC6E80B56C16FE8380
584A219FFA283A36C5BA26C5B6C90C8FCD807FC5DEA01F0CA14FEA34D13FCA219F85F19F04D
58513E0A294B512C019804C14004C5B604C5B4C5B604C13804C90C7FC4C5A4C5A4B13F05F4B
58613804B90C8FC4B5AED1FF84B5A4B5A4B48143F4A5B4A48C8FC4A5A4A48157E4A5A4A5AEC
5877F8092C9FC02FE16FE495A495A4948ED01FCD90FC0150749B8FC5B5B90B9FC5A4818F85A
5885A5A5A5ABAFCA219F0A4405E78DD51>I<92B5FC020F14F8023F14FF49B712C04916F001
5890FD9C01F13FC90271FFC00077FD93FE001017F49486D8049C86C7F484883486C6F7F14C0
590486D826E806E82487FA4805CA36C5E4A5E6C5B6C5B6C495E011FC85A90C95CA294B55A61
5914C91C7FC604C5B4C5B4C5B4C5B047F138092260FFFFEC8FC020FB512F817E094C9FC17F8
59217FF91C7003F13E0040713F8040113FE707F717F7113E085717FA2717F85A285831A80A3
5931AC0EA03FCEA0FFF487F487F487FA2B57EA31A80A34D14005C7E4A5E5F6C495E49C8485B
594D81FF85F000F5ED807FE92B55A6C6C6C4914806C01F0010791C7FC6C9026FF803F5B6D90
595B65A011F16F0010716C001014BC8FCD9001F14F0020149C9FC426079DD51>I<F01F804E
5967E187F18FFA25F5F5F5FA25F5F5FA294B5FC5E5E5EA25E5EEE3FBFEE7F3FA216FEED01FC
597ED03F8ED07F0A2ED0FE0ED1FC0ED3F8016005D15FE4A5A4A5AA24A5A4A5A4A5A4A5AA24A
598C7FC14FE495A5C1303495A495A495A5C133F49C8FC13FE485AA2485A485A485A5B121F48
5995A48C9FC12FEBCFCA6CA6CEBC000B1037FB8FCA6485E7CDD51>I<01C0EE01C0D801F816
6000F01FF167F02F0EC07FFDAFF8090B5FC92B7128019006060606060606095C7FC17FC5F17
601E0178004FCC8FC16E09026FC3FFCC9FC91CBFCADED3FFE0203B512F0020F14FE023F6E7E
60291B712E001FDD9E00F7F9027FFFE00037F02F801007F02E06EB4FC02806E138091C8FC49
6036F13C04917E07113F0EA00F090C914F8A219FC83A219FEA419FFA3EA03F0EA0FFC487E48
6047E487FA2B57EA319FEA35C4D13FC6C90C8FC5B4917F8EA3FF001804B13F06D17E0001F5E
6056C6C17C06D4B1380D807FC92B512006C6C4A5B6C6C6C01075B6C01E0011F5BD97FFE90B5
6065A6DB712C0010F93C7FC6D15FC010115F0D9003F1480020301F0C8FC406078DD51>I<EE
6071FFF0303B512E0031F14F892B612FE0203814AD9FC037F021F9039C0007FC04A90C7EA1F
608E0DAFFFC6E7E494914074949EC7FF8494914FF49495B4949497F4990C7FC495D5C13FF48
6095BA25A4A6E5B5A715B48496E5B725A4894C8FCA35AA35C48913801FFE0030F13FE033F6D
6107E4B14E092B612F89126E1FE037FB53AE3F0007FFEDAE7E06D7EDAEFC06D7F4B6D7F02FF
611C76C7F4A82717F4A82A2854A8085A24A1780A54A17C0A37EA77EA47E6E1780A27EA21A00
6127E4D5B7E6E5E7E6E5E6C4C5B6D7E013F4B5B6D6C4A5B6D01C0495B6D6D90B5C7FC6DD9FC
6130713FC6D90B65A6D5E023F15C0020F92C8FC020114F8DA001F1380426079DD51>I<BB12
614F0F2FF801BF81BFEF3FFC088D800010280C7000114F8DF003F7F080F13FF748074808674
61580757FA2757FA28987A289A965A26365A2515BA298B55A505C505C5091C7FC505B505B08
6167F13F00703B512C096B6C8FC93B812F81BC01BF8F3FF801CE00480C8001F13F8080713FE
61708016D7E7480757F757F757F89757F89871E80871EC0A41EE087A663A21EC0A3631E80A2
618511400A2515B515B6398B55A505C08075C081F5C97B6C7FCBD5A1CF81CE099C8FC1BF898
619C9FC63627AE173>66 D<4DB5ED03C0057F02F014070407B600FE140F047FDBFFC0131F4B
620B800F0133F030F05FC137F033F9127F8007FFE13FF92B6C73807FF814A02F0020113C302
6210702C09138007FE74A91C9001FB5FC023F01FC16074A01F08291B54882490280824991CB
6227E49498449498449498449865D49498490B5FC484A84A2484A84A24891CD127FA25A4A1A
6233F5AA348491A1FA44899C7FCA25CA3B5FCB07EA380A27EA2F50FC0A26C7FA37E6E1A1F6C
6241D80A26C801D3F6C6E1A00A26C6E616D1BFE6D7F6F4E5A7F6D6D4E5A6D6D4E5A6D6D4E5A
6256D6E171F6D02E04D5A6E6DEFFF806E01FC4C90C7FC020F01FFEE07FE6E02C0ED1FF80201
62602F8ED7FF06E02FF913803FFE0033F02F8013F1380030F91B648C8FC030117F86F6C16E0
62704071680DC007F02F8C9FC050191CAFC626677E375>I<BB12E0F2FF801BF01BFE757E1C
628F0D800010280C7000780DF007F13FE080F6D7E0801807480093F7F090F13FC757F757F87
6297580767F8A88767F8A888AA2767FA28A881F80A37614C0A41FE0A5881FF0B05214E0A51F
630C0A4521480A31F006466A2525BA2525BA2525B666499B55A515C5191C7FC515B515B515B
631097F5B50B512C008075C083F91C8FC0707B512FCBD12F01CC051C9FC1BF81B8008E0CAFC
6326C627AE17C>I<BD12E0A41CF0A2D8000102C0C71207F1003F1A0F1A031A001B7F1B3FF3
6331FF81B0FA21B07A21B03A21B011CFCA31B00A419FCA21C7EA41C00A21801A31803A21807
634180F183FEF01FF93B6FCA6EEC001EF003F180F18071803A21801A31800A896C9FCB3A5B9
63512F8A657617AE065>70 D<B912E0A6C702E0C7FCB3B3B3B3AEB912E0A633627CE13C>73
636D<BB7E1AFCF2FFC01BF81BFE757ED800010280C7001F80070114F0736C7F081F7F747F74
6377F7414807414C0A27414E0A21DF0A27513F8A41DFCA91DF8A498B512F0A21DE0A25014C0
6381D8062501400505B505B087F5B4FB512E0071F5C93B9C7FC1BFC1BF01B8008F0C8FC04C0
639CCFCB3B3A2B97EA65E627AE16E>80 D<DBFFFCEC01E0020FD9FFE01303027F02FC130749
640B7130F0107EEC01F011F16F049D9C007EBF83F4948C7383FFE7FD9FFF8020FB5FC4801E0
64114014849804849153F91C97E484882001F834982003F83845B007F187FA2193FA200FF18
6421FA27F190FA27FA26D17078080806C01F893C7FC80ECFF8015F86CECFFC016FC6CEDFFE0
64317FE6CEEFFE018F86C17FE6C717E6C846C846D17F86D836D836D8313036D18806D6C17C0
644020F17E01401DA000F16F01500040715F8EE007F1703050014FC183F84060713FE84A200
6457C8300FC83A2197FA3193F7EA31AFC7EA27F1AF86D177F7F1AF06D17FF6D18E06D5E01FF
64618C06E4B138002E04B130002F84B5A02FFED3FFC01CF01E0ECFFF8018301FF010F5B0101
64791B65A6D6C5E48011F93C7FC48010315FC48D9003F14E048020149C8FC476677E35A>83
648D<001FBEFCA64849C79126E0000F148002E0180091C8171F498601F81A0349864986A249
6491B7FA2491B3F007F1DC090C9181FA4007E1C0FA600FE1DE0481C07A5CA95C7FCB3B3B3A3
650021FBAFCA663617AE070>I<B96C023FB612FEA6D8000102C0CA0007EBF000E2007FC7FC
651B3B3B3AA656D63A2821C01806570170380525A6E7F6E4F5A70171F6E626E6D4D5A6E6D17
6527F525A6E6E030390C8FC033F01E04B5A6F6DED1FFC6F01FCED7FF80303D9FF80903803FF
653E06F02F8017F5B6F6C90B7C9FC041F5E040716F8040016C0050F4ACAFCDD003F13C06F64
6547AE17C>I<B800F8011FB80203B7FCA6D8000F91C9000102E0CAEBFE006D72F20FF07072
655715A230F6D73627072171F6D6A708277173F6D7397C7FC70846B6E72197E707217FE6E72
6566170855118016E6870731503636E68704C6E15076E68718451180F6EDE7E7F607172151F
6576E06FE61714B7E08016F153F6E4E6C95C8FC71840803616F4D6C177E7102076F15FE6F66
658714B7E080F7013016F4D6C5F7185081F18036F4D6C5F71023F7013076F94C75F72845018
6590F6F047E6E5E7272131F1AFE6F4C6E5EDEE00171133F6F4C6E93C9FC06F084070361704B
6606E157E06F87213FE1907704B6E5DDEFC0F1881704B6E5D06FE19C1071F18C3704B6E5DDE
661FF3F18E7706407BFC9FC07FF18FF704A705CA3704A705CA27099CAFC4F82A27149705BA3
6627149705BA27149705BA37149705BA37190CB5BA27148725AA37148725A714872CBFCA063
6637DE1A7>87 D<913803FFFE027FEBFFF00103B612FE010F6F7E4916E090273FFE001F7FD9
6647FE001077FD9FFF801017F486D6D7F717E486D6E7F85717FA2717FA36C496E7FA26C5B6D
6655AEB1FC090C9FCA74BB6FC157F0207B7FC147F49B61207010F14C0013FEBFE004913F048
666B512C04891C7FC485B4813F85A5C485B5A5CA2B55AA45FA25F806C5E806C047D7F6EEB01
667F96C6DD903F1EBFF806C01FED90FE114FF6C9027FFC07FC01580000191B5487E6C6C4B7E
668011F02FC130F010302F001011400D9001F90CBFC49437CC14E>97
669D<903807FF80B6FCA6C6FC7F7FB3A8EFFFF8040FEBFF80047F14F00381B612FC038715FF
670038F010014C0DBBFF0011F7FDBFFC001077F93C76C7F4B02007F03F8824B6F7E4B6F1380
6714B17C0851BE0A27313F0A21BF8A37313FCA41BFEAE1BFCA44F13F8A31BF0A24F13E0A24F
67213C06F17804F1300816F4B5A6F4A5B4AB402075B4A6C6C495B9126F83FE0013F13C09127
673F00FFC03B55A4A6CB648C7FCDAC00115F84A6C15E091C7001F91C8FC90C8000313E04F65
6747BE35A>I<92380FFFF04AB67E020F15F0023F15FC91B77E01039039FE001FFF4901F801
6750113804901E0010713C04901804913E0017F90C7FC49484A13F0A2485B485B5A5C5A7113
676E0485B7113C048701380943800FE0095C7FC485BA4B5FCAE7EA280A27EA2806C18FCA26C
6776D150119F87E6C6D15036EED07F06C18E06C6D150F6D6DEC1FC06D01E0EC7F806D6DECFF
67800010701FCEB03FE6D9039FFC03FFC010091B512F0023F5D020F1580020102FCC7FCDA00
6790F13C03E437BC148>I<F17FF8050FB5FCA6EF000F8484B3A892380FFF804AB512F8020F
68014FE023FECFF8391B712E301039138807FF3499039F8000FFB011F01E00103B5FC494913
681004990C87E49488148498148834A815A485BA2485BA25AA3485BA4B5FCAE7EA46C7FA37E
682A26C7FA26C5F806C5F6C6D5D6C6D5D017F93B5FC6D6C6C0103806D6D49806D01F0D91FF7
683EBFFFE6D9039FE01FFE7010190B612876D6CECFE07021F14F8020314E09127003FFE00EC
684C0004F657BE35A>I<92380FFFC04AB512FC020FECFF80023F15E091B712F80103D9FE03
6857F499039F0007FFF011F01C0011F7F49496D7F4990C76C7F49486E7F48498048844A8048
68684485B727E5A5C48717EA35A5C721380A2B5FCA391B9FCA41A0002C0CBFCA67EA380A27E
687A27E6E160FF11F806C183F6C7FF17F006C7F6C6D16FE6C17016D6C4B5A6D6D4A5A6D01E0
6884A5A6D6DEC3FE0010301FC49B45A6D9026FFC01F90C7FC6D6C90B55A021F15F8020715E0
689020092C8FC030713F041437CC14A>I<EE3FFC0307B51280033F14C04AB612F0020715F8
6904A9038F03FFC4AEB807F913A7FFE00FFFE4A5A4B4813FF4913F05B4913E0A24913C0A270
69113FE4949EB7FFCEF3FF8EF1FF0EF07C094C7FCB0B812C0A6D8001F01C0C8FCB3B3B0007F
692B612FCA638657CE431>I<F107F8DB7FFEEC3FFE020FB5D8F001B5FC027FDAFE03148049
693B7128F49DCDFFD13C0010FD9F00FEBFFC149D9800114014990C7EBFC0349486E6C7E4948
694EC3FFF48496E018113800780130048F0C03E97C7FC48496E7FA34884A96C60A36C6D4A5B
695A26C60A26C6D4A90C8FC6D6C4A5A6D6C4A5A6D6D485BDBF00F5B4990B612C060D97C7F4A
696C9FCD9FC0F14F09126007FFECAFC92CCFC1201A47FA27F8014F091B77E18FE6CEFFFC019
697F06D17FC19FF6D846D846D846D84013F8490BAFC0003854801E0C712014890C9000F7F48
6984816014848EE007F4848717E8512FF5B85A56D5F007F616D173F003F616D177F6C6C4D5A
6996C01C003035B6C6D4B5B6C01F8031F5BC601FF92B5C7FC6D01F8011F5B011F90B712F801
7000717E0010094C8FC020F15F0DA003F01FCC9FC4A607CC151>I<903807FF80B6FCA6C6FC
7017F7FB3A8EF1FFF94B512F0040714FC041F14FF4C8193267FE07F7F922781FE001F7FDB83
702F86D7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC825DA25DA25DA45DB3B2B7D8
703F007B71280A651647BE35A>I<EB0FE0EB3FF8497E48B5FCA24880A24880A76C5CA26C91
704C7FCA238007FFC6D5AEB0FE090C9FCAF903807FF80007FB5FCA6C6FC7F7FB3B3AEB712C0
705A622657BE42C>I<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A623647BE32C>108
706D<902607FF80D91FFFEEFFF8B691B500F00207EBFF80040702FC023F14E0041F02FF91B6
70712F84C6F488193267FE07F6D4801037F922781FE001F9027E00FF0007FC6DA83F86D9026
708F01FC06D7F6DD987F06D4A487F6DD98FC0DBF87EC7804C6D027C80039FC76E488203BEEE
709FDF003BC6E4A8003FC04FF834B5FA24B5FA24B94C8FCA44B5EB3B2B7D8F007B7D8803FB6
71012FCA67E417BC087>I<902607FF80EB1FFFB691B512F0040714FC041F14FF4C8193267F
711E07F7F922781FE001F7FC6DA83F86D7F6DD987F07F6DD98FC0814C7F039FC78015BE03BC
7128003FC825DA25DA25DA45DB3B2B7D8F007B71280A651417BC05A>I<923807FFE092B6FC
713020715E0021F15F8027F15FE494848C66C6C7E010701F0010F13E04901C001037F49496D
7147F4990C87F49486F7E49486F7E48496F13804819C04A814819E048496F13F0A24819F8A3
71548496F13FCA34819FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A26C6D4B13F0A26C19
716E06C6D4B13C0A26C6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D495B010701F0010F13
717E06D01FE017F5B010090B7C7FC023F15FC020715E0020092C8FC030713E048437CC151>
718I<902607FF80EBFFF8B6010FEBFF80047F14F00381B612FC038715FF038F010114C09227
719BFF0003F7FC6DAFFC0010F7F6D91C76C7F6D496E7F03F86E7F4B6E7F4B17804B6F13C0A2
7207313E0A27313F0A21BF885A21BFCA3851BFEAE4F13FCA41BF861A21BF0611BE0611BC06F
72192B512801B006F5C6F4A5B6F4A5B03FF4A5B70495B04E0017F13C09226CFFC03B55A03C7
722B648C7FC03C115F803C015E0041F91C8FC040313E093CBFCB3A3B712F0A64F5D7BC05A>
723I<D90FFFEB0FFCB690383FFF8093B512E04B14F04B14F8923907FC7FFC92390FE0FFFEC6
724EC1F806DD93F0113FF6D133E157E157C15F8A215F07013FEA24BEB7FFCEF3FF8EF0FE04B
72590C7FCA55DB3B0B712F8A638417BC042>114 D<913A3FFF8007800107B5EAF81F011FEC
726FE7F017F91B5FC48B8FC48EBE0014890C7121FD80FFC1407D81FF0801600485A007F167F
72749153FA212FF171FA27F7F7F6D92C7FC13FF14E014FF6C14F8EDFFC06C15FC16FF6C16C0
7286C16F06C826C826C826C82013F1680010F16C01303D9007F15E0020315F0EC001F150004
7291F13F81607007C150100FC81177F6C163FA2171F7EA26D16F0A27F173F6D16E06D157F6D
73016C001FEEDFF806D0203130002C0EB0FFE02FCEB7FFC01DFB65A010F5DD8FE0315C026F8
731007F49C7FC48010F13E035437BC140>I<EC07E0A6140FA5141FA3143FA2147FA214FF5B
732A25B5B5B5B137F48B5FC000F91B512FEB8FCA5D8001F01E0C8FCB3AFEF0FC0AC171F6D6D
7331480A2173F6D16006F5B6D6D137E6D6D5B6DEBFF836EEBFFF86E5C020F14C002035C9126
734003FFCC7FC325C7DDA3F>I<902607FFC0ED3FFEB60207B5FCA6C6EE00076D826D82B3B3
735A260A360A2607F60183E6D6D147E4E7F6D6D4948806D6DD907F0ECFF806D01FFEB3FE06D
73691B55A6E1500021F5C020314F8DA003F018002F0C7FC51427BC05A>I<B70081B600FC01
73703B512FCA6C66C0180C701FCC8381FFE006F6FED03F86D047F5F856F6E16076D646F7014
7380F6D705F866F6E161F6D646F4A6D143F6D99C7FC4E7F6F616D1B7E6F4A6D14FE6D6395B5
7397E7001FC15016E62DCC0016E13036EDBF87F5D05038004E0496C14076E62DCF007ED800F
7406E4B6C5D050F15C004F8496C141F6E62DCFC1FEDE03F6E4B6C92C8FC053F15F004FE496C
7415C6E197E7048EDF8FE6E027E6D5C05FE15FC4D6D13FD6F601BFF6F496E5BA24D806F60A2
7426F496E5BA24D806F60A26F496E90C9FCA294C87E6F5FA26F486F5A047C6F5A6E417DBF75
743>119 D E
744%EndDVIPSBitmapFont
745%DVIPSBitmapFont: Fg cmr12 14.4 19
746/Fg 19 119 df<120FEA3FC0EA7FE012FF13F0A213F8A3127F123FEA0F381200A5137813
74770A313F013E0A2120113C0120313801207EA0F00121EA25A5A12300D23768B21>44
748D<EC1FF891B5FC010314C090390FF81FF090391FC003F849486C7E017EC7127E49800001
749168049141F4848EC0FC0000716E0491407000F16F0A34848EC03F8A2003F16FCA44848EC
75001FEA700FF16FFB3A5007F16FEA56D1403A2003F16FCA4001F16F8A26D1407000F16F0A2
7516C6CEC0FE0A26C6CEC1FC0A26C6CEC3F806C6CEC7F00017F14FE6D6C485A6D6C485A9039
7520FF81FF00103B512C0010091C7FCEC1FF830517BCE3B>48 D<14075C5C147F5C1307133F
753000FB5FCB6FC13F913C1EAF0011200B3B3B3A7497F010F13E0B712FEA4274F75CE3B>I<
754EC7FE0903803FFFE010F6D7E013F14E0D9FF0013F8D801F8EB1FFCD803E06D7E4848EB03
755FF48486D138090C813C0001E16E0001C157F003CED3FF012380078ED1FF81270A2B4ED0F
756FC13C07FA66C5A6C5A000EC8FCC9EA1FF8A317F0163FA2EE7FE017C016FF17804B1300A2
7574B5A4B5A5E4B5A4B5A4B5A5E4BC7FC15FE4A5A4A5A4A5A4A5A5D4A5A4AC8FC147E5C4948
758141CEB03E0495A4948143891C8FC131E5B5B491578485A48481570484815F048B7FCA25A
7595A5AB812E0A42E4F7ACE3B>I<DC1FFC14034BB500C01307030F02F0130F037F14FC9128
76001FFF800FF131F02070180EB1FC04A48C73807E03FDA3FF8913801F07FDA7FE0EC00F890
7612601FF80ED3CFF4990C97E494882494882495A4948824948825C01FF834849177F91CBFC
76248193F485AA24848181FA2121F49180FA2123FA2491807127FA31A005B12FFAE127F7FA3
7631A07123F7FA2121FA26D180F000F190EA26C7E1A1E6C6C181C6C193C806C6D1778137F6E
76417F06D6CEE01E06D7E6D6CEE03C06D6CEE07806D6CEE0F006D6D151E9026007FE0157CDA
7653FF85DDA0FFEEC03F06E6C6CEB0FE0020101F8EBFF806E6CB548C7FC030F14F8030114E0
7669226001FFEC8FC48567AD355>67 D<B500FC030FB512F8A28080D8003FDC007F13006D6D
767ED0FF8735A011D6D6F5A011C6D6F5AA26E7E81143F6E7E81140F6E7E82806E7F82806F7E
76882153F6F7EA26F7E6F7EA26F7F83816F7F83167F707E83161F707E838270138018C08270
76913E0A2EF7FF0EF3FF8A2EF1FFC18FE170FEF07FF1981837113C119E183F07FF119F9183F
770F01FFD19FF8484A28484A284A2197F193F133E017F171F496C160F000713F0B66C150719
77103A219014D527BD158>78 D<EE7FF80307B57E033F14F09239FFC00FFC913A03FE0001FF
772DA0FF89038007FC0DA3FE0EC1FF0DA7F80EC07F84AC86C7E49486F7E49486F7E4948707E
7734948707E4948707E4948707E017F844948707E91CA120348854848717EA24848711380A2
774000F1AC049187F001F1AE0A34848F03FF0A3007F1AF8A249181FA300FF1AFCAE6C6CF03F
775F8A5003F1AF06D187FA2001F1AE0A26D18FF000F1AC0A26C6C4D1380A200031A006D5F6C
776616C6D4C5A6E160F017F606D6C4C5A6D6C4C5AA26D6C4C5A6D6C4C5A6D6C4B90C7FCD900
777FFED03FCDA7FC0EC0FF86E6C4A5ADA0FF8EC7FC0DA03FE4948C8FC913A00FFC00FFC033F
778B512F0030714809226007FF8C9FC4E567AD35B>I<ECFFC0010F13F8013F13FE9039FF00
779FF80D801F0EB3FE0D803C0EB0FF0486C6D7E01F86D7E000F816D13016F7EA3707E6C5AEA
78001E0C9FCA6ED3FFF020FB5FC9138FFFC7F01071300EB1FF0EB7FC04848C7FCEA03FC485A
781485A485A123F5B485A187012FF90C8FCA216FFA35D6D14BF007F14036DEB073F6C6C9039
7820F1FC0E06C6C131E6C6C90393C0FE1C02707FE01F013FF0001B5486C13806C6C90398003
783FE00D907FCC712F834367BB43B>97 D<EB7F80B5FCA41203C6FC137FB3A6ED07FC92387F
784FF800281B512E0913987F00FF891398F8001FC029EC7B4FC02BC6E7E02F86E7E4A6E7E4A
7856E7E4A1407844A6E7EA2841701A284A283A21980AB19005FA360A24D5AA24D5A804D5A6E
7865D6E4A5AD97E784A5A6E4AC7FCD97C1EEB01FE6E495A903A7807E01FF00201B512C09026
78770007F90C8FC90C7EA0FF839547DD241>I<EC0FF891B5FC010314C090390FF80FF09039
7881FC003FC90397F8001FE49C77E4848EC7F804848143F49EC1FC0485A000FED0FE05B001F
78916F01607485AA2007F16F8A25B160312FF90B7FCA30180C9FCA8127F7FA2123FA26D1538
790121F17786C6C1570000716F06D15E06C6C14016C6CEC03C06C6C15806D6C130F6D6CEB1F
79100D90FF0133C903907FE01F80101B512E06D6C1380DA07FCC7FC2D367DB434>101
792D<157F913803FFE0020F13F091383FC0F891387F01FC903901FE03FE903803FC0714F813
79307EB0FF0A290391FE003FCED01F892C7FC495AB3B612FEA426003FC0C7FCB3B3A580EBFF
794F0007FEBFFF8A427547DD324>I<EB7F80B5FCA41203C6FC137FB3A6ED07FC92383FFF80
79592B512E0913981F00FF8913983C007FC9139870003FE028E1301029C6D7E14B814B002F0
7966E7E5CA25CA35CB3AD2601FFE0903801FFE0B600C0B612C0A43A537CD241>104
797D<1378EA01FE487E487FA66C90C7FC6C5AEA007890C8FCB0EB7F80B5FCA41203C6FC137F
798B3B3A43801FFE0B61280A419507CCF21>I<EB7F80B5FCA41203C6FC137FB3B3B3B13801
799FFE0B612C0A41A537CD221>108 D<01FFD907FEEC03FFB590261FFFC0010F13E0037F01
800F0013F13F8912701F80FFC9038FC07FE913D03C003FE01E001FF00039026070001903803
8018000C6010E6D6C48C76C7E6D48DA7F8E6E7E4A159CA24ADA3FF86E7E02605D14E04A5DA3
8024A5DB3AD2601FFE0DAFFF0EC7FF8B6D8C07F9026FFE03FB512F0A45C347CB363>I<EC0F
803FC91387FFF8049B512E0903907F807F890391FE001FE90393F80007F017EC7EA1F80496E
8047E48486E7E00038248486E7EA248486E7EA248486E7EA2003F82A24848ED7F80A400FF17
805C0AB007F1780A26D15FFA2003F1700A2001F5E6D1401000F5E6D140300075E6C6C4A5A6C
8066C4A5AA2D8007FEC3F806D6C49C7FC90391FE001FE903907F807F86DB55AD9007F1380DA
8070FFCC8FC32367CB43B>111 D<01FFEB1F80B5EB7FF0913801FFF8913803E1FC91380783
808FE0003EB0F07C6131EEB7F1C1438143091387003FC91386000F0160014E05CA45CB3AA80
80948487EB612F0A427347DB32E>114 D<EB01C0A71303A41307A3130FA2131FA2133F137F
81013FF5A5A001F90B512E0B7FCA326003FC0C7FCB3A71638AC6E1378011F1470A26D6C13F0
81116E0903807F801903903FC03C0903901FE07806DB51200EC3FFCEC07F0254B7EC92E>
812116 D<B60103B51280A4000301F09039007FF800C601C0EC3FE0017FED1F8095C7FC133F
813171E6D7E171C6E143C010F1538A26E1478010715708001035DA26E130101015D806D4A5A
814A2ED8007027F91C8FC15C0023F130EA2EDE01E021F131CA26E6C5AA2EDF87802071370A2
8156E6C5AA215FF6E5BA26E5BA36FC9FCA2153EA3151C39347EB23E>118
816D E
817%EndDVIPSBitmapFont
818%DVIPSBitmapFont: Fh cmr17 20.74 28
819/Fh 28 121 df[<1638167816F0ED01E0ED03C0ED0780ED0F00151E153E5D5D4A5A4A5A
820A24A5A4A5A141F92C7FC143E147E147C14FC495AA2495AA2495AA2495AA2495AA2133F91
821C8FC5B137EA213FE5B1201A25B1203A3485AA4485AA4485AA5123F5BA5127FA390C9FCA6
8225AB3A87EA67FA3123FA57F121FA56C7EA46C7EA46C7EA312017FA212007F137EA2137F7F
82380131FA26D7EA26D7EA26D7EA26D7EA26D7E147C147E143E8081140F6E7E6E7EA26E7E6E
8247E157C81151E81ED0780ED03C0ED01E0ED00F016781638>37 172
825113 256 61 40 D[<12E07E12787E7E7E6C7E6C7E7F6C7E6C7E137C7FA27F6D7E801307
8266D7E801301806D7EA2147EA280A26E7EA26E7EA2811407811403A281140181A2140081A3
827157FA4ED3F80A4ED1FC0A516E0150FA516F0A31507A616F8B3A816F0A6150FA316E0A515
8281F16C0A5ED3F80A4ED7F00A415FEA35D1401A25D14035DA214075D140F5DA24A5AA24AC7
829FCA2147EA25CA2495A5C13035C495A130F5C49C8FC133EA25B5B485A485A5B485A48C9FC
830121E5A5A5A5A>37 172 120 256 61 I<ED0FFC92B512C0020314F091390FF807FC9139
8313FC000FF4AC7EA3F80D901FEEC1FE0D903F8EC07F049486E7E49486E7E49486E7E013F82
8324A8149C96C7EA201FE707E000184A24848707EA34848707EA2000F84A34848707EA4003F
83384A54848701380A900FF19C0B3AC007F1980A56D5EA3003F1900A5001F60A26D1607A200
8340F60A36C6C4C5AA30003606D161F000160A26C6C4C5AA26D6C4B5A013F94C7FC6E5D6D6C
8354A5A6D6C4A5A6D6C4A5A6D6C4A5A6D6C4A5A6D6C4A5ADA3FC001FFC8FC91390FF807FC02
83603B512F0020014C0DB0FFCC9FC42757AF14F>48 D<ED7FF00207B57E023F14F091B612FC
8374915FF902707FE007F13C0D90FE0010F7FD91F80010113F849C87F017CED3FFE496F7E48
838486F138048486F13C04848817113E0484817F090CAFC48EF7FF8121E003EEF3FFC123CA2
839007CEF1FFE1278A2EA7FC0D8FFF0EE0FFF7F7F7FA76C5A6C5A6C5AD807C0EE1FFECBFCA3
840F03FFCA3F07FF8A219F018FF19E05F19C04D1380A24D130060170F4D5A604D5A4D5A604D
8415A4C90C7FC4C5A4C5A5F4C5A4C5A4C5A4C5A94C8FC16FE4B5A4B5A4B5A4B5A4B5A4B5A4B
842C9FC157E5D4A5A4A5A4A5A4A5A4A4815074AC9FC143E4A160E5C495A495A495A495A49CA
843121E011E171C5B5B49173C485A4848177C4848EE01FC48B912F8A25A5A5ABAFCA219F0A3
844407279F14F>50 D<EE07FE93387FFFE00303B512F8030F14FE92393FF801FF923AFFC000
8451F804A90C7EA07C0DA07FC6E7E4A486E7EDA1FE014004A4815784A4814014AC8EA0FF849
846484B7E4948153F0107167F5C495A131F495AA249486F5A725A49486F5A95C8FC4890CCFC
847A25A5B1207A2120F5BA2121FA25BA2123FA31620007F91380FFFC0033F13F84990B512FE
848913A03F000FF80DA07C0EB1FE04AC76C7E021E6E7E00FF496E7E4A6E7E4A6E7ED9F1E06F
8497E4A8201F3707E5C01F7707E91C97F01FF160F4983A2727E5B85A25B721380A51AC06C5A
850A87F123FA5121F1A80A27F120F601A0012077F000360180F616C7E4E5A6C6D5E183F6D6C
8515E013F4C5A6E15FF6D6C5E6D6C4A90C7FC6D6C4A5A6D6C4A5A6D6CEC1FF86D01C0EB7FF0
852913A7FF803FFC0021FB65A6E4AC8FC020314F8DA007F13E0DB0FFEC9FC42757AF14F>54
853D<F007804E7EA34E7EA34E7EA34E7EA34E7EA24D7FA34D7F18DF18CF0507801887A2050F
854801803A2051F80EF1E01A2053E80EF3C00A24D80197FA24D80193F0401815F191F040381
8555F850407824D7FA2040F8294C77EA24C82041E80A2043E82043C80A24C821A7FA24C821A
8563F0301835E1A1F0303835E860307844C81A2030F8493C97EA24B84031E82A2033FB97EA3
8574B84A20378CA127F4B841B3F0201855D1B1F0203855D870207864B83A2020F8692CB7EA2
8584A86021E84A2023E86023C84A24A861C7FA24A861C3F010187A201031A1F891307010F86
859496C4F7F496C87D9FFFE4F7F00076D6C4DB512F8B600F8057FECFFFCA56E7A7CF977>65
860D<DE7FFCED01C0050FB512C094B600F81403040315FE041F6F6C1307047FD9F00013E04B
8614848C7D80FF0130F030701F0EC03FC4B0180DA00FE131FDB3FFEC9123FDB7FF893381F80
8623F4A4848EE07E04A01C0933803F07F4A4916014A90CBEAF8FFDA1FFC187C4A48183F4A48
863844A5A498649498449498492CCFC494885131F4A85495A017F1B7F5C01FF1B3F5C5A4A1A
8641F5AA248491A0FA25A91CE1207A25A5BA2003F1C03A25BA2127F9AC7FCA45B12FFB2127F
8657FA5123FF501C07FA2121FA27F7E1D036E1B807EA26C7F1D076C1D00806C6480017F1B0E
8666E1A1E013F1B1C6D6C1A3C6E1A38010F1B786D6C1A706F19F06D6D4E5A6D7F6D505A6E6C
8674E5A6E6C180FDA1FFE4EC7FC6E6C183E6E6D5F6E6D5F6E01F04C5A6E6C6CEE07E0DB3FFE
8684C5A92260FFF80ED3F806F01F003FEC8FC030101FEEC07FC9227007FFFF0EBFFF0041F90
869B612C0040393C9FC040015FC050F14E09426007FFCCAFC627C78F873>67
870D<B600E00803B61280A36F62A227003FBFF8080E49C7FC01071EF0A29026039FFC505BA3
871DA8FFE62A3DA87FF62A202836D61A302816D4E5AA302806D4E5AA26F6C4E5AA36F6C180E
872A36F6C60A36F6C60A26F6C60A36F6D5FA36F6D4C5AA26F6D4C5AA3706C4CC7FCA3706C16
8730EA3706C5EA2706C5EA3706C5EA3706D5DA2706D4A5AA3706D4A5AA3716C4AC8FCA3716C
874140EA2716C5CA3716C5CA3716C5CA2716D5BA3716D485AA3716D485AA3726C48C9FCA295
875383FF80EA3726C5AA3726C5AA2726C5AA3725BA3496C6F5BA2497E725B496C517FD97FFC
87670C9FC0003B56C080F13FEB600FE073FB71280193EA3191C817678F592>77
877D<B912FCF0FFF019FEF1FFC01AF8D8003F01F0C7000713FE0107499139003FFF804B0307
8787F6D050113F0736C7E747EF20FFF747F747F86747F88757EA2757EA2757EA288A28789A9
8799AC8FCA263A264A2515A641B7F64515A64505B5090C9FC505A505AF23FF8F27FE0963801
880FF80DF0FFECAFCF17FF895380FFFE092B8CBFC19F019FC03C0C7380FFF80060113E09538
881003FF8F11FFEF107FF737F7313E0737F747E1A3F87747E1A0F878688A3747FAB88AC1F10
8821F38747FA47416787614701B7F496D1BF0756C14E0013F01FC051F1401B8707E0907EC03
883C0756CEB0780759038800F009839007FE03ECF381FFFFC0A075B9938007FC06D7978F575
884>82 D<001FBE12F8A502F8C7000F01F0C7121F4801806E49020113FC01FCC86C49EC003F
885491B1F01E01B07491B03491B0190C91800A2003E1D7CA2003C1D3CA3481D1EA500701D0E
886A8481D07A6CA1900B3B3B3B14D7F4D7F057F13FE031FB812F8A568757BF473>84
887D<B80303B612FCA5D8003F01FCCA000F1400010701E0050113F89838007FE06D49725AA2
888765AA276C7FCB3B3B3B3646D1A1E81A31C3E6D1A3CA281027F197C1C781CF86E7E646E6C
8891701515A140F6E6C4D5A816E4E5A6E6D4CC8FC705E6E6D167E037F5F6F6C4B5ADB1FFC4B
8905A6F6CED0FE0DB03FF4B5A6F01C0EC7F806F01F0D903FFC9FCDC3FFFEB3FFC040F90B55A
891040315E004001580051F01FCCAFC050113C0667978F577>I<B700F00503B612C0A5C602
892FCCC003FEBFC00011F01E0070F13E06D497313807748C7FC6D64775A7F6F627F666F1903
8936D64811D07027F6381023F50C8FCA26F61021F1A1E811D3E6E1A3C826E62A27018F86E62
894821C016E62826E4F5AA2701707037F61821C0F033F96C9FC82031F181EA270173E6F183C
895831C7C6F1878836F60A27115016F60831B036F6083047F4C5AA271150F043F94CAFC8363
896041F161E83705EA272147C701678841BF8705E84704B5AA2721303705E841A07057F5D84
897053F4ACBFCA2725B051F141E841A3E71143C1980715CA2F1C0F8715C19E019E1715C19F1
89871EBF3C0A219FF725BA37290CCFCA2725AA3725AA3725AA2725AA3725A72797EF577>I<
899913803FF80021F13F891B512FE903A03FC01FF80903A07E0003FE0D91F80EB0FF8013EC7
9006C7E496E7E01F06E7E48486E7F717E4848153F4982D807A06F7E13FC487E6D6F7E80A271
9017EA46C90C8FC6C5A6C5ACAFCA6EE07FF0303B5FC157F913903FFFE07021F138091387FF8
90200903801FFC0010790C7FCEB1FFCEB3FF0EBFFE0485B485B4890C8FC5B485A485AA2485A
9031A0E485AA312FF5B170FA4171FA26D153F007F163B177B6DDBF1FE131C003F16E16C6C14
904016C6C912603C0FF13386C6CEC0F806C6C6C903A1F007F80706C6D017CECE1E028007FF8
90503F8EB3FFF011FB500E06D1380010391C7000713009026003FF8EC01FC474D79CB4F>97
906D<ED07FE92387FFFE00203B512FC91390FFC01FF913A3FE0001FC0DA7F80EB03E0D901FE
907C812F84948157C494881494881494881013FEE0780494815034948ED0BC048177F91C9EA
908FFE048485D00075EA2485AA2485AA27113C0003F70138049EE7F0095C7FC127FA35BA212
909FFAE127F7FA4123F7FA2121F6D1738120F19786C6C1770A26C6C17F019E06C6D15016C18
910C06D6C15036D6CED07806EED0F006D6C151E6D6C153ED903FE5D6D6C15F06D01C0EB03E0
911DA3FF0EB0FC0DA0FFE01FFC7FC0203B512FCDA007F13E0030790C8FC3D4D7BCB46>99
912D<191FF07FFF051FB5FCA5EF001F180784A284B3B0ED07FE92387FFFC00203B512F09139
9130FFC01FC91393FE0001FDAFF80EB07814990C7EA03E1D903FCEC01F14948EC0079D91FF0
914153D4948151D4A151F49488101FF824890C9FC48835B0007835B120F5B121FA2123F5BA2
915127FA35BA212FFAE127FA27FA3123FA36C7EA36C7EA200075F7F00035F6C7E606C6D5D6D
9166C153D013F16396D6C03797F6D6C15F16D6CDA03E17FD903FEDA078113F0D900FFDA1F01
917EBFFF0DA7FC0137E91391FF803F80207B512E0020114809127001FF800EC80004C797AF7
91858>I<ED1FFC4AB512C0020714F091391FF00FFC91397F8001FFD901FEC7EA7FC049486E
9197E49486E7E49486E7E49486E7E49486E7E4948140101FF824890C91380A24848EE7FC0A2
920485A000FEF3FE05BA2001F18F0181F485AA3007F18F8A349160FA212FF90B9FCA301E0CB
921FCAB127F7FA3123FA36C7EA219386C7E1978000718707F000318F06C6C17E018016C6DED
92203C06D6C1680013F16076D6CED0F006D6C151E6D6C5D6D6C5D6DB44A5A6D6C6C495ADA3F
923E0EB1F80DA0FFE01FEC7FC0203B512F8DA007F13E0DB07FEC8FC3D4D7BCB46>I<F103F8
924F13FFEDB1FF891B5FC92B5903903FC078002079139E007E01F913D1FF00FF81F803FC091
9253B3FC003FC3E0002FFC7B45A49486E5A49486E5A49486E48EB1F8049486E6CEB060097C7
926FC49486E7E013F82A249486E7EA201FF82A24A80A24884AA6C95C8FCA26E5CA2017F5EA2
9276D6C4A5AA2011F5E6D6C4A5AA26D6C4A5A6D6C4A5A496C4A5A6E4AC9FC903A0F3FC003FC
928903A1E1FF00FF80207B512E0D91C0091CAFC013CEB1FF892CCFCA25BA3137CA4137EA27F
9298080EB1FF091B612FE6DEDFFF818FF6D17E06D17F8010017FE010383010F84D93FE0C700
9300114E001FFC9120FD801FC04017F48489338003FF84848171F4848717E48481707003F72
9317E49170148CBFC737EA200FE85A76C616C616D1701003F616D17036C6C4D5A6C6C4D5A6C
9326C4D5A6C6C4D5A6C6C4D5A26007F80DB01FEC7FCD93FE0ED07FCD90FF8ED1FF0D903FFED
933FFC0010001F8011F90C8FC021FB612F802011580DA000F01F0C9FC4A707DCC4F>103
934D<14F8EA03FFB5FCA5C6FC133F131FA2130FB3B0933803FF80041F13F8047F13FE923A01
935FC03FF80923A03E0007FE0DB0F80EB1FF0031EC76C7E5D4B6E7E4B6E7E5D14F9DAFBC06E
9367E5D14FF92C9FC865CA35CA45CB3B3A8496C4B7FD97FFF030713F0B7D8800FB612F8A54D
937787AF758>I<131EEB7F80497E487F487FA66C5B6C5B6D5A011EC7FC90C8FCB3A7EB01F0
938EA07FFB5FCA51201EA007F133FA2131FB3B3B3A3497EEBFFFEB612FCA51E727AF12A>I<
939D901F0902601FFC0ED0FFED807FF021F01FC92B512E0B5027F01FF020314F8922601FC01
94001C090390FE00FFE922803E0003FE090391F0001FFDB0F80D91FF8017C6D13C04BC7000F
9414A147FC6023C912707FC01E06E7E013F496E6C48486E7E011F0170DA01FF496E7E03F016
9420790260FF1E04CC8FCDAF3C06E019E6F7E4B169C02F717BC92C913B802FFDC7FF86F7E4A
9435FA34A5FA44A5FB3B3A8496C4C6C4B7ED97FFF030301F8031F13C0B7D88007B600FC013F
944B612E0A57B4B7ACA86>109 D<D901F0903803FF80D807FF021F13F8B5027F13FE923A01
945FC03FF80923A03E0007FE0DB0F80EB1FF0031EC76C7EC65C013F496E7E011F496E7E5DEB
9460FF1DAF3C06E7E5D14F792C9FC02FF835CA35CA45CB3B3A8496C4B7FD97FFF030713F0B7
947D8800FB612F8A54D4B7ACA58>I<ED07FE92387FFFE00203B512FC91390FFC03FF913A3F
948C0003FC04AC7EA0FE0D901FEEC07F8D903F8EC01FC49486E7E4948157F49486F7E49486F
9497E017F8349C96C7E4916070001844848707EA2000784491601000F84A24848701380A200
9503F19C0A349177F007F19E0A412FF1AF0AD007F19E0A26D17FFA2003F19C0A46C6C4C1380
951A2000F1900A26C6C4C5AA26C6C4C5A0001606D160F6C606D6C4B5A6D6C4B5AA26D6C4B5A
952D907F003FEC7FCD903FCEC03FC6D6C4A5A6D6C6CEB1FF0DA3FE0EB7FC091270FFC03FFC8
953FC0203B512FCDA007F13E0DB07FEC9FC444D7BCB4F>I<02F849B47ED803FF021F13F8B5
954027F13FE923A01FC01FF80923A07E0003FE0031FC76C7E033EEC0FFCC60278EC03FE013F
955496E7E90261FF9E06E7FDAFBC0826DB4486F7E92C96C7E737E5C4A707E864A160786851B
95680A2851BC0A2851BE0A5F27FF0AEF2FFE0A54F13C0A34F1380A21B0061626E160F626E16
9571F626E4C5A4F5A6F5EDAFBC015FFDAF9E04A5BDAF8F04A48C7FC03784A5A6F4A5A031FEC
9583FF06F6CEBFFC0922603F80790C8FC0300B512FC043F13E0DC07FEC9FC93CBFCB3A7497E
959EB7FFFB77EA54C6C7BCA58>I<D903E0EB1FE0D80FFFECFFFCB501037F923907E01F8092
960391F807FC092383E00FF4B4813E000011478D8007F13F090383FE1E015C0EB1FE39126E7
961800013C0EF7F8092C7EA3F0002EF91C7FC14EE14FE5CA45CA55CB3B3A480133F90B5FCB7
96212C0A5334B7ACA3D>114 D<DA1FFFEB038049B512E0010FECF807903A3FE001FE0F01FE
963C7EA1F9FD801F8EC07DFD807E0EC03FF484880498048C9127F48163F003E161F127E170F
964127C12FC1707A46C1603A27E7F6C7E7F6D92C7FCEA3FFC13FF6C13E06C13FF6C14F06CEC
965FF806C15F86C15FE013F6E7E010F15E0010381010081020F14FEDA007F7F1503DB003F13
96680040713C0040113E000E081177FEF3FF06C161F170FEF07F8A217037E1701A27EA37E18
967F07E17036D16E0A26D15076DED0FC06D168000FE161F017CED3F00486C157E6DEC01F826
968F80FC0EB07F026F003F8EB7FC00100B6C7FC48013F13FC02071380354D7CCB3E>I<1407
969A85CA65CA35CA35CA25CA25BA25B5B5B5B5B5B48B712FE120FB8FCA3D8000190C9FCB3B3
970A2EF01C0B0EF03806D7FA3027FEC0700815F6E6C130E021F141E6F131C6E6C5B6E6C13F8
971913901FF01F09139007FFFC0031F5BDB03FCC7FC326B7EE93D>I<02F8EE0F80D803FFEE
9723FFFB5030FB5FCA5C6EE000F013F1603011F82A2010F82B3B3A660A460A3601307606E15
9730E0103161E606E4B7F010116706D6C03F07F6FD903E013F86E6C4948EBFFF8DA1FE0EB1F
97400DA0FFE13FE0203B512F8DA007F13E0030790C7EBC0004D4C7ACA58>I<007FB500FC02
97503B512FEA5C66C01F06E14C0010F496E01FCC7FC010349ED7FF06D18C06D60077EC8FC6E
9766C157C6E6C5D6E6C5D4E5A6E6C5D6E6C14036E6C4A5A4EC9FC6E6D131E6E7F6F6C5B033F
9775C705B6F6C5B92380FFC010307495A70485A6F6C48CAFC6F138E6F139E17FC705A705A16
9781F83707E707E835E4C7F043C7F4C6C7E16709338F03FF04B486C7E4B486C7E168003076D
9797E4B486C7E031E6D7F5D03386D7F03786E7E4B6E7E4A48141F4A4881727E4A486E7E4AC8
9801203021E82023E6F7F027E6F7F4A167F010184010784D91FFE83017FEFFFFE0007B54B6D
9817EB600C00207ECFFC0A5524A80C953>120 D E
982%EndDVIPSBitmapFont
983end
984%%EndProlog
985%%BeginSetup
986%%Feature: *Resolution 600dpi
987TeXDict begin
988%%PaperSize: A4
989
990%%EndSetup
991%%Page: 1 1
9921 0 bop 959 560 a Fh(AR)-13 b(T)52 b(Memo)g(26)g(\(V)-13
993b(ersion)52 b(0\))-63 768 y(Though)l(ts)f(on)h(Mixing)j(T)-13
994b(raced)51 b(and)h(Un)l(traced)g(Computation)1606 1064
995y Fg(Olaf)37 b(Chitil)1422 1297 y(No)m(v)m(em)m(b)s(er)f(1,)i(2001)-104
9961738 y Ff(1)161 b(In)l(tro)t(duction)-104 1957 y Fe(Ev)m(en)43
997b(when)g(a)e(computation)f(of)h(a)h(program)e(is)h(traced,)j(it)d
998(shall)f(b)s(e)i(p)s(ossible)f(to)g(name)g(some)g(parts)-104
9992077 y(\(mo)s(dules\))47 b(of)g(the)h(program)f(as)h(trusted.)90
1000b(The)49 b(parts)f(of)g(a)f(computation)f(p)s(erformed)i(b)m(y)h
1001(trusted)-104 2198 y(program)31 b(parts)i(shall)e(not)i(b)s(e)f
1002(traced.)44 b(Motiv)-5 b(ation:)41 2401 y Fd(\017)49
1003b Fe(e\016ciency:)c(shorter)33 b(run-time)e(and)i(less)g(trace)g(data;)
100441 2605 y Fd(\017)49 b Fe(comprehensibilit)m(y)31 b(of)h(the)h(trace:)
100544 b(a)m(v)m(oid)32 b(irrelev)-5 b(an)m(t)32 b(trace)h(data.)42
10062808 y(F)-8 b(urthermore,)26 b(un)m(traced)h(program)d(parts)h(should)g
1007(not)g(need)h(to)f(b)s(e)g(transformed)g(at)g(all.)39
1008b(Instead,)28 b(an)-104 2928 y(in)m(terface)h(that)h(wraps)g(un)m
1009(traced)g(co)s(de)g(for)f(use)h(b)m(y)g(traced)g(co)s(de)f(should)h(b)s
1010(e)f(pro)s(duced)h(for)f(an)g(un)m(traced)-104 3049 y(program)i(part.)
101144 b(Motiv)-5 b(ation:)41 3252 y Fd(\017)49 b Fe(e\016ciency:)c
1012(shorter)33 b(compile-time)c(and)k(less)f(ob)5 b(ject)34
1013b(co)s(de;)41 3456 y Fd(\017)49 b Fe(p)s(ortabilit)m(y:)65
1014b(do)45 b(not)f(need)i(source)g(of)e(prelude)h(or)f(compiler-sp)s
1015(eci\014c)f(libraries)g(to)h(transform)140 3576 y(them.)42
10163779 y(In)39 b(the)f(traced)g(computation)f(eac)m(h)i(traced)f
1017(\(sub\)expression)i(needs)g(to)d(carry)h(additional)e(tracing)-104
10183900 y(information.)41 b(Hence)34 b(the)f(tracing)e(transformation)g
1019(also)h(transforms)g(all)f(t)m(yp)s(e)i(de\014nitions.)43
1020b(So)33 b(traced)-104 4020 y(and)d(normal)d(co)s(de)j(inhabit)f
1021(di\013eren)m(t)g(t)m(yp)s(es)i(b)s(et)m(w)m(een)h(whic)m(h)e(the)g
1022(wrapping)g(in)m(terface)f(needs)i(to)f(trans-)-104 4141
1023y(late.)-104 4473 y Ff(2)161 b(Problems)53 b(with)h(T)-13
1024b(ransforming)53 b(Un)l(traced)f(Co)t(de)-104 4692 y
1025Fe(Hat)35 b(1.10)f(transforms)h(un)m(traced)h(co)s(de)g(as)f(w)m(ell)g
1026(\(in)f(a)h(di\013eren)m(t)g(w)m(a)m(y)h(than)g(traced)f(co)s(de\).)52
1027b(A)35 b(problem)-104 4813 y(with)40 b(it)f(b)s(esides)j(e\016ciency)f
1028(and)g(p)s(ortabilit)m(y)d(is)i(that)g(ev)m(en)i(un)m(traced)f
1029(computation)e(pro)s(duces)j(some)-104 4933 y(trace)34
1030b(fragmen)m(ts.)45 b(All)31 b(un)m(traced)j(v)-5 b(alues)33
1031b(are)h(recorded)g(in)e(the)i(trace,)g(just)f(in)f(case)j(that)d(they)j
1032(b)s(ecome)-104 5053 y(part)d(of)h(the)g(result)f(of)g(an)h(un)m
1033(traced)g(function.)42 5174 y(P)m(ossibly)-8 b(,)30 b(the)g(com)m
1034(binators)e(of)h(un)m(traced)h(program)e(parts)i(could)e(b)s(e)i(made)f
1035(non-strict)f(in)h(the)g(trace)-104 5294 y(information,)d(so)j(that)g
1036(the)g(trace)g(of)f(the)h(result)g(of)f(an)h(un)m(traced)h(function)e
1037(is)g(only)g(written)h(to)f(\014le)g(when)-104 5415 y(the)42
1038b(result)f(reac)m(hes)i(the)f(traced)g(w)m(orld.)70 b(Deferred)42
1039b(trace)g(writing)d(ma)m(y)j(increase)g(heap)f(space)i(usage)-104
10405535 y(linearly)-8 b(.)46 b(Alternativ)m(ely)-8 b(,)33
1041b(wrapp)s(ers)i(could)f(add)g(the)g(trace)h(information)c(for)i
1042(expressions)j(constructed)-104 5655 y(b)m(y)j(an)g(un)m(traced)g
1043(function)f(\(mark)m(ed)h(with)f(sp)s(ecial)g(trace)g(info\))f(and)i(k)
1044m(eep)h(the)f(trace)g(information)c(of)-104 5776 y(threaded)f
1045(expressions.)1856 6065 y(1)p eop
1046%%Page: 2 2
10472 1 bop -104 158 a Ff(3)161 b(The)53 b(Problem)h(with)f(W)-13
1048b(rapping)53 b(Classes)-104 377 y Fe(F)-8 b(or)39 b(ev)m(ery)j(class)e
1049(in)g(un)m(traced)h(co)s(de)f(there)h(m)m(ust)f(b)s(e)g(a)g(resp)s
1050(ectiv)m(e)i(traced)e(class,)i(b)s(ecause)g(instances)-104
1051497 y(ma)m(y)29 b(b)s(e)h(de\014ned)h(in)d(traced)i(co)s(de.)43
1052b(That)30 b(is)f(straigh)m(tforw)m(ard.)42 b(There)30
1053b(is)f(also)g(no)g(problem)g(with)g(classes)-104 617
1054y(de\014ned)34 b(in)e(traced)h(co)s(de,)g(b)s(ecause)h(they)f(can)g
1055(only)f(b)s(e)h(used)h(b)m(y)f(traced)g(co)s(de.)42 738
1056y(The)46 b(problem)d(is)h(de\014ning)g(wrapp)s(ers)h(for)f(un)m(traced)
1057i(o)m(v)m(erloaded)e(v)-5 b(ariables.)78 b(A)44 b(v)-5
1058b(ariable)43 b(is)h(not)-104 858 y(parametrically)g(p)s(olymorphic)i
1059(in)g(the)i(t)m(yp)s(e)g(v)-5 b(ariables)46 b(that)h(app)s(ear)h(in)e
1060(its)h(t)m(yp)s(e)h(con)m(text.)89 b(Hence)-104 979 y(argumen)m
1061(ts/results)48 b(of)g(these)h(t)m(yp)s(e)g(v)-5 b(ariable)46
1062b(t)m(yp)s(es)k(ha)m(v)m(e)f(to)f(b)s(e)g(un)m(wrapp)s(ed/wrapp)s(ed.)
106392 b(But)48 b(the)-104 1099 y(concrete)34 b(t)m(yp)s(es)g(are)e(not)h
1064(kno)m(wn)h(at)e(the)h(call)e(sites)i(of)f(the)h(wrapp)s(ers.)42
10651219 y(So)g(ho)m(w)g(de\014ne)h(wrapp)s(ers)f(for)f(example)h(for:)-104
10661423 y Fc(elem)52 b(::)g(Eq)g(a)g(=>)f(a)h(->)g([a])g(->)g(Bool)-104
10671543 y(fmap)g(::)g(Functor)h(f)f(=>)g(\(a)f(->)h(b\))g(->)g(\(f)g(a)f
1068(->)h(f)f(b\))104 b(--)51 b(is)h(a)g(method)-104 1663
1069y(fromIntegral)j(::)c(\(Integral)j(a,)e(Num)g(b\))g(=>)f(a)h(->)g(b)
1070-104 1952 y Fb(3.1)135 b(Solution)46 b(1:)60 b(A)45 b(class)g(for)g(ev)
1071l(ery)h(o)l(v)l(erloaded)h(v)-7 b(ariable)-104 2137 y
1072Fe(W)f(rapp)s(ers)37 b(for)g(un)m(traced)h Fa(metho)-5
1073b(ds)44 b Fe(are)37 b(still)d(easy)k(to)e(de\014ne:)53
1074b(F)-8 b(or)36 b(ev)m(ery)j(instance)e(in)f(un)m(traced)i(co)s(de)-104
10752257 y(there)29 b(m)m(ust)e(a)h(resp)s(ectiv)m(e)h(traced)f(instance)g
1076(of)g(the)g(traced)g(class)g(and)g(traced)g(data)f(t)m(yp)s(e.)43
1077b(The)29 b(metho)s(ds)-104 2378 y(are)k(de\014ned)h(as)e(wrapp)s(ers)i
1078(to)e(the)h(un)m(traced)h(instance.)-104 2581 y Fc(tfmap)53
1079b(::)e(SR)h(->)g(Trace)h(->)e(R)h(\(Fun)g(\(Fun)h(a)e(b\))h(\(Fun)g
1080(\(f)g(a\))g(\(f)g(b\)\)\))-104 2702 y(tfmap)h(s)e(t)h(=)f(fun2)i
1081("fmap")f(wfmap)h(s)f(t)-104 2942 y(class)h(TFunctor)g(f)f(where)-1
10823063 y(wfmap)g(::)g(Trace)h(->)e(R)h(\(Fun)g(a)g(b\))g(->)f(R)h(\(f)g
1083(a\))f(->)h(R)g(\(f)g(b\))-104 3304 y(instance)h(TFunctor)h(TList)e
1084(where)-1 3424 y(wfmap)g(t)g(f)f(x)h(=)f(wrapList)j(t)d(\(fmap)i
1085(\(unwrapFun)h(id)e(id)f(f\))h(\(unwrapList)i(x\))42
10863627 y Fe(W)-8 b(e)33 b(can)g(de\014ne)h(a)f(wrapp)s(er)g(for)f(an)h(o)
1087m(v)m(erloaded)g(non-metho)s(d)e(v)-5 b(ariable)31 b(suc)m(h)j(as)f
1088Fc(elem)h Fe(b)m(y)g(de\014ning)-104 3748 y(a)k(class)g(for)f(it)g(and)
1089h(de\014ning)g(an)g(instance)h(for)e(all)f(t)m(yp)s(es)j(for)f(whic)m
1090(h)g(instances)h(for)e(its)h(con)m(text)h(exist.)-104
10913868 y(F)-8 b(or)32 b(example)-104 4096 y Fc(telem)53
1092b(::)e(TElem)i(a)f(=>)f(SR)h(->)g(Trace)h(->)e(R)h(\(Fun)g(a)g(\(Fun)g
1093(\(TList)h(a\))f(TBool\)\))-104 4217 y(telem)h(s)e(t)h(=)f(fun2)i
1094("elem")f(welem)h(s)f(t)-104 4458 y(class)h(TEq)f(a)f(=>)h(TElem)h(a)e
1095(where)-1 4578 y(welem)h(::)g(Trace)h(->)e(R)h(a)f(->)h(R)g(\(TList)h
1096(a\))e(->)h(R)g(TBool)-104 4819 y(instance)h(TElem)g(TInt)f(where)-1
10974939 y(welem)g(t)g(x)f(xs)h(=)g(wrapBool)h(t)f(\(elem)g(\(unwrapInt)i
1098(x\))e(\(unwrapList)i(unwrapInt)g(xs\))42 5167 y Fe(Ho)m(w)m(ev)m(er,)
109948 b(for)42 b(o)m(v)m(erloaded)h(v)-5 b(ariables)41 b(with)h(more)g
1100(than)g(one)h(t)m(yp)s(e)g(v)-5 b(ariable)41 b(in)h(the)h(con)m(text,)j
1101(for)-104 5288 y(example)32 b Fc(fromIntegral)p Fe(,)k(w)m(e)e(w)m
1102(ould)e(need)i(m)m(ulti-parameter)29 b(classes.)42 5408
1103y(Also)j(the)g(transformation)d(w)m(ould)j(in)m(tro)s(duce)g(a)f(large)
1104g(n)m(um)m(b)s(er)h(of)f(new)i(classes)g(and)f(instances)g(and)-104
11055529 y(transformation)38 b(of)h(t)m(yp)s(e)i(declarations)e(of)g(v)-5
1106b(ariables)39 b(requires)h(kno)m(wledge)h(ab)s(out)e(the)i
1107(de\014nitions)e(of)-104 5649 y(these)34 b(v)-5 b(ariables.)1856
11086065 y(2)p eop
1109%%Page: 3 3
11103 2 bop -104 158 a Fb(3.2)135 b(Solution)46 b(2:)60 b(Classes)47
1111b(with)e(F)-11 b(unctional)45 b(Dep)t(endencies)-104
1112342 y Fe(W)-8 b(e)33 b(in)m(tro)s(duce)g(a)f(t)m(w)m(o-parameter)g
1113(class)h(with)f(functional)f(dep)s(endencies:)-104 544
1114y Fc(class)53 b(Wrapping)g(a)f(b)f(|)h(a->b,)g(b->a)h(where)-1
1115665 y(wrap)f(::)g(Trace)g(->)g(a)g(->)f(R)h(b)-1 785
1116y(unwrap)g(::)g(R)g(b)f(->)h(a)-104 987 y Fe(Then)42
1117b(wrapp)s(ers)f(of)f(o)m(v)m(erloaded)g(v)-5 b(ariables)40
1118b(and)g(metho)s(ds)g(can)h(b)s(e)f(de\014ned)i(without)e(further)h
1119(classes)-104 1108 y(and)33 b(instances,)g(for)f(example:)-104
11201310 y Fc(telem)53 b(::)e(\(Wrapping)j(a)e(b,)f(Eq)h(b\))204
11211430 y(=>)f(SR)h(->)g(Trace)h(->)e(R)h(\(Fun)g(a)g(\(Fun)g(\(TList)h
1122(a\))f(TBool\)\))-104 1551 y(telem)h(s)e(t)h(=)f(fun2)i("elem")f(welem)
1123h(s)f(t)-104 1791 y(welem)h(::)e(\(Wrapping)j(a)e(b,)f(Eq)h(b\))204
11241912 y(=>)f(Trace)i(->)f(R)f(a)h(->)g(R)f(\(TList)i(a\))f(->)g(R)f
1125(TBool)-104 2032 y(telem)i(s)e(t)h(x)f(xs)h(=)g(wrap)g(t)f(\(elem)i
1126(\(unwrap)g(x\))f(\(unwrap)h(xs\)\))42 2234 y Fe(W)-8
1127b(e)32 b(notice)f(that)g Fc(unwrap)i Fe(needs)g(a)d(trace)i(argumen)m
1128(t)f(for)g(un)m(wrapping)g(a)g(function)g(\(applications)e(of)-104
11292355 y(the)k(traced)g(function)f(will)e(b)s(e)j(recorded)h(in)e(the)h
1130(trace)g(and)f(hence)i(so)f(will)d(b)s(e)j(the)g(argumen)m(ts\).)-104
11312557 y Fc(class)53 b(Wrapping)g(a)f(b)f(|)h(a->b,)g(b->a)h(where)-1
11322677 y(wrap)f(::)g(Trace)g(->)g(a)g(->)f(R)h(b)-1 2797
1133y(unwrap)g(::)g(Trace)h(->)f(R)f(b)h(->)g(a)-104 3038
1134y(newtype)h(Fun)f(a)g(b)f(=)h(Fun)g(\(Trace)h(->)f(R)f(a)h(->)f(R)h
1135(b\))-104 3279 y(instance)h(\(Wrapping)h(a)e(c,)f(Wrapping)j(b)d(d\))h
1136(=>)g(Wrapping)h(\(a->b\))g(\(Fun)g(c)e(d\))h(where)-1
11373399 y(wrap)g(t)f(f)h(=)g(R)f(\(Fun)h(\\x)g(->)g(wrap)g(t)g(\(f)g
1138(\(unwrap)h(t)e(x\)\)\))i(t)-1 3520 y(unwrap)f(t)g(\(R)g(\(Fun)g(f\))g
1139(_\))g(=)f(\\x)h(->)g(unwrap)h(t)e(\(f)h(\(wrap)h(t)e(x\)\))-104
11403722 y Fe(It)33 b(b)s(ecomes)g(clear)f(that)g(the)h(whole)g(wrapping)f
1141(can)g(b)s(e)h(done)g(b)m(y)h(a)e(single)g(function)g(call.)-104
11423924 y Fc(telem)53 b(::)e(\(Wrapping)j(a)e(b,)f(Eq)h(b\))204
11434044 y(=>)f(SR)h(->)g(Trace)h(->)e(R)h(\(Fun)g(a)g(\(Fun)g(\(TList)h
1144(a\))f(TBool\)\))-104 4165 y(telem)h(s)e(t)h(=)f(wrap)i(\(mkFun)f
1145("elem")h(s)f(t\))g(elem)42 4367 y Fe(F)-8 b(or)32 b(constructor)i
1146(classes)f(w)m(e)h(obtain)d(non-simple)g(con)m(texts.)45
1147b(F)-8 b(or)32 b(example:)-104 4569 y Fc(tfmap)53 b(::)e(\(Wrapping)j
1148(\(f)e(a\))g(\(g)g(c\),)g(Wrapping)h(\(f)f(d\))g(\(g)f(b\),)h(Functor)i
1149(g\))204 4689 y(=>)d(SR)h(->)g(Trace)h(->)e(R)h(\(Fun)g(\(Fun)h(a)e
1150(b\))h(\(Fun)g(\(f)g(a\))g(\(f)g(b\)\)\))-104 4810 y(tfmap)h(s)e(t)h(=)
1151f(wrap)i(\(mkFun)f("fmap")h(s)f(t\))g(fmap)42 5012 y
1152Fe(Ho)m(w)m(ev)m(er,)43 b(this)c Fc(tfmap)h Fe(also)e(un)m(wraps/wraps)
1153i(the)g(comp)s(onen)m(ts)f Fc(b)g Fe(of)f(the)i(t)m(yp)s(e)f
1154(constructor.)63 b(T)-8 b(o)-104 5132 y(a)m(v)m(oid)27
1155b(this)f(\(un\)wrapping)h(and)g(to)g(preserv)m(e)i(parametricit)m(y)c
1156(w)m(e)j(need)g(a)f(wrapping)f(class)h(for)g(eac)m(h)h(kind.)-104
11575253 y(Tw)m(o)39 b(functions)f(are)g(passed)h(for)f(eac)m(h)h(t)m(yp)s
1158(e)g(argumen)m(t,)g(b)s(ecause)g(the)g(t)m(yp)s(e)g(constructor)f(can)h
1159(b)s(e)f(co-,)-104 5373 y(con)m(tra-v)-5 b(arian)m(t)31
1160b(or)i(b)s(oth)f(in)g(eac)m(h)h(argumen)m(t.)43 b(F)-8
1161b(or)32 b(example:)-104 5575 y Fc(class)53 b(Wrap\(*->*->*\))h(f)e(g)f
1162(|)h(f->g,)h(g->f)f(where)-1 5695 y(wrap\(*->*->*\))i(::)e(Trace)h(->)f
1163(\(a->c\))g(->)g(\(c->a\))h(->)f(\(b->d\))h(->)e(\(d->b\))716
11645816 y(->)h(f)g(a)f(b)h(->)g(R)f(\(g)h(c)f(d\))1856 6065
1165y Fe(3)p eop
1166%%Page: 4 4
11674 3 bop -1 158 a Fc(unwrap\(*->*->*\))55 b(::)d(\(a->c\))h(->)e
1168(\(c->a\))i(->)f(\(b->d\))h(->)f(\(d->b\))819 278 y(->)g(R)f(\(g)h(c)g
1169(d\))f(->)h(f)g(a)f(b)-104 519 y(instance)i(Wrap\(*->*->*\))i(\(->\))e
1170(Fun)f(where)-1 639 y(wrap\(*->*->*\))i(t)e(w1)g(u1)f(w2)h(u2)g(f)g(=)f
1171(R)h(\(Fun)g(\(\\t')g(x)g(->)g(w2)f(\(f)h(\(u1)g(x\)\)\)\))h(t)-1
1172760 y(unwrap\(*->*->*\))i(w1)d(u1)f(w2)h(u2)g(\(R)g(\(Fun)g(g\))g(_\))g
1173(=)f(\\x)h(->)g(u2)g(\(f)f(Root)i(\(w1)f(x\)\)\))-104
11741000 y(class)h(Wrap\(*->*\))h(f)d(g)h(|)f(f->g,)i(g->f)f(where)-1
11751121 y(wrap\(*->*\))i(::)d(Trace)i(->)f(\(a->b\))h(->)e(\(b->a\))i(->)f
1176(f)g(a)f(->)h(R)f(\(g)h(b\))-1 1241 y(unwrap\(*->*\))i(::)e(\(a->b\))h
1177(->)f(\(b->a\))g(->)g(R)g(\(g)f(b\))h(->)g(f)g(a)-104
11781482 y(instance)h(Wrap\(*->*\))h([])e(TList)h(where)-1
11791602 y(wrap\(*->*\))h(t)d(w)h(u)f([])h(=)f(R)h(TNil)g(t)-1
11801723 y(wrap\(*->*\))i(t)d(w)h(u)f(\(x:xs\))i(=)f(R)f(\(TCons)i(\(w)f
1181(x\))f(\(wrapW)i(t)f(w)f(xs\)\))i(t)-1 1843 y(unwrap\(*->*\))h(w)e(u)f
1182(\(R)h(TNil\))h(=)e([])-1 1963 y(unwrap\(*->*\))j(w)e(u)f(\(R)h
1183(\(TCons)h(x)e(xs\)\))i(=)e(u)h(x)f(:)h(unwrapW)h(u)e(xs)-104
11842204 y(tfmap)i(::)e(\(Wrap\(*->*\))k(f)c(g,)h(Functor)h(g\))204
11852324 y(=>)e(SR)h(->)g(Trace)h(->)e(R)h(\(Fun)g(\(Fun)h(a)e(b\))h(\(Fun)
1186g(f)g(a\))g(\(f)f(b\)\)\))-104 2445 y(tfmap)i(s)e(t)h(=)f(let)h(t')g(=)
1187g(mkFun)g("fmap")h(s)f(t)f(in)614 2565 y(wrap\(*->*->*\))k(t')716
11882686 y(undefined)716 2806 y(\(unwrap\(*->*->*\))h(id)c(undefined)h
1189(undefined)h(id\))716 2926 y(\(wrap\(*->*->*\))h(t')d(undefined)i
1190(\(unwrap\(*->*\))g(undefined)g(id\))819 3047 y(\(wrap\(*->*\))g(t')e
1191(id)g(undefined\))i(undefined\))716 3167 y(undefined)716
11923288 y(fmap)-104 3480 y Fe(The)29 b(man)m(y)g(argumen)m(ts)g(and)f
1193(calls)f(of)h(wrapp)s(ers)i(migh)m(t)d(b)s(e)h(exp)s(ensiv)m(e,)k(but)c
1194(optimising)e(them)i(\(inlining)-104 3601 y(and)33 b(reduction\))f(is)g
1195(the)h(task)h(of)e(the)h(compiler.)41 b(By)33 b(hand)g(w)m(e)h(can)f
1196(obtain)-104 3793 y Fc(tfmap)53 b(s)e(t)h(=)f(fun2)i("fmap")f(wfmap)h
1197(s)f(t)-104 4034 y(wfmap)h(::)e(\(Wrap\(*->*\))k(f)c(g,)h(Functor)h
1198(g\))204 4154 y(=>)e(Trace)i(->)f(R)f(\(Fun)i(a)e(b\))h(->)g(R)f(\(f)h
1199(a\))g(->)g(R)f(\(f)h(b\))-104 4275 y(wfmap)h(t)e(\(R)h(\(Fun)g(f\))g
1200(_\))g(\(R)g(x)f(_\))h(=)-1 4395 y(wrap\(*->*\))i(t)d(id)h(undefined)
1201101 4516 y(\(fmap)h(\(\\z)f(->)g(unR)g(\(f)f(undefined)j(\(R)e(z)f
1202(undefined\)\)\))204 4636 y(\(unwrap\(*->*\))j(undefined)g(id\)\))42
12034829 y Fe(W)-8 b(rapp)s(ers)39 b(for)f(t)m(yp)s(e)h(argumen)m(ts)f(are)
1204h(either)f Fc(id)g Fe(or)g(standard)h(wrapp)s(ers.)61
1205b(So)39 b(instead)f(of)g(passing)-104 4949 y(wrapp)s(ers)h(around,)g(w)
1206m(e)g(migh)m(t)e(w)m(an)m(t)i(to)e(pass)i(around)f(a)g(data)f
1207(structure)j(that)d(enco)s(des)j(whic)m(h)e(parts)-104
12085069 y(ha)m(v)m(e)c(to)e(b)s(e)h(wrapp)s(ed/un)m(wrapp)s(ed.)45
1209b(Ho)m(w)m(ev)m(er,)35 b(it)d(is)g(unclear)h(ho)m(w)g(to)f(t)m(yp)s(e)h
1210(suc)m(h)i(wrapp)s(ers:)-104 5262 y Fc(class)53 b(Wrapp\(*->*->*\))i(f)
1211c(g)h(|)f(f->g,)i(g->f)f(where)-1 5382 y(wrap)g(::)g(Trace)g(->)g(?)g
1212(c)f(d)h(?)f(->)h(f)g(a)f(b)h(->)f(R)h(\(g)g(c)f(d\))-1
12135503 y(unwrap)h(::)g(Trace)h(->)f(?)f(c)h(d)f(?)h(->)g(R)f(\(g)h(c)f
1214(d\))h(->)g(f)g(a)f(b)42 5695 y Fe(Alternativ)m(ely)-8
1215b(,)30 b(o)m(v)m(erlapping)g(instances)h(migh)m(t)d(enable)i(a)m(v)m
1216(oiding)f(\(un\)wrapping)h(and)g(preserv)-5 b(ation)-104
12175816 y(of)32 b(parametricit)m(y)f(using)h(only)g(a)h(single)e(wrapping)
1218h(class.)1856 6065 y(4)p eop
1219%%Page: 5 5
12205 4 bop -104 158 a Fb(3.3)135 b(Solution)46 b(2':)61
1221b(Tw)l(o-P)l(arameter)46 b(Class)g(with)g(Non-Simple)f(Instances)-104
1222342 y Fc(class)53 b(Trans)f(a)g(b)f(where)-1 463 y(trans)h(::)g(Trace)h
1223(->)e(a)h(->)g(b)-104 703 y(instance)h(\(Trans)g(c)f(a,)g(Trans)g(b)g
1224(d\))g(=>)f(Trans)i(\(a->b\))g(\(R)f(\(Fun)g(c)f(d\)\))i(where)-1
1225824 y(trans)f(t)g(f)f(=)h(R)f(\(Fun)i(\\t')f(x)f(->)h(trans)h(t')e(\(f)
1226h(\(trans)h(t)f(x\)\)\))g(t)-104 1065 y(instance)h(\(Trans)g(a)f(c,)g
1227(Trans)g(d)g(b\))g(=>)f(Trans)i(\(R)f(\(Fun)g(c)g(d\)\))g(\(a->b\))h
1228(where)-1 1185 y(trans)f(t)g(\(R)g(\(Fun)g(f\))g(_\))f(=)h(\\x)g(->)g
1229(trans)g(t)g(\(f)f(\(trans)i(t)f(x\)\))-104 1426 y(instance)h(Trans)g
1230(\(a->b\))g(\(a->b\))g(where)-1 1546 y(trans)f(t)g(f)f(=)h(f)42
12311774 y Fe(I)33 b(don't)g(kno)m(w)h(if)d(resulting)h(am)m(biguit)m(y)e
1232(problems)i(can)h(b)s(e)g(resolv)m(ed)g(b)m(y)h(t)m(yp)s(e)f
1233(annotations.)-104 2107 y Ff(4)161 b(Problems)53 b(with)h(W)-13
1234b(rapping)53 b(Data)h(Structures)-104 2326 y Fe(Argumen)m(ts)41
1235b(of)e(normal)g(functions)h(need)h(to)f(b)s(e)g(of)g(normal)e(t)m(yp)s
1236(es.)68 b(Hence)41 b(a)f(wrapp)s(er)h(strips)f(o\013)g(all)-104
12372447 y(added)26 b(tracing)f(information.)38 b(Ho)m(w)m(ev)m(er,)29
1238b(the)e(normal)c(function)i(ma)m(y)h(construct)g(part)g(of)f(its)g
1239(result)h(from)-104 2567 y(parts)j(of)g(its)g(argumen)m(ts.)42
1240b(In)30 b(the)f(tracing)g(w)m(orld)f(suc)m(h)j(a)e(threaded)h
1241(expression)g(should)f(carry)h(the)g(same)-104 2687 y(tracing)36
1242b(transformation)g(as)h(part)g(of)g(the)h(result)f(as)h(as)f(part)g(of)
1243g(an)h(argumen)m(t.)57 b(As)38 b(Colin)e(suggested,)-104
12442808 y(the)43 b(function)f(that)h(wraps)h(the)f(result)f(could)h
1245(\(impurely\))e(test)i(if)f(its)g(argumen)m(t)h(is)f(an)g(unev)-5
1246b(aluated)-104 2928 y(application)34 b(of)i(un)m(wrap)h(to)f(a)g
1247(traced)g(expression.)56 b(If)36 b(that)g(is)g(the)h(case,)h(then)f
1248(the)f(traced)h(expression)-104 3049 y(w)m(ould)c(b)s(e)f(returned,)i
1249(preserving)f(the)g(original)d(tracing)h(information)f(of)i(the)h
1250(threaded)g(expression.)42 3169 y(Ho)m(w)m(ev)m(er,)41
1251b(a)d(normal)d(function)i(suc)m(h)i(as)e(\\smallestT)-8
1252b(ree")37 b(could)g(tra)m(v)m(erse)i(argumen)m(ts)f(completely)-104
12533289 y(and)26 b(then)h(return)f(one)g(of)g(the)g(argumen)m(ts.)42
1254b(The)27 b(argumen)m(t)e(tra)m(v)m(ersal)i(remo)m(v)m(es)g(all)d
1255(tracing)h(information)-104 3410 y(so)33 b(that)f(the)h(\(impure\))f
1256(wrapp)s(er)h(could)f(not)g(re-attac)m(h)h(it.)-104 3743
1257y Ff(5)161 b(Problems)53 b(with)h(W)-13 b(rapping)53
1258b(Based)g(on)g(In)l(terface)f(Files)-104 3962 y Fe(In)m(terface)44
1259b(\014les)f(are)g(not)g(standardised)g(at)g(all.)72 b(In)44
1260b(practise)f(there)g(seems)h(to)f(b)s(e)g(some)g(information)-104
12614082 y(in)m(terface)k(\014les)g(of)f(all)f(compilers)g(co)m(v)m(er:)73
1262b(v)-5 b(ariables)46 b(with)g(their)g(t)m(yp)s(e)i(signature;)53
1263b(t)m(yp)s(e)48 b(de\014nitions,)-104 4202 y(p)s(ossibly)36
1264b(without)h(\(some\))g(data)f(constructors)i(if)e(not)h(exp)s(orted;)j
1265(class)d(de\014nitions,)h(without)e(default)-104 4323
1266y(de\014nitions;)27 b(heads)e(of)f(instance)g(de\014nitions;)j(\014xit)
1267m(y)d(information)d(for)j(v)-5 b(ariables)23 b(and)h(data)g
1268(constructors.)42 4443 y(In)m(terface)31 b(\014les)g(seem)f(to)g(list)e
1269(all)g(exp)s(orted)j(en)m(tities.)42 b(Ho)m(w)m(ev)m(er,)33
1270b(wrapp)s(ers)e(need)g(to)f(b)s(e)g(constructed)-104
12714563 y(only)37 b(for)g(the)h(exp)s(orted)g(en)m(tities)f(that)h(are)f
1272(de\014ned)i(in)e(the)h(mo)s(dule.)56 b(F)-8 b(or)37
1273b(imp)s(orted)f(and)h(reexp)s(orted)-104 4684 y(en)m(tities)32
1274b(the)h(wrapp)s(er)g(mo)s(dule)f(needs)i(to)e(imp)s(ort)e(the)j(wrapp)s
1275(ers)h(and)f(reexp)s(ort)g(them.)-104 5017 y Ff(6)161
1276b(Calling)56 b(T)-13 b(raced)53 b(Co)t(de)g(from)g(Un)l(traced)f(Co)t
1277(de)-104 5236 y Fe(W)-8 b(e)35 b(are)f(assuming)g(that)g(traced)g(co)s
1278(de)h(ma)m(y)f(call)f(un)m(traced)i(co)s(de,)g(but)g(not)f(vice)h(v)m
1279(ersa.)50 b(The)35 b(in)m(tuition)-104 5356 y(of)41 b(\\trusting")g
1280(suggests)i(this)e(restriction)g(as)g(natural.)70 b(Ho)m(w)m(ev)m(er,)
128146 b(\\trusting")41 b(mak)m(es)h(only)f(sense)i(in)-104
12825476 y(the)38 b(con)m(text)g(of)f(debugging.)57 b(W)-8
1283b(e)37 b(ma)m(y)g(w)m(ell)g(w)m(an)m(t)h(to)e(trace)i(a)f(mo)s(dule)f
1284(of)g(a)h(large)f(program)g(without)-104 5597 y(tracing)27
1285b(all)g(other)h(mo)s(dules)f(whic)m(h)i(call)e(the)i(traced)g(mo)s
1286(dule)d(\(e.g.)j(to)f(trace)h(a)f(single)f(compiler)f(phase\))j(.)-104
12875717 y(The)34 b(resulting)d(trace)j(will)c(in)i(general)g(consists)i
1288(of)e(sev)m(eral,)h(probably)g(unconnected)i(parts.)44
1289b(Also,)32 b(just)1856 6065 y(5)p eop
1290%%Page: 6 6
12916 5 bop -104 158 a Fe(to)38 b(test)i(a)e(mo)s(dule)f(w)m(e)j(ma)m(y)f
1292(need)g(other)g(\\driv)m(er")g(mo)s(dules)f(that)g(pro)s(duce)h(test)h
1293(data)e(and)h(compare)-104 278 y(results.)44 b(W)-8 b(e)33
1294b(are)g(not)f(in)m(terested)i(in)d(tracing)h(these)i(\\driv)m(er")e(mo)
1295s(dules.)42 398 y(T)-8 b(raced)33 b(functions)f(ma)m(y)g(already)f(b)s
1296(e)h(passed)h(to)f(un)m(traced)h(higher-order)e(functions)h(whic)m(h)g
1297(call)e(the)-104 519 y(traced)46 b(functions.)83 b(So)45
1298b(dealing)g(with)g(static)g(calls)f(of)i(traced)g(functions)f(from)g
1299(un)m(traced)i(functions)-104 639 y(should)33 b(not)f(b)s(e)h(hard.)42
1300760 y(Note)f(also)f(that)g(deriv)m(ed)h(class)g(instances)g(should)g
1301(not)f(b)s(e)h(traced)g(\(automatically)c(generated)k(co)s(de)-104
1302880 y(is)g(assumed)h(to)g(b)s(e)f(correct\),)i(but)e(the)h(metho)s(ds)g
1303(ma)m(y)f(call)f(traced)i(co)s(de)g(\(hand)g(written)f(instances\).)
13041856 6065 y(6)p eop
1305%%Trailer
1306end
1307userdict /end-hook known{end-hook}if
1308%%EOF