document DECIDE
[screamer.git] / aaai93.ps
blob37d50fa288fefb538de1d4b44473d196963f4657
1 %!PS-Adobe-2.0
2 %%Creator: dvipsk 5.521a Copyright 1986, 1993 Radical Eye Software
3 %%Title: aaai93.dvi
4 %%Pages: 6
5 %%PageOrder: Ascend
6 %%BoundingBox: 0 0 612 792
7 %%EndComments
8 %DVIPSCommandLine: dvips aaai93
9 %DVIPSSource:  TeX output 1994.03.10:2313
10 %%BeginProcSet: tex.pro
11 /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
12 /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
13 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
14 ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
15 isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
16 hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
17 TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get
18 round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{
19 statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0
20 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn
21 begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X
22 array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo
23 setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx
24 FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{
25 pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}
26 B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup
27 length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B
28 /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type
29 /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp
30 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2
31 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff
32 ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
33 ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{
34 ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn
35 /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1
36 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D
37 }B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0
38 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add
39 .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage
40 userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
41 known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
42 /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
43 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
44 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
45 {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
46 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
47 ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley
48 false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley
49 scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave
50 transform round exch round exch itransform moveto rulex 0 rlineto 0
51 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta
52 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}
53 B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{
54 3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p
55 -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{
56 3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end
57 %%EndProcSet
58 %%BeginProcSet: spline.ps
59 /@ChaikinSplineSectionDict 20 dict def
60 /@ChaikinSplineSectionShow {
61 @ChaikinSplineSectionDict begin
62 /y4 exch def /x4 exch def
63 /y3 exch def /x3 exch def
64 /y2 exch def /x2 exch def
65 /y1 exch def /x1 exch def
66 /xm x2 x3 add 2 div def
67 /ym y2 y3 add 2 div def
68 x1 xm sub abs 3 lt
69 y1 ym sub abs 3 lt
70 and
71 { x1 y1 moveto xm ym lineto stroke }
73 xm ym x1 y1 x2 y2 x3 y3 x4 y4
74 x1 y1
75 x1 x2 add 2 div y1 y2 add 2 div
76 x2 3 mul x3 add 4 div y2 3 mul y3 add 4 div
77 xm ym
78 @ChaikinSplineSectionShow
79 /y4 exch def /x4 exch def
80 /y3 exch def /x3 exch def
81 /y2 exch def /x2 exch def
82 /y1 exch def /x1 exch def
83 /ym exch def /xm exch def
84 } ifelse
85 xm x4 sub abs 3 lt
86 ym y4 sub abs 3 lt
87 and
88 { xm ym moveto x4 y4 lineto stroke }
89 {   xm ym
90 x2 x3 3 mul add 4 div y2 y3 3 mul add 4 div
91 x3 x4 add 2 div y3 y4 add 2 div
92 x4 y4
93 @ChaikinSplineSectionShow
94 } ifelse
95 end
96 } def
97 /@ChaikinSplineDict 22 dict def
98 /@ChaikinSplineDraw {
99 @ChaikinSplineDict begin
100 /n exch def
101 n 2 mul -2 roll
102 /y1 exch def
103 /x1 exch def
104 /n n 1 sub def
105 n 2 mul -2 roll
106 /y2 exch def
107 /x2 exch def
108 /n n 1 sub def
109 /cx1 x1 x2 add 2 div def
110 /cy1 y1 y2 add 2 div def
111 /cx2 x1 3 x2 mul add 4 div def
112 /cy2 y1 3 y2 mul add 4 div def
113 newpath x1 y1 moveto cx1 cy1 lineto
115 n 0 eq {exit} if
116 /x1 x2 def /y1 y2 def
117 n 2 mul -2 roll
118 /y2 exch def
119 /x2 exch def
120 /n n 1 sub def
121 /cx3 3 x1 mul x2 add 4 div def
122 /cy3 3 y1 mul y2 add 4 div def
123 /cx4 x1 x2 add 2 div def
124 /cy4 y1 y2 add 2 div def
125 cx1 cy1 cx2 cy2 cx3 cy3 cx4 cy4 @ChaikinSplineSectionShow
126 /cx1 cx4 def
127 /cy1 cy4 def
128 /cx2 x1 3 x2 mul add 4 div def
129 /cy2 y1 3 y2 mul add 4 div def
130 } loop
131 cx1 cy1 moveto x2 y2 lineto stroke
133 } def
134 %%EndProcSet
135 %%BeginProcSet: ellipse.ps
136 /@ellipsedict 8 dict def
137 @ellipsedict /mtrx matrix put
138 /@ellipse
140 @ellipsedict begin
141 /endangle exch def      /startangle exch def
142 /yrad exch def  /xrad exch def
143 /y exch def             /x exch def
144 /savematrix mtrx currentmatrix def
145 x y translate
146 xrad yrad scale
147 0 0 1 startangle endangle arc
148 savematrix setmatrix
150 } def
151 %%EndProcSet
152 TeXDict begin 40258431 52099146 1000 300 300 (aaai93.dvi)
153 @start /Fa 2 117 df<1E0006000C000C000C000C00180019E01E301830383030303030
154 30306060606460C460C8C0C8C0700E147D9312>104 D<04000C000C000C001800FF8018
155 001800300030003000300060006100610062006400380009127D910C>116
156 D E /Fb 38 125 df<0000FE000003018000060180000C0380001C0180001C0000001800
157 000038000000380000003800000038000003FFFE0000700E0000700E0000700E0000701C
158 0000701C0000E01C0000E01C0000E0380000E0380000E0380001C0380001C0720001C072
159 0001C0720001C07200038034000380180003800000030000000300000007000000C60000
160 00E6000000CC000000780000001925819C17>12 D<FFC0FFC0FFC00A037D890F>45
161 D<003E000041800080C00100C00200E00440E00440E00840E00840E00840E01081C01081
162 C01103800E0300000600000C000018000060000080000300000400000800401000802000
163 802001007F070043FE0081FC00807800131D7D9B15>50 D<060F0F060000000000000000
164 00003078F06008127C910D>58 D<00001800000018000000380000003800000078000000
165 78000000B800000138000001380000023C0000021C0000041C00000C1C0000081C000010
166 1C0000101C0000201C0000201C00007FFC0000C01C0000801C0001001C0001001E000200
167 0E0002000E0004000E000C000E001C001E00FF00FFC01A1D7E9C1F>65
168 D<01FFFF00003C0380003801C0003800E0003800E0003800E0007000E0007001E0007001
169 E0007003C000E0038000E00F0000E01E0000FFFC0001C00E0001C0070001C0078001C007
170 800380078003800780038007800380078007000F0007000E0007001E0007003C000E00F0
171 00FFFFC0001B1C7E9B1D>I<0003F020001E0C60003002E000E003C001C001C0038001C0
172 070000C00E0000801E0000801C0000803C0000803C000000780000007800000078000000
173 F0000000F0000000F0000000F0000000F0000400F0000400F0000400F000080070000800
174 7000100038002000180040000C0180000706000001F800001B1E7A9C1E>I<01FFFF0000
175 3C03C0003800E0003800E000380070003800700070007800700038007000380070007800
176 E0007800E0007800E0007800E0007801C000F001C000F001C000F001C000E0038001E003
177 8001C0038003C0038003800700070007000E0007001C00070038000E00E000FFFF80001D
178 1C7E9B1F>I<01FFFFF0003C00F000380030003800200038002000380020007000200070
179 0020007008200070080000E0100000E0100000E0300000FFF00001C0200001C0200001C0
180 200001C02000038040800380008003800080038001000700010007000300070002000700
181 06000E003C00FFFFFC001C1C7E9B1C>I<01FFFFF0003C00F00038003000380020003800
182 20003800200070002000700020007008200070080000E0100000E0100000E0300000FFF0
183 0001C0200001C0200001C0200001C0200003804000038000000380000003800000070000
184 000700000007000000070000000F000000FFF000001C1C7E9B1B>I<0003F020001E0C60
185 003002E000E003C001C001C0038001C0070000C00E0000801E0000801C0000803C000080
186 3C000000780000007800000078000000F0000000F0000000F001FF80F0001E00F0001C00
187 F0001C00F0001C00F0001C00700038007000380038003800180078000C00900007071000
188 01F800001B1E7A9C20>I<03FF0078007000700070007000E000E000E000E001C001C001
189 C001C0038003800380038007000700070007000E000E000E000E001E00FFC0101C7D9B10
190 >73 D<01FFC0003C0000380000380000380000380000700000700000700000700000E000
191 00E00000E00000E00001C00001C00001C00001C000038002038002038002038004070004
192 07000C0700180700380E00F0FFFFF0171C7E9B1A>76 D<01FE0001FE003E0001E0002E00
193 03C0002E0005C0002E0005C0002E0009C0004E000B80004E001380004E00238000470023
194 8000870047000087004700008700870000870107000107010E000107020E000107040E00
195 0107040E000207081C000203881C000203901C000203A01C000403A038000403C0380004
196 03C038000C038038001C03007800FF8307FF00271C7E9B25>I<0007F000001C1C000070
197 0E0000E0070001C0038003800380070003800E0003C01E0003C01C0003C03C0003C03C00
198 03C0780003C0780003C0780003C0F0000780F0000780F0000780F0000F00F0000F00F000
199 0E00F0001E00F0003C0070003800700070007800E0003801C0001C0380000E0E000003F8
200 00001A1E7A9C20>79 D<01FFFE00003C0380003801C0003800E0003800E0003800E00070
201 01E0007001E0007001E0007001C000E003C000E0038000E0070000E01C0001FFF00001C0
202 000001C0000001C000000380000003800000038000000380000007000000070000000700
203 0000070000000F000000FFE000001B1C7E9B1C>I<000F8400304C00403C008018010018
204 03001803001806001006001006000007000007000003E00003FC0001FF00007F800007C0
205 0001C00001C00000C00000C02000C02000C0600180600180600300600200F00400CC1800
206 83E000161E7D9C17>83 D<1FFFFFC01C0701C0300E00C0200E0080600E0080400E008040
207 1C0080801C0080801C0080001C0000003800000038000000380000003800000070000000
208 700000007000000070000000E0000000E0000000E0000000E0000001C0000001C0000001
209 C0000001C0000003C000007FFE00001A1C799B1E>I<01E307170C0F180F380E300E700E
210 700EE01CE01CE01CE01CE039E039E0396079319A1E0C10127C9115>97
211 D<3F00070007000E000E000E000E001C001C001C001C0039E03A183C0C380C700C700E70
212 0E700EE01CE01CE01CE018E038E030E06060C031801E000F1D7C9C13>I<00F803040E04
213 1C0E181C300070007000E000E000E000E000E000E0046008601030600F800F127C9113>
214 I<0007E00000E00000E00001C00001C00001C00001C000038000038000038000038001E7
215 000717000C0F00180F00380E00300E00700E00700E00E01C00E01C00E01C00E01C00E039
216 00E03900E03900607900319A001E0C00131D7C9C15>I<00F807040C0418023804300470
217 087FF0E000E000E000E000E00060046008301030600F800F127C9113>I<0003C0000670
218 000C70001C60001C00001C0000380000380000380000380000380003FF80007000007000
219 00700000700000700000E00000E00000E00000E00000E00001C00001C00001C00001C000
220 01C000038000038000038000030000030000070000C60000E60000CC0000780000142581
221 9C0D>I<0078C001C5C00303C00603C00E03800C03801C03801C03803807003807003807
222 00380700380E00380E00380E00181E000C7C00079C00001C00001C00003800003800C030
223 00E07000C1C0007F0000121A7E9113>I<0FC00001C00001C00003800003800003800003
224 80000700000700000700000700000E3E000EC3000F03800E03801E03801C03801C03801C
225 0380380700380700380700380E00700E40700E40701C40701C80E00C80600700121D7E9C
226 15>I<01800380010000000000000000000000000000001C002600470047008E008E000E
227 001C001C001C0038003800710071007100720072003C00091C7C9B0D>I<1F8003800380
228 07000700070007000E000E000E000E001C001C001C001C00380038003800380070007000
229 70007000E200E200E200E40064003800091D7D9C0B>108 D<1C1E0780266318C04683A0
230 E04703C0E08E0380E08E0380E00E0380E00E0380E01C0701C01C0701C01C0701C01C0703
231 80380E0388380E0388380E0708380E0710701C0320300C01C01D127C9122>I<383E004C
232 C3004D03804E03809E03809C03801C03801C0380380700380700380700380E00700E4070
233 0E40701C40701C80E00C8060070012127C9117>I<00F800030C000E06001C0300180300
234 300300700380700380E00700E00700E00700E00E00E00E00E01C0060180060300030E000
235 0F800011127C9115>I<03878004C86004D03004E03009C03009C03801C03801C0380380
236 700380700380700380600700E00700C00701800783000E86000E78000E00000E00001C00
237 001C00001C00001C0000380000FF0000151A809115>I<1C3C2642468747078E068E000E
238 000E001C001C001C001C0038003800380038007000300010127C9112>114
239 D<01F006080C080C1C18181C001F001FC00FF007F0007800386030E030C030806060C01F
240 000E127D9111>I<03000700070007000E000E000E000E00FFE01C001C001C0038003800
241 380038007000700070007000E080E080E100E100660038000B1A7C990E>I<1C01802E03
242 804E03804E03808E07008E07001C07001C0700380E00380E00380E00380E00301C80301C
243 80301C80383C80184D000F860011127C9116>I<1C01802E03804E03804E03808E07008E
244 07001C07001C0700380E00380E00380E00380E00301C00301C00301C00383C001878000F
245 B800003800003000007000E06000E0C0008180004300003C0000111A7C9114>121
246 D<FFFFFFFFF825017B8B2A>124 D E /Fc 1 111 df<71F09A189C189818181830303030
247 30323062606460380F0B7E8A13>110 D E /Fd 26 123 df<003FC00001F0300003C038
248 0007C07C000F807C000F807C000F8038000F8000000F8000000F8000000F800000FFFFFC
249 00FFFFFC000F807C000F807C000F807C000F807C000F807C000F807C000F807C000F807C
250 000F807C000F807C000F807C000F807C000F807C000F807C007FE1FF807FE1FF80191D80
251 9C1B>12 D<78FCFCFCFC7800000000000078FCFCFCFC7806127D910D>58
252 D<FFFFF800FFFFFF000FC01F800FC00FC00FC007C00FC007E00FC007E00FC007E00FC007
253 E00FC007E00FC007C00FC00F800FC03F000FFFFE000FC00F800FC007C00FC003E00FC003
254 E00FC003F00FC003F00FC003F00FC003F00FC003F00FC007E00FC007E00FC01FC0FFFFFF
255 00FFFFFC001C1C7E9B22>66 D<001FE02000FFF8E003F80FE007C003E00F8001E01F0000
256 E03E0000E03E0000607E0000607C000060FC000000FC000000FC000000FC000000FC0000
257 00FC000000FC000000FC0000007C0000607E0000603E0000603E0000C01F0000C00F8001
258 8007C0030003F80E0000FFFC00001FE0001B1C7D9B22>I<FFFFFF00FFFFFF000FC01F00
259 0FC007000FC003000FC003800FC003800FC001800FC0C1800FC0C1800FC0C0000FC1C000
260 0FC3C0000FFFC0000FFFC0000FC3C0000FC1C0000FC0C0000FC0C0000FC0C0000FC00000
261 0FC000000FC000000FC000000FC000000FC00000FFFE0000FFFE0000191C7E9B1E>70
262 D<000FF008007FFE3801FC07F807E001F80F8000781F0000783F0000383E0000387E0000
263 187C000018FC000000FC000000FC000000FC000000FC000000FC000000FC007FFFFC007F
264 FF7C0001F87E0001F83E0001F83F0001F81F0001F80F8001F807E001F801FC07F8007FFE
265 78000FF818201C7D9B26>I<FFFFF800FFFFFE000FC03F800FC00F800FC007C00FC007E0
266 0FC007E00FC007E00FC007E00FC007E00FC007C00FC007C00FC00F800FC03F000FFFFC00
267 0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
268 0FC000000FC00000FFFC0000FFFC00001B1C7E9B21>80 D<FFFC03FFFFFC03FF0FC00030
269 0FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC00030
270 0FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC00030
271 07C0003007C0006003E000E001F001C000FC0780007FFE00000FF800201C7E9B25>85
272 D<0FF8001C1E003E0F803E07803E07C01C07C00007C0007FC007E7C01F07C03C07C07C07
273 C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>97 D<03FC000E0E001C1F00
274 3C1F00781F00780E00F80000F80000F80000F80000F80000F800007800007801803C0180
275 1C03000E0E0003F80011127E9115>99 D<000FF0000FF00001F00001F00001F00001F000
276 01F00001F00001F00001F00001F001F9F00F07F01C03F03C01F07801F07801F0F801F0F8
277 01F0F801F0F801F0F801F0F801F07801F07801F03C01F01C03F00F0FFE03F9FE171D7E9C
278 1B>I<03FC000F07001C03803C01C07801C07801E0F801E0F801E0FFFFE0F80000F80000
279 F800007800007800603C00601E00C00F038001FC0013127F9116>I<03F0F00E1F383C0F
280 383807307807807807807807807807803807003C0F001E1C0033F0003000003000003000
281 003FFF003FFFC01FFFE01FFFF07801F8F00078F00078F000787000707800F01E03C007FF
282 00151B7F9118>103 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F00
283 001F00001F00001F0FC01F31E01F40F01F80F81F80F81F00F81F00F81F00F81F00F81F00
284 F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF181D7F9C1B>I<1E003F00
285 3F003F003F001E000000000000000000000000007F007F001F001F001F001F001F001F00
286 1F001F001F001F001F001F001F001F00FFC0FFC00A1E7F9D0E>I<FF0000FF00001F0000
287 1F00001F00001F00001F00001F00001F00001F00001F00001F03FC1F03FC1F01C01F0300
288 1F0E001F1C001F38001F78001FFC001FBE001F1F001F0F001F0F801F07C01F03E01F01E0
289 FFE7FEFFE7FE171D7F9C19>107 D<FF00FF001F001F001F001F001F001F001F001F001F
290 001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FF
291 E00B1D7F9C0E>I<FF0FC0FF31E01F40F01F80F81F80F81F00F81F00F81F00F81F00F81F
292 00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF18127F911B>110
293 D<01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F800F8F800F8F800
294 F87800F07800F03C01E01E03C00F078001FC0015127F9118>I<FF3F80FFE1E01F80F01F
295 00781F007C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F007C1F00781F
296 80F01FC1E01F3F001F00001F00001F00001F00001F00001F0000FFE000FFE000171A7F91
297 1B>I<FE3E00FE47001E8F801E8F801E8F801F07001F00001F00001F00001F00001F0000
298 1F00001F00001F00001F00001F0000FFE000FFE00011127F9114>114
299 D<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01CC01CE01CE018F830CF
300 C00E127E9113>I<0300030003000300070007000F000F003FFCFFFC1F001F001F001F00
301 1F001F001F001F001F001F0C1F0C1F0C1F0C0F08079803F00E1A7F9913>I<FF07F8FF07
302 F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00
303 F81F01F80F01F80786FF01F8FF18127F911B>I<FF8FF8FEFF8FF8FE1F03E0301F03E030
304 1F03E0300F87F0600F86F0600FC6F8E007CC78C007CC78C003FC7D8003F83D8003F83F80
305 01F01F0001F01F0000F01E0000E00E0000E00E001F127F9122>119
306 D<7FFF80781F00703F00603E00607C0060FC0060F80001F00003F00007E00007C1800F81
307 801F81801F03803E03007E07007C0F00FFFF0011127F9115>122
308 D E /Fe 6 122 df<60F0F06004047D830B>58 D<1F8000038000038000038000070000
309 0700000700000700000E00000E00000E3E000EC7001D03801E03801C03801C0380380700
310 380700380700380E00700E40700E40701C40701C80E00C80600700121A7F9916>104
311 D<3F0707070E0E0E0E1C1C1C1C3838383870707070E2E2E2E46438081A7F990B>108
312 D<03E006180818183818301C001FC00FE007F000700030E030E030806040C03F000D107E
313 8F12>115 D<07878008C8C010F1C020E0C020E00020E00001C00001C00001C00001C000
314 038100038100C38100E58200C5840078780012107F8F16>120 D<3803004C03804E0700
315 8E07009C07009C07001C0E00380E00380E00380E00701C00701C00701C00303C00187800
316 0FB800003800007000607000E0E000C0C0004380003E000011177E8F13>I
317 E /Ff 46 123 df<60F0F0F0F0F0F0F0F0F0F0F0F0F0600000000060F0F0600417789614
318 >33 D<071C00071C00071C00071C00071C007FFF00FFFF80FFFF800E38000E38000E3800
319 0E38000E38000E38000E3800FFFF80FFFF807FFF001C70001C70001C70001C70001C7000
320 11177F9614>35 D<60F0F878181818303060C080050C789614>39
321 D<0180038006000C001C0018003800700070007000E000E000E000E000E000E000E000E0
322 00E000700070007000380018001C000C00060003800180091D799914>I<80C060303818
323 1C0E0E0E0707070707070707070E0E0E1C18383060C080081D7C9914>I<038003800380
324 638CF39E7FFC3FF80FE00FE03FF87FFCF39E638C0380038003800F107E9214>I<01C000
325 01C00001C00001C00001C00001C00001C000FFFF80FFFF80FFFF8001C00001C00001C000
326 01C00001C00001C00001C00011117F9314>I<FFFEFFFEFFFE0F037E8C14>45
327 D<70F8F8F8700505798414>I<07C00FE01C7038383018701C701CE00EE00EE00EE00EE0
328 0EE00EE00EE00EE00E701C701C383838381C700FE007C00F177E9614>48
329 D<0300030007000F003F00F7004700070007000700070007000700070007000700070007
330 000700070007007FF07FF00C177C9614>I<0FC01FF03838701CE00EE00EE00E400E000E
331 001C001C00380030007000E001C0030006000C00180E300E7FFE7FFE0F177E9614>I<0F
332 C01FF03838701C701C201C001C0018003800700FE00FF00038001C000E000E400EE00EE0
333 0E701C78383FF00FC00F177E9614>I<00780000F80001B80001B8000338000338000638
334 000E38000C38001C3800383800303800703800E03800FFFF80FFFF800038000038000038
335 0000380000380001FF0001FF0011177F9614>I<7FFC7FFC700070007000700070007000
336 700077C07FF07838601C000C000E000E400EE00EE01C601C78783FF00FC00F177E9614>
337 I<01F007F80E1C1C1C381C300070007000E000E7C0EFF0F838F01CF00CE00EE00E600E70
338 0E700C381C1C380FF007C00F177E9614>I<E000FFFEFFFEE01CE0380030007000E000C0
339 01C001800380038007000700070007000E000E000E000E000E000E0004000F187E9714>
340 I<000E003E007C00F003E007C01F003E00F800F000F8003E001F0007C003E000F0007C00
341 3E000E0F137E9414>60 D<FFFF80FFFF807FFF800000000000000000007FFF80FFFF80FF
342 FF8011097F8F14>I<4000E000F8007C001E000F8007C001F000F8003E001E003E00F801
343 F007C00F801E007C00F800E00040000F157E9514>I<1FE03FF8701CE00EE00E400E003C
344 007000E001C003800380038003800300000000000000000003000780078003000F177E96
345 14>I<1FC0007FF000707800201800001C00001C0007FC001FFC003C1C00701C00E01C00
346 E01C00E01C00707C003FFF800F8F8011107E8F14>97 D<FC0000FC00001C00001C00001C
347 00001C00001C00001CF8001DFE001F07001E03001C03801C01C01C01C01C01C01C01C01C
348 01C01C01C01C03801E03001F0E001DFC000CF8001217809614>I<03F80FFE1C0E380470
349 006000E000E000E000E00060007000380E1C1E0FFC03F00F107E8F14>I<007E00007E00
350 000E00000E00000E00000E00000E0007CE000FFE001C3E00301E00700E00E00E00E00E00
351 E00E00E00E00E00E00E00E00700E00301E00383E001FEFC007CFC012177F9614>I<07E0
352 0FF01C38301C700CE00EE00EFFFEFFFEE00060007000380E1C1E0FFC03F00F107E8F14>
353 I<00FC01FE038E07040700070007007FFEFFFE0700070007000700070007000700070007
354 00070007000700FFF8FFF80F177F9614>I<07CF001FFF80383B80301800701C00701C00
355 701C003018003838003FF00037C0007000007000003FF8001FFC003FFE00700F00E00380
356 E00380E00380E003807007003C1E001FFC0007F00011197F8F14>I<06000F000F000600
357 0000000000000000FF00FF00070007000700070007000700070007000700070007000700
358 FFF8FFF80D187C9714>105 D<006000F000F0006000000000000000001FF01FF0007000
359 70007000700070007000700070007000700070007000700070007000700070007040E0E0
360 C07F803F000C207E9714>I<FC0000FC00001C00001C00001C00001C00001C00001CFF80
361 1CFF801C1C001C38001C70001CE0001DC0001FE0001FE0001E70001C38001C3C001C1C00
362 1C0E00FF1F80FF1F801117809614>I<FF80FF8003800380038003800380038003800380
363 03800380038003800380038003800380038003800380FFFEFFFE0F177E9614>I<FB8E00
364 FFDF003CF3803CF38038E38038E38038E38038E38038E38038E38038E38038E38038E380
365 38E380FEFBE0FE79E01310808F14>I<FC7800FDFE001F86001E07001C07001C07001C07
366 001C07001C07001C07001C07001C07001C07001C0700FF8FE0FF8FE01310808F14>I<07
367 C01FF03C78701C701CE00EE00EE00EE00EE00EE00E701C783C3C781FF007C00F107E8F14
368 >I<FCF800FDFE001F07001E03001C03801C01C01C01C01C01C01C01C01C01C01C01C01C
369 03801E03001F0E001DFC001CF8001C00001C00001C00001C00001C00001C0000FF8000FF
370 80001218808F14>I<03E7000FF7001C1F00300F00700F00E00700E00700E00700E00700
371 E00700E00700700F00300F001C3F000FF70007C700000700000700000700000700000700
372 000700003FE0003FE013187F8F14>I<FE1F00FE7F800EE3800F81000F00000F00000E00
373 000E00000E00000E00000E00000E00000E00000E0000FFF000FFF00011107F8F14>I<0F
374 D83FF86038C038C038F0007F803FF007F8001C6006E006F006F81CFFF8CFE00F107E8F14
375 >I<06000E000E000E000E007FFCFFFC0E000E000E000E000E000E000E000E000E0E0E0E
376 0E0E0E1C07F801F00F157F9414>I<FC3F00FC3F001C07001C07001C07001C07001C0700
377 1C07001C07001C07001C07001C07001C07001C1F000FFFE003E7E01310808F14>I<FE3F
378 80FE3F803C1E001C1C001C1C001C1C000E38000E38000E38000630000770000770000770
379 0003E00003E00003E00011107F8F14>I<FE3F80FE3F80700700380E00380E00380E0039
380 CE0039CE0039CE001B6C001A6C001A6C001A6C001E7C001E7C000E380011107F8F14>I<
381 7E3F007E3F001E3C000E780007700007E00003E00001C00003C00003E0000770000E7800
382 0E38001C1C00FE3F80FE3F8011107F8F14>I<FE3F80FE3F801C0E001C1C001C1C000E1C
383 000E38000E380007380007300007300003700003700003E00001E00001E00001C00001C0
384 0001C0000380007380007700007E00003C000011187F8F14>I<3FFF7FFF700E701C7038
385 007000E001C0038007000E001C0738077007FFFFFFFF10107F8F14>I
386 E /Fg 2 51 df<187898181818181818181818181818FF08107D8F0F>49
387 D<1F00618040C08060C0600060006000C00180030006000C00102020207FC0FFC00B107F
388 8F0F>I E /Fh 2 111 df<06070600000000384C4C8C98181830323264643808147F930C
389 >105 D<30F8590C4E0C9C0C980C180C180C30183019303130316032601C100D7F8C15>
390 110 D E /Fi 2 51 df<0C001C00EC000C000C000C000C000C000C000C000C000C000C00
391 0C000C000C000C000C00FFC00A137D9211>49 D<1F0060C06060F070F030603000700070
392 006000C001C00180020004000810101020207FE0FFE00C137E9211>I
393 E /Fj 15 123 df<01FFF803FFF80FFFF81E1E00180E00380600700600700600E00E00E0
394 0E00E00E00E00C00E01C00E01800E0300060600030C0001F000015127E9118>27
395 D<60F0F06004047C830C>58 D<60F0F0701010101020204080040C7C830C>I<01FC00FF
396 80001C001C00002E001800002E001000002E001000002700100000470020000043002000
397 004380200000438020000081C040000081C040000081C040000080E040000100E0800001
398 007080000100708000010070800002003900000200390000020039000002001D00000400
399 1E000004000E000004000E00000C000E00001C00040000FF80040000211C7E9B21>78
400 D<0001E0000630000E78000EF0001C60001C00001C00001C00001C0000380000380003FF
401 C000380000380000700000700000700000700000700000E00000E00000E00000E00000E0
402 0001C00001C00001C00001C00001C000018000038000038000630000F30000F60000E400
403 0078000015257E9C14>102 D<0FC00001C00001C0000380000380000380000380000700
404 000700000700000700000E3E000EC3000F03800E03801E03801C03801C03801C03803807
405 00380700380700380E00700E20700E20701C20701C40E00C80600700131D7E9C18>104
406 D<1F800380038007000700070007000E000E000E000E001C001C001C001C003800380038
407 0038007000700070007000E200E200E200E40064003800091D7F9C0C>108
408 D<3C1F004E61804681C04701C08F01C08E01C00E01C00E01C01C03801C03801C03801C07
409 00380710380710380E10380E2070064030038014127E9119>110
410 D<01F0060C0C040C0E180C1C001F000FE00FF003F80038201C7018F018F010803060601F
411 800F127E9113>115 D<1C00C02701C04701C04701C08703808703800E03800E03801C07
412 001C07001C07001C0700180E20180E20180E201C1E200C264007C38013127E9118>117
413 D<1C03270747074703870187010E010E011C021C021C021C041804180818081C100C2007
414 C010127E9114>I<1C00C0802701C1C04701C1C04701C0C087038040870380400E038040
415 0E0380401C0700801C0700801C0700801C07010018060100180601001C0E02001C0F0400
416 0E13080003E1F0001A127E911E>I<07878008C84010F0C020F1E020E3C040E18000E000
417 00E00001C00001C00001C00001C000638080F38080F38100E5810084C60078780013127E
418 9118>I<1C00C02701C04701C04701C08703808703800E03800E03801C07001C07001C07
419 001C0700180E00180E00180E001C1E000C3C0007DC00001C00001800603800F03000F060
420 00E0C0004180003E0000121A7E9114>I<038107C10FF6081C1008001000200040008001
421 0002000400080410043C1867F843F081E010127E9113>I E /Fk
422 47 122 df<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0600000000060F0F0600419779816>
423 33 D<0387000387000387000387000387000387007FFFC0FFFFE0FFFFE0070E00070E00
424 070E000E1C000E1C000E1C000E1C00FFFFE0FFFFE07FFFC01C38001C38001C38001C3800
425 1C38001C380013197F9816>35 D<30787C3C1C1C1C1C3878F0E040060D789816>39
426 D<00E001E0038007000E001C001C0038003800700070007000E000E000E000E000E000E0
427 00E000E000E000700070007000380038001C001C000E000700038001E000E00B217A9C16
428 >I<C000E000700038001C000E000E000700070003800380038001C001C001C001C001C0
429 01C001C001C001C0038003800380070007000E000E001C0038007000E000C0000A217B9C
430 16>I<0380038003800380E38EF39EFFFE3FF80FE00FE03FF8FFFEF39EE38E0380038003
431 8003800F127D9516>I<00E00000E00000E00000E00000E00000E00000E00000E000FFFF
432 E0FFFFE0FFFFE000E00000E00000E00000E00000E00000E00000E00000E00013137F9516
433 >I<FFFF80FFFF80FFFF8011037E8D16>45 D<70F8F8F8700505788416>I<000180000380
434 000380000700000700000E00000E00001C00001C0000380000380000700000700000E000
435 00E00001C00001C0000380000380000700000700000E00000E00001C00001C0000380000
436 380000700000700000E00000E00000C0000011207E9C16>I<03E0000FF8001FFC001E3C
437 00380E00780F00700700700700E00380E00380E00380E00380E00380E00380E00380E003
438 80F00780700700700700780F003C1E001E3C001FFC000FF80003E00011197E9816>I<03
439 00070007000F001F00FF00FF00E700070007000700070007000700070007000700070007
440 00070007000700FFF8FFF8FFF80D197B9816>I<07E0001FF8003FFC00783E00E00700F0
441 0780F00380600380000380000380000700000700000E00001C0000380000700000E00001
442 C0000380000F00001E03803803807FFF80FFFF807FFF8011197E9816>I<07E0001FF800
443 3FFC00781E00780700300700000700000700000E00003E0007FC0007F00007FC00001E00
444 000700000300000380000380600380F00380E00700781E003FFC001FF80007E00011197E
445 9816>I<007C0000FC0000DC0001DC00039C00039C00071C000F1C000E1C001E1C003C1C
446 00381C00781C00F01C00FFFFE0FFFFE0FFFFE0001C00001C00001C00001C00001C0001FF
447 C001FFC001FFC013197F9816>I<3FFE007FFE007FFE0070000070000070000070000070
448 000070000070000077F0007FFC007FFE00780F00300700000380000380600380F00380F0
449 0380E00700781E003FFC001FF80007E00011197E9816>I<E00000FFFF80FFFF80FFFF80
450 E00F00E01E00001C0000380000780000700000E00000E00001C00001C00001C000038000
451 038000038000038000070000070000070000070000070000070000070000111A7E9916>
452 55 D<03E0000FF8001FFC003C1E00700E00700700E00700E00780E00380E00380E00780
453 700780780F803FFF801FFB800FE380000700000700300700780E00781C00707C003FF800
454 1FE0000F800011197E9816>57 D<000180000780001F80003E0000F80001F00007C0000F
455 80003E0000FC0000F00000FC00003E00000F800007C00001F00000F800003E00001F8000
456 078000018011157E9616>60 D<7FFFC0FFFFE0FFFFE00000000000000000000000000000
457 00FFFFE0FFFFE07FFFC0130B7F9116>I<C00000F00000FC00003E00000F800007C00001
458 F00000F800003E00001F80000780001F80003E0000F80001F00007C0000F80003E0000FC
459 0000F00000C0000011157E9616>I<7FF800FFFE007FFF001C0F001C07801C03C01C01C0
460 1C01C01C01E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C0
461 1C03C01C07801C0F807FFF00FFFE007FF8001319809816>68 D<FF8000FFC000FF80001C
462 00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C
463 00001C00001C00401C00E01C00E01C00E01C00E0FFFFE0FFFFE0FFFFE013197F9816>76
464 D<7FFF80FFFF80FFFF80E00700E00F00E01E00E01C00003C0000780000700000F00001E0
465 0001C00003C0000780000700000F00001E03801C03803C0380780380700380FFFF80FFFF
466 80FFFF8011197E9816>90 D<1FE0003FF0007FF800783C00300E00000E00000E0003FE00
467 1FFE003E0E00700E00E00E00E00E00E00E00783E007FFFE03FE7E00F83E013127E9116>
468 97 D<FC0000FC0000FC00001C00001C00001C00001C00001C7C001DFE001FFF001F0780
469 1E03C01C01C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01E03C01F07801FFF00
470 1DFE000C780013197F9816>I<03F80FFC1FFE3C1E780C7000E000E000E000E000E000F0
471 00700778073E0E1FFC0FF803F010127D9116>I<003F00003F00003F0000070000070000
472 070000070003C7000FF7001FFF003C1F00780F00700700E00700E00700E00700E00700E0
473 0700E00700700F00780F003C1F001FFFE00FF7E007C7E013197F9816>I<03F0000FFC00
474 1FFE003C0F00780700700380E00380FFFF80FFFF80FFFF80E00000E00000700380780380
475 3E07801FFF0007FE0001F80011127E9116>I<001E00007F0001FF8001C7800383000380
476 000380007FFF00FFFF00FFFF000380000380000380000380000380000380000380000380
477 000380000380000380000380007FFC00FFFE007FFC0011197F9816>I<03E3C007F7E00F
478 FFE01C1CC0380E00380E00380E00380E00380E001C1C000FF8001FF0001BE00038000018
479 00001FFC001FFF003FFF807003C0E000E0E000E0E000E0E000E07001C07C07C03FFF800F
480 FE0003F800131C7F9116>I<03000780078003000000000000000000FF80FF80FF800380
481 03800380038003800380038003800380038003800380FFFCFFFEFFFC0F1A7C9916>105
482 D<7E0000FE00007E00000E00000E00000E00000E00000E7FE00E7FE00E7FE00E0F000E1E
483 000E3C000E78000EF0000FF0000FF8000FBC000F1E000E0E000E07000E07807F87F0FFCF
484 F07F87F01419809816>107 D<7FC000FFC0007FC00001C00001C00001C00001C00001C0
485 0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0
486 0001C00001C0007FFF00FFFF807FFF0011197E9816>I<F9C380FFEFC0FFFFE03C78E03C
487 78E03870E03870E03870E03870E03870E03870E03870E03870E03870E03870E0FE7CF8FE
488 7CF8FE7CF81512809116>I<FC7800FDFC00FFFE001F0F001E07001C07001C07001C0700
489 1C07001C07001C07001C07001C07001C07001C0700FF8FE0FF9FE0FF8FE013127F9116>
490 I<03E0000FF8001FFC003C1E00780F00700700E00380E00380E00380E00380E00380F007
491 80700700780F003C1E001FFC000FF80003E00011127E9116>I<FC7C00FDFE00FFFF001F
492 07801E03C01C01C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01E03C01F07801F
493 FF001DFE001C78001C00001C00001C00001C00001C00001C0000FF8000FF8000FF800013
494 1B7F9116>I<03E3800FF3801FFB803E0F80780780700780E00380E00380E00380E00380
495 E00380E003807007807807803C1F801FFB800FF38003E380000380000380000380000380
496 000380000380001FF0003FF8001FF0151B7F9116>I<7F0FC0FF3FE07F7FE007F04007C0
497 000780000780000700000700000700000700000700000700000700000700007FFC00FFFC
498 007FFC0013127F9116>I<0FEC3FFC7FFCF03CE01CE01C70007F801FF007F8003C600EE0
499 0EF00EF81EFFFCFFF8C7E00F127D9116>I<0300000700000700000700000700007FFF00
500 FFFF00FFFF00070000070000070000070000070000070000070000070100070380070380
501 07038007870003FE0001FC0000F80011177F9616>I<FC3F00FC3F00FC3F001C07001C07
502 001C07001C07001C07001C07001C07001C07001C07001C07001C07001C1F001FFFE00FF7
503 E007C7E013127F9116>I<7F1FC0FF9FE07F1FC01C07001C07000E0E000E0E000E0E0007
504 1C00071C00071C00071C0003B80003B80003B80001F00001F00000E00013127F9116>I<
505 FF1FE0FF1FE0FF1FE038038038038038038038038039F38039F38019F30019B30019B300
506 19B3001DB7001D17001F1F000F1E000E0E0013127F9116>I<7F1FC07F3FC07F1FC00F1E
507 00073C0003B80003F00001F00000E00001E00001F00003B800073C00071C000E0E007F1F
508 C0FF3FE07F1FC013127F9116>I<7F1FC0FF9FE07F1FC01C07000E07000E0E000E0E0007
509 0E00071C00071C00039C00039C0003980001B80001B80000F00000F00000F00000E00000
510 E00000E00001C00079C0007BC0007F80007F00003C0000131B7F9116>I
511 E /Fl 18 119 df<07F0001C18001E0C001C0E00180E00000E00000E0001FE000F0E001C
512 1C00301C00701C00E01C40E01C40E03C40E05C80709D803F0E0012127D9115>97
513 D<3F00000F00000E00000E00000E00000E00000E00000E00001C00001C00001C00001C7C
514 001D87001E01803C01803801C03800C03800E03800E03800E07001C07001C07001C07003
515 80700300700600F00C00CC380083E000131D7C9C17>I<00FE000307000E07801C070038
516 0600380000700000700000700000E00000E00000E000006000007002007004003008001C
517 300007C00011127E9112>I<0001F8000078000070000070000070000070000070000070
518 0000E00000E00000E000F8E00386E00601E00C01C01801C03801C07001C07001C07001C0
519 E00380E00380E00380600380700380300780300F001C378007C7E0151D7E9C17>I<01F8
520 070C0C0618073803300370037FFF7000E000E000E00060006002700430081C3007C01012
521 7E9112>I<000F800039C00061C000E3C001C18001C00001C00001C00003800003800003
522 80003FF8000380000380000700000700000700000700000700000700000E00000E00000E
523 00000E00000E00000E00001C00001E0000FFC000121D7F9C0D>I<000038007CCC01871C
524 0303080703800E03800E03800E03800E03800E0700060600070C0009F000080000180000
525 1800001FFE000FFF800FFFC03001C06000C06000E0C000C0C000C0600180200300180E00
526 07F000161C809215>I<00C001C001C0018000000000000000000000000000001F800780
527 03800700070007000700070007000E000E000E000E000E000E001C001E00FF800A1D7F9C
528 0C>105 D<07E001E001C001C001C001C001C001C0038003800380038003800380070007
529 0007000700070007000E000E000E000E000E000E001C001E00FF800B1D7F9C0C>108
530 D<1F8FC0FC00079061060003E07607000780780700078078070007007007000700700700
531 070070070007007007000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E
532 00E00E001C01C01C001E01E01E00FF8FF8FF8021127F9124>I<1F8F8007B0C003C0E007
533 80E00780E00700E00700E00700E00700E00E01C00E01C00E01C00E01C00E01C00E01C01C
534 03801E03C0FF9FF014127F9117>I<00FC000307000E01801C01C03800C03000C07000E0
535 7000E07000E0E001C0E001C0E001C0600180600380700700380E001C180007E00013127E
536 9115>I<0FC7C003D87001E03803C01803801C03800C03800E03800E03800E07001C0700
537 1C07001C0700380700300700600F00C00EC3800E3E000E00000E00000E00001C00001C00
538 001C00001C0000FF8000171A809117>I<1F9C07EE03CF078E078C07000700070007000E
539 000E000E000E000E000E001C001E00FFC010127F9110>114 D<03F20C0E180610043004
540 38043E001FE00FF007F8003C401C400C400C6018E010D0608FC00F127F9110>I<020002
541 000200060006000C001C003C00FFE01C001C003800380038003800380038007000704070
542 40704070407080708031001E000B1A7C9910>I<FC1F803C07801C038038070038070038
543 0700380700380700380700700E00700E00700E00700E00701E00701E00703C00305E001F
544 9F8011127C9117>I<FF07E03C03803C03001C02001C02001C04001C08000E08000E1000
545 0E10000E20000F200007400007C00007800007000003000002000013127C9116>I
546 E /Fm 64 124 df<07FFC000380000380000380000380001FF000739C01C387038383878
547 383C70381CF0381EF0381EF0381EF0381E70381C78383C3838381C38700739C001FF0000
548 380000380000380000380007FFC0171A7E991C>8 D<00FE000381000601800E03801C01
549 001C00001C00001C00001C00001C0000FFFF801C03801C03801C03801C03801C03801C03
550 801C03801C03801C03801C03801C03801C03801C03801C0380FF8FF0141A809915>12
551 D<007E1F8001C170400703C060060380E00E0380400E0380000E0380000E0380000E0380
552 000E038000FFFFFFE00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380
553 E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E07F8FE3FC1E1A80
554 9920>14 D<00800100020004000C00080018003000300030006000600060006000E000E0
555 00E000E000E000E000E000E000E000E0006000600060006000300030003000180008000C
556 00040002000100008009267D9B0F>40 D<8000400020001000180008000C000600060006
557 000300030003000300038003800380038003800380038003800380038003000300030003
558 000600060006000C0008001800100020004000800009267E9B0F>I<60F0F07010101020
559 204040040B7D830B>44 D<FFC0FFC00A0280880D>I<60F0F06004047D830B>I<07E01C38
560 381C300C700E60066006E007E007E007E007E007E007E007E007E007E00760066006700E
561 300C381C1C3807E010187F9713>48 D<03000700FF000700070007000700070007000700
562 07000700070007000700070007000700070007000700070007007FF80D187D9713>I<0F
563 80106020304038803CC01CE01C401C003C003800380070006000C0018001000200040408
564 04100430083FF87FF8FFF80E187E9713>I<07E01838201C601E700E201E001E001C001C
565 0038007007E00038001C000E000F000FE00FE00FC00F400E601C183807E010187F9713>
566 I<001800180038007800F800B8013802380238043808381838103820384038C038FFFF00
567 380038003800380038003803FF10187F9713>I<30183FF03FE03F802000200020002000
568 20002FC03060203000380018001C001C401CE01CE01C80184038403030E00F800E187E97
569 13>I<01F807040C06180E300E300070006000E000E3E0E418E80CF00EE006E007E007E0
570 07600760077006300E180C0C3807E010187F9713>I<40007FFF7FFE7FFE400480088010
571 8010002000400040008001800100030003000700060006000E000E000E000E000E000400
572 10197E9813>I<07E01818300C2006600660067006780C3E181F3007C003E00CF8307C60
573 1E600FC007C003C003C00360022004181807E010187F9713>I<07E01C303018700C600E
574 E006E006E007E007E0076007700F3017182707C700070006000E000C700C701860303060
575 0F8010187F9713>I<000C0000000C0000000C0000001E0000001E0000002F0000002700
576 00002700000043800000438000004380000081C0000081C0000181E0000100E0000100E0
577 0003FFF000020070000200700004003800040038000400380008001C0008001C003C001E
578 00FF00FFC01A1A7F991D>65 D<FFFF800E00E00E00700E00380E003C0E003C0E003C0E00
579 3C0E003C0E00780E00700E01E00FFFC00E00F00E00780E003C0E001C0E001E0E001E0E00
580 1E0E001E0E001C0E003C0E00780E00F0FFFFC0171A7F991B>I<003F0201C0C603002E0E
581 001E1C000E1C0006380006780002700002700002F00000F00000F00000F00000F00000F0
582 00007000027000027800023800041C00041C00080E000803003001C0C0003F00171A7E99
583 1C>I<FFFF80000E00E0000E0070000E0038000E001C000E000E000E000E000E0007000E
584 0007000E0007800E0007800E0007800E0007800E0007800E0007800E0007800E0007800E
585 0007000E0007000E000F000E000E000E001C000E001C000E0078000E00E000FFFF800019
586 1A7F991D>I<FFFFF80E00380E00180E00080E000C0E00040E00040E00040E01000E0100
587 0E01000E03000FFF000E03000E01000E01000E01000E00000E00000E00000E00000E0000
588 0E00000E00000E0000FFE000161A7F9919>70 D<003F020001C0C60003002E000E001E00
589 1C000E001C00060038000600780002007000020070000200F0000000F0000000F0000000
590 F0000000F0000000F001FFC070000E0070000E0078000E0038000E001C000E001C000E00
591 0E000E000300160001C06600003F82001A1A7E991E>I<FF801C001C001C001C001C001C
592 001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
593 00FF80091A7E990E>73 D<0FFE0070007000700070007000700070007000700070007000
594 7000700070007000700070007000704070E070E07040E061C01F000F1A7E9914>I<FFE0
595 1FC00E000F000E000C000E0008000E0010000E0020000E0040000E0180000E0200000E04
596 00000E0C00000E1C00000E2E00000E4700000E8380000F0380000E01C0000E00E0000E00
597 E0000E0070000E0038000E0038000E001C000E001E000E001F00FFE07FC01A1A7F991E>
598 I<FFE0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00
599 000E00000E00000E00000E00000E00000E00080E00080E00080E00180E00100E00300E00
600 700E00F0FFFFF0151A7F9918>I<FE007FC00F000E000F0004000B80040009C0040009C0
601 040008E00400087004000870040008380400081C0400081C0400080E0400080704000803
602 8400080384000801C4000800E4000800E4000800740008003C0008003C0008001C000800
603 0C001C000C00FF8004001A1A7F991D>78 D<007F000001C1C000070070000E0038001C00
604 1C003C001E0038000E0078000F0070000700F0000780F0000780F0000780F0000780F000
605 0780F0000780F0000780F000078078000F0078000F0038000E003C001E001C001C000E00
606 38000700700001C1C000007F0000191A7E991E>I<FFFF800E01E00E00700E00780E0038
607 0E003C0E003C0E003C0E003C0E00380E00780E00700E01E00FFF800E00000E00000E0000
608 0E00000E00000E00000E00000E00000E00000E00000E0000FFE000161A7F991A>I<FFFF
609 00000E01C0000E0070000E0078000E003C000E003C000E003C000E003C000E003C000E00
610 78000E0070000E01C0000FFF00000E0380000E00C0000E00E0000E0070000E0070000E00
611 70000E0078000E0078000E0078000E0078400E003C400E001C80FFE00F001A1A7F991C>
612 82 D<0FC21836200E6006C006C002C002C002E00070007E003FE01FF803FC007E000E00
613 070003800380038003C002C006E004D81887E0101A7E9915>I<7FFFFF00701C0700401C
614 0100401C0100C01C0180801C0080801C0080801C0080001C0000001C0000001C0000001C
615 0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C
616 0000001C0000001C0000001C0000001C000003FFE000191A7F991C>I<FF81FF07F03C00
617 7801C01C007800801C007800801C007800800E009C01000E009C01000E009C010007010E
618 020007010E020007010E020003830F0400038207040003820704000382070C0001C40388
619 0001C403880001C403880000E801D00000E801D00000E801D000007000E000007000E000
620 007000E000003000C0000020004000241A7F9927>87 D<FF801FE01E0007001E0006000F
621 00040007000C00078008000380100001C0100001E0200000E06000007040000078800000
622 388000001D0000001F0000000E0000000E0000000E0000000E0000000E0000000E000000
623 0E0000000E0000000E0000000E000000FFC0001B1A7F991D>89 D<FEFEC0C0C0C0C0C0C0
624 C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FEFE07257D9B0B>91
625 D<FEFE060606060606060606060606060606060606060606060606060606060606060606
626 FEFE0725809B0B>93 D<1FC000387000383800101C00001C00001C0003FC001E1C00381C
627 00701C00E01C00E01C80E01C80E03C80705F801F8F0011107F8F13>97
628 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001CFC001D07
629 001E03801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01801E03
630 0019060010F800131A809915>I<07F81C1C381C70087000E000E000E000E000E000E000
631 7000700438081C1807E00E107F8F11>I<003F0000070000070000070000070000070000
632 070000070000070000070003E7000C1700180F00300700700700E00700E00700E00700E0
633 0700E00700E00700600700700700380F001C370007C7E0131A7F9915>I<07C01C303018
634 7018600CE00CFFFCE000E000E000E0006000700438081C1807E00E107F8F11>I<01F007
635 180E381C101C001C001C001C001C001C00FFC01C001C001C001C001C001C001C001C001C
636 001C001C001C001C001C00FF800D1A80990C>I<0FCF0018718030300070380070380070
637 38007038003030001860002FC0006000006000007000003FF0003FFC001FFE00600F00C0
638 0300C00300C00300C00300600600381C0007E00011187F8F13>I<FC00001C00001C0000
639 1C00001C00001C00001C00001C00001C00001C00001C7C001D87001E03801E03801C0380
640 1C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9FF0141A80
641 9915>I<183C3C18000000000000FC1C1C1C1C1C1C1C1C1C1C1C1C1C1CFF081A80990A>I<
642 018003C003C001800000000000000000000000000FC001C001C001C001C001C001C001C0
643 01C001C001C001C001C001C001C001C001C001C001C041C0E180E3007E000A2182990C>
644 I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C1FC01C0F
645 001C0C001C18001C20001C40001CE0001DE0001E70001C78001C38001C1C001C1E001C0F
646 001C0F80FF9FE0131A809914>I<FC001C001C001C001C001C001C001C001C001C001C00
647 1C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091A80990A>
648 I<FC7C1F001D8E63801E0781C01E0781C01C0701C01C0701C01C0701C01C0701C01C0701
649 C01C0701C01C0701C01C0701C01C0701C01C0701C01C0701C0FF9FE7F81D107F8F20>I<
650 FC7C001D87001E03801E03801C03801C03801C03801C03801C03801C03801C03801C0380
651 1C03801C03801C0380FF9FF01410808F15>I<07E01C38300C700E6006E007E007E007E0
652 07E007E0076006700E381C1C3807E010107F8F13>I<FCFC001D07001E03801C01C01C01
653 C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01801E03001D06001CF8001C00
654 001C00001C00001C00001C00001C0000FF80001317808F15>I<FC781D9C1E1C1E081C00
655 1C001C001C001C001C001C001C001C001C001C00FF800E10808F0F>114
656 D<1F2060E04020C020C020F0007F003FC01FE000F080708030C030C020F0408F800C107F
657 8F0F>I<0800080008000800180018003800FFC038003800380038003800380038003800
658 382038203820382018201C4007800B177F960F>I<FC1F801C03801C03801C03801C0380
659 1C03801C03801C03801C03801C03801C03801C03801C07800C07800E0B8003F3F0141080
660 8F15>I<FF0F803C07001C06001C04001C04000E08000E080007100007100007100003A0
661 0003A00001C00001C00001C00000800011107F8F14>I<FE7F1F80381C07003C1C06001C
662 0C04001C0E04000E1608000E1708000E170800072310000723900007A3900003C1A00003
663 C1E0000180C0000180C0000180C00019107F8F1C>I<FE3F803C1E001C08000E10000F30
664 0007600003C00001C00001E00003E000027000043800083800181C00381E00FC3FC01210
665 7F8F14>I<FF0F803C07001C06001C04001C04000E08000E080007100007100007100003
666 A00003A00001C00001C00001C000008000008000010000010000E10000E20000E4000078
667 000011177F8F14>I<FFF8E070C07080E081C081C00380070007000E041C041C04380870
668 087038FFF80E107F8F11>I<FFFFC01201808913>I E /Fn 2 122
669 df<0C000C00CCC0EDC07F800C007F80EDC0CCC00C000C000A0B7D8B10>3
670 D<1818181818FFFF18181818181818181818181818181808167D900E>121
671 D E /Fo 3 61 df<FFFFFF80FFFFFF8019027D8A20>0 D<0F8000201FE000203FF80020
672 707C0060E01F00E0C007C1C08003FF808000FF0080003E00000000000F8000201FE00020
673 3FF80020707C0060E01F00E0C007C1C08003FF808000FF0080003E001B137E9320>25
674 D<000078001E03BC0023041C0041881E0080D00E0080F00F0080600700C0600380607003
675 80307001C0187001C0087000E0047000C004700700047FF800047070008C707000887070
676 008870700070707000007070000070700000707000007070000060700060607000C0E070
677 0040C0704020C0718011803A000F001C001B1F7E9D1E>60 D E /Fp
678 26 117 df<FFF0FFF00C027F8910>45 D<000FE0200070186001C00460030003E0060001
679 E00E0000E01C00006038000060380000207800002070000020F0000000F0000000F00000
680 00F0000000F0000000F0000000F0000000F0000000700000207800002038000020380000
681 201C0000400E000040060000800300010001C0060000701800000FE0001B1E7D9C21>67
682 D<FFF0FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
683 000F000F000F000F000F000F000F000F000FFFFF000F000F000F000F000F000F000F000F
684 000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
685 00FFF0FFF01C1C7D9B22>72 D<FFF00F000F000F000F000F000F000F000F000F000F000F
686 000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00FFF00C1C7D
687 9B11>I<FFF8000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
688 000F00000F00000F00000F00000F00000F00000F00000F00040F00040F00040F000C0F00
689 0C0F00080F00180F00380F00F8FFFFF8161C7D9B1C>76 D<FF80003FE00F80003E000F80
690 003E000BC0005E000BC0005E0009E0009E0009E0009E0009E0009E0008F0011E0008F001
691 1E000878021E000878021E000878021E00083C041E00083C041E00081E081E00081E081E
692 00081E081E00080F101E00080F101E000807A01E000807A01E000807A01E000803C01E00
693 0803C01E000801801E001C01801E00FF8181FFE0231C7D9B29>I<FFFFC0000F0078000F
694 001C000F000E000F0007000F0007800F0007800F0007800F0007800F0007800F0007000F
695 000E000F001C000F0078000FFFC0000F0000000F0000000F0000000F0000000F0000000F
696 0000000F0000000F0000000F0000000F0000000F0000000F000000FFF00000191C7D9B1F
697 >80 D<03F0400C0CC01002C03001C06000C0E000C0E00040E00040E00040F00000F80000
698 7E00007FE0003FFC001FFF0007FF80007F800007C00003E00001E00000E08000E08000E0
699 8000E0C000C0C000C0E00180D00300CE060081F800131E7D9C19>83
700 D<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F00
701 20000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
702 00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F80
703 0003FFFC001B1C7D9B21>I<00200000700000700000700000B80000B80000B800011C00
704 011C00031E00020E00020E0004070007FF000407000803800803801803C01801C03801C0
705 FC07F815157F9419>97 D<FFFC001C07001C03801C03C01C03C01C03C01C03C01C03801C
706 07801FFF001FFF001C03801C03C01C01E01C01E01C01E01C01E01C01C01C03C01C0780FF
707 FE0013157F9418>I<00FC200782600E01E01C00E0380060780020700020F00020F00000
708 F00000F00000F00000F00000F000207000207800203800401C00400E008007830000FC00
709 13157E9419>I<FFFC001C07001C01C01C00E01C00E01C00701C00701C00781C00781C00
710 781C00781C00781C00781C00781C00701C00701C00E01C00E01C01C01C0700FFFC001515
711 7F941A>I<FFFF801C03801C00801C00801C00401C00401C08401C08001C08001C18001F
712 F8001C18001C08001C08201C08201C00201C00601C00401C00C01C01C0FFFFC013157F94
713 17>I<00FC200782600E01E01C00E0380060780020700020F00020F00000F00000F00000
714 F00FF8F000E0F000E07000E07800E03800E01C00E00E00E007836000FC2015157E941B>
715 103 D<FF8FF81C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC0
716 1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C0FF8FF815157F9419>
717 I<FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
718 001C001C00FF8009157F940D>I<FF81F81C01E01C01801C01001C02001C04001C08001C
719 10001C30001C70001CB8001D1C001E1C001C0E001C07001C07801C03801C01C01C01E01C
720 01F0FF83FC16157F941A>107 D<FFC0001C00001C00001C00001C00001C00001C00001C
721 00001C00001C00001C00001C00001C00001C00801C00801C00801C01801C01001C03001C
722 0700FFFF0011157F9415>I<FE000FE01E000F0017001700170017001700170013802700
723 1380270011C0470011C0470011C0470010E0870010E08700107107001071070010710700
724 103A0700103A0700101C0700101C0700381C0700FE083FE01B157F941F>I<FC03F81E00
725 E01E004017004013804013C04011C04010E040107040107040103840101C40101C40100E
726 401007401007C01003C01001C01000C03800C0FE004015157F9419>I<01F800070E000C
727 03001C03803801C07801E07000E0F000F0F000F0F000F0F000F0F000F0F000F0F000F070
728 00E07801E03801C01C03801E0780070E0001F80014157E941A>I<FFFC001C0F001C0380
729 1C03C01C03C01C03C01C03C01C03C01C03801C0F001FFC001C00001C00001C00001C0000
730 1C00001C00001C00001C00001C0000FF800012157F9417>I<FFF8001C0E001C07801C03
731 801C03C01C03C01C03C01C03801C07801C0E001FF8001C1C001C0E001C07001C07001C07
732 001C07801C07841C07C41C03CCFF80F816157F9419>114 D<1F1030F06030C030C010C0
733 10E000E0007E003FC01FE003F0007800380018801880188010C030F0608F800D157E9413
734 >I<7FFFF060703040701040701080700880700880700800700000700000700000700000
735 700000700000700000700000700000700000700000700000700007FF0015157F9419>I
736 E /Fq 81 125 df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C000
737 0E01C0000E01C0000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C000
738 0E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C000
739 0E01C0000E01C0000E01C0007F87FC001A1D809C18>11 D<007E0001C1800301800703C0
740 0E03C00E01800E00000E00000E00000E00000E0000FFFFC00E01C00E01C00E01C00E01C0
741 0E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0
742 7F87F8151D809C17>I<003F07E00001C09C18000380F018000701F03C000E01E03C000E
743 00E018000E00E000000E00E000000E00E000000E00E000000E00E00000FFFFFFFC000E00
744 E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E0
745 1C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C
746 000E00E01C007FC7FCFF80211D809C23>14 D<6060F0F0F8F86868080808080808101010
747 102020404080800D0C7F9C15>34 D<00E000000310000006080000060800000E0800000E
748 0800000E0800000E0800000E1000000E1000000E2000000740000007403FE007800F8007
749 800600038004000780040009C0080011C0100030E0100020F0200060702000E0384000E0
750 3C8000E01C8000E00F0020E0070020700780403009C0401830E1800FC03F001B1F7E9D20
751 >38 D<60F0F8680808081010204080050C7C9C0C>I<00800100020006000C000C001800
752 18003000300030006000600060006000E000E000E000E000E000E000E000E000E000E000
753 E000E0006000600060006000300030003000180018000C000C000600020001000080092A
754 7C9E10>I<8000400020003000180018000C000C00060006000600030003000300030003
755 800380038003800380038003800380038003800380038003000300030003000600060006
756 000C000C00180018003000200040008000092A7E9E10>I<000600000006000000060000
757 000600000006000000060000000600000006000000060000000600000006000000060000
758 00060000FFFFFFE0FFFFFFE0000600000006000000060000000600000006000000060000
759 000600000006000000060000000600000006000000060000000600001B1C7E9720>43
760 D<60F0F0701010101020204080040C7C830C>I<FFE0FFE00B0280890E>I<60F0F0600404
761 7C830C>I<03C00C301818300C300C700E60066006E007E007E007E007E007E007E007E0
762 07E007E007E007E007E00760066006700E300C300C18180C3007E0101D7E9B15>48
763 D<010007003F00C700070007000700070007000700070007000700070007000700070007
764 00070007000700070007000700070007000700FFF80D1C7C9B15>I<07C01830201C400C
765 400EF00FF80FF807F8077007000F000E000E001C001C00380070006000C0018003000601
766 0C01180110023FFE7FFEFFFE101C7E9B15>I<07E01830201C201C781E780E781E381E00
767 1C001C00180030006007C00030001C001C000E000F000F700FF80FF80FF80FF00E401C20
768 1C183007C0101D7E9B15>I<000C00000C00001C00003C00003C00005C0000DC00009C00
769 011C00031C00021C00041C000C1C00081C00101C00301C00201C00401C00C01C00FFFFC0
770 001C00001C00001C00001C00001C00001C00001C0001FFC0121C7F9B15>I<300C3FF83F
771 F03FC020002000200020002000200023E02C303018301C200E000E000F000F000F600FF0
772 0FF00FF00F800E401E401C2038187007C0101D7E9B15>I<00F0030C04040C0E181E301E
773 300C700070006000E3E0E430E818F00CF00EE006E007E007E007E007E007600760077006
774 300E300C18180C3003E0101D7E9B15>I<4000007FFF807FFF007FFF0040020080040080
775 040080080000100000100000200000600000400000C00000C00001C00001800001800003
776 8000038000038000038000078000078000078000078000078000078000030000111D7E9B
777 15>I<03E00C301008200C200660066006700670067C0C3E183FB01FE007F007F818FC30
778 7E601E600FC007C003C003C003C00360026004300C1C1007E0101D7E9B15>I<03C00C30
779 1818300C700C600EE006E006E007E007E007E007E0076007700F300F18170C2707C70006
780 0006000E300C780C78187018203010C00F80101D7E9B15>I<60F0F06000000000000000
781 00000060F0F06004127C910C>I<60F0F0600000000000000000000060F0F07010101010
782 20204080041A7C910C>I<7FFFFFC0FFFFFFE00000000000000000000000000000000000
783 000000000000000000000000000000FFFFFFE07FFFFFC01B0C7E8F20>61
784 D<000600000006000000060000000F0000000F0000000F000000178000001780000037C0
785 000023C0000023C0000043E0000041E0000041E0000080F0000080F0000080F000010078
786 000100780001FFF80002003C0002003C0002003C0004001E0004001E000C001F000C000F
787 001E001F00FF00FFF01C1D7F9C1F>65 D<FFFFC0000F0078000F003C000F001E000F000E
788 000F000F000F000F000F000F000F000F000F000E000F001E000F003C000F00F8000FFFF0
789 000F003C000F001E000F000F000F0007000F0007800F0007800F0007800F0007800F0007
790 800F000F000F000F000F001E000F007800FFFFE000191C7F9B1D>I<001F808000E06180
791 01801980070007800E0003801C0003801C00018038000180780000807800008070000080
792 F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000070000080
793 7800008078000080380000801C0001001C0001000E000200070004000180080000E03000
794 001FC000191E7E9C1E>I<FFFFC0000F00F0000F003C000F000E000F0007000F0007000F
795 0003800F0003C00F0001C00F0001C00F0001E00F0001E00F0001E00F0001E00F0001E00F
796 0001E00F0001E00F0001E00F0001C00F0001C00F0003C00F0003800F0007800F0007000F
797 000E000F001C000F007000FFFFC0001B1C7E9B20>I<FFFFFC0F003C0F000C0F00040F00
798 040F00060F00020F00020F01020F01000F01000F01000F03000FFF000F03000F01000F01
799 000F01000F01010F00010F00020F00020F00020F00060F00060F000C0F003CFFFFFC181C
800 7E9B1C>I<FFFFF80F00780F00180F00080F00080F000C0F00040F00040F01040F01000F
801 01000F01000F03000FFF000F03000F01000F01000F01000F01000F00000F00000F00000F
802 00000F00000F00000F00000F0000FFF800161C7E9B1B>I<001F808000E0618001801980
803 070007800E0003801C0003801C00018038000180780000807800008070000080F0000000
804 F0000000F0000000F0000000F0000000F0000000F000FFF0F0000F807000078078000780
805 78000780380007801C0007801C0007800E00078007000B800180118000E06080001F8000
806 1C1E7E9C21>I<FFF0FFF00F000F000F000F000F000F000F000F000F000F000F000F000F
807 000F000F000F000F000F000F000F000F000F000F000F000FFFFF000F000F000F000F000F
808 000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
809 000F000F000F00FFF0FFF01C1C7F9B1F>I<FFF00F000F000F000F000F000F000F000F00
810 0F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
811 FFF00C1C7F9B0F>I<07FF80007C00003C00003C00003C00003C00003C00003C00003C00
812 003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00
813 703C00F83C00F83C00F8380070780040700030E0000F8000111D7F9B15>I<FFF01FE00F
814 0007800F0006000F0004000F0008000F0010000F0020000F0040000F0080000F0100000F
815 0200000F0600000F0F00000F1780000F2780000F43C0000F81E0000F01E0000F00F0000F
816 0078000F0078000F003C000F003E000F001E000F000F000F000F800F000FC0FFF03FF01C
817 1C7F9B20>I<FFF8000F80000F00000F00000F00000F00000F00000F00000F00000F0000
818 0F00000F00000F00000F00000F00000F00000F00000F00000F00080F00080F00080F0018
819 0F00180F00100F00300F00700F01F0FFFFF0151C7E9B1A>I<FF8000FF800F8000F8000F
820 8000F8000BC00178000BC00178000BC001780009E002780009E002780008F004780008F0
821 04780008F0047800087808780008780878000878087800083C107800083C107800083C10
822 7800081E207800081E207800081E207800080F407800080F407800080780780008078078
823 00080780780008030078001C03007800FF8307FF80211C7E9B26>I<FF001FF00F800380
824 0FC001000BC0010009E0010008F0010008F0010008780100083C0100083E0100081E0100
825 080F0100080F8100080781000803C1000801E1000801F1000800F1000800790008007D00
826 08003D0008001F0008001F0008000F0008000700080003001C000300FF8001001C1C7F9B
827 1F>I<003F800000E0E0000380380007001C000E000E001C0007003C0007803800038078
828 0003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F0
829 0001E0F00001E0700001C0780003C0780003C0380003803C0007801C0007000E000E0007
830 001C000380380000E0E000003F80001B1E7E9C20>I<FFFF800F00E00F00780F003C0F00
831 1C0F001E0F001E0F001E0F001E0F001E0F001C0F003C0F00780F00E00FFF800F00000F00
832 000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000FFF000171C
833 7E9B1C>I<003F800000E0E0000380380007001C000E000E001C0007003C000780380003
834 80780003C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001
835 E0F00001E0F00001E0700001C0780003C0780003C0380003803C0E07801C1107000E208E
836 0007205C0003A0780000F0E020003FE0200000602000003060000038E000003FC000003F
837 C000001F8000000F001B257E9C20>I<FFFF00000F01E0000F0078000F003C000F001C00
838 0F001E000F001E000F001E000F001E000F001C000F003C000F0078000F01E0000FFF0000
839 0F01E0000F0070000F0078000F003C000F003C000F003C000F003C000F003C000F003C00
840 0F003C100F003C100F001C100F001C10FFF00E20000003C01C1D7E9B1F>I<07E0801C19
841 80300580300380600180E00180E00080E00080E00080F00000F800007C00007FC0003FF8
842 001FFE0007FF0000FF80000F800007C00003C00001C08001C08001C08001C0C00180C001
843 80E00300D00200CC0C0083F800121E7E9C17>I<7FFFFFC0700F01C0600F00C0400F0040
844 400F0040C00F0020800F0020800F0020800F0020000F0000000F0000000F0000000F0000
845 000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000
846 000F0000000F0000000F0000000F0000001F800003FFFC001B1C7F9B1E>I<FFF01FF00F
847 0003800F0001000F0001000F0001000F0001000F0001000F0001000F0001000F0001000F
848 0001000F0001000F0001000F0001000F0001000F0001000F0001000F0001000F0001000F
849 0001000F0001000F00010007000200078002000380040001C0040000E018000070600000
850 0F80001C1D7F9B1F>I<FFE00FF01F0003C01F0001800F0001000F000100078002000780
851 020007C0020003C0040003C0040003E00C0001E0080001E0080000F0100000F0100000F8
852 10000078200000782000003C4000003C4000003C4000001E8000001E8000001F8000000F
853 0000000F00000006000000060000000600001C1D7F9B1F>I<FFE1FFC0FF1F003E003C1E
854 003C00180F001E00100F001E00100F001E001007801F002007801F002007801F002003C0
855 27804003C027804003C027804001E043C08001E043C08001E043C08000F081E10000F081
856 E10000F081E10000F900F300007900F200007900F200007E007E00003E007C00003E007C
857 00003C003C00001C003800001C00380000180018000008001000281D7F9B2B>I<FFF07F
858 C00FC01E0007800C0007C0080003C0100001E0200001F0200000F0400000788000007C80
859 00003D0000003E0000001F0000000F0000000F8000000F80000013C0000023E0000021E0
860 000040F0000080F8000080780001007C0002003E0002001E0006001F001F001F80FF807F
861 F01C1C7F9B1F>I<FFF003FC0F8001E0078000C007C0008003C0010003E0030001E00200
862 00F0040000F8040000780800007C1800003C1000003E2000001F2000000F4000000FC000
863 000780000007800000078000000780000007800000078000000780000007800000078000
864 0007800000078000007FF8001E1C809B1F>I<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
865 C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FEFE07297C9E0C>91
866 D<08081010202040404040808080808080B0B0F8F8787830300D0C7A9C15>I<FEFE0606
867 0606060606060606060606060606060606060606060606060606060606060606060606FE
868 FE0729809E0C>I<1FC000307000783800781C00301C00001C00001C0001FC000F1C0038
869 1C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E9115>97
870 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C
871 001D87001E01801C00C01C00E01C00601C00701C00701C00701C00701C00701C00701C00
872 601C00E01C00C01E018019070010FC00141D7F9C17>I<03F80C0C181E301E700C6000E0
873 00E000E000E000E000E00060007002300218040C1803E00F127F9112>I<001F80000380
874 00038000038000038000038000038000038000038000038000038003F3800E0B80180780
875 300380700380600380E00380E00380E00380E00380E00380E00380600380700380300380
876 1807800E1B8003E3F0141D7F9C17>I<07E00C301818300C700E6006E006FFFEE000E000
877 E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E0E0C0E000E
878 000E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E000E
879 000E000E000E007FE00F1D809C0D>I<00038007C4C01C78C0383880301800701C00701C
880 00701C00701C003018003838001C700027C0002000002000003000003FF8001FFF001FFF
881 802003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C7F9215>I<FC
882 00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C001C
883 87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
884 03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C00180000000000000000
885 00000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C
886 001C001C00FF80091D7F9C0C>I<00C001E001E000C00000000000000000000000000000
887 07E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
888 00E000E000E060E0F0C0F1C061803E000B25839C0D>I<FC00001C00001C00001C00001C
889 00001C00001C00001C00001C00001C00001C00001C0FE01C07801C06001C0C001C10001C
890 20001C40001CE0001DE0001E70001C78001C38001C3C001C1C001C0E001C0F001C0F80FF
891 9FE0131D7F9C16>I<FC001C001C001C001C001C001C001C001C001C001C001C001C001C
892 001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C
893 >I<FC7E07E0001C838838001D019018001E01E01C001C01C01C001C01C01C001C01C01C
894 001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00
895 1C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D0300
896 1E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
897 1C03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001
898 C0E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F0001212
899 7F9115>I<FC7C001D87001E01801C01C01C00E01C00E01C00701C00701C00701C00701C
900 00701C00701C00E01C00E01C01C01E01801D07001CFC001C00001C00001C00001C00001C
901 00001C00001C0000FF8000141A7F9117>I<03E0800E1980180580380780700380700380
902 E00380E00380E00380E00380E00380E003807003807003803807801807800E1B8003E380
903 000380000380000380000380000380000380000380001FF0141A7F9116>I<FCE01D381E
904 781E781C301C001C001C001C001C001C001C001C001C001C001C001C00FFC00D127F9110
905 >I<1F9020704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D060
906 8FC00D127F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C
907 001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910>I<FC1F801C
908 03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
909 03801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E0200
910 0E02000F060007040007040003880003880003C80001D00001D00000E00000E00000E000
911 00400013127F9116>I<FF3FC7E03C0703C01C0701801C0701001C0B01000E0B82000E0B
912 82000E1182000711C4000711C4000720C40003A0E80003A0E80003C0680001C0700001C0
913 700001803000008020001B127F911E>I<FF0FE01E07001C06000E040007080003900003
914 B00001E00000E00000F00001F000013800021C00041C000C0E001807003C0780FE1FF014
915 127F9116>I<FF07E03C03801C01001C01000E02000E02000F0600070400070400038800
916 03880003C80001D00001D00000E00000E00000E000004000004000008000008000F08000
917 F10000F30000660000380000131A7F9116>I<7FFC70386038407040F040E041C003C003
918 8007000F040E041C043C0C380870087038FFF80E127F9112>I<FFFFF01401808B15>I<FF
919 FFFFFFFF802901808B2A>I E /Fr 52 124 df<001FC0000070200000C0100001803800
920 038078000700780007003000070000000700000007000000070000000700000007000000
921 07000000FFFFF80007007800070038000700380007003800070038000700380007003800
922 070038000700380007003800070038000700380007003800070038000700380007003800
923 0700380007003800070038007FE1FF80192380A21B>12 D<70F8F8F87005057C840E>46
924 D<000080000180000180000300000300000300000600000600000600000C00000C00000C
925 0000180000180000180000300000300000300000600000600000600000C00000C00000C0
926 000180000180000180000180000300000300000300000600000600000600000C00000C00
927 000C0000180000180000180000300000300000300000600000600000600000C00000C000
928 00C0000011317DA418>I<01F000071C000C06001803003803803803807001C07001C070
929 01C07001C0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F0
930 01E0F001E0F001E0F001E07001C07001C07001C07803C03803803803801C07000C060007
931 1C0001F00013227EA018>I<008003800F80F38003800380038003800380038003800380
932 038003800380038003800380038003800380038003800380038003800380038003800380
933 038007C0FFFE0F217CA018>I<03F0000C1C001007002007804003C04003C08003E0F003
934 E0F801E0F801E0F801E02003E00003E00003C00003C0000780000700000E00001C000018
935 0000300000600000C0000180000100000200200400200800201800603000403FFFC07FFF
936 C0FFFFC013217EA018>I<03F8000C1E00100F002007804007C07807C07803C07807C038
937 07C0000780000780000700000F00000C0000380003F000001C00000F0000078000078000
938 03C00003C00003E02003E07003E0F803E0F803E0F003C04003C0400780200780100F000C
939 1C0003F00013227EA018>I<000300000300000700000700000F00001700001700002700
940 006700004700008700018700010700020700060700040700080700080700100700200700
941 200700400700C00700FFFFF8000700000700000700000700000700000700000700000F80
942 007FF015217FA018>I<1000801E07001FFF001FFE001FF80017E0001000001000001000
943 0010000010000010000011F800120C001C07001803801003800001C00001C00001E00001
944 E00001E00001E07001E0F001E0F001E0E001C08001C04003C04003802007001006000C1C
945 0003F00013227EA018>I<007E0001C1000300800601C00C03C01C03C018018038000038
946 0000780000700000700000F0F800F30C00F40600F40300F80380F801C0F001C0F001E0F0
947 01E0F001E0F001E0F001E07001E07001E07001E03801C03801C01803801C03000C060007
948 0C0001F00013227EA018>I<4000006000007FFFE07FFFC07FFFC0400080C00100800100
949 80020080020000040000080000080000100000200000200000600000400000C00000C000
950 01C00001C000018000038000038000038000038000078000078000078000078000078000
951 07800007800003000013237DA118>I<01F800060E000803001001802001806000C06000
952 C06000C07000C07000C07801803E01003F02001FC4000FF80003F80001FC00067E00083F
953 00100F803007C06003C06000E0C000E0C00060C00060C00060C000606000406000C03000
954 801803000E0E0003F00013227EA018>I<01F000060C000C060018070038038070038070
955 0380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E07001E07003E03803E018
956 05E00C05E00619E003E1E00001C00001C00001C000038000038030038078070078060070
957 0C002018001030000FC00013227EA018>I<70F8F8F870000000000000000000000070F8
958 F8F87005157C940E>I<000FE00000701C00008002000300018004000040080000200800
959 00201007C01020183008203008084060040440C0078441C0038481C00382838003828380
960 0382838003828380038283800382838003828380038281C0038241C0038240C007824060
961 078420300B84201831881007C0F00800000008000000040000000300000E008000780070
962 07C0000FFC001F237DA226>64 D<0001800000018000000180000003C0000003C0000003
963 C0000005E0000005E0000009F0000008F0000008F0000010780000107800001078000020
964 3C0000203C0000203C0000401E0000401E0000C01F0000800F0000800F0001FFFF800100
965 078001000780020003C0020003C0020003C0040001E0040001E0040001E0080000F01C00
966 00F03E0001F8FF800FFF20237EA225>I<0007E0100038183000E0063001C00170038000
967 F0070000F00E0000701E0000701C0000303C0000303C0000307C00001078000010780000
968 10F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000780000
969 00780000107C0000103C0000103C0000101C0000201E0000200E00004007000040038000
970 8001C0010000E0020000381C000007E0001C247DA223>67 D<FFFFF0000F801E00078007
971 0007800380078001C0078000E0078000F007800078078000780780007C0780003C078000
972 3C0780003C0780003E0780003E0780003E0780003E0780003E0780003E0780003E078000
973 3E0780003E0780003C0780003C0780007C0780007807800078078000F0078000E0078001
974 E0078003C0078007000F801E00FFFFF0001F227EA125>I<FFFFFFC00F8007C0078001C0
975 078000C00780004007800040078000600780002007800020078000200780202007802000
976 0780200007802000078060000780E00007FFE0000780E000078060000780200007802000
977 078020000780200807800008078000080780001007800010078000100780003007800030
978 07800070078000E00F8003E0FFFFFFE01D227EA121>I<FFFC0FC0078007800780078007
979 800780078007800780078007800780078007800780078007800780078007800780078007
980 8007800780078007800780078007800FC0FFFC0E227EA112>73 D<FFFC001F80000F0000
981 0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000
982 0F00000F00000F00000F00000F00000F00000F00000F00010F00010F00010F00010F0003
983 0F00030F00020F00060F00060F001E1F007EFFFFFE18227DA11E>76
984 D<FFC00003FF0FC00003F007C00003E005E00005E005E00005E004F00009E004F00009E0
985 04F00009E004780011E004780011E004780011E0043C0021E0043C0021E0043C0021E004
986 1E0041E0041E0041E0040F0081E0040F0081E0040F0081E004078101E004078101E00407
987 8101E00403C201E00403C201E00401E401E00401E401E00401E401E00400F801E00400F8
988 01E00400F801E004007001E00E007001E01F007003F0FFE0203FFF28227EA12D>I<FF80
989 07FF07C000F807C0007005E0002004F0002004F0002004780020047C0020043C0020041E
990 0020041F0020040F002004078020040780200403C0200401E0200401E0200400F0200400
991 F8200400782004003C2004003E2004001E2004000F2004000F20040007A0040003E00400
992 03E0040001E0040001E0040000E00E0000601F000060FFE0002020227EA125>I<FFFFF0
993 000F803C0007800F0007800780078007C0078003C0078003E0078003E0078003E0078003
994 E0078003E0078003E0078003C0078007C00780078007800F0007803C0007FFF000078000
995 000780000007800000078000000780000007800000078000000780000007800000078000
996 00078000000780000007800000078000000FC00000FFFC00001B227EA121>80
997 D<000FE00000783C0000E00E0003C00780078003C00F0001E00E0000E01E0000F03E0000
998 F83C0000787C00007C7C00007C7800003C7800003CF800003EF800003EF800003EF80000
999 3EF800003EF800003EF800003EF800003EF800003E7800003C7C00007C7C00007C3C0000
1000 783C0000781E0380F00E0420E00F0801E0078813C003C8178000E80E00007C3C02000FEC
1001 0200000C0200000C0200000E0600000F0E000007FC000007FC000007F8000003F8000001
1002 E01F2D7DA226>I<FFFFE000000F803C000007800E00000780078000078007C000078003
1003 C000078003E000078003E000078003E000078003E000078003E000078003C000078007C0
1004 00078007800007800E000007803C000007FFE000000780700000078038000007801C0000
1005 07801E000007800E000007800F000007800F000007800F000007800F000007800F800007
1006 800F800007800F800007800F808007800FC080078007C0800FC003C100FFFC01E2000000
1007 007C0021237EA124>I<03F0200C0C601802603001E07000E0600060E00060E00060E000
1008 20E00020E00020F00000F000007800007F00003FF0001FFE000FFF0003FF80003FC00007
1009 E00001E00000F00000F0000070800070800070800070800070C00060C00060E000C0F000
1010 C0C80180C6070081FC0014247DA21B>I<7FFFFFF8780780786007801840078008400780
1011 0840078008C007800C800780048007800480078004800780040007800000078000000780
1012 000007800000078000000780000007800000078000000780000007800000078000000780
1013 000007800000078000000780000007800000078000000780000007800000078000000780
1014 00000FC00001FFFE001E227EA123>I<FFFC07FF0FC000F8078000700780002007800020
1015 078000200780002007800020078000200780002007800020078000200780002007800020
1016 078000200780002007800020078000200780002007800020078000200780002007800020
1017 0780002007800020078000200380004003C0004003C0004001C0008000E0008000600100
1018 00300600001C08000003F00020237EA125>I<FFF03FFC03FE1F8007E000F80F0003C000
1019 700F0003C000200F0001E00020078001E00040078001E00040078003F0004003C002F000
1020 8003C002F0008003C002F0008003E00478018001E00478010001E00478010001E0083C01
1021 0000F0083C020000F0083C020000F0101E02000078101E04000078101E04000078200F04
1022 00003C200F0800003C200F0800003C600F8800001E40079000001E40079000001E4007D0
1023 00001F8003F000000F8003E000000F8003E000000F0001E00000070001C00000070001C0
1024 0000060000C0000002000080002F237FA132>87 D<1FE000303800780C00780E00300700
1025 00070000070000070000FF0007C7001E07003C0700780700700700F00708F00708F00708
1026 F00F087817083C23900FC1E015157E9418>97 D<0E0000FE00001E00000E00000E00000E
1027 00000E00000E00000E00000E00000E00000E00000E00000E00000E1F000E61C00E80600F
1028 00300E00380E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E001C0E
1029 003C0E00380F00700C80600C41C0083F0017237FA21B>I<01FE000703000C07801C0780
1030 380300780000700000F00000F00000F00000F00000F00000F00000F00000700000780040
1031 3800401C00800C010007060001F80012157E9416>I<0000E0000FE00001E00000E00000
1032 E00000E00000E00000E00000E00000E00000E00000E00000E00000E001F8E00704E00C02
1033 E01C01E03800E07800E07000E0F000E0F000E0F000E0F000E0F000E0F000E0F000E07000
1034 E07800E03800E01801E00C02E0070CF001F0FE17237EA21B>I<01FC000707000C03801C
1035 01C03801C07801E07000E0F000E0FFFFE0F00000F00000F00000F00000F0000070000078
1036 00203800201C00400E008007030000FC0013157F9416>I<003E0000E30001C780038780
1037 030780070000070000070000070000070000070000070000070000070000FFF800070000
1038 070000070000070000070000070000070000070000070000070000070000070000070000
1039 0700000700000700000700000700000780007FF000112380A20F>I<00007003F1980E1E
1040 181C0E183807003807007807807807807807807807803807003807001C0E001E1C0033F0
1041 002000002000003000003800003FFE001FFFC00FFFE03000F0600030C00018C00018C000
1042 18C000186000306000303800E00E038003FE0015217F9518>I<0E0000FE00001E00000E
1043 00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F800E
1044 60C00E80E00F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E
1045 00700E00700E00700E00700E00700E00700E0070FFE7FF18237FA21B>I<1C003E003E00
1046 3E001C00000000000000000000000000000000000E007E001E000E000E000E000E000E00
1047 0E000E000E000E000E000E000E000E000E000E000E000E00FFC00A227FA10E>I<0E00FE
1048 001E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
1049 000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE00B237FA20E
1050 >108 D<0E1FC07F00FE60E183801E807201C00F003C00E00F003C00E00E003800E00E00
1051 3800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E0038
1052 00E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E0FFE3FF8F
1053 FE27157F942A>I<0E1F80FE60C01E80E00F00700F00700E00700E00700E00700E00700E
1054 00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0070FFE7FF18
1055 157F941B>I<01FC000707000C01801800C03800E0700070700070F00078F00078F00078
1056 F00078F00078F00078F000787000707800F03800E01C01C00E038007070001FC0015157F
1057 9418>I<0E1F00FE61C00E80600F00700E00380E003C0E003C0E001E0E001E0E001E0E00
1058 1E0E001E0E001E0E001E0E003C0E003C0E00380F00700E80E00E41C00E3F000E00000E00
1059 000E00000E00000E00000E00000E00000E00000E0000FFE000171F7F941B>I<01F82007
1060 04600E02601C01603801E07800E07800E0F000E0F000E0F000E0F000E0F000E0F000E0F0
1061 00E07800E07800E03801E01C01E00C02E0070CE001F0E00000E00000E00000E00000E000
1062 00E00000E00000E00000E00000E0000FFE171F7E941A>I<0E3CFE461E8F0F0F0F060F00
1063 0E000E000E000E000E000E000E000E000E000E000E000E000E000F00FFF010157F9413>
1064 I<0F8830786018C018C008C008E008F0007F003FE00FF001F8003C801C800C800CC00CC0
1065 08E018D0308FC00E157E9413>I<02000200020002000600060006000E001E003E00FFFC
1066 0E000E000E000E000E000E000E000E000E000E000E000E040E040E040E040E040E040708
1067 030801F00E1F7F9E13>I<0E0070FE07F01E00F00E00700E00700E00700E00700E00700E
1068 00700E00700E00700E00700E00700E00700E00700E00700E00F00E00F006017003827800
1069 FC7F18157F941B>I<FF80FE1E00781E00300E00200E00200700400700400780C0038080
1070 03808001C10001C10000E20000E20000E200007400007400003800003800003800001000
1071 17157F941A>I<FF80FE1E00781E00300E00200E00200700400700400780C00380800380
1072 8001C10001C10000E20000E20000E2000074000074000038000038000038000010000010
1073 00002000002000002000004000F04000F08000F180004300003C0000171F7F941A>121
1074 D<FFFFFE1701808C18>123 D E /Fs 2 122 df<020002000200C218F2783AE00F800F80
1075 3AE0F278C2180200020002000D0E7E8E12>3 D<06000600060006000600060006000600
1076 FFF0FFF00600060006000600060006000600060006000600060006000600060006000600
1077 0600060006000C1D7E9611>121 D E /Ft 34 122 df<000FF83F00007FFDFFC001F81F
1078 E3E003E03F87E007C03F87E00F803F07E00F803F03C00F801F00000F801F00000F801F00
1079 000F801F00000F801F00000F801F0000FFFFFFFC00FFFFFFFC000F801F00000F801F0000
1080 0F801F00000F801F00000F801F00000F801F00000F801F00000F801F00000F801F00000F
1081 801F00000F801F00000F801F00000F801F00000F801F00000F801F00000F801F00000F80
1082 1F00000F801F00007FF0FFF0007FF0FFF00023237FA221>11 D<00007000000000700000
1083 0000F800000000F800000000F800000001FC00000001FC00000003FE00000003FE000000
1084 03FE000000067F000000067F0000000C7F8000000C3F8000000C3F800000181FC0000018
1085 1FC00000301FE00000300FE00000700FF000006007F000006007F00000C007F80000FFFF
1086 F80001FFFFFC00018001FC00018001FC00030001FE00030000FE00070000FF000600007F
1087 000600007F00FFE007FFF8FFE007FFF825227EA12A>65 D<0003FE0080001FFF818000FF
1088 01E38001F8003F8003E0001F8007C0000F800F800007801F800007803F000003803F0000
1089 03807F000001807E000001807E00000180FE00000000FE00000000FE00000000FE000000
1090 00FE00000000FE00000000FE00000000FE000000007E000000007E000001807F00000180
1091 3F000001803F000003801F800003000F8000030007C000060003F0000C0001F800380000
1092 FF00F000001FFFC0000003FE000021227DA128>67 D<FFFFFF8000FFFFFFF00007F003FC
1093 0007F0007E0007F0003F0007F0001F8007F0000FC007F00007E007F00007E007F00007F0
1094 07F00003F007F00003F007F00003F007F00003F807F00003F807F00003F807F00003F807
1095 F00003F807F00003F807F00003F807F00003F807F00003F807F00003F007F00003F007F0
1096 0003F007F00007E007F00007E007F0000FC007F0001F8007F0003F0007F0007E0007F003
1097 FC00FFFFFFF000FFFFFF800025227EA12B>I<FFFFFFFCFFFFFFFC07F000FC07F0003C07
1098 F0001C07F0000C07F0000E07F0000E07F0000607F00C0607F00C0607F00C0607F00C0007
1099 F01C0007F03C0007FFFC0007FFFC0007F03C0007F01C0007F00C0007F00C0007F00C0307
1100 F00C0307F0000307F0000607F0000607F0000607F0000E07F0000E07F0001E07F0003E07
1101 F001FCFFFFFFFCFFFFFFFC20227EA125>I<FFFF80FFFF8007F00007F00007F00007F000
1102 07F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000
1103 07F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000
1104 07F00007F000FFFF80FFFF8011227EA115>73 D<01FFFF8001FFFF800003F8000003F800
1105 0003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800
1106 0003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800
1107 0003F8000003F8001803F8007E03F800FF03F800FF03F800FF03F800FF03F0007E07E000
1108 7C0FC0001FFF800007FC0000192280A11D>I<FFF000000FFFFFF800001FFF07F800001F
1109 E006FC000037E006FC000037E006FC000037E0067E000067E0067E000067E0063F0000C7
1110 E0063F0000C7E0061F800187E0061F800187E0060FC00307E0060FC00307E0060FC00307
1111 E00607E00607E00607E00607E00603F00C07E00603F00C07E00601F81807E00601F81807
1112 E00601F81807E00600FC3007E00600FC3007E006007E6007E006007E6007E006003FC007
1113 E006003FC007E006001F8007E006001F8007E006001F8007E006000F0007E0FFF00F00FF
1114 FFFFF00600FFFF30227EA135>77 D<FFFFFF00FFFFFFE007F007F007F001FC07F000FC07
1115 F0007E07F0007E07F0007F07F0007F07F0007F07F0007F07F0007F07F0007E07F0007E07
1116 F000FC07F001FC07F007F007FFFFE007FFFF0007F0000007F0000007F0000007F0000007
1117 F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000FF
1118 FF8000FFFF800020227EA126>80 D<FFFFFE0000FFFFFFC00007F007F00007F001F80007
1119 F000FC0007F0007E0007F0007F0007F0007F0007F0007F0007F0007F0007F0007F0007F0
1120 007F0007F0007E0007F000FC0007F001F80007F007F00007FFFFC00007FFFF800007F00F
1121 E00007F007F00007F003F80007F001FC0007F001FC0007F001FC0007F001FC0007F001FC
1122 0007F001FC0007F001FC0007F001FC0007F001FC0607F000FE0607F000FF0CFFFF803FF8
1123 FFFF800FF027227EA12A>82 D<01FE0207FF861F01FE3C007E7C001E78000E78000EF800
1124 06F80006FC0006FC0000FF0000FFE0007FFF007FFFC03FFFF01FFFF80FFFFC03FFFE003F
1125 FE0003FE00007F00003F00003FC0001FC0001FC0001FE0001EE0001EF0003CFC003CFF00
1126 F8C7FFE080FF8018227DA11F>I<FFFF000FFEFFFF000FFE07F00000C007F00000C003F8
1127 00018003F800018003FC00038001FC00030001FE00030000FE00060000FF000600007F00
1128 0C00007F000C00007F801C00003F801800003FC03800001FC03000001FE03000000FE060
1129 00000FE060000007F0C0000007F0C0000007F9C0000003F980000003FD80000001FF0000
1130 0001FF00000000FE00000000FE00000000FE000000007C000000007C0000000038000000
1131 0038000027227FA12A>86 D<FFFF0FFFF00FFEFFFF0FFFF00FFE0FF000FF0000E007F000
1132 7F0000C007F0007F0000C003F8003F80018003F8003F80018003FC003FC0018001FC003F
1133 C0030001FC003FC0030001FE007FE0070000FE006FE0060000FE006FE00600007F00C7F0
1134 0C00007F00C7F00C00007F81C7F80C00003F8183F81800003F8183F81800003FC301FC38
1135 00001FC301FC3000001FC301FE3000000FE600FE6000000FE600FE6000000FFE00FFE000
1136 0007FC007FC0000007FC007FC0000003F8003F80000003F8003F80000003F8003F800000
1137 01F0001F00000001F0001F00000001F0001F00000000E0000E00000000E0000E00003722
1138 7FA13A>I<0FFC003FFF807E07C07E03E07E01E07E01F03C01F00001F00001F0003FF003
1139 FDF01FC1F03F01F07E01F0FC01F0FC01F0FC01F0FC01F07E02F07E0CF81FF87F07E03F18
1140 167E951B>97 D<FF000000FF0000001F0000001F0000001F0000001F0000001F0000001F
1141 0000001F0000001F0000001F0000001F0000001F0000001F0FE0001F3FF8001FE07C001F
1142 803E001F001F001F000F801F000F801F000FC01F000FC01F000FC01F000FC01F000FC01F
1143 000FC01F000FC01F000FC01F000F801F001F801F801F001FC03E001EE07C001C3FF80018
1144 0FC0001A237EA21F>I<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000FC00
1145 00FC0000FC0000FC0000FC0000FC00007C00007E00007E00003E00181F00300FC06007FF
1146 C000FF0015167E9519>I<0001FE000001FE0000003E0000003E0000003E0000003E0000
1147 003E0000003E0000003E0000003E0000003E0000003E0000003E0001FC3E0007FFBE000F
1148 81FE001F007E003E003E007E003E007C003E00FC003E00FC003E00FC003E00FC003E00FC
1149 003E00FC003E00FC003E00FC003E007C003E007C003E003E007E001F00FE000F83BE0007
1150 FF3FC001FC3FC01A237EA21F>I<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC
1151 00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00007E00003E00181F00300F
1152 C07003FFC000FF0015167E951A>I<001FC0007FE000F1F001E3F003E3F007C3F007C1E0
1153 07C00007C00007C00007C00007C00007C000FFFE00FFFE0007C00007C00007C00007C000
1154 07C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C000
1155 07C00007C0003FFC003FFC00142380A211>I<01FE0F0007FFBF800F87C7801F03E7801E
1156 01E0003E01F0003E01F0003E01F0003E01F0003E01F0001E01E0001F03E0000F87C0000F
1157 FF800009FE000018000000180000001C0000001FFFE0000FFFF80007FFFE001FFFFF003C
1158 003F0078000F80F0000780F0000780F0000780F000078078000F003C001E001F007C000F
1159 FFF80001FFC00019217F951C>I<1C003E007F007F007F003E001C000000000000000000
1160 000000000000FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F00
1161 1F001F001F001F001F00FFE0FFE00B247EA310>105 D<FF000000FF0000001F0000001F
1162 0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F
1163 0000001F00FF801F00FF801F0038001F0060001F01C0001F0380001F0700001F0E00001F
1164 1C00001F7E00001FFF00001FCF00001F0F80001F07C0001F03E0001F01E0001F01F0001F
1165 00F8001F007C001F003C00FFE0FFC0FFE0FFC01A237EA21E>107
1166 D<FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
1167 001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B
1168 237EA210>I<FF07F007F000FF1FFC1FFC001F303E303E001F403E403E001F801F801F00
1169 1F801F801F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1170 1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1171 1F001F001F001F001F001F001F001F001F00FFE0FFE0FFE0FFE0FFE0FFE02B167E9530>
1172 I<FF07E000FF1FF8001F307C001F403C001F803E001F803E001F003E001F003E001F003E
1173 001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E
1174 001F003E001F003E00FFE1FFC0FFE1FFC01A167E951F>I<00FE0007FFC00F83E01E00F0
1175 3E00F87C007C7C007C7C007CFC007EFC007EFC007EFC007EFC007EFC007EFC007E7C007C
1176 7C007C3E00F81F01F00F83E007FFC000FE0017167E951C>I<FF0FE000FF3FF8001FE07C
1177 001F803E001F001F001F001F801F001F801F000FC01F000FC01F000FC01F000FC01F000F
1178 C01F000FC01F000FC01F000FC01F001F801F001F801F803F001FC03E001FE0FC001F3FF8
1179 001F0FC0001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000
1180 00FFE00000FFE000001A207E951F>I<FE1F00FE3FC01E67E01EC7E01E87E01E87E01F83
1181 C01F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00
1182 001F0000FFF000FFF00013167E9517>114 D<0FF3003FFF00781F00600700E00300E003
1183 00F00300FC00007FE0007FF8003FFE000FFF0001FF00000F80C00780C00380E00380E003
1184 80F00700FC0E00EFFC00C7F00011167E9516>I<01800001800001800001800003800003
1185 80000780000780000F80003F8000FFFF00FFFF000F80000F80000F80000F80000F80000F
1186 80000F80000F80000F80000F80000F80000F81800F81800F81800F81800F81800F830007
1187 C30003FE0000F80011207F9F16>I<FF01FE00FF01FE001F003E001F003E001F003E001F
1188 003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F
1189 003E001F003E001F003E001F007E001F00FE000F81BE0007FF3FC001FC3FC01A167E951F
1190 >I<FFE01FE0FFE01FE01F8007000F8006000FC00E0007C00C0007E00C0003E0180003E0
1191 180001F0300001F0300000F8600000F86000007CC000007CC000007FC000003F8000003F
1192 8000001F0000001F0000000E0000000E00001B167F951E>I<FFE07FC0FFE07FC00F801C
1193 0007C0380003E0700003F0600001F8C00000F98000007F8000003F0000001F0000001F80
1194 00003FC0000037C0000063E00000C1F00001C0F8000380FC0007007E000E003E00FF80FF
1195 E0FF80FFE01B167F951E>120 D<FFE01FE0FFE01FE01F8007000F8006000FC00E0007C0
1196 0C0007E00C0003E0180003E0180001F0300001F0300000F8600000F86000007CC000007C
1197 C000007FC000003F8000003F8000001F0000001F0000000E0000000E0000000C0000000C
1198 00000018000078180000FC380000FC300000FC60000069C000007F8000001F0000001B20
1199 7F951E>I E /Fu 21 118 df<000003FF80018000003FFFF003800001FFFFFC0F800007
1200 FF007F1F80001FF8000FBF80003FE00003FF8000FF800000FF8001FF0000007F8003FE00
1201 00003F8007FC0000003F8007FC0000001F800FF80000001F801FF80000000F801FF00000
1202 000F803FF000000007803FF000000007807FF000000007807FE000000007807FE0000000
1203 00007FE00000000000FFE00000000000FFE00000000000FFE00000000000FFE000000000
1204 00FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000
1205 7FE000000000007FE000000000007FE000000000007FF000000003803FF000000003803F
1206 F000000003801FF000000003801FF800000007800FF8000000070007FC000000070007FC
1207 0000000E0003FE0000001E0001FF0000003C0000FF8000007800003FE00000F000001FF8
1208 0003E0000007FF003F80000001FFFFFE000000003FFFF80000000003FF80000031317BB0
1209 3C>67 D<FFFFFFF00000FFFFFFF00000FFFFFFF0000000FFC000000000FFC000000000FF
1210 C000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FF
1211 C000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FF
1212 C000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FF
1213 C000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FF
1214 C000000000FFC000007000FFC000007000FFC000007000FFC00000F000FFC00000F000FF
1215 C00000E000FFC00000E000FFC00001E000FFC00001E000FFC00003E000FFC00003E000FF
1216 C00007E000FFC0000FE000FFC0001FE000FFC0007FC000FFC003FFC0FFFFFFFFFFC0FFFF
1217 FFFFFFC0FFFFFFFFFFC02C317EB032>76 D<FFFFC000007FFFF0FFFFE000007FFFF0FFFF
1218 F000007FFFF000FFF8000000F80000FFFC000000700000FFFE000000700000EFFF000000
1219 700000E7FF800000700000E3FF800000700000E1FFC00000700000E0FFE00000700000E0
1220 7FF00000700000E07FF80000700000E03FFC0000700000E01FFE0000700000E00FFF0000
1221 700000E007FF8000700000E003FF8000700000E001FFC000700000E000FFE000700000E0
1222 007FF000700000E0007FF800700000E0003FFC00700000E0001FFE00700000E0000FFF00
1223 700000E00007FF80700000E00003FF80700000E00001FFC0700000E00000FFE0700000E0
1224 00007FF0700000E000007FF8700000E000003FFC700000E000001FFE700000E000000FFF
1225 700000E0000007FFF00000E0000003FFF00000E0000001FFF00000E0000000FFF00000E0
1226 0000007FF00000E00000007FF00000E00000003FF00000E00000001FF00000E00000000F
1227 F00000E000000007F00000E000000003F00001F000000001F000FFFFE0000000F000FFFF
1228 E00000007000FFFFE000000070003C317EB041>78 D<FFFFFFFFE000FFFFFFFFFE00FFFF
1229 FFFFFF8000FFC001FFE000FFC0003FF000FFC0001FF800FFC0000FFC00FFC0000FFC00FF
1230 C00007FE00FFC00007FE00FFC00007FF00FFC00007FF00FFC00007FF00FFC00007FF00FF
1231 C00007FF00FFC00007FF00FFC00007FF00FFC00007FE00FFC00007FE00FFC0000FFC00FF
1232 C0000FFC00FFC0001FF800FFC0003FF000FFC001FFE000FFFFFFFF8000FFFFFFFE0000FF
1233 FFFFE00000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FF
1234 C000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FF
1235 C000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FF
1236 C000000000FFC0000000FFFFFFC00000FFFFFFC00000FFFFFFC0000030317EB038>80
1237 D<001FF0018000FFFF038003FFFFC78007F00FFF800FC001FF801F00007F803F00001F80
1238 3E00000F807E00000F807E00000780FE00000780FE00000780FE00000380FF00000380FF
1239 00000380FF80000000FFE00000007FFC0000007FFFE000007FFFFE00003FFFFFC0001FFF
1240 FFF0000FFFFFF80007FFFFFC0003FFFFFE0001FFFFFF00007FFFFF80001FFFFF800000FF
1241 FFC0000007FFC0000000FFE00000007FE00000003FE00000001FE06000001FE0E000000F
1242 E0E000000FE0E000000FE0E000000FC0F000000FC0F000000FC0F800001F80FC00001F80
1243 FF00003F00FFC0007E00FFFC01FC00F1FFFFF800E03FFFE000C007FF000023317BB02E>
1244 83 D<007FF8000003FFFF000007FFFFC0000FE01FE0001FF007F0001FF003F8001FF003
1245 FC001FF001FE000FE001FE0007C001FE00010001FE00000001FE00000001FE000001FFFE
1246 00003FFFFE0001FFF1FE0007FE01FE000FF001FE001FC001FE003F8001FE007F8001FE00
1247 FF0001FE00FF0001FE00FF0001FE00FF0001FE00FF0003FE007F8003FE007FC00EFE003F
1248 F03CFF000FFFF87FF807FFF03FF800FF800FF825207E9F28>97 D<01F8000000FFF80000
1249 00FFF8000000FFF80000000FF800000007F800000007F800000007F800000007F8000000
1250 07F800000007F800000007F800000007F800000007F800000007F800000007F800000007
1251 F800000007F800000007F80FF00007F87FFE0007F9FFFF8007FFE03FC007FF000FE007FE
1252 0007F007F80003F807F80003FC07F80003FC07F80001FE07F80001FE07F80001FE07F800
1253 01FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001
1254 FF07F80001FE07F80001FE07F80001FE07F80003FC07F80003FC07FC0007F807FE0007F0
1255 07F7001FE007E3E07FC007C1FFFF0007807FFE0007001FE00028327EB12E>I<0007FF00
1256 007FFFE000FFFFF003FC03F807F007FC0FE007FC1FE007FC3FC007FC3FC003F87FC001F0
1257 7F8000407F800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000
1258 FF8000007F8000007FC000007FC000003FC0000E3FE0000E1FE0001C0FF0001C07F80078
1259 03FF01F000FFFFE0007FFF800007FC001F207D9F25>I<00000007E0000003FFE0000003
1260 FFE0000003FFE00000003FE00000001FE00000001FE00000001FE00000001FE00000001F
1261 E00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE0
1262 0000001FE0000FF81FE0007FFF1FE001FFFFDFE003FE03FFE007F800FFE00FE0003FE01F
1263 E0001FE03FC0001FE03FC0001FE07F80001FE07F80001FE07F80001FE0FF80001FE0FF80
1264 001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE07F8000
1265 1FE07F80001FE07F80001FE03FC0001FE03FC0001FE01FC0003FE00FE0007FE007F001FF
1266 E003FC07DFF001FFFF9FFF007FFE1FFF000FF01FFF28327DB12E>I<0007FC0000003FFF
1267 800000FFFFE00003FC07F00007F801F8000FE000FC001FE0007E003FC0007E003FC0003F
1268 007FC0003F007F80003F007F80003F80FF80003F80FF80003F80FFFFFFFF80FFFFFFFF80
1269 FFFFFFFF80FF80000000FF80000000FF800000007F800000007F800000003FC00000003F
1270 C00003801FC00003801FE00007800FF0000F0007F8001E0003FE00FC0000FFFFF800003F
1271 FFE0000003FF000021207E9F26>I<0000FF000007FFC0001FFFE0003FC7F0007F0FF800
1272 FE0FF801FE0FF801FC0FF803FC07F003FC03E003FC01C003FC000003FC000003FC000003
1273 FC000003FC000003FC000003FC0000FFFFFC00FFFFFC00FFFFFC0003FC000003FC000003
1274 FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003
1275 FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003
1276 FC000003FC000003FC000003FC000003FC000003FC00007FFFF0007FFFF0007FFFF0001D
1277 327EB119>I<001FF803E000FFFF1FF001FFFFBFF807F81FF9F80FE007F1F80FE007F0F0
1278 1FC003F8601FC003F8003FC003FC003FC003FC003FC003FC003FC003FC003FC003FC001F
1279 C003F8001FC003F8000FE007F0000FE007F00007F81FE00007FFFF800006FFFF00000E1F
1280 F800000E000000001E000000001E000000001F000000001F800000001FFFFFC0000FFFFF
1281 F8000FFFFFFE0007FFFFFF0003FFFFFF8007FFFFFFC01FFFFFFFE03F00007FE07E00000F
1282 F0FC000007F0FC000003F0FC000003F0FC000003F0FC000003F07E000007E03F00000FC0
1283 1FC0003F800FF801FF0007FFFFFE0000FFFFF000001FFF8000252F7E9F29>I<01C00007
1284 F0000FF8000FF8001FFC001FFC001FFC000FF8000FF80007F00001C00000000000000000
1285 000000000000000000000000000000000001F800FFF800FFF800FFF80007F80007F80007
1286 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007
1287 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800FFFF80FF
1288 FF80FFFF8011337DB217>105 D<03F007F8000FF000FFF03FFF007FFE00FFF07FFF80FF
1289 FF00FFF0F03FC1E07F800FF1C01FE3803FC007F3000FE6001FC007F6000FFC001FE007FE
1290 000FFC001FE007FC000FF8001FE007FC000FF8001FE007F8000FF0001FE007F8000FF000
1291 1FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8
1292 000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF000
1293 1FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8
1294 000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE0FFFFC1FFFF83
1295 FFFFFFFFC1FFFF83FFFFFFFFC1FFFF83FFFF40207D9F45>109 D<03F007F80000FFF03F
1296 FF0000FFF07FFF8000FFF0F03FC0000FF1C01FE00007F3000FE00007F6000FF00007FE00
1297 0FF00007FC000FF00007FC000FF00007F8000FF00007F8000FF00007F8000FF00007F800
1298 0FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F800
1299 0FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F800
1300 0FF00007F8000FF00007F8000FF00007F8000FF000FFFFC1FFFF80FFFFC1FFFF80FFFFC1
1301 FFFF8029207D9F2E>I<0007FE0000003FFFC00000FFFFF00003FC03FC0007F000FE000F
1302 E0007F001FC0003F803FC0003FC03FC0003FC07F80001FE07F80001FE07F80001FE0FF80
1303 001FF0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF8000
1304 1FF07F80001FE07F80001FE07F80001FE03FC0003FC03FC0003FC01FE0007F800FE0007F
1305 0007F801FE0003FE07FC0001FFFFF800003FFFC0000007FE000024207E9F29>I<01F80F
1306 F000FFF87FFE00FFF9FFFF80FFFFE07FC00FFF001FE007FE000FF007F80007F807F80007
1307 FC07F80003FC07F80003FE07F80003FE07F80001FE07F80001FF07F80001FF07F80001FF
1308 07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FE07F80003FE07
1309 F80003FE07F80003FC07F80007FC07FC0007F807FE000FF007FF001FE007FBE07FC007F9
1310 FFFF0007F87FFE0007F81FE00007F800000007F800000007F800000007F800000007F800
1311 000007F800000007F800000007F800000007F800000007F800000007F8000000FFFFC000
1312 00FFFFC00000FFFFC00000282E7E9F2E>I<03F03F00FFF07FC0FFF1FFE0FFF1C7F00FF3
1313 8FF807F70FF807F60FF807FE0FF807FC07F007FC03E007FC008007F8000007F8000007F8
1314 000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8
1315 000007F8000007F8000007F8000007F8000007F8000007F80000FFFFE000FFFFE000FFFF
1316 E0001D207E9F22>114 D<00FF870007FFEF001FFFFF003F007F003C001F0078000F00F8
1317 000700F8000700F8000700FC000700FF000000FFF800007FFFC0003FFFF0003FFFFC000F
1318 FFFE0007FFFF0001FFFF80001FFF800000FFC000001FC060000FC0E00007C0E00007C0F0
1319 0007C0F8000780F8000F80FE000F00FF803E00FFFFFC00F3FFF800C07FC0001A207D9F21
1320 >I<001C0000001C0000001C0000001C0000003C0000003C0000003C0000007C0000007C
1321 000000FC000001FC000003FC000007FC00001FFC0000FFFFFF00FFFFFF00FFFFFF0003FC
1322 000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC
1323 000003FC000003FC000003FC000003FC000003FC000003FC000003FC01C003FC01C003FC
1324 01C003FC01C003FC01C003FC01C003FC01C001FC038001FE038000FF0700007FFE00003F
1325 FC000007F0001A2E7FAD20>I<01F80003F000FFF801FFF000FFF801FFF000FFF801FFF0
1326 000FF8001FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF0
1327 0007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF0
1328 0007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF0
1329 0007F8000FF00007F8000FF00007F8001FF00007F8001FF00003F8003FF00003F8006FF0
1330 0001FE03CFF80000FFFF8FFF80007FFF0FFF80000FFC0FFF8029207D9F2E>I
1331 E end
1332 %%EndProlog
1333 %%BeginSetup
1334 %%Feature: *Resolution 300dpi
1335 TeXDict begin
1337 %%EndSetup
1338 %%Page: 1 1
1339 1 0 bop -17 125 a Fu(Nondeterministic)25 b(Lisp)h(as)h(a)h(Substrate)f
1340 (for)g(Constrain)n(t)567 208 y(Logic)g(Programming)223
1341 298 y Ft(Je\013rey)17 b(Mark)h(Siskind)735 280 y Fs(\003)129
1342 356 y Fr(Univ)o(ersit)o(y)13 b(of)k(P)o(ennsylv)m(ania)f(IR)o(CS)138
1343 414 y(3401)i(W)l(aln)o(ut)e(Street)g(Ro)q(om)g(407C)235
1344 472 y(Philadelphia)g(P)l(A)g(19104)332 530 y(215/898{0)q(367)128
1345 588 y(in)o(ternet:)k(Qobi@CIS.UP)o(enn.EDU)1079 298 y
1346 Ft(Da)n(vid)e(Allen)g(McAllester)1662 280 y Fs(y)925
1347 356 y Fr(M.)e(I.)f(T.)h(Arti\014cial)f(In)o(telligence)e(Lab)q(oratory)
1348 937 414 y(545)k(T)l(ec)o(hnology)f(Square)g(Ro)q(om)g(NE43{412)1136
1349 472 y(Cam)o(bridge)f(MA)g(02139)1223 530 y(617/253{6)q(599)1061
1350 588 y(in)o(ternet:)20 b(dam@AI.MIT.)o(EDU)271 708 y Ft(Abstract)-71
1351 791 y Fq(W)m(e)9 b(ha)o(v)o(e)g(implemen)o(ted)e(a)i(comprehensiv)o(e)h
1352 (constrain)o(t-)-71 837 y(based)18 b(programming)d(language)h(as)i(an)g
1353 (extension)g(to)-71 883 y Fp(Common)f(Lisp)p Fq(.)h(This)c(constrain)o
1354 (t)g(pac)o(k)n(age)g(pro)o(vides)-71 928 y(a)f(uni\014ed)h(framew)o
1355 (ork)d(for)i(solving)f(b)q(oth)i(n)o(umeric)e(and)-71
1356 974 y(non-n)o(umeric)j(systems)i(of)e(constrain)o(ts)j(using)e(a)g
1357 (com-)-71 1019 y(bination)10 b(of)h(lo)q(cal)g(propagation)f(tec)o
1358 (hniques)j(including)-71 1065 y(binding)e(propagation,)f(Bo)q(olean)h
1359 (constrain)o(t)h(propaga-)-71 1111 y(tion,)f(generalized)i(forw)o(ard)e
1360 (c)o(hec)o(king,)h(propagation)f(of)-71 1156 y(b)q(ounds,)g(and)g
1361 (uni\014cation.)16 b(The)11 b(bac)o(ktrac)o(king)f(facilit)o(y)-71
1362 1202 y(of)15 b(the)i(nondeterministic)e(dialect)g(of)h
1363 Fp(Common)g(Lisp)-71 1248 y Fq(used)e(to)f(implemen)o(t)d(this)j
1364 (constrain)o(t)h(pac)o(k)n(age)e(acts)i(as)-71 1293 y(a)g(general)h
1365 (fallbac)o(k)e(constrain)o(t)i(solving)e(metho)q(d)h(mit-)-71
1366 1339 y(igating)e(the)j(incompleteness)f(of)f(lo)q(cal)g(propagation.)
1367 223 1469 y Ft(In)n(tro)r(duction)-112 1537 y Fq(Recen)o(t)e(y)o(ears)f
1368 (ha)o(v)o(e)g(seen)i(signi\014can)o(t)d(in)o(terest)j(in)d(constrain)o
1369 (t)-112 1583 y(logic)j(programming)e(languages.)18 b(Numerous)13
1370 b(implemen)o(ta-)-112 1629 y(tions)g(of)g(suc)o(h)h(languages)g(ha)o(v)
1371 o(e)f(b)q(een)i(describ)q(ed)g(in)e(the)i(lit-)-112 1674
1372 y(erature,)g(notably)f Fp(clp)p Fq(\()p Fo(<)p Fq(\))h(\(Ja\013ar)g
1373 (and)f(Lassez)i(1987\))e(and)-112 1720 y Fp(CHiP)c Fq(\(V)m(an)i(Hen)o
1374 (tenryc)o(k)i(1989\).)i(The)d(p)q(oin)o(t)f(of)f(departure)-112
1375 1766 y(leading)18 b(to)h(these)i(systems)f(is)f(the)h(observ)n(ation)g
1376 (that)f(the)-112 1811 y(uni\014cation)12 b(op)q(eration)g(at)h(the)h
1377 (core)f(of)g(logic)e(programming)-112 1857 y(can)i(b)q(e)h(view)o(ed)f
1378 (as)g(a)g(metho)q(d)g(for)f(solving)h(equational)f(con-)-112
1379 1903 y(strain)o(ts)17 b(b)q(et)o(w)o(een)i(logic)d(v)n(ariables)g(whic)
1380 o(h)h(range)h(o)o(v)o(er)f(the)-112 1948 y(univ)o(erse)i(of)g(Herbrand)
1381 h(terms.)33 b(A)19 b(natural)g(extension)g(of)-112 1994
1382 y(suc)o(h)f(a)f(view)h(is)f(to)g(allo)o(w)f(v)n(ariables)h(to)h(range)f
1383 (o)o(v)o(er)h(other)-112 2040 y(domains)e(and)j(augmen)o(t)e(the)i
1384 (programming)c(language)j(to)-112 2085 y(supp)q(ort)23
1385 b(the)f(form)o(ulation)e(and)i(solution)f(of)h(systems)g(of)-112
1386 2131 y(constrain)o(ts)e(appropriate)h(to)f(these)h(new)g(domains.)35
1387 b(The)p -112 2179 250 2 v -61 2201 a Fn(\003)-43 2217
1388 y Fm(Supp)q(orted)17 b(in)f(part)g(b)o(y)g(a)g(Presiden)o(tial)i(Y)m
1389 (oung)e(In)o(v)o(estiga-)-112 2259 y(tor)d(Aw)o(ard)f(to)h(Professor)h
1390 (Rob)q(ert)g(C.)e(Berwic)o(k)i(under)g(National)-112
1391 2300 y(Science)e(F)m(oundation)g(Gran)o(t)f(DCR{85552543,)i(b)o(y)e(a)g
1392 (gran)o(t)g(from)-112 2342 y(the)e(Siemens)h(Corp)q(oration,)h(b)o(y)f
1393 (the)f(Kap)q(or)g(F)m(amily)i(F)m(oundation,)-112 2383
1394 y(b)o(y)20 b(AR)o(O)f(gran)o(t)i(D)o(AAL)e(03{89{C{0031,)k(b)o(y)d(D)o
1395 (ARP)m(A)g(gran)o(t)-112 2425 y(N00014{90{J{1863,)g(b)o(y)e(NSF)g(gran)
1396 o(t)g(IRI)g(90{16592,)i(and)e(b)o(y)-112 2466 y(Ben)13
1397 b(F)m(ranklin)i(gran)o(t)e(91S.3078C{1)-60 2496 y Fn(y)-43
1398 2512 y Fm(Supp)q(orted)h(in)g(part)f(b)o(y)g(the)h(Adv)n(anced)f
1399 (Researc)o(h)h(Pro)r(jects)-112 2553 y(Agency)d(of)f(the)h(Departmen)o
1400 (t)g(of)g(Defense)g(under)g(O\016ce)g(of)f(Na)o(v)n(al)-112
1401 2595 y(Researc)o(h)j(con)o(tract)h(N00014-91-J-4038.)980
1402 708 y Fq(notion)j(of)f(extending)i(a)f(programmi)o(ng)d(language)i(to)h
1403 (sup-)980 753 y(p)q(ort)10 b(constrain)o(t-based)g(programming)c(need)
1404 11 b(not)e(b)q(e)h(unique)980 799 y(to)19 b(logic)e(programming.)29
1405 b(In)19 b(this)f(pap)q(er)i(w)o(e)f(presen)o(t)h(the)980
1406 844 y(constrain)o(t)f(pac)o(k)n(age)e(included)i(with)f
1407 Fp(Screamer)p Fq(,)h(a)f(non-)980 890 y(deterministic)j(dialect)g(of)g
1408 Fp(Common)16 b(Lisp)22 b Fq(describ)q(ed)h(b)o(y)980
1409 936 y(Siskind)g(and)g(McAllester)i(\(1993\).)46 b(This)24
1410 b(pac)o(k)n(age)f(pro-)980 981 y(vides)15 b(functionalit)o(y)e
1411 (analogous)h(to)g Fp(clp)p Fq(\()p Fo(<)p Fq(\))h(and)g
1412 Fp(CHiP)e Fq(in)980 1027 y(a)f Fp(Common)17 b(Lisp)12
1413 b Fq(framew)o(ork)e(instead)j(of)e(a)h Fp(Pr)o(olog)h
1414 Fq(one.)1022 1073 y Fp(Screamer)21 b Fq(augmen)o(ts)e
1415 Fp(Common)d(Lisp)21 b Fq(with)f(the)g(ca-)980 1119 y(pacit)o(y)d(for)g
1416 (writing)f(nondeterministic)g(functions)h(and)g(ex-)980
1417 1164 y(pressions.)j(Nondeterministic)14 b(functions)g(and)g
1418 (expressions)980 1210 y(can)f(return)g(m)o(ultiple)d(v)n(alues)h(up)q
1419 (on)i(bac)o(ktrac)o(king)e(initiated)980 1255 y(b)o(y)i(failure.)j
1420 Fp(Screamer)e Fq(also)e(pro)o(vides)g(the)h(abilit)o(y)e(to)i(p)q(er-)
1421 980 1301 y(form)18 b Fl(lo)q(cal)h Fq(side)h(e\013ects,)i(ones)e(whic)o
1422 (h)g(are)f(undone)h(up)q(on)980 1347 y(bac)o(ktrac)o(king.)32
1423 b(Nondeterminism)16 b(and)j(lo)q(cal)f(side)g(e\013ects)980
1424 1392 y(form)9 b(the)i(substrate)h(on)e(top)g(of)g(whic)o(h)g(the)h
1425 Fp(Screamer)g Fq(con-)980 1438 y(strain)o(t)j(pac)o(k)n(age)g(is)f
1426 (constructed.)1153 1532 y Ft(V)-5 b(ariables)19 b(and)g(Constrain)n(ts)
1427 980 1590 y Fp(Screamer)37 b Fq(includes)f(the)g(function)f
1428 Fk(make-variable)980 1636 y Fq(whic)o(h)29 b(returns)i(a)d(data)h
1429 (structure)i(called)d(a)h Fl(v)n(ariable)p Fq(.)980 1682
1430 y Fp(Screamer)18 b Fq(v)n(ariables)e(are)i(a)f(generalization)f(of)h
1431 Fp(Pr)o(olog)980 1727 y Fq(logic)h(v)n(ariables.)34 b(Initially)m(,)17
1432 b(new)j(v)n(ariables)f(are)g(un)o(b)q(ound)980 1773 y(and)14
1433 b(unconstrained.)19 b(V)m(ariables)13 b(ma)o(y)f(b)q(e)j(b)q(ound)f(to)
1434 g(v)n(alues)980 1819 y(b)o(y)g(the)h(pro)q(cess)h(of)d(solving)g
1435 (constrain)o(ts)i(asserted)h(b)q(et)o(w)o(een)980 1864
1436 y(sets)e(of)e(v)n(ariables.)17 b(Both)12 b(the)i(assertion)f(of)e
1437 (constrain)o(ts)j(and)980 1910 y(the)f(ensuing)g(binding)e(of)h(v)n
1438 (ariables)g(is)g(done)h(with)f(lo)q(cal)f(side)980 1956
1439 y(e\013ects.)38 b(Th)o(us)21 b(constrain)o(ts)f(are)g(remo)o(v)o(ed)f
1440 (and)h(v)n(ariables)980 2001 y(b)q(ecome)14 b(un)o(b)q(ound)g(again)f
1441 (up)q(on)h(bac)o(ktrac)o(king.)1022 2047 y Fp(Screamer)h
1442 Fq(pro)o(vides)g(a)f(v)n(ariet)o(y)g(of)g(primitiv)o(es)f(for)h(con-)
1443 980 2093 y(straining)24 b(v)n(ariables.)47 b(Eac)o(h)24
1444 b(constrain)o(t)g(primitiv)o(e)e(is)i(a)980 2138 y(\\constrain)o(t)11
1445 b(v)o(ersion")f(of)g(a)g(corresp)q(onding)h Fp(Common)16
1446 b(Lisp)980 2184 y Fq(primitiv)o(e.)34 b(F)m(or)20 b(example,)f(the)i
1447 (constrain)o(t)f(primitiv)o(e)e Fk(+v)980 2230 y Fq(is)23
1448 b(a)f(constrain)o(t)h(v)o(ersion)g(of)f Fk(+)p Fq(.)43
1449 b(An)23 b(expression)h(of)e(the)980 2275 y(form)11 b
1450 Fk(\(+v)21 b Fj(x)h(y)q Fk(\))13 b Fq(returns)i(a)d(new)h(v)n(ariable)f
1451 Fj(z)r Fq(,)g(whic)o(h)h(it)f(con-)980 2321 y(strains)18
1452 b(to)e(b)q(e)i(the)g(sum)e(of)g Fj(x)g Fq(and)h Fj(y)i
1453 Fq(b)o(y)e(adding)f(the)h(con-)980 2367 y(strain)o(t)j
1454 Fj(z)k Fq(=)e Fk(\(+)g Fj(x)f(y)q Fk(\))q Fq(.)36 b(By)20
1455 b(con)o(v)o(en)o(tion,)h(a)f Fp(Screamer)980 2412 y Fq(primitiv)o(e)12
1456 b(ending)j(in)e(the)i(letter)g Fk(v)g Fq(is)f(a)g(constrain)o(t)g(v)o
1457 (ersion)980 2458 y(of)i(a)f(corresp)q(onding)i Fp(Common)g(Lisp)f
1458 Fq(primitiv)o(e.)22 b(T)m(able)16 b(1)980 2504 y(lists)d(the)g
1459 (constrain)o(t)f(primitiv)o(es)f(pro)o(vided)h(b)o(y)g
1460 Fp(Screamer)q Fq(.)980 2549 y(All)21 b(of)f(these)j(primitiv)o(es)c(ha)
1461 o(v)o(e)i(the)h(prop)q(ert)o(y)g(that)f(they)980 2595
1462 y(accept)c(v)n(ariables)d(as)i(argumen)o(ts|in)d(addition)h(to)i
1463 (ground)p eop
1464 %%Page: 2 2
1465 2 1 bop -112 -53 979 2 v -113 -7 2 46 v -87 -21 a Fq(T)o(yp)q(e)14
1466 b(Restrictions:)50 b Fk(numberpv)20 b(realpv)h(integerpv)p
1467 866 -7 V -113 39 V 297 25 a(booleanpv)f(memberv)p 866
1468 39 V -113 84 V -87 71 a Fq(Bo)q(olean:)226 b Fk(andv)21
1469 b(orv)g(notv)p 866 84 V -113 130 V -87 116 a Fq(Numeric:)218
1470 b Fk(<v)22 b(<=v)f(>v)g(>=v)g(=v)h(/=v)p 866 130 V -113
1471 176 V 297 162 a(+v)g(-v)f(*v)g(/v)h(minv)f(maxv)p 866
1472 176 V -113 221 V -87 208 a Fq(Expression:)177 b Fk(equalv)p
1473 866 221 V -113 267 V -87 253 a Fq(F)m(unctions:)196 b
1474 Fk(funcallv)20 b(applyv)p 866 267 V -112 269 979 2 v
1475 -112 364 a Fq(T)m(able)31 b(1:)53 b(The)33 b(constrain)o(t)f(primitiv)o
1476 (es)e(pro)o(vided)i(b)o(y)-112 410 y Fp(Screamer)p Fq(.)-112
1477 537 y(v)n(alues|and)11 b(return)i(a)f(v)n(ariable)f(as)h(their)h
1478 (result.)18 b(The)13 b(con-)-112 583 y(strain)o(t)j(primitiv)o(e)e
1479 (installs)h(a)h(constrain)o(t)h(b)q(et)o(w)o(een)g(the)g(ar-)-112
1480 629 y(gumen)o(ts)h(and)h(the)h(returned)h(v)n(ariable)d(stating)h
1481 (that,)h(un-)-112 674 y(der)g(an)o(y)f(in)o(terpretation)i(of)e(the)h
1482 (v)n(ariables)g(in)o(v)o(olv)o(ed,)f(the)-112 720 y(v)n(alue)25
1483 b(of)g(the)h(result)h(v)n(ariable)d(m)o(ust)h(equal)g(the)i(corre-)-112
1484 765 y(sp)q(onding)14 b Fp(Common)j(Lisp)e Fq(primitiv)o(e)e(applied)h
1485 (to)h(the)h(v)n(al-)-112 811 y(ues)k(of)f(the)h(argumen)o(ts.)34
1486 b(As)20 b(another)g(example,)f(the)i(ex-)-112 857 y(pression)c
1487 Fk(\(<v)22 b Fj(x)f(y)q Fk(\))d Fq(returns)h(a)d(v)n(ariable)h
1488 Fj(z)i Fq(and)e(adds)g(the)-112 902 y(constrain)o(t)i
1489 Fj(z)i Fq(=)f Fk(\(<)g Fj(x)f(y)q Fk(\))q Fq(.)33 b(This)18
1490 b(constrain)o(t)h(is)g(satis\014ed)-112 948 y(when)10
1491 b Fj(z)i Fq(is)e(either)h Fk(t)f Fq(or)f Fk(nil)h Fq(dep)q(ending)g(on)
1492 g(whether)i Fj(x)d Fq(is)h(less)-112 994 y(than)16 b
1493 Fj(y)q Fq(.)28 b(F)m(or)16 b(the)i(most)d(part,)i(eac)o(h)h(constrain)o
1494 (t)f(primitiv)o(e)-112 1039 y(ob)q(eys)f(the)h(same)f(calling)e(con)o
1495 (v)o(en)o(tion)i(as)g(the)h(corresp)q(ond-)-112 1085
1496 y(ing)f Fp(Common)g(Lisp)h Fq(primitiv)o(e.)25 b Fp(Screamer)18
1497 b Fq(p)q(erforms)e(a)-112 1131 y(v)n(ariet)o(y)11 b(of)g(optimizations)
1498 e(to)j(impro)o(v)o(e)d(run)j(time)f(e\016ciency)m(.)-112
1499 1176 y(In)16 b(particular,)g(if)f(the)i(v)n(alue)f(of)f(a)h(v)n
1500 (ariable)f(returned)j(b)o(y)e(a)-112 1222 y(constrain)o(t)c(primitiv)o
1501 (e)d(can)j(b)q(e)h(determined)f(at)f(the)i(time)d(the)-112
1502 1268 y(function)15 b(is)i(called)f(then)g(that)h(v)n(alue)e(is)h
1503 (returned)i(directly)-112 1313 y(without)13 b(creating)h(a)g(new)g(v)n
1504 (ariable.)-71 1361 y(In)f Fp(Screamer)q Fq(,)g(most)f(constrain)o(ts)h
1505 (are)h(of)f(the)g(form)f Fj(z)h Fq(=)-112 1406 y Fk(\(f)18
1506 b Fj(x)-26 1412 y Fi(1)19 1406 y Fj(:)7 b(:)g(:)24 b(x)117
1507 1412 y Fh(n)140 1406 y Fk(\))18 b Fq(where)h Fk(f)g Fq(is)f(the)h
1508 Fp(Common)d(Lisp)j Fq(primi-)-112 1452 y(tiv)o(e)13 b(corresp)q(onding)
1509 i(to)f(some)f(constrain)o(t)i(primitiv)o(e.)h(Con-)-112
1510 1498 y(strain)o(ts)21 b(of)g(this)g(form)f(can)i(imply)c(t)o(yp)q(e)k
1511 (restrictions)h(on)-112 1543 y(the)c(v)n(ariables)f(in)o(v)o(olv)o(ed.)
1512 32 b(F)m(or)18 b(example,)h(a)f(constrain)o(t)h(of)-112
1513 1589 y(the)h(form)e Fj(z)23 b Fq(=)f Fk(\(<)f Fj(x)g(y)q
1514 Fk(\))f Fq(implies)e(that)h Fj(z)j Fq(is)e(\\Bo)q(olean",)-112
1515 1635 y(i.e.,)14 b(either)i Fk(t)f Fq(or)g Fk(nil)p Fq(.)21
1516 b(F)m(urthermore,)15 b(this)g(constrain)o(t)h(im-)-112
1517 1680 y(plies)d(that)h Fj(x)g Fq(and)g Fj(y)i Fq(are)e(n)o(umeric.)k(In)
1518 c(practice,)g(a)g(v)n(ariable)-112 1726 y(usually)k(has)i(a)f(w)o(ell)g
1519 (de\014ned)h(t)o(yp)q(e,)h(e.g.,)f(it)f(is)g(kno)o(wn)g(to)-112
1520 1772 y(b)q(e)e(Bo)q(olean,)h(kno)o(wn)f(b)q(e)g(real,)h(kno)o(wn)f(to)g
1521 (b)q(e)h(a)e(cons)i(cell,)-112 1817 y(etc.)26 b(Kno)o(wledge)17
1522 b(ab)q(out)f(the)h(t)o(yp)q(e)g(of)f(a)g(v)n(ariable)g(has)g(sig-)-112
1523 1863 y(ni\014can)o(t)c(rami\014cations)f(for)h(the)i(e\016ciency)f(of)f
1524 Fp(Screamer)q Fq('s)-112 1909 y(constrain)o(t)d(satisfaction)h
1525 (algorithms.)k Fp(Screamer)c Fq(has)g(sp)q(e-)-112 1954
1526 y(cial)h(pro)q(cedures)j(for)d(inferring)h(the)g(t)o(yp)q(es)h(of)e(v)n
1527 (ariables.)17 b(Be-)-112 2000 y(cause)22 b(kno)o(wledge)f(of)f(the)i(t)
1528 o(yp)q(es)g(of)e(v)n(ariables)h(is)g(imp)q(or-)-112 2046
1529 y(tan)o(t)e(for)f(e\016ciency)m(,)j(in)d(con)o(trast)i(to)f(the)h
1530 Fp(Common)d(Lisp)-112 2091 y Fq(primitiv)o(es)g Fk(and)p
1531 Fq(,)i Fk(or)p Fq(,)h(and)f Fk(not)g Fq(whic)o(h)g(accept)h(an)o(y)f
1532 (argu-)-112 2137 y(men)o(ts)f(of)g(an)o(y)g(t)o(yp)q(e,)i(the)f
1533 Fp(Screamer)g Fq(constrain)o(t)g(primi-)-112 2183 y(tiv)o(es)d
1534 Fk(andv)p Fq(,)f Fk(orv)p Fq(,)h(and)g Fk(notv)g Fq(require)h(their)f
1535 (argumen)o(ts)g(to)-112 2228 y(b)q(e)e(Bo)q(olean.)j(This)d(allo)o(ws)e
1536 (the)j(use)f(of)f(Bo)q(olean)g(constrain)o(t)-112 2274
1537 y(satisfaction)i(tec)o(hniques)j(for)d(an)o(y)h(constrain)o(ts)h(in)o
1538 (tro)q(duced)-112 2320 y(b)o(y)c(these)j(primitiv)o(es.)h(Similarly)l
1539 (,)11 b(constrain)o(t)k(\\predicates")-112 2365 y(return)h(Bo)q(olean)f
1540 (v)n(ariables.)20 b(F)m(or)15 b(example,)f(in)g(con)o(trast)i(to)-112
1541 2411 y(the)d Fp(Common)j(Lisp)d Fq(primitiv)o(e)e Fk(member)g
1542 Fq(whic)o(h)i(can)g(return)-112 2456 y(the)c(sub-list)h(of)e(the)i
1543 (second)h(argumen)o(t)d(whose)i(head)g(satis\014es)-112
1544 2502 y(the)j(equalit)o(y)f(c)o(hec)o(k,)h(the)h(result)f(of)f(the)i
1545 Fk(memberv)d Fq(primitiv)o(e)-112 2548 y(is)i(constrained)i(to)f(b)q(e)
1546 g(Bo)q(olean.)-71 2595 y Fp(Screamer)23 b Fq(includes)g(the)g(primitiv)
1547 o(e)d Fk(assert!)h Fq(whic)o(h)980 -33 y(can)13 b(b)q(e)g(used)g(to)g
1548 (add)f(constrain)o(ts)h(other)g(than)g(those)g(added)980
1549 12 y(b)o(y)18 b(the)i(constrain)o(t)e(primitiv)o(es.)30
1550 b(Ev)n(aluating)17 b(the)i(expres-)980 58 y(sion)26 b
1551 Fk(\(assert!)20 b Fj(x)p Fk(\))26 b Fq(constrains)h Fj(x)f
1552 Fq(to)g(equal)g Fk(t)p Fq(.)56 b(This)980 103 y(can)28
1553 b(b)q(e)g(used)g(in)f(conjunction)h(with)f(other)h(constrain)o(t)980
1554 149 y(primitiv)o(es)d(to)g(install)g(a)h(wide)g(v)n(ariet)o(y)g(of)f
1555 (constrain)o(ts.)980 195 y(F)m(or)14 b(example,)f Fk(\(assert!)20
1556 b(\(<v)i Fj(x)f(y)q Fk(\)\))15 b Fq(e\013ectiv)o(ely)g(installs)980
1557 240 y(the)24 b(constrain)o(t)g(that)f Fj(x)g Fq(m)o(ust)g(b)q(e)h(less)
1558 g(than)f Fj(y)q Fq(.)1816 225 y Fi(1)1882 240 y Fq(Cer-)980
1559 286 y(tain)28 b(constrain)o(t)h(primitiv)o(es)e(in)h(table)g(1,)j(in)d
1560 (conjunc-)980 332 y(tion)17 b(with)g Fk(assert!)p Fq(,)f(can)h(b)q(e)h
1561 (used)g(to)f(directly)g(constrain)980 377 y(the)29 b(t)o(yp)q(e)f(of)f
1562 (a)g(v)n(ariable.)58 b(F)m(or)28 b(example,)h(ev)n(aluating)980
1563 423 y Fk(\(assert!)20 b(\(numberpv)g Fj(x)p Fk(\)\))14
1564 b Fq(e\013ectiv)o(ely)h(installs)f(the)h(con-)980 469
1565 y(strain)o(t)k(that)g Fj(x)f Fq(m)o(ust)g(b)q(e)h(a)f(n)o(um)o(b)q(er.)
1566 32 b(Lik)o(ewise)18 b(ev)n(aluat-)980 514 y(ing)13 b
1567 Fk(\(assert!)21 b(\(booleanpv)e Fj(x)p Fk(\)\))13 b Fq(installs)h(the)g
1568 (constrain)o(t)980 560 y(that)j Fj(x)e Fq(m)o(ust)h(b)q(e)g(Bo)q
1569 (olean.)25 b(This)16 b(is)g(e\013ectiv)o(ely)i(the)e(same)980
1570 606 y(as)e(ev)n(aluating)f Fk(\(assert!)20 b(\(memberv)g
1571 Fj(x)h Fk('\(t)h(nil\)\)\))p Fq(.)1022 651 y(All)12 b(constrain)o(ts)j
1572 (in)e Fp(Screamer)h Fq(are)g(installed)e(either)j(b)o(y)980
1573 697 y Fk(assert!)g Fq(or)h(b)o(y)g(one)h(of)f(the)h(constrain)o(t)f
1574 (primitiv)o(es)f(in)h(ta-)980 743 y(ble)i(1.)29 b(A)18
1575 b(constrain)o(t)g(installed)f(b)o(y)g Fk(assert!)g Fq(states)h(that)980
1576 788 y(a)23 b(certain)h(v)n(ariable)e(m)o(ust)g(ha)o(v)o(e)h(the)g(v)n
1577 (alue)g Fk(t)p Fq(.)45 b(A)23 b(con-)980 834 y(strain)o(t)17
1578 b(installed)g(b)o(y)g(a)g(constrain)o(t)g(primitiv)o(e)e(alw)o(a)o(ys)h
1579 (has)980 880 y(the)23 b(form)e Fj(z)28 b Fq(=)f Fk(\(f)e
1580 Fj(x)1366 886 y Fi(1)1418 880 y Fj(:)7 b(:)g(:)31 b(x)1523
1581 886 y Fh(n)1545 880 y Fk(\))23 b Fq(where)h Fk(f)e Fq(is)g(either)i(a)
1582 980 925 y Fp(Common)17 b(Lisp)23 b Fq(primitiv)o(e)f(or)h(a)g(sligh)o
1583 (t)g(v)n(ariation)f(on)h(a)980 971 y Fp(Common)17 b(Lisp)11
1584 b Fq(primitiv)o(e.)16 b(The)c(v)n(ariations)e(arise)i(for)f(con-)980
1585 1017 y(strain)o(t)k(primitiv)o(es)d(suc)o(h)k(as)e Fk(orv)g
1586 Fq(and)g Fk(memberv)f Fq(where)j(the)980 1062 y(seman)o(tics)11
1587 b(of)g(the)h(constrain)o(t)g(v)o(ersion)g(di\013ers)g(sligh)o(tly)e
1588 (from)980 1108 y(the)27 b(seman)o(tics)f(of)g(the)h(corresp)q(onding)h
1589 Fp(Common)16 b(Lisp)980 1154 y Fq(primitiv)o(e)c(as)i(discussed)h(ab)q
1590 (o)o(v)o(e.)1022 1199 y(An)i(attempt)f(to)g(add)h(a)f(constrain)o(t)h
1591 (fails)f(if)g Fp(Screamer)980 1245 y Fq(determines)36
1592 b(that)f(the)h(resulting)f(set)h(of)f(constrain)o(ts)980
1593 1291 y(w)o(ould)20 b(b)q(e)i(unsatis\014able.)39 b(F)m(or)20
1594 b(example,)h(after)g(ev)n(aluat-)980 1336 y(ing)d Fk(\(assert!)i(\(<v)h
1595 Fj(x)h Fk(0\)\))c Fq(a)g(subsequen)o(t)i(ev)n(aluation)d(of)980
1596 1382 y Fk(\(assert!)j(\(>v)i Fj(x)f Fk(0\)\))15 b Fq(will)g(fail.)23
1597 b(A)16 b(call)f(to)h(a)g(constrain)o(t)980 1428 y(primitiv)o(e)c(can)j
1598 (fail)e(when)h(it)g(w)o(ould)g(generate)h(a)f(constrain)o(t)980
1599 1473 y(inconsisten)o(t)i(with)e(kno)o(wn)h(t)o(yp)q(e)g(information.)j
1600 (F)m(or)d(exam-)980 1519 y(ple,)20 b(if)d Fj(x)i Fq(is)f(kno)o(wn)g(to)
1601 h(b)q(e)g(Bo)q(olean)f(then)h(an)g(ev)n(aluation)980
1602 1565 y(of)14 b Fk(\(+v)21 b Fj(x)g(y)q Fk(\))15 b Fq(will)d(fail.)1181
1603 1659 y Ft(Constrain)n(t)19 b(Propagation)980 1717 y Fq(In)28
1604 b(this)h(section)f(w)o(e)h(discuss)g(the)g(\014v)o(e)f(kinds)g(of)f
1605 (con-)980 1762 y(strain)o(t)18 b(propagation)f(inference)i(pro)q
1606 (cesses)i(p)q(erformed)d(b)o(y)980 1808 y Fp(Screamer)q
1607 Fq(.)48 b(First,)26 b Fp(Screamer)e Fq(implemen)o(ts)d(binding)980
1608 1854 y(propagation,)14 b(an)g(incomplete)g(inference)j(tec)o(hnique)e
1609 (some-)980 1899 y(times)k(called)h(v)n(alue)f(propagation.)34
1610 b(Second,)22 b Fp(Screamer)980 1945 y Fq(implemen)o(ts)g(Bo)q(olean)j
1611 (constrain)o(t)g(propagation)e(\(BCP\).)980 1991 y(This)17
1612 b(is)f(an)g(incomplete)g(form)e(of)i(Bo)q(olean)h(inference)g(that)980
1613 2036 y(can)k(b)q(e)g(view)o(ed)f(as)g(a)g(form)f(of)g(unit)h
1614 (resolution.)37 b(Third,)980 2082 y Fp(Screamer)20 b
1615 Fq(implemen)o(ts)e(generalized)i(forw)o(ard)f(c)o(hec)o(king)980
1616 2128 y(\(GF)o(C\).)40 b(This)22 b(is)f(a)g(constrain)o(t)g(propagation)
1617 g(tec)o(hnique)980 2173 y(for)k(discrete)i(constrain)o(ts)f(used)g(in)f
1618 (the)g Fp(CHiP)f Fq(system.)980 2219 y(F)m(ourth,)f Fp(Screamer)g
1619 Fq(implemen)o(ts)c(b)q(ounds)k(propagation)980 2265 y(on)h(n)o(umeric)g
1620 (v)n(ariables.)49 b(Suc)o(h)24 b(b)q(ounds)h(propagation|)980
1621 2310 y(when)12 b(com)o(bined)e(with)h(the)h(divide-and-conquer)g(tec)o
1622 (hnique)p 980 2345 250 2 v 1032 2372 a Fg(1)1049 2387
1623 y Fm(T)m(o)h(mitigate)h(the)f(apparen)o(t)g(ine\016ciency)i(of)e(this)g
1624 (conceptu-)980 2429 y(ally)18 b(clean)g(language)h(design,)f(the)f
1625 (implemen)o(tation)i(optimizes)980 2470 y(most)e(calls)i(to)e
1626 Ff(assert!)p Fm(,)e(suc)o(h)i(as)g(the)g(calls)i Ff(\(assert!)d(\(notv)
1627 980 2512 y(\(realpv)h Fe(x)p Ff(\)\)\))9 b Fm(and)j Ff(\(assert!)k
1628 (\(<=v)j Fe(x)g(y)q Ff(\)\))p Fm(,)10 b(to)h(eliminate)i(the)980
1629 2553 y(creation)f(of)e(the)g(in)o(termediate)i(Bo)q(olean)g(v)n
1630 (ariable\(s\))g(and)f(the)g(re-)980 2595 y(sulting)k(lo)q(cal)g
1631 (propagation.)p eop
1632 %%Page: 3 3
1633 3 2 bop -112 -33 a Fq(discussed)20 b(later)f(in)g(this)g(pap)q
1634 (er|implemen)o(ts)e(a)i(general-)-112 12 y(ization)g(of)g(the)i(in)o
1635 (terv)n(al)e(metho)q(d)h(of)f(solving)g(systems)h(of)-112
1636 58 y(nonlinear)d(equations)h(prop)q(osed)h(b)o(y)f(Hansen)h(\(1968\).)
1637 29 b(Fi-)-112 103 y(nally)m(,)14 b Fp(Screamer)i Fq(implemen)o(ts)d
1638 (uni\014cation.)23 b(Uni\014cation)-112 149 y(is)17 b(view)o(ed)h(as)g
1639 (a)g(constrain)o(t)g(propagation)f(inference)i(tec)o(h-)-112
1640 195 y(nique)d(whic)o(h)h(can)g(b)q(e)h(applied)e(to)h(equational)f
1641 (constrain)o(ts)-112 240 y(in)o(v)o(olving)11 b(v)n(ariables)h(that)i
1642 (range)f(o)o(v)o(er)h(S-expressions.)19 b(The)-112 286
1643 y(constrain)o(t)k(propagation)f(tec)o(hniques)j(are)e(incremen)o(tally)
1644 -112 332 y(run)d(to)h(completion)e(whenev)o(er)j(a)e(new)h(constrain)o
1645 (t)g(is)f(in-)-112 377 y(stalled)12 b(b)o(y)h Fk(assert!)e
1646 Fq(or)i(one)g(of)f(the)i(constrain)o(t)f(primitiv)o(es.)-112
1647 423 y(The)g(\014v)o(e)g(forms)e(of)h(constrain)o(t)h(propagation)f(are)
1648 h(describ)q(ed)-112 469 y(in)g(more)g(detail)g(b)q(elo)o(w.)-71
1649 521 y(Eac)o(h)j(form)d(of)i(constrain)o(t)g(propagation)f(can)i(b)q(e)g
1650 (view)o(ed)-112 567 y(as)23 b(an)g(inference)h(pro)q(cess)i(whic)o(h)d
1651 (lo)q(cally)f(deriv)o(es)i(infor-)-112 612 y(mation)e(ab)q(out)i(v)n
1652 (ariables.)50 b(All)24 b(forms)f(of)h(propagation)-112
1653 658 y(are)i(capable)g(of)g(inferring)f(v)n(alues)h(for)g(v)n(ariables.)
1654 54 b(F)m(or)-112 704 y(example,)15 b(after)i(ev)n(aluating)e
1655 Fk(\(assert!)20 b(\(orv)h Fj(x)h(y)q Fk(\)\))17 b Fq(and)-112
1656 749 y Fk(\(assert!)j(\(notv)g Fj(x)p Fk(\)\))12 b Fq(BCP)g(will)e
1657 (infer)i(that)g Fj(y)i Fq(m)o(ust)d(ha)o(v)o(e)-112 795
1658 y(the)16 b(v)n(alue)f Fk(t)p Fq(.)24 b(If)15 b(some)g(constrain)o(t)i
1659 (propagation)d(inference)-112 841 y(pro)q(cess)d(has)f(determined)f(a)g
1660 (v)n(alue)g(for)h(some)e(v)n(ariable)h Fj(x)g Fq(then)-112
1661 886 y(w)o(e)16 b(sa)o(y)f(that)h Fj(x)g Fq(is)g Fl(b)q(ound)g
1662 Fq(and)g(the)g(inferred)h(v)n(alue)e(of)g Fj(x)h Fq(is)-112
1663 932 y(called)d(the)i Fl(binding)e Fq(of)g Fj(x)p Fq(.)-71
1664 984 y Fd(Binding)27 b(Propagation:)40 b Fq(As)27 b(noted)f(ab)q(o)o(v)o
1665 (e,)j(most)-112 1030 y(constrain)o(ts)j(in)f Fp(Screamer)h
1666 Fq(are)g(of)f(the)h(form)d Fj(z)43 b Fq(=)-112 1075 y
1667 Fk(\(f)14 b Fj(x)-30 1081 y Fi(1)11 1075 y Fj(:)7 b(:)g(:)21
1668 b(x)106 1081 y Fh(n)128 1075 y Fq(\))16 b(where)i Fj(f)j
1669 Fq(is)16 b(a)g Fp(Common)g(Lisp)g Fq(primitiv)o(e,)-112
1670 1121 y Fj(z)k Fq(is)e(a)g(v)n(ariable,)g(and)g(eac)o(h)h
1671 Fj(x)392 1127 y Fh(i)424 1121 y Fq(is)f(either)h(a)f(v)n(ariable)g(or)g
1672 (a)-112 1167 y(sp)q(eci\014c)c(v)n(alue.)j(F)m(or)c(an)o(y)f(suc)o(h)i
1673 (constrain)o(t)f Fp(Screamer)h Fq(im-)-112 1212 y(plemen)o(ts)k(a)h
1674 (certain)g(v)n(alue)f(propagation)g(pro)q(cess.)35 b(More)-112
1675 1258 y(sp)q(eci\014cally)m(,)20 b(if)e(bindings)h(ha)o(v)o(e)g(b)q(een)
1676 i(determined)e(for)g(all)-112 1304 y(but)9 b(one)h(of)f(the)i(v)n
1677 (ariables)e(in)g(the)h(constrain)o(t,)h(and)e(a)h(binding)-112
1678 1349 y(for)k(the)i(remaining)d(v)n(ariable)h(follo)o(ws)f(from)h(the)h
1679 (constrain)o(t)-112 1395 y(and)i(the)i(existing)f(bindings,)g(then)h
1680 (this)f(additional)e(bind-)-112 1441 y(ing)c(is)h(inferred.)19
1681 b(This)13 b(general)g(principle)h(is)f(called)g Fl(binding)-112
1682 1486 y(propagation)p Fq(.)i(Binding)10 b(propagation)g(will)f(alw)o(a)o
1683 (ys)h(bind)g(the)-112 1532 y(output)j(v)n(ariable)f(of)g(a)h(constrain)
1684 o(t)g(primitiv)o(e)e(whenev)o(er)j(the)-112 1578 y(input)e(v)n
1685 (ariables)f(b)q(ecome)h(b)q(ound.)18 b(F)m(or)12 b(example,)e(giv)o(en)
1686 i(the)-112 1623 y(constrain)o(t)18 b Fj(z)j Fq(=)e Fk(\(+)g
1687 Fj(x)f(y)q Fk(\))q Fq(,)h(if)e Fj(x)h Fq(is)g(b)q(ound)h(to)f(2)g(and)g
1688 Fj(y)i Fq(is)-112 1669 y(b)q(ound)12 b(to)h(3,)f(then)i(binding)e
1689 (propagation)f(will)g(bind)i Fj(z)i Fq(to)d(5.)-112 1715
1690 y(Often,)e(ho)o(w)o(ev)o(er,)g(binding)f(propagation)f(will)g(deriv)o
1691 (e)i(a)f(bind-)-112 1760 y(ing)i(for)g(an)h(input)g(from)e(a)i(binding)
1692 f(for)h(the)g(output.)18 b(F)m(or)12 b(ex-)-112 1806
1693 y(ample,)g(giv)o(en)i(the)h(constrain)o(t)f Fj(z)h Fq(=)d
1694 Fk(\(+)g Fj(x)g(y)q Fk(\))q Fq(,)i(if)f Fj(z)j Fq(is)f(b)q(ound)-112
1695 1852 y(to)10 b(5)h(and)g Fj(x)g Fq(is)g(b)q(ound)g(to)g(2,)g(then)h
1696 (binding)e(propagation)g(will)-112 1897 y(bind)j Fj(y)j
1697 Fq(to)d(3.)-71 1949 y Fd(Bo)q(olean)k(Constrain)o(t)e(Propagation:)k
1698 Fq(BCP)d(is)f(sim-)-112 1995 y(ply)j(arc)h(consistency)i(\(cf.)d(Mac)o
1699 (kw)o(orth)h(1992\))f(relativ)o(e)h(to)-112 2041 y(the)11
1700 b(Bo)q(olean)f(constrain)o(t)h(primitiv)o(es)d Fk(andv)p
1701 Fq(,)i Fk(orv)p Fq(,)g(and)g Fk(notv)p Fq(.)-112 2086
1702 y(BCP)m(,)15 b(lik)o(e)g(arc)h(consistency)m(,)h(is)f(seman)o(tically)d
1703 (incomplete.)-112 2132 y(F)m(or)j(example,)f(after)i(ev)n(aluating)e
1704 Fk(\(assert!)20 b(\(orv)h Fj(z)j(w)q Fk(\)\))-112 2178
1705 y Fq(and)17 b Fk(\(assert!)j(\(orv)h(\(notv)g Fj(z)r
1706 Fk(\))h Fj(w)q Fk(\)\))p Fq(,)17 b(an)o(y)h(v)n(ariable)e(in-)-112
1707 2223 y(terpretation)k(satisfying)e(the)h(installed)g(constrain)o(ts)h
1708 (m)o(ust)-112 2269 y(assign)e Fj(w)i Fq(the)f(v)n(alue)f
1709 Fk(t)p Fq(.)33 b(Ho)o(w)o(ev)o(er,)20 b(BCP)f(will)e(not)i(mak)o(e)-112
1710 2315 y(this)f(inference.)34 b(Seman)o(tic)18 b(incompleteness)h(is)g
1711 (necessary)-112 2360 y(in)11 b(order)h(to)f(ensure)j(that)d(the)h
1712 (constrain)o(t)g(propagation)f(pro-)-112 2406 y(cess)21
1713 b(terminates)f(quic)o(kly)m(.)35 b(Later)21 b(in)e(the)i(pap)q(er)g(w)o
1714 (e)f(dis-)-112 2452 y(cuss)d(ho)o(w)f(w)o(e)g(in)o(terlea)o(v)o(e)g
1715 (bac)o(ktrac)o(king)g(searc)o(h)i(with)e(con-)-112 2497
1716 y(strain)o(t)g(propagation)f(to)g(mitigate)f(the)j(incompleteness)f(of)
1717 -112 2543 y(lo)q(cal)d(propagation.)-71 2595 y Fd(Generalized)21
1718 b(F)l(orw)o(ard)i(Chec)o(king:)32 b Fq(GF)o(C)20 b(applies)980
1719 -33 y(to)25 b(v)n(ariables)f(for)h(whic)o(h)g(a)g(\014nite)g(set)h(of)e
1720 (p)q(ossible)i(v)n(al-)980 12 y(ues)f(has)e(b)q(een)i(established.)47
1721 b(Suc)o(h)24 b(a)f(set)h(is)g(called)f(an)980 58 y Fl(en)o(umerated)c
1722 (domain)p Fq(.)30 b(V)m(ariables)19 b(with)f(en)o(umerated)h(do-)980
1723 103 y(mains)f(are)i(called)f Fl(discrete)p Fq(.)36 b(F)m(or)19
1724 b(example,)g(after)g(ev)n(alu-)980 149 y(ating)d Fk(\(assert!)k
1725 (\(memberv)g Fj(x)i Fk('\(a)f(b)g(c)h(d\)\)\))16 b Fq(the)h(v)n(ari-)
1726 980 195 y(able)10 b Fj(x)g Fq(is)g(discrete)h(b)q(ecause)h(its)e(v)n
1727 (alue)g(is)f(kno)o(wn)h(to)g(b)q(e)h(either)980 240 y
1728 Fk(a)p Fq(,)17 b Fk(b)p Fq(,)f Fk(c)p Fq(,)h(or)g Fk(d)p
1729 Fq(.)28 b(Bo)q(olean)17 b(v)n(ariables)g(are)g(a)g(sp)q(ecial)h(case)g
1730 (of)980 286 y(discrete)g(v)n(ariables)e(where)i(the)f(en)o(umerated)f
1731 (domain)e(con-)980 332 y(tains)g(only)f Fk(t)h Fq(and)g
1732 Fk(nil)p Fq(.)k(Similarly)m(,)10 b(b)q(ounded)15 b(in)o(teger)g(v)n
1733 (ari-)980 377 y(ables)h(are)h(considered)g(to)f(b)q(e)h(discrete.)26
1734 b(F)m(or)15 b(eac)o(h)i(discrete)980 423 y(v)n(ariable)i
1735 Fp(Screamer)h Fq(main)o(tains)d(a)j(list)f(represen)o(ting)i(its)980
1736 469 y(en)o(umerated)f(domain.)35 b(The)20 b(en)o(umerated)g(domain)e
1737 (for)i(a)980 514 y(giv)o(en)d(v)n(ariable)g(can)g(b)q(e)i(up)q(dated)f
1738 (b)o(y)f(the)h(GF)o(C)f(inference)980 560 y(pro)q(cess.)25
1739 b(The)16 b(GF)o(C)e(inference)j(pro)q(cess)g(op)q(erates)g(on)e(con-)
1740 980 606 y(strain)o(ts)c(of)e(the)i(form)d Fj(z)14 b Fq(=)e
1741 Fk(\(funcall)d Fj(f)17 b(x)1654 612 y Fi(1)1691 606 y
1742 Fj(:)7 b(:)g(:)16 b(x)1781 612 y Fh(n)1804 606 y Fk(\))o
1743 Fq(.)h(These)980 651 y(constrain)o(ts)27 b(are)g(generated)h(b)o(y)e
1744 (the)h(constrain)o(t)g(primi-)980 697 y(tiv)o(e)15 b
1745 Fk(funcallv)p Fq(.)j(Unlik)o(e)13 b(most)h(constrain)o(t)h(primitiv)o
1746 (es,)d(the)980 743 y(primitiv)o(e)k Fk(funcallv)g Fq(will)g(signal)h
1747 (an)g(error|rather)i(than)980 788 y(fail|)e(if)h(its)h(\014rst)h
1748 (argumen)o(t)e(is)g(b)q(ound)h(to)g(an)o(ything)f(but)980
1749 834 y(a)24 b(deterministic)g(pro)q(cedure.)51 b(No)o(w)24
1750 b(consider)h(the)g(con-)980 880 y(strain)o(t)18 b Fj(z)j
1751 Fq(=)d Fk(\(funcall)f Fj(f)23 b(x)1467 886 y Fi(1)1511
1752 880 y Fj(:)7 b(:)g(:)23 b(x)1608 886 y Fh(n)1630 880
1753 y Fk(\))p Fq(.)30 b(GF)o(C)18 b(will)e(only)980 925 y(op)q(erate)d(on)f
1754 (this)g(constrain)o(t)g(when)g Fj(f)17 b Fq(is)12 b(b)q(ound)g(and)g
1755 (all)e(but)980 971 y(one)17 b(of)f(the)i(remaining)c(v)n(ariables)i(in)
1756 g(the)i(constrain)o(t)f(ha)o(v)o(e)980 1017 y(b)q(een)k(b)q(ound.)37
1757 b(If)19 b(the)i(un)o(b)q(ound)f(v)n(ariable)f(is)h(the)g(output)980
1758 1062 y(v)n(ariable)d Fj(z)r Fq(,)i(then)g(GF)o(C)f(simply)e(deriv)o(es)
1759 j(a)f(binding)f(for)h Fj(z)980 1108 y Fq(b)o(y)f(applying)e
1760 Fj(f)t Fq(.)27 b(If)17 b(the)g(un)o(b)q(ound)g(v)n(ariable)e(is)i(one)g
1761 (of)f(the)980 1154 y(argumen)o(ts)i Fj(x)1211 1160 y
1762 Fh(i)1244 1154 y Fq(then)h(GF)o(C)g(tests)h(eac)o(h)g(elemen)o(t)e
1763 Fj(v)j Fq(of)d(the)980 1199 y(en)o(umerated)13 b(domain)d(of)i(the)h
1764 (discrete)i(v)n(ariable)c Fj(x)1796 1205 y Fh(i)1822
1765 1199 y Fq(for)h(con-)980 1245 y(sistency)21 b(relativ)o(e)e(to)g(this)h
1766 (constrain)o(t.)34 b(Elemen)o(ts)19 b(of)g(the)980 1291
1767 y(en)o(umerated)10 b(domain)e(of)i Fj(x)1413 1297 y Fh(i)1436
1768 1291 y Fq(that)h(are)f(inconsisten)o(t)h(with)f(the)980
1769 1336 y(constrain)o(t)j(are)g(remo)o(v)o(ed.)k(F)m(or)12
1770 b(example,)g(supp)q(ose)h(that)g(w)o(e)980 1382 y(ha)o(v)o(e)30
1771 b(ev)n(aluated)f Fk(\(assert!)20 b(\(memberv)h Fj(x)g
1772 Fk('\(1)g(5)h(9\)\)\))p Fq(,)980 1428 y Fk(\(assert!)e(\(memberv)h
1773 Fj(y)i Fk('\(3)e(7)h(12\)\)\))31 b Fq(and)g Fk(\(assert!)980
1774 1473 y(\(funcallv)20 b(#'<)h Fj(x)h(y)q Fk(\)\))p Fq(.)27
1775 b(In)17 b(this)g(case)h(the)f(output)h(v)n(ari-)980 1519
1776 y(able)f(of)g(the)h Fk(funcallv)d Fq(constrain)o(t)j(is)f(b)q(ound)h
1777 (to)f Fk(t)p Fq(.)28 b(No)o(w)980 1565 y(supp)q(ose)c(that)f(some)f
1778 (constrain)o(t)h(propagation)e(inference)980 1610 y(pro)q(cess)e
1779 (infers)f(that)f Fj(y)i Fq(is)d(3.)28 b(In)17 b(this)g(case)h(GF)o(C)f
1780 (will)e(run)980 1656 y(on)g(the)h Fk(funcallv)d Fq(constrain)o(t)j(and)
1781 f(remo)o(v)o(e)f(5)g(and)h(9)g(from)980 1702 y(the)i(en)o(umerated)g
1782 (domain)d(of)h Fj(x)p Fq(.)26 b(Whenev)o(er)17 b(the)g(en)o(umer-)980
1783 1747 y(ated)11 b(domain)d(of)i(a)h(discrete)h(v)n(ariable)d(is)i
1784 (reduced)h(to)f(a)f(single)980 1793 y(v)n(alue,)h(GF)o(C)g(binds)g(the)
1785 h(v)n(ariable)e(to)i(that)f(v)n(alue.)16 b(An)c(exam-)980
1786 1839 y(ple)g(of)g(GF)o(C)g(running)g(on)g(the)g Fj(N)5
1787 b Fq(-Queens)14 b(problem)d(is)h(giv)o(en)980 1884 y(later)i(in)g(the)g
1788 (pap)q(er.)1022 1956 y Fd(Bounds)23 b(Propagation:)32
1789 b Fq(Bounds)23 b(propagation)e(ap-)980 2001 y(plies)14
1790 b(to)f(n)o(umeric)g(v)n(ariables.)k(F)m(or)c(eac)o(h)h(n)o(umeric)f(v)n
1791 (alue)g(the)980 2047 y(system)19 b(main)o(tains)e(an)i(upp)q(er)h(and)g
1792 (lo)o(w)o(er)e(b)q(ound)i(on)f(the)980 2093 y(p)q(ossible)f(v)n(alues)f
1793 (of)f(that)h(v)n(ariable.)27 b(These)19 b(b)q(ounds)f(prop-)980
1794 2138 y(agate)f(through)h(constrain)o(ts)f(generated)i(b)o(y)e(n)o
1795 (umeric)f(con-)980 2184 y(strain)o(t)d(primitiv)o(es)f(suc)o(h)h(as)h
1796 Fk(+v)p Fq(,)e Fk(*v)g Fq(and)h Fk(<v)p Fq(.)18 b(F)m(or)12
1797 b(example,)980 2230 y(after)k(ev)n(aluating)f Fk(\(assert!)20
1798 b(\(=v)h Fj(z)j Fk(\(+v)d Fj(x)h(y)q Fk(\)\)\))p Fq(,)16
1799 b(if)f Fj(z)j Fq(is)980 2275 y(kno)o(wn)c(to)g(b)q(e)h(no)g(larger)f
1800 (than)g(5)p Fj(:)p Fq(7,)f(and)h Fj(x)g Fq(is)h(kno)o(wn)f(to)g(b)q(e)
1801 980 2321 y(no)d(smaller)e(than)h(2)p Fj(:)p Fq(2,)g(then)h(b)q(ounds)g
1802 (propagation)e(will)h(infer)980 2367 y(that)16 b Fj(y)h
1803 Fq(is)e(no)g(larger)g(than)g(3)p Fj(:)p Fq(5.)21 b(Bounds)16
1804 b(propagation)e(can)980 2412 y(also)h(deriv)o(e)i(v)n(alues)e(for)g
1805 (the)i(Bo)q(olean)e(output)h(v)n(ariables)f(of)980 2458
1806 y(n)o(umeric)g(constrain)o(t)g(predicates)i(suc)o(h)f(as)f
1807 Fk(<v)g Fq(and)g Fk(=v)p Fq(.)22 b(F)m(or)980 2504 y(example,)16
1808 b(if)f(w)o(e)i(ha)o(v)o(e)g(the)g(constrain)o(t)g Fj(z)h
1809 Fq(=)e Fk(\(<)g Fj(x)f(y)q Fq(\))p Fk(\))j Fq(and)980
1810 2549 y(the)d(system)e(has)h(determined)g(that)f Fj(x)h
1811 Fq(is)f(at)h(least)g(2)p Fj(:)p Fq(0)f(but)h Fj(y)980
1812 2595 y Fq(is)g(no)f(larger)h(than)g(1)p Fj(:)p Fq(0,)e(then)j(the)f
1813 (system)g(will)e(infer)i(that)f Fj(z)p eop
1814 %%Page: 4 4
1815 4 3 bop -112 -33 a Fq(is)13 b Fk(nil)p Fq(.)-71 13 y(Bounds)25
1816 b(propagation)f(will)f(not)i(infer)g(a)f(new)i(b)q(ound)-112
1817 59 y(unless)g(the)h(new)g(b)q(ound)f(reduces)i(the)f(kno)o(wn)f(in)o
1818 (terv)n(al)-112 105 y(of)21 b(the)h(v)n(ariable)e(in)o(v)o(olv)o(ed)h
1819 (b)o(y)g(at)h(least)g(a)f(certain)h(mini-)-112 150 y(m)o(um)11
1820 b(p)q(ercen)o(tage.)23 b(This)15 b(ensures)h(that)f(the)h(b)q(ounds)f
1821 (prop-)-112 196 y(agation)23 b(pro)q(cess)k(terminates)e(fairly)f(quic)
1822 o(kly)m(.)50 b(F)m(or)25 b(ex-)-112 242 y(ample,)c Fp(Screamer)h
1823 Fq(a)o(v)o(oids)e(the)j(v)o(ery)e(large)h(n)o(um)o(b)q(er)e(of)-112
1824 287 y(b)q(ounds)12 b(up)q(dates)h(that)f(w)o(ould)f(result)h(from)f
1825 (the)h(constrain)o(ts)-112 333 y Fk(\(assert!)20 b(\(>v)h
1826 Fj(x)g Fk(0\)\))p Fq(,)j Fk(\(assert!)d(\(<v)g Fj(x)g
1827 Fk(1000\)\))h Fq(and)-112 379 y Fk(\(assert!)e(\(<v)h
1828 Fj(x)g Fk(\(-v)h Fj(x)f Fk(0.001\)\)\))p Fq(.)-71 425
1829 y Fd(Uni\014cation:)33 b Fq(Uni\014cation)22 b(op)q(erates)i(on)e
1830 (constrain)o(ts)-112 471 y(of)27 b(the)h(form)f Fj(w)35
1831 b Fq(=)h Fk(\(equal)d Fj(u)i(v)q Fk(\))28 b Fq(whic)o(h)g(are)h(gen-)
1832 -112 517 y(erated)k(b)o(y)e(the)i(constrain)o(t)f(primitiv)o(e)e
1833 Fk(equalv)p Fq(.)71 b(A)o(t)-112 562 y(an)o(y)23 b(giv)o(en)g(time)g
1834 (there)i(is)f(a)g(system)f(of)h(equations)f(de-)-112
1835 608 y(\014ned)i(b)o(y)f(the)h(set)g(of)f Fk(equalv)g
1836 Fq(constrain)o(ts)h(whose)g(out-)-112 654 y(put)d(v)n(ariable)f(has)h
1837 (b)q(een)h(b)q(ound)f(to)g Fk(t)p Fq(.)42 b Fp(Screamer)22
1838 b Fq(in-)-112 699 y(cremen)o(tally)g(main)o(tains)f(a)j(most)e(general)
1839 i(uni\014er)g Fj(\033)h Fq(for)-112 745 y(this)e(system)g(of)g
1840 (equations.)46 b(F)m(or)23 b(example,)h(ev)n(aluating)-112
1841 791 y Fk(\(assert!)c(\(equalv)g(\(cons)h Fj(x)g(x)p Fk(\))h(\(cons)e
1842 Fj(y)k(w)q Fk(\)\)\))30 b Fq(will)-112 836 y(result)21
1843 b(in)f(a)h(uni\014er)g Fj(\033)h Fq(that)e(equates)i
1844 Fj(x)p Fq(,)e Fj(y)q Fq(,)h(and)f Fj(w)q Fq(,)i(i.e.,)-112
1845 882 y(a)i(uni\014er)i Fj(\033)g Fq(suc)o(h)g(that)f Fj(\033)q
1846 Fq([)p Fj(x)p Fq(],)e Fj(\033)q Fq([)p Fj(y)q Fq(],)28
1847 b(and)c Fj(\033)q Fq([)p Fj(w)q Fq(])g(are)i(all)-112
1848 928 y(equal.)35 b Fp(Screamer)20 b Fq(also)f(implemen)o(ts)f
1849 (disuni\014cation)h(as)-112 973 y(in)c Fp(Pr)o(olog-I)q(I)i
1850 Fq(\(Colmerauer)e(1984\).)25 b(Th)o(us,)17 b(after)g(ev)n(alu-)-112
1851 1019 y(ating)9 b Fk(\(assert!)21 b(\(notv)f(\(equalv)h
1852 Fj(x)g(y)q Fk(\)\)\))p Fq(,)11 b(an)o(y)f(attempt)-112
1853 1065 y(to)j(bind)h Fj(x)f Fq(or)h Fj(y)i Fq(to)e(b)q(e)g(equal)g(will)e
1854 (fail.)-71 1112 y(The)f(di\013eren)o(t)h(forms)d(of)h(constrain)o(t)h
1855 (propagation)e(can)i(in-)-112 1157 y(teract)16 b(with)f(eac)o(h)h
1856 (other.)22 b(F)m(or)15 b(example,)f(a)h(giv)o(en)g(v)n(ariable)-112
1857 1203 y(can)10 b(b)q(e)h(b)q(oth)g(discrete)h(and)e(n)o(umeric.)16
1858 b(The)11 b(system)f(remo)o(v)o(es)-112 1249 y(non-n)o(umeric)f(elemen)o
1859 (ts)h(from)f(the)i(en)o(umerated)g(domains)d(of)-112
1860 1294 y(discrete)15 b(n)o(umeric)e(v)n(ariables.)18 b(F)m(urthermore,)13
1861 b(if)g(a)h(b)q(ound)g(is)-112 1340 y(kno)o(wn)k(for)g(a)h(discrete)h(n)
1862 o(umeric)e(v)n(ariable)f(then)j(elemen)o(ts)-112 1386
1863 y(violating)14 b(that)i(b)q(ound)g(are)h(eliminated)d(from)g(its)i(en)o
1864 (umer-)-112 1431 y(ated)11 b(domain.)k Fp(Screamer)e
1865 Fq(also)e(deriv)o(es)h(b)q(ounds)g(informa-)-112 1477
1866 y(tion)g(from)f(the)i(en)o(umerated)g(domains)e(of)h(discrete)i(n)o
1867 (umeric)-112 1523 y(v)n(ariables.)29 b(Uni\014cation)17
1868 b(also)h(in)o(teracts)g(with)g Fp(Screamer)-112 1568
1869 y Fq(bindings.)28 b(F)m(or)18 b(example,)e(if)h Fj(\033)i
1870 Fq(is)f(the)g(most)e(general)i(uni-)-112 1614 y(\014er)g(main)o(tained)
1871 e(b)o(y)i Fp(Screamer)q Fq(,)g(and)g Fj(x)g Fq(and)g
1872 Fj(y)i Fq(are)e(t)o(w)o(o)-112 1660 y(v)n(ariables)h(suc)o(h)h(that)g
1873 Fj(\033)q Fq([)p Fj(x)p Fq(])f(equals)h Fj(\033)q Fq([)p
1874 Fj(y)q Fq(],)h(then)g(an)o(y)e(bind-)-112 1705 y(ing)d(for)h
1875 Fj(x)g Fq(b)q(ecomes)h(a)f(binding)g(for)g Fj(y)i Fq(and)e(vice)h(v)o
1876 (ersa.)29 b(If)-112 1751 y Fj(\033)q Fq([)p Fj(x)p Fq(])12
1877 b(equals)j Fj(\033)q Fq([)p Fj(y)q Fq(],)e(and)h Fj(x)g
1878 Fq(and)g Fj(y)h Fq(ha)o(v)o(e)f(incompatible)e(bind-)-112
1879 1797 y(ings,)h(then)h(a)g(failure)f(is)h(generated.)-3
1880 1894 y Ft(Solving)j(Systems)g(of)i(Constrain)n(ts)-112
1881 1956 y Fq(By)12 b(design,)h(all)e(of)h(the)i(constrain)o(t)e(primitiv)o
1882 (es)f(describ)q(ed)k(so)-112 2001 y(far)i(use)j(only)d(fast)h(lo)q(cal)
1883 g(propagation)f(tec)o(hniques.)32 b(Suc)o(h)-112 2047
1884 y(tec)o(hniques)15 b(are)g(necessarily)h(incomplete;)d(they)i(cannot)g
1885 (al-)-112 2093 y(w)o(a)o(ys)k(solv)o(e)h(systems)h(of)e(constrain)o(ts)
1886 i(or)f(determine)h(that)-112 2138 y(they)f(are)g(unsolv)n(able.)35
1887 b Fp(Screamer)20 b Fq(pro)o(vides)g(a)f(n)o(um)o(b)q(er)-112
1888 2184 y(of)h(primitiv)o(es)f(for)h(augmen)o(ting)f(lo)q(cal)g
1889 (propagation)h(with)-112 2230 y(bac)o(ktrac)o(king)f(searc)o(h)h(to)g
1890 (pro)o(vide)f(a)g(general)h(mec)o(hanism)-112 2275 y(for)f(solving)g
1891 (systems)h(of)g(constrain)o(ts.)37 b(One)21 b(suc)o(h)g(primi-)-112
1892 2321 y(tiv)o(e,)e Fk(linear-force)p Fq(,)f(can)h(b)q(e)h(applied)f(to)g
1893 (a)g(v)n(ariable)f(to)-112 2367 y(cause)13 b(it)f(to)g
1894 (nondeterministically)f(tak)o(e)h(on)h(one)f(of)g(the)h(v)n(al-)-112
1895 2412 y(ues)i(in)f(its)h(domain.)j Fk(Linear-force)12
1896 b Fq(can)j(b)q(e)g(applied)f(only)-112 2458 y(to)k(discrete)i(v)n
1897 (ariables)e(or)g(in)o(teger)h(v)n(ariables.)31 b(Constrain-)-112
1898 2504 y(ing)14 b(a)h(v)n(ariable)f(to)g(tak)o(e)i(on)e(a)h(v)n(alue)f
1899 (using)h Fk(linear-force)-112 2549 y Fq(ma)o(y)j(cause)k(lo)q(cal)d
1900 (propagation.)37 b(Th)o(us)21 b(a)f(single)g(call)g(to)-112
1901 2595 y Fk(linear-force)12 b Fq(ma)o(y)g(cause)k(a)e(n)o(um)o(b)q(er)g
1902 (of)g(v)n(ariables)g(to)g(b)q(e)980 -33 y(b)q(ound,)g(or)g(alternativ)o
1903 (ely)f(ma)o(y)f(fail)h(if)g(the)h(v)n(ariable)f(cannot)980
1904 12 y(consisten)o(tly)20 b(tak)o(e)g(on)f(an)o(y)g(v)n(alue.)34
1905 b(A)20 b(second)g(primitiv)o(e,)980 58 y Fk(divide-and-conquer-)o(forc)
1906 o(e)p Fq(,)9 b(can)j(b)q(e)g(applied)f(to)g(a)h(v)n(ari-)980
1907 103 y(able)i(to)g(nondeterministically)f(reduce)j(the)e(set)i(of)d(p)q
1908 (ossible)980 149 y(v)n(alues)19 b(it)g(ma)o(y)f(tak)o(e)h(on.)34
1909 b Fk(Divide-and-conquer-f)o(orce)980 195 y Fq(can)17
1910 b(b)q(e)g(applied)f(only)f(to)h(discrete)i(v)n(ariables)e(or)g(real)h
1911 (v)n(ari-)980 240 y(ables)g(with)f(\014nite)h(upp)q(er)h(and)f(lo)o(w)o
1912 (er)f(b)q(ounds.)27 b(When)17 b(ap-)980 286 y(plied)f(to)h(discrete)h
1913 (v)n(ariables,)e(the)i(en)o(umerated)e(domain)f(is)980
1914 332 y(split)j(in)o(to)g(t)o(w)o(o)g(subsets)i(and)e(the)h(v)n(ariable)e
1915 (nondetermin-)980 377 y(istically)d(constrained)i(to)f(tak)o(e)g(on)g
1916 (v)n(alues)g(from)e(either)j(the)980 423 y(\014rst)g(or)f(second)i
1917 (subset.)23 b(When)15 b(applied)g(to)g(b)q(ounded)h(real)980
1918 469 y(v)n(ariables,)f(the)h(in)o(terv)n(al)f(is)h(split)f(in)g(half)g
1919 (and)g(the)i(v)n(ariable)980 514 y(nondeterministically)f(constrained)i
1920 (to)f(tak)o(e)g(on)g(v)n(alues)g(in)980 560 y(either)e(of)e(the)i(t)o
1921 (w)o(o)e(subin)o(terv)n(als.)1022 609 y(The)f(ab)q(o)o(v)o(e)g(t)o(w)o
1922 (o)f(functions)h(op)q(erate)h(on)f(single)g(v)n(ariables.)980
1923 654 y(More)f(generally)m(,)e(one)h(m)o(ust)f(\014nd)h(the)h(v)n(alues)f
1924 (of)f(sev)o(eral)i(v)n(ari-)980 700 y(ables)16 b(whic)o(h)g(satisfy)g
1925 (the)h(giv)o(en)f(constrain)o(ts.)25 b Fp(Screamer)980
1926 746 y Fq(pro)o(vides)h(t)o(w)o(o)f(primitiv)o(es)f(to)i(accomplish)e
1927 (this.)53 b(Both)980 791 y(are)22 b(higher-order)h(functions)f(whic)o
1928 (h)g(tak)o(e)g(a)f(single)h(v)n(ari-)980 837 y(able)11
1929 b(force)h(function)f(as)g(an)g(argumen)o(t)f(\(e.g.)h
1930 Fk(linear-force)980 882 y Fq(or)16 b Fk(divide-and-conquer-f)o(orce)p
1931 Fq(\))d(and)j(pro)q(duce)h(a)f(func-)980 928 y(tion)j(capable)h(of)f
1932 (forcing)g(a)h(list)f(of)g(v)n(ariables)g(using)g(that)980
1933 974 y(force)e(function.)23 b(Eac)o(h)16 b(incorp)q(orates)h(a)f
1934 (di\013eren)o(t)h(strategy)980 1019 y(for)h(c)o(ho)q(osing)g(whic)o(h)g
1935 (v)n(ariable)g(to)g(force)h(next.)31 b(The)19 b(\014rst,)980
1936 1065 y Fk(static-ordering)p Fq(,)d(simply)h(forces)i(the)g(v)n
1937 (ariables)f(in)g(the)980 1111 y(order)h(giv)o(en.)28
1938 b(The)18 b(single)g(v)n(ariable)e(force)i(function)g(is)f(re-)980
1939 1156 y(p)q(eatedly)h(applied)f(to)g(eac)o(h)h(v)n(ariable,)f(un)o(til)f
1940 (that)i(v)n(ariable)980 1202 y(tak)o(es)h(on)f(a)g(ground)g(v)n(alue,)h
1941 (b)q(efore)g(pro)q(ceeding)g(with)f(the)980 1248 y(next)f(v)n(ariable.)
1942 23 b(All)15 b(v)n(ariables)g(are)h(b)q(ound)g(up)q(on)g(termina-)980
1943 1293 y(tion.)28 b(The)18 b(second,)g Fk(reorder)p Fq(,)f(selects)i(the)
1944 f(v)n(ariable)e(with)980 1339 y(the)i(smallest)d(domain,)g(applies)i
1945 (the)h(single)e(v)n(ariable)g(force)980 1385 y(function)f(to)f(this)h
1946 (v)n(ariable,)f(and)h(rep)q(eats)h(this)f(pro)q(cess)i(un-)980
1947 1430 y(til)f(all)g(v)n(ariables)g(are)h(b)q(ound.)27
1948 b(Since)17 b(the)g(c)o(hoice)h(of)e(single)980 1476 y(v)n(ariable)h
1949 (force)i(function)e(is)h(orthogonal)f(to)h(the)h(c)o(hoice)f(of)980
1950 1522 y(v)n(ariable)h(ordering)i(strategy)m(,)h Fp(Screamer)f
1951 Fq(th)o(us)f(pro)o(vides)980 1567 y(four)f(distinct)f(constrain)o(t)h
1952 (solving)f(strategies.)33 b(More)19 b(can)980 1613 y(easily)14
1953 b(b)q(e)g(added.)1353 1716 y Ft(Examples)980 1782 y Fq(W)m(e)20
1954 b(will)f(illustrate)h(the)h(p)q(o)o(w)o(er)f(of)g(the)h
1955 Fp(Screamer)f Fq(con-)980 1828 y(strain)o(t)d(language)g(with)f(t)o(w)o
1956 (o)h(small)e(examples.)27 b(The)17 b(\014rst,)980 1873
1957 y(sho)o(wn)e(in)f(\014gure)h(1,)g(solv)o(es)g(the)g Fj(N)5
1958 b Fq(-Queens)16 b(problem.)j(The)980 1919 y(function)11
1959 b Fk(n-queensv)e Fq(creates)j(a)f(v)n(ariable)e(for)i(eac)o(h)g(ro)o(w)
1960 g(and)980 1965 y(constrains)k(eac)o(h)g(ro)o(w)g(v)n(ariable)e(to)h
1961 (tak)o(e)h(on)f(an)g(in)o(teger)h(b)q(e-)980 2010 y(t)o(w)o(een)20
1962 b(1)f(and)g Fj(n)g Fq(indicating)f(the)i(column)e(o)q(ccupied)i(b)o(y)f
1963 (a)980 2056 y(queen)14 b(in)e(that)g(ro)o(w.)18 b(The)13
1964 b(function)f Fk(\(a-member-ofv)19 b Fj(s)p Fk(\))13 b
1965 Fq(is)980 2102 y(simply)f(syn)o(tactic)j(sugar)f(for)f(the)i(follo)o
1966 (wing.)1005 2168 y Ff(\(let)j(\(\(v)h(\(make-var)o(ia)o(ble)o(\)\)\))
1967 1025 2209 y(\(assert!)d(\(memberv)h(v)i Fe(s)p Ff(\)\))1025
1968 2251 y(v\))980 2318 y Fq(The)12 b Fp(Screamer)g Fq(primitiv)o(e)d
1969 Fk(\(solution)20 b Fj(x)i(f)t Fk(\))12 b Fq(gathers)g(all)980
1970 2364 y(of)k(the)h(v)n(ariables)e(nested)j(inside)e(the)h(structure)h
1971 Fj(x)p Fq(,)e(applies)980 2410 y(the)h(m)o(ultiple)c(v)n(ariable)i
1972 (forcing)g(function)h Fj(f)k Fq(to)c(this)g(list)f(of)980
1973 2455 y(v)n(ariables,)f(and)g(returns)i(a)f(cop)o(y)f(of)g
1974 Fj(x)g Fq(where)i(the)f(v)n(ariables)980 2501 y(ha)o(v)o(e)f(b)q(een)h
1975 (replaced)g(b)o(y)e(their)i(b)q(ound)f(v)n(alues.)1022
1976 2549 y(In)k(the)g(ab)q(o)o(v)o(e)g(example,)f Fp(Screamer)h
1977 Fq(applies)g(GF)o(C)f(as)980 2595 y(the)12 b(tec)o(hnique)f(for)g
1978 (solving)e(the)j(underlying)e(constrain)o(t)h(sat-)p
1980 %%Page: 5 5
1981 5 4 bop -66 -53 1981 2 v -66 720 2 773 v -27 -11 a Ff(\(defun)17
1982 b(attacks?)g(\(qi)h(qj)h(distance\))d(\(or)i(\(=)h(qi)g(qj\))g(\(=)f
1983 (\(abs)g(\(-)h(qi)g(qj\)\))f(distance\)\))o(\))-27 30
1984 y(\(defun)f(n-queensv)f(\(n\))-8 72 y(\(solution)g(\(let)j(\(\(q)f
1985 (\(make-arra)o(y)e(n\)\)\))208 113 y(\(dotimes)h(\(i)h(n\))h(\(setf)f
1986 (\(aref)g(q)h(i\))g(\(an-integ)o(er)o(-be)o(twe)o(en)o(v)e(1)i(n\)\)\))
1987 208 155 y(\(dotimes)e(\(i)h(n\))228 196 y(\(dotimes)e(\(j)j(n\))247
1988 238 y(\(if)g(\(>)g(j)g(i\))g(\(assert!)d(\(notv)i(\(funcallv)e
1989 (#'attacks?)g(\(aref)h(q)j(i\))f(\(aref)e(q)i(j\))g(\(-)g(j)g
1990 (i\)\)\)\)\)\)\))208 280 y(\(coerce)e(q)i('list\)\))188
1991 321 y(\(reorder)e(#'domain-s)o(iz)o(e)g(#'\(lambda)f(\(x\))i(\(declare)
1992 f(\(ignore)g(x\)\))h(nil\))g(#'<)h(#'linear-)o(fo)o(rce)o(\)\))o(\))-27
1993 363 y(\(defun)e(nonlinear)f(\(\))-8 404 y(\(let)i(\(\(x)h(\(a-real-b)o
1994 (etw)o(ee)o(nv)d(-1e40)i(1e40\)\))110 446 y(\(y)h(\(a-real-b)o(etw)o
1995 (ee)o(nv)d(-1e40)i(1e40\)\))110 487 y(\(z)h(\(a-real-b)o(etw)o(ee)o(nv)
1996 d(-1e40)i(1e40\)\)\))12 529 y(\(assert!)e(\(andv)i(\(=v)h(\(+v)f(\(*v)h
1997 (4)g(x)g(x)g(y\))g(\(*v)g(7)g(y)g(z)g(z\))g(\(*v)f(6)i(x)f(x)g(z)g
1998 (z\)\))g(1356.14\))306 570 y(\(=v)g(\(+v)f(\(*v)h(3)g(x)g(y\))g(\(*v)f
1999 (2)i(y)f(y\))g(\(*v)f(5)h(x)g(y)h(z\)\))e(-141.375\))306
2000 612 y(\(=v)h(\(*v)f(\(+v)h(x)g(y\))g(\(+v)f(y)h(z\)\))g(-7.7625\)\))o
2001 (\))12 653 y(\(solution)d(\(list)i(x)h(y)g(z\))208 695
2002 y(\(reorder)e(#'range-s)o(iz)o(e)g(#'\(lambda)f(\(x\))i(\(<)h(x)g
2003 (1e-6\)\))f(#'>)g(#'divide-a)o(nd)o(-co)o(nq)o(uer)o(-fo)o(rc)o(e\)\))o
2004 (\)\))p 1913 720 V -66 722 1981 2 v -112 816 a Fq(Figure)13
2005 b(1:)k(Tw)o(o)12 b(constrain)o(t-based)i Fp(Screamer)g
2006 Fq(programs,)d(one)i(for)g(solving)f(the)h Fj(N)5 b Fq(-Queens)15
2007 b(problem)c(and)i(one)g(for)g(solving)f(a)-112 862 y(system)h(of)g
2008 (nonlinear)h(equations)g(using)f(n)o(umeric)g(b)q(ounds)i(propagation.)
2009 -112 995 y(isfaction)g(problem.)25 b Fp(Screamer)17 b
2010 Fq(c)o(ho)q(oses)h(this)f(tec)o(hnique)-112 1040 y(since)d(all)f(of)g
2011 (the)i(v)n(ariables)e(in)o(v)o(olv)o(ed)f(are)j(discrete.)-71
2012 1103 y(The)k(second)g(example,)e(sho)o(wn)h(in)g(\014gure)g(1,)h
2013 (illustrates)-112 1149 y(ho)o(w)j(b)q(ounds)h(propagation)e(can)i(b)q
2014 (e)h(used)f(to)g(solv)o(e)f(sys-)-112 1194 y(tems)c(of)g(nonlinear)h
2015 (equations)g(expressed)i(as)e(constrain)o(ts)-112 1240
2016 y(b)q(et)o(w)o(een)g(n)o(umeric)e(v)n(ariables.)30 b(The)19
2017 b(function)f Fk(nonlinear)-112 1286 y Fq(\014nds)h(a)f(solution)g(to)g
2018 (the)i(follo)o(wing)c(system)i(of)g(nonlinear)-112 1331
2019 y(equations.)50 1440 y(4)p Fj(x)95 1423 y Fi(2)113 1440
2020 y Fj(y)11 b Fq(+)f(7)p Fj(y)q(z)249 1423 y Fi(2)277 1440
2021 y Fq(+)g(6)p Fj(x)364 1423 y Fi(2)382 1440 y Fj(z)403
2022 1423 y Fi(2)463 1440 y Fq(=)42 b(1356)p Fj(:)p Fq(14)105
2023 1498 y(3)p Fj(xy)11 b Fq(+)e(2)p Fj(y)264 1481 y Fi(2)293
2024 1498 y Fq(+)g(5)p Fj(xy)q(z)44 b Fq(=)e Fo(\000)p Fq(141)p
2025 Fj(:)p Fq(375)167 1556 y(\()p Fj(x)9 b Fq(+)h Fj(y)q
2026 Fq(\)\()p Fj(y)i Fq(+)d Fj(z)r Fq(\))42 b(=)g Fo(\000)p
2027 Fq(7)p Fj(:)p Fq(7625)-112 1665 y(The)15 b(expression)h
2028 Fk(\(a-real-betweenv)j(-1e40)i(1e40\))14 b Fq(cre-)-112
2029 1710 y(ates)20 b(a)f(v)n(ariable)g(constrained)h(to)g(b)q(e)g(a)g(real)
2030 f(n)o(um)o(b)q(er)g(b)q(e-)-112 1756 y(t)o(w)o(een)g(the)g(giv)o(en)f
2031 (upp)q(er)i(and)f(lo)o(w)o(er)f(b)q(ounds.)33 b(After)19
2032 b(the)-112 1802 y(constrain)o(ts)d(ha)o(v)o(e)g(b)q(een)i(asserted)g(b)
2033 q(et)o(w)o(een)f(the)g(v)n(ariables,)-112 1847 y(divide)i(and)h
2034 (conquer)h(searc)o(h|in)o(terlea)o(v)o(ed)g(with)f(b)q(ounds)-112
2035 1893 y(propagation|is)d(used)i(to)g(\014nd)g(a)g(solution)f(to)g(the)i
2036 (equa-)-112 1939 y(tions.)57 b(One)28 b(suc)o(h)g(solution)e(is)h
2037 Fj(x)33 b Fo(\031)h(\000)p Fq(7)p Fj(:)p Fq(311)p Fj(;)39
2038 b(y)c Fo(\031)-112 1984 y Fq(6)p Fj(:)p Fq(113)p Fj(;)16
2039 b(z)e Fo(\031)e Fq(0)p Fj(:)p Fq(367.)j(Note)c(that)g(unlik)o(e)e(the)j
2040 (simplex)d(metho)q(d)-112 2030 y(used)k(in)f Fp(clp)p
2041 Fq(\()p Fo(<)p Fq(\)|whic)o(h)g(is)g(limited)f(to)h(solving)f(linear)h
2042 (sys-)-112 2076 y(tems)f(of)g(equations|the)h(com)o(bination)d(of)i
2043 (divide)g(and)h(con-)-112 2121 y(quer)20 b(searc)o(h)h(in)o(terlea)o(v)
2044 o(ed)e(with)h(b)q(ounds)g(propagation)f(al-)-112 2167
2045 y(lo)o(ws)11 b Fp(Screamer)i Fq(to)f(solv)o(e)g(complex)e(nonlinear)i
2046 (systems)g(of)-112 2213 y(equations.)17 b(These)c(tec)o(hniques)g(also)
2047 e(enable)h Fp(Screamer)h Fq(to)-112 2258 y(solv)o(e)19
2048 b(n)o(umeric)g(constrain)o(t)h(systems)g(with)f(b)q(oth)h(inequal-)-112
2049 2304 y(ities)f(and)h(equational)e(constrain)o(ts.)36
2050 b(F)m(urthermore,)21 b(since)-112 2350 y(all)c(of)i(the)g(constrain)o
2051 (t)h(satisfaction)e(tec)o(hniques)i(are)g(in)o(te-)-112
2052 2395 y(grated,)j Fp(Screamer)f Fq(can)g(solv)o(e)g(disjunctiv)o(e)f
2053 (systems)h(of)-112 2441 y(equations)17 b(as)h(w)o(ell)f(as)h(systems)g
2054 (whic)o(h)f(mix)f(together)j(n)o(u-)-112 2487 y(meric,)12
2055 b(Bo)q(olean,)h(and)h(other)h(forms)d(of)h(constrain)o(ts.)-71
2056 2549 y(W)m(e)d(wish)h(to)f(p)q(oin)o(t)g(out)g(the)h(in)o(ten)o(tional)
2057 f(similarit)o(y)d(in)j(the)-112 2595 y(names)j(of)h(the)h
2058 Fp(Screamer)g Fq(primitiv)o(es)e Fk(a-member-of)f Fq(and)980
2059 995 y Fk(a-member-ofv)p Fq(.)1256 980 y Fi(2)1291 995
2060 y Fq(Both)j(describ)q(e)h(a)d(c)o(hoice)i(b)q(et)o(w)o(een)h(a)e(set)
2061 980 1040 y(of)j(p)q(ossible)g(alternativ)o(es.)27 b(The)17
2062 b(former)f(en)o(umerates)h(that)980 1086 y(set)i(nondeterministically)e
2063 (b)o(y)h(bac)o(ktrac)o(king.)31 b(The)18 b(latter)980
2064 1132 y(instead,)f(creates)h(a)e(v)n(ariable)f(whose)i(v)n(alue)f(is)g
2065 (constrained)980 1177 y(to)j(b)q(e)h(a)e(mem)o(b)q(er)f(of)i(the)g(giv)
2066 o(en)g(set.)34 b(The)19 b(former)f(lends)980 1223 y(itself)c(to)g(a)f
2067 (generate-and-test)j(st)o(yle)e(of)f(programming.)1005
2068 1282 y Ff(\(let)18 b(\(\()p Fe(x)1165 1286 y Fg(1)1201
2069 1282 y Ff(\(a-member-)o(of)e Fe(s)1474 1286 y Fg(1)1491
2070 1282 y Ff(\)\))1123 1325 y(.)1123 1341 y(.)1123 1358
2071 y(.)1123 1399 y(\()p Fe(x)1165 1403 y Fc(n)1205 1399
2072 y Ff(\(a-member-)o(of)g Fe(s)1478 1403 y Fc(n)1499 1399
2073 y Ff(\)\)\))1025 1441 y(\(unless)h Fm(\010[)p Fe(x)1243
2074 1445 y Fg(1)1266 1441 y Fe(:)6 b(:)g(:)g(x)1339 1445
2075 y Fc(n)1360 1441 y Fm(])19 b Ff(\(fail\)\))1025 1482
2076 y(\(list)e Fe(x)1164 1486 y Fg(1)1188 1482 y Fe(:)6 b(:)g(:)g(x)1261
2077 1486 y Fc(n)1282 1482 y Ff(\)\))980 1545 y Fq(The)22
2078 b(latter)g(lends)h(itself)e(to)h(constrain)o(t-based)g(program-)980
2079 1591 y(ming.)1005 1651 y Ff(\(let)c(\(\()p Fe(x)1165
2080 1655 y Fg(1)1201 1651 y Ff(\(a-member-)o(of)o(v)f Fe(s)1494
2081 1655 y Fg(1)1511 1651 y Ff(\)\))1123 1693 y(.)1123 1709
2082 y(.)1123 1726 y(.)1123 1767 y(\()p Fe(x)1165 1771 y Fc(n)1205
2083 1767 y Ff(\(a-member-)o(of)o(v)g Fe(s)1498 1771 y Fc(n)1519
2084 1767 y Ff(\)\)\))1025 1809 y(\(assert!)f(\(funcallv)1221
2085 1850 y(#'\(lambda)g(\()p Fe(x)1459 1854 y Fg(1)1482 1850
2086 y Fe(:)6 b(:)g(:)g(x)1555 1854 y Fc(n)1576 1850 y Ff(\))20
2087 b Fm(\010[)p Fe(x)1677 1854 y Fg(1)1699 1850 y Fe(:)6
2088 b(:)h(:)f(x)1773 1854 y Fc(n)1794 1850 y Fm(])p Ff(\))1221
2089 1892 y Fe(x)1243 1896 y Fg(1)1266 1892 y Fe(:)g(:)g(:)h(x)1340
2090 1896 y Fc(n)1361 1892 y Ff(\)\))1025 1934 y(\(solution)16
2091 b(\(list)i Fe(x)1361 1938 y Fg(1)1384 1934 y Fe(:)6 b(:)g(:)g(x)1457
2092 1938 y Fc(n)1478 1934 y Ff(\))1221 1975 y(\(static-o)o(rde)o(rin)o(g)16
2093 b(#'linear-f)o(orc)o(e\)\))o(\))980 2038 y Fq(Though)e(these)i(t)o(w)o
2094 (o)e(program)e(fragmen)o(ts)h(are)i(structurally)980
2095 2084 y(v)o(ery)i(similar,)e(and)i(sp)q(ecify)g(the)h(same)e(problem,)g
2096 (they)h(en-)980 2129 y(tail)k(drastically)h(di\013eren)o(t)h(searc)o(h)
2097 g(strategies.)44 b(The)22 b(lat-)980 2175 y(ter)e(constitutes)h(a)e
2098 Fl(lifted)g Fq(v)n(arian)o(t)f(of)h(the)h(former.)33
2099 b(A)20 b(fu-)980 2221 y(ture)15 b(pap)q(er)f(will)e(w)o(e)i(discuss)h
2100 (the)f(p)q(ossibilities)f(of)g(p)q(erform-)980 2266 y(ing)19
2101 b(suc)o(h)g(lifting)f(transformations)f(automatically)m(.)30
2102 b(Suc)o(h)p 980 2303 250 2 v 1032 2330 a Fg(2)1049 2346
2103 y Fm(W)m(e)13 b(adopt)h(the)f(\(unenforced\))h(con)o(v)o(en)o(tion)h
2104 (that)e(the)g(names)980 2387 y(of)h(all)i(nondeterministi)q(c)h
2105 (generator)e(functions)h(b)q(egin)g(with)f(the)980 2429
2106 y(pre\014x)d Ff(a-)f Fm(or)g Ff(an-)f Fm(and)i(that)f(functions)i(b)q
2107 (eginning)h(with)e(the)f(pre-)980 2470 y(\014x)18 b Ff(a-)e
2108 Fm(or)g Ff(an-)p Fm(,)h(and)g(also)h(ending)h(with)e
2109 Ff(v)p Fm(,)g(denote)h(lifted)g(gen-)980 2512 y(erators,)12
2110 b(functions)i(whic)o(h)f(deterministicall)q(y)i(return)d(a)g(v)n
2111 (ariable)980 2553 y(ranging)h(o)o(v)o(er)f(the)g(stated)g(domain)h
2112 (instead)g(of)e(nondeterministi)q(-)980 2595 y(cally)k(returning)g(a)e
2113 (v)n(alue)h(in)g(that)f(domain.)p eop
2114 %%Page: 6 6
2115 6 5 bop -112 -33 a Fq(lifting)19 b(is)i(not)g(limited)e(to)j(the)f
2116 Fk(a-member-of)e Fq(primitiv)o(e.)-112 12 y Fp(Screamer)f
2117 Fq(includes)f(the)i(follo)o(wing)14 b(syn)o(tactic)k(sugar)g(for)-112
2118 58 y Fk(\(an-integer-bet)o(weenv)g Fj(l)23 b(h)p Fk(\))p
2119 Fq(.)-88 115 y Ff(\(let)18 b(\(\(v)h(\(make-var)o(iab)o(le\))o(\)\))-68
2120 156 y(\(assert!)-48 198 y(\(andv)e(\(integerpv)f(v\))j(\(<=v)f(v)h
2121 Fe(h)p Ff(\))h(\(>=v)e(v)h Fe(l)q Ff(\)\)\))-68 239 y(v\))-112
2122 299 y Fq(The)14 b(function)g Fk(an-integer-betweenv)d
2123 Fq(is)j(a)g(lifted)g(analog)-112 345 y(to)c(the)i Fp(Screamer)f
2124 Fq(primitiv)o(e)e Fk(an-integer-between)p Fq(.)14 b(All)-112
2125 390 y Fp(Screamer)g Fq(generators)h(ha)o(v)o(e)f(lifted)f(analogs.)207
2126 483 y Ft(Related)k(W)-5 b(ork)-112 540 y Fq(Most)12 b(of)g(the)h
2127 (individual)d(tec)o(hniques)k(describ)q(ed)g(in)e(this)g(pa-)-112
2128 586 y(p)q(er)g(are)g(not)f(new.)18 b(What)11 b(is)g(no)o(v)o(el)g(is)g
2129 (their)h(particular)f(com-)-112 632 y(bination.)16 b(Programming)10
2130 b(languages)k(whic)o(h)f(allo)o(w)f(stating)-112 677
2131 y(n)o(umeric)e(constrain)o(ts)i(date)g(bac)o(k)g(to)f
2132 Fp(Sketchp)m(ad)i Fq(\(Suther-)-112 723 y(land)j(1963\).)25
2133 b(Lo)q(cal)16 b(propagation)g(for)g(solving)f(systems)i(of)-112
2134 769 y(constrain)o(ts)c(w)o(as)g(used)i(b)o(y)e(Borning)f(\(1979\))h(in)
2135 g Fp(Thinglab)p Fq(.)-112 814 y(Steele)d(\(1980\))f(constructs)j
2136 (constrain)o(t)e(primitiv)o(es)e(v)o(ery)i(sim-)-112
2137 860 y(ilar)j(to)h(ours)h(and)f(implemen)o(ts)e(lo)q(cal)h(propagation)h
2138 (b)o(y)g(pro-)-112 906 y(cedural)h(attac)o(hmen)o(t.)21
2139 b(These)16 b(tec)o(hniques)h(w)o(ere)f(expanded)-112
2140 951 y(on)21 b(b)o(y)h(the)h Fp(Ma)o(gritte)d Fq(system)i(\(Gosling)f
2141 (1983\).)41 b(The)-112 997 y(ab)q(o)o(v)o(e)22 b(systems)h(di\013er)g
2142 (from)e Fp(Screamer)i Fq(in)f(t)o(w)o(o)h(w)o(a)o(ys.)-112
2143 1042 y(First,)17 b(they)g(handled)g(only)e(n)o(umeric)h(constrain)o
2144 (ts,)i(lac)o(king)-112 1088 y(the)13 b(GF)o(C)e(capacit)o(y)i(of)f
2145 Fp(Screamer)h Fq(em)o(b)q(o)q(died)e(in)h Fk(memberv)-112
2146 1134 y Fq(and)19 b Fk(funcallv)p Fq(,)g(as)h(w)o(ell)f(as)h
2147 (uni\014cation)f(and)h(disuni\014ca-)-112 1179 y(tion)13
2148 b(em)o(b)q(o)q(died)h(in)g Fk(equalv)p Fq(.)k(More)d(imp)q(ortan)o(tly)
2149 m(,)d(the)j(con-)-112 1225 y(strain)o(t)h(solving)e(tec)o(hniques)k
2150 (incorp)q(orated)e(in)g(all)f(of)g(these)-112 1271 y(systems)h(w)o(ere)
2151 h(incomplete,)f(particularly)g(those)h(based)g(on)-112
2152 1316 y(lo)q(cal)i(propagation.)38 b(None)21 b(of)f(these)i(systems)f
2153 (could)f(re-)-112 1362 y(sort)26 b(to)g(in)o(terlea)o(ving)e(bac)o
2154 (ktrac)o(king)i(searc)o(h)h(with)f(lo)q(cal)-112 1408
2155 y(propagation|as)20 b Fp(Screamer)i Fq(can|to)g(pro)o(vide)g(a)f(slo)o
2156 (w)-112 1453 y(but)e(complete)g(fallbac)o(k)f(to)i(faster)g(but)g
2157 (incomplete)f(lo)q(cal)-112 1499 y(propagation)12 b(tec)o(hniques)j
2158 (when)g(applied)e(alone.)-71 1545 y(More)22 b(recen)o(tly)m(,)i(n)o
2159 (umerous)d(systems)g(suc)o(h)i(as)e Fp(clp)p Fq(\()p
2160 Fo(<)p Fq(\))-112 1590 y(and)10 b Fp(CHiP)g Fq(ha)o(v)o(e)g(b)q(een)i
2161 (constructed)h(in)d(the)i(logic)d(program-)-112 1636
2162 y(ming)17 b(framew)o(ork)i(whic)o(h)g(add)h(some)f(form)f(of)h
2163 (constrain)o(t)-112 1682 y(satisfaction|sometim)o(es)13
2164 b(based)i(on)f(lo)q(cal)g(propagation|)-112 1727 y(to)f(the)h(bac)o
2165 (ktrac)o(king)f(searc)o(h)h(mec)o(hanism)d(already)i(presen)o(t)-112
2166 1773 y(in)20 b(logic)f(programming)e(languages.)38 b
2167 Fp(Screamer)21 b Fq(di\013ers)-112 1819 y(from)f(suc)o(h)j(systems)f
2168 (in)g(a)g(n)o(um)o(b)q(er)f(of)h(w)o(a)o(ys,)h(some)f(mi-)-112
2169 1864 y(nor)h(and)h(some)e(ma)r(jor.)46 b(First,)26 b
2170 Fp(Screamer)e Fq(uses)g(only)-112 1910 y(fast)19 b(lo)q(cal)g
2171 (propagation)f(tec)o(hniques)j(as)f(part)g(of)f(its)h(con-)-112
2172 1956 y(strain)o(t)h(mec)o(hanism.)37 b(The)22 b(n)o(umeric)e(constrain)
2173 o(t)i(mec)o(ha-)-112 2001 y(nism)c(of)i Fp(clp)p Fq(\()p
2174 Fo(<)p Fq(\))h(instead)f(uses)i(more)d(costly)h(tec)o(hniques)-112
2175 2047 y(based)27 b(on)f(the)h(simplex)e(metho)q(d)g(for)h(linear)g
2176 (program-)-112 2093 y(ming.)41 b(These)23 b(tec)o(hniques)h(are)f
2177 (incomplete)e(for)h(nonlin-)-112 2138 y(ear)28 b(constrain)o(ts.)62
2178 b Fp(clp)p Fq(\()p Fo(<)p Fq(\))28 b(and)g Fp(CHiP)f
2179 Fq(do)h(not)g(pro-)-112 2184 y(vide)d(mec)o(hanisms)e(for)j(dealing)e
2180 (with)h(this)h(incomplete-)-112 2230 y(ness.)j Fp(Screamer)q
2181 Fq(,)18 b(on)f(the)h(other)g(hand,)f(can)h(solv)o(e)f(non-)-112
2182 2275 y(linear)j(constrain)o(ts)i(using)f Fk(divide-and-conqu)o(er-fo)o
2183 (rce)-112 2321 y Fq(com)o(bined)16 b(with)h(lo)q(cal)f(propagation.)28
2184 b(The)18 b(second)g(di\013er-)-112 2367 y(ence)h(lies)e(in)h(using)f
2185 Fp(Common)g(Lisp)h Fq(instead)g(of)f Fp(Pr)o(olog)-112
2186 2412 y Fq(as)h(a)g(substrate)j(for)d(constructing)h(constrain)o
2187 (t-based)h(pro-)-112 2458 y(gramm)o(ing)15 b(languages.)32
2188 b(Giv)o(en)17 b(the)j(substrate)g(of)e(nonde-)-112 2504
2189 y(terministic)13 b Fp(Common)j(Lisp)p Fq(|esp)q(ecially)e(its)g
2190 (capacit)o(y)g(for)-112 2549 y(lo)q(cal)j(side)h(e\013ects|the)j
2191 Fp(Screamer)e Fq(constrain)o(t)f(pac)o(k)n(age)-112 2595
2192 y(can)g(b)q(e)g(written)h(totally)e(in)g Fp(Common)g(Lisp)p
2193 Fq(.)30 b(This)18 b(giv)o(es)980 -33 y Fp(Screamer)e
2194 Fq(three)h(adv)n(an)o(tages)e(o)o(v)o(er)g Fp(clp)p Fq(\()p
2195 Fo(<)p Fq(\))h(and)f Fp(CHiP)o Fq(.)980 12 y(First,)10
2196 b Fp(Screamer)h Fq(is)e(p)q(ortable)g(to)h(an)o(y)f Fp(Common)16
2197 b(Lisp)10 b Fq(im-)980 58 y(plemen)o(tation.)16 b(Second,)d
2198 Fp(Screamer)h Fq(can)e(b)q(e)h(easily)g(mo)q(di-)980
2199 103 y(\014ed)g(and)f(extended,)i(to)e(exp)q(erimen)o(t)g(with)f
2200 (alternativ)o(e)h(con-)980 149 y(strain)o(t)j(t)o(yp)q(es)h(and)e
2201 (constrain)o(t)h(satisfaction)g(metho)q(ds.)20 b(Fi-)980
2202 195 y(nally)m(,)e Fp(Screamer)h Fq(can)g(co)q(exist)h(and)e(in)o
2203 (ter-op)q(erate)i(with)980 240 y(other)g(curren)o(t)g(or)f(future)h
2204 (extensions)g(to)f Fp(Common)d(Lisp)980 286 y Fq(suc)o(h)f(as)f
2205 Fp(clos)g Fq(and)g Fp(clim)o Fq(.)1022 332 y(The)e(curren)o(t)g(v)o
2206 (ersion)g(of)e Fp(Screamer)q Fq(,)h(including)g(the)h(full)980
2207 377 y(constrain)o(t)22 b(pac)o(k)n(age,)g(is)f(a)o(v)n(ailable)f(b)o(y)
2208 h(anon)o(ymous)e(FTP)980 423 y(from)f(the)h(\014le)g
2209 Fk(/com/ftp/pub/screame)o(r.tar)o(.Z)d Fq(on)j(the)980
2210 469 y(host)d Fk(ftp.ai.mit.edu)p Fq(.)i(W)m(e)d(encourage)h(y)o(ou)f
2211 (to)f(obtain)h(a)980 514 y(cop)o(y)i(of)f Fp(Screamer)h
2212 Fq(and)f(giv)o(e)g(us)h(feedbac)o(k)h(on)e(y)o(our)g(ex-)980
2213 560 y(p)q(eriences)g(using)e(it.)1339 652 y Ft(References)1001
2214 708 y Fq(Alan)i(Hamilton)d(Borning.)24 b Fp(Thinglab)q
2215 Fb(|A)17 b(Constr)n(aint-)1001 753 y(Oriente)n(d)i(Simulation)g(L)n(ab)
2216 n(or)n(atory)p Fq(.)32 b(PhD)19 b(thesis,)i(Stan-)1001
2217 799 y(ford)12 b(Univ)o(ersit)o(y)m(,)g(July)g(1979.)j(Also)d(a)o(v)n
2218 (ailable)e(as)j(Stanford)1001 845 y(Computer)j(Science)j(Departmen)o(t)
2219 d(rep)q(ort)j(ST)m(AN-CS-79-)1001 890 y(746)10 b(and)h(as)g(XER)o(O)o
2220 (X)g(P)o(alo)f(Alto)h(Researc)o(h)h(Cen)o(ter)g(rep)q(ort)1001
2221 936 y(SSL-79-3.)1001 992 y(A.)k(Colmerauer.)23 b(Equations)15
2222 b(and)h(inequations)g(on)f(\014nite)1001 1038 y(and)22
2223 b(in\014nite)f(trees.)43 b(In)22 b Fb(2d)g(International)h(Confer)n
2224 (enc)n(e)1001 1083 y(on)14 b(Fifth)e(Gener)n(ation)i(Computer)f
2225 (Systems)p Fq(,)f(pages)g(85{99,)1001 1129 y(1984.)1001
2226 1185 y(James)18 b(Gosling.)29 b Fb(A)o(lgebr)n(aic)18
2227 b(Constr)n(aints)p Fq(.)30 b(PhD)18 b(thesis,)1001 1230
2228 y(Carnegie-Mellon)13 b(Univ)o(ersit)o(y)m(,)g(1983.)1001
2229 1286 y(E.)20 b(R.)g(Hansen.)38 b(On)21 b(the)g(solution)e(of)h(linear)g
2230 (algebraic)1001 1332 y(equations)j(using)g(in)o(terv)n(al)f
2231 (arithmetic.)44 b Fb(Mathematic)n(al)1001 1378 y(Computation)p
2232 Fq(,)14 b(22:153{165,)d(1968.)1001 1433 y(Jo)o(xan)i(Ja\013ar)g(and)h
2233 (Jean-Louis)f(Lassez.)18 b(Constrain)o(t)13 b(logic)1001
2234 1479 y(programming)o(.)k(In)d Fb(Pr)n(o)n(c)n(e)n(e)n(dings)h(of)h(the)
2235 f Fq(14)1710 1464 y Fa(th)1756 1479 y Fb(A)o(CM)g(Sym-)1001
2236 1525 y(p)n(osium)f(on)f(the)h(Principles)f(of)g(Pr)n(o)n(gr)n(amming)g
2237 (L)n(anguages)p Fq(,)1001 1570 y(pages)h(111{119,)e(1987.)1001
2238 1626 y(Alan)h(K.)h(Mac)o(kw)o(orth.)k(Constrain)o(t)13
2239 b(satisfaction.)18 b(In)13 b(Stu-)1001 1672 y(art)j(C.)g(Shapiro,)f
2240 (editor,)h Fb(Encyclop)n(e)n(dia)i(of)f(A)o(rti\014cial)e(In-)1001
2241 1717 y(tel)r(ligenc)n(e)p Fq(,)j(pages)g(285{293.)d(John)j(Wiley)f(&)h
2242 (Sons,)f(Inc.,)1001 1763 y(New)d(Y)m(ork,)f(1992.)1001
2243 1819 y(Je\013rey)24 b(Mark)e(Siskind)g(and)g(Da)o(vid)f(Allen)h
2244 (McAllester.)1001 1865 y Fp(Screamer)q Fq(:)32 b(a)21
2245 b(p)q(ortable)h(e\016cien)o(t)f(implemen)o(tation)d(of)1001
2246 1910 y(nondeterministic)h Fp(Common)e(Lisp)p Fq(.)36
2247 b(T)m(ec)o(hnical)20 b(Rep)q(ort)1001 1956 y(IR)o(CS{93{03,)10
2248 b(Univ)o(ersit)o(y)j(of)f(P)o(ennsylv)n(ania)g(Institute)i(for)1001
2249 2002 y(Researc)o(h)h(in)e(Cognitiv)o(e)g(Science,)i(1993.)1001
2250 2057 y(Iv)n(an)g(E.)h(Southerland.)24 b Fp(Sketchp)m(ad)q
2251 Fb(:)e(A)17 b(Man-Machine)1001 2103 y(Gr)n(aphic)n(al)e(Communic)n
2252 (ation)g(System)p Fq(.)j(PhD)c(thesis,)g(Mas-)1001 2149
2253 y(sac)o(h)o(usetts)i(Institute)e(of)g(T)m(ec)o(hnology)m(,)e(Jan)o
2254 (uary)i(1963.)1001 2205 y(Guy)h(Lewis)g(Steele)h(Jr.)23
2255 b Fb(The)16 b(De\014nition)h(and)f(Implemen-)1001 2250
2256 y(tation)h(of)g(a)h(Computer)f(Pr)n(o)n(gr)n(amming)f(L)n(anguage)j
2257 (Base)n(d)1001 2296 y(on)24 b(Constr)n(aints)p Fq(.)47
2258 b(PhD)23 b(thesis,)k(Massac)o(h)o(usetts)f(Insti-)1001
2259 2342 y(tute)21 b(of)f(T)m(ec)o(hnology)m(,)f(August)i(1980.)36
2260 b(Also)20 b(a)o(vilable)e(as)1001 2387 y(M.)13 b(I.)g(T.)g(VLSI)h(Memo)
2261 e(80{32)h(and)g(as)h(M.)f(I.)g(T.)g(Arti\014cial)1001
2262 2433 y(In)o(teligence)i(Lab)q(oratory)e(T)m(ec)o(hnical)h(Rep)q(ort)g
2263 (595.)1001 2489 y(P)o(ascal)20 b(V)m(an)f(Hen)o(tenryc)o(k.)36
2264 b Fb(Constr)n(aint)20 b(Satisfaction)g(in)1001 2534 y(L)n(o)n(gic)11
2265 b(Pr)n(o)n(gr)n(amming)p Fq(.)f(The)g(MIT)f(Press,)j(Cam)o(bridge,)c
2266 (MA,)1001 2580 y(1989.)p eop
2267 %%Trailer
2269 userdict /end-hook known{end-hook}if
2270 %%EOF